1 /* 2 * A Z-Machine 3 * Copyright (C) 2000 Andrew Hunter 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2.1 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 */ 19 20 /* 21 * Functions to do with the game state (save, load & undo) 22 */ 23 24 #ifndef __STATE_H 25 #define __STATE_H 26 27 #include "ztypes.h" 28 #include "zmachine.h" 29 30 extern ZByte* state_compile (ZStack* stack, 31 ZDWord pc, 32 ZDWord* len, 33 int compress); 34 extern int state_decompile(ZByte* state, 35 ZStack* stack, 36 ZDWord* pc, 37 ZDWord len); 38 extern int state_save (ZFile* file, ZStack* stack, ZDWord pc); 39 extern int state_load (ZFile* file, ZDWord fsize, ZStack* stack, ZDWord* pc); 40 extern char* state_fail (void); 41 42 #endif 43