mirror of
https://github.com/italicsjenga/agb.git
synced 2024-12-23 08:11:33 +11:00
Allow customisation of the backtrace website (#647)
This commit is contained in:
commit
fe972850e3
|
@ -11,6 +11,13 @@ use crate::{
|
||||||
|
|
||||||
mod text;
|
mod text;
|
||||||
|
|
||||||
|
static WEBSITE: &str = {
|
||||||
|
match core::option_env!("AGBRS_BACKTRACE_WEBSITE") {
|
||||||
|
Some(x) => x,
|
||||||
|
None => "https://agbrs.dev/crash#",
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
pub fn render_backtrace(trace: &backtrace::Frames, info: &PanicInfo) -> ! {
|
pub fn render_backtrace(trace: &backtrace::Frames, info: &PanicInfo) -> ! {
|
||||||
critical_section::with(|_cs| {
|
critical_section::with(|_cs| {
|
||||||
dma3_exclusive(|| {
|
dma3_exclusive(|| {
|
||||||
|
@ -20,7 +27,11 @@ pub fn render_backtrace(trace: &backtrace::Frames, info: &PanicInfo) -> ! {
|
||||||
gba.dma.dma().dma3.disable();
|
gba.dma.dma().dma3.disable();
|
||||||
let mut gfx = gba.display.video.bitmap3();
|
let mut gfx = gba.display.video.bitmap3();
|
||||||
|
|
||||||
let qrcode_string_data = format!("https://agbrs.dev/crash#{trace}");
|
let qrcode_string_data = if WEBSITE.is_empty() {
|
||||||
|
format!("{trace}")
|
||||||
|
} else {
|
||||||
|
format!("{WEBSITE}{trace}")
|
||||||
|
};
|
||||||
crate::println!("Stack trace: {qrcode_string_data}");
|
crate::println!("Stack trace: {qrcode_string_data}");
|
||||||
|
|
||||||
let location = draw_qr_code(&mut gfx, &qrcode_string_data);
|
let location = draw_qr_code(&mut gfx, &qrcode_string_data);
|
||||||
|
@ -29,7 +40,8 @@ pub fn render_backtrace(trace: &backtrace::Frames, info: &PanicInfo) -> ! {
|
||||||
text::BitmapTextRender::new(&mut gfx, (location, 8).into(), 0x0000);
|
text::BitmapTextRender::new(&mut gfx, (location, 8).into(), 0x0000);
|
||||||
let _ = write!(
|
let _ = write!(
|
||||||
&mut trace_text_render,
|
&mut trace_text_render,
|
||||||
"The game crashed :(\nhttps://agbrs.dev/crash\n{trace}"
|
"The game crashed :({}{WEBSITE}\n{trace}",
|
||||||
|
if WEBSITE.is_empty() { "" } else { "\n" }
|
||||||
);
|
);
|
||||||
|
|
||||||
let mut panic_text_render =
|
let mut panic_text_render =
|
||||||
|
|
Loading…
Reference in a new issue