Scripting.pas

Материал из GTAModding.ru
Перейти к: навигация, поиск
unit Scripting;
 
interface uses ScriptingEnums;
 
// converted from aru's C++ Hook source
const
  libname = 'dhook.asi';
 
type
  // standard data types
  i32 = type LongInt;
  u32 = type LongWord;
 
  i16 = type SmallInt;
  u16 = type Word;
 
  i8 = type ShortInt;
  u8 = type Byte;
 
  f32 = type Single;
  f64 = type Double;
 
  b8 = type Boolean;
  b32 = type LongWord;
 
 
  ScriptAny = type u32;
  Player = type u32;
  Vehicle = type u32;
  Ped = type u32;
 
  Group = type u32;
  Obj = type u32;
  CoverPoint = type u32;
  Train = type u32;
  Interior = type u32;
  Blip = type u32;
  Pickup = type u32;
  TextureDict = type u32;
  Texture = type u32;
  Fire = type u32;
 
  Vector3 = record
    X, Y, Z: f32;
  end;
 
  Car = type Vehicle;
  Char = type Ped;
  Marker = type Blip;
 
// player
procedure AddScore(playerIndex: Player; score: i32); cdecl; external libname;
procedure AllowPlayerToCarryNonMissionObjects(playerIndex: Player; allow: b8); cdecl; external libname;
procedure AlterWantedLevel(playerIndex: Player; level: u32); cdecl; external libname;
procedure AlterWantedLevelNoDrop(playerIndex: Player; level: u32); cdecl; external libname;
procedure ApplyWantedLevelChangeNow(playerIndex: Player); cdecl; external libname;
procedure ChangePlayerModel(playerIndex: Player; model: eModel); cdecl; external libname;
procedure ClearPlayerHasDamagedAtLeastOnePed(playerIndex: Player); cdecl; external libname;
function ConvertIntToPlayerIndex(playerId: u32): Player; cdecl; external libname;
procedure ClearWantedLevel(playerIndex: Player); cdecl; external libname;
procedure CreatePlayer(playerId: u32; x: f32; y: f32; z: f32; var pPlayerIndex: Player); cdecl; external libname;
procedure DisablePlayerLockon(playerIndex: Player; disabled: b8); cdecl; external libname;
procedure DisablePlayerSprint(playerIndex: Player; disabled: b8); cdecl; external libname;
procedure GetPlayerChar(playerIndex: Player; var pPed: Ped); cdecl; external libname;
function GetPlayerId(): u32; cdecl; external libname;
procedure GetPlayerGroup(playerIndex: Player; var pGroup: Group); cdecl; external libname;
procedure GetPlayerMaxArmour(playerIndex: Player; var pMaxArmour: u32); cdecl; external libname;
function GetPlayerName(playerIndex: Player): PChar; cdecl; external libname;
function GetTimeSincePlayerDroveAgainstTraffic(playerIndex: Player): u32; cdecl; external libname;
function GetTimeSincePlayerDroveOnPavement(playerIndex: Player): u32; cdecl; external libname;
function GetTimeSincePlayerHitBuilding(playerIndex: Player): u32; cdecl; external libname;
function GetTimeSincePlayerHitCar(playerIndex: Player): u32; cdecl; external libname;
function GetTimeSincePlayerHitObject(playerIndex: Player): u32; cdecl; external libname;
function GetTimeSincePlayerHitPed(playerIndex: Player): u32; cdecl; external libname;
function GetTimeSincePlayerRanLight(playerIndex: Player): u32; cdecl; external libname;
function HasPlayerDamagedAtLeastOnePed(playerIndex: Player): b8; cdecl; external libname;
function IsPlayerClimbing(playerIndex: Player): b8; cdecl; external libname;
function IsPlayerControlOn(playerIndex: Player): b8; cdecl; external libname;
function IsPlayerDead(playerIndex: Player): b8; cdecl; external libname;
function IsPlayerFreeAimingAtChar(playerIndex: Player; ped: Ped): b8; cdecl; external libname;
function IsPlayerFreeForAmbientTask(playerIndex: Player): b8; cdecl; external libname;
function IsPlayerPlaying(playerIndex: Player): b8; cdecl; external libname;
function IsPlayerPressingHorn(playerIndex: Player): b8; cdecl; external libname;
function IsPlayerTargettingAnything(playerIndex: Player): b8; cdecl; external libname;
function IsPlayerTargettingChar(playerIndex: Player; ped: Ped): b8; cdecl; external libname;
function IsPlayerTargettingObject(playerIndex: Player; obj: Obj): b8; cdecl; external libname;
function IsScoreGreater(playerIndex: Player; score: u32): b8; cdecl; external libname;
function IsWantedLevelGreater(playerIndex: Player; level: u32): b8; cdecl; external libname;
function PlayerHasChar(playerIndex: Player): b8; cdecl; external libname;
function PlayerHasFlashingStarsAboutToDrop(playerIndex: Player): b8; cdecl; external libname;
function PlayerHasGreyedOutStars(playerIndex: Player): b8; cdecl; external libname;
procedure RegisterPlayerRespawnCoords(playerIndex: Player; x: f32; y: f32; z: f32); cdecl; external libname;
procedure SetPlayerCanBeHassledByGangs(playerIndex: Player; value: b8); cdecl; external libname;
procedure SetPlayerCanDoDriveBy(playerIndex: Player; value: b8); cdecl; external libname;
procedure SetPlayerCanUseCover(playerIndex: Player; value: b8); cdecl; external libname;
procedure SetPlayerControl(playerIndex: Player; value: b8); cdecl; external libname;
procedure SetPlayerControlAdvanced(playerIndex: Player; unknown1: b8; unknown2: b8; unknown3: b8); cdecl; external libname;
procedure SetPlayerGroupToFollowAlways(playerIndex: Player; value: b8); cdecl; external libname;
procedure SetPlayerInvincible(playerIndex: Player; value: b8); cdecl; external libname;
procedure SetPlayerMoodNormal(playerIndex: Player); cdecl; external libname;
procedure SetPlayerMoodPissedOff(playerIndex: Player; unknown150: u32); cdecl; external libname;
procedure RemovePlayerHelmet(playerIndex: Player; remove: b8); cdecl; external libname;
 
// ped
procedure AddAmmoToChar(ped: Ped; weapon: eWeapon; amount: u32); cdecl; external libname;
procedure AddArmourToChar(ped: Ped; amount: u32); cdecl; external libname;
procedure ClearAllCharProps(ped: Ped); cdecl; external libname;
procedure ClearCharLastDamageBone(ped: Ped); cdecl; external libname;
procedure ClearCharLastDamageEntity(ped: Ped); cdecl; external libname;
procedure ClearCharLastWeaponDamage(ped: Ped); cdecl; external libname;
procedure ClearCharProp(ped: Ped; unknown: b8); cdecl; external libname;
procedure ClearCharSecondaryTask(ped: Ped); cdecl; external libname;
procedure ClearCharTasks(ped: Ped); cdecl; external libname;
procedure ClearCharTasksImmediately(ped: Ped); cdecl; external libname;
procedure ClearRoomForChar(ped: Ped); cdecl; external libname;
procedure CreateChar(Pedtype: u32; model: eModel; x: f32; y: f32; z: f32; var pPed: Ped; unknownTrue: b8); cdecl; external libname;
procedure CreateRandomChar(x: f32; y: f32; z: f32; var pPed: Ped); cdecl; external libname;
procedure CreateRandomCharAsDriver(vehicle: Vehicle; var pPed: Ped); cdecl; external libname;
procedure CreateRandomFemaleChar(x: f32; y: f32; z: f32; var pPed: Ped); cdecl; external libname;
procedure CreateRandomMaleChar(x: f32; y: f32; z: f32; var pPed: Ped); cdecl; external libname;
procedure DamageChar(ped: Ped; hitPoints: u32; unknown: b8); cdecl; external libname;
procedure DamagePedBodyPart(ped: Ped; part: u8 {ePedBodyPart}; hitPoints: u32); cdecl; external libname;
procedure DeleteChar(var pPed: Ped); cdecl; external libname;
procedure DetachPed(ped: Ped; unknown: b8); cdecl; external libname;
procedure DetachPedFromWithinCar(ped: Ped; unknown: b8); cdecl; external libname;
function DoesCharExist(ped: Ped): b8; cdecl; external libname;
procedure DropObject(ped: Ped; unknownTrue: b8); cdecl; external libname;
procedure ExplodeCharHead(ped: Ped); cdecl; external libname;
procedure ExtinguishCharFire(ped: Ped); cdecl; external libname;
procedure FirePedWeapon(ped: Ped; x: f32; y: f32; z: f32); cdecl; external libname;
procedure ForceCharToDropWeapon(ped: Ped); cdecl; external libname;
function ForcePedPinnedDown(ped: Ped; force: b8; timerMaybe: u32): ScriptAny; cdecl; external libname;
procedure FreezeCharPosition(ped: Ped; frozen: b8); cdecl; external libname;
procedure FreezeCharPositionAndDontLoadCollision(ped: Ped; frozen: b8); cdecl; external libname;
procedure GetAmmoInCharWeapon(ped: Ped; weapon: eWeapon; var pAmmo: u32); cdecl; external libname;
function GetAmmoInClip(ped: Ped; weapon: eWeapon; var pAmmo: u32): b8; cdecl; external libname;
function GetAnimGroupFromChar(ped: Ped): PChar; cdecl; external libname;
procedure GetCharCoordinates(ped: Ped; var pX: f32; var pY: f32; var pZ: f32); cdecl; external libname;
procedure GetCharHealth(ped: Ped; var pHealth: u32); cdecl; external libname;
procedure GetCharAnimCurrentTime(ped: Ped; animGroup: PChar; animName: PChar; var pValue: f32); cdecl; external libname;
procedure GetCharAnimTotalTime(ped: Ped; animGroup: PChar; animName: Pchar; var pValue: f32); cdecl; external libname;
procedure GetCharArmour(ped: Ped; var pArmour: u32); cdecl; external libname;
function GetCharDrawableVariation(ped: Ped; component: ePedComponent): u32; cdecl; external libname;
procedure GetCharExtractedDisplacement(ped: Ped; unknown: b8; var pX: f32; var pY: f32; var pZ: f32); cdecl; external libname;
procedure GetCharHeading(ped: Ped; var pValue: f32); cdecl; external libname;
procedure GetCharHeightAboveGround(ped: Ped; var pValue: f32); cdecl; external libname;
function GetCharLastDamageBone(ped: Ped; var pBone: u8 {ePedBone}): ScriptAny; cdecl; external libname;
function GetCharMeleeActionFlag0(ped: Ped): b8; cdecl; external libname;
function GetCharMeleeActionFlag1(ped: Ped): b8; cdecl; external libname;
procedure GetCharModel(ped: Ped; var pModel: eModel); cdecl; external libname;
function GetCharMoney(ped: Ped): u32; cdecl; external libname;
procedure GetCharPropIndex(ped: Ped; unknown: b8; var pIndex: u32); cdecl; external libname;
function GetCharReadyToBeExecuted(ped: Ped): b8; cdecl; external libname;
function GetCharReadyToBeStunned(ped: Ped): b8; cdecl; external libname;
procedure GetCharSpeed(ped: Ped; var pValue: f32); cdecl; external libname;
function GetCharTextureVariation(ped: Ped; component: ePedComponent): u32; cdecl; external libname;
procedure GetCharVelocity(ped: Ped; var pX: f32; var pY: f32; var pZ: f32); cdecl; external libname;
procedure GetCharWeaponInSlot(ped: Ped; slot: eWeaponSlot; var pWeapon: eWeapon; var pUnknown1: ScriptAny; var pUnknown2: ScriptAny); cdecl; external libname;
function GetCharWillCowerInsteadOfFleeing(ped: Ped): b8; cdecl; external libname;
function GetCurrentCharWeapon(ped: Ped; var pWeapon: eWeapon): ScriptAny; cdecl; external libname;
function GetDamageToPedBodyPart(ped: Ped; part: u8 {ePedBodyPart}): u32; cdecl; external libname;
procedure GetDeadCharCoordinates(ped: Ped; var pX: f32; var pY: f32; var pZ: f32); cdecl; external libname;
procedure GetDeadCharPickupCoords(ped: Ped; var pX: f32; var pY: f32; var pZ: f32); cdecl; external libname;
procedure GetKeyForCharInRoom(ped: Ped; var pKey: u8 {eInteriorRoomKey}); cdecl; external libname;
function GetMaxAmmo(ped: Ped; weapon: eWeapon; var pMaxAmmo: u32): ScriptAny; cdecl; external libname;
procedure GetMaxAmmoInClip(ped: Ped; weapon: eWeapon; var pMaxAmmo: u32); cdecl; external libname;
function GetNumberOfCharDrawableVariations(ped: Ped; component: ePedComponent): u32; cdecl; external libname;
function GetNumberOfCharTextureVariations(ped: Ped; component: ePedComponent; unknown1: u32): u32; cdecl; external libname;
function GetObjectPedIsHolding(ped: Ped): Obj; cdecl; external libname;
procedure GetOffsetFromCharInWorldCoords(ped: Ped; x: f32; y: f32; z: f32; var pOffX: f32; var pOffY: f32; var pOffZ: f32); cdecl; external libname;
function GetPedClimbState(ped: Ped): u8 {ePedClimbState}; cdecl; external libname;
procedure GetPedType(ped: Ped; var pType: u8 {ePedType}); cdecl; external libname;
function HasCharBeenDamagedByCar(ped: Ped; vehicle: Vehicle): b8; cdecl; external libname;
function HasCharBeenDamagedByChar(ped: Ped; otherChar: Ped; unknownFalse: b8): b8; cdecl; external libname;
function HasCharBeenDamagedByWeapon(ped: Ped; weapon: eWeapon): b8; cdecl; external libname;
function HasCharGotWeapon(ped: Ped; weapon: eWeapon): b8; cdecl; external libname;
function HasCharSpottedChar(ped: Ped; otherChar: Ped): b8; cdecl; external libname;
function HasCharSpottedCharInFront(ped: Ped; otherChar: Ped): b8; cdecl; external libname;
function IsCharArmed(ped: Ped; slot: eWeaponSlot): b8; cdecl; external libname;
function IsCharDead(ped: Ped): b8; cdecl; external libname;
function IsCharDucking(ped: Ped): b8; cdecl; external libname;
function IsCharFacingChar(ped: Ped; otherChar: Ped; angle: f32): b8; cdecl; external libname;
function IsCharFatallyInjured(ped: Ped): b8; cdecl; external libname;
function IsCharGesturing(ped: Ped): b8; cdecl; external libname;
function IsCharGettingInToACar(ped: Ped): b8; cdecl; external libname;
function IsCharGettingUp(ped: Ped): b8; cdecl; external libname;
function IsCharHealthGreater(ped: Ped; health: u32): b8; cdecl; external libname;
function IsCharInAir(ped: Ped): b8; cdecl; external libname;
function IsCharInAngledArea2D(ped: Ped; x1: f32; y1: f32; x2: f32; y2: f32; unknown: f32; unknownFalse: b8): b8; cdecl; external libname;
function IsCharInAngledArea3D(ped: Ped; x1: f32; y1: f32; z1: f32; x2: f32; y2: f32; z2: f32; unknown: f32; unknownFalse: b8): b8; cdecl; external libname;
function IsCharInAnyBoat(ped: Ped): b8; cdecl; external libname;
function IsCharInAnyCar(ped: Ped): b8; cdecl; external libname;
function IsCharInAnyHeli(ped: Ped): b8; cdecl; external libname;
function IsCharInAnyPlane(ped: Ped): b8; cdecl; external libname;
function IsCharInAnyPoliceVehicle(ped: Ped): b8; cdecl; external libname;
function IsCharInAnyTrain(ped: Ped): b8; cdecl; external libname;
function IsCharInArea2D(ped: Ped; x1: f32; y1: f32; x2: f32; y2: f32; unknownFalse: b8): b8; cdecl; external libname;
function IsCharInArea3D(ped: Ped; x1: f32; y1: f32; z1: f32; x2: f32; y2: f32; z2: f32; unknownFalse: b8): b8; cdecl; external libname;
function IsCharInAreaOnFoot2D(ped: Ped; x1: f32; y1: f32; x2: f32; y2: f32; unknownFalse: b8): b8; cdecl; external libname;
function IsCharInCar(ped: Ped; vehicle: Vehicle): b8; cdecl; external libname;
function IsCharInFlyingVehicle(ped: Ped): b8; cdecl; external libname;
function IsCharInMeleeCombat(ped: Ped): b8; cdecl; external libname;
function IsCharInModel(ped: Ped; model: eModel): b8; cdecl; external libname;
function IsCharInTaxi(ped: Ped): b8; cdecl; external libname;
function IsCharInWater(ped: Ped): b8; cdecl; external libname;
function IsCharInjured(ped: Ped): b8; cdecl; external libname;
function IsCharMale(ped: Ped): b8; cdecl; external libname;
function IsCharModel(ped: Ped; model: eModel): b8; cdecl; external libname;
function IsCharOnAnyBike(ped: Ped): b8; cdecl; external libname;
function IsCharOnFire(ped: Ped): b8; cdecl; external libname;
function IsCharOnFoot(ped: Ped): b8; cdecl; external libname;
function IsCharOnScreen(ped: Ped): b8; cdecl; external libname;
function IsCharShooting(ped: Ped): b8; cdecl; external libname;
function IsCharShootingInArea(ped: Ped; x1: f32; y1: f32; x2: f32; y2: f32; unknownFalse: b8): b8; cdecl; external libname;
function IsCharSittingIdle(ped: Ped): b8; cdecl; external libname;
function IsCharSittingInAnyCar(ped: Ped): b8; cdecl; external libname;
function IsCharSittingInCar(ped: Ped; vehicle: Vehicle): b8; cdecl; external libname;
function IsCharStopped(ped: Ped): b8; cdecl; external libname;
function IsCharStuckUnderCar(ped: Ped): b8; cdecl; external libname;
function IsCharSwimming(ped: Ped): b8; cdecl; external libname;
function IsCharTouchingChar(ped: Ped; otherChar: Ped): b8; cdecl; external libname;
function IsCharTouchingObject(ped: Ped; obj: Obj): b8; cdecl; external libname;
function IsCharTouchingObjectOnFoot(ped: Ped; obj: Obj): b8; cdecl; external libname;
function IsCharTouchingVehicle(p0: ScriptAny; p1: ScriptAny): b8; cdecl; external libname;
function IsCharTryingToEnterALockedCar(ped: Ped): b8; cdecl; external libname;
function IsCharUsingAnyScenario(ped: Ped): b8; cdecl; external libname;
function IsCharUsingScenario(ped: Ped; scenarioName: PChar): b8; cdecl; external libname;
function IsCharVisible(ped: Ped): b8; cdecl; external libname;
function IsCharWaitingForWorldCollision(ped: Ped): b8; cdecl; external libname;
function IsPedAMissionPed(ped: Ped): b8; cdecl; external libname;
function IsPedAttachedToAnyCar(ped: Ped): b8; cdecl; external libname;
function IsPedAttachedToObject(ped: Ped; obj: Obj): b8; cdecl; external libname;
function IsPedBeingJacked(ped: Ped): b8; cdecl; external libname;
function IsPedDoingDriveby(ped: Ped): b8; cdecl; external libname;
function IsPedFleeing(ped: Ped): b8; cdecl; external libname;
function IsPedHoldingAnObject(ped: Ped): b8; cdecl; external libname;
function IsPedInCombat(ped: Ped): b8; cdecl; external libname;
function IsPedInCover(ped: Ped): b8; cdecl; external libname;
function IsPedInGroup(ped: Ped): b8; cdecl; external libname;
function IsPedJacking(ped: Ped): b8; cdecl; external libname;
function IsPedLookingAtPed(ped: Ped; otherChar: Ped): b8; cdecl; external libname;
function IsPedRagdoll(ped: Ped): b8; cdecl; external libname;
function IsPedRetreating(ped: Ped): b8; cdecl; external libname;
procedure MarkCharAsNoLongerNeeded(var pPed: Ped); cdecl; external libname;
procedure ModifyCharMoveState(ped: Ped; state: u8 {ePedMoveState}); cdecl; external libname;
procedure RemoveAllCharWeapons(ped: Ped); cdecl; external libname;
procedure RemoveCharDefensiveArea(ped: Ped); cdecl; external libname;
procedure RemoveCharElegantly(ped: Ped); cdecl; external libname;
procedure RemoveCharFromGroup(ped: Ped); cdecl; external libname;
function SetAmmoInClip(ped: Ped; weapon: eWeapon; ammo: u32): ScriptAny; cdecl; external libname;
procedure SetCharHealth(ped: Ped; health: u32); cdecl; external libname;
procedure SetCharWillUseCover(ped: Ped; coverPoint: CoverPoint); cdecl; external libname;
procedure SetRoomForCharByKey(ped: Ped; key: u8 {eInteriorRoomKey}); cdecl; external libname;
procedure RemovePedHelmet(ped: Ped; removed: b8); cdecl; external libname;
procedure RemoveWeaponFromChar(ped: Ped; weapon: eWeapon); cdecl; external libname;
{!} procedure GetCharHighestPriorityEvent(ped: Ped; var pValue: u32); cdecl; external libname;
{!} function IsCharRespondingToEvent(ped: Ped; pedEvent: u32): b8; cdecl; external libname;
 
 // Ped Groups
procedure CreateGroup(unknownFalse: b8; var pGroup: Group; unknownTrue: b8); cdecl; external libname;
function DoesGroupExist(group: Group): b8; cdecl; external libname;
procedure GetGroupLeader(group: Group; var pPed: ped); cdecl; external libname;
procedure GetGroupMember(group: Group; index: u32; var pPed: ped); cdecl; external libname;
procedure GetGroupSize(group: Group; var pStartIndex: u32; var pCount: u32); cdecl; external libname;
function IsGroupLeader(ped: Ped; group: Group): b8; cdecl; external libname;
function IsGroupMember(ped: Ped; group: Group): b8; cdecl; external libname;
procedure RemoveGroup(group: Group); cdecl; external libname;
 
//vehicles
function AreTaxiLightsOn(vehicle: Vehicle): b8; cdecl; external libname;
function CreateEmergencyServicesCar(model: eModel; x: f32; y: f32; z: f32): b8; cdecl; external libname;
function DoesCarHaveRoof(vehicle: Vehicle): b8; cdecl; external libname;
function DoesCarHaveStuckCarCheck(vehicle: Vehicle): b8; cdecl; external libname;
function DoesVehicleExist(vehicle: Vehicle): b8; cdecl; external libname;
function GetEngineHealth(vehicle: Vehicle): f32; cdecl; external libname;
function GetHeightOfVehicle(vehicle: Vehicle; x: f32; y: f32; z: f32; unknownTrue1: b8; unknownTrue2: b8): f32; cdecl; external libname;
function GetPetrolTankHealth(vehicle: Vehicle): f32; cdecl; external libname;
function HasCarBeenDamagedByCar(vehicle: Vehicle; otherCar: Vehicle): b8; cdecl; external libname;
function HasCarBeenDamagedByChar(vehicle: Vehicle; ped: Ped): b8; cdecl; external libname;
function HasCarBeenDamagedByWeapon(vehicle: Vehicle; weapon: eWeapon): b8; cdecl; external libname;
function HasCarBeenResprayed(vehicle: Vehicle): b8; cdecl; external libname;
function IsBigVehicle(vehicle: Vehicle): b8; cdecl; external libname;
function IsCarAMissionCar(vehicle: Vehicle): b8; cdecl; external libname;
function IsCarAttached(vehicle: Vehicle): b8; cdecl; external libname;
function IsCarDead(vehicle: Vehicle): b8; cdecl; external libname;
function IsCarDoorDamaged(vehicle: Vehicle; door: eVehicleDoor): b8; cdecl; external libname;
function IsCarDoorFullyOpen(vehicle: Vehicle; door: eVehicleDoor): b8; cdecl; external libname;
function IsCarInAirProper(vehicle: Vehicle): b8; cdecl; external libname;
function IsCarInArea2D(vehicle: Vehicle; x1: f32; y1: f32; x2: f32; y2: f32; unknownFalse: b8): b8; cdecl; external libname;
function IsCarInArea3D(vehicle: Vehicle; x1: f32; y1: f32; z1: f32; x2: f32; y2: f32; z2: f32; unknownFalse: u8): b8; cdecl; external libname;
function IsCarInWater(vehicle: Vehicle): b8; cdecl; external libname;
function IsCarModel(vehicle: Vehicle; model: eModel): b8; cdecl; external libname;
function IsCarOnFire(vehicle: Vehicle): b8; cdecl; external libname;
function IsCarOnScreen(vehicle: Vehicle): b8; cdecl; external libname;
function IsCarPassengerSeatFree(vehicle: Vehicle; seatIndex: u32): b8; cdecl; external libname;
function IsCarSirenOn(vehicle: Vehicle): b8; cdecl; external libname;
function IsCarStopped(vehicle: Vehicle): b8; cdecl; external libname;
function IsCarStoppedAtTrafficLights(vehicle: Vehicle): b8; cdecl; external libname;
function IsCarStuckOnRoof(vehicle: Vehicle): b8; cdecl; external libname;
function IsCarTouchingCar(vehicle: Vehicle; otherCar: Vehicle): b8; cdecl; external libname;
function IsCarTyreBurst(vehicle: Vehicle; tyre: u8 {eVehicleTyre}): b8; cdecl; external libname;
function IsCarUpright(vehicle: Vehicle): b8; cdecl; external libname;
function IsCarUpsidedown(vehicle: Vehicle): b8; cdecl; external libname;
function IsCarWaitingForWorldCollision(vehicle: Vehicle): b8; cdecl; external libname;
function IsVehDriveable(vehicle: Vehicle): b8; cdecl; external libname;
function IsVehicleExtraTurnedOn(vehicle: Vehicle; extra: u8 {VehicleExtra}): b8; cdecl; external libname;
function IsVehicleOnAllWheels(vehicle: Vehicle): b8; cdecl; external libname;
function IsVehWindowIntact(vehicle: Vehicle; window: u8 {eVehicleWindow}): b8; cdecl; external libname;
procedure AddUpsideDownCarCheck(vehicle: Vehicle); cdecl; external libname;
procedure AnchorBoat(boat: Vehicle; anchor: b8); cdecl; external libname;
procedure BreakCarDoor(vehicle: Vehicle; door: eVehicleDoor; unknownFalse: b8); cdecl; external libname;
procedure BurstCarTyre(vehicle: Vehicle; tyre: u8 {eVehicleTyre}); cdecl; external libname;
procedure ChangeCarColour(vehicle: Vehicle; colour1: eColour; colour2: eColour); cdecl; external libname;
procedure ClearCarLastDamageEntity(vehicle: Vehicle); cdecl; external libname;
procedure ClearCarLastWeaponDamage(vehicle: Vehicle); cdecl; external libname;
procedure ClearRoomForCar(vehicle: Vehicle); cdecl; external libname;
procedure CloseAllCarDoors(vehicle: Vehicle); cdecl; external libname;
procedure CreateCar(nameHash: u32; x: f32; y: f32; z: f32; var pVehicle: Vehicle; unknownTrue: b8); cdecl; external libname;
procedure CreateCharAsPassenger(vehicle: Vehicle; charType: u8 {ePedType}; model: eModel; passengerIndex: u32; var pPed: Ped); cdecl; external libname;
procedure CreateCharInsideCar(vehicle: Vehicle; charType: u8 {ePedType}; model: eModel; var pPed: Ped); cdecl; external libname;
procedure DeleteCar(var pVehicle: Vehicle); cdecl; external libname;
procedure DetachCar(vehicle: Vehicle); cdecl; external libname;
procedure EnablePedHelmet(ped: Ped; enable: b8); cdecl; external libname;
procedure ExplodeCar(vehicle: Vehicle; unknownTrue: b8; unknownFalse: b8); cdecl; external libname;
procedure ExtinguishCarFire(vehicle: Vehicle); cdecl; external libname;
procedure FixCar(vehicle: Vehicle); cdecl; external libname;
procedure FixCarTyre(vehicle: Vehicle; tyre: u8 {eVehicleTyre}); cdecl; external libname;
procedure ForceVehicleLights(vehicle: Vehicle; lights: eVehicleLights); cdecl; external libname;
procedure FreezeCarPosition(vehicle: Vehicle; frozen: b8); cdecl; external libname;
procedure FreezeCarPositionAndDontLoadCollision(vehicle: Vehicle; frozen: b8); cdecl; external libname;
procedure GetCarCharIsUsing(ped: Ped; var pVehicle: Vehicle); cdecl; external libname;
procedure GetCarColours(vehicle: Vehicle; var pColour1: eColour; var pColour2: eColour); cdecl; external libname;
procedure GetCarCoordinates(vehicle: Vehicle; var pX: f32; var pY: f32; var pZ: f32); cdecl; external libname;
procedure GetCarDeformationAtPos(vehicle: Vehicle; x: f32; y: f32; z: f32; var pDeformation: Vector3); cdecl; external libname;
procedure GetCarDoorLockStatus(vehicle: Vehicle; var pValue: eVehicleDoorLock); cdecl; external libname;
procedure GetCarForwardX(vehicle: Vehicle; var pValue: f32); cdecl; external libname;
procedure GetCarForwardY(vehicle: Vehicle; var pValue: f32); cdecl; external libname;
procedure GetCarHeading(vehicle: Vehicle; var pValue: f32); cdecl; external libname;
procedure GetCarHealth(vehicle: Vehicle; var pValue: u32); cdecl; external libname;
procedure GetCarModel(vehicle: Vehicle; var pValue: eModel); cdecl; external libname;
procedure GetCarPitch(vehicle: Vehicle; var pValue: f32); cdecl; external libname;
procedure GetCarRoll(vehicle: Vehicle; var pValue: f32); cdecl; external libname;
procedure GetCarSpeed(vehicle: Vehicle; var pValue: f32); cdecl; external libname;
procedure GetCarSpeedVector(vehicle: Vehicle; var pVector: Vector3; unknownFalse: b8); cdecl; external libname;
procedure GetCarUprightValue(vehicle: Vehicle; var pValue: f32); cdecl; external libname;
procedure GetCharInCarPassengerSeat(vehicle: Vehicle; seatIndex: u32; var pPed: Ped); cdecl; external libname;
procedure GetDeadCarCoordinates(vehicle: Vehicle; var pX: f32; var pY: f32; var pZ: f32); cdecl; external libname;
procedure GetDoorAngleRatio(vehicle: Vehicle; door: eVehicleDoor; var pAngleRatio: f32); cdecl; external libname;
procedure GetDriverOfCar(vehicle: Vehicle; var pPed: Ped); cdecl; external libname;
procedure GetExtraCarColours(vehicle: Vehicle; var pColour1: eColour; var pColour2: eColour); cdecl; external libname;
procedure GetKeyForCarInRoom(vehicle: Vehicle; var pKey: u32); cdecl; external libname;
procedure GetMaximumNumberOfPassengers(vehicle: Vehicle; var pMax: u32); cdecl; external libname;
procedure GetNearestCableCar(x: f32; y: f32; z: f32; radius: f32; var pVehicle: Vehicle); cdecl; external libname;
procedure GetNumberOfPassengers(vehicle: Vehicle; var pNumPassengers: u32); cdecl; external libname;
procedure GetNumCarColours(vehicle: Vehicle; var pNumColours: u32); cdecl; external libname;
procedure GetOffsetFromCarGivenWorldCoords(vehicle: Vehicle; x: f32; y: f32; z: f32; var pOffX: f32; var pOffY: f32; var pOffZ: f32); cdecl; external libname;
procedure GetOffsetFromCarInWorldCoords(vehicle: Vehicle; x: f32; y: f32; z: f32; var pOffX: f32; var pOffY: f32; var pOffZ: f32); cdecl; external libname;
procedure GetRandomCarModelInMemory(unknownTrue: b8; var pHash: u32; var pUnknown: ScriptAny); cdecl; external libname;
procedure KnockPedOffBike(vehicle: Vehicle); cdecl; external libname;
procedure LockCarDoors(vehicle: Vehicle; doors: eVehicleDoor); cdecl; external libname;
procedure MarkCarAsConvoyCar(vehicle: Vehicle; convoyCar: b8); cdecl; external libname;
procedure MarkCarAsNoLongerNeeded(var pVehicle: Vehicle); cdecl; external libname;
procedure OpenCarDoor(vehicle: Vehicle; door: eVehicleDoor); cdecl; external libname;
procedure PopCarBoot(vehicle: Vehicle); cdecl; external libname;
procedure RemoveStuckCarCheck(vehicle: Vehicle); cdecl; external libname;
procedure RemoveUpsidedownCarCheck(vehicle: Vehicle); cdecl; external libname;
procedure RemoveVehicleWindow(vehicle: Vehicle; window: u8 {eVehicleWindow}); cdecl; external libname;
procedure SetEngineHealth(vehicle: Vehicle; health: f32); cdecl; external libname;
procedure ShutCarDoor(vehicle: Vehicle; door: eVehicleDoor); cdecl; external libname;
 
// trains
procedure CreateMissionTrain(unknown1: u32; x: f32; y: f32; z: f32; unknown2: b8; var pTrain: Train); cdecl; external libname;
procedure DeleteMissionTrain(var pTrain: Train); cdecl; external libname;
function GetCurrentStationForTrain(train: Train): u8 {eTrainStation}; cdecl; external libname;
function GetNextStationForTrain(train: Train): u8 {eTrainStation}; cdecl; external libname;
function GetStationName(train: Train; station: u8 {eTrainStation}): PCHar; cdecl; external libname;
procedure MarkMissionTrainAsNoLongerNeeded(train: Train); cdecl; external libname;
procedure MarkMissionTrainsAsNoLongerNeeded(); cdecl; external libname;
 
// objects
procedure ClearObjectLastDamageEntity(obj: Obj); cdecl; external libname;
procedure ClearRoomForObject(obj: Obj); cdecl; external libname;
procedure CreateObject(model: eModel; x: f32; y: f32; z: f32; var pObj: Obj; unknownTrue: b8); cdecl; external libname;
procedure CreateObjectNoOffset(model: eModel; x: f32; y: f32; z: f32; var pObj: Obj; unknownTrue: b8); cdecl; external libname;
procedure DeleteObject(var pObj: Obj); cdecl; external libname;
procedure DetachObject(obj: Obj; unknown: b8); cdecl; external libname;
function DoesObjectExist(obj: Obj): b8; cdecl; external libname;
function DoesObjectHavePhysics(obj: Obj): b8; cdecl; external libname;
function DoesObjectOfTypeExistAtCoords(x: f32; y: f32; z: f32; radius: f32; model: eModel): b8; cdecl; external libname;
procedure FreezeObjectPosition(obj: Obj; frozen: b8); cdecl; external libname;
function GetCarObjectIsAttachedTo(obj: Obj): Vehicle; cdecl; external libname;
procedure GetObjectCoordinates(obj: Obj; var pX: f32; var pY: f32; var pZ: f32); cdecl; external libname;
function GetObjectFragmentDamageHealth(obj: Obj; unknown: b8): f32; cdecl; external libname;
procedure GetObjectHeading(obj: Obj; var pHeading: f32); cdecl; external libname;
procedure GetObjectHealth(obj: Obj; pHealth: f32); cdecl; external libname;
procedure GetObjectModel(obj: Obj; var pModel: eModel); cdecl; external libname;
procedure GetObjectRotationVelocity(obj: Obj; var pX: f32; var pY: f32; var pZ: f32); cdecl; external libname;
procedure GetObjectSpeed(obj: Obj; var pSpeed: f32); cdecl; external libname;
procedure GetObjectVelocity(obj: Obj; var pX: f32; var pY: f32; var pZ: f32); cdecl; external libname;
procedure GetOffsetFromObjectInWorldCoords(obj: Obj; x: f32; y: f32; z: f32; var pOffX: f32; var pOffY: f32; var pOffZ: f32); cdecl; external libname;
function GetPedObjectIsAttachedTo(obj: Obj): Ped; cdecl; external libname;
function HasObjectBeenDamaged(obj: Obj): b8; cdecl; external libname;
function HasObjectBeenDamagedByCar(obj: Obj; vehicle: Vehicle): b8; cdecl; external libname;
function HasObjectBeenDamagedByChar(obj: Obj; ped: Ped): b8; cdecl; external libname;
function HasObjectBeenUprooted(obj: Obj): b8; cdecl; external libname;
function HasObjectCollidedWithAnything(obj: Obj): b8; cdecl; external libname;
function HasPoolObjectCollidedWithCushion(obj: Obj): b8; cdecl; external libname;
function HasPoolObjectCollidedWithObject(obj: Obj; otherObj: obj): b8; cdecl; external libname;
function IsObjectInWater(obj: Obj): b8; cdecl; external libname;
function IsObjectOnFire(obj: Obj): b8; cdecl; external libname;
function IsObjectOnScreen(obj: Obj): b8; cdecl; external libname;
function IsObjectStatic(obj: Obj): b8; cdecl; external libname;
function IsObjectUpright(obj: Obj; angle: f32): b8; cdecl; external libname;
function IsObjectWithinBrainActivationRange(obj: Obj): b8; cdecl; external libname;
procedure LoadAllObjectsNow(); cdecl; external libname;
procedure MakeObjectTargettable(obj: Obj; targettable: b8); cdecl; external libname;
procedure MarkObjectAsNoLongerNeeded(var pObj: Obj); cdecl; external libname;
 
// models
function HasModelLoaded(pModel: eModel): b8; cdecl; external libname;
procedure RequestModel(pModel: eModel); cdecl; external libname;
procedure GetCurrentBasicCopModel(var pModel: eModel); cdecl; external libname;
procedure GetCurrentBasicPoliceCarModel(var pModel: eModel); cdecl; external libname;
procedure GetCurrentCopModel(var pModel: eModel); cdecl; external libname;
procedure GetCurrentPoliceCarModel(var pModel: eModel); cdecl; external libname;
procedure GetCurrentTaxiCarModel(var pModel: eModel); cdecl; external libname;
function GetDisplayNameFromVehicleModel(model: eModel): PChar; cdecl; external libname;
procedure GetModelDimensions(model: eModel; var pMinVector: Vector3; var pMaxVector: Vector3); cdecl; external libname;
function GetModelNameForDebug(model: eModel): PChar; cdecl; external libname;
function IsThisModelABike(model: eModel): b8; cdecl; external libname;
function IsThisModelABoat(model: eModel): b8; cdecl; external libname;
function IsThisModelACar(model: eModel): b8; cdecl; external libname;
function IsThisModelAHeli(model: eModel): b8; cdecl; external libname;
function IsThisModelAPed(model: eModel): b8; cdecl; external libname;
function IsThisModelAPlane(model: eModel): b8; cdecl; external libname;
function IsThisModelATrain(model: eModel): b8; cdecl; external libname;
function IsThisModelAVehicle(model: eModel): b8; cdecl; external libname;
procedure MarkModelAsNoLongerNeeded(model: eModel); cdecl; external libname;
 
// Interiors
procedure ActivateInterior(interior: Interior; unknownTrue: b8); cdecl; external libname;
procedure GetInteriorAtCoords(x: f32; y: f32; z: f32; var pInterior: Interior); cdecl; external libname;
procedure GetInteriorFromCar(vehicle: Vehicle; var pInterior: Interior); cdecl; external libname;
procedure GetInteriorFromChar(ped: Ped; var pInterior: Interior); cdecl; external libname;
procedure GetInteriorHeading(interior: Interior; var pHeading: f32); cdecl; external libname;
procedure GetOffsetFromInteriorInWorldCoords(interior: Interior; x: f32; y: f32; z: f32; var pOffset: f32); cdecl; external libname;
procedure GetRoomKeyFromObject(obj: Obj; var pRoomKey: u8 {eInteriorRoomKey}); cdecl; external libname;
procedure RequestInteriorModels(model: eModel; interiorName: PChar); cdecl; external libname;
 
// Blip
procedure AddBlipForCar(vehicle: Vehicle; var pBlip: Blip); cdecl; external libname;
procedure AddBlipForChar(ped: Ped; var pBlip: Blip); cdecl; external libname;
procedure AddBlipForContact(x: f32; y: f32; z: f32; var pBlip: Blip); cdecl; external libname;
procedure AddBlipForCoord(x: f32; y: f32; z: f32; var pBlip: Blip); cdecl; external libname;
procedure AddBlipForObject(obj: Obj; var pBlip: Blip); cdecl; external libname;
procedure AddBlipForPickup(pickup: Pickup; var pBlip: Blip); cdecl; external libname;
procedure AddSimpleBlipForPickup(pickup: Pickup); cdecl; external libname;
procedure ChangeBlipAlpha(blip: Blip; alpha: ScriptAny); cdecl; external libname;
procedure ChangeBlipColour(blip: Blip; colour: eColour); cdecl; external libname;
procedure ChangeBlipDisplay(blip: Blip; display: u8 {eBlipDisplay}); cdecl; external libname;
procedure ChangeBlipNameFromAscii(blip: Blip; blipName: PChar); cdecl; external libname;
procedure ChangeBlipNameFromTextFile(blip: Blip; gxtName: PChar); cdecl; external libname;
procedure ChangeBlipPriority(blip: Blip; priority: u8 {eBlipPriority}); cdecl; external libname;
procedure ChangeBlipScale(blip: Blip; scale: f32); cdecl; external libname;
procedure ChangeBlipSprite(blip: Blip; sprite: eBlipSprite); cdecl; external libname;
procedure DimBlip(blip: Blip; unknownTrue: b8); cdecl; external libname;
function DoesBlipExist(blip: Blip): b8; cdecl; external libname;
procedure FlashBlip(blip: Blip; flag: b8); cdecl; external libname;
procedure FlashBlipAlt(blip: Blip; flag: b8); cdecl; external libname;
procedure GetBlipColour(blip: Blip; var pColour: eColour); cdecl; external libname;
procedure GetBlipCoords(blip: Blip; var pVector: Vector3); cdecl; external libname;
function GetBlipInfoIdType(blip: Blip): eBlipType; cdecl; external libname;
function GetBlipInfoIdCarIndex(blip: Blip): Vehicle; cdecl; external libname;
function GetBlipInfoIdDisplay(blip: Blip): b8; cdecl; external libname;
function GetBlipInfoIdObjectIndex(blip: Blip): Obj; cdecl; external libname;
function GetBlipInfoIdPedIndex(blip: Blip): Ped; cdecl; external libname;
function GetBlipInfoIdPickupIndex(blip: Blip): Pickup; cdecl; external libname;
function GetBlipName(blip: Blip): PChar; cdecl; external libname;
function GetBlipSprite(blip: Blip): eBlipSprite; cdecl; external libname;
function GetFirstBlipInfoId(bliptype: u8 {eBlipType}): Blip; cdecl; external libname;
function GetNextBlipInfoId(bliptype: u8 {eBlipType}): Blip; cdecl; external libname;
function IsBlipShortRange(blip: Blip): b8; cdecl; external libname;
procedure RemoveBlip(blip: Blip); cdecl; external libname;
 
// Pickups
procedure AddPickupToInteriorRoomByName(pickup: Pickup; roomName: PChar); cdecl; external libname;
procedure CreateMoneyPickup(x: f32; y: f32; z: f32; amount: u32; unknownTrue: b8; var pPickup: Pickup); cdecl; external libname;
procedure CreatePickup(model: eModel; pickupType: u8 {ePickupType}; x: f32; y: f32; z: f32; var pPickup: Pickup; unknownFalse: b8); cdecl; external libname;
procedure CreatePickupRotate(model: eModel; pickupType: u8 {ePickupType}; unknown: u32; x: f32; y: f32; z: f32; rX: f32; rY: f32; rZ: f32; var pPickup: Pickup); cdecl; external libname;
procedure CreatePickupWithAmmo(model: eModel; pickupType: u8 {ePickupType}; unknown: u32; x: f32; y: f32; z: f32; var pPickup: Pickup); cdecl; external libname;
function DoesPickupExist(pickup: Pickup): b8; cdecl; external libname;
procedure GetPickupCoordinates(pickup: Pickup; var pX: f32; var pY: f32; var pZ: f32); cdecl; external libname;
function HasPickupBeenCollected(pickup: Pickup): b8; cdecl; external libname;
procedure PickupsPassTime(time: u32); cdecl; external libname;
procedure RemovePickup(pickup: Pickup); cdecl; external libname;
procedure RemoveTemporaryRadarBlipsForPickups(); cdecl; external libname;
 
// World
procedure ClearArea(x: f32; y: f32; z: f32; radius: f32; unknown: b8); cdecl; external libname;
procedure ClearAreaOfCars(x: f32; y: f32; z: f32; radius: f32); cdecl; external libname;
procedure ClearAreaOfChars(x: f32; y: f32; z: f32; radius: f32); cdecl; external libname;
procedure ClearAreaOfCops(x: f32; y: f32; z: f32; radius: f32); cdecl; external libname;
procedure ClearAreaOfObjects(x: f32; y: f32; z: f32; radius: f32); cdecl; external libname;
procedure ClearPedNonCreationArea(); cdecl; external libname;
procedure ClearPedNonRemovalArea(); cdecl; external libname;
procedure ExtinguishFireAtPoint(x: f32; y: f32; z: f32; radius: f32); cdecl; external libname;
procedure ForceTimeOfDay(hour: u32; minute: u32); cdecl; external libname;
procedure ForceWeather(weather: eWeather); cdecl; external libname;
procedure ForceWeatherNow(weather: eWeather); cdecl; external libname;
procedure ForceWind(wind: f32); cdecl; external libname;
procedure ForwardToTimeOfDay(hour: u32; minute: u32); cdecl; external libname;
procedure FreezePositionOfClosestObjectOfType(x: f32; y: f32; z: f32; radius: f32; model: eModel; frozen: b8); cdecl; external libname;
function GetClosestCar(x: f32; y: f32; z: f32; radius: f32; unknownFalse: b8; unknown70: u32): Vehicle; cdecl; external libname;
function GetClosestChar(x: f32; y: f32; z: f32; radius: f32; unknown1: b8; unknown2: b8; var pPed: Ped): b8; cdecl; external libname;
procedure GetCurrentWeather(var pWeather: eWeather); cdecl; external libname;
function GetGroundZFor3DCoord(x: f32; y: f32; z: f32; var pGroundZ: f32): ScriptAny; cdecl; external libname;
function GetNumberOfFiresInRange(x: f32; y: f32; z: f32; radius: f32): u32; cdecl; external libname;
procedure GetSafePickupCoords(x: f32; y: f32; z: f32; var pSafeX: f32; var pSafeY: f32; var pSafeZ: f32); cdecl; external libname;
function GetSafePositionForChar(x: f32; y: f32; z: f32; unknownTrue: b8; var pSafeX: f32; var pSafeY: f32; var pSafeZ: f32): b8; cdecl; external libname;
function HasClosestObjectOfTypeBeenDamagedByChar(x: f32; y: f32; z: f32; radius: f32; objectModel: eModel; ped: Ped): b8; cdecl; external libname;
function IsAreaOccupied(x1: f32; y1: f32; z1: f32; x2: f32; y2: f32; z2: f32; unknownFalse1: b8; unknownTrue: b8; unknownFalse2: b8; unknownFalse3: b8; unknownFalse4: b8): b8; cdecl; external libname;
function IsBulletInArea(x: f32; y: f32; z: f32; radius: f32; unknownTrue: b8): b8; cdecl; external libname;
function IsBulletInBox(x1: f32; y1: f32; z1: f32; x2: f32; y2: f32; z2: f32; unknown: b8): b8; cdecl; external libname;
procedure RemoveAllPickupsOfType(pickupType: u8 {ePickupType}); cdecl; external libname;
procedure SwitchAmbientPlanes(flag: b8); cdecl; external libname;
procedure SwitchArrowAboveBlippedPickups(flag: b8); cdecl; external libname;
procedure SwitchRandomBoats(flag: b8); cdecl; external libname;
procedure SwitchRandomTrains(flag: b8); cdecl; external libname;
procedure SwitchGarbageTrucks(flag: b8); cdecl; external libname;
procedure SwitchMadDrivers(flag: b8); cdecl; external libname;
 
// Garages
procedure CloseGarage(garageName: PChar); cdecl; external libname;
function IsCarInGarageArea(garageName: PChar; vehicle: Vehicle): b8; cdecl; external libname;
function IsGarageClosed(garageName: PChar): ScriptAny; cdecl; external libname;
function IsGarageOpen(garageName: PChar): ScriptAny; cdecl; external libname;
procedure OpenGarage(name: PChar); cdecl; external libname;
 
// Text (GXT stuff)
procedure DisplayText(x: f32; y: f32; gxtName: PChar); cdecl; external libname;
procedure DisplayTextWith2Numbers(x: f32; y: f32; gxtName: PChar; number1: i32; number2: i32); cdecl; external libname;
procedure DisplayTextWithFloat(x: f32; y: f32; gxtName: PChar; value: f32; unknown: u32); cdecl; external libname;
procedure DisplayTextWithLiteralString(x: f32; y: f32; gxtName: PChar; literalStr: PChar); cdecl; external libname;
procedure DisplayTextWithNumber(x: f32; y: f32; gxtName: PChar; value: i32); cdecl; external libname;
procedure DisplayTextWithString(x: f32; y: f32; gxtName: PChar; gxtStringName: PChar); cdecl; external libname;
procedure DisplayTextWithTwoLiteralStrings(x: f32; y: f32; gxtName: PChar; literalStr1: PChar; literalStr2: PChar); cdecl; external libname;
procedure DisplayTextWithTwoStrings(x: f32; y: f32; gxtName: PChar; gxtStringName1: PChar; gxtStringName2: PChar); cdecl; external libname;
function GetLengthOfStringWithThisTextLabel(gxtName: PChar): u32; cdecl; external libname;
function GetFirstNCharactersOfString(gxtName: PChar; chars: u32): PChar; cdecl; external libname;
function GetNthIntegerInString(gxtName: PChar; index: u32): PChar; cdecl; external libname;
function GetStringFromHashKey(hashKey: u32): PChar; cdecl; external libname;
function HasAdditionalTextLoaded(textIndex: u32): b8; cdecl; external libname;
function HasThisAdditionalTextLoaded(textName: PChar; textIndex: u32): b8; cdecl; external libname;
function IsStreamingAdditionalText(textIndex: u32): b8; cdecl; external libname;
procedure LoadAdditionalText(textName: PChar; textIndex: u32); cdecl; external libname;
procedure LoadTextFont(font: u8 {eTextFont}); cdecl; external libname;
procedure RequestAdditionalText(textName: PChar; textIndex: u32); cdecl; external libname;
{!} procedure PrintStringWithLiteralStringNow(gxtName: PChar; literalStr: PChar; ms: u32; enable: u32); cdecl; external libname;
 
// Textures
function GetTexture(dictionary: TextureDict; textureName: PChar): Texture; cdecl; external libname;
function GetTextureFromStreamedTxd(txdName: PChar; textureName: PChar): Texture; cdecl; external libname;
function GetTxd(txdName: PChar): TextureDict; cdecl; external libname;
function HasStreamedTxdLoaded(txdName: PChar): b8; cdecl; external libname;
function LoadTxd(txdName: PChar): TextureDict; cdecl; external libname;
procedure MarkStreamedTxdAsNoLongerNeeded(txdName: PChar); cdecl; external libname;
procedure ReleaseTexture(texture: Texture); cdecl; external libname;
procedure RequestStreamedTxd(txdName: PChar; unknown: b8); cdecl; external libname;
procedure RemoveTxd(txd: TextureDict); cdecl; external libname;
 
// Stats
procedure DecrementIntStat(stat: eIntStatistic; amount: u32); cdecl; external libname;
function GetIntStat(stat: eIntStatistic): u32; cdecl; external libname;
procedure IncrementFloatStatNoMessage(stat: eFloatStatistic; value: f32); cdecl; external libname;
procedure IncrementIntStat(stat: eIntStatistic; value: u32); cdecl; external libname;
procedure IncrementIntStatNoMessage(stat: eIntStatistic; value: u32); cdecl; external libname;
procedure SetIntStat(stat: eIntStatistic; value: u32); cdecl; external libname;
 
// Pad (controls)
function GetPadPitchRoll(padIndex: u32; var pPitch: f32; var pRoll: f32): b8; cdecl; external libname;
procedure GetPositionOfAnalogueSticks(padIndex: u32; var pLeftX: u32; var pLeftY: u32; var pRightX: u32; var pRightY: u32); cdecl; external libname;
function IsButtonJustPressed(padIndex: u32; button: u8 {ePadButton}): b8; cdecl; external libname;
function IsButtonPressed(padIndex: u32; button: u8 {ePadButton}): b8; cdecl; external libname;
 
// Sound
function GetSoundId(): u8 {eSound}; cdecl; external libname;
function HasSoundFinished(sound: u8 {eSound}): b8; cdecl; external libname;
procedure StopSound(sound: u8 {eSound}); cdecl; external libname;
 
// Game/Misc
procedure AbortAllGarageActivity(); cdecl; external libname;
procedure ActivateCheat(cheat: eCheat); cdecl; external libname;
procedure ActivateFrontEnd(); cdecl; external libname;
procedure ActivateSaveMenu(); cdecl; external libname;
procedure AddExplosion(x: f32; y: f32; z: f32; p3: u32; p4: f32; p5: u32; p6: u32; p7: f32); cdecl; external libname;
procedure AllowEmergencyServices(allow: b8); cdecl; external libname;
procedure AllowGameToPauseForStreaming(allow: b8); cdecl; external libname;
procedure AllowStuntJumpsToTrigger(allow: b8); cdecl; external libname;
function AreWidescreenBordersActive(): b8; cdecl; external libname;
function AwardAchievement(achievement: u8 {eAchievement}): ScriptAny; cdecl; external libname;
function CanPhoneBeSeenOnScreen(): b8; cdecl; external libname;
procedure CancelOverrideRestart(); cdecl; external libname;
procedure ClearShakePlayerPadWhenControllerDisabled(); cdecl; external libname;
procedure ClearTimeCycleModifier(); cdecl; external libname;
procedure DeactivateFrontEnd(); cdecl; external libname;
function DidSaveCompleteSuccessfully(): b8; cdecl; external libname;
procedure DisableFrontEndRadio(); cdecl; external libname;
procedure DisablePauseMenu(disabled: b8); cdecl; external libname;
procedure DisablePoliceScanner(); cdecl; external libname;
procedure DisplayAmmo(display: b8); cdecl; external libname;
procedure DisplayAreaName(display: b8); cdecl; external libname;
procedure DisplayCash(display: b8); cdecl; external libname;
procedure DisplayFrontEndMapBlips(display: b8); cdecl; external libname;
procedure DisplayHUD(display: b8); cdecl; external libname;
procedure DisplayRadar(display: b8); cdecl; external libname;
procedure DisplaySniperScopeThisFrame(); cdecl; external libname;
procedure DoAutoSave(); cdecl; external libname;
procedure DoScreenFadeIn(timeMS: u32); cdecl; external libname;
procedure DoScreenFadeInUnhacked(timeMS: u32); cdecl; external libname;
procedure DoScreenFadeOut(timeMS: u32); cdecl; external libname;
procedure DoScreenFadeOutUnhacked(timeMS: u32); cdecl; external libname;
procedure EnableFrontEndRadio(); cdecl; external libname;
procedure EnableMaxAmmoCap(enable: b8); cdecl; external libname;
procedure EnablePoliceScanner(); cdecl; external libname;
procedure EnableSceneStreaming(enable: b8); cdecl; external libname;
procedure FakeDeathArrest(); cdecl; external libname;
procedure FireSingleBullet(x: f32; y: f32; z: f32; targetX: f32; targetY: f32; targetZ: f32; unknown: u32); cdecl; external libname;
procedure FlashWeaponIcon(flag: b8); cdecl; external libname;
procedure ForceInitialPlayerStation(stationName: PChar); cdecl; external libname;
procedure ForceLoadingScreen(force: b8); cdecl; external libname;
procedure FreezeRadioStation(stationName: PChar); cdecl; external libname;
procedure GetCorrectedColour(r: u32; g: u32; b: u32; var pR: u32; var pG: u32; var pB: u32); cdecl; external libname;
function GetCreateRandomCops(): b8; cdecl; external libname;
function GetCurrentDayOfWeek(): u32; cdecl; external libname;
function GetCurrentEpisode(): u32; cdecl; external libname;
function GetCurrentLanguage(): eLanguage; cdecl; external libname;
function GetEpisodeIndexFromSummons(): u32; cdecl; external libname;
procedure GetGameTimer(var pTimer: u32); cdecl; external libname;
function GetHashKey(value: PChar): u32; cdecl; external libname;
function GetHoursOfDay(): u32; cdecl; external libname;
procedure GetHUDColour(hudtype: u8 {eHUDType}; var pR: u32; var pG: u32; var pB: u32; var pUnknown: ScriptAny); cdecl; external libname;
function GetIdOfThisThread(): u32; cdecl; external libname;
function GetIsDepositAnimRunning(): b8; cdecl; external libname;
function GetIsHiDef(): b8; cdecl; external libname;
function GetIsWidescreen(): b8; cdecl; external libname;
function GetMapAreaFromCoords(x: f32; y: f32; z: f32): u8 {eMapArea}; cdecl; external libname;
function GetMinutesOfDay(): u32; cdecl; external libname;
function GetMinutesToTimeOfDay(hour: u32; minute: u32): u32; cdecl; external libname;
function GetMissionFlag(): b8; cdecl; external libname;
procedure GetMaxWantedLevel(var pMaxWantedLevel: u32); cdecl; external libname;
function GetNameOfInfoZone(x: f32; y: f32; z: f32): PChar; cdecl; external libname;
function GetNameOfZone(x: f32; y: f32; z: f32): PChar; cdecl; external libname;
function GetNumStreamingRequests(): u32; cdecl; external libname;
function GetNumberOfInstancesOfStreamedScript(scriptName: PChar): u32; cdecl; external libname;
function GetPlayerRadioStationIndex(): eRadioStation; cdecl; external libname;
function GetPlayerRadioStationName(): PChar; cdecl; external libname;
function GetTimeSinceLastArrest(): u32; cdecl; external libname;
function GetTimeSinceLastDeath(): u32; cdecl; external libname;
function HasAchievementBeenPassed(achievement: u8 {eAchievement}): b8; cdecl; external libname;
function HasDeathArrestExecuted(): b8; cdecl; external libname;
function HasResprayHappened(): b8; cdecl; external libname;
function HasScriptLoaded(scriptName: PChar): b8; cdecl; external libname;
function HaveAnimsLoaded(animName: PChar): b8; cdecl; external libname;
procedure HideHelpTextThisFrame(); cdecl; external libname;
procedure HideHUDAndRadarThisFrame(); cdecl; external libname;
function IsAussieVersion(): b8; cdecl; external libname;
function IsAutoAimingOn(): b8; cdecl; external libname;
function IsAutoSaveInProgress(): b8; cdecl; external libname;
function IsInteriorScene(): b8; cdecl; external libname;
function IsFrontEndFading(): b8; cdecl; external libname;
function IsGameInControlOfMusic(): b8; cdecl; external libname;
function IsGermanVersion(): b8; cdecl; external libname;
function IsHelpMessageBeingDisplayed(): b8; cdecl; external libname;
function IsHintRunning(): b8; cdecl; external libname;
function IsHUDPreferenceSwitchedOn(): b8; cdecl; external libname;
function IsHUDReticuleComplex(): b8; cdecl; external libname;
function IsInSpectatorMode(): b8; cdecl; external libname;
function IsLookInverted(): b8; cdecl; external libname;
function IsMemoryCardInUse(): b8; cdecl; external libname;
function IsMessageBeingDisplayed(): b8; cdecl; external libname;
function IsMinigameInProgress(): b8; cdecl; external libname;
function IsMissionCompletePlaying(): b8; cdecl; external libname;
function IsMobilePhoneCallOngoing(): b8; cdecl; external libname;
function IsMobilePhoneRadioActive(): b8; cdecl; external libname;
function IsPauseMenuActive(): b8; cdecl; external libname;
function IsPayNSprayActive(): b8; cdecl; external libname;
function IsPlayerBeingArrested(): b8; cdecl; external libname;
function IsRadioRetuning(): b8; cdecl; external libname;
function IsScreenFadedIn(): b8; cdecl; external libname;
function IsScreenFadedOut(): b8; cdecl; external libname;
function IsScreenFading(): b8; cdecl; external libname;
function IsScreenFadingIn(): b8; cdecl; external libname;
function IsScreenFadingOut(): b8; cdecl; external libname;
function IsSniperInverted(): b8; cdecl; external libname;
function IsSystemUIShowing(): b8; cdecl; external libname;
function IsThisAMinigameScript(): b8; cdecl; external libname;
function IsThreadActive(threadId: u32): b8; cdecl; external libname;
procedure MarkScriptAsNoLongerNeeded(scriptName: PChar); cdecl; external libname;
procedure PauseGame(); cdecl; external libname;
procedure PlayMovie(); cdecl; external libname;
procedure PopulateNow(); cdecl; external libname;
procedure RequestAnims(animName: PChar); cdecl; external libname;
procedure ReleaseMovie(); cdecl; external libname;
procedure ReleaseTimeOfDay(); cdecl; external libname;
procedure ReleaseWeather(); cdecl; external libname;
procedure RemoveAnims(animName: PChar); cdecl; external libname;
procedure RemoveCoverPoint(coverPoint: CoverPoint); cdecl; external libname;
procedure RemoveIpl(iplName: PChar); cdecl; external libname;
procedure RemoveScriptFire(fire: Fire); cdecl; external libname;
procedure RequestIpl(iplName: PChar); cdecl; external libname;
procedure SetTimerA(value: u32); cdecl; external libname;
procedure SetTimerB(value: u32); cdecl; external libname;
function TimerA(): u32; cdecl; external libname;
function TimerB(): u32; cdecl; external libname;
function TimeStep(): u32; cdecl; external libname;
procedure UnlockLazlowStation(); cdecl; external libname;
procedure UnregisterScriptWithAudio(); cdecl; external libname;
procedure UnPauseGame(); cdecl; external libname;
procedure _TerminateThisScript(tid: Pointer); cdecl; external libname name 'TerminateThisScript';
procedure _Wait(tid: Pointer; timeMS: u32); cdecl; external libname name 'Wait';
 
// General
function AbsF(value: f32): f32; cdecl; external libname;
function AbsI(value: f32): f32; cdecl; external libname;
function ASin(value: f32): f32; cdecl; external libname;
function ATan(value: f32): f32; cdecl; external libname;
function Ceil(value: f32): i32; cdecl; external libname;
function Cos(value: f32): f32; cdecl; external libname;
function ToFloat(value: u32): f32; cdecl; external libname;
function Floor(value: f32): u32; cdecl; external libname;
procedure GenerateRandomFloatInRange(min: f32; max: f32; var pValue: f32); cdecl; external libname;
procedure GenerateRandomIntInRange(min: u32; max: u32; var pValue: u32); cdecl; external libname;
procedure GetAngleBetween2DVectors(x1: f32; y1: f32; x2: f32; y2: f32; var pResult: f32); cdecl; external libname;
procedure GetDistanceBetweenCoords2D(x1: f32; y1: f32; x2: f32; y2: f32; var pDist: f32); cdecl; external libname;
procedure GetDistanceBetweenCoords3D(x1: f32; y1: f32; z1: f32; x2: f32; y2: f32; z2: f32; var pDist: f32); cdecl; external libname;
function GetFirstNCharactersOfLiteralString(literalString: PChar; chars: u32): PChar; cdecl; external libname;
procedure GetHeadingFromVector2D(x: f32; y: f32; var pHeading: f32); cdecl; external libname;
function GetLengthOfLiteralString(literalString: PChar): u32; cdecl; external libname;
function IsStringNull(str: PChar): b8; cdecl; external libname;
function Sin(value: f32): f32; cdecl; external libname;
function Sqrt(value: f32): f32; cdecl; external libname;
function Tan(value: f32): f32; cdecl; external libname;
 
 
implementation
 
 
end.