Compare commits

..

No commits in common. "1f2cfb723489f6c062c1edc3766b2b8b2a298dd4" and "a2b1ae16702f4b42ffc67ae149340f0cde44fb89" have entirely different histories.

5 changed files with 8 additions and 11 deletions

View File

@ -61,7 +61,6 @@ protected:
u8 animationDelay, numberOfFrames, beginFrame, currentFrame, previousFrame, animationCounter;
bool animating;
OBJ_ATTR oam;
bool isAffine;
void syncAnimation();
virtual void syncOam();
@ -97,8 +96,8 @@ public:
GBAVector getPosAsVector() { return GBAVector(getPos()); }
VECTOR getCenter() { return { x + w / 2, y + h / 2 }; }
VECTOR getVelocity() { return { dx, dy}; }
int getX() { return x; }
int getY() { return y; }
u32 getX() { return x; }
u32 getY() { return y; }
u32 getDx() { return dx; }
u32 getDy() { return dy; }
u32 getWidth() { return w; }

View File

@ -13,11 +13,11 @@ void AffineSprite::identity() {
}
AffineSprite::AffineSprite(const AffineSprite &other) : Sprite(other), affIndex(other.affIndex) {
isAffine = true;
}
AffineSprite::AffineSprite(const void *imgData, int imgSize, int xC, int yC, SpriteSize spriteSize) : Sprite(imgData, imgSize, xC, yC, spriteSize), affIndex(0) {
isAffine = true;
}
void AffineSprite::rotate(u16 alpha) {

View File

@ -17,7 +17,7 @@ Sprite::Sprite(const Sprite &other) : Sprite(nullptr, 0, other.x, other.y, other
}
Sprite::Sprite(const void *imageData, int imageSize, int x, int y, SpriteSize size)
: x(x), y(y), data(imageData), imageSize(imageSize), spriteSize(size), priority(0), isAffine(false),
: x(x), y(y), data(imageData), imageSize(imageSize), spriteSize(size), priority(0),
animationDelay(0), numberOfFrames(0), beginFrame(0), currentFrame(0), animationCounter(0) {
setAttributesBasedOnSize(size);
}

View File

@ -47,10 +47,11 @@ void SpriteManager::copyOverSpriteOAMToVRAM() {
oam_mem[i] = sprite->oam;
if(sprite->isAffine) {
auto affine = dynamic_cast<AffineSprite*>(sprite);
if(affine) {
// WHY warning: can't do this: obj_aff_mem[affineIndex] = *affineShadow;
// because that would override OAM also! only want to set non-overlapping affine attribs
auto affine = static_cast<AffineSprite*>(sprite);
affine->setTransformationMatrix(&obj_aff_mem[affineIndex]);
affine->setAffineIndex(affineIndex);
affineIndex++;

View File

@ -14,9 +14,6 @@ SET(CMAKE_EXE_LINKER_FLAGS "${BASE_CMAKE_LINK_FLAGS}")
SET(CMAKE_C_COMPILER gcc)
SET(CMAKE_CXX_COMPILER g++)
# remove -03 optimization flag otherwise debugging will be annoying as hell
SET(CMAKE_CXX_FLAGS "-Wno-narrowing")
add_definitions(-DCODE_COMPILED_AS_PART_OF_TEST)
include_directories(${GTEST_LIBRARY}/include)