mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-06-29 07:58:30 +02:00
b53d2ae53f
The only class that actually needs its i/j/k kept is scriptclass, because some custom levels rely on it for creating custom activity zones. So I haven't touched that. Other than that, there's no chance that anything important relies on i/j/k in any other class. For that to be the case, it would have to use i/j/k without initializing it beforehand, and that can simply be detected by removing the attribute from the header file and seeing where the compiler complains. And the compiler complains only about cases where it's initialized first. (Note that due to this check, I *haven't* removed Graphics's `m` as it precisely does exactly this, using it without initializing it first.) Interestingly enough, otherlevelclass and towerclass have unused i/k variables for whatever reason.
173 lines
3.3 KiB
C++
173 lines
3.3 KiB
C++
#ifndef MAPGAME_H
|
|
#define MAPGAME_H
|
|
|
|
#include "Tower.h"
|
|
#include "WarpClass.h"
|
|
#include "Finalclass.h"
|
|
#include "Labclass.h"
|
|
#include "Spacestation2.h"
|
|
#include "Otherlevel.h"
|
|
#include "Entity.h"
|
|
#include "Graphics.h"
|
|
#include <vector>
|
|
#include "Music.h"
|
|
#include "editor.h"
|
|
|
|
class mapclass
|
|
{
|
|
public:
|
|
mapclass();
|
|
|
|
int RGB(int red,int green,int blue);
|
|
|
|
int intpol(int a, int b, float c);
|
|
|
|
void setteleporter(int x, int y);
|
|
|
|
void settrinket(int x, int y);
|
|
|
|
void resetmap();
|
|
|
|
void resetnames();
|
|
|
|
void transformname(int t);
|
|
|
|
std::string getglitchname(int x, int y);
|
|
|
|
void initmapdata();
|
|
|
|
int finalat(int x, int y);
|
|
|
|
int maptiletoenemycol(int t);
|
|
|
|
void changefinalcol(int t);
|
|
|
|
void setcol(const int r1, const int g1, const int b1 , const int r2, const int g2, const int b2, const int c);
|
|
|
|
void updatetowerglow();
|
|
|
|
void nexttowercolour();
|
|
|
|
void settowercolour(int t);
|
|
|
|
bool spikecollide(int x, int y);
|
|
|
|
bool collide(int x, int y);
|
|
|
|
void settile(int xp, int yp, int t);
|
|
|
|
|
|
int area(int _rx, int _ry);
|
|
|
|
void exploretower();
|
|
|
|
void hideship();
|
|
|
|
void showship();
|
|
|
|
void resetplayer();
|
|
|
|
void warpto(int rx, int ry , int t, int tx, int ty);
|
|
|
|
void gotoroom(int rx, int ry);
|
|
|
|
std::string currentarea(int t);
|
|
|
|
void loadlevel(int rx, int ry);
|
|
|
|
|
|
std::vector <int> roomdeaths;
|
|
std::vector <int> roomdeathsfinal;
|
|
std::vector <int> areamap;
|
|
std::vector <int> contents;
|
|
std::vector <int> explored;
|
|
std::vector <int> vmult;
|
|
std::vector <std::string> tmap;
|
|
|
|
int temp;
|
|
int temp2;
|
|
int background;
|
|
int rcol;
|
|
int tileset;
|
|
bool warpx;
|
|
bool warpy;
|
|
|
|
|
|
std::string roomname;
|
|
|
|
//Special tower stuff
|
|
bool towermode;
|
|
float ypos;
|
|
int bypos;
|
|
int cameramode;
|
|
int cameraseek, cameraseekframe;
|
|
int resumedelay;
|
|
bool minitowermode;
|
|
int scrolldir;
|
|
|
|
//This is the old colour cycle
|
|
int r, g,b;
|
|
int check, cmode;
|
|
int towercol;
|
|
int colstate, colstatedelay;
|
|
int colsuperstate;
|
|
int spikeleveltop, spikelevelbottom;
|
|
bool tdrawback;
|
|
int bscroll;
|
|
//final level navigation
|
|
int finalx;
|
|
int finaly;
|
|
bool finalmode;
|
|
bool finalstretch;
|
|
|
|
//Variables for playing custom levels
|
|
bool custommode;
|
|
bool custommodeforreal;
|
|
int customx, customy;
|
|
int customwidth, customheight;
|
|
int custommmxoff, custommmyoff, custommmxsize, custommmysize;
|
|
int customzoom;
|
|
bool customshowmm;
|
|
|
|
std::vector<std::string> specialnames;
|
|
int glitchmode;
|
|
int glitchdelay;
|
|
std::string glitchname;
|
|
|
|
//final level colour cycling stuff
|
|
bool final_colormode;
|
|
int final_mapcol;
|
|
int final_aniframe;
|
|
int final_aniframedelay;
|
|
int final_colorframe, final_colorframedelay;
|
|
|
|
//Teleporters and Trinkets on the map
|
|
std::vector<point> teleporters;
|
|
std::vector<point> shinytrinkets;
|
|
|
|
bool showteleporters, showtargets, showtrinkets;
|
|
|
|
//Roomtext
|
|
bool roomtexton;
|
|
std::vector<Roomtext> roomtext;
|
|
|
|
//Levels
|
|
otherlevelclass otherlevel;
|
|
spacestation2class spacestation2;
|
|
labclass lablevel;
|
|
finalclass finallevel;
|
|
warpclass warplevel;
|
|
towerclass tower;
|
|
int extrarow;
|
|
|
|
//Accessibility options
|
|
bool invincibility;
|
|
|
|
//Map cursor
|
|
int cursorstate, cursordelay;
|
|
};
|
|
|
|
extern mapclass map;
|
|
|
|
#endif /* MAPGAME_H */
|