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
Gwilym Inzani
938b052997
Schedule nightly run to be at 6:10 rather than 5:10
...
Occasionally, miri was't available yet. So we go with a 6:10 run to give it a chance to be installed.
2023-06-25 16:07:59 +01:00
Gwilym Inzani
c3268e3de2
Even faster mixer ( #447 )
...
If you do an ldmia for loading lots of samples at once, the mixer uses
significantly less CPU (10% compared to previous, 19800 cycles per frame
-> 17701 cycles per frame for 32768Hz).
I've also added a really simple unit test for the `collapse` function to
at least gain some confidence in it.
- [x] Changelog updated / no changelog update needed
2023-06-20 22:04:16 +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
0e3fe2c49a
add a changelog entry
2023-06-18 16:43:00 +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
Gwilym Inzani
6cf3ecaf36
Don't need to save r9
2023-06-16 22:11:44 +01:00
Corwin
20a7c262e9
add optimisation for 64 bit upcast multiply ( #444 )
...
This is really good now!
- [x] Changelog updated / no changelog update needed
2023-06-06 23:15:38 +01:00
Corwin
2a21c5fdab
add optimisation for 64 bit upcast multiply
2023-06-06 23:00:17 +01:00
Corwin
28e3a7faf4
Resolve stutter upon switching to dice customise screen ( #442 )
...
1. Dealloc now uses the normal dealloc procedure.
* Better because normalisation is quick, O(1).
* More normalisation means inserting into the list is faster.
2. Run sfx frame during the generation of upgrades (which can take an
unbounded amount of time).
* Both of these are required to remove the stuttering.
* It sounds really weird now that it works right :/
- [ ] Changelog updated / no changelog update needed
2023-06-05 21:01:12 +01:00
Corwin
80051a163a
Modify the enemy health rng by using a dice roll distribution ( #438 )
...
- [ ] Changelog updated / no changelog update needed
2023-06-05 21:01:04 +01:00
Corwin
a7269ed65f
Add precision support for fixnums ( #437 )
...
- [ ] Changelog updated / no changelog update needed
2023-06-05 21:00:54 +01:00
Corwin
53937b4fa8
Upcast multiply ( #436 )
...
- [ ] Changelog updated / no changelog update needed
2023-06-05 21:00:46 +01:00
Corwin
6b84833c4f
remove dealloc_no_normalise
2023-06-05 00:12:36 +01:00
Corwin
95a8804094
reset the number of attempts
2023-06-05 00:12:36 +01:00
Corwin
cbb0b7d2a0
resolve stutter
2023-06-05 00:12:36 +01:00
Corwin
083fd43ea3
just dealloc in gc
2023-06-05 00:12:36 +01:00
Corwin
80f5812039
make the letter "R" better ( #441 )
...
Hyperspace roll has a not great looking letter "R". Uses change made by
Gwilym.
- [x] no changelog update needed
2023-06-03 23:56:43 +01:00
Corwin
2b94ef0ac7
make the letter "R" better
2023-06-03 23:45:55 +01:00
Corwin
492643d0b5
Show health in hyperspace roll ( #440 )
...
Shows health in hyperspace roll
- [x] no changelog update needed
2023-06-03 23:39:04 +01:00
Corwin
95b28983ff
show health
2023-06-03 23:29:54 +01:00
Corwin
1c58a419ec
Hide objects by default ( #439 )
...
Fixes bug introduced in #430
- [x] no changelog update needed
2023-06-03 23:25:28 +01:00
Corwin
77c4741ee7
hide objects by default
2023-06-03 16:06:23 +01:00
Corwin
c011e58ec7
separate tests
2023-06-02 18:18:18 +01:00
Corwin
ae23f6fdf4
round towards nearest
2023-06-02 11:57:35 +01:00
Corwin
1d7acfb070
modify the enemy health rng by using a distribution
2023-06-02 01:24:37 +01:00
Corwin
6e0d58a674
add precision support for fixnums
2023-06-02 00:03:27 +01:00
Corwin
b5704afe5e
remove usize
2023-06-01 18:52:03 +01:00
Corwin
9fa8f75202
upcast multiply
2023-05-30 22:21:12 +01:00
Gwilym Inzani
da5aed83e3
Use bilge rather than modular-bitfield ( #430 )
...
Thought I'd give bilge a go rather than modular bitfield after reading
this blog post:
https://hecatia-elegua.github.io/blog/no-more-bit-fiddling/
- [ ] Changelog updated / no changelog update needed
2023-05-30 20:41:46 +01:00
Corwin
a178e28b77
Optimise Normalisation ( #435 )
...
This only optimises the relevant blocks during normalisation.
The benchmark in CI goes from 12023166 cycles to 9260517 cycles, a
decrease of 23%.
- [x] no changelog update needed
2023-05-26 18:23:33 +01:00
Corwin
7e111e0327
remove unused import
2023-05-25 19:30:38 +01:00