parent
7e371f6779
commit
1bf30f4392
@ -0,0 +1,137 @@ |
||||
#include "drawutil.h" |
||||
#include "Crawler.h" |
||||
#include "DEFINES.h" |
||||
|
||||
INCLUDE_game |
||||
|
||||
void drawutil::DrawCrosshair(Crawler*game,geom2d::rect<float>rect,float accTime,float pulsatingAmt,float borderThickness){ |
||||
vf2d crosshairExtension={std::min(0.25f*rect.size.x-borderThickness/2,12.f),std::min(0.25f*rect.size.y-borderThickness/2,12.f)}; |
||||
vf2d pulseAmt=vf2d{1,1}*std::abs(std::sin(accTime*3))*2; |
||||
//Lower-Left Corner
|
||||
vf2d pos=rect.pos+vf2d{0,rect.size.y-borderThickness}+vf2d{-pulseAmt.x,pulseAmt.y}; |
||||
vf2d size={borderThickness+crosshairExtension.x,borderThickness}; |
||||
game->FillRect(pos,size,RED); |
||||
pos=vf2d{pos.x,pos.y-crosshairExtension.y}; |
||||
size={borderThickness,crosshairExtension.y}; |
||||
game->FillRect(pos,size,RED); |
||||
//Lower-Right Corner
|
||||
pos=rect.pos+vf2d{rect.size.x-borderThickness-crosshairExtension.x,rect.size.y-borderThickness}+vf2d{pulseAmt.x,pulseAmt.y}; |
||||
size={borderThickness+crosshairExtension.x,borderThickness}; |
||||
game->FillRect(pos,size,RED); |
||||
pos=vf2d{pos.x+crosshairExtension.x,pos.y-crosshairExtension.y}; |
||||
size={borderThickness,crosshairExtension.y}; |
||||
game->FillRect(pos,size,RED); |
||||
//Upper-Left Corner
|
||||
pos=rect.pos+vf2d{0,0}+vf2d{-pulseAmt.x,-pulseAmt.y}; |
||||
size={borderThickness+crosshairExtension.x,borderThickness}; |
||||
game->FillRect(pos,size,RED); |
||||
pos=vf2d{pos.x,pos.y+borderThickness}; |
||||
size={borderThickness,crosshairExtension.y}; |
||||
game->FillRect(pos,size,RED); |
||||
//Upper-Right Corner
|
||||
pos=rect.pos+vf2d{rect.size.x-borderThickness-crosshairExtension.x,0}+vf2d{pulseAmt.x,-pulseAmt.y}; |
||||
size={borderThickness+crosshairExtension.x,borderThickness}; |
||||
game->FillRect(pos,size,RED); |
||||
pos=vf2d{pos.x+crosshairExtension.x,pos.y+borderThickness}; |
||||
size={borderThickness,crosshairExtension.y}; |
||||
game->FillRect(pos,size,RED); |
||||
}; |
||||
|
||||
void drawutil::DrawCrosshairTransformedView(olc::TransformedView&view,geom2d::rect<float>rect,float accTime,float pulsatingAmt,float borderThickness){ |
||||
vf2d crosshairExtension={std::min(0.25f*rect.size.x-borderThickness/2,12.f),std::min(0.25f*rect.size.y-borderThickness/2,12.f)}; |
||||
vf2d pulseAmt=vf2d{1,1}*std::abs(std::sin(accTime*3))*2; |
||||
//Lower-Left Corner
|
||||
vf2d pos=rect.pos+vf2d{0,rect.size.y-borderThickness}+vf2d{-pulseAmt.x,pulseAmt.y}; |
||||
vf2d size={borderThickness+crosshairExtension.x,borderThickness}; |
||||
game->view.FillRect(pos,size,RED); |
||||
pos=vf2d{pos.x,pos.y-crosshairExtension.y}; |
||||
size={borderThickness,crosshairExtension.y}; |
||||
game->view.FillRect(pos,size,RED); |
||||
//Lower-Right Corner
|
||||
pos=rect.pos+vf2d{rect.size.x-borderThickness-crosshairExtension.x,rect.size.y-borderThickness}+vf2d{pulseAmt.x,pulseAmt.y}; |
||||
size={borderThickness+crosshairExtension.x,borderThickness}; |
||||
game->view.FillRect(pos,size,RED); |
||||
pos=vf2d{pos.x+crosshairExtension.x,pos.y-crosshairExtension.y}; |
||||
size={borderThickness,crosshairExtension.y}; |
||||
game->view.FillRect(pos,size,RED); |
||||
//Upper-Left Corner
|
||||
pos=rect.pos+vf2d{0,0}+vf2d{-pulseAmt.x,-pulseAmt.y}; |
||||
size={borderThickness+crosshairExtension.x,borderThickness}; |
||||
game->view.FillRect(pos,size,RED); |
||||
pos=vf2d{pos.x,pos.y+borderThickness}; |
||||
size={borderThickness,crosshairExtension.y}; |
||||
game->view.FillRect(pos,size,RED); |
||||
//Upper-Right Corner
|
||||
pos=rect.pos+vf2d{rect.size.x-borderThickness-crosshairExtension.x,0}+vf2d{pulseAmt.x,-pulseAmt.y}; |
||||
size={borderThickness+crosshairExtension.x,borderThickness}; |
||||
game->view.FillRect(pos,size,RED); |
||||
pos=vf2d{pos.x+crosshairExtension.x,pos.y+borderThickness}; |
||||
size={borderThickness,crosshairExtension.y}; |
||||
game->view.FillRect(pos,size,RED); |
||||
} |
||||
|
||||
void drawutil::DrawCrosshairDecal(Crawler*game,geom2d::rect<float>rect,float accTime,float pulsatingAmt,float borderThickness){ |
||||
vf2d crosshairExtension={std::min(0.25f*rect.size.x-borderThickness/2,12.f),std::min(0.25f*rect.size.y-borderThickness/2,12.f)}; |
||||
vf2d pulseAmt=vf2d{1,1}*std::abs(std::sin(accTime*3))*2; |
||||
//Lower-Left Corner
|
||||
vf2d pos=rect.pos+vf2d{0,rect.size.y-borderThickness}+vf2d{-pulseAmt.x,pulseAmt.y}; |
||||
vf2d size={borderThickness+crosshairExtension.x,borderThickness}; |
||||
game->FillRectDecal(pos,size,RED); |
||||
pos=vf2d{pos.x,pos.y-crosshairExtension.y}; |
||||
size={borderThickness,crosshairExtension.y}; |
||||
game->FillRectDecal(pos,size,RED); |
||||
//Lower-Right Corner
|
||||
pos=rect.pos+vf2d{rect.size.x-borderThickness-crosshairExtension.x,rect.size.y-borderThickness}+vf2d{pulseAmt.x,pulseAmt.y}; |
||||
size={borderThickness+crosshairExtension.x,borderThickness}; |
||||
game->FillRectDecal(pos,size,RED); |
||||
pos=vf2d{pos.x+crosshairExtension.x,pos.y-crosshairExtension.y}; |
||||
size={borderThickness,crosshairExtension.y}; |
||||
game->FillRectDecal(pos,size,RED); |
||||
//Upper-Left Corner
|
||||
pos=rect.pos+vf2d{0,0}+vf2d{-pulseAmt.x,-pulseAmt.y}; |
||||
size={borderThickness+crosshairExtension.x,borderThickness}; |
||||
game->FillRectDecal(pos,size,RED); |
||||
pos=vf2d{pos.x,pos.y+borderThickness}; |
||||
size={borderThickness,crosshairExtension.y}; |
||||
game->FillRectDecal(pos,size,RED); |
||||
//Upper-Right Corner
|
||||
pos=rect.pos+vf2d{rect.size.x-borderThickness-crosshairExtension.x,0}+vf2d{pulseAmt.x,-pulseAmt.y}; |
||||
size={borderThickness+crosshairExtension.x,borderThickness}; |
||||
game->FillRectDecal(pos,size,RED); |
||||
pos=vf2d{pos.x+crosshairExtension.x,pos.y+borderThickness}; |
||||
size={borderThickness,crosshairExtension.y}; |
||||
game->FillRectDecal(pos,size,RED); |
||||
}; |
||||
|
||||
void drawutil::DrawCrosshairDecalTransformedView(olc::TransformedView&view,geom2d::rect<float>rect,float accTime,float pulsatingAmt,float borderThickness){ |
||||
vf2d crosshairExtension={std::min(0.25f*rect.size.x-borderThickness/2,12.f),std::min(0.25f*rect.size.y-borderThickness/2,12.f)}; |
||||
vf2d pulseAmt=vf2d{1,1}*std::abs(std::sin(accTime*3))*2; |
||||
//Lower-Left Corner
|
||||
vf2d pos=rect.pos+vf2d{0,rect.size.y-borderThickness}+vf2d{-pulseAmt.x,pulseAmt.y}; |
||||
vf2d size={borderThickness+crosshairExtension.x,borderThickness}; |
||||
game->view.FillRectDecal(pos,size,RED); |
||||
pos=vf2d{pos.x,pos.y-crosshairExtension.y}; |
||||
size={borderThickness,crosshairExtension.y}; |
||||
game->view.FillRectDecal(pos,size,RED); |
||||
//Lower-Right Corner
|
||||
pos=rect.pos+vf2d{rect.size.x-borderThickness-crosshairExtension.x,rect.size.y-borderThickness}+vf2d{pulseAmt.x,pulseAmt.y}; |
||||
size={borderThickness+crosshairExtension.x,borderThickness}; |
||||
game->view.FillRectDecal(pos,size,RED); |
||||
pos=vf2d{pos.x+crosshairExtension.x,pos.y-crosshairExtension.y}; |
||||
size={borderThickness,crosshairExtension.y}; |
||||
game->view.FillRectDecal(pos,size,RED); |
||||
//Upper-Left Corner
|
||||
pos=rect.pos+vf2d{0,0}+vf2d{-pulseAmt.x,-pulseAmt.y}; |
||||
size={borderThickness+crosshairExtension.x,borderThickness}; |
||||
game->view.FillRectDecal(pos,size,RED); |
||||
pos=vf2d{pos.x,pos.y+borderThickness}; |
||||
size={borderThickness,crosshairExtension.y}; |
||||
game->view.FillRectDecal(pos,size,RED); |
||||
//Upper-Right Corner
|
||||
pos=rect.pos+vf2d{rect.size.x-borderThickness-crosshairExtension.x,0}+vf2d{pulseAmt.x,-pulseAmt.y}; |
||||
size={borderThickness+crosshairExtension.x,borderThickness}; |
||||
game->view.FillRectDecal(pos,size,RED); |
||||
pos=vf2d{pos.x+crosshairExtension.x,pos.y+borderThickness}; |
||||
size={borderThickness,crosshairExtension.y}; |
||||
game->view.FillRectDecal(pos,size,RED); |
||||
} |
@ -0,0 +1,11 @@ |
||||
#pragma once |
||||
#include "olcUTIL_Geometry2D.h" |
||||
#include "olcPGEX_TransformedView.h" |
||||
class Crawler; |
||||
|
||||
namespace drawutil{ |
||||
void DrawCrosshair(Crawler*game,geom2d::rect<float>rect,float accTime,float pulsatingAmt=2,float borderThickness=4); |
||||
void DrawCrosshairTransformedView(TransformedView&view,geom2d::rect<float>rect,float accTime,float pulsatingAmt=2,float borderThickness=4); |
||||
void DrawCrosshairDecal(Crawler*game,geom2d::rect<float>rect,float accTime,float pulsatingAmt=2,float borderThickness=4); |
||||
void DrawCrosshairDecalTransformedView(TransformedView&view,geom2d::rect<float>rect,float accTime,float pulsatingAmt=2,float borderThickness=4); |
||||
} |
@ -1,4 +1,4 @@ |
||||
#include "utils.h" |
||||
#include "util.h" |
||||
#include "olcPixelGameEngine.h" |
||||
|
||||
float util::random(float range){ |
Loading…
Reference in new issue