87 lines
2.9 KiB
Scheme
Executable File
87 lines
2.9 KiB
Scheme
Executable File
USING "globals.sch"
|
|
|
|
// fake cellphone - for drawing to player peds' cellphones in cutscenes / npcs' cellphones ingame and cutscenes. Rob B
|
|
|
|
ENUM FAKE_CELLPHONE_SCREEN_ENUM
|
|
FAKE_CELLPHONE_SCREEN_GENERIC_MENU = 0,
|
|
FAKE_CELLPHONE_SCREEN_JOSH2_GALLERY = 1,
|
|
FAKE_CELLPHONE_SCREEN_JOSH2_PHOTO = 2,
|
|
FAKE_CELLPHONE_SCREEN_GENERIC_CALL = 3,
|
|
FAKE_CELLPHONE_SCREEN_GENERIC_MENU_2 = 4,
|
|
FAKE_CELLPHONE_SCREEN_CALL_MARTIN_1 = 5,
|
|
FAKE_CELLPHONE_SCREEN_CALL_MARTIN_2 = 6,
|
|
FAKE_CELLPHONE_SCREEN_CALL_MARTIN_3 = 7,
|
|
FAKE_CELLPHONE_SCREEN_CALL_MARTIN_4 = 8,
|
|
FAKE_CELLPHONE_SCREEN_CALL_MARTIN_5 = 9,
|
|
FAKE_CELLPHONE_SCREEN_ARM_3_LARA = 11,
|
|
FAKE_CELLPHONE_SCREEN_M_CALL_T = 13,
|
|
FAKE_CELLPHONE_SCREEN_M_CALL_J = 15,
|
|
FAKE_CELLPHONE_SCREEN_BADGER_MENU = 20,
|
|
FAKE_CELLPHONE_SCREEN_BADGER_CALL = 21,
|
|
FAKE_CELLPHONE_SCREEN_FACADE_MENU = 30,
|
|
FAKE_CELLPHONE_SCREEN_FACADE_CALL = 31
|
|
ENDENUM
|
|
|
|
STRUCT FAKE_CELLPHONE_DATA
|
|
SCALEFORM_INDEX scaleformIndex
|
|
ENDSTRUCT
|
|
|
|
// release the rendertarget for the NPC phone
|
|
PROC RELEASE_NPC_PHONE_RENDERTARGET()
|
|
IF IS_NAMED_RENDERTARGET_REGISTERED("npcphone")
|
|
RELEASE_NAMED_RENDERTARGET("npcphone")
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
// get the scalephone movie as a string
|
|
FUNC STRING GET_FAKE_CELLPHONE_MOVIE_NAME()
|
|
RETURN "CELLPHONE_CUTSCENE"
|
|
ENDFUNC
|
|
|
|
// request the fake cellphone movie
|
|
PROC REQUEST_FAKE_CELLPHONE_MOVIE(FAKE_CELLPHONE_DATA &fakeCellphoneData)
|
|
fakeCellphoneData.scaleformIndex = REQUEST_SCALEFORM_MOVIE(GET_FAKE_CELLPHONE_MOVIE_NAME())
|
|
ENDPROC
|
|
|
|
// request the fake cellphone movie
|
|
PROC RELEASE_FAKE_CELLPHONE_MOVIE(FAKE_CELLPHONE_DATA &fakeCellphoneData)
|
|
RELEASE_NPC_PHONE_RENDERTARGET()
|
|
SET_SCALEFORM_MOVIE_AS_NO_LONGER_NEEDED(fakeCellphoneData.scaleformIndex)
|
|
ENDPROC
|
|
|
|
// has the movie loaded?
|
|
FUNC BOOL HAS_FAKE_CELLPHONE_MOVIE_LOADED(FAKE_CELLPHONE_DATA &fakeCellphoneData)
|
|
IF HAS_SCALEFORM_MOVIE_LOADED(fakeCellphoneData.scaleformIndex)
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
// draw fake cellphone
|
|
PROC DRAW_FAKE_CELLPHONE_SCREEN(FAKE_CELLPHONE_DATA &fakeCellphoneData, BOOL bIsPlayerCellphone, FAKE_CELLPHONE_SCREEN_ENUM screenEnum)
|
|
IF HAS_SCALEFORM_MOVIE_LOADED(fakeCellphoneData.scaleformIndex)
|
|
INT iCellphoneTarget
|
|
IF bIsPlayerCellphone
|
|
GET_MOBILE_PHONE_RENDER_ID(iCellphoneTarget)
|
|
ELSE
|
|
IF NOT IS_NAMED_RENDERTARGET_REGISTERED("npcphone")
|
|
REGISTER_NAMED_RENDERTARGET("npcphone")
|
|
LINK_NAMED_RENDERTARGET(PROP_NPC_PHONE)
|
|
ENDIF
|
|
iCellphoneTarget = GET_NAMED_RENDERTARGET_RENDER_ID("npcphone")
|
|
ENDIF
|
|
|
|
SET_TEXT_RENDER_ID(iCellphoneTarget)
|
|
|
|
BEGIN_SCALEFORM_MOVIE_METHOD(fakeCellphoneData.scaleformIndex, "DISPLAY_VIEW")
|
|
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(ENUM_TO_INT(screenEnum))
|
|
END_SCALEFORM_MOVIE_METHOD()
|
|
DRAW_SCALEFORM_MOVIE(fakeCellphoneData.scaleformIndex, g_SF_PhonePosX, g_SF_PhonePosY, g_SF_PhoneSizeX, g_SF_PhoneSizeY, 255, 255, 255, 255)
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
|
|
|