/* Generated by Ctran from solipeg.cat */
#define SOLIPEG_G
#ifndef HWIMMAN_G
#include <hwimman.g>
#endif
#ifndef EDWIN_G
#include <edwin.g>
#endif
#ifndef FILES_G
#include <files.g>
#endif
#ifndef TIMER_G
#include <timer.g>
#endif
/* Category Numbers */
#define CAT_SOLIPEG_SOLIPEG 0
#define CAT_SOLIPEG_OLIB 1
#define CAT_SOLIPEG_HWIM 2
/* Class Numbers */
#define C_SOLAM 0
#define C_SOLWS 1
#define C_SOLWIN 2
#define C_SOLBWIN 3
#define C_WAVEAO 4
#define C_JUMP 5
#define C_UNDOMAN 6
#define C_SOLENG 7
#define C_SOLEL 8
#define C_SOLCM 9
#define C_SOLDLG_OPTIONS 10
#define C_SOLDLG_OPEN 11
#define C_SOLDLG_LIBRARY 12
#define C_SOLDLG_EXT_LIB 13
#define C_SOLDLG_STATS 14
/* Method Numbers */
#define O_UMAN_CANREDO 5
#define O_ENG_INIT 1
#define O_TASK_INIT 1
#define O_SCM_OPTIONS 15
#define O_UMAN_CANUNDO 6
#define O_SCM_UPDATE 22
#define O_ENG_JUMP_VALID 12
#define O_TASK_TEXT 4
#define O_SCM_KEY 19
#define O_SCM_NEW 8
#define O_ENG_SAVE_GAME 4
#define O_SCM_DO_NEW 17
#define O_SCM_REDO 14
#define O_UMAN_UNDO 3
#define O_TASK_DO 2
#define O_SCM_UNDO 13
#define O_ENG_EXTERNAL_LIBRARY 6
#define O_SCM_STATISTICS 16
#define O_SCM_EXTERNAL 12
#define O_SCM_BEEP 18
#define O_ENG_NEW_GAME 2
#define O_UMAN_REDO 4
#define O_SCM_OPEN 9
#define O_ENG_UNJUMP 15
#define O_SCM_LIBRARY 11
#define O_ENG_ENDGAME 11
#define O_SCM_ENGINE 23
#define O_EL_INIT 1
#define O_UMAN_INIT 1
#define O_UMAN_UNDOTXT 8
#define O_ENG_SAVE_BOARD 7
#define O_ENG_USABLE 13
#define O_WV_PLAY 6
#define O_SCM_GPOS 21
#define O_SCM_SPOS 20
#define O_TASK_UNDO 3
#define O_WN_REPOS 14
#define O_ENG_JUMP 14
#define O_WN_CURSOR 15
#define O_ENG_MOVES 10
#define O_EL_READ 2
#define O_ENG_OPEN_GAME 3
#define O_ENG_DRAW_BOARD 9
#define O_ENG_UPDATE_BOARD 8
#define O_UMAN_REDOTXT 7
#define O_UMAN_SUBMIT 2
#define O_SCM_SAVE 10
#define O_ENG_TOGGLE 16
#define O_UMAN_CLEAR 9
#define O_ENG_INTERNAL_LIBRARY 5
/* Property of solam */
typedef struct pr_solam
{
PRS_ROOT root;
PRS_APPMAN appman;
PRS_HWIMMAN hwimman;
} PR_SOLAM;
/* Property of solws */
typedef struct pr_solws
{
PRS_ROOT root;
PRS_ACTIVE active;
PRS_WSERV wserv;
} PR_SOLWS;
/* Property of solwin */
typedef struct {
PR_WIN *        parent ;
UINT            hBMP ;
UINT            hBMPGrey ;
} PRS_SOLWIN;
typedef struct pr_solwin
{
PRS_ROOT root;
PRS_WIN win;
PRS_SOLWIN solwin;
} PR_SOLWIN;
/* Property of solbwin */
typedef struct {
PR_SOLWIN *     swn ;
UINT            hBMPSprite ;
WORD            wSpriteOffset ;
INT             iSpriteID ;
} PRS_SOLBWIN;
typedef struct pr_solbwin
{
PRS_ROOT root;
PRS_WIN win;
PRS_SOLBWIN solbwin;
} PR_SOLBWIN;
/* Property of waveao */
typedef struct pr_waveao
{
PRS_ROOT root;
PRS_ACTIVE active;
} PR_WAVEAO;
/* Property of task */
typedef struct pr_task
{
PRS_ROOT root;
} PR_TASK;
/* Property of jump */
typedef struct {
UBYTE   x ;
UBYTE   y ;
UBYTE   dir ;
} PRS_JUMP;
typedef struct pr_jump
{
PRS_ROOT root;
PRS_JUMP jump;
} PR_JUMP;
/* Property of undoman */
typedef struct {
PR_VAFLAT *     pList ;
VOID *          pEngine ;
INT             UndoIndex ;
} PRS_UNDOMAN;
typedef struct pr_undoman
{
PRS_ROOT root;
PRS_UNDOMAN undoman;
} PR_UNDOMAN;
/* Constants for soleng */
#define BOARD_SIZE_X 7
#define BOARD_SIZE_Y 7
/* Property of soleng */
typedef struct {
PR_ANIMATOR *   animator ;
BYTE            board[BOARD_SIZE_X][BOARD_SIZE_Y] ;
VOID *          pfcb ;
INT             ridLast ;
BYTE            new_board[BOARD_SIZE_X][BOARD_SIZE_Y] ;
} PRS_SOLENG;
typedef struct pr_soleng
{
PRS_ROOT root;
PRS_SOLENG soleng;
} PR_SOLENG;
/* Property of solel */
typedef struct {
PR_RSCFILE *    pRsc ;
PR_VAROOT *     pData ;
WORD            wLibVer ;
BYTE            bLibSize ;
INT             iResID ;
} PRS_SOLEL;
typedef struct pr_solel
{
PRS_ROOT root;
PRS_SOLEL solel;
} PR_SOLEL;
/* Types for solcm */
typedef struct
{
TEXT        strFilename[P_FNAMESIZE] ;
} SOLRBUF ;
/* Property of solcm */
typedef struct {
PR_WAVEAO *     waveao ;
PR_UNDOMAN *    undoman ;
TEXT *          strLibID ;
WORD            wMaxLibVer ;
INT             editing ;
TEXT *          strJump ;
TEXT *          strMove ;
BYTE            cx ;
BYTE            cy ;
} PRS_SOLCM;
typedef struct pr_solcm
{
PRS_ROOT root;
PRS_SOLCM solcm;
} PR_SOLCM;
/* Property of soldlg_options */
typedef struct pr_soldlg_options
{
PRS_ROOT root;
PRS_WIN win;
PRS_DLGCHAIN dlgchain;
PRS_DLGBOX dlgbox;
} PR_SOLDLG_OPTIONS;
/* Property of soldlg_open */
typedef struct pr_soldlg_open
{
PRS_ROOT root;
PRS_WIN win;
PRS_DLGCHAIN dlgchain;
PRS_DLGBOX dlgbox;
} PR_SOLDLG_OPEN;
/* Property of soldlg_library */
typedef struct pr_soldlg_library
{
PRS_ROOT root;
PRS_WIN win;
PRS_DLGCHAIN dlgchain;
PRS_DLGBOX dlgbox;
} PR_SOLDLG_LIBRARY;
/* Property of soldlg_ext_lib */
typedef struct pr_soldlg_ext_lib
{
PRS_ROOT root;
PRS_WIN win;
PRS_DLGCHAIN dlgchain;
PRS_DLGBOX dlgbox;
} PR_SOLDLG_EXT_LIB;
/* Property of soldlg_stats */
typedef struct pr_soldlg_stats
{
PRS_ROOT root;
PRS_WIN win;
PRS_DLGCHAIN dlgchain;
PRS_DLGBOX dlgbox;
} PR_SOLDLG_STATS;
