An easy-to-use game engine for making real games.
OTHER License
Bot releases are hidden (Show)
Published by zicklag over 1 year ago
document source repository in cargo manifest.
The repository
key under bones_ecs
previously pointed to https://github.com/fishfolk/jumpy.
This updates this to point to the bones repo, and also adds the repository
key to the other
crates in the repository.
Published by zicklag over 1 year ago
ulid
crate.document source repository in cargo manifest.
The repository
key under bones_ecs
previously pointed to https://github.com/fishfolk/jumpy.
This updates this to point to the bones repo, and also adds the repository
key to the other
crates in the repository.
ulid
crate. (7444eb5)Published by zicklag over 1 year ago
document source repository in cargo manifest.
The repository
key under bones_ecs
previously pointed to https://github.com/fishfolk/jumpy.
This updates this to point to the bones repo, and also adds the repository
key to the other
crates in the repository.
add asset integration with bevy.
This is a big overall change that adds ways to integrate Bones with bevy assets.
have TypeUlid
trait require an associated constant instead of a function.
This makes it possible to access the type's Ulid at compile time,
possibly in const functions.
draft bones_lib architecture.
Renames bones
to bones_lib
( mostly because bones
was already taken )
and adds the bones_asset
, bones_bevy_renderer
, bones_input
, and
bones_render
crates.
This sets up the overall structure for the bones library,
though changes to some aspects of the design are likely to change.
bones_has_load_progress
: for now we don't use it, and if webones_bevy_asset
.bones_camera_shake
: it was moved into bones_lib::camera
.d7b5711
)TypeUlid
trait require an associated constant instead of a function. (59f5e67
)89b44d7
)a693894
)604aa8a
)ae0a761
)2725246
)a68cb79
)ca37c81
)Published by zicklag over 1 year ago
document source repository in cargo manifest.
The repository
key under bones_ecs
previously pointed to https://github.com/fishfolk/jumpy.
This updates this to point to the bones repo, and also adds the repository
key to the other
crates in the repository.
prepare for release.
bones_has_load_progress
: for now we don't use it, and if webones_bevy_asset
.bones_camera_shake
: it was moved into bones_lib::camera
. make world in BevyWorld
resource optional.
Since the bevy world can't be cloned, we previously had it in
an Arc, but that didn't play nicely with world snapshots.
Now the bevy world inside the BevyWorld
resource is an
option, with the BevyAssets
system param panicking if it
doesn't find the world when it needs it.
89b44d7
)a693894
)BevyWorld
resource optional. (ef12c3f
)ae0a761
)2725246
)a68cb79
)ca37c81
)Published by zicklag over 1 year ago
update docs and add tutorial.
document source repository in cargo manifest.
The repository
key under bones_ecs
previously pointed to https://github.com/fishfolk/jumpy.
This updates this to point to the bones repo, and also adds the repository
key to the other
crates in the repository.
fix doc links/errors for ulid
module.
SystemStages
.System
.CoreStage
label.default()
function.default()
function equivalent to Default::default()
contains()
helper method to component store. implement Commands
system parameter.
The Commands
parameter can be used to schedule systems that
should run at the end of the current stage.
add return value parameter to systems.
This allows systems to return values,
which is most useful in the context of the world's
run_system()
function which can now extract the return value.
The systems in SystemStages
are still required to
return ()
or SystemResult<()>
.
use a trait for SystemStages.
This allows you to create custom stage implementations.
The plan is to use this functionality in Jumpy to create a special,
looping stage to use for the player state machine.
add improved iteration API.
Added a more convenient replacement for the old join!
macro.
remove join! macro and improve iteration API.
We will add a more ergonomic replacement for the join!
macro later,
but for now we make it easier to use the raw bitset iteration APIs,
which previously required a frustrating use of Rc
.
Removing the Rc
broke the join!
macro, but I think there is a better way to
create a join API, so it isn't worth fixing yet.
This also improves the ergonomics of the bitset iterators by having them
yield their items directly instead of yielding Option
s that must be filtered out.
have TypeUlid
trait require an associated constant instead of a function.
This makes it possible to access the type's Ulid at compile time,
possibly in const functions.
replace Dispatcher
with SystemStages
.
This replaces the Dispatcher
with a similar SystemStages
utility
suitable for running multiple systems in a row.
SystemStages
improves on Dispatcher
by making it easier to add
systems to specific stages, similar to Bevy stages.
require systems to impl Sync
.
This makes things easier when integrating with Bevy right now.
If this becomes too restrictive in the future we can re-visit.
add Default
bound to Res
and ResMut
.
This makes the Default
bound on IntoSystem
easier to find
by failing directly in the generic argument
instead of failing at the IntoSystem
implementation.
use TypeUlid
s instead of TypeUuid
s.
Creates a new type_ulid crate and uses it's TypeUlid
trait instead of
TypeUuid
in bones_ecs.
fix unsound component iterators.
The component iterators were casting pointers to byte slices,
but they should have been returning raw pointers instead.
This also simplified the mutable iterator implementation.
This fixed strange behavior in a non-minimal test repository,
where mutating the transform component of one entity somehow
applied to the transform of another entity at the same time.
bones_has_load_progress
: for now we don't use it, and if webones_bevy_asset
.bones_camera_shake
: it was moved into bones_lib::camera
.TypeUlid
s instead of TypeUuid
s. (d74cec6
)contains()
helper method to component store. (1487dea
)Default
bound to Res
and ResMut
. (60b850a
)Sync
. (85212ab
)ulid
module. (5f0ea64
)Dispatcher
with SystemStages
. (0c259d4
)default()
function. (3a3c653
)TypeUlid
trait require an associated constant instead of a function. (59f5e67
)b80cf48
)5fc8009
)c29c96d
)a693894
)dcd252a
)efe8744
)Commands
system parameter. (81ca654
)1891e2d
)0b424b9
)ae0a761
)a68cb79
)ca37c81
)2f5ff59
)SystemStages
. (a11fd1b
)System
. (7a99206
)0a43a5a
)a516a68
)3724c69
)Published by zicklag over 1 year ago
document source repository in cargo manifest.
The repository
key under bones_ecs
previously pointed to https://github.com/fishfolk/jumpy.
This updates this to point to the bones repo, and also adds the repository
key to the other
crates in the repository.
Window
input containing window size. draft bones_lib architecture.
Renames bones
to bones_lib
( mostly because bones
was already taken )
and adds the bones_asset
, bones_bevy_renderer
, bones_input
, and
bones_render
crates.
This sets up the overall structure for the bones library,
though changes to some aspects of the design are likely to change.
bones_has_load_progress
: for now we don't use it, and if webones_bevy_asset
.bones_camera_shake
: it was moved into bones_lib::camera
.d7b5711
)a693894
)Window
input containing window size. (a85d282
)ae0a761
)2725246
)a68cb79
)ca37c81
)Published by zicklag over 1 year ago
document source repository in cargo manifest.
The repository
key under bones_ecs
previously pointed to https://github.com/fishfolk/jumpy.
This updates this to point to the bones repo, and also adds the repository
key to the other
crates in the repository.
implement Default
for sprite components.
add modules to the prelude.
add audio module.
add a helper method for creating an AtlasSprite
.
add utility Key
datatype.
The Key
datatype is a small, stack-allocated identifier,
similar to a string, but avoiding the heap allocation.
This type might better be moved to a utility crate,
but since one doesn't exist yet for bones alone we
put it in bones_render for now.
add resource for controlling the clear color.
implement tilemap rendering.
add helper methods for creating Transform
s.
Adds helpers for creating transforms from either a translation, a rotation, or a scale.
implement atlas sprite rendering.
Adds the bones_render
types for atlas sprites,
and renders them in bones_bevy_renderer
.
This also adds an asset loader for .atlas.yaml
/.atlas.json
files
which can be used when you need to load a Handle<Atlas>
in a BonesBevyAsset
struct.
make Key::new()
const and add key!
macro for const construction.
add asset integration with bevy.
This is a big overall change that adds ways to integrate Bones with bevy assets.
draft bones_lib architecture.
Renames bones
to bones_lib
( mostly because bones
was already taken )
and adds the bones_asset
, bones_bevy_renderer
, bones_input
, and
bones_render
crates.
This sets up the overall structure for the bones library,
though changes to some aspects of the design are likely to change.
TileLayer
by returning an Option<Tile>
from get()
.bones_has_load_progress
: for now we don't use it, and if webones_bevy_asset
.bones_camera_shake
: it was moved into bones_lib::camera
.d7b5711
)89b44d7
)d43b6ec
)Transform
s. (f11fc28
)0a7fec6
)a693894
)34c5ecc
)Key
datatype. (6d813cc
)Default
for sprite components. (e76de9d
)ae0a761
)2725246
)a68cb79
)ca37c81
)a16443a
)c61b845
)AtlasSprite
. (2a52b68
)TileLayer
by returning an Option<Tile>
from get()
. (6419a8c
)Key::new()
const and add key!
macro for const construction. (2c7d5f4
)Published by zicklag over 1 year ago
document source repository in cargo manifest.
The repository
key under bones_ecs
previously pointed to https://github.com/fishfolk/jumpy.
This updates this to point to the bones repo, and also adds the repository
key to the other
crates in the repository.
TypeUlid
trait require an associated constant instead of a function.TypeUlid
s instead of TypeUuid
s.TypeUlid
trait instead ofTypeUuid
in bones_ecs.Published by zicklag over 1 year ago
add camera shake.
Adds systems and components for easily adding camera shake.
Ported from the Bevy implementation in bones_camera_shake
.
add animation module.
add bones_camera_shake
crate
Adds the camera shake functionality from Bomby.
For the time being it uses bevy_ecs
and not bones_ecs
.
migrate crates from the jumpy repository
fix sprite animation bug.
Fixes the behavior when an atlas sprite's current index is less
than the starting index of an animated sprite.
Previously it would play the animation from wherever the current
index happened to be, but it was supposed to skip to the animation
start frame.
perlin_1d
function make bones_bevy_utils
an optional dependency.
This reduces dependencies if you want to use bones_lib
without Bevy.
add asset integration with bevy.
This is a big overall change that adds ways to integrate Bones with bevy assets.
draft bones_lib architecture.
Renames bones
to bones_lib
( mostly because bones
was already taken )
and adds the bones_asset
, bones_bevy_renderer
, bones_input
, and
bones_render
crates.
This sets up the overall structure for the bones library,
though changes to some aspects of the design are likely to change.
d7b5711
)89b44d7
)bones_camera_shake
crate (ec30508
)bones_bevy_utils
an optional dependency. (e78ed38
)baa617b
)88b4796
)9de77ff
)db6ad44
)Published by zicklag over 1 year ago
document source repository in cargo manifest.
The repository
key under bones_ecs
previously pointed to https://github.com/fishfolk/jumpy.
This updates this to point to the bones repo, and also adds the repository
key to the other
crates in the repository.
TypeUlidDynamic
trait.TypeUlidDynamic
is useful for creating trait objects such as Box<dyn TypeUlidDynamic>
TypeUlid
trait directly.TypeUlid
trait require an associated constant instead of a function.TypeUlid
s instead of TypeUuid
s.TypeUlid
trait instead ofTypeUuid
in bones_ecs.TypeUlid
s instead of TypeUuid
s. (d74cec6
)TypeUlidDynamic
trait. (6de0878
)TypeUlid
trait require an associated constant instead of a function. (59f5e67
)a693894
)2725246
)a68cb79
)ca37c81
)