From 692af65fa57001e06e3d15439b0b51e79b469345 Mon Sep 17 00:00:00 2001 From: Gimzie Date: Sun, 2 Jun 2024 20:18:07 -0500 Subject: [PATCH] MovIndicatorRenderer: Remove applyOffset --- coinkiller_data/spritedata.xml | 46 ++++++++++++++++--------- leveleditor/levelview.cpp | 8 ++--- objectrenderer.cpp | 61 +++++++++++++++++----------------- objectrenderer.h | 3 +- 4 files changed, 65 insertions(+), 53 deletions(-) diff --git a/coinkiller_data/spritedata.xml b/coinkiller_data/spritedata.xml index 5b1dd98..ba57557 100644 --- a/coinkiller_data/spritedata.xml +++ b/coinkiller_data/spritedata.xml @@ -434,9 +434,9 @@ Normal - Jump When Spawned + From Pipe Shot From Cannon - Frozen + About to Explode @@ -503,7 +503,7 @@ - + Left @@ -946,6 +946,7 @@ + @@ -2233,7 +2234,7 @@ Limit Until Both Players Cross Unknown Value 3 - + @@ -2249,7 +2250,7 @@ Limit Until Both Players Cross Unknown Value 3 - + @@ -2406,9 +2407,9 @@ Below Layer 1 Tiles - Towards Player - Right - Left + Towards Player/Up + Right/Up + Left/Down From Center @@ -3041,10 +3042,12 @@ - - + + + + - + 4 Tiles 5 Tiles @@ -3124,10 +3127,19 @@ - - - - + + Right + Left + Up + Down + Right/Up + Right/Down + Left/Up + Left/Down + + + + @@ -3627,8 +3639,10 @@ + - + + diff --git a/leveleditor/levelview.cpp b/leveleditor/levelview.cpp index dbe50cf..f1c9fce 100644 --- a/leveleditor/levelview.cpp +++ b/leveleditor/levelview.cpp @@ -400,16 +400,16 @@ void LevelView::paint(QPainter& painter, QRect rect, float zoomLvl, bool selecti switch (direction) { case 0: // Right - indicator = new MovIndicatorRenderer(x + s->getwidth(), y + s->getheight()/2, x + s->getwidth() + distance, y + s->getheight()/2, 2, 6, false, false, color); + indicator = new MovIndicatorRenderer(x + s->getwidth(), y + s->getheight()/2, x + s->getwidth() + distance, y + s->getheight()/2, 2, 6, false, color); break; case 1: // Left - indicator = new MovIndicatorRenderer(x, y + s->getheight()/2, x - distance, y + s->getheight()/2, 2, 6, false, false, color); + indicator = new MovIndicatorRenderer(x, y + s->getheight()/2, x - distance, y + s->getheight()/2, 2, 6, false, color); break; case 2: // Up - indicator = new MovIndicatorRenderer(x + s->getwidth()/2, y, x + s->getwidth()/2, y - distance, 2, 6, false, true, color); + indicator = new MovIndicatorRenderer(x + s->getwidth()/2, y, x + s->getwidth()/2, y - distance, 2, 6, true, color); break; default: // Down - indicator = new MovIndicatorRenderer(x + s->getwidth()/2, y + s->getheight(), x + s->getwidth()/2, y + s->getheight() + distance, 2, 6, false, true, color); + indicator = new MovIndicatorRenderer(x + s->getwidth()/2, y + s->getheight(), x + s->getwidth()/2, y + s->getheight() + distance, 2, 6, true, color); break; } diff --git a/objectrenderer.cpp b/objectrenderer.cpp index 6b0846d..15a0247 100644 --- a/objectrenderer.cpp +++ b/objectrenderer.cpp @@ -870,10 +870,10 @@ void CircleRenderer::render(QPainter *painter, QRect *) } MovIndicatorRenderer::MovIndicatorRenderer(int startX, int startY, int endX, int endY, bool vertical, QColor color) -: MovIndicatorRenderer::MovIndicatorRenderer(startX, startY, endX, endY, 4, 10, true, vertical, color) +: MovIndicatorRenderer::MovIndicatorRenderer(startX, startY, endX, endY, 4, 10, vertical, color) {} -MovIndicatorRenderer::MovIndicatorRenderer(int startX, int startY, int endX, int endY, int thickness, int radius, bool applyOffset, bool vertical, QColor color) +MovIndicatorRenderer::MovIndicatorRenderer(int startX, int startY, int endX, int endY, int thickness, int radius, bool vertical, QColor color) { this->startX = startX; this->startY = startY; @@ -881,7 +881,6 @@ MovIndicatorRenderer::MovIndicatorRenderer(int startX, int startY, int endX, int this->endY = endY; this->thickness = thickness; this->radius = radius; - this->applyOffset = applyOffset; this->vertical = vertical; this->color = color; } @@ -910,26 +909,26 @@ void MovIndicatorRenderer::render(QPainter *painter) { if (endY < startY) // Go Up { - painter->drawLine(startX, startY+(20*applyOffset)+(radius/2*!applyOffset), startX, endY+(20*applyOffset)+(radius*2*!applyOffset)-2); - painter->drawEllipse(startX-(radius/2), endY+(radius/2), radius, radius); + painter->drawLine(startX, startY + (radius/2), startX, endY + (radius*2) - 2); + painter->drawEllipse(startX - (radius/2), endY + (radius/2), radius, radius); } else // Go Down { - painter->drawLine(startX, startY-(20*applyOffset), startX, endY-(20*applyOffset)-(radius*2*!applyOffset)+2); - painter->drawEllipse(startX-(radius/2), endY-(1.5*radius), radius, radius); + painter->drawLine(startX, startY, startX, endY - (radius*2) + 2); + painter->drawEllipse(startX - (radius/2), endY - (1.5*radius), radius, radius); } } else { if (endX < startX) // Go Left { - painter->drawLine(startX+(20*applyOffset), startY, endX+(20*applyOffset)+(radius*2*!applyOffset)-2, startY); - painter->drawEllipse(endX+(radius/2), startY-(radius/2), radius, radius); + painter->drawLine(startX, startY, endX + (radius*2) - 2, startY); + painter->drawEllipse(endX + (radius/2), startY - (radius/2), radius, radius); } else // Go Right { - painter->drawLine(startX-(20*applyOffset), startY, endX-(20*applyOffset)-(radius*2*!applyOffset)+2, startY); - painter->drawEllipse(endX-(1.5*radius), startY-(radius/2), radius, radius); + painter->drawLine(startX, startY, endX - (radius*2) + 2, startY); + painter->drawEllipse(endX - (1.5*radius), startY - (radius/2), radius, radius); } } } @@ -2230,7 +2229,7 @@ void LiftRenderer::render(QPainter *painter, QRect *) { if (spr->getid() == 145 || spr->getid() == 254) { - MovIndicatorRenderer track(spr->getx()+spr->getwidth()/2, spr->gety()+spr->getheight()+13, spr->getx()+spr->getwidth()/2, spr->gety()+spr->getheight()+distance, true, QColor(244,250,255)); + MovIndicatorRenderer track(spr->getx()+spr->getwidth()/2, spr->gety()+spr->getheight(), spr->getx()+spr->getwidth()/2, spr->gety()+spr->getheight()+distance, true, QColor(244,250,255)); track.render(painter); } else @@ -2552,12 +2551,12 @@ void KoopaParatroopaRenderer::render(QPainter *painter, QRect *drawrect) if (spr->getNybble(8) == 1) // right { - MovIndicatorRenderer indicator(x+spr->getwidth(), y, x+spr->getwidth()+distance, y, false, QColor(244,250,255)); + MovIndicatorRenderer indicator(x+spr->getwidth()-20, y, x+spr->getwidth()+distance, y, false, QColor(244,250,255)); indicator.render(painter); } else // left { - MovIndicatorRenderer indicator(x, y, x-distance, y, false, QColor(244,250,255)); + MovIndicatorRenderer indicator(x+20, y, x-distance, y, false, QColor(244,250,255)); indicator.render(painter); } } @@ -2567,10 +2566,10 @@ void KoopaParatroopaRenderer::render(QPainter *painter, QRect *drawrect) if (spr->getNybble(8)%2) offsetx = -2; - MovIndicatorRenderer rightIndicator(x+spr->getwidth()+offsetx, y, x+spr->getwidth()+distance+offsetx, y, false, QColor(244,250,255)); + MovIndicatorRenderer rightIndicator(x+spr->getwidth()+offsetx-20, y, x+spr->getwidth()+distance+offsetx, y, false, QColor(244,250,255)); rightIndicator.render(painter); - MovIndicatorRenderer leftIndicator(x+offsetx, y, x-distance+offsetx, y, false, QColor(244,250,255)); + MovIndicatorRenderer leftIndicator(x+offsetx+20, y, x-distance+offsetx, y, false, QColor(244,250,255)); leftIndicator.render(painter); } } @@ -2584,12 +2583,12 @@ void KoopaParatroopaRenderer::render(QPainter *painter, QRect *drawrect) { distance = 160; - if (spr->getNybble(8) == 1) // bottom + if (spr->getNybble(8) < 2) // Up { - MovIndicatorRenderer indicator(x, y, x, y-distance+10, true, QColor(244,250,255)); + MovIndicatorRenderer indicator(x, y+20, x, y-distance+10, true, QColor(244,250,255)); indicator.render(painter); } - else // top + else // Down { MovIndicatorRenderer indicator(x, y+spr->getheight(), x, y+spr->getheight()+distance, true, QColor(244,250,255)); indicator.render(painter); @@ -2601,10 +2600,10 @@ void KoopaParatroopaRenderer::render(QPainter *painter, QRect *drawrect) if (spr->getNybble(8)%2) offsetx = -2; - MovIndicatorRenderer topIndicator(x, y, x, y-distance+10, true, QColor(244,250,255)); + MovIndicatorRenderer topIndicator(x, y+35, x, y-distance+10, true, QColor(244,250,255)); topIndicator.render(painter); - MovIndicatorRenderer bottomIndicator(x, y+spr->getheight(), x, y+spr->getheight()+distance, true, QColor(244,250,255)); + MovIndicatorRenderer bottomIndicator(x, y+spr->getheight()-20, x, y+spr->getheight()+distance, true, QColor(244,250,255)); bottomIndicator.render(painter); } } @@ -2664,10 +2663,10 @@ void CheepCheepRenderer::render(QPainter *painter, QRect *drawrect) int y = spr->gety()+spr->getheight()/2; - MovIndicatorRenderer rightIndicator(spr->getx()+spr->getwidth()+10, y, spr->getx()+spr->getwidth()+distance, y, false, QColor(244,250,255)); + MovIndicatorRenderer rightIndicator(spr->getx()+spr->getwidth()-10, y, spr->getx()+spr->getwidth()+distance, y, false, QColor(244,250,255)); rightIndicator.render(painter); - MovIndicatorRenderer leftIndicator(spr->getx()-10, y, spr->getx()-distance, y, false, QColor(244,250,255)); + MovIndicatorRenderer leftIndicator(spr->getx()+10, y, spr->getx()-distance, y, false, QColor(244,250,255)); leftIndicator.render(painter); } @@ -2737,10 +2736,10 @@ void SpinyCheepRenderer::render(QPainter *painter, QRect *drawrect) if (spr->getNybble(4)%3 == 2) offset = 2; - MovIndicatorRenderer rightIndicator(x+spr->getwidth()+10, y, x+spr->getwidth()+distance + offset, y, false, QColor(244,250,255)); + MovIndicatorRenderer rightIndicator(x+spr->getwidth()-10, y, x+spr->getwidth()+distance + offset, y, false, QColor(244,250,255)); rightIndicator.render(painter); - MovIndicatorRenderer leftIndicator(x-10 - offset, y, x-distance, y, false, QColor(244,250,255)); + MovIndicatorRenderer leftIndicator(x + 10 - offset, y, x-distance, y, false, QColor(244,250,255)); leftIndicator.render(painter); img->render(painter, drawrect); @@ -3480,7 +3479,7 @@ void UrchinRenderer::render(QPainter *painter, QRect *drawrect) { if (spr->getNybble(9)) // Start at Top { - MovIndicatorRenderer track(x+spr->getwidth()/2, y+spr->getheight(), x+spr->getwidth()/2, y+spr->getheight()+distance, true, QColor(244,250,255)); + MovIndicatorRenderer track(x+spr->getwidth()/2, y+spr->getheight()-10, x+spr->getwidth()/2, y+spr->getheight()+distance, true, QColor(244,250,255)); track.render(painter); } else // Start at Bottom @@ -3496,7 +3495,7 @@ void UrchinRenderer::render(QPainter *painter, QRect *drawrect) MovIndicatorRenderer upTrack(x+spr->getwidth()/2, y, x+spr->getwidth()/2, y-distance, true, QColor(244,250,255)); upTrack.render(painter); - MovIndicatorRenderer downTrack(x+spr->getwidth()/2, y+spr->getheight(), x+spr->getwidth()/2, y+spr->getheight()+distance, true, QColor(244,250,255)); + MovIndicatorRenderer downTrack(x+spr->getwidth()/2, y+spr->getheight()-10, x+spr->getwidth()/2, y+spr->getheight()+distance, true, QColor(244,250,255)); downTrack.render(painter); } } @@ -3506,12 +3505,12 @@ void UrchinRenderer::render(QPainter *painter, QRect *drawrect) { if (spr->getNybble(9)) // Start at Right { - MovIndicatorRenderer leftTrack(x, y+spr->getheight()/2, x-distance, y+spr->getheight()/2, false, QColor(244,250,255)); + MovIndicatorRenderer leftTrack(x+20, y+spr->getheight()/2, x-distance, y+spr->getheight()/2, false, QColor(244,250,255)); leftTrack.render(painter); } else // Start at Left { - MovIndicatorRenderer rightTrack(x+spr->getwidth(), y+spr->getheight()/2, x+spr->getwidth()+distance, y+spr->getheight(), false, QColor(244,250,255)); + MovIndicatorRenderer rightTrack(x+spr->getwidth()-20, y+spr->getheight()/2, x+spr->getwidth()+distance, y+spr->getheight(), false, QColor(244,250,255)); rightTrack.render(painter); } } @@ -3519,10 +3518,10 @@ void UrchinRenderer::render(QPainter *painter, QRect *drawrect) { distance = distance/2; - MovIndicatorRenderer leftTrack(x, y+spr->getheight()/2, x-distance, y+spr->getheight()/2, false, QColor(244,250,255)); + MovIndicatorRenderer leftTrack(x+20, y+spr->getheight()/2, x-distance, y+spr->getheight()/2, false, QColor(244,250,255)); leftTrack.render(painter); - MovIndicatorRenderer rightTrack(x+spr->getwidth(), y+spr->getheight()/2, x+spr->getwidth()+distance, y+spr->getheight(), false, QColor(244,250,255)); + MovIndicatorRenderer rightTrack(x+spr->getwidth()-20, y+spr->getheight()/2, x+spr->getwidth()+distance, y+spr->getheight(), false, QColor(244,250,255)); rightTrack.render(painter); } } diff --git a/objectrenderer.h b/objectrenderer.h index c163333..ad627e9 100644 --- a/objectrenderer.h +++ b/objectrenderer.h @@ -88,7 +88,7 @@ class MovIndicatorRenderer: public ObjectRenderer public: MovIndicatorRenderer(); MovIndicatorRenderer(int startX, int startY, int endX, int endY, bool vertical, QColor color); - MovIndicatorRenderer(int startX, int startY, int endX, int endY, int thickness, int radius, bool applyOffset, bool vertical, QColor color); + MovIndicatorRenderer(int startX, int startY, int endX, int endY, int thickness, int radius, bool vertical, QColor color); using ObjectRenderer::render; void render(QPainter *painter); protected: @@ -98,7 +98,6 @@ class MovIndicatorRenderer: public ObjectRenderer int endY; int thickness; int radius; - bool applyOffset; bool vertical; QColor color; };