Commit graph

1385 commits

Author SHA1 Message Date
Gwilym Inzani 8ede32ea7b Mark the test as no_run rather than rust 2024-04-30 20:53:06 +01:00
Gwilym Inzani 37e9fe5066 Add a set_next method on OamIterator 2024-04-30 20:39:50 +01:00
Corwin fe972850e3
Allow customisation of the backtrace website (#647) 2024-04-23 20:38:46 +01:00
Corwin a65f6402be
fix url to point to us 2024-04-23 20:30:40 +01:00
Corwin 1c9e829bd1
have website not be an option 2024-04-23 20:09:35 +01:00
Gwilym Inzani 4243592f63
Make backtraces optional (#648)
You probably don't want backtraces if you're doing multiboot and in a
few other cases.

Also #646 broke the build if you didn't use the `testing` feature, so
I've updated the `justfile` so that a CI run checks that agb builds
correctly both without the `testing` feature and without the `backtrace`
feature. The `backtrace` feature implies the testing feature to make
things a bit simpler.

- [x] Changelog updated
2024-04-21 20:07:02 +01:00
Corwin 2560f2e15e
exclusive range 2024-04-21 16:31:41 +01:00
Gwilym Inzani 580afa9335 Make the backtrace feature optional 2024-04-20 20:28:10 +01:00
Corwin 91da2c926a
allow customisation of the backtrace website 2024-04-20 14:52:08 +01:00
Corwin 4419dfb0b5
Split mgba log if too big (#646)
- [x] Changelog updated
2024-04-20 00:21:11 +01:00
Corwin 7044c08100
large logs get split into multiple prints 2024-04-20 00:09:20 +01:00
Corwin e1a8b04616
add bounds check 2024-04-19 23:59:58 +01:00
Corwin c632eb4ea3
type use of rng 2024-04-09 22:03:33 +01:00
Corwin 32eb34f226
fix panic renderer 2024-04-09 21:58:49 +01:00
Corwin d6b32e511d
pub them in external mod 2024-04-09 21:57:26 +01:00
Corwin fb247aa8f2
move single file module out of directory 2024-04-09 21:52:04 +01:00
Corwin 10575f28a6
delay cell 2024-04-09 21:52:04 +01:00
Corwin 9fbd420089
add test that atomic read / write works 2024-04-09 21:52:04 +01:00
Corwin 2b4c4459e0
use portable atomics and other similar libraries 2024-04-09 21:52:00 +01:00
Gwilym Inzani e8aed8e376
Backtraces (#590)
Implements a very basic backtrace and the ability to format them

If you run the panic example and press A, you get:

```
[ERROR] GBA Debug: [failed]
[ERROR] GBA Debug: debug data: ce3-1ee7-1fb7-24d-1ad
[FATAL] GBA Debug: Error: panicked at src/memory_mapped.rs:101:24:
index out of bounds: the len is 240 but the index is 240
```

which you can then prettify with:

```
> agb-addr2line ../target/thumbv4t-none-eabi/debug/examples/panic 0ce3-1f57-2027-024d-01ad
0:	rust_begin_unwind <agb>/lib.rs:321
1:	core::panicking::panic_nounwind <core>/panicking.rs:151
2:	core::panicking::assert_failed_inner <core>/panicking.rs:321
3:	agb::memory_mapped::MemoryMapped2DArray<T,_,_>::set <agb>/memory_mapped.rs:101
	(inlined by) agb::display::bitmap3::Bitmap3::draw_point <agb>/display/bitmap3.rs:31
4:	main /home/gwilym/Projects/agb/agb/examples/panic.rs:15
```

- [ ] Changelog updated / no changelog update needed
2024-04-09 20:25:15 +01:00
Corwin 0d609f6d4a
satisfy linter 2024-04-06 02:36:02 +01:00
Gwilym Inzani 37ecd48a40 Add a message about the fact that the game crashed 2024-04-03 11:16:34 +01:00
Gwilym Inzani fe78711736 Alphabet should be static 2024-04-03 10:58:25 +01:00
Gwilym Inzani e21d06994f Add some tests which showed issues with the decoder 2024-04-03 10:58:06 +01:00
Gwilym Inzani 51de2ffa60 Don't need to import this macro 2024-04-02 23:38:43 +01:00
Gwilym Inzani e0d68eec15 Correctly render in release mode 2024-04-02 23:31:02 +01:00
Gwilym Inzani e5a8b39924 Print some extra useful information 2024-04-02 23:19:09 +01:00
Gwilym Inzani 6c9c23f79e Change what's being printed slightly 2024-04-02 22:37:23 +01:00
Gwilym Inzani e36145552f gwilym_encode the stack trace and generate a qr code for debugging 2024-04-02 22:24:58 +01:00
Gwilym Inzani 3f374f3e9c Print the entire backtrace 2024-04-01 14:05:22 +01:00
Gwilym Inzani 7708398981 Basic implementation of backtraces on panic 2024-04-01 13:05:39 +01:00
Gwilym Inzani 6fdd961b61
Kerning support (#588)
Some fonts look a bit weird if you don't do kerning.

@corwinkuiper can you check if I've done the correct thing for object
font rendering? I'm not entirely sure... Although it does render
correctly in my tests :D

- [x] Changelog updated / no changelog update needed
2024-03-29 15:17:18 +00:00
Corwin 184b11ed81
use static rather than const 2024-03-29 14:41:08 +00:00
Gwilym Inzani 2833045322 Add kerning support to the font rendering 2024-03-27 11:01:26 +00:00
Gwilym Inzani 232e5670d4 Say hello in japanese for the object_text_render example 2024-03-27 09:44:40 +00:00
Gwilym Inzani fa1de1fab7 Should be static 2024-03-27 09:30:41 +00:00
Gwilym Inzani f4efaf67a4 Add a japanese text rendering example 2024-03-27 09:26:11 +00:00
Gwilym Inzani a61fe79a6f Allow any character supported by the font 2024-03-27 09:21:06 +00:00
Gwilym Inzani dc8a6e3884 Add a japanese font to the examples ready for testing 2024-03-27 09:09:40 +00:00
Gwilym Inzani b25302f133 Add required doc comments 2024-03-13 14:28:48 +00:00
Gwilym Inzani 3c28324e83 Make the DMA module public 2024-03-13 14:24:14 +00:00
Corwin 9e63b2c46c
Release v0.19.1 2024-03-06 19:11:47 +00:00
Gwilym Inzani 7ebebb2942 Fix out by one in infinite scroll 2024-03-06 15:42:48 +00:00
Corwin 78146bc963
fix the incorrect copying of map tiles issue 2024-03-06 12:40:53 +00:00
Gwilym Inzani 66ec762855 Release v0.19.0 2024-03-06 09:33:58 +00:00
Gwilym Inzani 90fe94424f Add a doc entry for into_inner 2024-03-06 09:02:40 +00:00
Gwilym Inzani 569a1c0425 Add an into_inner() function on infinite scrolled map 2024-03-06 08:59:29 +00:00
Gwilym Inzani 42eadde631 Also add default implementation for InitOnce 2024-02-28 10:09:12 +00:00
Gwilym Inzani 941eb4ade1 Add missing default implementations 2024-02-28 09:55:55 +00:00
Gwilym Inzani 4ebab07d47 Manually copy the value when you set up hblank 2024-02-27 20:40:20 +00:00