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