465 lines
23 KiB
XML
Executable File
465 lines
23 KiB
XML
Executable File
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
|
|
|