USING "arcade_cabinet_minigame_common.sch" CONST_INT ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE_TIME 1000 CONST_INT ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE_RANDOM_DELAY 10000 ENUM ARCADE_GAMES_POSTFX_LAYER ARCADE_GAMES_POSTFX_LAYER_LINES = 0, ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE, ARCADE_GAMES_POSTFX_LAYER_FLICKERING, ARCADE_GAMES_POSTFX_LAYER_GLARE_2, ARCADE_GAMES_POSTFX_LAYER_GLARE_4, ARCADE_GAMES_POSTFX_LAYER_GLARE_8, ARCADE_GAMES_POSTFX_LAYER_GRID, ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1, ARCADE_GAMES_POSTFX_LAYER_COUNT ENDENUM FUNC STRING ARCADE_GAMES_POSTFX_LAYER_TO_STRING(ARCADE_GAMES_POSTFX_LAYER eLayer) SWITCH eLayer CASE ARCADE_GAMES_POSTFX_LAYER_LINES RETURN "ARCADE_GAMES_POSTFX_LAYER_LINES" CASE ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE RETURN "ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE" CASE ARCADE_GAMES_POSTFX_LAYER_FLICKERING RETURN "ARCADE_GAMES_POSTFX_LAYER_FLICKERING" CASE ARCADE_GAMES_POSTFX_LAYER_GLARE_2 RETURN "ARCADE_GAMES_POSTFX_LAYER_GLARE_2" CASE ARCADE_GAMES_POSTFX_LAYER_GLARE_4 RETURN "ARCADE_GAMES_POSTFX_LAYER_GLARE_4" CASE ARCADE_GAMES_POSTFX_LAYER_GLARE_8 RETURN "ARCADE_GAMES_POSTFX_LAYER_GLARE_8" CASE ARCADE_GAMES_POSTFX_LAYER_GRID RETURN "ARCADE_GAMES_POSTFX_LAYER_GRID" CASE ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1 RETURN "ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1" CASE ARCADE_GAMES_POSTFX_LAYER_COUNT RETURN "ARCADE_GAMES_POSTFX_LAYER_COUNT" ENDSWITCH RETURN "" ENDFUNC STRUCT ARCADE_GAMES_POSTFX_LAYER_DATA BOOL bShow = FALSE BOOL bFlickColor = FALSE BOOL bDelay = FALSE BOOL bInvertX = FALSE INT iTimer = 0 INT iFlickTimer = 0 INT iScreenTime = 0 INT iRandomDelay = 0 INT iFlickTime = 0 RGBA_COLOUR_STRUCT rgbaColor RGBA_COLOUR_STRUCT rgbaColorFlick ENDSTRUCT STRUCT ARCADE_GAMES_POSTFX_DATA ARCADE_GAMES_POSTFX_LAYER_DATA sFXLayers[ARCADE_GAMES_POSTFX_LAYER_COUNT] CASINO_ARCADE_GAME eGame #IF IS_DEBUG_BUILD BOOL bDebugDisable #ENDIF ENDSTRUCT ARCADE_GAMES_POSTFX_DATA sAGPostFXData FUNC CASINO_ARCADE_GAME ARCADE_GAMES_POSTFX_GET_CASINO_ARCADE_GAME() RETURN sAGPostFXData.eGame ENDFUNC FUNC STRING ARCADE_GAMES_POSTFX_GET_TEXTURE_DICTIONARY(ARCADE_GAMES_POSTFX_LAYER eEnum) SWITCH eEnum CASE ARCADE_GAMES_POSTFX_LAYER_LINES RETURN "MPArcadeGamesFX05" BREAK CASE ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE RETURN "MPArcadeGamesFX05" BREAK CASE ARCADE_GAMES_POSTFX_LAYER_FLICKERING RETURN "" BREAK CASE ARCADE_GAMES_POSTFX_LAYER_GLARE_2 RETURN "MPArcadeGamesFX03" BREAK CASE ARCADE_GAMES_POSTFX_LAYER_GLARE_4 RETURN "MPArcadeGamesFX04" BREAK CASE ARCADE_GAMES_POSTFX_LAYER_GLARE_8 RETURN "MPArcadeGamesFX00" BREAK CASE ARCADE_GAMES_POSTFX_LAYER_GRID RETURN "MPArcadeGamesFX02" BREAK CASE ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1 RETURN "MPArcadeGamesFX01" BREAK ENDSWITCH RETURN "" ENDFUNC FUNC STRING ARCADE_GAMES_POSTFX_GET_TEXTURE_NAME(ARCADE_GAMES_POSTFX_LAYER eEnum) SWITCH eEnum CASE ARCADE_GAMES_POSTFX_LAYER_LINES RETURN "TV_LINE_OVERLAY_DEGENATRON" BREAK CASE ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE RETURN "SCREEN_GRAD_100_50" BREAK CASE ARCADE_GAMES_POSTFX_LAYER_FLICKERING RETURN "" BREAK CASE ARCADE_GAMES_POSTFX_LAYER_GLARE_2 RETURN "Screen_Overlay_2" BREAK CASE ARCADE_GAMES_POSTFX_LAYER_GLARE_4 RETURN "Screen_Overlay_4" BREAK CASE ARCADE_GAMES_POSTFX_LAYER_GLARE_8 RETURN "Screen_Overlay_8" BREAK CASE ARCADE_GAMES_POSTFX_LAYER_GRID RETURN "Grid_1" BREAK CASE ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1 RETURN "FlatScreen1" BREAK ENDSWITCH RETURN "" ENDFUNC FUNC VECTOR_2D ARCADE_GAMES_GET_SCREEN_SIZE() RETURN INIT_VECTOR_2D(cfBASE_SCREEN_WIDTH,cfBASE_SCREEN_HEIGHT) ENDFUNC FUNC VECTOR_2D ARCADE_GAMES_GET_SCREEN_CENTER() RETURN INIT_VECTOR_2D(cfBASE_SCREEN_WIDTH/2.0,cfBASE_SCREEN_HEIGHT/2.0) ENDFUNC FUNC BOOL ARCADE_GAMES_POSTFX_REQUESTING_DICTIONARY_FOR_LAYER(ARCADE_GAMES_POSTFX_LAYER eEnum) REQUEST_STREAMED_TEXTURE_DICT(ARCADE_GAMES_POSTFX_GET_TEXTURE_DICTIONARY(eEnum)) IF NOT HAS_STREAMED_TEXTURE_DICT_LOADED(ARCADE_GAMES_POSTFX_GET_TEXTURE_DICTIONARY(eEnum)) //CDEBUG1LN(DEBUG_MINIGAME, "[ARCADE_GAMES] ARCADE_GAMES_POSTFX_REQUESTING_ASSETS - Loading ",ARCADE_GAMES_POSTFX_GET_TEXTURE_DICTIONARY(eEnum)) RETURN FALSE ENDIF RETURN TRUE ENDFUNC PROC ARCADE_GAMES_POSTFX_CLEANUP_DICTIONARY_FOR_LAYER(ARCADE_GAMES_POSTFX_LAYER eEnum) SET_STREAMED_TEXTURE_DICT_AS_NO_LONGER_NEEDED(ARCADE_GAMES_POSTFX_GET_TEXTURE_DICTIONARY(eEnum)) //CDEBUG1LN(DEBUG_MINIGAME, "[ARCADE_GAMES] ARCADE_GAMES_POSTFX_CLEANUP_DICTIONARY_FOR_LAYER - Cleanup ",ARCADE_GAMES_POSTFX_GET_TEXTURE_DICTIONARY(eEnum)) ENDPROC FUNC BOOL ARCADE_GAMES_POSTFX_REQUESTING_ASSETS() RETURN ARCADE_GAMES_POSTFX_REQUESTING_DICTIONARY_FOR_LAYER(ARCADE_GAMES_POSTFX_LAYER_LINES) AND ARCADE_GAMES_POSTFX_REQUESTING_DICTIONARY_FOR_LAYER(ARCADE_GAMES_POSTFX_LAYER_GRID) AND ARCADE_GAMES_POSTFX_REQUESTING_DICTIONARY_FOR_LAYER(ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE) AND ARCADE_GAMES_POSTFX_REQUESTING_DICTIONARY_FOR_LAYER(ARCADE_GAMES_POSTFX_LAYER_GLARE_2) AND ARCADE_GAMES_POSTFX_REQUESTING_DICTIONARY_FOR_LAYER(ARCADE_GAMES_POSTFX_LAYER_GLARE_4) AND ARCADE_GAMES_POSTFX_REQUESTING_DICTIONARY_FOR_LAYER(ARCADE_GAMES_POSTFX_LAYER_GLARE_8) AND ARCADE_GAMES_POSTFX_REQUESTING_DICTIONARY_FOR_LAYER(ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1) ENDFUNC PROC ARCADE_GAMES_POSTFX_CLEANUP_ASSETS() ARCADE_GAMES_POSTFX_CLEANUP_DICTIONARY_FOR_LAYER(ARCADE_GAMES_POSTFX_LAYER_LINES) ARCADE_GAMES_POSTFX_CLEANUP_DICTIONARY_FOR_LAYER(ARCADE_GAMES_POSTFX_LAYER_GRID) ARCADE_GAMES_POSTFX_CLEANUP_DICTIONARY_FOR_LAYER(ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE) ARCADE_GAMES_POSTFX_CLEANUP_DICTIONARY_FOR_LAYER(ARCADE_GAMES_POSTFX_LAYER_GLARE_2) ARCADE_GAMES_POSTFX_CLEANUP_DICTIONARY_FOR_LAYER(ARCADE_GAMES_POSTFX_LAYER_GLARE_4) ARCADE_GAMES_POSTFX_CLEANUP_DICTIONARY_FOR_LAYER(ARCADE_GAMES_POSTFX_LAYER_GLARE_8) ARCADE_GAMES_POSTFX_CLEANUP_DICTIONARY_FOR_LAYER(ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1) ENDPROC PROC ARCADE_GAMES_POSTFX_INIT(CASINO_ARCADE_GAME eGame) #IF IS_DEBUG_BUILD IF sAGPostFXData.bDebugDisable EXIT ENDIF #ENDIF sAGPostFXData.eGame = eGame INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].rgbaColor,255,255,255,255) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].iScreenTime = ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE_TIME sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].iRandomDelay = ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE_RANDOM_DELAY sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].bFlickColor = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].iFlickTime = 40 INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].rgbaColor,0,0,0,0) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GLARE_2].rgbaColor,255,255,255,127) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GLARE_4].rgbaColor,255,255,255,127) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GLARE_8].rgbaColor,255,255,255,127) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1].rgbaColor,255,255,255,255) SWITCH sAGPostFXData.eGame CASE CASINO_ARCADE_GAME_DEGENATRON_DEFENDER INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].rgbaColor,255,255,255,30) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].rgbaColor,255,255,255,20) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].rgbaColorFlick,0,0,0,30) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GLARE_4].rgbaColor,255,255,255,127) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GLARE_2].bShow = TRUE BREAK CASE CASINO_ARCADE_GAME_DEGENATRON_MONKEY INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].rgbaColor,255,255,255,30) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].rgbaColor,255,255,255,20) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].rgbaColorFlick,0,0,0,30) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GLARE_4].rgbaColor,255,255,255,255) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GLARE_4].bShow = TRUE BREAK CASE CASINO_ARCADE_GAME_DEGENATRON_PENETRATOR INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].rgbaColor,255,255,255,30) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].rgbaColor,255,255,255,20) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].rgbaColorFlick,0,0,0,30) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GLARE_8].rgbaColor,255,255,255,184) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GLARE_8].bShow = TRUE BREAK CASE CASINO_ARCADE_GAME_INVADE_PERSUADE INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].rgbaColor,255,255,255,30) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].rgbaColor,255,255,255,20) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].rgbaColorFlick,0,0,0,10) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GLARE_2].bShow = TRUE BREAK CASE CASINO_ARCADE_GAME_STREET_CRIMES INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].rgbaColor,255,255,255,30) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].rgbaColor,255,255,255,20) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].rgbaColorFlick,0,0,0,10) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GLARE_8].rgbaColor,255,255,255,255) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GLARE_8].bShow = TRUE BREAK CASE CASINO_ARCADE_GAME_TLG INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].rgbaColor,255,255,255,10) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].rgbaColorFlick,0,0,0,8) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1].rgbaColor,255,255,255,100) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1].bShow = TRUE BREAK CASE CASINO_ARCADE_GAME_THE_WIZARDS_RUIN INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].rgbaColorFlick,0,0,0,8) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].bShow = TRUE INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GLARE_2].rgbaColor,255,255,255,180) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GLARE_2].bShow = TRUE INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].rgbaColor,255,255,255,30) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].bShow = TRUE BREAK CASE CASINO_ARCADE_GAME_GO_GO_SPACE_MONKEY_3 INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].rgbaColor,255,255,255,30) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].rgbaColor,255,255,255,20) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].rgbaColorFlick,0,0,0,10) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GLARE_2].bShow = TRUE BREAK CASE CASINO_ARCADE_GAME_RNC_STREET_LEGAL sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].bShow = FALSE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].bShow = FALSE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].bShow = TRUE INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].rgbaColor,0,0,255,90) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].bShow = TRUE INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].rgbaColor,255,0,0,15) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1].bShow = TRUE INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1].rgbaColor,255,255,255,115) BREAK CASE CASINO_ARCADE_GAME_RNC_CROTCH_ROCKETS sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].bShow = FALSE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].bShow = FALSE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].bShow = TRUE INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].rgbaColor,0,0,255,90) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].bShow = TRUE INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].rgbaColor,255,0,0,15) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1].bShow = TRUE INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1].rgbaColor,255,255,255,115) BREAK CASE CASINO_ARCADE_GAME_RNC_GET_TRUCKIN sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].bShow = FALSE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].bShow = FALSE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].bShow = TRUE INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].rgbaColor,0,0,255,90) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].bShow = TRUE INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].rgbaColor,255,0,0,15) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1].bShow = TRUE INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1].rgbaColor,255,255,255,115) BREAK CASE CASINO_ARCADE_GAME_QUB3D INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].rgbaColor,255,255,255,15) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].rgbaColor,255,255,255,10) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].rgbaColorFlick,0,0,0,5) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GLARE_2].bShow = TRUE BREAK CASE CASINO_ARCADE_GAME_CAMHEDZ INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].rgbaColor,255,255,255,3) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].rgbaColorFlick,0,0,0,15) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].rgbaColor,0,0,255,90) INIT_RGBA_STRUCT(sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].rgbaColor,255,255,255,15) sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_SCAN_LINE].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLICKERING].bShow = FALSE // To be toggled in-game sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_LINES].bShow = TRUE sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_GRID].bShow = TRUE //sAGPostFXData.sFXLayers[ARCADE_GAMES_POSTFX_LAYER_FLAT_SCREEN_1].bShow = TRUE BREAK ENDSWITCH ENDPROC PROC ARCADE_GAMES_POSTFX_DRAW_LAYER(ARCADE_GAMES_POSTFX_LAYER iLayer) IF NOT sAGPostFXData.sFXLayers[iLayer].bShow EXIT ENDIF VECTOR_2D vFXSize = ARCADE_GAMES_GET_SCREEN_SIZE() VECTOR_2D vFXPos0 VECTOR_2D vFXPos1 RGBA_COLOUR_STRUCT color IF sAGPostFXData.sFXLayers[iLayer].bInvertX vFXSize.x = -vFXSize.x ENDIF vFXPos0 = ARCADE_GAMES_GET_SCREEN_CENTER() IF NOT sAGPostFXData.sFXLayers[iLayer].bDelay IF sAGPostFXData.sFXLayers[iLayer].iTimer > 0 vFXPos0.y = vFXPos0.y - vFXSize.y*(sAGPostFXData.sFXLayers[iLayer].iTimer % (sAGPostFXData.sFXLayers[iLayer].iScreenTime*1.0)) / (sAGPostFXData.sFXLayers[iLayer].iScreenTime*1.0) vFXPos1 = vFXPos0 vFXPos1.y += vFXSize.y ELSE IF sAGPostFXData.sFXLayers[iLayer].iRandomDelay > 0 sAGPostFXData.sFXLayers[iLayer].iTimer = GET_RANDOM_INT_IN_RANGE(0, sAGPostFXData.sFXLayers[iLayer].iRandomDelay) sAGPostFXData.sFXLayers[iLayer].bDelay = TRUE ENDIF ENDIF ELSE IF sAGPostFXData.sFXLayers[iLayer].iTimer > 0 ELSE sAGPostFXData.sFXLayers[iLayer].iTimer = sAGPostFXData.sFXLayers[iLayer].iScreenTime sAGPostFXData.sFXLayers[iLayer].bDelay = FALSE ENDIF ENDIF IF sAGPostFXData.sFXLayers[iLayer].bFlickColor FLOAT fFlickRatio = TO_FLOAT( sAGPostFXData.sFXLayers[iLayer].iFlickTimer ) / TO_FLOAT(sAGPostFXData.sFXLayers[iLayer].iFlickTime) color.iR = LERP_INT(sAGPostFXData.sFXLayers[iLayer].rgbaColor.iR,sAGPostFXData.sFXLayers[iLayer].rgbaColorFlick.iR,fFlickRatio) color.iG = LERP_INT(sAGPostFXData.sFXLayers[iLayer].rgbaColor.iG,sAGPostFXData.sFXLayers[iLayer].rgbaColorFlick.iG,fFlickRatio) color.iB = LERP_INT(sAGPostFXData.sFXLayers[iLayer].rgbaColor.iB,sAGPostFXData.sFXLayers[iLayer].rgbaColorFlick.iB,fFlickRatio) color.iA = LERP_INT(sAGPostFXData.sFXLayers[iLayer].rgbaColor.iA,sAGPostFXData.sFXLayers[iLayer].rgbaColorFlick.iA,fFlickRatio) CDEBUG3LN(DEBUG_MINIGAME, "[DEGENATRON_GAMES] ARCADE_GAMES_POSTFX_DRAW_LAYER - fFlickRatio ",fFlickRatio," color (",color.iR,",",color.iG,",",color.iB,",",color.iA,")") ELSE color = sAGPostFXData.sFXLayers[iLayer].rgbaColor ENDIF IF IS_STRING_NULL_OR_EMPTY(ARCADE_GAMES_POSTFX_GET_TEXTURE_NAME(iLayer)) ARCADE_DRAW_PIXELSPACE_RECT(vFXPos0, vFXSize, color) ELSE ARCADE_DRAW_PIXELSPACE_SPRITE(ARCADE_GAMES_POSTFX_GET_TEXTURE_DICTIONARY(iLayer),ARCADE_GAMES_POSTFX_GET_TEXTURE_NAME(iLayer),vFXPos0, vFXSize,0.0,color) ENDIF IF NOT sAGPostFXData.sFXLayers[iLayer].bDelay AND sAGPostFXData.sFXLayers[iLayer].iTimer > 0 IF IS_STRING_NULL_OR_EMPTY(ARCADE_GAMES_POSTFX_GET_TEXTURE_NAME(ARCADE_GAMES_POSTFX_LAYER_LINES)) ARCADE_DRAW_PIXELSPACE_RECT(vFXPos1, vFXSize, color) ELSE ARCADE_DRAW_PIXELSPACE_SPRITE(ARCADE_GAMES_POSTFX_GET_TEXTURE_DICTIONARY(iLayer),ARCADE_GAMES_POSTFX_GET_TEXTURE_NAME(iLayer),vFXPos1, vFXSize,0.0,color) ENDIF ENDIF sAGPostFXData.sFXLayers[iLayer].iFlickTimer -= ROUND(GET_FRAME_TIME() * 1000) IF sAGPostFXData.sFXLayers[iLayer].iFlickTimer < 0 sAGPostFXData.sFXLayers[iLayer].iFlickTimer += sAGPostFXData.sFXLayers[iLayer].iFlickTime ENDIF sAGPostFXData.sFXLayers[iLayer].iTimer -= ROUND(GET_FRAME_TIME() * 1000) IF sAGPostFXData.sFXLayers[iLayer].iTimer < 0 sAGPostFXData.sFXLayers[iLayer].iTimer = 0 ENDIF ENDPROC PROC ARCADE_GAMES_POSTFX_DRAW() #IF IS_DEBUG_BUILD IF sAGPostFXData.bDebugDisable EXIT ENDIF #ENDIF INT iLayer REPEAT ARCADE_GAMES_POSTFX_LAYER_COUNT iLayer ARCADE_GAMES_POSTFX_DRAW_LAYER(INT_TO_ENUM(ARCADE_GAMES_POSTFX_LAYER, iLayer)) ENDREPEAT ENDPROC #IF IS_DEBUG_BUILD PROC ARCADE_GAMES_POSTFX_WIDGET_CREATE_LAYER(ARCADE_GAMES_POSTFX_LAYER eLayer) START_WIDGET_GROUP(ARCADE_GAMES_POSTFX_LAYER_TO_STRING(eLayer)) ADD_WIDGET_BOOL("Debug Disabled", sAGPostFXData.bDebugDisable) ADD_WIDGET_BOOL("Show", sAGPostFXData.sFXLayers[eLayer].bShow) ADD_WIDGET_STRING(ARCADE_GAMES_POSTFX_GET_TEXTURE_NAME(eLayer)) ADD_WIDGET_BOOL("Invert X", sAGPostFXData.sFXLayers[eLayer].bInvertX) ADD_WIDGET_INT_SLIDER("Screen Time", sAGPostFXData.sFXLayers[eLayer].iScreenTime,0,50000,1) ADD_WIDGET_INT_SLIDER("Random Delay Time", sAGPostFXData.sFXLayers[eLayer].iRandomDelay,0,50000,1) ADD_WIDGET_INT_READ_ONLY("Timer", sAGPostFXData.sFXLayers[eLayer].iTimer) ADD_WIDGET_BOOL("On Delay", sAGPostFXData.sFXLayers[eLayer].bDelay) ADD_WIDGET_INT_SLIDER("Color.R", sAGPostFXData.sFXLayers[eLayer].rgbaColor.iR,0,255,1) ADD_WIDGET_INT_SLIDER("Color.G", sAGPostFXData.sFXLayers[eLayer].rgbaColor.iG,0,255,1) ADD_WIDGET_INT_SLIDER("Color.B", sAGPostFXData.sFXLayers[eLayer].rgbaColor.iB,0,255,1) ADD_WIDGET_INT_SLIDER("Color.A", sAGPostFXData.sFXLayers[eLayer].rgbaColor.iA,0,255,1) ADD_WIDGET_BOOL("Flicker", sAGPostFXData.sFXLayers[eLayer].bFlickColor) ADD_WIDGET_INT_SLIDER("Flick Time", sAGPostFXData.sFXLayers[eLayer].iFlickTime,0,1000,1) ADD_WIDGET_INT_SLIDER("ColorFlick.R", sAGPostFXData.sFXLayers[eLayer].rgbaColorFlick.iR,0,255,1) ADD_WIDGET_INT_SLIDER("ColorFlick.G", sAGPostFXData.sFXLayers[eLayer].rgbaColorFlick.iG,0,255,1) ADD_WIDGET_INT_SLIDER("ColorFlick.B", sAGPostFXData.sFXLayers[eLayer].rgbaColorFlick.iB,0,255,1) ADD_WIDGET_INT_SLIDER("ColorFlick.A", sAGPostFXData.sFXLayers[eLayer].rgbaColorFlick.iA,0,255,1) STOP_WIDGET_GROUP() ENDPROC PROC ARCADE_GAMES_POSTFX_WIDGET_CREATE START_WIDGET_GROUP("PostFX") INT iLayer REPEAT ARCADE_GAMES_POSTFX_LAYER_COUNT iLayer ARCADE_GAMES_POSTFX_WIDGET_CREATE_LAYER(INT_TO_ENUM(ARCADE_GAMES_POSTFX_LAYER, iLayer)) ENDREPEAT STOP_WIDGET_GROUP() ENDPROC PROC ARCADE_GAMES_POSTFX_WIDGET_UPDATE ENDPROC #ENDIF