DEADSOFTWARE

portability: avoid errors on some compilers
[flatwaifu.git] / src / files.h
index e2d94f0d2183fad644a0310c67b532dd71309f55..972e1a74f6a26de947353be3fc6e2b3b06178b15 100644 (file)
@@ -1,69 +1,64 @@
-/*
-   Copyright (C) Prikol Software 1996-1997
-   Copyright (C) Aleksey Volynskov 1996-1997
-
-   This file is part of the Doom2D:Rembo project.
-
-   Doom2D:Rembo is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License version 2 as
-   published by the Free Software Foundation.
-
-   Doom2D:Rembo is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, see <http://www.gnu.org/licenses/> or
-   write to the Free Software Foundation, Inc.,
-   51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
-*/
+/* Copyright (C) 1996-1997 Aleksey Volynskov
+ * Copyright (C) 2011 Rambo
+ * Copyright (C) 2020 SovietPony
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3 of the License ONLY.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
 
 #ifndef FILES_H_INCLUDED
 #define FILES_H_INCLUDED
 
 #include "glob.h"
-#include <stdio.h> // FILE
-#include "map.h" // map_block_t
 
-#define MAX_WADS 20
-#define MAX_WAD 2000
+#define SAVE_MAX 7
+#define SAVE_MAXLEN 24
 
-typedef char wadname[8];
+extern char savname[SAVE_MAX][SAVE_MAXLEN];
+extern char savok[SAVE_MAX];
+extern int d_start, d_end;
 
-typedef struct {
-  int o, l;
-  char n[8];
-} wad_t;
+void F_addwad (const char *fn);
+void F_initwads (void);
+int F_findres (const char n[8]);
+int F_getresid (const char n[8]);
+void F_getresname (char n[8], int r);
+int F_getreslen (int r);
 
-typedef struct {
-  int o, l;
-  char n[8];
-  int f;
-} mwad_t;
+// Get sprite resource id.
+// Sprite name has following format:
+//  (nnnn)('A'+s)('0'+d)[('A'+s)('0'+d)]
+//  Letter means animation frame
+//    A for first, B for second...
+//  Number means direction
+//    0 = front
+//    1 = left
+//    2 = right
+//  Optional part means that this file can be used for differnt frame/direction.
+//  Note that if found FRONT direction for this frame than it UNCONDITIONALLY used.
+//  Note that search performed between markers S_START and S_END in order as paced in wad.
+//  int n[4]  -- sprite name
+//  int s     -- sprite frame
+//  int d     -- sprite direction
+//  char *dir -- out flag "alternative used"
+int F_getsprid (const char n[4], int s, int d, char *dir);
 
-extern int d_start, d_end;
-extern byte savname[7][24];
-extern byte savok[7];
-extern mwad_t wad[MAX_WAD];
-extern map_block_t blk;
+// void F_nextmus (char *s);
+// void F_randmus (char *s);
+
+void F_loadmap (char n[8]);
 
-void F_startup (void);
 void F_getsavnames (void);
 void F_savegame (int n, char *s);
 void F_loadgame (int n);
-void F_addwad (char *fn);
-void F_initwads (void);
-void F_allocres (void);
-void F_loadres (int r, void *p, dword o, dword l);
-int F_findres (char *n);
-int F_getresid (char *n);
-void F_getresname (char *n, int r);
-int F_getsprid (char n[4], int s, int d);
-int F_getreslen (int r);
-void F_nextmus (char *s);
-void F_randmus (char *s);
-void F_readstr (FILE* h, char *s, int m);
-void F_loadmap (char n[8]);
 
 #endif /* FILES_H_INCLUDED */