151 lines
3.7 KiB
Python
Executable File
151 lines
3.7 KiB
Python
Executable File
USING "rage_builtins.sch"
|
|
USING "globals.sch"
|
|
USING "commands_script.sch"
|
|
USING "commands_streaming.sch"
|
|
USING "commands_hud.sch"
|
|
|
|
ENUM SCRIPT_STAGE_ENUM
|
|
STAGE_SETUP = 0,
|
|
STAGE_PROCESS,
|
|
STAGE_CLEANUP
|
|
ENDENUM
|
|
SCRIPT_STAGE_ENUM eStage = STAGE_SETUP
|
|
|
|
STRUCT RENDERTARGETDATA
|
|
STRING name
|
|
float X
|
|
float Y
|
|
float deltaX
|
|
float deltaY
|
|
int RED
|
|
int GREEN
|
|
int BLUE
|
|
int targetId
|
|
ENDSTRUCT
|
|
|
|
RENDERTARGETDATA RTs[8]
|
|
|
|
PROC INITRT(INT id, STRING rtname, STRING name, int red, int green, int blue)
|
|
RTs[id].name = name
|
|
RTs[id].X = GET_RANDOM_FLOAT_IN_RANGE(0.0,1.0)
|
|
RTs[id].Y = GET_RANDOM_FLOAT_IN_RANGE(0.0,1.0)
|
|
RTs[id].deltaX = GET_RANDOM_FLOAT_IN_RANGE(0.0,0.25)
|
|
RTs[id].deltaY = GET_RANDOM_FLOAT_IN_RANGE(0.0,0.25)
|
|
RTs[id].RED = red
|
|
RTs[id].GREEN = green
|
|
RTs[id].BLUE = blue
|
|
|
|
REGISTER_NAMED_RENDERTARGET(rtname)
|
|
RTs[id].targetId = GET_NAMED_RENDERTARGET_RENDER_ID(rtname)
|
|
ENDPROC
|
|
|
|
PROC RENDERRT(INT id)
|
|
SET_TEXT_RENDER_ID((RTs[id].targetId))
|
|
DRAW_RECT(0.0,0.0,2.0,2.0,0,0,0,255)
|
|
|
|
SET_TEXT_FONT(FONT_STANDARD)
|
|
SET_TEXT_SCALE(1.0, 1.0)
|
|
SET_TEXT_WRAP(1.0, 1.0)
|
|
SET_TEXT_COLOUR(RTs[id].RED, RTs[id].GREEN, RTs[id].BLUE, 128)
|
|
|
|
SET_TEXT_USE_UNDERSCORE(TRUE)
|
|
DISPLAY_TEXT_WITH_LITERAL_STRING(0.0, 0.0, "STRING", RTs[id].name )
|
|
SET_TEXT_USE_UNDERSCORE(FALSE)
|
|
|
|
DRAW_RECT(RTs[id].x, RTs[id].y, 0.1, 0.1, RTs[id].RED, RTs[id].GREEN, RTs[id].BLUE, 128)
|
|
RTs[id].x += RTs[id].deltaX
|
|
RTs[id].y += RTs[id].deltaY
|
|
IF RTs[id].x > 1.0 OR RTs[id].x < 0.0
|
|
RTs[id].deltaX = -RTs[id].deltaX
|
|
ENDIF
|
|
IF RTs[id].y > 1.0 OR RTs[id].y < 0.0
|
|
RTs[id].deltaY = -RTs[id].deltaY
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
PROC LINK_RENDERTARGET(STRING ModelNameString)
|
|
INT ModelHash = GET_HASH_KEY(ModelNameString)
|
|
MODEL_NAMES ModelName = INT_TO_ENUM(MODEL_NAMES, ModelHash)
|
|
IF IS_MODEL_IN_CDIMAGE(ModelName)
|
|
LINK_NAMED_RENDERTARGET(ModelName)
|
|
ELSE
|
|
PRINTSTRING("LINK_RENDERTARGET - Couldn't find a model with the name ")
|
|
PRINTSTRING(ModelNameString)
|
|
PRINTNL()
|
|
SCRIPT_ASSERT("LINK_RENDERTARGET - Couldn't find a model with the name listed in the TTY")
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
PROC DO_SETUP()
|
|
INITRT(0,"4","Yellow",255,255,0)
|
|
INITRT(1,"5","Magenta",255,0,255)
|
|
INITRT(2,"6_1555mips","Cyan",0,255,255)
|
|
INITRT(3,"6_1555nomips","Yellow",255,255,0)
|
|
INITRT(4,"7_8888mips","Yellow",255,255,0)
|
|
INITRT(5,"7_8888nomips","Magenta",255,0,255)
|
|
INITRT(6,"8_565mips","Magenta",255,0,255)
|
|
INITRT(7,"8_565nomips","Cyan",0,255,255)
|
|
|
|
// Use the names of the models so that we don't need to list cptestbed.xml in enum_maker.txt
|
|
LINK_RENDERTARGET("SCRIPT_RT_TESTCUBE_1")
|
|
LINK_RENDERTARGET("SCRIPT_RT_TESTCUBE_2")
|
|
LINK_RENDERTARGET("SCRIPT_RT_TESTCUBE_003")
|
|
LINK_RENDERTARGET("SCRIPT_RT_TESTCUBE_004")
|
|
LINK_RENDERTARGET("SCRIPT_RT_TESTCUBE_005")
|
|
|
|
eStage = STAGE_PROCESS
|
|
ENDPROC
|
|
|
|
PROC DO_PROCESS()
|
|
|
|
RENDERRT(0)
|
|
RENDERRT(1)
|
|
RENDERRT(2)
|
|
RENDERRT(3)
|
|
RENDERRT(4)
|
|
RENDERRT(5)
|
|
RENDERRT(6)
|
|
RENDERRT(7)
|
|
ENDPROC
|
|
|
|
PROC DO_CLEANUP()
|
|
PRINTSTRING("\nTEST SCRIPT TERMINATING")PRINTNL()
|
|
RELEASE_NAMED_RENDERTARGET("4")
|
|
RELEASE_NAMED_RENDERTARGET("5")
|
|
RELEASE_NAMED_RENDERTARGET("6_1555mips")
|
|
RELEASE_NAMED_RENDERTARGET("6_1555nomips")
|
|
RELEASE_NAMED_RENDERTARGET("7_8888mips")
|
|
RELEASE_NAMED_RENDERTARGET("7_8888nomips")
|
|
RELEASE_NAMED_RENDERTARGET("8_565mips")
|
|
RELEASE_NAMED_RENDERTARGET("8_565nomips")
|
|
TERMINATE_THIS_THREAD()
|
|
ENDPROC
|
|
|
|
SCRIPT
|
|
|
|
PRINTSTRING("\nRT TEST SCRIPT STARTING")PRINTNL()
|
|
|
|
IF HAS_FORCE_CLEANUP_OCCURRED()
|
|
DO_CLEANUP()
|
|
ENDIF
|
|
|
|
// Main loop
|
|
WHILE TRUE
|
|
|
|
WAIT(0)
|
|
|
|
SWITCH eStage
|
|
CASE STAGE_SETUP
|
|
DO_SETUP()
|
|
BREAK
|
|
CASE STAGE_PROCESS
|
|
DO_PROCESS()
|
|
BREAK
|
|
CASE STAGE_CLEANUP
|
|
DO_CLEANUP()
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDWHILE
|
|
ENDSCRIPT |