void DrawScale(CIwFVec2 aim) { Iw2DSetColour(0xffffffff); for (int i = RANGE_X.x; i <= RANGE_X.y; i += 10) { if ((i - RANGE_X.x) % 100 == 0) { Iw2DDrawLine(CIwFVec2(i, GAME_HEIGHT + 10), CIwFVec2(i, GAME_HEIGHT + 50)); } else { Iw2DDrawLine(CIwFVec2(i, GAME_HEIGHT + 20), CIwFVec2(i, GAME_HEIGHT + 40)); } } for (int i = RANGE_Y.x; i <= RANGE_Y.y; i += 10) { if ((i - RANGE_Y.x) % 100 == 0) { Iw2DDrawLine(CIwFVec2(GAME_WIDTH + 10, i), CIwFVec2(GAME_WIDTH + 50, i)); } else { Iw2DDrawLine(CIwFVec2(GAME_WIDTH + 20, i), CIwFVec2(GAME_WIDTH + 40, i)); } } CIwFVec2 triangle_x[] = { CIwFVec2(aim.x, GAME_HEIGHT + 20), CIwFVec2(aim.x + 10, GAME_HEIGHT + 40), CIwFVec2(aim.x - 10, GAME_HEIGHT + 40) }; CIwFVec2 triangle_y[] = { CIwFVec2(GAME_WIDTH + 20, aim.y), CIwFVec2(GAME_WIDTH + 40, aim.y - 10), CIwFVec2(GAME_WIDTH + 40, aim.y + 10) }; Iw2DFillPolygon(triangle_x, 3); Iw2DFillPolygon(triangle_y, 3); Iw2DDrawLine(CIwFVec2(aim.x - 10, aim.y), CIwFVec2(aim.x + 10, aim.y)); Iw2DDrawLine(CIwFVec2(aim.x, aim.y - 10), CIwFVec2(aim.x, aim.y + 10)); Iw2DDrawLine(CIwFVec2(aim.x - 5, aim.y - 10), CIwFVec2(aim.x + 5, aim.y - 10)); Iw2DDrawLine(CIwFVec2(aim.x - 5, aim.y + 10), CIwFVec2(aim.x + 5, aim.y + 10)); Iw2DDrawLine(CIwFVec2(aim.x - 10, aim.y - 5), CIwFVec2(aim.x - 10, aim.y + 5)); Iw2DDrawLine(CIwFVec2(aim.x + 10, aim.y - 5), CIwFVec2(aim.x + 10, aim.y + 5)); }
void Scythe::draw() { IW_CALLSTACK("Scythe::draw"); if(this->bDrawn) return; // TODO: Add some colors to ropes, if we want to keep the ropes like this at all this->DarkGreen.Set(0 , this->green, 127, 255 ); this->LightGreen.Set( 0, 255 - this->green, 127, 255); for(int i = -ROPETHICKNESS; i < ROPETHICKNESS; ++i) { if(i == -ROPETHICKNESS || i == ROPETHICKNESS || i == ROPETHICKNESS / 2) { Iw2DSetColour(this->LightGreen); } else Iw2DSetColour(this->DarkGreen); Iw2DDrawLine(this->getRotatedCoords(CIwSVec2(this->i2Position.x + this->i2Size.x/2, this->i2Position.y - i)), CIwSVec2(this->rotAxis.x, this->rotAxis.y - i/2)); } Iw2DSetColour(0xFFFFFFFF); if ( this->iTimePassed > 32) { if ( this->up ) { ++this->green; } else { --this->green; } if ( this->green >= 255 || this->green <= 0) { this->up = !this->up; } this->iTimePassed = 0; } Iw2DSetTransformMatrix(mRot); //pushmatrix Unit::draw(); Iw2DSetTransformMatrix(CIwMat2D::g_Identity); //popmatrix }