blob: 526c09709757ffbff04b2a3e96c4c669450421e9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include "asset.h"
#include "components.h"
#include "render.h"
#include "standard.h"
#include "world.h"
void sprite_system(const World* world) {
int i;
unsigned bits;
const CSprite* sprite;
const CPosition* pos;
const Bitmap* b;
for (i = 0; i < world->entity_count; i++) {
bits = world->bitmask[i];
if ((bits & ctype_position) && (bits & ctype_sprite)) {
pos = &world->positions[i];
sprite = &world->sprites[i];
b = get_bitmap(sprite->id);
render_bitmap(b, pos->x >> fbits, pos->y >> fbits, &sprite->rect);
}
}
}
|