macros rework

This commit is contained in:
Frank Villaro-Dixon 2015-01-02 15:01:19 +01:00
parent 36560d067f
commit 4cc5cc82d6
4 changed files with 22 additions and 29 deletions

View file

@ -77,29 +77,26 @@ get_circle_vertice(int angle, int dist) { //{{{
p.x = cos((double)angle*2*M_PI/ANGLE_MAX) * dist;
p.y = sin((double)angle*2*M_PI/ANGLE_MAX) * dist;
OFFSET_POINT(p);
OFFSET_POINT_2SCREEN(p);
return p;
} //}}}
SDL_Point
to_screen_coords(struct s_game *g, SDL_Point p) { //{{{
SDL_Point q;
SDL_Point pp;
p.x -= SCREEN_WIDTH/2;
p.y -= SCREEN_HEIGHT/2;
float angle = TO_RAD(g->general_rotation);
q.x = p.x * cos(angle) - p.y * sin(angle);
q.y = p.x * sin(angle) + p.y * cos(angle);
OFFSET_POINT_2IT(p);
pp.x = p.x * cos(angle) - p.y * sin(angle);
pp.y = p.x * sin(angle) + p.y * cos(angle);
// pp.x *= g->sexual_pulsation;
// pp.y *= g->sexual_pulsation;
OFFSET_POINT_2SCREEN(pp);
// q.x *= g->sexual_pulsation;
// q.y *= g->sexual_pulsation;
q.x += SCREEN_WIDTH/2;
q.y += SCREEN_HEIGHT/2;
return q;
return pp;
}//}}}
void

View file

@ -17,12 +17,10 @@
#define CLEVER_MODULO(n, mod) do { while(n < 0) { n += mod; };;;; n %= mod; } while(0);
#define DEC_COLOR 0x00020202
#define DIVIDE_COLOR(color, times) (((color) & 0x00ff0000 / (times)) | ((color) & 0x0000ff00 / (times)) | ((color) & 0x000000ff / (times)))
////POLYGON
#define POLYGON_SIZE 50
#define POLYGON_THICK 15
//SHAPES
#define SHAPE_TRIANGLE 3
#define SHAPE_SQUARE 4
@ -30,14 +28,17 @@
#define SHAPE_HEXAGON 6
#define SHAPE_THICK 60
#define DFT_OBS_SPEED (SHAPE_THICK / 15)
#define CURSOR_DIST (POLYGON_SIZE + POLYGON_THICK + 20)
#define CURSOR_DEG_FRAME (24 / g->polygon_type)
#define ANGLE_MAX 3600
#define OFFSET_POINT(p) {p.x += SCREEN_WIDTH/2; p.y += SCREEN_HEIGHT/2;}
#define MAX(a, b) (a < b) ? (b) : (a)
#define OFFSET_POINT_2IT(p) {p.x -= SCREEN_WIDTH/2; p.y -= SCREEN_HEIGHT/2;}
#define OFFSET_POINT_2SCREEN(p) {p.x += SCREEN_WIDTH/2; p.y += SCREEN_HEIGHT/2;}
#define MAX(a, b) (((a) > (b) ? (a) : (b)))
#define TO_DEG(x) (x*ANGLE_MAX/360)
#define TO_RAD(x) (x * 2 * M_PI / ANGLE_MAX)
@ -53,7 +54,6 @@ struct s_obstacle {
};
struct s_game {
#define CURSOR_POS_MAX 255
int cursor_angle; //relative to the polygon center's referential
int general_rotation;
float sexual_pulsation;

View file

@ -30,18 +30,14 @@ start:
while(1) {
//clear the screen
SDL_FillRect(ga.screen, NULL, 0);
if(did_have_beat(&ga)) {
ga.sexual_pulsation = 60;
puts("Pulse");
}
/*
if(!(ga.counter % 28)) {
add_random_obstacle(&ga);
}
*/
if(get_max_obs_dist(&ga) < SCREEN_DIAGONAL)
add_pattern(&ga);
@ -50,7 +46,7 @@ start:
SDL_Flip(ga.screen);
if(check_collisions(&ga)) {
puts("PERDU, connard !");
puts("PERDU");
SDL_Delay(2000);
goto start;
}

View file

@ -23,7 +23,7 @@ get_hexagon_vertice(int faceno, int dist) { //{{{
p1.x = dist * cos((M_PI/3)*faceno);
p1.y = dist * sin((M_PI/3)*faceno);
OFFSET_POINT(p1);
OFFSET_POINT_2SCREEN(p1);
return p1;
} //}}}
@ -34,7 +34,7 @@ get_square_vertice(int faceno, int dist) { //{{{
p1.x = dist * cos((M_PI/2)*faceno);
p1.y = dist * sin((M_PI/2)*faceno);
OFFSET_POINT(p1);
OFFSET_POINT_2SCREEN(p1);
return p1;
} //}}}
@ -45,7 +45,7 @@ get_triangle_vertice(int faceno, int dist) { //{{{
p1.x = dist * cos((2*M_PI/3)*faceno);
p1.y = dist * sin((2*M_PI/3)*faceno);
OFFSET_POINT(p1);
OFFSET_POINT_2SCREEN(p1);
return p1;
} //}}}