summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2021-04-18 11:34:22 +0200
committerBad Diode <bd@badd10de.dev>2021-04-18 11:34:22 +0200
commit6a736dbcf0f34b04d3a950a38fbb539a7807d2d8 (patch)
tree2727676776aeee27492edd65e6ee26aff03ceec6
parent0f875e403e58d542c1a4207b7465ac6c0520bb91 (diff)
downloadgba-experiments-6a736dbcf0f34b04d3a950a38fbb539a7807d2d8.tar.gz
gba-experiments-6a736dbcf0f34b04d3a950a38fbb539a7807d2d8.zip
Rename OAM_x to OBJ_x since they refer to objects
-rw-r--r--src/main.c62
1 files changed, 31 insertions, 31 deletions
diff --git a/src/main.c b/src/main.c
index f3c07df..b09d54f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -81,17 +81,17 @@ rgb15(u32 red, u32 green, u32 blue ) {
81// Sprites. 81// Sprites.
82// 82//
83 83
84// Using macros instead of aligned structs for setting up OAM attributes and 84// Using macros instead of aligned structs for setting up OBJ attributes and
85// affine parameters. 85// affine parameters.
86// TODO: Benchmark if this would be slower or the same that TONC's 86// TODO: Benchmark if this would be slower or the same that TONC's
87// implementation. 87// implementation.
88#define OAM_ATTR_0(N) *((vu16*)(MEM_OAM + 0 + 8 * (N))) 88#define OBJ_ATTR_0(N) *((vu16*)(MEM_OAM + 0 + 8 * (N)))
89#define OAM_ATTR_1(N) *((vu16*)(MEM_OAM + 2 + 8 * (N))) 89#define OBJ_ATTR_1(N) *((vu16*)(MEM_OAM + 2 + 8 * (N)))
90#define OAM_ATTR_2(N) *((vu16*)(MEM_OAM + 4 + 8 * (N))) 90#define OBJ_ATTR_2(N) *((vu16*)(MEM_OAM + 4 + 8 * (N)))
91#define OAM_AFFINE_PA(N) *((vs16*)(MEM_OAM + 6 + 8 * 0 + 8 * 4 * (N))) 91#define OBJ_AFFINE_PA(N) *((vs16*)(MEM_OAM + 6 + 8 * 0 + 8 * 4 * (N)))
92#define OAM_AFFINE_PB(N) *((vs16*)(MEM_OAM + 6 + 8 * 1 + 8 * 4 * (N))) 92#define OBJ_AFFINE_PB(N) *((vs16*)(MEM_OAM + 6 + 8 * 1 + 8 * 4 * (N)))
93#define OAM_AFFINE_PC(N) *((vs16*)(MEM_OAM + 6 + 8 * 2 + 8 * 4 * (N))) 93#define OBJ_AFFINE_PC(N) *((vs16*)(MEM_OAM + 6 + 8 * 2 + 8 * 4 * (N)))
94#define OAM_AFFINE_PD(N) *((vs16*)(MEM_OAM + 6 + 8 * 3 + 8 * 4 * (N))) 94#define OBJ_AFFINE_PD(N) *((vs16*)(MEM_OAM + 6 + 8 * 3 + 8 * 4 * (N)))
95 95
96// Using bd-font, an 8x8 bitmap font. 96// Using bd-font, an 8x8 bitmap font.
97static void 97static void
@@ -370,29 +370,29 @@ key_hold(u32 key) {
370int main(void) { 370int main(void) {
371 DISP_CTRL = DISP_MODE_3 | DISP_BG_2; 371 DISP_CTRL = DISP_MODE_3 | DISP_BG_2;
372 372
373 // Test setting OAM parameters for sprite N with my custom macros. 373 // Test setting OBJ parameters for sprite N with my custom macros.
374 OAM_ATTR_0(0) = 0xBADD; 374 OBJ_ATTR_0(0) = 0xBADD;
375 OAM_ATTR_1(0) = 0x10DE; 375 OBJ_ATTR_1(0) = 0x10DE;
376 OAM_ATTR_2(0) = 0xAC1D; 376 OBJ_ATTR_2(0) = 0xAC1D;
377 OAM_ATTR_0(1) = 0xFA7E; 377 OBJ_ATTR_0(1) = 0xFA7E;
378 OAM_ATTR_1(1) = 0xD15E; 378 OBJ_ATTR_1(1) = 0xD15E;
379 OAM_ATTR_2(1) = 0xA5ED; 379 OBJ_ATTR_2(1) = 0xA5ED;
380 OAM_ATTR_0(2) = 0xBADD; 380 OBJ_ATTR_0(2) = 0xBADD;
381 OAM_ATTR_1(2) = 0x10DE; 381 OBJ_ATTR_1(2) = 0x10DE;
382 OAM_ATTR_2(2) = 0xAC1D; 382 OBJ_ATTR_2(2) = 0xAC1D;
383 OAM_ATTR_0(3) = 0xFA7E; 383 OBJ_ATTR_0(3) = 0xFA7E;
384 OAM_ATTR_1(3) = 0xD15E; 384 OBJ_ATTR_1(3) = 0xD15E;
385 OAM_ATTR_2(3) = 0xA5ED; 385 OBJ_ATTR_2(3) = 0xA5ED;
386 OAM_AFFINE_PA(0) = 0x0011; 386 OBJ_AFFINE_PA(0) = 0x0011;
387 OAM_AFFINE_PB(0) = 0x2233; 387 OBJ_AFFINE_PB(0) = 0x2233;
388 OAM_AFFINE_PC(0) = 0x4455; 388 OBJ_AFFINE_PC(0) = 0x4455;
389 OAM_AFFINE_PD(0) = 0x6677; 389 OBJ_AFFINE_PD(0) = 0x6677;
390 OAM_AFFINE_PA(1) = 0xAABB; 390 OBJ_AFFINE_PA(1) = 0xAABB;
391 OAM_AFFINE_PB(1) = 0xCCDD; 391 OBJ_AFFINE_PB(1) = 0xCCDD;
392 OAM_AFFINE_PC(1) = 0xEEFF; 392 OBJ_AFFINE_PC(1) = 0xEEFF;
393 OAM_AFFINE_PD(1) = 0x0101; 393 OBJ_AFFINE_PD(1) = 0x0101;
394 394
395 draw_fill_rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, COLOR_GREY); 395 // draw_fill_rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, COLOR_GREY);
396 396
397 int side = 60; 397 int side = 60;
398 int line = 35; 398 int line = 35;