1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
#if !defined(HAVE_GLES2)
#include <GL/glew.h>
#else
#include <GLES2/gl2.h>
#endif
#include "allfiles.h"
#include "cursors.h"
#include "colours.h"
#include "sprites.h"
#include "sprbanks.h"
#include "people.h"
#include "sludger.h"
personaAnimation * mouseCursorAnim;
int mouseCursorFrameNum = 0;
int mouseCursorCountUp = 0;
extern inputType input;
void pickAnimCursor (personaAnimation * pp) {
deleteAnim (mouseCursorAnim);
mouseCursorAnim = pp;
mouseCursorFrameNum = 0;
mouseCursorCountUp = 0;
}
void displayCursor () {
if (mouseCursorAnim && mouseCursorAnim -> numFrames) {
int spriteNum = mouseCursorAnim -> frames[mouseCursorFrameNum].frameNum;
int flipMe = 0;
if (spriteNum < 0) {
spriteNum = -spriteNum;
flipMe = 1;
if (spriteNum >= mouseCursorAnim -> theSprites -> bank.total) spriteNum = 0;
} else {
if (spriteNum >= mouseCursorAnim -> theSprites -> bank.total) flipMe = 2;
}
if (flipMe != 2) {
(flipMe ? flipFontSprite : fontSprite) (input.mouseX, input.mouseY,
mouseCursorAnim -> theSprites -> bank.sprites[spriteNum],
mouseCursorAnim -> theSprites -> bank.myPalette /* ( spritePalette&) NULL*/);
}
if (++ mouseCursorCountUp >= mouseCursorAnim -> frames[mouseCursorFrameNum].howMany) {
mouseCursorCountUp = 0;
mouseCursorFrameNum ++;
mouseCursorFrameNum %= mouseCursorAnim -> numFrames;
}
}
}
void pasteCursor (int x, int y, personaAnimation * c) {
if (c -> numFrames) pasteSpriteToBackDrop (x, y,
c -> theSprites -> bank.sprites[c -> frames[0].frameNum],
c -> theSprites -> bank.myPalette);
}
|