Commit graph

3357 commits

Author SHA1 Message Date
Gwilym Inzani
4fc4eab83b Give amplitude the same build settings as the other games
Makes the build faster
2023-06-30 22:09:06 +01:00
GBA bot
28683e701f Update lockfiles 2023-06-30 22:03:31 +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
92e31aef35
Save useless zeroing of buffer (#451)
I realised we don't need to zero the buffer or read the current buffer
value for the first sound that we're writing per frame. Gets us from
17728 cycles per frame for 32768Hz down to 15291 cycles per frame.

From tests (and theory), this reduces the number of cycles per frame by
2,000 for 32768Hz.

- [x] No changelog update needed - already mentioned mixer improvements
there
2023-06-27 23:52:05 +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
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