USING "degenatron_games_using.sch" USING "arcade_games_leaderboard.sch" PROC DEGENATRON_GAMES_RESET_CHALLENGES() CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES] DEGENATRON_GAMES_RESET_CHALLENGES") sDegenatronGamesData.eChallengeFlags = DEGENATRON_GAMES_CHALLENGE_BIT_NONE SET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_KEEPFAITH, FALSE) SET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_AQUAAPE, FALSE) SET_MP_INT_CHARACTER_AWARD(MP_AWARD_MASTERFUL, 0) ARCADE_CABINET_FLOW_CLEAR_TSHIRT(ARCADE_GAME_TSHIRTS_DEGENATRON_RIGHT_KIND_OF_FAITH) ARCADE_CABINET_FLOW_CLEAR_TSHIRT(ARCADE_GAME_TSHIRTS_DEGENATRON_AQUATIC_APE) ARCADE_CABINET_FLOW_CLEAR_TSHIRT(ARCADE_GAME_TSHIRTS_DEGENATRON_RIMMING_MASTER) ARCADE_CABINET_FLOW_CLEAR_TROPHY(ARCADE_GAME_TROPHY_DEGENATRON) ENDPROC PROC DEGENATRON_GAMES_RESET_CHALLENGE(DEGENATRON_GAMES_CHALLENGE_BIT eBit) IF IS_BITMASK_ENUM_AS_ENUM_SET(sDegenatronGamesData.eChallengeFlags, eBit) CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES] DEGENATRON_GAMES_RESET_CHALLENGE:", DEGENATRON_GAMES_CHALLENGE_BIT_TO_STRING(eBit)) CLEAR_BITMASK_ENUM_AS_ENUM(sDegenatronGamesData.eChallengeFlags, eBit) SWITCH (eBit) CASE DEGENATRON_GAMES_CHALLENGE_BIT_KEEP_THE_FAITH SET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_KEEPFAITH, FALSE) BREAK CASE DEGENATRON_GAMES_CHALLENGE_BIT_AQUAAPE SET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_AQUAAPE, FALSE) BREAK CASE DEGENATRON_GAMES_CHALLENGE_BIT_MASTERFUL_BRONZE CASE DEGENATRON_GAMES_CHALLENGE_BIT_MASTERFUL_SILVER CASE DEGENATRON_GAMES_CHALLENGE_BIT_MASTERFUL_GOLD CASE DEGENATRON_GAMES_CHALLENGE_BIT_MASTERFUL_PLATINUM SET_MP_INT_CHARACTER_AWARD(MP_AWARD_MASTERFUL,0) BREAK ENDSWITCH sDegenatronGamesData.sTelemetry.reward = 0 ENDIF ENDPROC PROC DEGENATRON_GAMES_SET_CHALLENGE_COMPLETED(DEGENATRON_GAMES_CHALLENGE_BIT eBit) CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES] DEGENATRON_GAMES_SET_CHALLENGE_COMPLETED:", DEGENATRON_GAMES_CHALLENGE_BIT_TO_STRING(eBit)) BOOL bCheckRetroMaster SWITCH (eBit) CASE DEGENATRON_GAMES_CHALLENGE_BIT_KEEP_THE_FAITH IF NOT GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_KEEPFAITH) SET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_KEEPFAITH, TRUE) SET_BITMASK_ENUM_AS_ENUM(sDegenatronGamesData.eChallengeFlags, eBit) bCheckRetroMaster = TRUE ENDIF BREAK CASE DEGENATRON_GAMES_CHALLENGE_BIT_AQUAAPE IF NOT GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_AQUAAPE) SET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_AQUAAPE, TRUE) SET_BITMASK_ENUM_AS_ENUM(sDegenatronGamesData.eChallengeFlags, eBit) bCheckRetroMaster = TRUE ENDIF BREAK CASE DEGENATRON_GAMES_CHALLENGE_BIT_MASTERFUL_BRONZE IF GET_MP_INT_CHARACTER_AWARD(MP_AWARD_MASTERFUL) < g_sMPTunables.iARCADE_MASTERFUL_BRONZE_SCORE SET_MP_INT_CHARACTER_AWARD(MP_AWARD_MASTERFUL,g_sMPTunables.iARCADE_MASTERFUL_BRONZE_SCORE) SET_BITMASK_ENUM_AS_ENUM(sDegenatronGamesData.eChallengeFlags, eBit) bCheckRetroMaster = TRUE ENDIF BREAK CASE DEGENATRON_GAMES_CHALLENGE_BIT_MASTERFUL_SILVER IF GET_MP_INT_CHARACTER_AWARD(MP_AWARD_MASTERFUL) < g_sMPTunables.iARCADE_MASTERFUL_SILVER_SCORE SET_MP_INT_CHARACTER_AWARD(MP_AWARD_MASTERFUL,g_sMPTunables.iARCADE_MASTERFUL_SILVER_SCORE) SET_BITMASK_ENUM_AS_ENUM(sDegenatronGamesData.eChallengeFlags, eBit) bCheckRetroMaster = TRUE ENDIF BREAK CASE DEGENATRON_GAMES_CHALLENGE_BIT_MASTERFUL_GOLD IF GET_MP_INT_CHARACTER_AWARD(MP_AWARD_MASTERFUL) < g_sMPTunables.iARCADE_MASTERFUL_GOLD_SCORE SET_MP_INT_CHARACTER_AWARD(MP_AWARD_MASTERFUL,g_sMPTunables.iARCADE_MASTERFUL_GOLD_SCORE) SET_BITMASK_ENUM_AS_ENUM(sDegenatronGamesData.eChallengeFlags, eBit) bCheckRetroMaster = TRUE ENDIF BREAK CASE DEGENATRON_GAMES_CHALLENGE_BIT_MASTERFUL_PLATINUM IF GET_MP_INT_CHARACTER_AWARD(MP_AWARD_MASTERFUL) < g_sMPTunables.iARCADE_MASTERFUL_PLATINUM_SCORE SET_MP_INT_CHARACTER_AWARD(MP_AWARD_MASTERFUL,g_sMPTunables.iARCADE_MASTERFUL_PLATINUM_SCORE) SET_BITMASK_ENUM_AS_ENUM(sDegenatronGamesData.eChallengeFlags, eBit) bCheckRetroMaster = TRUE ENDIF BREAK ENDSWITCH IF bCheckRetroMaster AND GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_KEEPFAITH) AND GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_AQUAAPE) AND GET_MP_INT_CHARACTER_AWARD(MP_AWARD_MASTERFUL) >= g_sMPTunables.iARCADE_MASTERFUL_PLATINUM_SCORE sDegenatronGamesData.sTelemetry.reward = ARCADE_GAME_GET_TROPHY_ID_FOR_TELEMETRY(ARCADE_GAME_TROPHY_DEGENATRON) ARCADE_CABINET_FLOW_NOTIFICATIONS_SET_SHOW_TROPHY_HELP(ARCADE_GAME_TROPHY_DEGENATRON,DOES_PLAYER_OWN_A_CASINO_APARTMENT(PLAYER_ID())) ARCADE_CABINET_FLOW_NOTIFICATIONS_SET_SHOW_TSHIRT_HELP(ARCADE_GAME_TSHIRTS_DEGENATRON_RETRO_MASTER) ENDIF ENDPROC PROC DEGENATRON_GAMES_SET_CHALLENGE_VALUE(DEGENATRON_GAMES_CHALLENGE_BIT eBit, INT value) CDEBUG1LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES] DEGENATRON_GAMES_SET_CHALLENGE_VALUE:", DEGENATRON_GAMES_CHALLENGE_BIT_TO_STRING(eBit)," value ",value) BOOL bCheckRetroMaster SWITCH (eBit) CASE DEGENATRON_GAMES_CHALLENGE_BIT_KEEP_THE_FAITH DEGENATRON_GAMES_SET_CHALLENGE_COMPLETED(DEGENATRON_GAMES_CHALLENGE_BIT_KEEP_THE_FAITH) BREAK CASE DEGENATRON_GAMES_CHALLENGE_BIT_AQUAAPE DEGENATRON_GAMES_SET_CHALLENGE_COMPLETED(DEGENATRON_GAMES_CHALLENGE_BIT_AQUAAPE) BREAK CASE DEGENATRON_GAMES_CHALLENGE_BIT_MASTERFUL_BRONZE CASE DEGENATRON_GAMES_CHALLENGE_BIT_MASTERFUL_SILVER CASE DEGENATRON_GAMES_CHALLENGE_BIT_MASTERFUL_GOLD CASE DEGENATRON_GAMES_CHALLENGE_BIT_MASTERFUL_PLATINUM INT iCurrent iCurrent = GET_MP_INT_CHARACTER_AWARD(MP_AWARD_MASTERFUL) IF iCurrent < 40000 IF iCurrent < value IF iCurrent < g_sMPTunables.iARCADE_MASTERFUL_BRONZE_SCORE AND value >= g_sMPTunables.iARCADE_MASTERFUL_BRONZE_SCORE AND value < g_sMPTunables.iARCADE_MASTERFUL_SILVER_SCORE bCheckRetroMaster = TRUE SET_BITMASK_ENUM_AS_ENUM(sDegenatronGamesData.eChallengeFlags, DEGENATRON_GAMES_CHALLENGE_BIT_MASTERFUL_BRONZE) ELIF iCurrent < g_sMPTunables.iARCADE_MASTERFUL_SILVER_SCORE AND value >= g_sMPTunables.iARCADE_MASTERFUL_SILVER_SCORE AND value < g_sMPTunables.iARCADE_MASTERFUL_GOLD_SCORE bCheckRetroMaster = TRUE SET_BITMASK_ENUM_AS_ENUM(sDegenatronGamesData.eChallengeFlags, DEGENATRON_GAMES_CHALLENGE_BIT_MASTERFUL_SILVER) ELIF iCurrent < g_sMPTunables.iARCADE_MASTERFUL_GOLD_SCORE AND value >= g_sMPTunables.iARCADE_MASTERFUL_GOLD_SCORE AND value < g_sMPTunables.iARCADE_MASTERFUL_PLATINUM_SCORE bCheckRetroMaster = TRUE SET_BITMASK_ENUM_AS_ENUM(sDegenatronGamesData.eChallengeFlags, DEGENATRON_GAMES_CHALLENGE_BIT_MASTERFUL_GOLD) ELIF iCurrent < g_sMPTunables.iARCADE_MASTERFUL_PLATINUM_SCORE AND value >= g_sMPTunables.iARCADE_MASTERFUL_PLATINUM_SCORE bCheckRetroMaster = TRUE SET_BITMASK_ENUM_AS_ENUM(sDegenatronGamesData.eChallengeFlags, DEGENATRON_GAMES_CHALLENGE_BIT_MASTERFUL_PLATINUM) ENDIF SET_MP_INT_CHARACTER_AWARD(MP_AWARD_MASTERFUL,value) ENDIF ENDIF BREAK ENDSWITCH IF bCheckRetroMaster AND GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_KEEPFAITH) AND GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_AQUAAPE) AND GET_MP_INT_CHARACTER_AWARD(MP_AWARD_MASTERFUL) >= g_sMPTunables.iARCADE_MASTERFUL_PLATINUM_SCORE sDegenatronGamesData.sTelemetry.reward = ARCADE_GAME_GET_TROPHY_ID_FOR_TELEMETRY(ARCADE_GAME_TROPHY_DEGENATRON) ARCADE_CABINET_FLOW_NOTIFICATIONS_SET_SHOW_TROPHY_HELP(ARCADE_GAME_TROPHY_DEGENATRON,DOES_PLAYER_OWN_A_CASINO_APARTMENT(PLAYER_ID())) ARCADE_CABINET_FLOW_NOTIFICATIONS_SET_SHOW_TSHIRT_HELP(ARCADE_GAME_TSHIRTS_DEGENATRON_RETRO_MASTER) ENDIF ENDPROC /// PURPOSE: /// Draws the facade at the edges of the screen PROC DEGENATRON_GAMES_DRAW_FACADE() #IF IS_DEBUG_BUILD IF NOT sDegenatronGamesData.bDebugDrawFacade EXIT ENDIF #ENDIF SWITCH sDegenatronGamesData.eGame CASE DEGENATRON_GAMES_DEFENDER ARCADE_CABINET_DRAW_SPRITE("MPArcadeDegenatronFacadeDoF", "DefenderOfThe Faith_43_Arcade_Frame", cfSCREEN_CENTER, cfSCREEN_CENTER, 1.0, 1.0, 0.0, sDegenatronGamesData.rgbaWhite) BREAK CASE DEGENATRON_GAMES_MONKEY ARCADE_CABINET_DRAW_SPRITE("MPArcadeDegenatronFacadeMonkey", "CABINET_ART_MONKEYS_PARADISE_DEGENATRON_ARCADE_FRAME", cfSCREEN_CENTER, cfSCREEN_CENTER, 1.0, 1.0, 0.0, sDegenatronGamesData.rgbaWhite) BREAK CASE DEGENATRON_GAMES_PENETRATOR ARCADE_CABINET_DRAW_SPRITE("MPArcadeDegenatronFacadePenetrator", "GTAO_Penetrator_43_Arcade_Frame", cfSCREEN_CENTER, cfSCREEN_CENTER, 1.0, 1.0, 0.0, sDegenatronGamesData.rgbaWhite) BREAK ENDSWITCH ENDPROC PROC DEGENATRON_GAMES_DRAW_BACKMASK() #IF IS_DEBUG_BUILD IF NOT sDegenatronGamesData.bDebugDrawBackmask EXIT ENDIF #ENDIF ARCADE_DRAW_PIXELSPACE_RECT(DEGENATRON_GAMES_GET_SCREEN_CENTER(), DEGENATRON_GAMES_GET_SCREEN_SIZE(), sDegenatronGamesData.rgbaBlack) ENDPROC PROC DEGENATRON_GAMES_MENU() IF sDegenatronGamesData.sControlsInput.iLeftAxisYTick > 0 sDegenatronGamesData.iMenuSelected-- IF sDegenatronGamesData.iMenuSelected < 0 sDegenatronGamesData.iMenuSelected = 1 ENDIF ELIF sDegenatronGamesData.sControlsInput.iLeftAxisYTick < 0 sDegenatronGamesData.iMenuSelected++ IF sDegenatronGamesData.iMenuSelected > 1 sDegenatronGamesData.iMenuSelected = 0 ENDIF ENDIF ENDPROC PROC DEGENATRON_GAMES_INTRO() ENDPROC PROC DEGENATRON_GAMES_SCORE() ENDPROC PROC DEGENATRON_GAMES_LEADERBOARD() ARCADE_GAMES_LEADERBOARD_PROCESS_ENTRY(sDegenatronGamesData.sGameData.iScore) ENDPROC PROC DEGENATRON_GAMES_DRAW_MENU() SWITCH sDegenatronGamesData.eGame CASE DEGENATRON_GAMES_DEFENDER DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(DEGENATRON_GAMES_TEXT_ITEM_DEFENDER_OF_THE_FAITH, DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_40), DEGENATRON_GAMES_GET_TEXT_SIZE(DEGENATRON_GAMES_TEXT_ITEM_DEFENDER_OF_THE_FAITH), 0.0, sDegenatronGamesData.rgbaRed) BREAK CASE DEGENATRON_GAMES_MONKEY DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(DEGENATRON_GAMES_TEXT_ITEM_MONKEYS_PARADISE,DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_40),DEGENATRON_GAMES_GET_TEXT_SIZE(DEGENATRON_GAMES_TEXT_ITEM_MONKEYS_PARADISE),0.0, sDegenatronGamesData.rgbaRed) BREAK CASE DEGENATRON_GAMES_PENETRATOR DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(DEGENATRON_GAMES_TEXT_ITEM_PENETRATOR,DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_40),DEGENATRON_GAMES_GET_TEXT_SIZE(DEGENATRON_GAMES_TEXT_ITEM_PENETRATOR),0.0, sDegenatronGamesData.rgbaRed) BREAK ENDSWITCH IF sDegenatronGamesData.iMenuSelected = 0 DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(DEGENATRON_GAMES_TEXT_ITEM_PLAY,DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_42),DEGENATRON_GAMES_GET_TEXT_SIZE(DEGENATRON_GAMES_TEXT_ITEM_PLAY), 0.0, sDegenatronGamesData.rgbaGreen) DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(DEGENATRON_GAMES_TEXT_ITEM_HIGH_SCORES,DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_43),DEGENATRON_GAMES_GET_TEXT_SIZE(DEGENATRON_GAMES_TEXT_ITEM_HIGH_SCORES), 0.0, sDegenatronGamesData.rgbaWhite) ELSE DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(DEGENATRON_GAMES_TEXT_ITEM_PLAY,DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_42),DEGENATRON_GAMES_GET_TEXT_SIZE(DEGENATRON_GAMES_TEXT_ITEM_PLAY), 0.0, sDegenatronGamesData.rgbaWhite) DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(DEGENATRON_GAMES_TEXT_ITEM_HIGH_SCORES,DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_43),DEGENATRON_GAMES_GET_TEXT_SIZE(DEGENATRON_GAMES_TEXT_ITEM_HIGH_SCORES), 0.0, sDegenatronGamesData.rgbaGreen) ENDIF ENDPROC PROC DEGENATRON_GAMES_DRAW_INTRO() DEGENATRON_GAMES_TEXT_ITEM eItem SWITCH sDegenatronGamesData.eGame CASE DEGENATRON_GAMES_DEFENDER eItem = DEGENATRON_GAMES_TEXT_ITEM_INTRO_DEFENDER_LINE_01 BREAK CASE DEGENATRON_GAMES_MONKEY eItem = DEGENATRON_GAMES_TEXT_ITEM_INTRO_MONKEY_LINE_01 BREAK CASE DEGENATRON_GAMES_PENETRATOR eItem = DEGENATRON_GAMES_TEXT_ITEM_INTRO_PENETRATOR_LINE_01 BREAK ENDSWITCH DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(eItem,DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_40),DEGENATRON_GAMES_GET_TEXT_SIZE(eItem), 0.0, sDegenatronGamesData.rgbaGreen) eItem = INT_TO_ENUM(DEGENATRON_GAMES_TEXT_ITEM, ENUM_TO_INT(eItem)+1) DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(eItem,DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_41),DEGENATRON_GAMES_GET_TEXT_SIZE(eItem), 0.0, sDegenatronGamesData.rgbaGreen) eItem = INT_TO_ENUM(DEGENATRON_GAMES_TEXT_ITEM, ENUM_TO_INT(eItem)+1) DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(eItem,DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_42),DEGENATRON_GAMES_GET_TEXT_SIZE(eItem), 0.0, sDegenatronGamesData.rgbaGreen) eItem = INT_TO_ENUM(DEGENATRON_GAMES_TEXT_ITEM, ENUM_TO_INT(eItem)+1) DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(eItem,DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_43),DEGENATRON_GAMES_GET_TEXT_SIZE(eItem), 0.0, sDegenatronGamesData.rgbaRed) ENDPROC PROC DEGENATRON_GAMES_DRAW_SCORE() DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(DEGENATRON_GAMES_TEXT_ITEM_SCORE,DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_50),DEGENATRON_GAMES_GET_TEXT_SIZE(DEGENATRON_GAMES_TEXT_ITEM_SCORE),0.0, sDegenatronGamesData.rgbaWhite) DEGENATRON_GAMES_DRAW_INTEGER(sDegenatronGamesData.sGameData.iScore, 0, DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_51), sDegenatronGamesData.rgbaWhite) DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(DEGENATRON_GAMES_TEXT_ITEM_HIGH_SCORE,DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_53),DEGENATRON_GAMES_GET_TEXT_SIZE(DEGENATRON_GAMES_TEXT_ITEM_HIGH_SCORE),0.0, sDegenatronGamesData.rgbaWhite) DEGENATRON_GAMES_DRAW_INTEGER(sAGLeaderboardData.sLeaderboard[0].iScore, 0, DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_54), sDegenatronGamesData.rgbaWhite) ENDPROC PROC DEGENATRON_GAMES_DRAW_FAIL_SUCCESS_TEXT() DEGENATRON_GAMES_TEXT_ITEM_POS eLinePos = DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_40 RGBA_COLOUR_STRUCT color = sDegenatronGamesData.rgbaRed IF sDegenatronGamesData.eGame = DEGENATRON_GAMES_PENETRATOR eLinePos = DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_43 color = sDegenatronGamesData.rgbaYellow ENDIF IF sDegenatronGamesData.sGameData.iFlashTime > ciDEGENATRON_GAMES_PLAYER_FLASH_TIME AND sDegenatronGamesData.sGameData.iWaitTime > 0 IF sDegenatronGamesData.sGameData.bPlayerIsDead IF sDegenatronGamesData.sGameData.iLifes > 0 DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(DEGENATRON_GAMES_TEXT_ITEM_LEVEL_FAILED,DEGENATRON_GAMES_GET_TEXT_POSITION(eLinePos), DEGENATRON_GAMES_GET_TEXT_SIZE(DEGENATRON_GAMES_TEXT_ITEM_LEVEL_FAILED),0.0,color) ELSE IF sDegenatronGamesData.sGameData.iWaitTime < 1000 DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(DEGENATRON_GAMES_TEXT_ITEM_LEVEL_FAILED,DEGENATRON_GAMES_GET_TEXT_POSITION(eLinePos), DEGENATRON_GAMES_GET_TEXT_SIZE(DEGENATRON_GAMES_TEXT_ITEM_LEVEL_FAILED),0.0,color) ELSE SWITCH (sDegenatronGamesData.sGameData.iWaitTime / 250) % 5 CASE 0 color = sDegenatronGamesData.rgbaRed BREAK CASE 1 color = sDegenatronGamesData.rgbaPurple BREAK CASE 2 color = sDegenatronGamesData.rgbaMagenta BREAK CASE 3 color = sDegenatronGamesData.rgbaBlue BREAK CASE 4 color = sDegenatronGamesData.rgbaYellow BREAK ENDSWITCH DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(DEGENATRON_GAMES_TEXT_ITEM_GAME_OVER,DEGENATRON_GAMES_GET_TEXT_POSITION(eLinePos), DEGENATRON_GAMES_GET_TEXT_SIZE(DEGENATRON_GAMES_TEXT_ITEM_GAME_OVER),0.0,color) ENDIF ENDIF ELSE DEGENATRON_GAMES_DRAW_PIXELSPACE_SPRITE(DEGENATRON_GAMES_TEXT_ITEM_LEVEL_PASSED,DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_LINE_POS_40), DEGENATRON_GAMES_GET_TEXT_SIZE(DEGENATRON_GAMES_TEXT_ITEM_LEVEL_PASSED),0.0,sDegenatronGamesData.rgbaPurple) ENDIF ENDIF ENDPROC PROC DEGENATRON_GAMES_DRAW_SCORE_BAR(BOOL bDrawLevel, BOOL bDrawObjectives) DEGENATRON_GAMES_DRAW_INTEGER(sDegenatronGamesData.sGameData.iScore, 0, DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_SCORE_BAR_SCORE),sDegenatronGamesData.rgbaWhite,DEFAULT,TRUE) DEGENATRON_GAMES_DRAW_INTEGER(sDegenatronGamesData.sGameData.iLifes, 0, DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_SCORE_BAR_LIFES),sDegenatronGamesData.rgbaRed) DEGENATRON_GAMES_DRAW_PIXELSPACE_RECT( DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_SCORE_BAR_LIFES_SQUARE),INIT_VECTOR_2D(cfDEGENATRON_GAMES_SCORE_BAR_SQUARE_WIDTH,cfDEGENATRON_GAMES_SCORE_BAR_SQUARE_HEIGHT),sDegenatronGamesData.rgbaRed) IF bDrawLevel DEGENATRON_GAMES_DRAW_INTEGER(sDegenatronGamesData.sGameData.iLevel, 0, DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_SCORE_BAR_LEVEL),sDegenatronGamesData.rgbaPurple) ENDIF IF bDrawObjectives DEGENATRON_GAMES_DRAW_INTEGER(sDegenatronGamesData.sGameData.iObjectives, 0, DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_SCORE_BAR_OBJECTIVES),sDegenatronGamesData.rgbaGreen) DEGENATRON_GAMES_DRAW_PIXELSPACE_RECT( DEGENATRON_GAMES_GET_TEXT_POSITION(DEGENATRON_GAMES_TEXT_ITEM_SCORE_BAR_OBJECTIVES_SQUARE),INIT_VECTOR_2D(cfDEGENATRON_GAMES_SCORE_BAR_SQUARE_WIDTH,cfDEGENATRON_GAMES_SCORE_BAR_SQUARE_HEIGHT),sDegenatronGamesData.rgbaGreen) ENDIF ENDPROC #IF IS_DEBUG_BUILD PROC __DEGENATRON_GAMES_PRINT_DEBUG_GAME_INFO INT iLine = 0 DEBUG_TEXT_INT_IN_SCREEN("iLevel ",sDegenatronGamesData.sGameData.iLevel,0.01,0.05+0.01*iLine) iLine++ DEBUG_TEXT_INT_IN_SCREEN("iLifes ",sDegenatronGamesData.sGameData.iLifes,0.01,0.05+0.01*iLine) iLine++ DEBUG_TEXT_INT_IN_SCREEN("iScore ",sDegenatronGamesData.sGameData.iScore,0.01,0.05+0.01*iLine) iLine++ DEBUG_TEXT_STRING_IN_SCREEN("eGameState ",DEGENATRON_GAMES_STATE_GAME_TO_STRING(sDegenatronGamesData.sGameData.eGameState),0.01,0.05+0.01*iLine) iLine++ DEBUG_TEXT_INT_IN_SCREEN("bPlayerIsDead ",BOOL_TO_INT(sDegenatronGamesData.sGameData.bPlayerIsDead),0.01,0.05+0.01*iLine) iLine++ ENDPROC #ENDIF