mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-07-01 08:58:31 +02:00
19b2a317f1
Ever since VVVVVV was initially ported to C++ in 2.0, it has used surfaces from SDL. The downside is, that's all software rendering. This commit moves most things off of surfaces, and all into GPU, by using textures and SDL_Renderer. Pixel-perfect collision has been kept by keeping a copy of sprites as surfaces. There's plans for pixel-perfect collision to use masks instead of reading pixel data directly, but that's out of scope for this commit. - `graphics.reloadresources()` is now called later in `main`, because textures cannot be created without a renderer. - This commit also removes a bunch of surface functions which are no longer needed. - This also recaches target textures in certain places for d3d9. - graphics.images was converted to a fixed-size array. - fillbox and fillboxabs use SDL_RenderDrawRect instead of drawing an outline using four filled rectangles - Update my name in the credits
18 lines
428 B
C
18 lines
428 B
C
#ifndef GRAPHICSUTIL_H
|
|
#define GRAPHICSUTIL_H
|
|
|
|
#include <SDL.h>
|
|
|
|
void setRect(SDL_Rect& _r, int x, int y, int w, int h);
|
|
|
|
SDL_Surface* GetSubSurface( SDL_Surface* metaSurface, int x, int y, int width, int height );
|
|
|
|
void DrawPixel(SDL_Surface* surface, int x, int y, SDL_Color color);
|
|
|
|
SDL_Color ReadPixel(const SDL_Surface* surface, int x, int y);
|
|
|
|
void UpdateFilter(void);
|
|
void ApplyFilter(void);
|
|
|
|
#endif /* GRAPHICSUTIL_H */
|