diff options
author | Przemyslaw <prymula76@outlook.com> | 2024-04-01 08:55:31 +0200 |
---|---|---|
committer | Przemyslaw <prymula76@outlook.com> | 2024-04-01 08:55:31 +0200 |
commit | 89656e1787faf956c3c122693edc7bb00b1908a3 (patch) | |
tree | f5c44a154b7e667343f3be20f41e4282aed1af9b /src/trix.h |
Init
Diffstat (limited to 'src/trix.h')
-rw-r--r-- | src/trix.h | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/src/trix.h b/src/trix.h new file mode 100644 index 0000000..4fa512a --- /dev/null +++ b/src/trix.h @@ -0,0 +1,156 @@ +/*
+ * Trix - klikanie po klockach
+ * Przemysław R. Pietraszczyk
+ *
+ * paźdżiernik 2006 r.
+ *
+ * licencja: Public Domain
+ */
+
+#ifndef TRIX_H
+#define TRIX_H
+
+#include <errno.h>
+#include <fcntl.h>
+#include <dirent.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <limits.h>
+#include <string.h>
+#include <time.h>
+#include <SDL2/SDL.h>
+#include <SDL2/SDL_ttf.h>
+#include <SDL2/SDL_image.h>
+
+#if WINDOWS
+#include <windows.h>
+#endif
+
+
+#if WINDOWS
+//#include "img\\banner.xpm"
+#include "..img/banner.xpm"
+#include "..img/about.xpm"
+#elif LINUX
+#include "../img/banner.xpm"
+#include "../img/about.xpm"
+#endif
+
+
+#define FONTSIZE 25
+
+#define FIELD_SIZE 20
+
+
+
+#if WINDOWS
+#define CATALOGUE "img\\bg\\catalogue.txt"
+#define BG_DIR "img\\bg\\"
+#define ICONS "img\\icons.bmp"
+#define HISCORES_FILE "hiscores"
+#define NAMEFONT "ZapfHumanist.ttf"
+//#define SETTINGS "trix.ini"
+#define SETTINGS "settings"
+#elif LINUX
+#define CATALOGUE "/usr/share/trix/img/bg/catalogue.txt"
+#define BG_DIR "/usr/share/trix/img/bg/"
+#define ICONS "/usr/share/trix/img/icons.bmp"
+#define NAMEFONT "/usr/share/trix/ZapfHumanist.ttf"
+#define SETTINGS "/.trix/trixrc"
+
+//#define CATALOGUE "img/bg/catalogue.txt"
+//#define BG_DIR "img/bg/"
+//#define ICONS "img/icons.bmp"
+//#define NAMEFONT "./ZapfHumanist.ttf"
+//#define SETTINGS "/.trix/trixrc"
+
+#endif
+
+#define N_PIC 6 // ilosc zdjec tla
+
+#define START_GAME 1
+#define HISCORES 2
+#define QUIT_GAME 3
+#define ABOUT 4
+#define OPTIONS 5
+// #define GAME_OVER 6
+
+
+#define Y_START 200 // 100
+#define Y_HISCORES 250 // 150
+#define Y_OPTIONS 300
+#define Y_ABOUT 350
+
+#define X_CENTER(w) (230-w/2)
+
+
+
+extern SDL_Surface * block[8];
+extern SDL_Surface * explode;
+extern SDL_Surface * bomb;
+extern SDL_Surface * wall;
+extern SDL_Surface * smoke;
+
+extern SDL_Surface * net;
+extern SDL_Surface * banner;
+extern SDL_Surface * bg;
+extern SDL_Surface * screen;
+extern TTF_Font* font;
+
+extern SDL_Renderer * renderer;
+extern SDL_Texture * tex_screen;
+
+extern SDL_Rect source, dest;
+
+
+extern int use_net; // zmienna wyswietlania siatki
+extern int start_level; // start gry od poziomu ...
+extern int score;
+extern int bonus; // nalicza premie
+
+extern char * hifile; // path do hiscore
+
+struct tab {
+ char name[20];
+ int score;
+};
+
+extern struct tab tab_hiscores[5];
+/*
+struct FIELD{
+ SDL_Surface * type;
+ int status; // 0:brak statusu 2:stoi -1:opada 1:znika lub wybucha
+} field[23][26];
+*/
+struct FIELD{
+ SDL_Surface * type;
+ int status; // 0:brak statusu 2:stoi -1:opada 1:znika lub wybucha
+};
+
+extern struct FIELD field[23][26];
+
+#define DROP -1 // opada
+#define FADE 1 // element zanika
+#define STAND 2 // stoi
+#define WALL 3 // murek
+
+
+/* struktura przechowuje pozycje kasowanych elementow */
+struct ghost {
+ int x, y;
+};
+
+/* struktura przechowujaca dane o danym poziomie */
+struct data_levels {
+ int max; // zakres liczb losowych
+ int drop; // flaga zrzutu
+ int wall; // 1: ustawiony murek na dnie studni 0; brak murka
+};
+
+extern char catalogue[N_PIC][40]; // tla
+
+SDL_Rect set_rect(int x, int y, int w, int h);
+Uint32 getpixel(SDL_Surface *surface, int x, int y);
+
+#endif
|