My actor.rpg avatar walking around on a GBA game
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update to v0.22.0

GBA bot aa7c452e 51b386f8

+81 -10
+12
.cargo/config.toml
··· 11 11 "-Ctarget-cpu=arm7tdmi", 12 12 "-Cforce-frame-pointers=yes", 13 13 ] 14 + rustdocflags = [ 15 + "-Clink-arg=-Tgba.ld", 16 + "-Ctarget-cpu=arm7tdmi", 17 + "-Cforce-frame-pointers=yes", 18 + ] 19 + 14 20 runner = ["mgba-qt", "-C", "logToStdout=1", "-C", "logLevel.gba.debug=127"] 15 21 16 22 [target.armv4t-none-eabi] ··· 19 25 "-Ctarget-cpu=arm7tdmi", 20 26 "-Cforce-frame-pointers=yes", 21 27 ] 28 + rustdocflags = [ 29 + "-Clink-arg=-Tgba.ld", 30 + "-Ctarget-cpu=arm7tdmi", 31 + "-Cforce-frame-pointers=yes", 32 + ] 33 + 22 34 runner = ["mgba-qt", "-C", "logToStdout=1", "-C", "logLevel.gba.debug=127"]
+6
.vscode/extensions.json
··· 1 + { 2 + "recommendations": [ 3 + "ms-vscode.cpptools", 4 + "rust-lang.rust-analyzer" 5 + ] 6 + }
+35
.vscode/launch.json
··· 1 + { 2 + "version": "0.2.0", 3 + "configurations": [ 4 + { 5 + "name": "(gdb) Launch", 6 + "type": "cppdbg", 7 + "request": "launch", 8 + "targetArchitecture": "arm", 9 + "args": [], 10 + "stopAtEntry": false, 11 + "environment": [ 12 + { 13 + "name": "CARGO_TARGET_DIR", 14 + "value": "${workspaceFolder}/target", 15 + }, 16 + ], 17 + "externalConsole": false, 18 + "MIMode": "gdb", 19 + "miDebuggerServerAddress": "localhost:2345", 20 + "preLaunchTask": "Rust build: debug", 21 + // `agb_template` is the name of the crate, change it here if you change the name of the crate 22 + "program": "${workspaceFolder}/target/thumbv4t-none-eabi/debug/agb_template", 23 + "cwd": "${workspaceFolder}", 24 + "linux": { 25 + "miDebuggerPath": "arm-none-eabi-gdb", 26 + "setupCommands": [ 27 + { 28 + // `agb_template` is the name of the crate, change it here if you change the name of the crate 29 + "text": "shell \"mgba-qt\" -g \"${workspaceFolder}/target/thumbv4t-none-eabi/debug/agb_template\" &" 30 + } 31 + ] 32 + }, 33 + }, 34 + ], 35 + }
+18
.vscode/tasks.json
··· 1 + { 2 + "version": "2.0.0", 3 + "tasks": [ 4 + { 5 + "label": "Rust build: debug", 6 + "command": "cargo", 7 + "args": [ 8 + "build" 9 + ], 10 + "options": { 11 + "cwd": "${workspaceFolder}", 12 + "env": { 13 + "CARGO_TARGET_DIR": "${workspaceFolder}/target" 14 + } 15 + } 16 + }, 17 + ], 18 + }
+2 -2
Cargo.toml
··· 2 2 name = "agb_template" 3 3 version = "0.1.0" 4 4 authors = [""] 5 - edition = "2021" 5 + edition = "2024" 6 6 7 7 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 8 9 9 [dependencies] 10 - agb = "0.21.3" 10 + agb = "0.22.0" 11 11 12 12 [profile.dev] 13 13 opt-level = 3
+1 -1
README.md
··· 64 64 65 65 ```sh 66 66 agb-gbafix target/thumbv4t-none-eabi/release/<your game> -o <your game>.gba 67 - ``` 67 + ```
+7 -7
src/main.rs
··· 1 1 // Games made using `agb` are no_std which means you don't have access to the standard 2 2 // rust library. This is because the game boy advance doesn't really have an operating 3 3 // system, so most of the content of the standard library doesn't apply. 4 - // 5 - // Provided you haven't disabled it, agb does provide an allocator, so it is possible 6 - // to use both the `core` and the `alloc` built in crates. 7 4 #![no_std] 8 5 // `agb` defines its own `main` function, so you must declare your game's main function 9 6 // using the #[agb::entry] proc macro. Failing to do so will cause failure in linking ··· 14 11 #![cfg_attr(test, reexport_test_harness_main = "test_main")] 15 12 #![cfg_attr(test, test_runner(agb::test_runner::test_runner))] 16 13 17 - // The main function must take 1 arguments and never return. The agb::entry decorator 18 - // ensures that everything is in order. `agb` will call this after setting up the stack 19 - // and interrupt handlers correctly. It will also handle creating the `Gba` struct for you. 14 + // By default no_std crates don't get alloc, so you won't be able to use things like Vec 15 + // until you declare the extern crate. `agb` provides an allocator so it will all work 16 + extern crate alloc; 17 + 18 + // The main function must take 1 arguments and never returns, and must be marked with 19 + // the #[agb::entry] macro. 20 20 #[agb::entry] 21 - fn main(mut gba: agb::Gba) -> ! { 21 + fn main(gba: agb::Gba) -> ! { 22 22 agb::no_game(gba); 23 23 }