Commit graph

1325 commits

Author SHA1 Message Date
xokz cf80e313b1
Update bitmap4.rs
colors of lower values can now overwrite colors of higher values.
2023-09-28 14:46:32 -04:00
Corwin 473181718b
remove outer loop 2023-09-14 13:28:00 +01:00
Corwin c12ae4b5d9
add safety comments to public unsafe functions 2023-09-14 12:44:34 +01:00
Gwilym Inzani 5b3248ec5a Massively improve the code generation around tile sizes 2023-09-06 08:51:47 +01:00
Gwilym Inzani ed2e7dec5c Let rust do the register allocation 2023-09-06 08:34:14 +01:00
Gwilym Inzani bb57298c54 This has better code generation 2023-09-06 00:37:23 +01:00
Gwilym Inzani 77445b304f Custom assembly as thumb 2023-09-06 00:23:01 +01:00
Gwilym Inzani e504b93fe3 Write a custom tile copy command 2023-09-05 23:52:35 +01:00
Gwilym Inzani 7431086b14 Try using memcpy4 for copying the tile data 2023-08-31 07:53:08 +01:00
Gwilym Inzani d3c32ce351 Minor optimisation for the show entire screen case 2023-08-31 07:53:01 +01:00
Gwilym Inzani 2c556f9ce8 Fix docs for real this time 2023-08-30 17:02:06 +01:00
Gwilym Inzani dc04785669 Fix doc examples 2023-08-30 16:46:05 +01:00
Gwilym Inzani 11fe4d92ac Delete the old toml file 2023-08-30 16:25:16 +01:00
Gwilym Inzani 3a1f8ed8ed Add a convienence fill_with method 2023-08-30 16:22:55 +01:00
Gwilym Inzani f0ddfc96b4 Reference the TRANSPARENT_TILE_INDEX in the definition of BLANK 2023-08-30 16:18:08 +01:00
Gwilym Inzani 6853d36a9c Dynamic tile can also return the setting directly 2023-08-30 16:14:51 +01:00
Gwilym Inzani 5cfa64030a Generate the tileset directly 2023-08-30 16:08:43 +01:00
Gwilym Inzani 9abfa7f8e1 Update documentation 2023-08-29 16:20:54 +01:00
Gwilym Inzani b5991d3ccc Copy all the tiles for a 256 colour map 2023-08-29 16:14:05 +01:00
Gwilym Inzani a865240308 Start fixing 256 colours 2023-08-29 16:07:50 +01:00
Gwilym Inzani 9db4230aee Better error if we run out of VRam 2023-08-29 15:34:07 +01:00
Gwilym Inzani c9bf56755a Also deduplicate for the dungeon puzzler 2023-08-29 15:17:50 +01:00
Gwilym Inzani 3d7d3f25a2 Update agb repo 2023-08-29 14:13:40 +01:00
Gwilym Inzani b5af3a3aff Generate tile settings instead of palette assignments 2023-08-29 14:07:19 +01:00
Gwilym Inzani dc46cfef45 If r2 < 4 don't overwrite all memory 2023-08-22 20:15:26 +01:00
Corwin 3430668bdd
change name of cycle measure function and remove from public api 2023-08-08 09:48:10 +01:00
Gwilym Inzani 11f71371e2 Be less happy with what we allow 2023-08-06 21:02:15 +01:00
Gwilym Inzani 46c9ebb855 Derive default to make bilge 2.0 happy (and may as well) 2023-08-06 21:02:15 +01:00
renovate[bot] 24070fdd18 Update Rust crate bilge to 0.2 2023-08-06 21:02:15 +01:00
Corwin ba62aca590
add example for saving 2023-08-05 11:53:14 +01:00
Gwilym Inzani 3da10f11be Use my new married name in all the places it appeared 2023-07-26 10:29:03 +01:00
Gwilym Inzani 9445a57f48 Channel counts as finished if the channel position reaches the end of the effect 2023-07-25 23:24:40 +01:00
Gwilym Inzani e8e5b31d42 No need to use a generic here any more 2023-07-25 00:50:47 +01:00
Gwilym Inzani f7b3aa8ecb Don't need lr to be saved since we're not using it 2023-07-25 00:27:20 +01:00
Gwilym Inzani 49b9a07a87 Give the same assembly treatment to mono sounds 2023-07-25 00:18:48 +01:00
Gwilym Inzani de666a54f9 Core loop for the tracker in assembly 2023-07-24 23:59:54 +01:00
Gwilym Inzani df75d1ce8c Fix build errors 2023-07-23 23:39:52 +01:00
Gwilym Inzani a4df095031 Improve accuracy of the panning and volume until the last second 2023-07-23 22:15:30 +01:00
Gwilym Inzani b593b90701 Get the docs building 2023-07-23 19:52:11 +01:00
Gwilym Inzani 352658f23f Fix clippy lints 2023-07-23 19:08:51 +01:00
Gwilym Inzani 1aa8e5fd33 Reintroduce the first special casing 2023-07-22 23:40:09 +01:00
Gwilym Inzani d6384a6886 This improves mixing performance by about 20% 2023-07-22 23:27:21 +01:00
Gwilym Inzani 03b5f2fafd Remove unused methods 2023-07-18 21:51:38 +01:00
Gwilym Inzani de085fc1ff Use wrapping add and mul 2023-07-18 21:37:01 +01:00
Gwilym Inzani 7861571a96 Correctly track restart point 2023-07-18 21:37:01 +01:00
Gwilym Inzani 1dd4c9fb83 Add a concept of a restart point 2023-07-18 21:37:01 +01:00
Gwilym Inzani c66f495cc7 Don't need loop labels any more 2023-07-18 21:37:01 +01:00
Gwilym Inzani d929a1689a Extract methods 2023-07-18 21:37:01 +01:00
Gwilym Inzani 938f05f8d1 Compile in release and make actually safe 2023-07-18 21:37:01 +01:00
Gwilym Inzani d4b2a2bc1a Fix crackly audio 2023-07-18 21:37:01 +01:00
Gwilym Inzani 8191de3546 Try a pure rust implementation to allow for looping correctly 2023-07-18 21:37:01 +01:00
Gwilym Inzani a61069fb60 Handle non multiple of 4 buffer sizes for mono 2023-07-18 21:37:01 +01:00
Gwilym Inzani eb8cb667c1 Extract to macros 2023-07-18 21:37:01 +01:00
Gwilym Inzani fc4632ca8a Only need to load the buffer size once 2023-07-18 21:37:01 +01:00
Gwilym Inzani d38fea7f7a Pass the buffer size rather than using the global variable for it 2023-07-18 21:37:01 +01:00
Corwin a7f9fdf011
Release v0.16.0 2023-07-18 18:55:12 +01:00
Corwin 1db3a61ee3
allow new clippy lint 2023-07-18 18:34:56 +01:00
Corwin 636e31aa91
uncomment out code 2023-07-04 22:35:12 +01:00
Corwin 3687f9b1a5
Merge remote-tracking branch 'upstream/master' into font-renderer 2023-07-04 22:27:06 +01:00
Corwin 0cd469866c
font get optimisation 2023-07-04 21:35:00 +01:00
Corwin 991bb644f9
timers around area of interest 2023-07-04 21:34:51 +01:00
Gwilym Inzani 14c6542e7b Clippy fix didn't delete a space 2023-07-04 20:37:26 +01:00
Gwilym Inzani 6fb7b74b35 Fix clippy lints from 04/07/2023 2023-07-04 20:10:01 +01:00
Corwin c5a7e9a25b
Merge remote-tracking branch 'upstream/master' into font-renderer 2023-07-02 14:59:07 +01:00
Corwin 318ee03c12
fix doclinks 2023-07-02 14:57:01 +01:00
Corwin b82ed16cc2
update test image 2023-07-02 14:55:30 +01:00
Corwin 5c0f855e1b
use newer rustfmt 2023-07-02 14:32:09 +01:00
Corwin fa7a71e0d3
add docs and export 2023-07-02 13:08:54 +01:00
Corwin 66a212f29a
remove unused 2023-07-02 13:08:44 +01:00
Corwin 9388098318
JUSTIFY 2023-07-02 00:38:52 +01:00
Corwin 9edbca582e
magic colour changing 2023-07-02 00:24:54 +01:00
Corwin 5f12040752
the proper nice okay working text rendering 2023-07-01 23:36:58 +01:00
Corwin ec3003c81d
garbage renderer 2023-07-01 19:12:39 +01:00
Corwin 93024f6bab
remove some unused bits 2023-06-29 20:04:27 +01:00
Corwin cf400029f5
caching layout 2023-06-29 00:10:21 +01:00
Corwin f947d82049
text rendering that supports different alignments 2023-06-28 20:29:09 +01:00
Gwilym Inzani 13f5fe01d7 Actually use the new first methods 2023-06-27 22:34:45 +01:00
Corwin d5d3d1a658
strip to bare renderer 2023-06-27 22:00:34 +01:00
Corwin 22b3497bb3
fix 2023-06-27 21:56:26 +01:00
Corwin fd82b259cc
dynamic sprite allocate directly into sprite vram 2023-06-27 21:56:09 +01:00
Gwilym Inzani 3b35061a3a Extract iterator to a variable 2023-06-27 21:51:59 +01:00
Gwilym Inzani 38868cb269 Extract even more from the loop body 2023-06-27 21:50:46 +01:00
Gwilym Inzani 57f0a8c889 Remove is_done check in for loop 2023-06-27 21:49:30 +01:00
Gwilym Inzani f4779208e3 Implement first cases for the non stereo 2023-06-27 21:48:01 +01:00
Gwilym Inzani e1d03929f9 Use local labels 2023-06-27 21:33:56 +01:00
Gwilym Inzani 306be59cde Add implementation for if this is the first 2023-06-27 21:31:06 +01:00
Corwin ce7bcacb3c
somewhat mad left align renderer 2023-06-26 23:47:19 +01:00
Corwin b75303863d
buffered text render 2023-06-26 17:10:42 +01:00
Corwin 87ac2fe53c
reuse dynamic sprite 2023-06-26 17:10:42 +01:00
Corwin b99fff7c8e
some object based text rendering 2023-06-26 17:10:03 +01:00
Corwin aa38a03ac9
add read pixel method 2023-06-26 17:10:03 +01:00
Corwin dbf7715e67 use assert_eq and collect 2023-06-20 21:52:07 +01:00
Corwin 389e3ecadb make test not reliant on coincidence alignment 2023-06-20 21:52:07 +01:00
Gwilym Inzani 5a374ba4f0 Add collapse test and fix bug uncovered by it 2023-06-18 16:29:02 +01:00
Gwilym Inzani b2dcd8c854 Pass buffer size as an argument 2023-06-18 16:02:14 +01:00
Gwilym Inzani ba18a0bf4a ldmia again 2023-06-16 23:43:37 +01:00
Gwilym Inzani e72de28961 Can I use movne here instead? 2023-06-16 23:41:15 +01:00
Gwilym Inzani ceb57eb002 r12 is a scratch register 2023-06-16 22:22:03 +01:00
Gwilym Inzani 334e70c664 Do multiple loads at once 2023-06-16 22:19:56 +01:00
Gwilym Inzani 9e08303e62 Extract a macro for this 2023-06-16 22:15:45 +01:00