Fixed compilation for linux:

- template stuff should be in .h files
- for some reason you can't use a static function pointer
  as a template parameter
This commit is contained in:
yabause 2008-12-29 12:44:15 +00:00
parent be25d014cd
commit cfd9b3523c
3 changed files with 22 additions and 24 deletions

View File

@ -953,7 +953,7 @@ INLINE void renderline_textBG(const GPU * gpu, u8 num, u8 * dst, u32 Y, u16 XBG,
// BACKGROUND RENDERING -ROTOSCALE-
/*****************************************************************************/
FORCEINLINE static void rot_tiled_8bit_entry(GPU * gpu, int num, s32 auxX, s32 auxY, int lg, u8 * dst, u8 * map, u8 * tile, u8 * pal, int i, u16 H) {
FORCEINLINE void rot_tiled_8bit_entry(GPU * gpu, int num, s32 auxX, s32 auxY, int lg, u8 * dst, u8 * map, u8 * tile, u8 * pal, int i, u16 H) {
u8 palette_entry;
u16 tileindex, x, y, color;
@ -966,7 +966,7 @@ FORCEINLINE static void rot_tiled_8bit_entry(GPU * gpu, int num, s32 auxX, s32 a
gpu->setFinalColorBck(gpu,0,num,dst, color,auxX,auxY);
}
FORCEINLINE static void rot_tiled_16bit_entry(GPU * gpu, int num, s32 auxX, s32 auxY, int lg, u8 * dst, u8 * map, u8 * tile, u8 * pal, int i, u16 H) {
FORCEINLINE void rot_tiled_16bit_entry(GPU * gpu, int num, s32 auxX, s32 auxY, int lg, u8 * dst, u8 * map, u8 * tile, u8 * pal, int i, u16 H) {
u8 palette_entry;
u16 x, y, color;
TILEENTRY tileentry;
@ -982,7 +982,7 @@ FORCEINLINE static void rot_tiled_16bit_entry(GPU * gpu, int num, s32 auxX, s32
gpu->setFinalColorBck(gpu,0,num,dst, color, i, H);
}
FORCEINLINE static void rot_256_map(GPU * gpu, int num, s32 auxX, s32 auxY, int lg, u8 * dst, u8 * map, u8 * tile, u8 * pal, int i, u16 H) {
FORCEINLINE void rot_256_map(GPU * gpu, int num, s32 auxX, s32 auxY, int lg, u8 * dst, u8 * map, u8 * tile, u8 * pal, int i, u16 H) {
u8 palette_entry;
u16 color;
@ -995,7 +995,7 @@ FORCEINLINE static void rot_256_map(GPU * gpu, int num, s32 auxX, s32 auxY, int
}
FORCEINLINE static void rot_BMP_map(GPU * gpu, int num, s32 auxX, s32 auxY, int lg, u8 * dst, u8 * map, u8 * tile, u8 * pal, int i, u16 H) {
FORCEINLINE void rot_BMP_map(GPU * gpu, int num, s32 auxX, s32 auxY, int lg, u8 * dst, u8 * map, u8 * tile, u8 * pal, int i, u16 H) {
u16 color;
// return;

View File

@ -87,26 +87,6 @@ void _MMU_write32(int PROCNUM, u32 addr, u32 val) {
else _MMU_ARM7_write32(addr,val);
}
template<int PROCNUM>
u8 _MMU_read08(u32 addr) { return _MMU_read08(PROCNUM, addr); }
template<int PROCNUM>
u16 _MMU_read16(u32 addr) { return _MMU_read16(PROCNUM, addr); }
template<int PROCNUM>
u32 _MMU_read32(u32 addr) { return _MMU_read32(PROCNUM, addr); }
template<int PROCNUM>
void _MMU_write08(u32 addr, u8 val) { _MMU_write08(PROCNUM, addr, val); }
template<int PROCNUM>
void _MMU_write16(u32 addr, u16 val) { _MMU_write16(PROCNUM, addr, val); }
template<int PROCNUM>
void _MMU_write32(u32 addr, u32 val) { _MMU_write32(PROCNUM, addr, val); }
//http://home.utah.edu/~nahaj/factoring/isqrt.c.html
static u64 isqrt (u64 x) {
u64 squaredbit, remainder, root;

View File

@ -224,4 +224,22 @@ void _MMU_write32(int PROCNUM, u32 addr, u32 val);
#define WRITE8(a,b,c) _MMU_write08<PROCNUM>(b, c)
#endif
template<int PROCNUM>
u8 _MMU_read08(u32 addr) { return _MMU_read08(PROCNUM, addr); }
template<int PROCNUM>
u16 _MMU_read16(u32 addr) { return _MMU_read16(PROCNUM, addr); }
template<int PROCNUM>
u32 _MMU_read32(u32 addr) { return _MMU_read32(PROCNUM, addr); }
template<int PROCNUM>
void _MMU_write08(u32 addr, u8 val) { _MMU_write08(PROCNUM, addr, val); }
template<int PROCNUM>
void _MMU_write16(u32 addr, u16 val) { _MMU_write16(PROCNUM, addr, val); }
template<int PROCNUM>
void _MMU_write32(u32 addr, u32 val) { _MMU_write32(PROCNUM, addr, val); }
#endif