1
0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-06-01 18:43:33 +02:00

Use SDL_Point instead of rolling our own point struct

The `point` struct was a relic of ActionScript and was added because of
the Flash 'point' object. However, it seems like Simon Roth didn't
realize that SDL has its own point struct.

With this, `Maths.h` can be un-included from a couple headers, which
exposes the fact that `preloader.cpp` was relying on `Maths.h` being
transitively included from `Graphics.h`.
This commit is contained in:
Misa 2023-01-28 23:32:14 -08:00
parent c7098f84e5
commit fbc9b3ddd7
9 changed files with 17 additions and 21 deletions

View File

@ -610,7 +610,7 @@ void editorrender(void)
// Draw entities backward to remain accurate with ingame // Draw entities backward to remain accurate with ingame
for (int i = customentities.size() - 1; i >= 0; i--) for (int i = customentities.size() - 1; i >= 0; i--)
{ {
point tpoint; SDL_Point tpoint;
SDL_Rect drawRect; SDL_Rect drawRect;
//if() on screen //if() on screen
@ -928,7 +928,7 @@ void editorrender(void)
if (i <= ed.currentghosts) { // We don't want all of them to show up at once :) if (i <= ed.currentghosts) { // We don't want all of them to show up at once :)
if (ed.ghosts[i].rx != ed.levx || ed.ghosts[i].ry != ed.levy) if (ed.ghosts[i].rx != ed.levx || ed.ghosts[i].ry != ed.levy)
continue; continue;
point tpoint; SDL_Point tpoint;
tpoint.x = ed.ghosts[i].x; tpoint.x = ed.ghosts[i].x;
tpoint.y = ed.ghosts[i].y; tpoint.y = ed.ghosts[i].y;
SDL_Color ct = ed.ghosts[i].realcol; SDL_Color ct = ed.ghosts[i].realcol;

View File

@ -9,6 +9,7 @@
#include "Graphics.h" #include "Graphics.h"
#include "Localization.h" #include "Localization.h"
#include "Map.h" #include "Map.h"
#include "Maths.h"
#include "Music.h" #include "Music.h"
#include "Script.h" #include "Script.h"
#include "UtilityClass.h" #include "UtilityClass.h"
@ -4777,10 +4778,10 @@ void entityclass::collisioncheck(int i, int j, bool scm /*= false*/)
if (entities[i].size == 0 && (entities[j].size == 0 || entities[j].size == 12)) if (entities[i].size == 0 && (entities[j].size == 0 || entities[j].size == 12))
{ {
//They're both sprites, so do a per pixel collision //They're both sprites, so do a per pixel collision
point colpoint1; SDL_Point colpoint1;
colpoint1.x = entities[i].xp; colpoint1.x = entities[i].xp;
colpoint1.y = entities[i].yp; colpoint1.y = entities[i].yp;
point colpoint2; SDL_Point colpoint2;
colpoint2.x = entities[j].xp; colpoint2.x = entities[j].xp;
colpoint2.y = entities[j].yp; colpoint2.y = entities[j].yp;
int drawframe1 = entities[i].collisiondrawframe; int drawframe1 = entities[i].collisiondrawframe;

View File

@ -13,6 +13,7 @@
#include "GraphicsUtil.h" #include "GraphicsUtil.h"
#include "Localization.h" #include "Localization.h"
#include "Map.h" #include "Map.h"
#include "Maths.h"
#include "Music.h" #include "Music.h"
#include "RoomnameTranslator.h" #include "RoomnameTranslator.h"
#include "Screen.h" #include "Screen.h"
@ -2006,7 +2007,7 @@ void Graphics::drawcoloredtile(
} }
bool Graphics::Hitest(SDL_Surface* surface1, point p1, SDL_Surface* surface2, point p2) bool Graphics::Hitest(SDL_Surface* surface1, SDL_Point p1, SDL_Surface* surface2, SDL_Point p2)
{ {
//find rectangle where they intersect: //find rectangle where they intersect:
@ -2255,7 +2256,7 @@ void Graphics::drawentity(const int i, const int yoff)
return; return;
} }
point tpoint; SDL_Point tpoint;
SDL_Rect drawRect; SDL_Rect drawRect;
@ -2290,7 +2291,7 @@ void Graphics::drawentity(const int i, const int yoff)
draw_grid_tile(sprites, obj.entities[i].drawframe, drawRect.x, drawRect.y, 32, 32, ct); draw_grid_tile(sprites, obj.entities[i].drawframe, drawRect.x, drawRect.y, 32, 32, ct);
//screenwrapping! //screenwrapping!
point wrappedPoint; SDL_Point wrappedPoint;
bool wrapX = false; bool wrapX = false;
bool wrapY = false; bool wrapY = false;

View File

@ -7,7 +7,6 @@
#include "Game.h" #include "Game.h"
#include "GraphicsResources.h" #include "GraphicsResources.h"
#include "Maths.h"
#include "Textbox.h" #include "Textbox.h"
#include "TowerBG.h" #include "TowerBG.h"
@ -246,7 +245,7 @@ public:
void renderfixedpre(void); void renderfixedpre(void);
void renderfixedpost(void); void renderfixedpost(void);
bool Hitest(SDL_Surface* surface1, point p1, SDL_Surface* surface2, point p2); bool Hitest(SDL_Surface* surface1, SDL_Point p1, SDL_Surface* surface2, SDL_Point p2);
void drawentities(void); void drawentities(void);

View File

@ -3195,7 +3195,7 @@ void teleporterinput(void)
{ {
for (size_t i = 0; i < map.teleporters.size(); i++) for (size_t i = 0; i < map.teleporters.size(); i++)
{ {
point& tele = map.teleporters[i]; SDL_Point& tele = map.teleporters[i];
if (map.isexplored(tele.x, tele.y)) if (map.isexplored(tele.x, tele.y))
{ {

View File

@ -10,6 +10,7 @@
#include "Graphics.h" #include "Graphics.h"
#include "Localization.h" #include "Localization.h"
#include "MakeAndPlay.h" #include "MakeAndPlay.h"
#include "Maths.h"
#include "Music.h" #include "Music.h"
#include "Script.h" #include "Script.h"
#include "UtilityClass.h" #include "UtilityClass.h"
@ -156,7 +157,7 @@ void mapclass::setteleporter(int x, int y)
return; return;
} }
point temp; SDL_Point temp;
temp.x = x; temp.x = x;
temp.y = y; temp.y = y;
teleporters.push_back(temp); teleporters.push_back(temp);
@ -169,7 +170,7 @@ void mapclass::settrinket(int x, int y)
return; return;
} }
point temp; SDL_Point temp;
temp.x = x; temp.x = x;
temp.y = y; temp.y = y;
shinytrinkets.push_back(temp); shinytrinkets.push_back(temp);

View File

@ -5,7 +5,6 @@
#include "Finalclass.h" #include "Finalclass.h"
#include "Labclass.h" #include "Labclass.h"
#include "Maths.h"
#include "Otherlevel.h" #include "Otherlevel.h"
#include "Spacestation2.h" #include "Spacestation2.h"
#include "Tower.h" #include "Tower.h"
@ -154,8 +153,8 @@ public:
int final_colorframe, final_colorframedelay; int final_colorframe, final_colorframedelay;
//Teleporters and Trinkets on the map //Teleporters and Trinkets on the map
std::vector<point> teleporters; std::vector<SDL_Point> teleporters;
std::vector<point> shinytrinkets; std::vector<SDL_Point> shinytrinkets;
bool showteleporters, showtargets, showtrinkets; bool showteleporters, showtargets, showtrinkets;

View File

@ -13,10 +13,4 @@ float inline fRandom(void)
return ( float(rand()) / float(RAND_MAX)) ; return ( float(rand()) / float(RAND_MAX)) ;
} }
struct point
{
int x;
int y;
};
#endif /* MATHGAME_H */ #endif /* MATHGAME_H */

View File

@ -5,6 +5,7 @@
#include "GraphicsUtil.h" #include "GraphicsUtil.h"
#include "KeyPoll.h" #include "KeyPoll.h"
#include "Localization.h" #include "Localization.h"
#include "Maths.h"
#include "UtilityClass.h" #include "UtilityClass.h"
#include "VFormat.h" #include "VFormat.h"