Corwin
|
d2f5a5333a
|
Merge remote-tracking branch 'upstream/master' into object-controller2
|
2022-10-09 00:19:44 +01:00 |
|
Corwin
|
dead6652eb
|
fix lint
|
2022-10-08 23:46:54 +01:00 |
|
Corwin
|
96401c2833
|
implement multiplication by scalar
|
2022-10-08 23:44:22 +01:00 |
|
Corwin
|
9ed5ee2295
|
change name of function to match the name of the transformation
|
2022-10-08 23:41:41 +01:00 |
|
Corwin
|
c33f99aaea
|
add comment on what the matrix represents
|
2022-10-08 23:39:19 +01:00 |
|
Corwin
|
6927f84597
|
deny undocumented
|
2022-10-08 23:39:19 +01:00 |
|
Corwin
|
c09c0b77f4
|
add docs
|
2022-10-08 23:39:19 +01:00 |
|
Corwin
|
5e8a50159e
|
implement try from
|
2022-10-08 23:39:19 +01:00 |
|
Corwin
|
d83f0ea710
|
from rotation accept generic fixnum
|
2022-10-08 23:39:19 +01:00 |
|
Corwin
|
99f01caea4
|
some fun affine matrix functions!
|
2022-10-08 23:39:19 +01:00 |
|
Corwin
|
f17084d4f6
|
Merge remote-tracking branch 'upstream/master' into object-controller2
|
2022-10-08 23:36:59 +01:00 |
|
Gwilym Kuiper
|
f921da930a
|
Fix doc comment
|
2022-10-08 23:15:54 +01:00 |
|
Gwilym Kuiper
|
a09be56319
|
Fix example
|
2022-10-08 23:08:04 +01:00 |
|
Gwilym Kuiper
|
f5f73e89f5
|
Merge branch 'master' into affine
|
2022-10-08 23:03:42 +01:00 |
|
Gwilym Kuiper
|
1e759dbeca
|
Move the palettes to a single constant rather than being repeated
|
2022-10-08 23:02:54 +01:00 |
|
Gwilym Kuiper
|
9bddbdba1c
|
Seal the TiledMap trait
|
2022-10-08 22:40:20 +01:00 |
|
Gwilym Kuiper
|
5c578df227
|
transparent colour definition isn't really needed here
|
2022-10-08 22:34:54 +01:00 |
|
Gwilym Kuiper
|
7d43903ee0
|
Merge pull request #323 from gwilymk/remove-frequency-features
Remove frequency features
|
2022-10-08 22:24:07 +01:00 |
|
Gwilym Kuiper
|
cc66b65847
|
Update the docs
|
2022-10-08 21:39:48 +01:00 |
|
Gwilym Kuiper
|
870478353c
|
Use the correct buffer sizes
|
2022-10-08 21:20:13 +01:00 |
|
Gwilym Kuiper
|
c0821c9229
|
Ensure packed(4)
|
2022-10-08 17:14:58 +01:00 |
|
Gwilym Kuiper
|
fe2e480f28
|
Remove pointless casts
|
2022-10-08 17:13:25 +01:00 |
|
Gwilym Kuiper
|
faed7b456f
|
Avoid double transforming
|
2022-10-08 17:12:50 +01:00 |
|
Gwilym Kuiper
|
e63e830a9c
|
Merge remote-tracking branch 'origin/master' into affine
|
2022-10-08 17:05:00 +01:00 |
|
Gwilym Kuiper
|
c5f6e10889
|
Update all toml files to the new transparent requirement
|
2022-10-08 16:59:40 +01:00 |
|
Corwin
|
c90e8de893
|
clippy autofix
|
2022-10-08 11:34:43 +01:00 |
|
Gwilym Kuiper
|
c6d961cd8d
|
Almost works
|
2022-10-02 21:18:29 +01:00 |
|
Gwilym Kuiper
|
2ffc68c5c1
|
Start making the frequency field dynamic rather than a feature flag
|
2022-10-02 21:14:01 +01:00 |
|
Corwin
|
5e0795ae14
|
add garbage collection using hashmap retain
|
2022-10-02 20:05:13 +01:00 |
|
Corwin
|
7143621407
|
use unsafe around creating new static sprites, no guarentee that it does it correctly though
|
2022-10-02 19:34:38 +01:00 |
|
Corwin
|
b7448d714e
|
remove unused arena
|
2022-10-02 19:34:38 +01:00 |
|
Corwin
|
5d541631ae
|
add dynamic sprite support
|
2022-10-02 19:34:38 +01:00 |
|
Corwin
|
1acf7142da
|
switch to using rust Rc
|
2022-10-02 19:34:38 +01:00 |
|
Corwin
|
5d21f720a5
|
add arena library
|
2022-10-02 19:34:38 +01:00 |
|
Corwin
|
88e1635fb1
|
unify types
|
2022-10-02 19:34:38 +01:00 |
|
Corwin
|
781e1efc6f
|
satisfy linter
|
2022-10-02 19:34:38 +01:00 |
|
Corwin
|
758f9849c3
|
track the lifetime of the static object controller
|
2022-10-02 19:34:38 +01:00 |
|
Gwilym Kuiper
|
4bf3e0d597
|
Add tests for size_hint and ensure .iter() returns a better iterator
|
2022-10-02 19:10:50 +01:00 |
|
Gwilym Kuiper
|
78554862c8
|
Move the tests to a better location
|
2022-10-02 19:05:29 +01:00 |
|
Gwilym Kuiper
|
a44b8a4013
|
Add comment explaining the continue statement
|
2022-10-02 19:00:59 +01:00 |
|
Gwilym Kuiper
|
c658b6afe5
|
Add implementation of retain to HashMap
|
2022-10-02 18:55:21 +01:00 |
|
Gwilym Kuiper
|
2d23f0a36c
|
Implement size_hint for the hashmap iterators
|
2022-10-02 18:44:48 +01:00 |
|
Gwilym Kuiper
|
ae5d8818b6
|
Fix test in release mode (don't know why this works :/ but is more correct)
|
2022-10-01 17:09:48 +01:00 |
|
Gwilym Kuiper
|
ffde16abd9
|
Remove crate::println!
|
2022-10-01 15:31:19 +01:00 |
|
Gwilym Kuiper
|
ccc3823085
|
Remove unused import
|
2022-10-01 15:30:46 +01:00 |
|
Gwilym Kuiper
|
cde3bca0ea
|
Make the background rotate again
|
2022-10-01 15:30:37 +01:00 |
|
Gwilym Kuiper
|
dd2030d354
|
Use the fact that tris turn into integers nicely
|
2022-10-01 15:29:42 +01:00 |
|
Gwilym Kuiper
|
63b0fa63c6
|
packed(4) to ensure alignment
|
2022-10-01 15:28:53 +01:00 |
|
Gwilym Kuiper
|
83c28254a1
|
Update to be closer to the API I actually want but currently only works in release mode
|
2022-09-22 23:29:58 +01:00 |
|
Gwilym Kuiper
|
59673206b3
|
Make the example work the way I expect it to
|
2022-09-22 21:34:03 +01:00 |
|
Gwilym Kuiper
|
496b4a4953
|
repr packed
|
2022-09-22 21:33:59 +01:00 |
|
Gwilym Kuiper
|
84c87a8088
|
Merge remote-tracking branch 'origin/master' into affine
|
2022-09-22 20:13:23 +01:00 |
|
Alissa Rao
|
b920d94f83
|
Remove agb-tests in favor of putting the tests directly in agb.
|
2022-09-15 23:28:38 -07:00 |
|
Alissa Rao
|
8f3e438070
|
Final round of bugfixes, documentation fixes and clippy warning fixes.
|
2022-09-15 23:25:17 -07:00 |
|
Alissa Rao
|
821098dd26
|
Implement EEPROM save media.
Fix EEPROM implementation.
|
2022-09-15 23:25:16 -07:00 |
|
Alissa Rao
|
8dd0f4768a
|
Add support for flash save media.
|
2022-09-15 23:25:16 -07:00 |
|
Alissa Rao
|
4397bb0d66
|
Add tests for cartridge save access.
|
2022-09-15 23:25:16 -07:00 |
|
Alissa Rao
|
2be44c12e5
|
Improve codestyle in asm_routines.s, remove unsafe save implementation in hyperspace-roll.
|
2022-09-15 23:25:16 -07:00 |
|
Alissa Rao
|
ec41db2fc9
|
Reintegrate SRAM save media reader.
|
2022-09-15 23:25:13 -07:00 |
|
Alissa Rao
|
d50413a3cc
|
Update the code style of the save module to better match agb's philosophy.
|
2022-09-15 23:25:08 -07:00 |
|
Alissa Rao
|
217f42a635
|
Initial work on porting gba save code to agb codebase.
|
2022-09-15 23:20:07 -07:00 |
|
Alissa Rao
|
6d51d1bef3
|
Rework a simpler example to use agb::sync instead of bare_metal.
|
2022-09-15 23:14:30 -07:00 |
|
Alissa Rao
|
89c76616b6
|
Implement a new sync API allowing for mutexes that don't require disabling IRQs.
|
2022-09-15 23:14:27 -07:00 |
|
Gwilym Kuiper
|
654bff0cb7
|
Mark ignore on test runner docs
|
2022-09-15 22:47:08 +01:00 |
|
Gwilym Kuiper
|
68fb9c7e02
|
Remove reference to the testing feature
|
2022-09-15 22:39:44 +01:00 |
|
Gwilym Kuiper
|
d6c5099209
|
Make testing a default feature
|
2022-09-15 22:37:36 +01:00 |
|
Gwilym Kuiper
|
45e9c860df
|
Fix small issues from latest clippy version
|
2022-09-15 21:04:10 +01:00 |
|
Gwilym Kuiper
|
fcde651821
|
Allow movement of the affine background
|
2022-08-12 00:02:10 +01:00 |
|
Gwilym Kuiper
|
97e3948f32
|
Fix warnings and remove debug logs
|
2022-08-11 23:49:51 +01:00 |
|
Gwilym Kuiper
|
ff89f7f425
|
Get first example working
|
2022-08-11 23:49:51 +01:00 |
|
Gwilym Kuiper
|
9a5ecc5cda
|
Assert replace tile is passed two tiles of the same size
|
2022-08-11 23:49:51 +01:00 |
|
Gwilym Kuiper
|
d106b0a82b
|
Simplify map.rs
|
2022-08-11 23:49:51 +01:00 |
|
Gwilym Kuiper
|
affea47a32
|
Remove const and rustfmt::skip
|
2022-08-11 23:49:51 +01:00 |
|
Gwilym Kuiper
|
31f85cf6b9
|
Simplify tiled0-2
|
2022-08-11 23:49:51 +01:00 |
|
Gwilym Kuiper
|
d59e2672c0
|
Remove features
|
2022-08-11 23:49:51 +01:00 |
|
lifning
|
ee576597c2
|
Add rudimentary affine background layer support.
|
2022-08-11 23:49:51 +01:00 |
|
Corwin
|
d5c9312dc4
|
add convenience functions for performing multiple actions on one layer
|
2022-08-09 19:16:12 +01:00 |
|
Corwin
|
afa9ef9109
|
add docs for blend
|
2022-08-09 19:16:12 +01:00 |
|
Corwin
|
921c26f7c2
|
add blending to the window example
|
2022-08-09 19:16:12 +01:00 |
|
Corwin
|
7ad160e30f
|
use struct newtypes
|
2022-08-09 19:16:12 +01:00 |
|
Corwin
|
cae71ff249
|
add blend to distributor
|
2022-08-09 19:16:12 +01:00 |
|
Corwin
|
41ccd56919
|
new function for blend
|
2022-08-09 19:16:12 +01:00 |
|
Corwin
|
d0b3d9e7b3
|
add blend abstraction
|
2022-08-09 19:16:12 +01:00 |
|
Corwin
|
ca9c898c14
|
add general set bits
|
2022-08-09 19:16:12 +01:00 |
|
Corwin
|
4a5f77ddd6
|
fix doc comment to link correctly
|
2022-08-06 21:16:11 +01:00 |
|
Corwin
|
12d4a8cd81
|
add module level docs
|
2022-08-06 12:51:59 +01:00 |
|
Corwin
|
e1448f7d81
|
write docs for windows
|
2022-08-06 12:36:28 +01:00 |
|
Corwin
|
78ff4011c7
|
merge imports
|
2022-08-06 12:36:28 +01:00 |
|
Corwin
|
dbbd7a3d34
|
add some inlines to small functions
|
2022-08-06 12:36:28 +01:00 |
|
Corwin
|
e318898197
|
add example for window
|
2022-08-06 12:36:28 +01:00 |
|
Corwin
|
2b4a95a4a9
|
clamp the position before converting to u8
|
2022-08-06 12:36:28 +01:00 |
|
Corwin
|
648ce375d5
|
enabling and disabling windows
|
2022-08-06 12:36:28 +01:00 |
|
Corwin
|
f9d9220ead
|
function to reset the window
|
2022-08-06 12:36:28 +01:00 |
|
Corwin
|
44fd7d0027
|
use a name matching rust conventions
|
2022-08-06 12:36:28 +01:00 |
|
Corwin
|
7735baecc9
|
use a more sensible ordering of numbers
|
2022-08-06 12:36:28 +01:00 |
|
Corwin
|
a188e7ba66
|
add abstraction over windows
|
2022-08-06 12:36:28 +01:00 |
|
Corwin
|
10423d0752
|
background id exposed
|
2022-08-06 12:36:28 +01:00 |
|
Corwin
|
99af3e2b17
|
Merge pull request #281 from corwinkuiper/hashmap-allocator
Custom allocator support in HashMap
|
2022-08-04 21:55:51 +01:00 |
|
Gwilym Kuiper
|
73cec55e05
|
Move crt0.s and interrupt_handler.s to src
|
2022-08-04 20:08:18 +01:00 |
|
Corwin
|
5b3d288079
|
support custom allocators in hashmap
|
2022-08-04 19:27:08 +01:00 |
|
Corwin
|
e3ac5de377
|
make the allocators clonable
|
2022-08-04 19:26:55 +01:00 |
|
Corwin
|
2e97fb2b24
|
Release v0.11.1
|
2022-08-02 23:52:43 +01:00 |
|
Corwin
|
43b256a9f3
|
Release v0.11.0
|
2022-08-02 23:45:44 +01:00 |
|
Gwilym Kuiper
|
14f42670d2
|
Merge pull request #277 from gwilymk/deny-missing-docs-in-hashmap
Deny missing docs in HashMap and document remaining two public structs
|
2022-08-02 22:59:53 +01:00 |
|
Gwilym Kuiper
|
460cf7db91
|
Deny missing docs in HashMap and document two public structs
|
2022-08-02 22:52:16 +01:00 |
|
Corwin
|
267fe80981
|
remove doc outside of agb_fixnum
|
2022-08-02 19:40:22 +01:00 |
|
Corwin
|
46c5dcd2de
|
inline docs in agb crate
|
2022-08-02 18:49:00 +01:00 |
|
Corwin
|
940a92b021
|
Merge pull request #271 from lifning/master
Support armv4t-none-eabi target as well.
|
2022-08-01 20:38:39 +01:00 |
|
Corwin
|
f7d6199ab2
|
add the config to be able to compile this
|
2022-08-01 17:36:02 +01:00 |
|
Corwin
|
9410f6ed1d
|
update docs
|
2022-08-01 12:07:50 +01:00 |
|
lifning
|
22e9cbccc0
|
Support armv4t-none-eabi target as well.
|
2022-08-01 02:20:03 -07:00 |
|
Corwin
|
0409a20527
|
add examples demonstrating this
|
2022-08-01 01:38:26 +01:00 |
|
Corwin
|
a7e038aa18
|
Release v0.10.0
|
2022-07-31 17:08:48 +01:00 |
|
Corwin
|
567244d7dc
|
remove print from test
|
2022-07-31 14:45:26 +01:00 |
|
Corwin
|
473fc12cee
|
document objects
|
2022-07-31 13:42:41 +01:00 |
|
Gwilym Kuiper
|
3903b10d15
|
Merge pull request #266 from gwilymk/update-include-gfx-docs
Update include_gfx! documentation
|
2022-07-31 11:38:01 +01:00 |
|
Corwin
|
cd70a3ed22
|
update docs
|
2022-07-31 01:06:36 +01:00 |
|
Corwin
|
e92e8d39a5
|
implement allocators as zsts
|
2022-07-31 01:06:36 +01:00 |
|
Gwilym Kuiper
|
acf33a5058
|
Update include_gfx! documentation
|
2022-07-31 00:04:52 +01:00 |
|
Gwilym Kuiper
|
3ec95a0277
|
Merge pull request #265 from gwilymk/gc-vram-at-the-correct-time
Run the GC after copying the tiles rather than before
|
2022-07-30 23:22:07 +01:00 |
|
Corwin
|
b39b6f43b3
|
correct end address of range
|
2022-07-30 22:49:26 +01:00 |
|
Gwilym Kuiper
|
14e371c911
|
Run the GC after copying the tiles rather than before
|
2022-07-30 22:42:01 +01:00 |
|
Corwin
|
0c25eb6bee
|
fix doc examples
|
2022-07-30 19:47:34 +01:00 |
|
Corwin
|
7f760d4404
|
add some doc comments to explain the allocators
|
2022-07-30 19:34:40 +01:00 |
|
Corwin
|
feea7d2af1
|
privatise agb_alloc crate
|
2022-07-30 19:34:30 +01:00 |
|
Corwin
|
cd000ca767
|
use the end of all assigned iwram data
|
2022-07-30 17:21:46 +01:00 |
|
Corwin
|
a3de583d40
|
fix
|
2022-07-30 17:07:18 +01:00 |
|
Corwin
|
433fad15a1
|
mark function as pub crate so it's not used outside agb
|
2022-07-30 16:52:41 +01:00 |
|
Corwin
|
002ccc64dd
|
implement allocator api so we can allocate to (ew/iw)ram
|
2022-07-30 16:40:48 +01:00 |
|
Gwilym Kuiper
|
0111ec43bb
|
agb_start_tests can now be doc(hidden)
|
2022-07-25 22:49:18 +01:00 |
|
Gwilym Kuiper
|
20aebd349a
|
Provide an empty #[entry] in lib.rs
|
2022-07-25 22:49:17 +01:00 |
|
Gwilym Kuiper
|
2e505f9684
|
Remove the need for a special test implementation
|
2022-07-25 22:49:17 +01:00 |
|
Gwilym Kuiper
|
9231d16071
|
Add some documentation for the test runner
|
2022-07-25 22:49:17 +01:00 |
|
Gwilym Kuiper
|
553a625c91
|
Mkae it possible to run tests in target crates (and add a basic tests in hat-wizard)
|
2022-07-25 22:49:17 +01:00 |
|
Corwin
|
29c74f6286
|
move commit
|
2022-07-24 21:30:45 +01:00 |
|
Gwilym Kuiper
|
8df9f4b5c4
|
Go back to using DMA for sprites
|
2022-07-21 20:52:07 +01:00 |
|
Gwilym Kuiper
|
c2a4845a2e
|
Add a must_use to pos
|
2022-07-21 20:34:26 +01:00 |
|
Gwilym Kuiper
|
3de22df7a2
|
Add get and set position on sound channels
|
2022-07-17 10:32:01 +01:00 |
|
Gwilym Kuiper
|
a5e0e145d2
|
Attempt to support changing the volume of stereo sound
|
2022-07-16 18:47:39 +01:00 |
|
Corwin
|
1be10ba450
|
align sprite data to 2 byte boundaries
|
2022-07-16 13:36:33 +01:00 |
|
Gwilym Kuiper
|
2026e49569
|
Start the tile ram one tile in to prevent overwriting the transparent tile
|
2022-07-16 09:12:15 +01:00 |
|
Corwin
|
ebc4e15f3d
|
constify sprite function
|
2022-07-15 21:59:36 +01:00 |
|
Gwilym Kuiper
|
a9da4a65f9
|
Update agbabi's memcpy
|
2022-07-14 22:43:41 +01:00 |
|
Gwilym Kuiper
|
6d1d3d2b9d
|
Add repository to Cargo.toml files
Fixes #253
|
2022-07-14 21:49:53 +01:00 |
|
Gwilym Kuiper
|
4a6b093f6d
|
Update mixer doctests
|
2022-07-12 15:07:28 +01:00 |
|
Gwilym Kuiper
|
70b227d471
|
Get doctests working for mixer/mod.rs
|
2022-07-12 15:00:52 +01:00 |
|
Gwilym Kuiper
|
8929486387
|
Make doctest in interrupt.rs work
|
2022-07-12 14:45:45 +01:00 |
|
Gwilym Kuiper
|
5e317ef192
|
Get doctests working on lib.rs (will fix ignored later)
|
2022-07-12 14:39:50 +01:00 |
|
Gwilym Kuiper
|
643891a9de
|
Make the doctests work for infinite_scrolled_map
|
2022-07-12 14:37:32 +01:00 |
|
Gwilym Kuiper
|
eeefec6e27
|
Make the first infinite_scrolled_map test run
|
2022-07-12 14:21:13 +01:00 |
|
Gwilym Kuiper
|
4c63058ba0
|
Fix example
|
2022-07-12 13:42:30 +01:00 |
|
Gwilym Kuiper
|
86b9c2b3dd
|
Deny missing docs in mixer
|
2022-07-12 13:33:32 +01:00 |
|
Gwilym Kuiper
|
2c7db427f8
|
Document sw_mixer
|
2022-07-12 13:32:35 +01:00 |
|
Gwilym Kuiper
|
d78d9155bf
|
Allow impl Into<Num<...>> to make it a bit simpler
|
2022-07-12 12:53:17 +01:00 |
|
Gwilym Kuiper
|
ead344ca0b
|
Document the whole of mixer/mod.rs
|
2022-07-12 12:50:40 +01:00 |
|
Gwilym Kuiper
|
d3c8480ce0
|
Write some docs for the mixer
|
2022-07-12 12:29:35 +01:00 |
|
Gwilym Kuiper
|
3f1f290791
|
Bring memset.s in line with latest agbabi
|
2022-06-24 21:19:52 +01:00 |
|
Gwilym Kuiper
|
fcbaacac1b
|
Update to the latest agbabi memcpy
|
2022-06-24 21:12:14 +01:00 |
|
Gwilym Kuiper
|
e08aaf6c7a
|
Reduce input and output offsets to 0..8 to half run time
|
2022-06-22 23:40:41 +01:00 |
|
Gwilym Kuiper
|
d053aa1707
|
Add a test for the non-word case
|
2022-06-22 23:38:36 +01:00 |
|
Gwilym Kuiper
|
6aa30462f9
|
Replace memcpy tests with a test which does all offsets for lots of sizes
Found a bug in agbabi with size 0, source offset 1, target offset 3
|
2022-06-22 23:31:23 +01:00 |
|
Gwilym Kuiper
|
16efca4b59
|
Add some tests for memset4
|
2022-06-22 22:33:56 +01:00 |
|
Gwilym Kuiper
|
cb5763ed53
|
Check sizes 0..80 in size with 0..10 offset for memset
|
2022-06-22 22:00:26 +01:00 |
|
Corwin
|
10eeeaf9e7
|
a test for agbabi memset
|
2022-06-21 02:00:29 +01:00 |
|
Gwilym Kuiper
|
5ca8cb8bf7
|
Use agbabi's fix for small copies / sets
|
2022-06-19 17:38:34 +01:00 |
|
Gwilym Kuiper
|
c9f1401ef3
|
Fix issue with small, misaligned copies
|
2022-06-19 13:03:44 +01:00 |
|
Gwilym Kuiper
|
a7d52bbed0
|
Add offset tests and failing test for both offetted by 1 byte
|
2022-06-19 12:24:55 +01:00 |
|
Gwilym Kuiper
|
39bef8f866
|
Add some basic agbabi tests for memcpy
|
2022-06-19 12:17:34 +01:00 |
|
Gwilym Kuiper
|
578b1eefa4
|
Delete decompile accidentally committed
|
2022-06-17 22:40:31 +01:00 |
|
Gwilym Kuiper
|
64fbf13cc3
|
Update gba_mb with the new requried references
|
2022-06-17 00:48:32 +01:00 |
|
Gwilym Kuiper
|
cb48325f21
|
Add README for agbabi
|
2022-06-17 00:40:17 +01:00 |
|
Gwilym Kuiper
|
4ac3939e9a
|
Add agbabi licence
|
2022-06-17 00:38:12 +01:00 |
|
Gwilym Kuiper
|
7e46cf6a1d
|
Remove the hack from the mixer
|
2022-06-17 00:32:07 +01:00 |
|
Gwilym Kuiper
|
8a8e8c011b
|
Make sure to reference the agbabi files so they are included
|
2022-06-17 00:30:33 +01:00 |
|
Gwilym Kuiper
|
2d90755090
|
Put everything in different sections
|
2022-06-17 00:30:33 +01:00 |
|
Gwilym Kuiper
|
601360ca67
|
Compile agbabi into agb
|
2022-06-17 00:30:33 +01:00 |
|
Gwilym Kuiper
|
149d2ec76b
|
Delete the archive file each time we run the build
|
2022-06-17 00:30:33 +01:00 |
|
Corwin
|
c5af151d76
|
Merge pull request #237 from corwinkuiper/split-asm
Split asm
|
2022-06-17 00:24:44 +01:00 |
|
Corwin
|
13df836b91
|
update multiboot linker
|
2022-06-16 23:38:07 +01:00 |
|
Gwilym Kuiper
|
90b5e39b42
|
Switch to using a single archive
|
2022-06-16 23:32:28 +01:00 |
|
Corwin
|
05adfabca8
|
get it working
|
2022-06-16 23:22:27 +01:00 |
|
Corwin
|
0be9da755c
|
split out assembly
|
2022-06-16 22:58:22 +01:00 |
|
Gwilym Kuiper
|
fbff538d92
|
Merge pull request #236 from gwilymk/document-tiled-mode
Add some doc comments to tiled mode
|
2022-06-16 22:58:03 +01:00 |
|
Gwilym Kuiper
|
efeaeeac4d
|
Finish off the comments in InfiniteScrolledMap
|
2022-06-16 22:42:16 +01:00 |
|
Gwilym Kuiper
|
de965e966f
|
Write some doc comments for InfiniteScrolledMap
|
2022-06-16 22:30:52 +01:00 |
|
Gwilym Kuiper
|
bc1bf3416c
|
Add some doc comments around the video struct
|
2022-06-16 22:30:26 +01:00 |
|
Gwilym Kuiper
|
21b8f12c03
|
Make the 32768Hz example print the timing to the gba screen
|
2022-06-16 21:36:48 +01:00 |
|
Gwilym Kuiper
|
9eb087ad60
|
Print the CPU usage for the stereo sound example
|
2022-06-16 21:32:16 +01:00 |
|
Gwilym Kuiper
|
24749ac645
|
Do the zeroing of the buffer in assembly
|
2022-06-12 17:53:39 +01:00 |
|
Gwilym Kuiper
|
33c948208a
|
Don't actually need to clear the buffer
|
2022-06-12 17:30:01 +01:00 |
|
Gwilym Kuiper
|
2ace226db8
|
Extract a function to do the clearing of the buffer
|
2022-06-12 17:26:16 +01:00 |
|
Gwilym Kuiper
|
4969672c73
|
Use hand written fast fill to save a few more cycles
|
2022-06-12 16:53:46 +01:00 |
|
Gwilym Kuiper
|
bec1a17cfd
|
This doesn't need the allow
|
2022-06-12 13:57:16 +01:00 |
|
Gwilym Kuiper
|
bbad55af65
|
Deny the stricter lints
|
2022-06-11 20:57:40 +01:00 |
|
Gwilym Kuiper
|
9759555e42
|
Remove cast_lossless because it isn't supported by bitfield
|
2022-06-11 20:56:48 +01:00 |
|
Gwilym Kuiper
|
ba35b85c81
|
Final clippy lint fixes
|
2022-06-11 20:56:05 +01:00 |
|
Gwilym Kuiper
|
bf9f298972
|
Fix some sound related lints
|
2022-06-11 20:51:41 +01:00 |
|
Gwilym Kuiper
|
062e8c8881
|
Fix some more linter errors
|
2022-06-11 20:48:18 +01:00 |
|
Gwilym Kuiper
|
1b393cd612
|
Fix new clippy lints in tiled
|
2022-06-11 20:40:12 +01:00 |
|
Gwilym Kuiper
|
f2e565f512
|
Take advantage of the fact that CriticalSection is Copy
|
2022-06-11 20:34:19 +01:00 |
|
Gwilym Kuiper
|
1edd7f4166
|
Add a bunch of new clippy lints
|
2022-06-11 20:27:08 +01:00 |
|
Gwilym Kuiper
|
b8cf5090cb
|
Make clippy warnings and let CI fail if there are issues
|
2022-06-11 20:17:37 +01:00 |
|
Gwilym Kuiper
|
e6f5494242
|
Use the syscall to do the memset because the default implementation is really slow
|
2022-06-11 17:22:29 +01:00 |
|
Gwilym Kuiper
|
4633fe7e3c
|
Set sound bias (which seems to make this work on hardware)
|
2022-06-11 16:53:39 +01:00 |
|
Gwilym Kuiper
|
3a419b05de
|
Improve timer API and use it
|
2022-06-11 16:44:29 +01:00 |
|
Gwilym Kuiper
|
d65fd5d740
|
Don't require the 32kHz frequency for interrupts
|
2022-06-11 16:22:28 +01:00 |
|
Gwilym Kuiper
|
3bd85c7d7c
|
Get correct song name
|
2022-06-11 16:11:18 +01:00 |
|
Gwilym Kuiper
|
879a4f5270
|
Unroll the loop a bit
|
2022-06-11 16:10:58 +01:00 |
|
Gwilym Kuiper
|
5f7a1007a2
|
Triple buffer the sound to avoid skipping
|
2022-06-11 16:08:00 +01:00 |
|
Gwilym Kuiper
|
7d8890b03e
|
32768 example
|
2022-06-11 15:46:10 +01:00 |
|
Gwilym Kuiper
|
a4c696ad33
|
Build a special version of 'frame' for freq32768
|
2022-06-11 13:23:39 +01:00 |
|
Gwilym Kuiper
|
c709455e3d
|
Add defines for freq32768
|
2022-06-11 13:19:56 +01:00 |
|
Gwilym Kuiper
|
42d3455abf
|
Avoid duplicating the feature flag definition
|
2022-06-11 13:19:52 +01:00 |
|
Gwilym Kuiper
|
73d6dc448f
|
Add new frequency option
|
2022-06-11 13:05:30 +01:00 |
|
Gwilym Kuiper
|
0a9a3fdf1d
|
Remove timer field to mixer
|
2022-06-11 12:57:59 +01:00 |
|
Gwilym Kuiper
|
b7bc27403e
|
Remove pointless 'a
|
2022-05-12 20:28:10 +01:00 |
|
Gwilym Kuiper
|
93ed4b87e8
|
Merge pull request #226 from gwilymk/another-audio-performance-improvement
Another audio performance improvement
|
2022-05-04 21:05:55 +01:00 |
|
Gwilym Kuiper
|
4d2ad8859b
|
Add a comment explaining the improvement
|
2022-05-04 20:56:39 +01:00 |
|
Gwilym Kuiper
|
4a06acba6b
|
Allow volumes to be a lot higher and check that clipping is handled
|
2022-05-04 20:42:32 +01:00 |
|
Gwilym Kuiper
|
abfbf6a454
|
Use the renamed register names
|
2022-05-04 20:36:06 +01:00 |
|
Gwilym Kuiper
|
0ec3c499cb
|
Just use range push and pop
|
2022-05-04 20:27:41 +01:00 |
|
Gwilym Kuiper
|
a0b28176c6
|
Use .rept rather than defining a macro
|
2022-05-04 20:25:55 +01:00 |
|
Gwilym Kuiper
|
863abe1d42
|
Only load SWAP_SIGN once
|
2022-05-04 18:08:15 +01:00 |
|
Gwilym Kuiper
|
8ec839f181
|
Be more consistent with instruction use
|
2022-05-04 18:07:01 +01:00 |
|
Gwilym Kuiper
|
b02cdd9233
|
Calculate 127 + sample earlier
|
2022-05-04 18:06:11 +01:00 |
|
Gwilym Kuiper
|
3fea9aada0
|
Somehow reduce clamp_s8 by 1 instruction
|
2022-05-04 17:58:24 +01:00 |
|
Gwilym Kuiper
|
0229b95d7c
|
Move macro definition
|
2022-05-04 16:59:17 +01:00 |
|
Gwilym Kuiper
|
73b8530240
|
Reduce register usage
|
2022-05-04 16:58:46 +01:00 |
|
Gwilym Kuiper
|
3b9909ad5b
|
Add comment about how silly the implementation of gba_offset is
|
2022-05-03 23:43:08 +01:00 |
|
Gwilym Kuiper
|
2853d34b30
|
Correctly render different sized backgrounds and make HTTW have
pointlessly different sized backgrounds to test it properly
|
2022-05-03 23:42:11 +01:00 |
|
Gwilym Kuiper
|
5211781429
|
Rename rem_euclid functions
|
2022-05-03 23:23:55 +01:00 |
|
Gwilym Kuiper
|
be650779e6
|
Correctly allocate screenblocks
|
2022-05-03 23:23:25 +01:00 |
|
Gwilym Kuiper
|
ae65af4ca2
|
Make rem_euclid_* return a u16
|
2022-05-03 23:03:23 +01:00 |
|
Gwilym Kuiper
|
817e1e305e
|
Add rem_euclid_*_px for pixel calculations
|
2022-05-03 23:00:31 +01:00 |
|
Gwilym Kuiper
|
4d3d2acd3b
|
This should always be 32
|
2022-05-03 22:55:50 +01:00 |
|
Gwilym Kuiper
|
5513c8566f
|
Replace calls to rem_euclid with unknown denominator with simple &
|
2022-05-03 22:46:01 +01:00 |
|
Gwilym Kuiper
|
fae71bfbca
|
Fix all the examples
|
2022-05-03 22:29:51 +01:00 |
|
Gwilym Kuiper
|
4f2eddb367
|
Actually set the correct flag
|
2022-05-03 21:51:00 +01:00 |
|
Gwilym Kuiper
|
cc57dcf649
|
Fix compile errors
|
2022-05-03 21:48:08 +01:00 |
|
Gwilym Kuiper
|
384a5bc887
|
Remove a bunch of hard coded widths and heights
|
2022-05-03 21:46:32 +01:00 |
|
Gwilym Kuiper
|
d514aafad4
|
Pass through the size
|
2022-05-03 21:34:41 +01:00 |
|
Gwilym Kuiper
|
5dd0c61808
|
Derive normal stuff on an enum
|
2022-05-03 21:30:32 +01:00 |
|
Gwilym Kuiper
|
288fa0c85e
|
Add an enum for tracking background size of regular tiles
|
2022-05-03 21:28:32 +01:00 |
|
Gwilym Kuiper
|
06f701af75
|
Merge pull request #224 from gwilymk/print-warnings-for-assembler
Print warnings for assembler
|
2022-04-26 22:27:31 +01:00 |
|
Gwilym Kuiper
|
94f66f74b1
|
Fix warning in assembly
|
2022-04-26 22:16:56 +01:00 |
|
Gwilym Kuiper
|
c3bfe83f6b
|
Collect warnings to print them
|
2022-04-26 22:15:32 +01:00 |
|
Gwilym Kuiper
|
0761132779
|
Range of a signed byte is -128 - 127...
|
2022-04-26 21:22:50 +01:00 |
|
Gwilym Kuiper
|
921e2e9adf
|
Calculate 32-bits at a time, since we're storing into IWRAM
|
2022-04-26 21:17:07 +01:00 |
|
Gwilym Kuiper
|
245cafa599
|
Calculate 2 samples per loop
|
2022-04-26 21:08:22 +01:00 |
|
Gwilym Kuiper
|
260f664c36
|
Extract to macro
|
2022-04-26 21:04:33 +01:00 |
|
Gwilym Kuiper
|
61ed2b905d
|
Allow warnings when developing, but still fail CI
|
2022-04-24 17:07:43 +01:00 |
|
Gwilym Kuiper
|
563138937e
|
Fix set_background_palette (not sure why dma wasn't working)
|
2022-04-23 23:26:47 +01:00 |
|
Gwilym Kuiper
|
178db91072
|
Add gc step for tiles
|
2022-04-23 23:03:02 +01:00 |
|
Gwilym Kuiper
|
7688316034
|
Add a gc step in commit
|
2022-04-23 22:58:25 +01:00 |
|
Gwilym Kuiper
|
a562a4f600
|
Print frame which shows issue
|
2022-04-23 22:48:05 +01:00 |
|
Gwilym Kuiper
|
85c3287680
|
Run clippy on examples and tests
|
2022-04-23 21:03:37 +01:00 |
|
Gwilym Kuiper
|
1593c0e8b6
|
Move clippy deny to config.toml and fix warnings
|
2022-04-23 17:10:29 +01:00 |
|
Gwilym Kuiper
|
a32bb2125b
|
Remove deny clippy::all from lib.rs to ensure it always builds for users
|
2022-04-23 16:26:42 +01:00 |
|
Gwilym Kuiper
|
fb197d3e79
|
Store font data more compressed
|
2022-04-23 15:42:08 +01:00 |
|
Gwilym Kuiper
|
1b71ef6473
|
Add test for font output
|
2022-04-23 15:33:57 +01:00 |
|
Gwilym Kuiper
|
6485cc895a
|
Extract method
|
2022-04-23 14:34:34 +01:00 |
|
Gwilym Kuiper
|
fec4015978
|
Remove hash map lookup for every pixel rendered
|
2022-04-23 14:30:46 +01:00 |
|
Gwilym Kuiper
|
6d0f95c21b
|
Merge pull request #214 from gwilymk/random-number-generator
Random number generator
|
2022-04-11 22:20:16 +01:00 |
|
Gwilym Kuiper
|
dc62ba4467
|
Rename rng::next to rng::gen
|
2022-04-11 22:07:31 +01:00 |
|
Gwilym Kuiper
|
f304412053
|
Use unsigned_abs to satisfy clippy
|
2022-04-11 21:15:17 +01:00 |
|
Gwilym Kuiper
|
d56e4d5888
|
Correctly remove dynamic tiles if not committing a text renderer
|
2022-04-07 23:07:58 +01:00 |
|
Gwilym Kuiper
|
dc4ccee451
|
Add a commit method for text_render
|
2022-04-07 23:01:01 +01:00 |
|
Gwilym Kuiper
|
5701667f53
|
Avoid overwriting text on the line above
|
2022-04-07 22:56:28 +01:00 |
|
Corwin
|
f7ef25f3f0
|
Merge pull request #209 from corwinkuiper/z-ordered-sprites
Z ordered sprites
|
2022-04-07 22:46:26 +01:00 |
|
Corwin
|
859029a7a9
|
delete sprites during commit
|
2022-04-06 23:55:13 +01:00 |
|
Gwilym Kuiper
|
82c5ebf426
|
Use a core::fmt::Write instead
|
2022-04-06 21:13:57 +01:00 |
|
Gwilym Kuiper
|
a0013096cc
|
Remove argument
|
2022-04-05 23:43:35 +01:00 |
|
Gwilym Kuiper
|
f3c467c2f1
|
set_background_palette seems inconsistent between release and debug mode :/
|
2022-04-05 23:39:06 +01:00 |
|
Gwilym Kuiper
|
45e18d5cc7
|
Use a better example font which isn't monospace
|
2022-04-05 23:35:18 +01:00 |
|
Gwilym Kuiper
|
5c24e4089a
|
Minimise generated dynamic tiles by using a hashmap
|
2022-04-05 23:11:32 +01:00 |
|
Gwilym Kuiper
|
22f89ed9e2
|
Return the bounding box
|
2022-04-05 23:03:56 +01:00 |
|
Gwilym Kuiper
|
1f65f94ee3
|
Support rendering multiple lines
|
2022-04-05 23:03:10 +01:00 |
|
Gwilym Kuiper
|
8a1a433f99
|
Replace returning number of lines printed to x width
|
2022-04-05 22:49:34 +01:00 |
|
Gwilym Kuiper
|
6bea61bb7a
|
Update the dynamic tiles example
|
2022-04-05 22:48:03 +01:00 |
|
Gwilym Kuiper
|
2c2931fa97
|
Handle the height of letters correctly
|
2022-04-05 22:44:32 +01:00 |
|
Gwilym Kuiper
|
e7e35f8ad8
|
Take xmin into account
|
2022-04-05 22:35:45 +01:00 |
|
Gwilym Kuiper
|
a6f5cc9ec1
|
Render some text
|
2022-04-05 22:32:11 +01:00 |
|
Corwin
|
845076d0b4
|
add a test exploring some usage
|
2022-04-05 21:30:38 +01:00 |
|
Corwin
|
454bb872c9
|
resolve some unsoundness
|
2022-04-04 23:02:06 +01:00 |
|
Gwilym Kuiper
|
c3a64690cd
|
Merge pull request #207 from gwilymk/dynamic-tileset
Add a slightly crappy dynamic tiles API
|
2022-04-04 20:41:16 +01:00 |
|
Corwin
|
a4979ac847
|
better handling of sprites
|
2022-04-04 20:29:00 +01:00 |
|
Corwin
|
3e3039a7f6
|
update games
|
2022-04-03 21:20:20 +01:00 |
|
Corwin
|
2ef1dd0bf2
|
z ordering moving to a global controller state
|
2022-04-03 21:20:13 +01:00 |
|
Corwin
|
a73e27dc7e
|
pull out reference to a global static
this is very unsafe, but saves quite a bit of memory.
|
2022-04-03 18:15:31 +01:00 |
|
Gwilym Kuiper
|
3fd0b53350
|
Merge pull request #206 from corwinkuiper/send-sync
add send sync requirement
|
2022-04-01 00:01:09 +01:00 |
|
Gwilym Kuiper
|
441c839ba7
|
Add a slightly crappy dynamic tiles API
|
2022-03-31 23:58:28 +01:00 |
|
Corwin
|
f05791b5dc
|
add send sync requirement
|
2022-03-31 22:59:23 +01:00 |
|
Gwilym Kuiper
|
f6ae4f731b
|
Release agb v0.9.2
|
2022-03-28 22:50:36 +01:00 |
|
Gwilym Kuiper
|
394c02f704
|
Release agb v0.9.1
|
2022-03-28 22:44:33 +01:00 |
|
Gwilym Kuiper
|
a97dcb2d2e
|
Release agb v0.9.0
|
2022-03-28 22:33:22 +01:00 |
|
Gwilym Kuiper
|
8eb4b99045
|
Release agb-fixnum v0.2.1
|
2022-03-28 22:30:51 +01:00 |
|
Gwilym Kuiper
|
021fdda997
|
Release agb-fixnum v0.2.0
|
2022-03-28 22:27:19 +01:00 |
|
Gwilym Kuiper
|
c1cfb9910a
|
Release agb-sound-converter v0.2.0
|
2022-03-28 22:24:07 +01:00 |
|
Gwilym Kuiper
|
78dc3ac57f
|
Release agb-image-converter v0.7.0
|
2022-03-28 22:21:45 +01:00 |
|
Gwilym Kuiper
|
942da6ebf7
|
Release agb-macros v0.2.0
|
2022-03-28 22:18:22 +01:00 |
|
Gwilym Kuiper
|
770ebe508b
|
Merge pull request #204 from gwilymk/remove-enable-sprites-in-background
Don't need to enable objects in tiled background any more
|
2022-03-28 22:06:07 +01:00 |
|
Gwilym Kuiper
|
14cd1e52c4
|
Make the screen visible when enabling a tiled mode
|
2022-03-28 21:53:54 +01:00 |
|
Gwilym Kuiper
|
d055cbd59c
|
Don't need to enable objects in tiled background any more
|
2022-03-28 21:43:53 +01:00 |
|
Gwilym Kuiper
|
93e14ec961
|
Extract out a struct for tile with reference count
|
2022-03-28 21:34:31 +01:00 |
|
Gwilym Kuiper
|
d15f582aba
|
Simplify type
|
2022-03-28 21:27:40 +01:00 |
|
Gwilym Kuiper
|
003c0d7e1a
|
Update the games to use the new method
|
2022-03-28 21:21:06 +01:00 |
|
Gwilym Kuiper
|
16ea04d012
|
Remove tile set ref in agb
|
2022-03-28 20:53:05 +01:00 |
|
Gwilym Kuiper
|
9e8318cdf9
|
Rearrange methods to make a bit more sense
|
2022-03-27 21:38:12 +01:00 |
|
Gwilym Kuiper
|
c1cbb442a1
|
Also use the new method in add_tile
|
2022-03-27 21:37:49 +01:00 |
|
Gwilym Kuiper
|
4b8f41140e
|
Extract method for copying a tile to location
|
2022-03-27 21:37:14 +01:00 |
|
Gwilym Kuiper
|
d2dceeb656
|
Add super simple animated tiles
|
2022-03-27 21:32:37 +01:00 |
|
Gwilym Kuiper
|
15e441b087
|
Remove the division on every insert operation
|
2022-03-24 18:31:18 +00:00 |
|
Gwilym Kuiper
|
a57043604d
|
Add some tests for the rng
|
2022-03-23 22:05:41 +00:00 |
|
Gwilym Kuiper
|
3c52f6940b
|
Add new_with_seed method
|
2022-03-23 21:53:09 +00:00 |
|
Gwilym Kuiper
|
610722a1bf
|
Extract the random number generator
|
2022-03-23 21:52:37 +00:00 |
|
Gwilym Kuiper
|
9752377a15
|
Move the random number generator to a crate level thing
|
2022-03-23 21:46:59 +00:00 |
|
Gwilym Kuiper
|
ca57b61525
|
Remove fere_affine_matricies for now
|
2022-03-23 20:44:28 +00:00 |
|
Gwilym Kuiper
|
1f053c987a
|
Fix warnings in chicken.rs
|
2022-03-23 20:43:38 +00:00 |
|
Gwilym Kuiper
|
b44b42de1d
|
Remove unused num_tiles method
|
2022-03-23 20:42:51 +00:00 |
|
Gwilym Kuiper
|
13de08dce7
|
cargo fix
|
2022-03-23 20:42:31 +00:00 |
|
Gwilym Kuiper
|
631bbed5c7
|
Rename get_data_end to data_end
|
2022-03-23 20:42:01 +00:00 |
|
Gwilym Kuiper
|
81853c6c99
|
Rename get_colour to colour
|
2022-03-23 20:41:24 +00:00 |
|
Gwilym Kuiper
|
123e8caaa4
|
Remove unused get_palette method
|
2022-03-23 20:40:15 +00:00 |
|
Gwilym Kuiper
|
77eba9b637
|
Remove get_ prefix in program_counter_before_interrupt
|
2022-03-23 20:39:41 +00:00 |
|
Gwilym Kuiper
|
f1fd5859f3
|
Rename a few methods in object.rs to remove get_ prefix
|
2022-03-23 20:37:59 +00:00 |
|
Gwilym Kuiper
|
1f28499efb
|
Rename get_as_bits to remove get_ prefix
|
2022-03-23 20:37:00 +00:00 |
|
Gwilym Kuiper
|
9ba455ca35
|
Remove the unused arena module
|
2022-03-23 20:35:58 +00:00 |
|
Gwilym Kuiper
|
3e34509049
|
Rename get_object to object
|
2022-03-23 20:34:55 +00:00 |
|
Gwilym Kuiper
|
5791d033ef
|
Rename get_sprite and get_animation_sprite to remove get_ prefix
|
2022-03-23 20:32:29 +00:00 |
|
Gwilym Kuiper
|
35c7c48f73
|
Rename get_write_buffer -> write_buffer
|
2022-03-23 20:26:43 +00:00 |
|
Gwilym Kuiper
|
b91f129636
|
Remove get_ methods for tiled
|
2022-03-23 20:26:18 +00:00 |
|
Gwilym Kuiper
|
8427bb5595
|
Remove get_ from timer functions
|
2022-03-23 20:24:22 +00:00 |
|
Gwilym Kuiper
|
c698f858bb
|
Rename get_distance to distance
|
2022-03-23 20:22:58 +00:00 |
|
Gwilym Kuiper
|
84b7317380
|
Rename get_location to location
|
2022-03-23 20:22:37 +00:00 |
|
Gwilym Kuiper
|
48ddda9ae9
|
Rename get_channel to channel
|
2022-03-23 20:21:54 +00:00 |
|
Corwin
|
518f73c01e
|
Merge pull request #189 from corwinkuiper/perfectly-poor-profiler
Problematic poor person's profiler
|
2022-03-22 22:26:29 +00:00 |
|
Corwin
|
adffcc6773
|
add comment on profiler
|
2022-03-22 22:08:59 +00:00 |
|
Corwin
|
ac9826c4d7
|
move profiler to be a function
|
2022-03-22 09:39:03 +00:00 |
|
Gwilym Kuiper
|
1c33c8544e
|
Seems range inclusive doesn't optimise very well...
|
2022-03-21 23:16:02 +00:00 |
|
Gwilym Kuiper
|
451868723f
|
Add dealloc_no_normalise
|
2022-03-21 23:01:38 +00:00 |
|
Gwilym Kuiper
|
e6d47afa31
|
Use a hash map rather than an array in vram manager
|
2022-03-21 22:58:16 +00:00 |
|
Gwilym Kuiper
|
9170acb1a8
|
Update agb to handle the new agb-image-converter output
|
2022-03-21 22:57:17 +00:00 |
|
Corwin
|
4bec0d073f
|
The poor profiler
|
2022-03-21 22:34:15 +00:00 |
|
Corwin
|
3c09a86f88
|
Merge pull request #198 from corwinkuiper/boxed-interrupts
Boxed interrupts
|
2022-03-21 22:33:06 +00:00 |
|
Corwin
|
aa0337941a
|
add docs
|
2022-03-21 22:19:07 +00:00 |
|
Corwin
|
f312ff7df8
|
enable interrupts at initialisation
|
2022-03-21 21:57:46 +00:00 |
|
Corwin
|
c74707b1a6
|
update examples
|
2022-03-21 21:52:46 +00:00 |
|
Corwin
|
1f3d3380f1
|
switch interrupts to be in boxes
|
2022-03-21 21:52:39 +00:00 |
|
Gwilym Kuiper
|
e6fb67503b
|
Add a comment explaining where the docs came from
|
2022-03-21 21:18:56 +00:00 |
|
Gwilym Kuiper
|
447554c295
|
Add loads of doc comments
|
2022-03-21 21:16:36 +00:00 |
|
Gwilym Kuiper
|
c7db20c1df
|
Implement insert correctly
|
2022-03-21 20:42:07 +00:00 |
|
Gwilym Kuiper
|
24b61f51fe
|
Implement more of the standard rust API
|
2022-03-21 20:33:48 +00:00 |
|
Gwilym Kuiper
|
4a1d99f143
|
Implement Index and FromIterator and add some tests lifted from rust stdlib
|
2022-03-20 15:38:39 +00:00 |
|
Gwilym Kuiper
|
2b75ce6cbd
|
Implement all of VacantEntry
|
2022-03-20 15:14:44 +00:00 |
|
Gwilym Kuiper
|
6bc3816b29
|
Fully implement OccupiedEntry
|
2022-03-20 15:13:22 +00:00 |
|
Gwilym Kuiper
|
631e1e9bc2
|
Start implementing the individual entry types
|
2022-03-20 15:07:25 +00:00 |
|
Gwilym Kuiper
|
921a338c59
|
Implement the entirity of the entry api
|
2022-03-20 14:54:53 +00:00 |
|
Gwilym Kuiper
|
2706b2494d
|
Some wiggling
|
2022-03-20 14:22:43 +00:00 |
|
Gwilym Kuiper
|
86635752af
|
Also implement or_insert_with_key
|
2022-03-20 14:21:45 +00:00 |
|
Gwilym Kuiper
|
ab80f200e8
|
Encaspulate a bit better
|
2022-03-20 14:15:24 +00:00 |
|
Gwilym Kuiper
|
9bfb8de481
|
Wrap distance_to_initial_bucket a bit better
|
2022-03-20 14:14:22 +00:00 |
|
Gwilym Kuiper
|
3f624ee87d
|
Fail test in extreme case test if we drop twice
|
2022-03-20 14:10:38 +00:00 |
|
Gwilym Kuiper
|
9df79a16bd
|
Replace slightly dodgy replace code
|
2022-03-20 14:04:27 +00:00 |
|
Gwilym Kuiper
|
bde36c7019
|
Invert the order of the HashMap, Node and NodeStorage
|
2022-03-20 13:59:01 +00:00 |
|
Gwilym Kuiper
|
e0d829a4fc
|
Rename get_value_ref and get_value_mut to remove get
|
2022-03-20 13:57:41 +00:00 |
|
Gwilym Kuiper
|
86760f76ac
|
Move resize to a more sensible place
|
2022-03-20 13:50:04 +00:00 |
|
Gwilym Kuiper
|
e9c56327b1
|
Avoid duplicating constant
|
2022-03-20 13:43:31 +00:00 |
|
Gwilym Kuiper
|
3ae0e30d3c
|
Correctly drop key on override
|
2022-03-20 13:42:28 +00:00 |
|
Gwilym Kuiper
|
9c7d9520a7
|
Add test that we drop the key on override
|
2022-03-20 13:41:31 +00:00 |
|
Gwilym Kuiper
|
d4ed1cd2fa
|
Allow swapping out the hasher
|
2022-03-19 23:13:02 +00:00 |
|
Gwilym Kuiper
|
e68a4d373f
|
Replace .map().flatten() with .and_then()
|
2022-03-19 23:10:12 +00:00 |
|
Gwilym Kuiper
|
280e7f876d
|
Add some drop tests
|
2022-03-19 23:09:21 +00:00 |
|
Gwilym Kuiper
|
ee983ef7ec
|
Use MaybeUninit to reduce memory usage by half
|
2022-03-19 23:09:21 +00:00 |
|
Gwilym Kuiper
|
cd9798d01f
|
Move the implementation of get_location to NodeStorage
|
2022-03-19 23:09:21 +00:00 |
|
Gwilym Kuiper
|
321702531b
|
Move number_of_items to NodeStorage
|
2022-03-19 23:09:21 +00:00 |
|
Gwilym Kuiper
|
0e89f9190f
|
Rename NodeStorage.len() to NodeStorage.capacity()
|
2022-03-19 23:09:21 +00:00 |
|
Gwilym Kuiper
|
fdc2172b3d
|
Move max_distance_to_initial_bucket to NodeStorage
|
2022-03-19 23:09:21 +00:00 |
|
Gwilym Kuiper
|
cc53b0a911
|
Change distance_to_initial_bucket to be an i32
|
2022-03-19 23:09:21 +00:00 |
|
Gwilym Kuiper
|
ff709d9d57
|
Use .drain(..).flatten()
|
2022-03-19 23:09:21 +00:00 |
|
Gwilym Kuiper
|
e9d3c6e5c4
|
Fix clippy lint that we should define is_empty
|
2022-03-19 23:09:21 +00:00 |
|
Gwilym Kuiper
|
eb00563b09
|
Add extreme test case and fix bug causing disappearing entries
|
2022-03-19 23:09:21 +00:00 |
|
Gwilym Kuiper
|
89cc00f8cf
|
Sized is implied
|
2022-03-19 23:09:21 +00:00 |
|
Gwilym Kuiper
|
a6c7eaec1a
|
Correctly calculate new distance to initial bucket
|
2022-03-19 23:09:21 +00:00 |
|
Gwilym Kuiper
|
12dab0c3ba
|
Fix issue where we weren't considering 0 distance correctly
|
2022-03-19 23:09:21 +00:00 |
|
Gwilym Kuiper
|
f7eb1866c2
|
Remove hashbrown from object.rs
|
2022-03-19 23:09:20 +00:00 |
|
Gwilym Kuiper
|
5edd46e085
|
Add default implementation
|
2022-03-19 23:08:45 +00:00 |
|
Gwilym Kuiper
|
6ff4cbe4f1
|
Rename put to insert
|
2022-03-19 23:08:45 +00:00 |
|
Gwilym Kuiper
|
a9115c23e8
|
Allow for resizing
|
2022-03-19 23:08:45 +00:00 |
|
Gwilym Kuiper
|
8d976b49bc
|
Extract a node_storage
|
2022-03-19 23:08:45 +00:00 |
|
Gwilym Kuiper
|
e999b44c67
|
Put nodes in a NodeStorage
|
2022-03-19 23:08:45 +00:00 |
|
Gwilym Kuiper
|
03f5cd0953
|
Add with_capacity method
|
2022-03-19 23:08:45 +00:00 |
|
Gwilym Kuiper
|
c0d9f0ab41
|
Correctly initialise to 16 elements
|
2022-03-19 23:08:45 +00:00 |
|
Gwilym Kuiper
|
bfdca7117d
|
Make fast_mod constant
|
2022-03-19 23:08:45 +00:00 |
|
Gwilym Kuiper
|
dd5aad0de5
|
Make HashMap struct public
|
2022-03-19 23:08:45 +00:00 |
|
Gwilym Kuiper
|
05b8accaec
|
Make the hash_map mod public
|
2022-03-19 23:08:45 +00:00 |
|
Gwilym Kuiper
|
a459a4811c
|
Add test for iterating through all entries
|
2022-03-19 23:08:45 +00:00 |
|
Gwilym Kuiper
|
bfebba1ec1
|
Implement remove
|
2022-03-19 23:08:45 +00:00 |
|
Gwilym Kuiper
|
019872b8cc
|
Really basic hash map which you can only add stuff to
|
2022-03-19 23:08:45 +00:00 |
|
Corwin
|
82922abddb
|
Merge pull request #188 from corwinkuiper/crate-version-numbers
be less specific in version numbers
|
2022-03-19 15:19:28 +00:00 |
|
Gwilym Kuiper
|
60657126ad
|
Add comment about the #[allow]
|
2022-03-18 22:02:07 +00:00 |
|
Gwilym Kuiper
|
ccdb0e4921
|
Add an allow for the clippy bug
|
2022-03-18 22:01:02 +00:00 |
|
Gwilym Kuiper
|
7ae565b2c3
|
Remove unused import
|
2022-03-18 21:53:30 +00:00 |
|
Corwin
|
9d0fa2f40e
|
even less specific
|
2022-03-18 21:35:32 +00:00 |
|
Gwilym Kuiper
|
add3ccd5fb
|
Merge pull request #186 from gwilymk/fail-build-if-there-is-an-error
Fail build if there is an error
|
2022-03-13 20:22:45 +00:00 |
|
Gwilym Kuiper
|
ec8d692029
|
Merge pull request #185 from gwilymk/use-dma-in-objects
Use dma in objects
|
2022-03-13 20:14:23 +00:00 |
|
Gwilym Kuiper
|
b88ad5cba5
|
VRamManager should definitely not have a public new
|
2022-03-13 20:12:49 +00:00 |
|
Gwilym Kuiper
|
5bf78f6274
|
Also for raw copy
|
2022-03-13 19:53:55 +00:00 |
|
Gwilym Kuiper
|
ef8b2edc63
|
Also dma the palette in backgrounds
|
2022-03-13 19:53:07 +00:00 |
|
Gwilym Kuiper
|
989fcea1d0
|
Fix typo in exception
|
2022-03-13 19:43:03 +00:00 |
|
Gwilym Kuiper
|
ea3d3d4936
|
Rename dma_copy to dma_copy16
|
2022-03-13 19:37:27 +00:00 |
|
Gwilym Kuiper
|
056a38703d
|
Use dma in objects
|
2022-03-13 19:37:08 +00:00 |
|
Gwilym Kuiper
|
50ce96ac82
|
Delete library cargo.locks
|
2022-03-12 23:39:58 +00:00 |
|
Gwilym Kuiper
|
3710d9ad1c
|
Merge pull request #182 from gwilymk/better-backgrounds-gwilym
Improve background management
|
2022-03-12 23:26:42 +00:00 |
|
Corwin
|
44c7a93fa3
|
use new api
|
2022-03-12 17:36:38 +00:00 |
|
Corwin
|
e2bb5cc5c9
|
add panicing and try variants of api
|
2022-03-12 17:36:30 +00:00 |
|
Gwilym Kuiper
|
87c5d6ca6a
|
Use the new allocator
|
2022-03-11 21:49:23 +00:00 |
|
GBA bot
|
3482697a25
|
Update lockfiles
|
2022-03-08 00:28:19 +00:00 |
|
Renovate Bot
|
ba0ce97e5a
|
Update Rust crate rustc-hash to 1.1
|
2022-03-08 00:27:15 +00:00 |
|
Gwilym Kuiper
|
cdd77afe22
|
Merge remote-tracking branch 'origin/master' into better-backgrounds-gwilym
|
2022-03-07 22:41:11 +00:00 |
|
Corwin
|
eb6b2ac5a8
|
initialise to correct values
|
2022-03-07 22:03:49 +00:00 |
|
Corwin
|
8c2931aca5
|
remove unused import
|
2022-03-07 20:40:53 +00:00 |
|
Corwin
|
40c4a26cb1
|
update example
|
2022-03-07 20:38:13 +00:00 |
|
Corwin
|
8f7e7748e2
|
Graphics
|
2022-03-07 20:38:06 +00:00 |
|
Corwin
|
6f064b0d99
|
update lock files
|
2022-03-06 13:45:16 +00:00 |
|
Corwin
|
4c57f85acd
|
Inline the modulos
|
2022-03-06 13:37:09 +00:00 |
|
Corwin
|
900cd007df
|
pull out constants
|
2022-03-06 13:37:07 +00:00 |
|
Corwin
|
c55ff3f714
|
const fnify
|
2022-03-06 13:36:50 +00:00 |
|
Corwin
|
8a6f341421
|
update hat chooses wizard
|
2022-03-06 13:36:26 +00:00 |
|
Corwin
|
4780b8525d
|
remove unused import
|
2022-03-06 13:31:56 +00:00 |
|
Corwin
|
592a0814f8
|
non optional feature alloc
|
2022-03-06 13:31:56 +00:00 |
|
Corwin
|
84e6af5d2f
|
load aseprite files directly with asefile
|
2022-03-06 13:31:56 +00:00 |
|
Corwin
|
02e6194073
|
make fields private
|
2022-03-06 13:31:56 +00:00 |
|
Corwin
|
6bafa3ebab
|
use public api
|
2022-03-06 13:31:56 +00:00 |
|
Corwin
|
ecf31fa833
|
load multiple
|
2022-03-06 13:31:56 +00:00 |
|
Corwin
|
b3db55330a
|
sprites example
|
2022-03-06 13:31:56 +00:00 |
|
Corwin
|
25da2a2711
|
expose the inner proc macro in a macro rules
|
2022-03-06 13:31:56 +00:00 |
|
Corwin
|
efe67423c1
|
use the types
|
2022-03-06 13:31:56 +00:00 |
|
Corwin
|
16ff9b8ec1
|
types for nice sprite import and usage
|
2022-03-06 13:31:54 +00:00 |
|
Corwin
|
80e53d4716
|
volatile writes
|
2022-03-06 13:31:36 +00:00 |
|
Corwin
|
c1901819af
|
unblank screen on object init
|
2022-03-06 13:31:36 +00:00 |
|
Corwin
|
45823273ac
|
satisfy linter
|
2022-03-06 13:31:36 +00:00 |
|
Corwin
|
da9a15402e
|
use more efficient hash function
|
2022-03-06 13:31:36 +00:00 |
|
Corwin
|
8792146ddb
|
use correct copys
|
2022-03-06 13:31:36 +00:00 |
|
Corwin
|
ae681019bb
|
set palette location on sprite change
|
2022-03-06 13:31:36 +00:00 |
|
Corwin
|
2a7b350f57
|
objects now exist and work
|
2022-03-06 13:31:36 +00:00 |
|
Corwin
|
a1b67e107f
|
object controller implementations
|
2022-03-06 13:31:36 +00:00 |
|
Corwin
|
836143e1f4
|
copy the sprite and palette data
|
2022-03-06 13:31:36 +00:00 |
|
Corwin
|
d764ff9900
|
allocate palettes too
|
2022-03-06 13:31:36 +00:00 |
|
Corwin
|
6a2c9d8826
|
add some sprite allocation
|
2022-03-06 13:31:36 +00:00 |
|
Corwin
|
93d994360e
|
make alloc and dealloc public
|
2022-03-06 13:31:36 +00:00 |
|