all collision information is stored with sprites, support multiple sprites
This commit is contained in:
74
res/sprite_metadata.c
Normal file
74
res/sprite_metadata.c
Normal file
@@ -0,0 +1,74 @@
|
||||
#include <gb/gb.h>
|
||||
#include "../src/sprite.h"
|
||||
#include "../src/flags.h"
|
||||
|
||||
Sprite sprites_info[] = {
|
||||
{
|
||||
.frames_since_last_dash = 0,
|
||||
.frames_since_last_jump = 0,
|
||||
.name = "arrow",
|
||||
.has_diag_sprites = 0,
|
||||
.bitmap_index = SI_LEFT,
|
||||
.has_joypad = 0,
|
||||
.pos = { .x = 0, .y = 0},
|
||||
.vel = { .x = 0, .y = 0},
|
||||
.acc = { .x = 0, .y = 0},
|
||||
|
||||
.bitmap_indexes[SI_UP] = 12, .bitmap_prop[SI_UP] = 0,
|
||||
.collision_offset[SI_UP] = {
|
||||
.itl = { .x = 3, .y = 8},
|
||||
.itr = { .x = 1, .y = 8},
|
||||
.ibl = { .x = 3, .y = 1},
|
||||
.ibr = { .x = 1, .y = 1},
|
||||
},
|
||||
.bitmap_indexes[SI_DOWN] = 12, .bitmap_prop[SI_DOWN] = S_FLIPY,
|
||||
.collision_offset[SI_DOWN] = {
|
||||
.itl = { .x = 8, .y = 8},
|
||||
.itr = { .x = 5, .y = 8},
|
||||
.ibl = { .x = 8, .y = 1},
|
||||
.ibr = { .x = 5, .y = 1},
|
||||
},
|
||||
.bitmap_indexes[SI_LEFT] = 11, .bitmap_prop[SI_LEFT] = 0,
|
||||
.collision_offset[SI_LEFT] = {
|
||||
.itl = { .x = 8, .y = 3},
|
||||
.itr = { .x = 1, .y = 3},
|
||||
.ibl = { .x = 8, .y = 1},
|
||||
.ibr = { .x = 1, .y = 1},
|
||||
},
|
||||
.bitmap_indexes[SI_RIGHT] = 11, .bitmap_prop[SI_RIGHT] = S_FLIPX,
|
||||
.collision_offset[SI_RIGHT] = {
|
||||
.itl = { .x = 8, .y = 3},
|
||||
.itr = { .x = 1, .y = 3},
|
||||
.ibl = { .x = 8, .y = 1},
|
||||
.ibr = { .x = 1, .y = 1},
|
||||
},
|
||||
.bitmap_indexes[SI_UP_RIGHT] = 13, .bitmap_prop[SI_UP_RIGHT] = 0,
|
||||
.collision_offset[SI_UP_RIGHT] = {
|
||||
.itl = { .x = 7, .y = 8},
|
||||
.itr = { .x = 1, .y = 8},
|
||||
.ibl = { .x = 7, .y = 2},
|
||||
.ibr = { .x = 1, .y = 2},
|
||||
},
|
||||
.bitmap_indexes[SI_UP_LEFT] = 13, .bitmap_prop[SI_UP_LEFT] = S_FLIPX,
|
||||
.collision_offset[SI_UP_LEFT] = {
|
||||
.itl = { .x = 8, .y = 8},
|
||||
.itr = { .x = 2, .y = 8},
|
||||
.ibl = { .x = 8, .y = 2},
|
||||
.ibr = { .x = 2, .y = 2},
|
||||
},
|
||||
.bitmap_indexes[SI_DOWN_LEFT] = 13, .bitmap_prop[SI_DOWN_LEFT] = S_FLIPX | S_FLIPY,
|
||||
.collision_offset[SI_DOWN_LEFT] = {
|
||||
.itl = { .x = 8, .y = 7},
|
||||
.itr = { .x = 2, .y = 7},
|
||||
.ibl = { .x = 8, .y = 1},
|
||||
.ibr = { .x = 2, .y = 1},
|
||||
},
|
||||
.bitmap_indexes[SI_DOWN_RIGHT] = 13, .bitmap_prop[SI_DOWN_RIGHT] = S_FLIPY,
|
||||
.collision_offset[SI_DOWN_RIGHT] = {
|
||||
.itl = { .x = 7, .y = 7},
|
||||
.itr = { .x = 1, .y = 7},
|
||||
.ibl = { .x = 7, .y = 1},
|
||||
.ibr = { .x = 1, .y = 1},
|
||||
}
|
||||
}
|
||||
};
|
3
res/sprite_metadata.h
Normal file
3
res/sprite_metadata.h
Normal file
@@ -0,0 +1,3 @@
|
||||
#include "../src/sprite.h"
|
||||
|
||||
extern Sprite sprites_info[];
|
@@ -10,7 +10,7 @@
|
||||
Compression : None.
|
||||
Counter : None.
|
||||
Tile size : 8 x 8
|
||||
Tiles : 0 to 11
|
||||
Tiles : 0 to 13
|
||||
|
||||
Palette colors : None.
|
||||
SGB Palette : None.
|
||||
@@ -22,8 +22,6 @@
|
||||
|
||||
*/
|
||||
|
||||
#include "../src/sprite.h"
|
||||
|
||||
/* Start of tile array. */
|
||||
unsigned char sprites[] =
|
||||
{
|
||||
@@ -50,23 +48,11 @@ unsigned char sprites[] =
|
||||
0x43,0xC3,0xDB,0xDB,0x3C,0x3C,0x7E,0x7E,
|
||||
0x7E,0x7E,0x3C,0x3C,0xDB,0xDB,0x43,0xC3,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x43,0x38,0xC6,0x00,0x43
|
||||
0x00,0x00,0x00,0x43,0x38,0xC6,0x00,0x43,
|
||||
0x00,0x02,0x00,0x07,0x02,0x00,0x02,0x00,
|
||||
0x02,0x00,0x00,0x02,0x00,0x07,0x00,0x05,
|
||||
0x00,0x03,0x02,0x01,0x04,0x00,0x08,0x00,
|
||||
0x00,0x30,0x00,0x50,0x00,0x20,0x00,0x00
|
||||
};
|
||||
|
||||
|
||||
// define the collision box of each sprite in the tileset
|
||||
SpriteCorners sprite_offsets[] = {
|
||||
{ .itl = { .x = 8, .y = 8}, .itr = { .x = 1, .y = 8}, .ibl = { .x = 8, .y = 1}, .ibr = { .x = 1, .y = 1}, },
|
||||
{ .itl = { .x = 8, .y = 8}, .itr = { .x = 1, .y = 8}, .ibl = { .x = 8, .y = 1}, .ibr = { .x = 1, .y = 1}, },
|
||||
{ .itl = { .x = 8, .y = 8}, .itr = { .x = 1, .y = 8}, .ibl = { .x = 8, .y = 1}, .ibr = { .x = 1, .y = 1}, },
|
||||
{ .itl = { .x = 8, .y = 8}, .itr = { .x = 1, .y = 8}, .ibl = { .x = 8, .y = 1}, .ibr = { .x = 1, .y = 1}, },
|
||||
{ .itl = { .x = 8, .y = 8}, .itr = { .x = 1, .y = 8}, .ibl = { .x = 8, .y = 1}, .ibr = { .x = 1, .y = 1}, },
|
||||
{ .itl = { .x = 8, .y = 8}, .itr = { .x = 1, .y = 8}, .ibl = { .x = 8, .y = 1}, .ibr = { .x = 1, .y = 1}, },
|
||||
{ .itl = { .x = 8, .y = 8}, .itr = { .x = 1, .y = 8}, .ibl = { .x = 8, .y = 1}, .ibr = { .x = 1, .y = 1}, },
|
||||
{ .itl = { .x = 8, .y = 8}, .itr = { .x = 1, .y = 8}, .ibl = { .x = 8, .y = 1}, .ibr = { .x = 1, .y = 1}, },
|
||||
{ .itl = { .x = 8, .y = 8}, .itr = { .x = 1, .y = 8}, .ibl = { .x = 8, .y = 1}, .ibr = { .x = 1, .y = 1}, },
|
||||
{ .itl = { .x = 8, .y = 8}, .itr = { .x = 1, .y = 8}, .ibl = { .x = 8, .y = 1}, .ibr = { .x = 1, .y = 1}, },
|
||||
{ .itl = { .x = 8, .y = 8}, .itr = { .x = 1, .y = 8}, .ibl = { .x = 8, .y = 1}, .ibr = { .x = 1, .y = 1}, },
|
||||
{ .itl = { .x = 8, .y = 3}, .itr = { .x = 1, .y = 3}, .ibl = { .x = 8, .y = 1}, .ibr = { .x = 1, .y = 1}, }
|
||||
};
|
||||
/* End of SPRITES.C */
|
||||
|
BIN
res/sprites.gbr
BIN
res/sprites.gbr
Binary file not shown.
@@ -10,7 +10,7 @@
|
||||
Compression : None.
|
||||
Counter : None.
|
||||
Tile size : 8 x 8
|
||||
Tiles : 0 to 11
|
||||
Tiles : 0 to 13
|
||||
|
||||
Palette colors : None.
|
||||
SGB Palette : None.
|
||||
@@ -22,12 +22,10 @@
|
||||
|
||||
*/
|
||||
|
||||
#include "../src/sprite.h"
|
||||
|
||||
/* Bank of tiles. */
|
||||
#define spritesBank 0
|
||||
/* Start of tile array. */
|
||||
extern unsigned char sprites[];
|
||||
extern unsigned char sprites[];
|
||||
|
||||
/* End of SPRITES.H */
|
||||
|
Reference in New Issue
Block a user