1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-07-01 01:23:17 +00:00
hyperrogue/rogueviz/ads/shapes.cpp
2022-09-11 12:16:50 +02:00

32 lines
1.3 KiB
C++

namespace hr {
namespace ads_game {
hpcshape shShip;
bool made;
vector<ld> shape_rock = { -0.0176894, 0.0952504, 0.0278998, 0.0966286, 0.0686721, 0.0455547, 0.110983, 0.0122558, 0.0994024, -0.0483395, 0.0517039, -0.0802772, -0.00271848, -0.0706804, -0.0564861, -0.08575, -0.100087, -0.0483411, -0.100031, -0.0102072, -0.0761486, 0.0292356, -0.0639653, 0.077575 };
vector<ld> shape_missile = {
/* 0.201073, 0.00513228, 0.161595, 0.0253201, -0.135796, 0.0245209, -0.194281, 0.0372705,
-0.194281, -0.0372705, -0.135796, -0.0245209, 0.161595, -0.0253201, 0.201073, -0.00513228 */
0.04, 0, 0.01, 0.02, -0.02, 0.02, -0.02, -0.02, 0.01, -0.02,
};
void make_shape() {
if(made) return;
made = true;
vector<ld> ship = {
0.100145, 0.00834541, 0.0810058, 0.0190602, 0.0356926, 0.0237951, 0.0619128, 0.0309564, 0.0631121, 0.0369146, 0.0333191, 0.038079, -0.0333481, 0.0702692, -0.0321308, 0.041651, -0.0380849, 0.0416554, -0.0380749, 0.0261765, -0.0273608, 0.023792
};
cgi.bshape(shShip, PPR::MONSTER_BODY);
int N = isize(ship);
for(int i=0; i<N; i += 2) cgi.hpcpush(hpxy(ship[i] - .03, ship[i+1]));
for(int i=N-2; i>=0; i-=2) cgi.hpcpush(hpxy(ship[i] - .03, -ship[i+1]));
cgi.hpcpush(hpxy(ship[0] - .03, ship[1]));
cgi.finishshape();
cgi.extra_vertices();
}
}}