import type { AnimScene } from '../classes/AnimScene'; import type { Entity } from '../classes/Entity'; import type { Ped } from '../classes/Ped'; import { Vector2 } from '../types/Vector2'; import { Vector3 } from '../types/Vector3'; import { Vector4 } from '../types/Vector4'; import { Color } from '../types/Color'; import { createFromHandle } from '../types/HandleRegistry'; import { inv, rai, raf, ras, rav, pvi, pvf, pvv, pvii, pvfi, _h, f, int, uint, float, Hash, u8, u16, u32, u64, i8, i16, i32, i64 } from '../types/NativeAliases'; export class Animscene { /** * Used in SP R* Scripts only * _IS_ANIM_SCENE_R* - _IS_ANIM_SCENE_S* * * @param p0 * @returns */ static N_0x5D7BFDA2290B4E39(p0: string): boolean { return !!inv('0x5D7BFDA2290B4E39', p0, rai()); } /** * Returns mgmHandle * * @param mgmFilename * @returns */ static createMgmSystem(mgmFilename: string): int { return inv('0xA1300DE03E5D1973', mgmFilename, rai()); } /** * p2: MINIGAME_GET_SECONDARY_VOICE_STRING * *SET** * * @param mgmHandle * @param ped * @param secondaryVoiceString */ static N_0x3641FCD53E59B335(mgmHandle: int, ped: Ped, secondaryVoiceString: string): void { inv('0x3641FCD53E59B335', mgmHandle, ped.handle, secondaryVoiceString); } /** * MGM stands for MiniGameMoments. * * @param mgmFilename * @returns */ static isMgmSystemLoaded(mgmFilename: string): boolean { return !!inv('0xFDFC14799373283F', mgmFilename, rai()); } /** * Used to request MiniGameMoments Assets. mgmFilename's: * Poker * PokerArthur * PokerArthurCamp * PokerJohn * PokerJohnCamp * * @param mgmFilename * @returns */ static loadMgmAssets(mgmFilename: string): any { return inv('0xB727A847862CB00A', mgmFilename); } static requestPhotoModeDefreeze(): void { inv('0x41AFA5F228B0B6B0'); } /** * @param p0 * @param p1 */ static blockAnimSceneFadingNextFrame(p0: boolean, p1: boolean): void { inv('0x1B70811D3BF75DB9', p0, p1); } /** * Used in SP R* Scripts only * _SET_P* * * @param p0 */ static N_0xCDCD7B2D49AEE73A(p0: boolean): void { inv('0xCDCD7B2D49AEE73A', p0); } /** * Only used in tg_p R* Script * Returns true when mgm event success * *PREPARE** - *REGISTER** * * @param mgmEventHandle * @param p1 * @param seatId * @param p3 * @param p4 * @returns */ static N_0x61B2AAEF645DDAF0(mgmEventHandle: int, p1: string, seatId: int, p3: int, p4: boolean): boolean { return !!inv('0x61B2AAEF645DDAF0', mgmEventHandle, p1, seatId, p3, p4, rai()); } /** * Used in SP R* Scripts only * *IS_PED** - _IS_SC* * * @returns */ static N_0x2DB524750DC41ED4(): boolean { return !!inv('0x2DB524750DC41ED4', rai()); } /** * @param ped * @param archetype */ static setBreakoutArchetype(ped: Ped, archetype: string): void { inv('0x99B2A2E3655DEAF1', ped.handle, archetype); } /** * @param ped */ static clearBreakoutArchetype(ped: Ped): void { inv('0xBC781D24AA11F179', ped.handle); } /** * *UNLOAD** - *WAS_ANIM_SCENE** * * @param mgmHandle * @param ped */ static N_0xAE6DE22DE0ED4554(mgmHandle: int, ped: Ped): void { inv('0xAE6DE22DE0ED4554', mgmHandle, ped.handle); } /** * Used in SP R* Scripts only * *IS** * * @param ped * @returns */ static N_0x3B393716C3FD8237(ped: Ped): boolean { return !!inv('0x3B393716C3FD8237', ped.handle, rai()); } /** * flags: https://github.com/Halen84/RDR3-Native-Flags-And-Enums/tree/main/eAnimSceneFlag * * @param animDict * @param flags * @param playbackListName * @param p3 * @param p4 * @returns */ static createAnimScene(animDict: string, flags: int, playbackListName: string, p3: boolean, p4: boolean): AnimScene | null { return createFromHandle('AnimScene', inv('0x1FCA98E33C1437B3', animDict, flags, playbackListName, p3, p4, rai())); } /** * Used in SP R* Scripts only * _SET_B* - _SET_C* */ static N_0xE12D7B4B959644CD(): void { inv('0xE12D7B4B959644CD'); } /** * @param mgmEventHandle * @param p1 * @param seatId * @param p3 * @param p4 */ static setMgmEvent(mgmEventHandle: int, p1: string, seatId: any, p3: int, p4: float): void { inv('0x07706C4CC9C6CC9E', mgmEventHandle, p1, seatId, p3, f(p4)); } /** * *PREPARE** - *REGISTER** * * @param mgmHandle * @param ped */ static N_0xB1A196BAFE650402(mgmHandle: int, ped: Ped): void { inv('0xB1A196BAFE650402', mgmHandle, ped.handle); } static requestPhotoModeFreeze(): void { inv('0x7C709C01D43D94CD'); } /** * Used in SP R* Scripts only * *RESUME** - _SET_A* * * @param entity * @param p1 */ static N_0xC1193521E3B9FADD(entity: Entity, p1: boolean): void { inv('0xC1193521E3B9FADD', entity.handle, p1); } /** * @param entity * @param animScene * @returns */ static isEntityPlayingAnimScene(entity: Entity, animScene: AnimScene): boolean { return !!inv('0x3AB6C7B0BB0DF4B1', entity.handle, animScene.handle, rai()); } /** * @param mgmHandle */ static deleteMgmSystem(mgmHandle: int): void { inv('0x53CB3970BA02E3CC', mgmHandle); } /** * Used in SP R* Scripts only * *PAUSE** - *PLAY** * * @returns */ static N_0xEA41D44A8D42057B(): boolean { return !!inv('0xEA41D44A8D42057B', rai()); } /** * Used in braithwaites2 SP R* Scripts only * _A* */ static N_0x1AD896BF43619551(): void { inv('0x1AD896BF43619551'); } /** * Pauses all script threads except the one that called it. * * @param toggle */ static pauseScriptThreads(toggle: boolean): void { inv('0x37C1257849DEF24A', toggle); } }