tangstad/helds
tangstad
/
helds
Archived
1
0
Fork 0

Split SpriteLoader into its own files... attempt to make things better, but maybe it just makes it harder to get an overview of the code...

This commit is contained in:
Truls Alexander Tangstad 2005-12-05 22:26:22 +00:00
parent b06fef8700
commit e4b1947aef
3 changed files with 32 additions and 17 deletions

View File

@ -16,6 +16,7 @@
#include "car_bin.h" #include "car_bin.h"
#include "car_blue_bin.h" #include "car_blue_bin.h"
#include "smoke_bin.h" #include "smoke_bin.h"
#include "spriteloader.h"
#include "sinlut.h" #include "sinlut.h"
@ -158,23 +159,6 @@ public:
int speed, angle; int speed, angle;
}; };
class SpriteLoader {
u32 free_space;
u16 sprite_index;
public:
SpriteLoader() {
free_space = (u32)BITMAP_OBJ_BASE_ADR;
sprite_index = 512;
}
u16 load_from_memory(const void *source, u8 blocks) {
int bytes = blocks*8;
CpuFastSet(source, (void*)free_space, COPY32 | bytes/4);
free_space += bytes;
u16 pre_index = sprite_index;
sprite_index += blocks * 2 / 8;
return pre_index;
}
};
int main(void) int main(void)
{ {

View File

@ -0,0 +1,17 @@
#include "spriteloader.h"
#include "gba_sprites.h"
#include "gba_systemcalls.h"
SpriteLoader::SpriteLoader() {
free_space = (u32)BITMAP_OBJ_BASE_ADR;
sprite_index = 512;
}
u16 SpriteLoader::load_from_memory(const void *source, u8 blocks) {
int bytes = blocks*8;
CpuFastSet(source, (void*)free_space, COPY32 | bytes/4);
free_space += bytes;
u16 pre_index = sprite_index;
sprite_index += blocks * 2 / 8;
return pre_index;
}

View File

@ -0,0 +1,14 @@
#ifndef SPRITELOADER_H
#define SPRITELOADER_H
#include "gba_types.h"
class SpriteLoader {
u32 free_space;
u16 sprite_index;
public:
SpriteLoader();
u16 load_from_memory(const void *source, u8 blocks);
};
#endif