Skip to content

Commit 6fe337e

Browse files
committed
Pre release 1.0
1 parent bf88604 commit 6fe337e

File tree

2 files changed

+49
-33
lines changed

2 files changed

+49
-33
lines changed

CHANGELOG.md

Lines changed: 48 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<!-- DON'T TOUCH THESE -->
22

33
[unreleased]: https://github.com/rubatopy/rubato/
4+
[v1.0.0]: https://github.com/rubatopy/rubato/tree/v1.0.0
45
[v0.4.0]: https://github.com/rubatopy/rubato/tree/v0.4.0
56
[v0.3.5]: https://github.com/rubatopy/rubato/tree/v0.3.5
67
[v0.3.4]: https://github.com/rubatopy/rubato/tree/v0.3.4
@@ -16,20 +17,22 @@
1617

1718
# Changelog
1819

19-
## [Unreleased] - December 31, 2022 (Expected)
20+
## [v1.0.0] - December 31, 2022 (Expected)
2021

2122
### Breaking Changes
2223

2324
- `Text` no longer can affect `Font`s directly.
2425
- Entirely removed the `Group` class. This means code utilizing groups will need to be significantly refactored.
2526
- Refactored `Scene`s as a consequence of the removal of groups. See documentation for more information.
26-
- Added `ignore_cam` option to `GameObject`s. This decides whether the gameobject respects the scene's camera when it draws. Replaces the previous UI group behavior.
27+
- Added `ignore_cam` option to `GameObject`s. This decides whether the gameobject respects the scene's camera when it
28+
draws. Replaces the previous UI group behavior.
2729
- Reordered some function arguments for many functions and constructors to prioritize more used arguments.
2830

2931
### Added
3032

3133
- `Tilemap` and `SimpleTilemap` components
32-
- `GameObject` now have children whose positions, rotations and z_index are relative to their parents. Use `gameobject.set_parent()` to set a parent.
34+
- `GameObject` now have children whose positions, rotations and z_index are relative to their parents. Use
35+
`gameobject.set_parent()` to set a parent.
3336
- `hitbox.should_collide()` which can be overriden to determine whether a hitbox should collide with another.
3437

3538
### Changed
@@ -111,15 +114,18 @@
111114

112115
### Changed
113116

114-
- `RecurrentTask` task callback can now be made to take in a task argument. This allows you to stop the task when you want.
117+
- `RecurrentTask` task callback can now be made to take in a task argument. This allows you to stop the task when you
118+
want.
115119
- `delay` argument in Frame, Delayed, and Recurrent tasks now only controls the delay.
116-
- Frame, Delayed, and Recurrent tasks no longer modify `delay`, and instead determine the next time to run the task using `next_run`.
120+
- Frame, Delayed, and Recurrent tasks no longer modify `delay`, and instead determine the next time to run the task
121+
using `next_run`.
117122
- All event listener callbacks now can take in an `EventResponse`.
118123
- Made `Events` an enum for nicer documentation. Doesn't impact usage.
119124
- Internal file structure. Shouldn't impact most users.
120125
- Optimized and fixed some internal rendering algorithms.
121126
- Colors are now internally represented as argb32 integers instead of rgba32 integers.
122-
- `hitbox.get_aabb()` methods now return the aabb in the form of bottom-left, top-right coordinates instead of top-left, bottom-right.
127+
- `hitbox.get_aabb()` methods now return the aabb in the form of bottom-left, top-right coordinates instead of
128+
top-left, bottom-right.
123129

124130
### Removed
125131

@@ -136,9 +142,11 @@
136142

137143
### Breaking Changes
138144

139-
- Changed the type of some scale parameters from a scalar value to a Vector/tuple for more customization and consistency.
145+
- Changed the type of some scale parameters from a scalar value to a Vector/tuple for more customization and
146+
consistency.
140147
- `shadow_pad` parameter in `Draw.text()` is now a vector to allow for different padding in the x and y directions.
141-
- Renamed `surface.merge()` and `raster.merge()` to `surface.blit()` and `raster.blit()`, respectively, to be more consistent with Unity's API.
148+
- Renamed `surface.merge()` and `raster.merge()` to `surface.blit()` and `raster.blit()`, respectively, to be more
149+
consistent with Unity's API.
142150

143151
### Added
144152

@@ -166,8 +174,8 @@
166174
### Breaking Changes
167175

168176
- Renamed `Draw.surf()` and `Draw.queue_surf()` to `Draw.surface()` and `Draw.queue_surface()`.
169-
- Removed all `delete()` functions because they did nothing that was useful for memory management,
170-
which was their purpose.
177+
- Removed all `delete()` functions because they did nothing that was useful for memory management, which was their
178+
purpose.
171179
- Removed `Sprite`, because `Surface` does the same thing.
172180
- `Display.update()` and `Draw.text()` now use center position like the rest of rubato.
173181
- Removed `PressStart2P` font and replaced it with `Mozart`.
@@ -206,15 +214,16 @@
206214

207215
### Breaking Changes
208216

209-
- `Polygon`s MUST take in a list of vectors in clockwise order instead of counter-clockwise as was before. Generator methods
210-
automatically reflect this change but if you are passing in your own lists, make sure to reflect this change.
217+
- `Polygon`s MUST take in a list of vectors in clockwise order instead of counter-clockwise as was before. Generator
218+
methods automatically reflect this change but if you are passing in your own lists, make sure to reflect this
219+
change.
211220
- `component.true_z()` is now a function instead of a property method. This is to match with our new property method
212221
convention.
213222

214223
### Added
215224

216-
- `gameobject.remove_ind()` method to remove an individual component from a game object with a given index.
217-
Use this to remove components from a game object which holds multiple instances of the same type of component.
225+
- `gameobject.remove_ind()` method to remove an individual component from a game object with a given index. Use this
226+
to remove components from a game object which holds multiple instances of the same type of component.
218227
- `component.true_pos()` and `component.true_rotation()` methods to get the position and rotation of a component in
219228
world space. These functions correctly apply the gameobjects position and rotation to the component while respecting
220229
offsets.
@@ -231,8 +240,8 @@
231240

232241
### Changed
233242

234-
- Modified the internal workings of `gameobject`s components data structure to more flexibly handle inputs.
235-
(Can now handle getting components by a parent type (such as Hitbox or Component or even object)).
243+
- Modified the internal workings of `gameobject`s components data structure to more flexibly handle inputs. (Can now
244+
handle getting components by a parent type (such as Hitbox or Component or even object)).
236245
- Renamed `vector.distance_between()` to `vector.dist_to()`.
237246
- Renamed `polygon.translated_verts()` to `polygon.offset_verts()`.
238247
- Renamed `polygon.real_verts()` to `polygon.true_verts()` to maintain naming consistency.
@@ -251,8 +260,8 @@
251260

252261
### Fixed
253262

254-
- Getting `Rectangle`, `Polygon`, or `Circle` components from a gameobject returning all `Hitbox` type objects.
255-
You can still replicate this functionality by passing `Hitbox` into the component getter.
263+
- Getting `Rectangle`, `Polygon`, or `Circle` components from a gameobject returning all `Hitbox` type objects. You
264+
can still replicate this functionality by passing `Hitbox` into the component getter.
256265
- Offsets (including rotational) not working properly. Physics has also been refactored to handle scaling properly.
257266
- `Rectangle` side getters and setters, which were not utilizing offsets properly. They now work with the AABB of the
258267
rectangle.
@@ -272,16 +281,17 @@
272281

273282
### Breaking Changes
274283

275-
- As `Vector` is now a C class, it only holds floats and is therefore subject to floating point errors in unexpected cases.
276-
Be careful in accuracy-dependent calculations to handle deviation properly. Note that Python ints are implicitly cast to floats
277-
when used in Vector.
284+
- As `Vector` is now a C class, it only holds floats and is therefore subject to floating point errors in unexpected
285+
cases. Be careful in accuracy-dependent calculations to handle deviation properly. Note that Python ints are
286+
implicitly cast to floats when used in Vector.
278287
- `Color.rgba32` is no longer a property is a method instead.
279288
- `Vector.one` and other similar class properties changed to classmethods, i.e. `Vector.one()`
280289

281290
### Added
282291

283292
- `Group.all_gameobjects()` to get, recursively, all the game objects belonging to a group and its children.
284-
- Multiple `Event` types for controller events. Controllers are registered automatically by Rubato for event listening.
293+
- Multiple `Event` types for controller events. Controllers are registered automatically by Rubato for event
294+
listening.
285295
- Assorted `Input` methods for querying the state of a controller.
286296
- `Raster` renamed to `Surface`.
287297
- `Raster` is now a component that holds a surface. It is analogous to `Image` for `Sprite`s.
@@ -293,7 +303,8 @@
293303
- Made `QTree` a C class. This is an internally used class and should not affect normal library usage.
294304
- Default drawing/debug colors from green to cyan.
295305
- Made rendering of images faster
296-
- `Polygon.generate_polygon` to `Vector.poly`. `generate_polygon` is deprecated and will be removed in a future update.
306+
- `Polygon.generate_polygon` to `Vector.poly`. `generate_polygon` is deprecated and will be removed in a future
307+
update.
297308

298309
### Removed
299310

@@ -334,11 +345,12 @@
334345
- `Sprite` class to draw images that are not linked to Game Objects
335346
- `wrap()` function can create and populate a GameObject with component(s) automatically.
336347
- `world_mouse()` function to easily get the mouse position translated into world-coordinates
337-
- Support for operations with Vectors using tuples and lists, meaning less objects need to be created.
338-
(note that no length checking occurs, so make sure your tuples and lists are of length 2).
348+
- Support for operations with Vectors using tuples and lists, meaning less objects need to be created. (note that no
349+
length checking occurs, so make sure your tuples and lists are of length 2).
339350
- `raise_operator_error()` function to raise an error about an operator in a Pythonic style.
340351
- `Scene.switch()` instance method that allows users to switch to a scene without calling `Game.set_scene(scene_id)`
341-
- `Game.draw` and `Game.update` functions, both of which are overrideable, to give user-defineable functionality not reliant on scenes.
352+
- `Game.draw` and `Game.update` functions, both of which are overrideable, to give user-defineable functionality not
353+
reliant on scenes.
342354
- `Group.contains()` method for checking whether a group or gameobject has already been added to it.
343355
- `Hitbox.contains_pt` method for checking whether a point is inside a hitbox (useful in buttons and the like)
344356

@@ -347,11 +359,12 @@
347359
- Made `Time.now()` a function instead of a property.
348360
- Refactored collision detection code to not report contact points, since we don't need them anymore.
349361
- Added `hidden` attribute to all components and removed `visible` attribute from `Animation`, `Image`, and `Raster`
350-
- Moved `border_color` and `background_color` to individual `Scene` objects instead of a single attribute for the whole game.
362+
- Moved `border_color` and `background_color` to individual `Scene` objects instead of a single attribute for the
363+
whole game.
351364
- Restructured the internal file heirarchy. Should not affect normal library useage at all.
352365
- Default border color in draw functions from `Color.green` to `Color.clear`
353-
- Use `Draw.{thing}` to draw immediately and `Draw.queue_{thing}` to draw with a specific z_index.
354-
(replace {thing} with the draw function of your choice)
366+
- Use `Draw.{thing}` to draw immediately and `Draw.queue_{thing}` to draw with a specific z_index. (replace {thing}
367+
with the draw function of your choice)
355368
- Switching scenes now only takes effect on the next frame.
356369
- Reordered `Draw.clear` params to be more intuitive.
357370
- Renderer is automatically cleared if no scene exists.
@@ -375,7 +388,8 @@
375388

376389
### Breaking Changes
377390

378-
- Removed all of the defaults dictionaries. Instead we are switching to a pythonic way of doing things. The key names, types, and defaults are still the same so its just a matter of adding \*\* to the beginning of the dictionary.
391+
- Removed all of the defaults dictionaries. Instead we are switching to a pythonic way of doing things. The key names,
392+
types, and defaults are still the same so its just a matter of adding \*\* to the beginning of the dictionary.
379393
- `Vector.angle` now returns the angle in degrees, starting from the top and going clockwise.
380394
- `Vector.from_radial` now matches the angle format described above and takes in an angle in degrees
381395
- `Vector.angle_between` now returns the angle in degrees.
@@ -399,7 +413,8 @@
399413
- `Math.sign()` now returns 0 for 0.
400414
- `time` module renamed to `rb_time` to not conflict with the Python time module.
401415
- `Draw` now has a default color of green.
402-
- `os.walk` Each function with os.walk has a recursive option now. To allow you to choose between recursive and shallow.
416+
- `os.walk` Each function with os.walk has a recursive option now. To allow you to choose between recursive and
417+
shallow.
403418
- `window_pos` setting window_pos in init() now takes into account the border, so you set the topleft of the border.
404419

405420
### Fixed
@@ -440,7 +455,8 @@
440455
- `Component` can now take in a dictionary of parameters.
441456
- Moved collision test code and impulse resolution to `Engine` class.
442457
- Changed default physics fps to 30.
443-
- `Polygon.generate_polygon()` can now takes an optional `options` parameter. When set, it returns a `Polygon` instead of a list of vertices.
458+
- `Polygon.generate_polygon()` can now takes an optional `options` parameter. When set, it returns a `Polygon` instead
459+
of a list of vertices.
444460
- Move basic draw functions from `Display` to `Draw`.
445461
- `Text.align` renamed to `Text.anchor` and is now properly documented.
446462
- `input` module renamed to `rb_input` to not override the built-in function.

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[metadata]
22
name = rubato
3-
version = v1.0.0rc1
3+
version = v1.0.0
44
url = https://rubato.app
55
download_url = https://docs.rubato.app/latest/intro
66
project_urls =

0 commit comments

Comments
 (0)