94 lines
3.4 KiB
C
94 lines
3.4 KiB
C
/*****************************************************************************/
|
|
/* ここから */
|
|
/*****************************************************************************/
|
|
|
|
#include "WWSpriteP.h"
|
|
|
|
/*****************************************************************************/
|
|
/* メンバ関数の定義 */
|
|
/*****************************************************************************/
|
|
|
|
int WWSprite_GetNumber( WWSprite s) { return (s->number); }
|
|
int WWSprite_GetHorizontal(WWSprite s) { return (s->horizontal); }
|
|
int WWSprite_GetVertical( WWSprite s) { return (s->vertical); }
|
|
int WWSprite_GetPriority( WWSprite s) { return (s->priority); }
|
|
int WWSprite_GetClipping( WWSprite s) { return (s->clipping); }
|
|
WWPalette WWSprite_GetPalette( WWSprite s) { return (s->palette); }
|
|
WWCharacter WWSprite_GetCharacter( WWSprite s) { return (s->character); }
|
|
|
|
int WWSprite_SetNumber( WWSprite s, int n) { return (s->number = n); }
|
|
int WWSprite_SetHorizontal(WWSprite s, int f) { return (s->horizontal = f); }
|
|
int WWSprite_SetVertical( WWSprite s, int f) { return (s->vertical = f); }
|
|
int WWSprite_SetPriority( WWSprite s, int f) { return (s->priority = f); }
|
|
int WWSprite_SetClipping( WWSprite s, int f) { return (s->clipping = f); }
|
|
WWPalette WWSprite_SetPalette(WWSprite s, WWPalette p)
|
|
{ return (s->palette = p); }
|
|
WWCharacter WWSprite_SetCharacter(WWSprite s, WWCharacter c)
|
|
{ return (s->character = c); }
|
|
|
|
int WWSprite_GetX(WWSprite sprite) { return (sprite->x); }
|
|
int WWSprite_GetY(WWSprite sprite) { return (sprite->y); }
|
|
|
|
int WWSprite_SetPosition(WWSprite sprite, int x, int y)
|
|
{
|
|
sprite->x = x;
|
|
sprite->y = y;
|
|
return (0);
|
|
}
|
|
|
|
int WWSprite_GetPixel(WWSprite sprite, int x, int y)
|
|
{
|
|
WWPalette p;
|
|
WWCharacter c;
|
|
int pixel;
|
|
|
|
p = WWSprite_GetPalette(sprite);
|
|
c = WWSprite_GetCharacter(sprite);
|
|
|
|
if (WWSprite_GetHorizontal(sprite)) x = 7 - x;
|
|
if (WWSprite_GetVertical( sprite)) y = 7 - y;
|
|
|
|
pixel = WWCharacter_GetPixel(c, x, y);
|
|
pixel = WWPalette_GetMappedColor(p, pixel);
|
|
|
|
return (pixel);
|
|
}
|
|
|
|
WWSprite WWSprite_Create(int number, int x, int y,
|
|
int horizontal, int vertical,
|
|
int priority, int clipping,
|
|
WWPalette palette, WWCharacter character)
|
|
{
|
|
WWSprite sprite;
|
|
|
|
sprite = (WWSprite)malloc(sizeof(_WWSprite));
|
|
if (sprite == NULL) Error("WWSprite_Create", "Cannot allocate memory.");
|
|
|
|
WWSprite_SetNumber(sprite, number);
|
|
WWSprite_SetHorizontal(sprite, horizontal);
|
|
WWSprite_SetVertical(sprite, vertical);
|
|
WWSprite_SetPriority(sprite, priority);
|
|
WWSprite_SetClipping(sprite, clipping);
|
|
WWSprite_SetPalette(sprite, palette);
|
|
WWSprite_SetCharacter(sprite, character);
|
|
|
|
WWSprite_SetPosition(sprite, x, y);
|
|
|
|
return (sprite);
|
|
}
|
|
|
|
WWSprite WWSprite_Destroy(WWSprite sprite)
|
|
{
|
|
if (sprite == NULL) return (NULL);
|
|
free(sprite);
|
|
return (NULL);
|
|
}
|
|
|
|
/*****************************************************************************/
|
|
/* ここまで */
|
|
/*****************************************************************************/
|
|
|
|
/*****************************************************************************/
|
|
/* End of File. */
|
|
/*****************************************************************************/
|