DEADSOFTWARE

map: move map loading to separate file
[flatwaifu.git] / src / switch.h
index 222b1a0195d271c3489f3e73ef76060d04184ef6..fd448e36f60be70409cedfe98664b8d998155010 100644 (file)
    51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 */
 
-// Switches
+#ifndef SWITCH_H_INCLUDED
+#define SWITCH_H_INCLUDED
 
-#include <stdio.h>
+#include "view.h" // obj_t
 
-enum{
-  SW_NONE,SW_EXIT,SW_EXITS,SW_OPENDOOR,SW_SHUTDOOR,SW_SHUTTRAP,
-  SW_DOOR,SW_DOOR5,SW_PRESS,SW_TELE,SW_SECRET,SW_LIFTUP,SW_LIFTDOWN,SW_TRAP,
-  SW_LIFT
+#define MAXSW 100
+
+enum {
+  SW_NONE, SW_EXIT, SW_EXITS, SW_OPENDOOR, SW_SHUTDOOR, SW_SHUTTRAP,
+  SW_DOOR, SW_DOOR5, SW_PRESS, SW_TELE, SW_SECRET, SW_LIFTUP, SW_LIFTDOWN,
+  SW_TRAP, SW_LIFT
 };
 
+typedef struct {
+  byte x, y;
+  byte t, tm;
+  byte a, b, c, d;
+  byte f;
+} sw_t;
+
 extern int sw_secrets;
+extern sw_t sw[MAXSW];
 
-void SW_init(void);
-void SW_alloc(void);
-int SW_load(FILE*);
-void SW_act(void);
-int SW_press(int x,int y,int r,int h,byte t,int o);
+void SW_alloc (void);
+void SW_init (void);
+void Z_water_trap (obj_t *o);
+void Z_untrap (byte t);
+void SW_act (void);
+void SW_cheat_open (void);
+int SW_press (int x, int y, int r, int h, byte t, int o);
 
-void SW_cheat_open(void);
+#endif /* SWITCH_H_INCLUDED */