66 Commits

Author SHA1 Message Date
6270353af9 feat: Add HasPerformanceTracker mixin on Game (#3043)
This PR adds a `HasPerformanceTracker` mixin on `Game`. This mixin will
allow for tracking the update and render time of the game.
2024-02-18 18:53:29 +01:00
d409193300 chore(release): Publish Flame v1.16.0 et. al (#3044)
```
Package Name           Current Version   Updated Version   Update Reason
flame                  1.15.0            1.16.0            manual versioning
flame_audio            2.1.8             2.10.0            manual versioning
flame_bloc             1.10.10           1.11.0            manual versioning
flame_fire_atlas       1.4.8             1.5.0             manual versioning
flame_rive             1.9.11            1.10.0            manual versioning
flame_riverpod         5.2.0             5.3.0             manual versioning
flame_svg              1.9.0             1.10.0            manual versioning
flame_test             1.15.4            1.16.0            manual versioning
flame_texturepacker    3.0.0             3.1.0             manual versioning
flame_tiled            1.18.4            1.19.0            manual versioning
flame_forge2d          0.16.0+5          0.17.0            updated with major changes
flame_isolate          0.5.1             0.6.0             updated with major changes
flame_lottie           0.3.0+8           0.4.0             updated with major changes
flame_markdown         0.1.1+8           0.2.0             updated with major changes
flame_network_assets   0.2.0+13          0.3.0             updated with major changes
flame_noise            0.2.0             0.3.0             updated with major changes
flame_oxygen           0.1.9+8           0.2.0             updated with major changes
flame_spine            0.1.1+10          0.2.0             updated with major changes
flame_splash_screen    0.2.0             0.3.0             updated with major changes
jenny                  1.2.1             1.3.0             updated with minor changes
```
2024-02-17 11:23:14 +01:00
330862c98e fix!: Migrate from RawKeyEvent to KeyEvent (#3002)
First pass at migrating from `RawKeyEvent` and `RawKeyboard`
to `KeyEvent` and `HardwareKeyboard`.

Context:
https://docs.flutter.dev/release/breaking-changes/key-event-migration
2024-02-15 23:10:51 +01:00
abca337734 chore(release): Publish Flame v1.15.0 (#3022)
```
The following 18 packages will be updated:

Package Name           Current Version   Updated Version   Update Reason
flame                  1.14.0            1.15.0            updated with minor changes
flame_isolate          0.5.0+7           0.5.1             updated with minor changes
flame_noise            0.1.1+12          0.2.0             updated with major changes
flame_riverpod         5.1.5             5.2.0             updated with minor changes
flame_test             1.15.3            1.15.4            updated with patch changes
flame_texturepacker    2.1.0             3.0.0             updated with major changes
flame_oxygen           0.1.9+7           0.1.9+8           dependency was updated
flame_tiled            1.18.3            1.18.4            dependency was updated
flame_fire_atlas       1.4.7             1.4.8             dependency was updated
flame_audio            2.1.7             2.1.8             dependency was updated
flame_spine            0.1.1+9           0.1.1+10          dependency was updated
flame_bloc             1.10.9            1.10.10           dependency was updated
flame_rive             1.9.10            1.9.11            dependency was updated
flame_lottie           0.3.0+7           0.3.0+8           dependency was updated
flame_markdown         0.1.1+7           0.1.1+8           dependency was updated
flame_forge2d          0.16.0+4          0.16.0+5          dependency was updated
flame_svg              1.8.9             1.8.10            dependency was updated
flame_network_assets   0.2.0+12          0.2.0+13          dependency was updated
```
2024-02-07 21:23:29 +01:00
f96a2c5216 chore(release): Publish Flame v1.14.0 (#2960)
```
Package Name           Current Version   Updated Version   Update Reason
flame                  1.13.1            1.14.0            manual versioning
flame_forge2d          0.16.0+3          0.16.0+4          updated with patch changes
flame_test             1.15.2            1.15.3            dependency was updated
flame_tiled            1.18.2            1.18.3            dependency was updated
flame_oxygen           0.1.9+6           0.1.9+7           dependency was updated
flame_isolate          0.5.0+6           0.5.0+7           dependency was updated
flame_fire_atlas       1.4.6             1.4.7             dependency was updated
flame_audio            2.1.6             2.1.7             dependency was updated
flame_spine            0.1.1+8           0.1.1+9           dependency was updated
flame_bloc             1.10.8            1.10.9            dependency was updated
flame_lottie           0.3.0+6           0.3.0+7           dependency was updated
flame_markdown         0.1.1+6           0.1.1+7           dependency was updated
flame_rive             1.9.9             1.9.10            dependency was updated
flame_noise            0.1.1+11          0.1.1+12          dependency was updated
flame_riverpod         5.1.3             5.1.4             dependency was updated
flame_svg              1.8.8             1.8.9             dependency was updated
flame_network_assets   0.2.0+11          0.2.0+12          dependency was updated
```
2024-01-04 23:34:46 +01:00
f1d94ca376 chore(release): Flame v1.13.0 (#2934)
```
Package Name           Current Version   Updated Version   Update Reason
flame                  1.12.0            1.13.0            updated with minor changes
flame_rive             1.9.8             1.9.9             updated with patch changes
flame_riverpod         5.1.0             5.1.1             updated with patch changes
flame_tiled            1.18.1            1.18.2            updated with patch changes
flame_test             1.15.1            1.15.2            dependency was updated
flame_oxygen           0.1.9+5           0.1.9+6           dependency was updated
flame_isolate          0.5.0+5           0.5.0+6           dependency was updated
flame_fire_atlas       1.4.5             1.4.6             dependency was updated
flame_audio            2.1.5             2.1.6             dependency was updated
flame_spine            0.1.1+7           0.1.1+8           dependency was updated
flame_bloc             1.10.7            1.10.8            dependency was updated
flame_lottie           0.3.0+5           0.3.0+6           dependency was updated
flame_markdown         0.1.1+5           0.1.1+6           dependency was updated
flame_svg              1.8.7             1.8.8             dependency was updated
flame_forge2d          0.16.0+2          0.16.0+3          dependency was updated
flame_noise            0.1.1+10          0.1.1+11          dependency was updated
flame_network_assets   0.2.0+10          0.2.0+11          dependency was updated
```
2023-12-19 16:40:51 +01:00
47643f05fb chore(release): Flame v1.12.0 (#2911)
```
The following 17 packages will be updated:

Package Name           Current Version   Updated Version   Update Reason
flame                  1.11.0            1.12.0            updated with minor changes
flame_riverpod         5.0.0             5.1.0             updated with minor changes
flame_test             1.15.0            1.15.1            dependency was updated
flame_tiled            1.18.0            1.18.1            dependency was updated
flame_oxygen           0.1.9+4           0.1.9+5           dependency was updated
flame_isolate          0.5.0+4           0.5.0+5           dependency was updated
flame_fire_atlas       1.4.4             1.4.5             dependency was updated
flame_audio            2.1.4             2.1.5             dependency was updated
flame_spine            0.1.1+6           0.1.1+7           dependency was updated
flame_bloc             1.10.6            1.10.7            dependency was updated
flame_lottie           0.3.0+4           0.3.0+5           dependency was updated
flame_markdown         0.1.1+4           0.1.1+5           dependency was updated
flame_rive             1.9.7             1.9.8             dependency was updated
flame_forge2d          0.16.0+1          0.16.0+2          dependency was updated
flame_noise            0.1.1+9           0.1.1+10          dependency was updated
flame_svg              1.8.6             1.8.7             dependency was updated
flame_network_assets   0.2.0+9           0.2.0+10          dependency was updated
```
2023-12-08 21:09:01 +00:00
81930e2384 docs: Update t-rex game to use TapCallbacks (#2888)
Update t-rex game to use `TapCallbacks` instead of `TapDetector`, in
anticipation of [deprecating the
latter](https://github.com/flame-engine/flame/pull/2886).

Also update the term high score to avoid a dictionary entry.

Co-authored-by: Lukas Klingsbo <me@lukas.fyi>
2023-12-01 08:19:17 +00:00
2722b00c75 chore(release): Flame v1.11.0 (#2885)
Release of Flame v1.11.0 and all packages.
2023-11-30 22:32:11 +01:00
2cc60c8fee chore(release): Flame v1.10.1 (#2837)
This releases Flame v1.10.1 et. al.
`flame_test` and `flame_forge2d` has some important changes here too.
2023-11-03 19:49:37 -03:00
03f4e56ffe chore: Bump Forge2D to 0.12.2 (#2836)
Bumps forge2d to 0.12.2

Migration instructions:
The gravity and bullet are now field setters and getters, so if you
before had `setGravity(Vector2(0, -10))` then you now do `gravity =
Vector2(0, -10);` and if you previously had `body.setBullet(true);` you
now do `body.isBullet = true;`.
2023-11-03 22:58:49 +01:00
6626989bdb chore(release): Publish Flame v1.10.0 (#2816)
- flame@1.10.0
 - flame_audio@2.1.2
 - flame_bloc@1.10.4
 - flame_fire_atlas@1.4.2
 - flame_forge2d@0.15.1
 - flame_isolate@0.5.0+2
 - flame_lottie@0.3.0+2
 - flame_network_assets@0.2.0+7
 - flame_rive@1.9.4
 - flame_svg@1.8.4
 - flame_test@1.13.2
 - flame_tiled@1.15.0
 - jenny@1.1.1
 - flame_spine@0.1.1+4
 - flame_markdown@0.1.1+2
 - flame_oxygen@0.1.9+2
 - flame_noise@0.1.1+7
2023-10-12 10:09:24 +00:00
5b67b8f14a fix: Remove deprecations for 1.10.0 (#2809)
Removed deprecations for 1.10.0 and fixes some small unreleased regressions found when going through the examples.
2023-10-11 15:57:25 +02:00
2dfe0e5a43 refactor: Remove unnecessary 'async' keyword across the codebase [DCM] (#2803)
Remove unnecessary 'async' keyword across the codebase.
This is following the DCM rule
[avoid-redundant-async](https://dcm.dev/docs/rules/common/avoid-redundant-async)
Sadly we cannot enable the rule, as it has 3 false positives.
2023-10-08 20:33:42 -04:00
5de3730231 chore: Bump to Flutter 3.13 (#2786)
Due to
[this](https://docs.flutter.dev/release/breaking-changes/add-applifecyclestate-hidden)
breaking change we have to bump our lowest supported Flutter version to
3.13.

This PR also adds so that we both analyze with the latest stable flutter
version and our lowest supported one.
2023-10-02 16:58:32 +02:00
ebfa3c5682 chore(release): publish packages
- flame@1.9.1
 - flame_isolate@0.5.0+1
 - flame_tiled@1.14.1
 - flame_audio@2.1.1
 - flame_spine@0.1.1+3
 - flame_svg@1.8.3
 - flame_test@1.13.1
 - flame_oxygen@0.1.9+1
 - flame_bloc@1.10.3
 - flame_fire_atlas@1.4.1
 - flame_markdown@0.1.1+1
 - flame_forge2d@0.15.0+1
 - flame_rive@1.9.3
 - flame_noise@0.1.1+6
 - flame_network_assets@0.2.0+6
 - flame_lottie@0.3.0+1
2023-09-22 16:28:53 +02:00
8b50341613 chore(release): Publish v1.9.0 (#2759)
- flame@1.9.0
 - flame_oxygen@0.1.9
 - flame_test@1.13.0
 - flame_tiled@1.14.0
 - flame_audio@2.1.0
 - flame_bloc@1.10.2
 - flame_fire_atlas@1.4.0
 - flame_forge2d@0.15.0
 - flame_isolate@0.5.0
 - flame_lint@1.1.1
 - flame_lottie@0.3.0
 - flame_markdown@0.1.1
 - flame_network_assets@0.2.0+5
 - flame_noise@0.1.1+5
 - flame_rive@1.9.2
 - flame_spine@0.1.1+2
 - flame_svg@1.8.2
 - jenny@1.1.0
2023-09-21 17:08:30 -03:00
9c1e1c3098 chore: Remove deprecations for v1.9.0 (#2749)
Removes everything that was marked as deprecated and that should be
removed for v1.9.0.
2023-09-19 16:47:41 +02:00
7c2f400076 feat!: Add CameraComponent to FlameGame (#2740)
This PR adds the `CameraComponent` and a `World` by default to the
FlameGame.
2023-09-18 21:06:37 +02:00
7a3d5126a5 feat!: Move Forge2DGame to use CameraComponent (#2728)
This enables flame_forge2d to work with the CameraComponent and the new event system.
2023-09-16 08:08:29 +00:00
b24076c3a1 docs: Replace flutter format with dart format (#2725)
flutter format will generate a deprecation warning:

The "format" command is deprecated. Please use the "dart format" sub-command instead, which has the same command-line usage as "flutter format".
It should be replaced with dart format.

Have updated two places in the docs, and in a shell script (please verify this one for me!)
2023-09-11 09:37:07 +02:00
10e4109c81 refactor: Fix lint issues across the codebase - Part 2 (#2677)
Fix a handful of lint issues across the codebase, identified using DCM.
Nothing controversial, I expect; slowly getting these out of the way so
we can focus on discussing bigger things.
2023-08-25 18:15:17 +00:00
27a8fd61cb refactor: Enable DCM linting (#2667)
This is a first step towards enabling DCM for Flame. Though I have tested with all rules, and am working on selecting, assessing, and fixing violations, as a first step, we can merge the infrastructural changes to flame_lint to and GitHub actions.
As a proof of concept, I am enabling two rules for which we have no violations.
I will followup with enabling more rules, adding discussions for controversial changes, and fixing non-controversial violations.
2023-08-24 13:09:26 +02:00
9887892493 chore: Update to Flutter 3.13 (#2656)
Updates the pipeline to use Flutter 3.13 and does all the analyze fixes.
2023-08-18 20:13:17 +02:00
09f09c6f4c docs: Update README.md of rogue_shooter (#2646)
This updates the rogue shooter readme since there was some confusion in
#2640.
2023-08-09 20:02:47 +02:00
b26700df7e chore(release): Publish Flame 1.8.2 (#2643)
- flame@1.8.2
 - flame_lint@1.1.0
 - flame_rive@1.9.1
 - flame_tiled@1.13.0
 - flame_isolate@0.4.0+2
 - flame_audio@2.0.5
 - flame_spine@0.1.1+1
 - flame_svg@1.8.1
 - flame_test@1.12.1
 - flame_oxygen@0.1.8+5
 - flame_bloc@1.10.1
 - flame_fire_atlas@1.3.8
 - flame_forge2d@0.14.1+1
 - flame_noise@0.1.1+4
 - flame_network_assets@0.2.0+4
 - flame_lottie@0.2.1+1
2023-08-08 22:17:03 +02:00
c11fdb9940 chore(release): Publish flame v1.8.1 et. al (#2599)
- flame@1.8.1
 - flame_test@1.12.0
 - flame_audio@2.0.4
 - flame_bloc@1.10.0
 - flame_fire_atlas@1.3.7
 - flame_forge2d@0.14.1
 - flame_isolate@0.4.0+1
 - flame_lottie@0.2.1
 - flame_noise@0.1.1+3
 - flame_oxygen@0.1.8+4
 - flame_rive@1.9.0
 - flame_spine@0.1.1
 - flame_svg@1.8.0
 - flame_tiled@1.12.0
 - jenny@1.0.4
 - flame_network_assets@0.2.0+3
2023-07-02 13:40:15 +00:00
973b5808dd chore(publish): Publish Flame v1.8.0 and bridge packages (#2557)
flame@1.8.0
flame_rive@1.8.0
flame_test@1.11.0
flame_audio@2.0.3
flame_bloc@1.9.0
flame_fire_atlas@1.3.6
flame_forge2d@0.14.0
flame_isolate@0.4.0
flame_lint@1.0.0
flame_lottie@0.2.0+3
flame_network_assets@0.2.0+2
flame_noise@0.1.1+2
flame_oxygen@0.1.8+3
flame_spine@0.1.0+1
flame_svg@1.7.4
flame_tiled@1.10.2
jenny@1.0.3
2023-05-28 18:55:47 +00:00
a54f19a405 chore(release): Publish packages (#2555)
- flame@1.8.0
 - flame_rive@1.8.0
 - flame_test@1.11.0
 - flame_audio@2.0.3
 - flame_bloc@1.9.0
 - flame_fire_atlas@1.3.6
 - flame_forge2d@0.14.0
 - flame_isolate@0.4.0
 - flame_lint@0.2.0+3
 - flame_lottie@0.2.0+3
 - flame_network_assets@0.2.0+2
 - flame_noise@0.1.1+2
 - flame_oxygen@0.1.8+3
 - flame_spine@0.1.0+1
 - flame_svg@1.7.4
 - flame_tiled@1.10.2
 - jenny@1.0.3
2023-05-28 18:24:36 +00:00
2f71e06eb8 fix: Update sdk constraints to >=3.0.0 (#2554)
Update the SDK constraint to use >= 3.0.0
2023-05-28 20:09:45 +02:00
2d45d2be39 chore: Remove 1.8.0 deprecations (#2538)
Removes all the deprecated methods before 1.8.0 release.
2023-05-22 19:01:55 +02:00
b41622db8f fix: Solve warnings from 3.10.0 analyzer (#2532)
Just solves the warnings that the new Flutter version complains about (which makes us lose 10 points on pub).
2023-05-14 16:25:23 +02:00
87b8a067f3 refactor!: Move CameraComponent and events out of experimental (#2505)
This moves the CameraComponent and the new event system out of experimental since this now is the recommended way of handling things.
2023-04-19 09:55:32 +02:00
89926227c5 feat: Accept CollisionType in hitbox constructor (#2509)
With this PR we accept the `CollisionType` directly in the constructor.
2023-04-18 13:57:16 +00:00
9591e28541 chore(release): Publish packages (#2504)
- flame@1.7.3
 - flame_audio@2.0.1
 - flame_bloc@1.8.4
 - flame_fire_atlas@1.3.5
 - flame_flare@1.5.4
 - flame_forge2d@0.13.0+1
 - flame_isolate@0.3.0+1
 - flame_lint@0.2.0+2
 - flame_oxygen@0.1.8+2
 - flame_rive@1.7.1
 - flame_svg@1.7.3
 - flame_test@1.10.1
 - flame_tiled@1.10.1
 - jenny@1.0.2
 - flame_noise@0.1.1+1
 - flame_network_assets@0.2.0+1
 - flame_lottie@0.2.0+2
2023-04-16 01:18:03 +02:00
dbda37b81a refactor: Add new lint rules (#2477)
This PR adds the following lint rules to our list:

```
always_put_required_named_parameters_first
avoid_multiple_declarations_per_line
avoid_positional_boolean_parameters
avoid_returning_null_for_void
avoid_returning_this
avoid_unnecessary_containers
enable_null_safety
library_private_types_in_public_api
no_leading_underscores_for_library_prefixes
no_leading_underscores_for_local_identifiers
prefer_null_aware_method_calls
tighten_type_of_initializing_formals
unnecessary_late
use_setters_to_change_properties
```

And these rules were considered, and some changes were made according to
them as a clean-up, but in many places they didn't make sense
(`prefer_asserts_with_message` I would have included, but there were too
many places that needed to be changes):

```
collection_methods_unrelated_type
prefer_asserts_with_message
avoid_renaming_method_parameters
```
2023-04-13 19:42:00 +00:00
ac878d8edf chore(release): Publish packages (#2462) 2023-04-02 20:06:47 +02:00
a9c198c727 fix: Fix key input to work after restart (#2415)
The map with active keymaps should be cleared and not the maps in the
map.
This made the game not taking input properly after restart.
2023-03-16 19:29:15 -03:00
7de8fe9b6a chore: Standardize and unify SDK versions across packages (#2374)
# Description

This does two things:

## Use double quotes for SDK constraints

Standardize the usage of single or double quotes to specify sdk
constraints across pubspecs
I see no reason this should not be kept consistent
I also see no reason to prefer one over the other, so I searched the
code base and there are 7 instances of single quote vs 32 of double
quotes, so I favored the later

## Update all SDK constraints to 2.18

Let me know if there are any issues with it, but I believe we should
keep this consistent across all packages.
Also there is a pubspec on root which imply all should be on 2.18
anyway.

## Checklist

- [x] I have followed the [Contributor Guide] when preparing my PR.
- [x] I have updated/added tests for ALL new/updated/fixed
functionality.
- [x] I have updated/added relevant documentation in `docs` and added
dartdoc comments with `///`.
- [x] I have updated/added relevant examples in `examples` or `docs`.

## Breaking Change?

- [ ] Yes, this PR is a breaking change.
- [x] No, this PR is not a breaking change.

<!-- Links -->
[Contributor Guide]:
https://github.com/flame-engine/flame/blob/main/CONTRIBUTING.md
[Conventional Commit]: https://conventionalcommits.org/
[CHANGELOG]:
https://github.com/flame-engine/flame/blob/main/CHANGELOG.md

Co-authored-by: Lukas Klingsbo <me@lukas.fyi>
2023-03-01 18:08:13 +00:00
343b84529d docs: Fix actual typos that made into our dictionary (#2305) 2023-01-28 16:58:27 -05:00
7662118d14 chore(release): Publish flame_lint 0.2.0 (#2301)
- flame_lint@0.2.0
2023-01-28 00:44:29 +00:00
74969a50ab chore: Cleaning up padracing example (#2288)
Saw some outdated code in the padracing example, decided to clean it up.
2023-01-26 11:25:33 +00:00
ce7f1110b5 chore(release): Publish packages (#2275)
- flame@1.6.0
 - flame_forge2d@0.12.5
 - flame_jenny@1.0.0
 - flame_rive@1.6.0
 - jenny@1.0.0
 - flame_oxygen@0.1.8
 - flame_bloc@1.8.2
 - flame_isolate@0.2.0
 - flame_lottie@0.2.0
 - flame_test@1.9.2
 - flame_tiled@1.9.1
 - flame_audio@1.3.5
 - flame_flare@1.5.2
 - flame_svg@1.7.1
 - flame_fire_atlas@1.3.3
2023-01-14 19:59:42 +01:00
b003372a74 chore(release): Publish Flame v1.5.0 (and all bridge packages) (#2197)
* chore(release): publish packages

 - flame@1.5.0
 - flame_bloc@1.8.1
 - flame_forge2d@0.12.4
 - flame_lottie@0.1.1
 - flame_rive@1.5.3
 - flame_svg@1.7.0
 - flame_test@1.9.0
 - flame_tiled@1.9.0
 - flame_isolate@0.1.1
 - flame_audio@1.3.3
 - flame_flare@1.5.1
 - flame_oxygen@0.1.7
 - flame_fire_atlas@1.3.2

* Depend on version of test
2022-11-27 19:22:37 -03:00
4542966901 chore: Remove all .gitignore files but one (#2150)
The root level .gitignore file already works for all sub-repositories, so they are all actually unnecessary.
This PR leaves only the gitignore at the root of the repo, removing all others.
2022-11-06 21:22:19 +00:00
cbfa789e75 chore: Fix some spelling mistakes (#2148)
Fix all* typos reported by CSpell, and add some more words into the dictionaries.

(Except for two in the flame_isolate/example package).
2022-11-06 14:06:44 +00:00
30f984bd50 fix: Use more standard WASD acronym (#2134) 2022-10-29 19:16:04 +00:00
bc43838c92 docs: Add performance test game to examples (#2117) 2022-10-24 22:57:46 +02:00
a0d7eadae4 feat: Added SpriteFont class (#1992)
This PR adds the SpriteFont class, which encapsulates reusable information about a sprite font. Text renderers / text formatters can be created based on this SpriteFont.

In addition:

    GlyphInfo removed (was internal), and GlyphData deprecated -- instead, there is now a consolidated Glyph class;
    Sprite font now supports extended Unicode characters and ligatures (when a combination of letters is represented as a single glyph)
        This feature can also be used to define simple name substitutions. For example, you can declare that "[gp]" or "&gp;" would represent a gold coin icon;
    Sprite font supports variable-width fonts;
    Sprite font supports glyphs where the source rect is different from the logical rect;
    Sprite font renderer can now control the color of the text rendered.
2022-10-07 14:59:09 +00:00
3b056c57c5 chore(release): publish packages
- flame@1.4.0
 - flame_test@1.8.0
 - flame_oxygen@0.1.6
 - flame_bloc@1.8.0
 - flame_flare@1.5.0
 - flame_forge2d@0.12.3
 - flame_lint@0.1.3
 - flame_svg@1.6.0
 - flame_tiled@1.8.0
 - flame_rive@1.5.2
 - flame_audio@1.3.2
 - flame_fire_atlas@1.3.1
2022-10-01 15:22:41 +02:00