
/* Program generated by Cbasic 4.0.0  */
#define XSCT_CBASIC

#define SCT_VERSION_4_0
#include "scttypes.h"
#ifdef XINCLUDE_HS_FILE
#include "DemonGame.hs"
#endif
XSYSTEMVARS
#ifdef XCTRACE
static char  xFileName[] = "/home/cs/max/kab/DemonGame.c";
#endif

/*************************************************************************
**                SECTION Types and Forward references                  **
*************************************************************************/

/*****
* SYSTEM DemonGame
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy,4,1)
******/
extern XCONST struct xSystemIdStruct ySysR_z_DemonGame;

/*****
* BLOCK GameBlock
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/GameBlock.sbk,4,1)
******/
extern XCONST struct xBlockIdStruct yBloR_z0_GameBlock;

/*****
* PROCESS Main
* <<SYSTEM DemonGame/BLOCK GameBlock>>
* #SDTREF(SDL,/home/cs/max/kab/Main.spr,4,1)
******/
extern XCONST XSIGTYPE yPrsS_z03_Main[];
extern XCONST xStateIdNode yPrsT_z03_Main[];
extern XCONST struct xPrsIdStruct yPrsR_z03_Main;
#define yPrsN_z03_Main  (&yPrsR_z03_Main)
#ifdef XCOVERAGE
extern long int yPrsC_z03_Main[];
#endif
YPAD_PROTOTYPE(yPAD_z03_Main)
extern XCONST struct xSignalIdStruct ySigR_z03_Main;
#define ySigN_z03_Main  (&ySigR_z03_Main)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z03_Main;
typedef yPDef_z03_Main  *yPDP_z03_Main;
XPROCESSDEF_H(Main,"Main",z03_Main,yPAD_z03_Main,yVDef_z03_Main)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z03_Main[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z03_Main  9
extern char * yRef_z03_Main XPP((int, xSymbolType *));
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),149(80,25),2,1) */
    SDL_PId z032_GameP;
} yVDef_z03_Main;
typedef yVDef_z03_Main  *yVDP_z03_Main;
extern void yFree_z03_Main XPP((void *));

/*****
* STATE Game_Off
* <<SYSTEM DemonGame/BLOCK GameBlock/PROCESS Main>>
* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),134(30,40),1,1)
******/
#define z030_Game_Off  1
extern XCONST struct xStateIdStruct yStaR_z030_Game_Off;
#define yStaN_z030_Game_Off  (&yStaR_z030_Game_Off)

/*****
* STATE Game_On
* <<SYSTEM DemonGame/BLOCK GameBlock/PROCESS Main>>
* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),116(55,40),1,1)
******/
#define z031_Game_On  2
extern XCONST struct xStateIdStruct yStaR_z031_Game_On;
#define yStaN_z031_Game_On  (&yStaR_z031_Game_On)

/*****
* DCL GameP
* <<SYSTEM DemonGame/BLOCK GameBlock/PROCESS Main>>
* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),149(80,25),2,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z032_GameP;
#endif

/*****
* PROCESS Game
* <<SYSTEM DemonGame/BLOCK GameBlock>>
* #SDTREF(SDL,/home/cs/max/kab/Game.spr,4,1)
******/
extern XCONST XSIGTYPE yPrsS_z04_Game[];
extern XCONST xStateIdNode yPrsT_z04_Game[];
extern XCONST struct xPrsIdStruct yPrsR_z04_Game;
#define yPrsN_z04_Game  (&yPrsR_z04_Game)
#ifdef XCOVERAGE
extern long int yPrsC_z04_Game[];
#endif
YPAD_PROTOTYPE(yPAD_z04_Game)
extern XCONST struct xSignalIdStruct ySigR_z04_Game;
#define ySigN_z04_Game  (&ySigR_z04_Game)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z04_Game;
typedef yPDef_z04_Game  *yPDP_z04_Game;
XPROCESSDEF_H(Game,"Game",z04_Game,yPAD_z04_Game,yVDef_z04_Game)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z04_Game[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z04_Game  19
extern char * yRef_z04_Game XPP((int, xSymbolType *));
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),179(30,10),2,1) */
    SDL_Integer z043_Count;
} yVDef_z04_Game;
typedef yVDef_z04_Game  *yVDP_z04_Game;
extern void yFree_z04_Game XPP((void *));

/*****
* STATE Losing
* <<SYSTEM DemonGame/BLOCK GameBlock/PROCESS Game>>
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),140(30,55),1,1)
******/
#define z040_Losing  1
extern XCONST struct xStateIdStruct yStaR_z040_Losing;
#define yStaN_z040_Losing  (&yStaR_z040_Losing)

/*****
* STATE Winning
* <<SYSTEM DemonGame/BLOCK GameBlock/PROCESS Game>>
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),158(55,85),1,1)
******/
#define z041_Winning  2
extern XCONST struct xStateIdStruct yStaR_z041_Winning;
#define yStaN_z041_Winning  (&yStaR_z041_Winning)

/*****
* DCL Count
* <<SYSTEM DemonGame/BLOCK GameBlock/PROCESS Game>>
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),179(30,10),2,1)
******/
#ifndef XOPTDCL
extern XCONST struct xVarIdStruct yVarR_z043_Count;
#endif

/*****
* SIGNAL GameOver
* <<SYSTEM DemonGame/BLOCK GameBlock>>
* #SDTREF(SDL,/home/cs/max/kab/GameBlock.sbk(1),164(60,25),2,1)
******/
extern XCONST struct xSignalIdStruct ySigR_z05_GameOver;
#define ySigN_z05_GameOver  (&ySigR_z05_GameOver)

/*****
* SIGNALROUTE R2
* <<SYSTEM DemonGame/BLOCK GameBlock>>
* #SDTREF(SDL,/home/cs/max/kab/GameBlock.sbk(1),149(45,67),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z06_R2[];
extern XCONST xIdNode yChaOR_z06_R2[];
extern XCONST struct xChannelIdStruct yChaR_z06_R2;
extern XCONST struct xChannelIdStruct yChaRR_z06_R2;
#define yChaN_z06_R2  (&yChaR_z06_R2)
#endif

/*****
* SIGNALROUTE R1
* <<SYSTEM DemonGame/BLOCK GameBlock>>
* #SDTREF(SDL,/home/cs/max/kab/GameBlock.sbk(1),119(40,42),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z07_R1[];
extern XCONST xIdNode yChaOR_z07_R1[];
extern XCONST struct xChannelIdStruct yChaR_z07_R1;
extern XCONST struct xChannelIdStruct yChaRR_z07_R1;
#define yChaN_z07_R1  (&yChaR_z07_R1)
#endif

/*****
* SIGNALROUTE R5
* <<SYSTEM DemonGame/BLOCK GameBlock>>
* #SDTREF(SDL,/home/cs/max/kab/GameBlock.sbk(1),155(77,67),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z08_R5[];
extern XCONST xIdNode yChaOR_z08_R5[];
extern XCONST struct xChannelIdStruct yChaR_z08_R5;
extern XCONST struct xChannelIdStruct yChaRR_z08_R5;
#define yChaN_z08_R5  (&yChaR_z08_R5)
#endif

/*****
* SIGNALROUTE R3
* <<SYSTEM DemonGame/BLOCK GameBlock>>
* #SDTREF(SDL,/home/cs/max/kab/GameBlock.sbk(1),131(27,85),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z09_R3[];
extern XCONST xIdNode yChaOR_z09_R3[];
extern XCONST struct xChannelIdStruct yChaR_z09_R3;
extern XCONST struct xChannelIdStruct yChaRR_z09_R3;
#define yChaN_z09_R3  (&yChaR_z09_R3)
#endif

/*****
* SIGNALROUTE R4
* <<SYSTEM DemonGame/BLOCK GameBlock>>
* #SDTREF(SDL,/home/cs/max/kab/GameBlock.sbk(1),140(50,95),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z0A_R4[];
extern XCONST xIdNode yChaOR_z0A_R4[];
extern XCONST struct xChannelIdStruct yChaR_z0A_R4;
extern XCONST struct xChannelIdStruct yChaRR_z0A_R4;
#define yChaN_z0A_R4  (&yChaR_z0A_R4)
#endif

/*****
* BLOCK DemonBlock
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonBlock.sbk,4,1)
******/
extern XCONST struct xBlockIdStruct yBloR_z1_DemonBlock;

/*****
* PROCESS Demon
* <<SYSTEM DemonGame/BLOCK DemonBlock>>
* #SDTREF(SDL,/home/cs/max/kab/Demon.spr,4,1)
******/
extern XCONST XSIGTYPE yPrsS_z11_Demon[];
extern XCONST xStateIdNode yPrsT_z11_Demon[];
extern XCONST struct xPrsIdStruct yPrsR_z11_Demon;
#define yPrsN_z11_Demon  (&yPrsR_z11_Demon)
#ifdef XCOVERAGE
extern long int yPrsC_z11_Demon[];
#endif
YPAD_PROTOTYPE(yPAD_z11_Demon)
extern XCONST struct xSignalIdStruct ySigR_z11_Demon;
#define ySigN_z11_Demon  (&ySigR_z11_Demon)
typedef struct {
    SIGNAL_VARS
    STARTUP_VARS
} yPDef_z11_Demon;
typedef yPDef_z11_Demon  *yPDP_z11_Demon;
XPROCESSDEF_H(Demon,"Demon",z11_Demon,yPAD_z11_Demon,yVDef_z11_Demon)
#ifndef XOPTCHAN
extern XCONST xIdNode yPrsO_z11_Demon[];
#endif
#ifdef XBREAKBEFORE
#define ySym_z11_Demon  6
extern char * yRef_z11_Demon XPP((int, xSymbolType *));
#endif
typedef struct {
    PROCESS_VARS
                /* #SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),167(30,10),1,7) */
    DEF_TIMER_VAR(yTim_T)
} yVDef_z11_Demon;
typedef yVDef_z11_Demon  *yVDP_z11_Demon;
extern void yFree_z11_Demon XPP((void *));

/*****
* STATE Generate
* <<SYSTEM DemonGame/BLOCK DemonBlock/PROCESS Demon>>
* #SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),140(30,25),1,1)
******/
#define z110_Generate  1
extern XCONST struct xStateIdStruct yStaR_z110_Generate;
#define yStaN_z110_Generate  (&yStaR_z110_Generate)

/*****
* TIMER T
* <<SYSTEM DemonGame/BLOCK DemonBlock/PROCESS Demon>>
* #SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),167(30,10),1,7)
******/
extern XCONST struct xSignalIdStruct ySigR_z111_T;
#define ySigN_z111_T  (&ySigR_z111_T)

/*****
* SIGNALROUTE R1
* <<SYSTEM DemonGame/BLOCK DemonBlock>>
* #SDTREF(SDL,/home/cs/max/kab/DemonBlock.sbk(1),134(34,48),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z12_R1[];
extern XCONST xIdNode yChaOR_z12_R1[];
extern XCONST struct xChannelIdStruct yChaR_z12_R1;
extern XCONST struct xChannelIdStruct yChaRR_z12_R1;
#define yChaN_z12_R1  (&yChaR_z12_R1)
#endif

/*****
* CHANNEL C1
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),149(52,42),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z2_C1[];
extern XCONST xIdNode yChaOR_z2_C1[];
extern XCONST struct xChannelIdStruct yChaR_z2_C1;
extern XCONST struct xChannelIdStruct yChaRR_z2_C1;
#define yChaN_z2_C1  (&yChaR_z2_C1)
#ifdef XMULTIPLESYSTEMS
extern XCONST xIdNode yConnIn_DemonGame_C1[];
extern XCONST xIdNode yConnOut_DemonGame_C1[];
extern XCONST struct xChannelIdStruct yGateIn_DemonGame_C1;
extern XCONST struct xChannelIdStruct yGateOut_DemonGame_C1;
#endif
#endif

/*****
* CHANNEL C2
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),140(52,57),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z3_C2[];
extern XCONST xIdNode yChaOR_z3_C2[];
extern XCONST struct xChannelIdStruct yChaR_z3_C2;
extern XCONST struct xChannelIdStruct yChaRR_z3_C2;
#define yChaN_z3_C2  (&yChaR_z3_C2)
#ifdef XMULTIPLESYSTEMS
extern XCONST xIdNode yConnIn_DemonGame_C2[];
extern XCONST xIdNode yConnOut_DemonGame_C2[];
extern XCONST struct xChannelIdStruct yGateIn_DemonGame_C2;
extern XCONST struct xChannelIdStruct yGateOut_DemonGame_C2;
#endif
#endif

/*****
* CHANNEL C3
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),125(69,78),1,1)
******/
#ifndef XOPTCHAN
extern XCONST xIdNode yChaO_z4_C3[];
extern XCONST xIdNode yChaOR_z4_C3[];
extern XCONST struct xChannelIdStruct yChaR_z4_C3;
extern XCONST struct xChannelIdStruct yChaRR_z4_C3;
#define yChaN_z4_C3  (&yChaR_z4_C3)
#endif

/*****
* SIGNAL Newgame
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),2,1)
******/
extern XCONST struct xSignalIdStruct ySigR_z5_Newgame;
#define ySigN_z5_Newgame  (&ySigR_z5_Newgame)

/*****
* SIGNAL Probe
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),2,10)
******/
extern XCONST struct xSignalIdStruct ySigR_z6_Probe;
#define ySigN_z6_Probe  (&ySigR_z6_Probe)

/*****
* SIGNAL Result
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),2,17)
******/
extern XCONST struct xSignalIdStruct ySigR_z7_Result;
#define ySigN_z7_Result  (&ySigR_z7_Result)

/*****
* SIGNAL Endgame
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),2,25)
******/
extern XCONST struct xSignalIdStruct ySigR_z8_Endgame;
#define ySigN_z8_Endgame  (&ySigR_z8_Endgame)

/*****
* SIGNAL Win
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),3,1)
******/
extern XCONST struct xSignalIdStruct ySigR_z9_Win;
#define ySigN_z9_Win  (&ySigR_z9_Win)

/*****
* SIGNAL Lose
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),3,6)
******/
extern XCONST struct xSignalIdStruct ySigR_zA_Lose;
#define ySigN_zA_Lose  (&ySigR_zA_Lose)

/*****
* SIGNAL Score
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),3,12)
******/
extern XCONST struct xSignalIdStruct ySigR_zB_Score;
#define ySigN_zB_Score  (&ySigR_zB_Score)
typedef struct {
    SIGNAL_VARS
    SDL_Integer  Param1;
} yPDef_zB_Score;
typedef yPDef_zB_Score  *yPDP_zB_Score;

/*****
* SIGNAL Bump
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),3,28)
******/
extern XCONST struct xSignalIdStruct ySigR_zC_Bump;
#define ySigN_zC_Bump  (&ySigR_zC_Bump)

/*************************************************************************
**                #CODE directives, #HEADING sections                   **
*************************************************************************/

/*************************************************************************
**                  #CODE directives, #BODY sections                    **
*************************************************************************/

/*************************************************************************
**                  SECTION Variables and Functions                     **
*************************************************************************/

/*****
* SYSTEM DemonGame
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy,4,1)
******/
XCONST struct xSystemIdStruct ySysR_z_DemonGame = {xSystemEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&xSymbolTableIdRec, "DemonGame" XCOMMON_EXTRAS,
  (xIdNode *)0, (xPrdIdNode *)0, (xSystemIdNode)0 xTrace(-1) xGRTrace(-1)
  xMSCETrace(-1) XSYS_EXTRAS};

/*****
* ENV
******/
#ifndef XMULTIPLESYSTEMS
#ifndef XOPTCHAN
xIdNode yEnvO_env[] = {(xIdNode)&yChaR_z2_C1, (xIdNode)&yChaRR_z3_C2,
  (xIdNode)0  XTRACHANNELLIST};
#endif
#endif

/*****
* BLOCK GameBlock
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/GameBlock.sbk,4,1)
******/
XCONST struct xBlockIdStruct yBloR_z0_GameBlock = {xBlockEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame, "GameBlock" XCOMMON_EXTRAS,
  (xBlockIdNode)0, (xIdNode *)0, (xPrdIdNode *)0, (xViewListRec *)0, 1
  xTrace(-1) xGRTrace(-1) xMSCETrace(-1) xMSCETrace(0) XBLO_EXTRAS};
#ifndef XOPTCHAN
XCONST xIdNode yChaO_z2_C1[] = {(xIdNode)&yChaR_z06_R2, (xIdNode)&yChaR_z07_R1,
  (xIdNode)0};
XCONST xIdNode yChaOR_z3_C2[] = {(xIdNode)&yChaRR_z09_R3, (xIdNode)0};
XCONST xIdNode yChaO_z4_C3[] = {(xIdNode)&yChaR_z0A_R4, (xIdNode)0};
#endif

/*****
* PROCESS Main
* <<SYSTEM DemonGame/BLOCK GameBlock>>
* #SDTREF(SDL,/home/cs/max/kab/Main.spr,4,1)
******/
#ifdef XCOVERAGE
long int yPrsC_z03_Main[ySym_z03_Main+1];
#endif
XCONST XSIGTYPE yPrsS_z03_Main[] = {SIGNAL_NAME(Newgame, &ySigR_z5_Newgame),
  SIGNAL_NAME(Endgame, &ySigR_z8_Endgame), (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z03_Main[] = {&xStartStateIdRec,
  &yStaR_z030_Game_Off, &yStaR_z031_Game_On};
static XPRSNODE yPrsA_z03_Main = (XPRSNODE)0;
static XPRSNODE yPrsB_z03_Main = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z03_Main = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_GameBlock, "Main" XCOMMON_EXTRAS,
  yPrsT_z03_Main, yPrsS_z03_Main xService(0) xOptChan(yPrsO_z03_Main),
  SDL_INTEGER_LIT(1) xNrInst(1) xNrInst(SDL_INTEGER_LIT(1)), &yPrsB_z03_Main,
  (xptrint)sizeof(yVDef_z03_Main) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z03_Main xTrace(-1) xGRTrace(-1) xBreakB(yRef_z03_Main)
  xBreakB(ySym_z03_Main) xBreakB(2) xMSCETrace(-1) xCoverage(yPrsC_z03_Main)
  xCoverage(0) xCoverage(0), yPAD_z03_Main, yFree_z03_Main, (xPrsIdNode)0,
  (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/Main.spr,4,1)") xThreadName(0)
  XPRS_EXTRAS(z03_Main)};
static xSignalNode ySigA_z03_Main = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z03_Main = {xStartUpSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_GameBlock xIdNames("-") XCOMMON_EXTRAS,
  (xptrint)sizeof(yPDef_z03_Main), &ySigA_z03_Main, 0 xFreS(0)
  SIGCODE(STARTUPSIGNAL) xBreakB("#SDTREF(SDL,/home/cs/max/kab/Main.spr,4,1)")
  xSigPrioPar(xDefaultPrioSignal) XSIG_EXTRAS};
XPROCESSDEF_C(Main,"Main",z03_Main,yPAD_z03_Main,yVDef_z03_Main)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z03_Main[] = {(xIdNode)&yChaRR_z07_R1,
  (xIdNode)&yChaR_z08_R5, (xIdNode)0};
#endif

#ifndef XNOPROTO
void yFree_z03_Main(void *yVarP)
#else
void yFree_z03_Main(yVarP)
  void *yVarP;
#endif
{
}

/*+++++
* GR ref function for process Main
* #SDTREF(SDL,/home/cs/max/kab/Main.spr,4,1)
++++++*/
#ifdef XBREAKBEFORE
#ifndef XNOPROTO
extern char * yRef_z03_Main (int SymbolNo, xSymbolType *SymbolType)
#else
extern char * yRef_z03_Main (SymbolNo, SymbolType)
  int SymbolNo;
  xSymbolType *SymbolType;
#endif
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,/home/cs/max/kab/Main.spr(1),131(30,25),1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,/home/cs/max/kab/Main.spr(1),137(30,55),1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,/home/cs/max/kab/Main.spr(1),119(55,55),1)";
    case 3: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,/home/cs/max/kab/Main.spr(1),134(30,40),1)";
    case 4: *SymbolType = xsCreateRequest;
      return "#SDTREF(SDL,/home/cs/max/kab/Main.spr(1),140(30,70),1,1)";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,/home/cs/max/kab/Main.spr(1),143(30,85),1,1)";
    case 6: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,/home/cs/max/kab/Main.spr(1),146(30,100),1)";
    case 7: *SymbolType = xsOutput;
      return "#SDTREF(SDL,/home/cs/max/kab/Main.spr(1),122(55,70),1,1)";
    case 8: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,/home/cs/max/kab/Main.spr(1),125(55,85),1,1)";
    case 9: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,/home/cs/max/kab/Main.spr(1),128(55,100),1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Main
* #SDTREF(SDL,/home/cs/max/kab/Main.spr,4,1)
++++++*/
YPAD_FUNCTION(yPAD_z03_Main)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z03_Main)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Main")

  BEGIN_PAD(yVDef_z03_Main)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),131(30,25),1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z03_Main)
    XAT_FIRST_SYMBOL(0)
    xDef_SDL_PId(&yVarP->z032_GameP);
    XBETWEEN_SYMBOLS(3, 580)

/*-----
* NEXTSTATE Game_Off
* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),134(30,40),1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(Game_Off, z030_Game_Off, "Game_Off")

/*-----
* INPUT Newgame
* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),137(30,55),1)
------*/
  case 1:
    XDEBUG_LABEL(Game_Off_Newgame)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("Newgame")
    XBETWEEN_SYMBOLS(4, 600)

/*-----
* CREATE Game
* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),140(30,70),1,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    ALLOC_STARTUP(Game,ySigN_z04_Game,yPDef_z04_Game)
    STARTUP_ALLOC_ERROR
    SDL_CREATE(Game,yPrsN_z04_Game,"Game")
    STARTUP_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(5, 613)

/*-----
* ASSIGNMENT GameP := ...
* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),143(30,85),1,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    yAssF_SDL_PId(yVarP->z032_GameP, SDL_OFFSPRING, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("GameP := ", &(yVarP->z032_GameP), xSrtN_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign("GameP := ", &(yVarP->z032_GameP), xSrtN_SDL_PId);
#endif
    XBETWEEN_SYMBOLS(6, 629)

/*-----
* NEXTSTATE Game_On
* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),146(30,100),1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(Game_On, z031_Game_On, "Game_On")

/*-----
* INPUT Endgame
* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),119(55,55),1)
------*/
  case 2:
    XDEBUG_LABEL(Game_On_Endgame)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("Endgame")
    XBETWEEN_SYMBOLS(7, 649)

/*-----
* OUTPUT GameOver
* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),122(55,70),1,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    ALLOC_SIGNAL(GameOver, ySigN_z05_GameOver, TO_PROCESS(Game,
      yPrsN_z04_Game), XSIGNALHEADERTYPE)
    SIGNAL_ALLOC_ERROR
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, GameOver,
      ySigN_z05_GameOver, TO_PROCESS(Game, yPrsN_z04_Game), 0, "GameOver")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(8, 664)

/*-----
* ASSIGNMENT GameP := ...
* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),125(55,85),1,1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    yAssF_SDL_PId(yVarP->z032_GameP, SDL_NULL, XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("GameP := ", &(yVarP->z032_GameP), xSrtN_SDL_PId);
#endif
#ifdef XMSCE
    xMSCEAssign("GameP := ", &(yVarP->z032_GameP), xSrtN_SDL_PId);
#endif
    XBETWEEN_SYMBOLS(9, 680)

/*-----
* NEXTSTATE Game_Off
* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),128(55,100),1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(Game_Off, z030_Game_Off, "Game_Off")
  }
}

/*****
* STATE Game_Off
* <<SYSTEM DemonGame/BLOCK GameBlock/PROCESS Main>>
* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),134(30,40),1,1)
******/
static XCONST xInputAction yStaH_z030_Game_Off[] = {xInput, xDiscard, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z030_Game_Off[] = {1, 0, 0};
#ifdef XCOVERAGE
static long int yStaC_z030_Game_Off[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z030_Game_Off = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z03_Main, "Game_Off" XCOMMON_EXTRAS,
  z030_Game_Off, yStaH_z030_Game_Off, yStaI_z030_Game_Off, 0, 0, 0
  xCoverage(yStaC_z030_Game_Off), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/Main.spr(1),134(30,40),1,1)")
  XSTA_EXTRAS};

/*****
* STATE Game_On
* <<SYSTEM DemonGame/BLOCK GameBlock/PROCESS Main>>
* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),116(55,40),1,1)
******/
static XCONST xInputAction yStaH_z031_Game_On[] = {xDiscard, xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z031_Game_On[] = {0, 2, 0};
#ifdef XCOVERAGE
static long int yStaC_z031_Game_On[2+1];
#endif
XCONST struct xStateIdStruct yStaR_z031_Game_On = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z03_Main, "Game_On" XCOMMON_EXTRAS, z031_Game_On,
  yStaH_z031_Game_On, yStaI_z031_Game_On, 0, 0, 0
  xCoverage(yStaC_z031_Game_On), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/Main.spr(1),116(55,40),1,1)")
  XSTA_EXTRAS};

/*****
* DCL GameP
* <<SYSTEM DemonGame/BLOCK GameBlock/PROCESS Main>>
* #SDTREF(SDL,/home/cs/max/kab/Main.spr(1),149(80,25),2,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z032_GameP = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z03_Main, "GameP" XCOMMON_EXTRAS, &xSrtR_SDL_PId,
  xOffsetOf(yVDef_z03_Main, z032_GameP), (xptrint)0, 0 XVAR_EXTRAS};
#endif

/*****
* PROCESS Game
* <<SYSTEM DemonGame/BLOCK GameBlock>>
* #SDTREF(SDL,/home/cs/max/kab/Game.spr,4,1)
******/
#ifdef XCOVERAGE
long int yPrsC_z04_Game[ySym_z04_Game+1];
#endif
XCONST XSIGTYPE yPrsS_z04_Game[] = {SIGNAL_NAME(Probe, &ySigR_z6_Probe),
  SIGNAL_NAME(Result, &ySigR_z7_Result), SIGNAL_NAME(GameOver,
  &ySigR_z05_GameOver), SIGNAL_NAME(Bump, &ySigR_zC_Bump), (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z04_Game[] = {&xStartStateIdRec, &yStaR_z040_Losing,
  &yStaR_z041_Winning};
static XPRSNODE yPrsA_z04_Game = (XPRSNODE)0;
static XPRSNODE yPrsB_z04_Game = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z04_Game = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_GameBlock, "Game" XCOMMON_EXTRAS,
  yPrsT_z04_Game, yPrsS_z04_Game xService(0) xOptChan(yPrsO_z04_Game),
  SDL_INTEGER_LIT(1) xNrInst(1) xNrInst(SDL_INTEGER_LIT(0)), &yPrsB_z04_Game,
  (xptrint)sizeof(yVDef_z04_Game) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z04_Game xTrace(-1) xGRTrace(-1) xBreakB(yRef_z04_Game)
  xBreakB(ySym_z04_Game) xBreakB(4) xMSCETrace(-1) xCoverage(yPrsC_z04_Game)
  xCoverage(0) xCoverage(0), yPAD_z04_Game, yFree_z04_Game, (xPrsIdNode)0,
  (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/Game.spr,4,1)") xThreadName(0)
  XPRS_EXTRAS(z04_Game)};
static xSignalNode ySigA_z04_Game = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z04_Game = {xStartUpSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_GameBlock xIdNames("-") XCOMMON_EXTRAS,
  (xptrint)sizeof(yPDef_z04_Game), &ySigA_z04_Game, 0 xFreS(0)
  SIGCODE(STARTUPSIGNAL) xBreakB("#SDTREF(SDL,/home/cs/max/kab/Game.spr,4,1)")
  xSigPrioPar(xDefaultPrioSignal) XSIG_EXTRAS};
XPROCESSDEF_C(Game,"Game",z04_Game,yPAD_z04_Game,yVDef_z04_Game)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z04_Game[] = {(xIdNode)&yChaRR_z06_R2,
  (xIdNode)&yChaRR_z08_R5, (xIdNode)&yChaR_z09_R3, (xIdNode)&yChaRR_z0A_R4,
  (xIdNode)0};
#endif

#ifndef XNOPROTO
void yFree_z04_Game(void *yVarP)
#else
void yFree_z04_Game(yVarP)
  void *yVarP;
#endif
{
}

/*+++++
* GR ref function for process Game
* #SDTREF(SDL,/home/cs/max/kab/Game.spr,4,1)
++++++*/
#ifdef XBREAKBEFORE
#ifndef XNOPROTO
extern char * yRef_z04_Game (int SymbolNo, xSymbolType *SymbolType)
#else
extern char * yRef_z04_Game (SymbolNo, SymbolType)
  int SymbolNo;
  xSymbolType *SymbolType;
#endif
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),134(30,25),1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),143(30,70),1)";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),155(55,70),1)";
    case 3: *SymbolType = xsInput;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),173(55,100),1)";
    case 4: *SymbolType = xsInput;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),161(80,100),1)";
    case 5: *SymbolType = xsInput;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),125(80,40),1)";
    case 6: *SymbolType = xsInput;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),119(105,40),1)";
    case 7: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),137(30,40),1,1)";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),140(30,55),1)";
    case 9: *SymbolType = xsOutput;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),146(30,85),1,1)";
    case 10: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),149(30,100),1,1)";
    case 11: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),152(30,115),1)";
    case 12: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),158(55,85),1)";
    case 13: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),176(55,115),1)";
    case 14: *SymbolType = xsOutput;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),164(80,115),1,1)";
    case 15: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),167(80,130),1,1)";
    case 16: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),170(80,145),1)";
    case 17: *SymbolType = xsOutput;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),128(80,55),1,1)";
    case 18: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),131(80,70),1)";
    case 19: *SymbolType = xsStop;
      return "#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),122(110,55),1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Game
* #SDTREF(SDL,/home/cs/max/kab/Game.spr,4,1)
++++++*/
YPAD_FUNCTION(yPAD_z04_Game)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z04_Game)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Game")

  BEGIN_PAD(yVDef_z04_Game)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),134(30,25),1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z04_Game)
    XAT_FIRST_SYMBOL(0)
    xDef_SDL_Integer(&yVarP->z043_Count);
    XBETWEEN_SYMBOLS(7, 870)

/*-----
* ASSIGNMENT Count := ...
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),137(30,40),1,1)
------*/
#ifdef XCASELABELS
  case 7:
#endif
    yAssF_SDL_Integer(yVarP->z043_Count, SDL_INTEGER_LIT(0), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("Count := ", &(yVarP->z043_Count), xSrtN_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign("Count := ", &(yVarP->z043_Count), xSrtN_SDL_Integer);
#endif
    XBETWEEN_SYMBOLS(8, 886)

/*-----
* NEXTSTATE Losing
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),140(30,55),1)
------*/
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(Losing, z040_Losing, "Losing")

/*-----
* INPUT Probe
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),143(30,70),1)
------*/
  case 1:
    XDEBUG_LABEL(Losing_Probe)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("Probe")
    XBETWEEN_SYMBOLS(9, 906)

/*-----
* OUTPUT Lose
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),146(30,85),1,1)
------*/
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_SIGNAL(Lose, ySigN_zA_Lose, TO_PROCESS(Env, &yEnvR_env),
      XSIGNALHEADERTYPE)
    SIGNAL_ALLOC_ERROR
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, Lose,
      ySigN_zA_Lose, TO_PROCESS(Env, &yEnvR_env), 0, "Lose")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(10, 921)

/*-----
* ASSIGNMENT Count := ...
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),149(30,100),1,1)
------*/
#ifdef XCASELABELS
  case 10:
#endif
    yAssF_SDL_Integer(yVarP->z043_Count, xMinus_SDL_Integer(yVarP->z043_Count,
      SDL_INTEGER_LIT(1)), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("Count := ", &(yVarP->z043_Count), xSrtN_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign("Count := ", &(yVarP->z043_Count), xSrtN_SDL_Integer);
#endif
    XBETWEEN_SYMBOLS(11, 938)

/*-----
* NEXTSTATE -
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),152(30,115),1)
------*/
#ifdef XCASELABELS
  case 11:
#endif
    XAT_LAST_SYMBOL
    SDL_DASH_NEXTSTATE

/*-----
* INPUT Bump
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),155(55,70),1)
------*/
  case 2:
    XDEBUG_LABEL(Losing_Bump)
    XAT_FIRST_SYMBOL(2)
    XOS_TRACE_INPUT("Bump")
    XBETWEEN_SYMBOLS(12, 958)

/*-----
* NEXTSTATE Winning
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),158(55,85),1)
------*/
#ifdef XCASELABELS
  case 12:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(Winning, z041_Winning, "Winning")

/*-----
* INPUT Bump
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),173(55,100),1)
------*/
  case 3:
    XDEBUG_LABEL(Winning_Bump)
    XAT_FIRST_SYMBOL(3)
    XOS_TRACE_INPUT("Bump")
    XBETWEEN_SYMBOLS(13, 978)

/*-----
* NEXTSTATE Losing
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),176(55,115),1)
------*/
#ifdef XCASELABELS
  case 13:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(Losing, z040_Losing, "Losing")

/*-----
* INPUT Probe
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),161(80,100),1)
------*/
  case 4:
    XDEBUG_LABEL(Winning_Probe)
    XAT_FIRST_SYMBOL(4)
    XOS_TRACE_INPUT("Probe")
    XBETWEEN_SYMBOLS(14, 998)

/*-----
* OUTPUT Win
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),164(80,115),1,1)
------*/
#ifdef XCASELABELS
  case 14:
#endif
    ALLOC_SIGNAL(Win, ySigN_z9_Win, TO_PROCESS(Env, &yEnvR_env),
      XSIGNALHEADERTYPE)
    SIGNAL_ALLOC_ERROR
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, Win,
      ySigN_z9_Win, TO_PROCESS(Env, &yEnvR_env), 0, "Win")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(15, 1013)

/*-----
* ASSIGNMENT Count := ...
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),167(80,130),1,1)
------*/
#ifdef XCASELABELS
  case 15:
#endif
    yAssF_SDL_Integer(yVarP->z043_Count, xPlus_SDL_Integer(yVarP->z043_Count,
      SDL_INTEGER_LIT(1)), XASS_MR_ASS_FR);
#ifdef XTRACE
    xTraceAssign("Count := ", &(yVarP->z043_Count), xSrtN_SDL_Integer);
#endif
#ifdef XMSCE
    xMSCEAssign("Count := ", &(yVarP->z043_Count), xSrtN_SDL_Integer);
#endif
    XBETWEEN_SYMBOLS(16, 1030)

/*-----
* NEXTSTATE -
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),170(80,145),1)
------*/
#ifdef XCASELABELS
  case 16:
#endif
    XAT_LAST_SYMBOL
    SDL_DASH_NEXTSTATE

/*-----
* INPUT Result
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),125(80,40),1)
------*/
  case 5:
    XDEBUG_LABEL(ASTERISK_Result)
    XAT_FIRST_SYMBOL(5)
    XOS_TRACE_INPUT("Result")
    XBETWEEN_SYMBOLS(17, 1050)

/*-----
* OUTPUT Score
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),128(80,55),1,1)
------*/
#ifdef XCASELABELS
  case 17:
#endif
    ALLOC_SIGNAL_PAR(Score, ySigN_zB_Score, TO_PROCESS(Env, &yEnvR_env),
      yPDef_zB_Score)
    SIGNAL_ALLOC_ERROR
    yAssF_SDL_Integer(((yPDef_zB_Score *)OUTSIGNAL_DATA_PTR)->Param1, yVarP->
      z043_Count, XASS_MR_ASS_NF);
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, Score,
      ySigN_zB_Score, TO_PROCESS(Env, &yEnvR_env), sizeof(yPDef_zB_Score),
      "Score")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(18, 1068)

/*-----
* NEXTSTATE -
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),131(80,70),1)
------*/
#ifdef XCASELABELS
  case 18:
#endif
    XAT_LAST_SYMBOL
    SDL_DASH_NEXTSTATE

/*-----
* INPUT GameOver
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),119(105,40),1)
------*/
  case 6:
    XDEBUG_LABEL(ASTERISK_GameOver)
    XAT_FIRST_SYMBOL(6)
    XOS_TRACE_INPUT("GameOver")
    XBETWEEN_SYMBOLS(19, 1088)

/*-----
* STOP
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),122(110,55),1)
------*/
#ifdef XCASELABELS
  case 19:
#endif
    XAT_LAST_SYMBOL
    SDL_STOP
  }
}

/*****
* STATE Losing
* <<SYSTEM DemonGame/BLOCK GameBlock/PROCESS Game>>
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),140(30,55),1,1)
******/
static XCONST xInputAction yStaH_z040_Losing[] = {xInput, xInput, xInput,
  xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z040_Losing[] = {1, 5, 6, 2, 0};
#ifdef XCOVERAGE
static long int yStaC_z040_Losing[4+1];
#endif
XCONST struct xStateIdStruct yStaR_z040_Losing = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z04_Game, "Losing" XCOMMON_EXTRAS, z040_Losing,
  yStaH_z040_Losing, yStaI_z040_Losing, 0, 0, 0 xCoverage(yStaC_z040_Losing),
  (xStateIdNode)0
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),140(30,55),1,1)")
  XSTA_EXTRAS};

/*****
* STATE Winning
* <<SYSTEM DemonGame/BLOCK GameBlock/PROCESS Game>>
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),158(55,85),1,1)
******/
static XCONST xInputAction yStaH_z041_Winning[] = {xInput, xInput, xInput,
  xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z041_Winning[] = {4, 5, 6, 3, 0};
#ifdef XCOVERAGE
static long int yStaC_z041_Winning[4+1];
#endif
XCONST struct xStateIdStruct yStaR_z041_Winning = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z04_Game, "Winning" XCOMMON_EXTRAS, z041_Winning,
  yStaH_z041_Winning, yStaI_z041_Winning, 0, 0, 0
  xCoverage(yStaC_z041_Winning), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/Game.spr(1),158(55,85),1,1)")
  XSTA_EXTRAS};

/*****
* DCL Count
* <<SYSTEM DemonGame/BLOCK GameBlock/PROCESS Game>>
* #SDTREF(SDL,/home/cs/max/kab/Game.spr(1),179(30,10),2,1)
******/
#ifndef XOPTDCL
XCONST struct xVarIdStruct yVarR_z043_Count = {xVariableEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z04_Game, "Count" XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, xOffsetOf(yVDef_z04_Game, z043_Count), (xptrint)0, 0
  XVAR_EXTRAS};
#endif

/*****
* SIGNAL GameOver
* <<SYSTEM DemonGame/BLOCK GameBlock>>
* #SDTREF(SDL,/home/cs/max/kab/GameBlock.sbk(1),164(60,25),2,1)
******/
XCONST struct xSignalIdStruct ySigR_z05_GameOver = {xSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_GameBlock, "GameOver" XCOMMON_EXTRAS,
  (xptrint)sizeof(XSIGNALHEADERTYPE), 0, 0 xFreS(0) SIGCODE(GameOver)
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/GameBlock.sbk(1),164(60,25),2,1)")
  xSigPrioPar(xDefaultPrioSignal) XSIG_EXTRAS};

/*****
* SIGNALROUTE R2
* <<SYSTEM DemonGame/BLOCK GameBlock>>
* #SDTREF(SDL,/home/cs/max/kab/GameBlock.sbk(1),149(45,67),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z06_R2[] = {SIGNAL_NAME(Probe, &ySigR_z6_Probe),
  SIGNAL_NAME(Result, &ySigR_z7_Result), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z06_R2[] = {(XSIGTYPE)0};
XCONST xIdNode yChaO_z06_R2[] = {(xIdNode)&yPrsR_z04_Game, (xIdNode)0};
XCONST xIdNode yChaOR_z06_R2[] = {(xIdNode)&yChaRR_z2_C1, (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z06_R2 = {xSignalrouteEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_GameBlock, "R2" XCOMMON_EXTRAS, yChaS_z06_R2,
  yChaO_z06_R2, &yChaRR_z06_R2 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z06_R2 = {xSignalrouteEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_GameBlock, "R2" XCOMMON_EXTRAS, yChaSR_z06_R2,
  yChaOR_z06_R2, &yChaR_z06_R2 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE R1
* <<SYSTEM DemonGame/BLOCK GameBlock>>
* #SDTREF(SDL,/home/cs/max/kab/GameBlock.sbk(1),119(40,42),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z07_R1[] = {SIGNAL_NAME(Newgame,
  &ySigR_z5_Newgame), SIGNAL_NAME(Endgame, &ySigR_z8_Endgame), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z07_R1[] = {(XSIGTYPE)0};
XCONST xIdNode yChaO_z07_R1[] = {(xIdNode)&yPrsR_z03_Main, (xIdNode)0};
XCONST xIdNode yChaOR_z07_R1[] = {(xIdNode)&yChaRR_z2_C1, (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z07_R1 = {xSignalrouteEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_GameBlock, "R1" XCOMMON_EXTRAS, yChaS_z07_R1,
  yChaO_z07_R1, &yChaRR_z07_R1 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z07_R1 = {xSignalrouteEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_GameBlock, "R1" XCOMMON_EXTRAS, yChaSR_z07_R1,
  yChaOR_z07_R1, &yChaR_z07_R1 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE R5
* <<SYSTEM DemonGame/BLOCK GameBlock>>
* #SDTREF(SDL,/home/cs/max/kab/GameBlock.sbk(1),155(77,67),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z08_R5[] = {SIGNAL_NAME(GameOver,
  &ySigR_z05_GameOver), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z08_R5[] = {(XSIGTYPE)0};
XCONST xIdNode yChaO_z08_R5[] = {(xIdNode)&yPrsR_z04_Game, (xIdNode)0};
XCONST xIdNode yChaOR_z08_R5[] = {(xIdNode)&yPrsR_z03_Main, (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z08_R5 = {xSignalrouteEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_GameBlock, "R5" XCOMMON_EXTRAS, yChaS_z08_R5,
  yChaO_z08_R5, &yChaRR_z08_R5 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z08_R5 = {xSignalrouteEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_GameBlock, "R5" XCOMMON_EXTRAS, yChaSR_z08_R5,
  yChaOR_z08_R5, &yChaR_z08_R5 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE R3
* <<SYSTEM DemonGame/BLOCK GameBlock>>
* #SDTREF(SDL,/home/cs/max/kab/GameBlock.sbk(1),131(27,85),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z09_R3[] = {SIGNAL_NAME(Win, &ySigR_z9_Win),
  SIGNAL_NAME(Lose, &ySigR_zA_Lose), SIGNAL_NAME(Score, &ySigR_zB_Score),
  (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z09_R3[] = {(XSIGTYPE)0};
XCONST xIdNode yChaO_z09_R3[] = {(xIdNode)&yChaR_z3_C2, (xIdNode)0};
XCONST xIdNode yChaOR_z09_R3[] = {(xIdNode)&yPrsR_z04_Game, (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z09_R3 = {xSignalrouteEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_GameBlock, "R3" XCOMMON_EXTRAS, yChaS_z09_R3,
  yChaO_z09_R3, &yChaRR_z09_R3 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z09_R3 = {xSignalrouteEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_GameBlock, "R3" XCOMMON_EXTRAS, yChaSR_z09_R3,
  yChaOR_z09_R3, &yChaR_z09_R3 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE R4
* <<SYSTEM DemonGame/BLOCK GameBlock>>
* #SDTREF(SDL,/home/cs/max/kab/GameBlock.sbk(1),140(50,95),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z0A_R4[] = {SIGNAL_NAME(Bump, &ySigR_zC_Bump),
  (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z0A_R4[] = {(XSIGTYPE)0};
XCONST xIdNode yChaO_z0A_R4[] = {(xIdNode)&yPrsR_z04_Game, (xIdNode)0};
XCONST xIdNode yChaOR_z0A_R4[] = {(xIdNode)&yChaRR_z4_C3, (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z0A_R4 = {xSignalrouteEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_GameBlock, "R4" XCOMMON_EXTRAS, yChaS_z0A_R4,
  yChaO_z0A_R4, &yChaRR_z0A_R4 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z0A_R4 = {xSignalrouteEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_GameBlock, "R4" XCOMMON_EXTRAS, yChaSR_z0A_R4,
  yChaOR_z0A_R4, &yChaR_z0A_R4 XCHA_EXTRAS};
#endif

/*****
* BLOCK DemonBlock
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonBlock.sbk,4,1)
******/
XCONST struct xBlockIdStruct yBloR_z1_DemonBlock = {xBlockEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame, "DemonBlock" XCOMMON_EXTRAS,
  (xBlockIdNode)0, (xIdNode *)0, (xPrdIdNode *)0, (xViewListRec *)0, 1
  xTrace(-1) xGRTrace(-1) xMSCETrace(-1) xMSCETrace(0) XBLO_EXTRAS};
#ifndef XOPTCHAN
XCONST xIdNode yChaOR_z4_C3[] = {(xIdNode)&yChaRR_z12_R1, (xIdNode)0};
#endif

/*****
* PROCESS Demon
* <<SYSTEM DemonGame/BLOCK DemonBlock>>
* #SDTREF(SDL,/home/cs/max/kab/Demon.spr,4,1)
******/
#ifdef XCOVERAGE
long int yPrsC_z11_Demon[ySym_z11_Demon+1];
#endif
XCONST XSIGTYPE yPrsS_z11_Demon[] = {SIGNAL_NAME(T, &ySigR_z111_T),
  (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z11_Demon[] = {&xStartStateIdRec,
  &yStaR_z110_Generate};
static XPRSNODE yPrsA_z11_Demon = (XPRSNODE)0;
static XPRSNODE yPrsB_z11_Demon = (XPRSNODE)0;
XCONST struct xPrsIdStruct yPrsR_z11_Demon = {xProcessEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z1_DemonBlock, "Demon" XCOMMON_EXTRAS,
  yPrsT_z11_Demon, yPrsS_z11_Demon xService(0) xOptChan(yPrsO_z11_Demon),
  SDL_INTEGER_LIT(1) xNrInst(1) xNrInst(SDL_INTEGER_LIT(1)), &yPrsB_z11_Demon,
  (xptrint)sizeof(yVDef_z11_Demon) xPrsPrioPar(xDefaultPrioProcess),
  &yPrsA_z11_Demon xTrace(-1) xGRTrace(-1) xBreakB(yRef_z11_Demon)
  xBreakB(ySym_z11_Demon) xBreakB(1) xMSCETrace(-1) xCoverage(yPrsC_z11_Demon)
  xCoverage(0) xCoverage(0), yPAD_z11_Demon, yFree_z11_Demon, (xPrsIdNode)0,
  (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/Demon.spr,4,1)") xThreadName(0)
  XPRS_EXTRAS(z11_Demon)};
static xSignalNode ySigA_z11_Demon = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z11_Demon = {xStartUpSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z1_DemonBlock xIdNames("-") XCOMMON_EXTRAS,
  (xptrint)sizeof(yPDef_z11_Demon), &ySigA_z11_Demon, 0 xFreS(0)
  SIGCODE(STARTUPSIGNAL) xBreakB("#SDTREF(SDL,/home/cs/max/kab/Demon.spr,4,1)")
  xSigPrioPar(xDefaultPrioSignal) XSIG_EXTRAS};
XPROCESSDEF_C(Demon,"Demon",z11_Demon,yPAD_z11_Demon,yVDef_z11_Demon)
#ifndef XOPTCHAN
XCONST xIdNode yPrsO_z11_Demon[] = {(xIdNode)&yChaR_z12_R1, (xIdNode)0};
#endif

#ifndef XNOPROTO
void yFree_z11_Demon(void *yVarP)
#else
void yFree_z11_Demon(yVarP)
  void *yVarP;
#endif
{
}

/*+++++
* GR ref function for process Demon
* #SDTREF(SDL,/home/cs/max/kab/Demon.spr,4,1)
++++++*/
#ifdef XBREAKBEFORE
#ifndef XNOPROTO
extern char * yRef_z11_Demon (int SymbolNo, xSymbolType *SymbolType)
#else
extern char * yRef_z11_Demon (SymbolNo, SymbolType)
  int SymbolNo;
  xSymbolType *SymbolType;
#endif
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),119(5,25),1)";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),143(30,40),1)";
    case 2: *SymbolType = xsSet;
      return "#SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),122(5,40),1,1)";
    case 3: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),134(5,55),1)";
    case 4: *SymbolType = xsOutput;
      return "#SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),149(30,55),1,1)";
    case 5: *SymbolType = xsSet;
      return "#SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),155(30,70),1,1)";
    case 6: *SymbolType = xsNextstate;
      return "#SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),161(30,85),1)";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process Demon
* #SDTREF(SDL,/home/cs/max/kab/Demon.spr,4,1)
++++++*/
YPAD_FUNCTION(yPAD_z11_Demon)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z11_Demon)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("Demon")

  BEGIN_PAD(yVDef_z11_Demon)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),119(5,25),1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z11_Demon)
    XAT_FIRST_SYMBOL(0)
    INIT_TIMER_VAR(yTim_T)
    XBETWEEN_SYMBOLS(2, 1372)

/*-----
* SET T
* #SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),122(5,40),1,1)
------*/
#ifdef XCASELABELS
  case 2:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, SDL_DURATION_LIT(1.0, 1, 0)),
      SDL_DURATION_LIT(1.0, 1, 0), T, ySigN_z111_T, yTim_T, "T")
    XBETWEEN_SYMBOLS(3, 1383)

/*-----
* NEXTSTATE Generate
* #SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),134(5,55),1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(Generate, z110_Generate, "Generate")

/*-----
* INPUT T
* #SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),143(30,40),1)
------*/
  case 1:
    XDEBUG_LABEL(Generate_T)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("T")
    INPUT_TIMER_VAR(yTim_T)
    XBETWEEN_SYMBOLS(4, 1404)

/*-----
* OUTPUT Bump
* #SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),149(30,55),1,1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    ALLOC_SIGNAL(Bump, ySigN_zC_Bump, TO_PROCESS(Game, yPrsN_z04_Game),
      XSIGNALHEADERTYPE)
    SIGNAL_ALLOC_ERROR
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, Bump,
      ySigN_zC_Bump, TO_PROCESS(Game, yPrsN_z04_Game), 0, "Bump")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(5, 1419)

/*-----
* SET T
* #SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),155(30,70),1,1)
------*/
#ifdef XCASELABELS
  case 5:
#endif
    SDL_SET_DUR(xPlus_SDL_Time(SDL_NOW, SDL_DURATION_LIT(1.0, 1, 0)),
      SDL_DURATION_LIT(1.0, 1, 0), T, ySigN_z111_T, yTim_T, "T")
    XBETWEEN_SYMBOLS(6, 1430)

/*-----
* NEXTSTATE -
* #SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),161(30,85),1)
------*/
#ifdef XCASELABELS
  case 6:
#endif
    XAT_LAST_SYMBOL
    SDL_DASH_NEXTSTATE
  }
}

/*****
* STATE Generate
* <<SYSTEM DemonGame/BLOCK DemonBlock/PROCESS Demon>>
* #SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),140(30,25),1,1)
******/
static XCONST xInputAction yStaH_z110_Generate[] = {xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z110_Generate[] = {1, 0};
#ifdef XCOVERAGE
static long int yStaC_z110_Generate[1+1];
#endif
XCONST struct xStateIdStruct yStaR_z110_Generate = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z11_Demon, "Generate" XCOMMON_EXTRAS,
  z110_Generate, yStaH_z110_Generate, yStaI_z110_Generate, 0, 0, 0
  xCoverage(yStaC_z110_Generate), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),140(30,25),1,1)")
  XSTA_EXTRAS};

/*****
* TIMER T
* <<SYSTEM DemonGame/BLOCK DemonBlock/PROCESS Demon>>
* #SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),167(30,10),1,7)
******/
XCONST struct xSignalIdStruct ySigR_z111_T = {xTimerEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z11_Demon, "T" XCOMMON_EXTRAS,
  (xptrint)sizeof(XTIMERHEADERTYPE), 0, 0 xFreS(0) SIGCODE(T)
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/Demon.spr(1),167(30,10),1,7)")
  xSigPrioPar(xDefaultPrioSignal) XSIG_EXTRAS};

/*****
* SIGNALROUTE R1
* <<SYSTEM DemonGame/BLOCK DemonBlock>>
* #SDTREF(SDL,/home/cs/max/kab/DemonBlock.sbk(1),134(34,48),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z12_R1[] = {SIGNAL_NAME(Bump, &ySigR_zC_Bump),
  (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z12_R1[] = {(XSIGTYPE)0};
XCONST xIdNode yChaO_z12_R1[] = {(xIdNode)&yChaR_z4_C3, (xIdNode)0};
XCONST xIdNode yChaOR_z12_R1[] = {(xIdNode)&yPrsR_z11_Demon, (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z12_R1 = {xSignalrouteEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z1_DemonBlock, "R1" XCOMMON_EXTRAS, yChaS_z12_R1,
  yChaO_z12_R1, &yChaRR_z12_R1 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z12_R1 = {xSignalrouteEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z1_DemonBlock, "R1" XCOMMON_EXTRAS,
  yChaSR_z12_R1, yChaOR_z12_R1, &yChaR_z12_R1 XCHA_EXTRAS};
#endif

/*****
* CHANNEL C1
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),149(52,42),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z2_C1[] = {SIGNAL_NAME(Newgame,
  &ySigR_z5_Newgame), SIGNAL_NAME(Probe, &ySigR_z6_Probe), SIGNAL_NAME(Result,
  &ySigR_z7_Result), SIGNAL_NAME(Endgame, &ySigR_z8_Endgame), (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z2_C1[] = {(XSIGTYPE)0};
#ifndef XMULTIPLESYSTEMS
XCONST xIdNode yChaOR_z2_C1[] = {(xIdNode)&yEnvR_env, (xIdNode)0};
#else
XCONST xIdNode yChaOR_z2_C1[] = {(xIdNode)&yGateOut_DemonGame_C1, (xIdNode)0};
#endif
XCONST struct xChannelIdStruct yChaR_z2_C1 = {xChannelEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame, "C1" XCOMMON_EXTRAS, yChaS_z2_C1,
  yChaO_z2_C1, &yChaRR_z2_C1 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z2_C1 = {xChannelEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame, "C1" XCOMMON_EXTRAS, yChaSR_z2_C1,
  yChaOR_z2_C1, &yChaR_z2_C1 XCHA_EXTRAS};
#ifdef XMULTIPLESYSTEMS
XCONST xIdNode yConnIn_DemonGame_C1[] = {(xIdNode)&yChaR_z2_C1, (xIdNode)0};
XCONST struct xChannelIdStruct yGateIn_DemonGame_C1= {xGateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame xIdNames("DemonGame_C1")
  XCOMMON_EXTRAS, yChaS_z2_C1, yConnIn_DemonGame_C1, &yGateOut_DemonGame_C1
  XCHA_EXTRAS};
XCONST struct xChannelIdStruct yGateOut_DemonGame_C1= {xGateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame xIdNames("DemonGame_C1")
  XCOMMON_EXTRAS, yChaSR_z2_C1, yConnOut_DemonGame_C1, &yGateIn_DemonGame_C1
  XCHA_EXTRAS};
#endif
#endif

/*****
* CHANNEL C2
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),140(52,57),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z3_C2[] = {SIGNAL_NAME(Win, &ySigR_z9_Win),
  SIGNAL_NAME(Lose, &ySigR_zA_Lose), SIGNAL_NAME(Score, &ySigR_zB_Score),
  (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z3_C2[] = {(XSIGTYPE)0};
#ifndef XMULTIPLESYSTEMS
XCONST xIdNode yChaO_z3_C2[] = {(xIdNode)&yEnvR_env, (xIdNode)0};
#else
XCONST xIdNode yChaO_z3_C2[] = {(xIdNode)&yGateOut_DemonGame_C2, (xIdNode)0};
#endif
XCONST struct xChannelIdStruct yChaR_z3_C2 = {xChannelEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame, "C2" XCOMMON_EXTRAS, yChaS_z3_C2,
  yChaO_z3_C2, &yChaRR_z3_C2 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z3_C2 = {xChannelEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame, "C2" XCOMMON_EXTRAS, yChaSR_z3_C2,
  yChaOR_z3_C2, &yChaR_z3_C2 XCHA_EXTRAS};
#ifdef XMULTIPLESYSTEMS
XCONST xIdNode yConnIn_DemonGame_C2[] = {(xIdNode)&yChaRR_z3_C2, (xIdNode)0};
XCONST struct xChannelIdStruct yGateIn_DemonGame_C2= {xGateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame xIdNames("DemonGame_C2")
  XCOMMON_EXTRAS, yChaSR_z3_C2, yConnIn_DemonGame_C2, &yGateOut_DemonGame_C2
  XCHA_EXTRAS};
XCONST struct xChannelIdStruct yGateOut_DemonGame_C2= {xGateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame xIdNames("DemonGame_C2")
  XCOMMON_EXTRAS, yChaS_z3_C2, yConnOut_DemonGame_C2, &yGateIn_DemonGame_C2
  XCHA_EXTRAS};
#endif
#endif

/*****
* CHANNEL C3
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),125(69,78),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z4_C3[] = {SIGNAL_NAME(Bump, &ySigR_zC_Bump),
  (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z4_C3[] = {(XSIGTYPE)0};
XCONST struct xChannelIdStruct yChaR_z4_C3 = {xChannelEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame, "C3" XCOMMON_EXTRAS, yChaS_z4_C3,
  yChaO_z4_C3, &yChaRR_z4_C3 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z4_C3 = {xChannelEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame, "C3" XCOMMON_EXTRAS, yChaSR_z4_C3,
  yChaOR_z4_C3, &yChaR_z4_C3 XCHA_EXTRAS};
#endif

/*****
* SIGNAL Newgame
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),2,1)
******/
XCONST struct xSignalIdStruct ySigR_z5_Newgame = {xSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame, "Newgame" XCOMMON_EXTRAS,
  (xptrint)sizeof(XSIGNALHEADERTYPE), 0, 0 xFreS(0) SIGCODE(Newgame)
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),2,1)")
  xSigPrioPar(xDefaultPrioSignal) XSIG_EXTRAS};

/*****
* SIGNAL Probe
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),2,10)
******/
XCONST struct xSignalIdStruct ySigR_z6_Probe = {xSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame, "Probe" XCOMMON_EXTRAS,
  (xptrint)sizeof(XSIGNALHEADERTYPE), 0, 0 xFreS(0) SIGCODE(Probe)
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),2,10)")
  xSigPrioPar(xDefaultPrioSignal) XSIG_EXTRAS};

/*****
* SIGNAL Result
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),2,17)
******/
XCONST struct xSignalIdStruct ySigR_z7_Result = {xSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame, "Result" XCOMMON_EXTRAS,
  (xptrint)sizeof(XSIGNALHEADERTYPE), 0, 0 xFreS(0) SIGCODE(Result)
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),2,17)")
  xSigPrioPar(xDefaultPrioSignal) XSIG_EXTRAS};

/*****
* SIGNAL Endgame
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),2,25)
******/
XCONST struct xSignalIdStruct ySigR_z8_Endgame = {xSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame, "Endgame" XCOMMON_EXTRAS,
  (xptrint)sizeof(XSIGNALHEADERTYPE), 0, 0 xFreS(0) SIGCODE(Endgame)
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),2,25)")
  xSigPrioPar(xDefaultPrioSignal) XSIG_EXTRAS};

/*****
* SIGNAL Win
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),3,1)
******/
XCONST struct xSignalIdStruct ySigR_z9_Win = {xSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame, "Win" XCOMMON_EXTRAS,
  (xptrint)sizeof(XSIGNALHEADERTYPE), 0, 0 xFreS(0) SIGCODE(Win)
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),3,1)")
  xSigPrioPar(xDefaultPrioSignal) XSIG_EXTRAS};

/*****
* SIGNAL Lose
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),3,6)
******/
XCONST struct xSignalIdStruct ySigR_zA_Lose = {xSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame, "Lose" XCOMMON_EXTRAS,
  (xptrint)sizeof(XSIGNALHEADERTYPE), 0, 0 xFreS(0) SIGCODE(Lose)
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),3,6)")
  xSigPrioPar(xDefaultPrioSignal) XSIG_EXTRAS};

/*****
* SIGNAL Score
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),3,12)
******/
static xSignalNode ySigA_zB_Score = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_zB_Score = {xSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame, "Score" XCOMMON_EXTRAS,
  (xptrint)sizeof(yPDef_zB_Score), &ySigA_zB_Score, 0 xFreS(0) SIGCODE(Score)
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),3,12)")
  xSigPrioPar(xDefaultPrioSignal) XSIG_EXTRAS};
#ifndef XOPTSIGPARA
XCONST struct xVarIdStruct ySPaR1_zB_Score = {xSignalParEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySigR_zB_Score xIdNames(" ") XCOMMON_EXTRAS,
  &xSrtR_SDL_Integer, xOffsetOf(yPDef_zB_Score, Param1), (xptrint)0, (xbool)0
  XSPA_EXTRAS};
#endif

/*****
* SIGNAL Bump
* <<SYSTEM DemonGame>>
* #SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),3,28)
******/
XCONST struct xSignalIdStruct ySigR_zC_Bump = {xSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_DemonGame, "Bump" XCOMMON_EXTRAS,
  (xptrint)sizeof(XSIGNALHEADERTYPE), 0, 0 xFreS(0) SIGCODE(Bump)
  xBreakB("#SDTREF(SDL,/home/cs/max/kab/DemonGame.ssy(1),170(60,25),3,28)")
  xSigPrioPar(xDefaultPrioSignal) XSIG_EXTRAS};

/*************************************************************************
**                       SECTION Initialization                         **
*************************************************************************/
#ifndef XMULTIPLESYSTEMS
extern void yInit XPP((void))
{
#else
extern void yInit_DemonGame XPP((void))
{
#endif
  int  Temp;
  YINIT_TEMP_VARS
  BEGIN_YINIT

#ifdef XMONITOR
  xTranslatorVersion =
    "Program generated by Cbasic 4.0.0 ";
#endif
  xInsertIdNode((xIdNode)&ySysR_z_DemonGame);
  xInsertIdNode((xIdNode)&yBloR_z0_GameBlock);
  xInsertIdNode((xIdNode)&yPrsR_z03_Main);
  xInsertIdNode((xIdNode)&ySigR_z03_Main);
  INIT_PROCESS_TYPE(Main,z03_Main,yPrsN_z03_Main,"z03_Main",SDL_INTEGER_LIT(1),
    SDL_INTEGER_LIT(1),yVDef_z03_Main,xDefaultPrioProcess,yPAD_z03_Main)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Main,z03_Main,yPrsN_z03_Main,"Main",ySigN_z03_Main,
    yPDef_z03_Main,yVDef_z03_Main,xDefaultPrioProcess,yPAD_z03_Main,1)
#endif
  xInsertIdNode((xIdNode)&yStaR_z030_Game_Off);
  xInsertIdNode((xIdNode)&yStaR_z031_Game_On);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z032_GameP);
#endif
  xInsertIdNode((xIdNode)&yPrsR_z04_Game);
  xInsertIdNode((xIdNode)&ySigR_z04_Game);
  INIT_PROCESS_TYPE(Game,z04_Game,yPrsN_z04_Game,"z04_Game",SDL_INTEGER_LIT(1),
    SDL_INTEGER_LIT(0),yVDef_z04_Game,xDefaultPrioProcess,yPAD_z04_Game)
  xInsertIdNode((xIdNode)&yStaR_z040_Losing);
  xInsertIdNode((xIdNode)&yStaR_z041_Winning);
#ifndef XOPTDCL
  xInsertIdNode((xIdNode)&yVarR_z043_Count);
#endif
  xInsertIdNode((xIdNode)&ySigR_z05_GameOver);
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z06_R2);
  xInsertIdNode((xIdNode)&yChaRR_z06_R2);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z07_R1);
  xInsertIdNode((xIdNode)&yChaRR_z07_R1);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z08_R5);
  xInsertIdNode((xIdNode)&yChaRR_z08_R5);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z09_R3);
  xInsertIdNode((xIdNode)&yChaRR_z09_R3);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z0A_R4);
  xInsertIdNode((xIdNode)&yChaRR_z0A_R4);
#endif
  xInsertIdNode((xIdNode)&yBloR_z1_DemonBlock);
  xInsertIdNode((xIdNode)&yPrsR_z11_Demon);
  xInsertIdNode((xIdNode)&ySigR_z11_Demon);
  INIT_PROCESS_TYPE(Demon,z11_Demon,yPrsN_z11_Demon,"z11_Demon",
    SDL_INTEGER_LIT(1),SDL_INTEGER_LIT(1),yVDef_z11_Demon,xDefaultPrioProcess,
    yPAD_z11_Demon)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(Demon,z11_Demon,yPrsN_z11_Demon,"Demon",ySigN_z11_Demon,
    yPDef_z11_Demon,yVDef_z11_Demon,xDefaultPrioProcess,yPAD_z11_Demon,1)
#endif
  xInsertIdNode((xIdNode)&yStaR_z110_Generate);
  xInsertIdNode((xIdNode)&ySigR_z111_T);
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z12_R1);
  xInsertIdNode((xIdNode)&yChaRR_z12_R1);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z2_C1);
  xInsertIdNode((xIdNode)&yChaRR_z2_C1);
#endif
#ifdef XMULTIPLESYSTEMS
  xInsertIdNode((xIdNode)&yGateIn_DemonGame_C1);
  xInsertIdNode((xIdNode)&yGateOut_DemonGame_C1);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z3_C2);
  xInsertIdNode((xIdNode)&yChaRR_z3_C2);
#endif
#ifdef XMULTIPLESYSTEMS
  xInsertIdNode((xIdNode)&yGateIn_DemonGame_C2);
  xInsertIdNode((xIdNode)&yGateOut_DemonGame_C2);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z4_C3);
  xInsertIdNode((xIdNode)&yChaRR_z4_C3);
#endif
  xInsertIdNode((xIdNode)&ySigR_z5_Newgame);
  xInsertIdNode((xIdNode)&ySigR_z6_Probe);
  xInsertIdNode((xIdNode)&ySigR_z7_Result);
  xInsertIdNode((xIdNode)&ySigR_z8_Endgame);
  xInsertIdNode((xIdNode)&ySigR_z9_Win);
  xInsertIdNode((xIdNode)&ySigR_zA_Lose);
  xInsertIdNode((xIdNode)&ySigR_zB_Score);
#ifndef XOPTSIGPARA
  xInsertIdNode((xIdNode)&ySPaR1_zB_Score);
#endif
  xInsertIdNode((xIdNode)&ySigR_zC_Bump);
}
