From 9c62745505191a53a00d55be602300bde1f737c5 Mon Sep 17 00:00:00 2001 From: shierru Date: Thu, 11 Jan 2024 10:09:57 +0300 Subject: [PATCH 1/6] Add definitions for spectate types (issue #31). --- _open_mp.inc | 2 +- omp_player.inc | 22 +++++++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/_open_mp.inc b/_open_mp.inc index f519699..cf93cc6 100644 --- a/_open_mp.inc +++ b/_open_mp.inc @@ -118,7 +118,7 @@ public const __OPEN_MP_VERSION = 0; #elseif defined STRONG_TAGS #define __TAG(%0) T_%0 #if __pawn_build >= 11 - #define OPEN_MP_TAGS {LANDING_GEAR_STATE, T_CONNECTION_STATUS, T_CP_TYPE, T_WEAPON, T_PLAYER_MARKERS_MODE, T_DIALOG_STYLE, T_HTTP_METHOD, T_HTTP_ERROR, T_DOWNLOAD_REQUEST, T_SELECT_OBJECT, T_OBJECT_MATERIAL_SIZE, T_OBJECT_MATERIAL_TEXT_ALIGN, T_EDIT_RESPONSE, T_PLAYER_STATE, T_SPECIAL_ACTION, T_FIGHT_STYLE, T_WEAPONSKILL, T_WEAPONSTATE, T_KEY, T_CAM_MODE, T_MAPICON, T_SPECTATE_MODE, T_PLAYER_RECORDING_TYPE, T_FORCE_SYNC, T_CLICK_SOURCE, T_BULLET_HIT_TYPE, T_TEXT_DRAW_FONT, T_TEXT_DRAW_ALIGN, T_VARTYPE, T_CARMODTYPE, T_VEHICLE_MODEL_INFO, T_VEHICLE_PANEL_STATUS, T_VEHICLE_DOOR_STATUS, T_VEHICLE_LIGHT_STATUS, T_VEHICLE_TYRE_STATUS, T_WEAPON_SLOT, Bit, Bitmap, XML, XMLEntry, Group, INI, Language, Style, DB, DBResult, Menu, Text, PlayerText, Text3D, PlayerText3D, File, Float, CUSTOM_TAG_TYPES, _} + #define OPEN_MP_TAGS {LANDING_GEAR_STATE, T_CONNECTION_STATUS, T_CP_TYPE, T_WEAPON, T_PLAYER_MARKERS_MODE, T_DIALOG_STYLE, T_HTTP_METHOD, T_HTTP_ERROR, T_DOWNLOAD_REQUEST, T_SELECT_OBJECT, T_OBJECT_MATERIAL_SIZE, T_OBJECT_MATERIAL_TEXT_ALIGN, T_EDIT_RESPONSE, T_PLAYER_STATE, T_SPECIAL_ACTION, T_FIGHT_STYLE, T_WEAPONSKILL, T_WEAPONSTATE, T_KEY, T_CAM_MODE, T_MAPICON, T_SPECTATE_MODE, T_SPECTATE_TYPE, T_PLAYER_RECORDING_TYPE, T_FORCE_SYNC, T_CLICK_SOURCE, T_BULLET_HIT_TYPE, T_TEXT_DRAW_FONT, T_TEXT_DRAW_ALIGN, T_VARTYPE, T_CARMODTYPE, T_VEHICLE_MODEL_INFO, T_VEHICLE_PANEL_STATUS, T_VEHICLE_DOOR_STATUS, T_VEHICLE_LIGHT_STATUS, T_VEHICLE_TYRE_STATUS, T_WEAPON_SLOT, Bit, Bitmap, XML, XMLEntry, Group, INI, Language, Style, DB, DBResult, Menu, Text, PlayerText, Text3D, PlayerText3D, File, Float, CUSTOM_TAG_TYPES, _} #else #define OPEN_MP_TAGS {T_WEAPON, Text, PlayerText, Text3D, PlayerText3D, File, Float, CUSTOM_TAG_TYPES, _} #endif diff --git a/omp_player.inc b/omp_player.inc index f2d1dfb..7c064d6 100644 --- a/omp_player.inc +++ b/omp_player.inc @@ -484,6 +484,26 @@ static stock SPECTATE_MODE:_@SPECTATE_MODE() { return __SPECTATE_MODE; } #define SPECTATE_MODE_FIXED (SPECTATE_MODE:2) #define SPECTATE_MODE_SIDE (SPECTATE_MODE:3) +///

+/** + * omp_player + *

Spectating types + */ +#define SPECTATE_TYPE: __TAG(SPECTATE_TYPE): +enum SPECTATE_TYPE:__SPECTATE_TYPE +{ + UNKNOWN_SPECTATE_TYPE = -1, + SPECTATE_TYPE_NONE = 0, + SPECTATE_TYPE_VEHICLE, + SPECTATE_TYPE_PLAYER +} +static stock SPECTATE_TYPE:_@SPECTATE_TYPE() { return __SPECTATE_TYPE; } + +#define UNKNOWN_SPECTATE_TYPE (SPECTATE_TYPE:-1) +#define SPECTATE_TYPE_NONE (SPECTATE_TYPE:0) +#define SPECTATE_TYPE_VEHICLE (SPECTATE_TYPE:1) +#define SPECTATE_TYPE_PLAYER (SPECTATE_TYPE:2) + ///

/** * omp_player @@ -2794,7 +2814,7 @@ native GetPlayerSpectateID(playerid); /** * omp_player */ -native GetPlayerSpectateType(playerid); +native SPECTATE_TYPE:GetPlayerSpectateType(playerid); /** * omp_player From 2c43a6c1ccbbe43380ee7f7922d410202dfd3658 Mon Sep 17 00:00:00 2001 From: shierru Date: Thu, 11 Jan 2024 10:23:37 +0300 Subject: [PATCH 2/6] Adding new natives version 1.1.0.2612 (issue #32). --- omp_player.inc | 20 ++++++++++++++++++++ omp_vehicle.inc | 15 +++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/omp_player.inc b/omp_player.inc index 7c064d6..8e894d8 100644 --- a/omp_player.inc +++ b/omp_player.inc @@ -2816,6 +2816,26 @@ native GetPlayerSpectateID(playerid); */ native SPECTATE_TYPE:GetPlayerSpectateType(playerid); +/** + * omp_player + */ +native GetPlayerAnimFlags(playerid); + +/** + * omp_player + */ +native GetPlayerAnimationFlags(playerid); + +/** + * omp_player + */ +native bool:IsPlayerInDriveByMode(playerid); + +/** + * omp_player + */ +native bool:IsPlayerCuffed(playerid); + /** * omp_player */ diff --git a/omp_vehicle.inc b/omp_vehicle.inc index 6f9f9d7..3d7361d 100644 --- a/omp_vehicle.inc +++ b/omp_vehicle.inc @@ -1560,6 +1560,11 @@ native bool:IsVehicleSirenEnabled(vehicleid); */ native bool:GetVehicleMatrix(vehicleid, &Float:rightX, &Float:rightY, &Float:rightZ, &Float:upX, &Float:upY, &Float:upZ, &Float:atX, &Float:atY, &Float:atZ); +/** + * omp_vehicle + */ +native GetVehicleMaxPassengers(modelid); + /** * omp_vehicle */ @@ -1570,6 +1575,16 @@ native GetVehicleModelCount(modelid); */ native GetVehicleModelsUsed(); +/** + * omp_vehicle + */ +native CountVehicleOccupants(vehicleid); + +/** + * omp_vehicle + */ +native GetVehicleOccupant(vehicleid, seatid); + /** * omp_vehicle */ From 1ec56198a83e6f6dea149685d1d2344b7f2ddd35 Mon Sep 17 00:00:00 2001 From: shierru Date: Thu, 11 Jan 2024 22:28:04 +0300 Subject: [PATCH 3/6] Small additions to the player documentation --- omp_player.inc | 75 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/omp_player.inc b/omp_player.inc index 8e894d8..61153f2 100644 --- a/omp_player.inc +++ b/omp_player.inc @@ -2793,61 +2793,134 @@ native Float:GetPlayerCameraZoom(playerid); /** * omp_player + *

Check if the player camera target is enabled. + * The ID of the player to check the camera target is enabled + * + * + * 1: Is camera target enable.
+ * 0: Is camera target not enable or the player specified does not exist. + *
*/ native bool:IsPlayerCameraTargetEnabled(playerid); /** * omp_player + * Toggle player's widescreen. + * The ID of the player to check the camera target is enabled + * Enable or disable toggle player widescreen + * + * + * 1: The function was executed successfully.
+ * 0: The function failed to execute. The player specified does not exist. + *
*/ -native bool:TogglePlayerWidescreen(playerid, bool:wide); +native bool:TogglePlayerWidescreen(playerid, bool:enable); /** * omp_player + * Checks if the player widescreen is ON or OFF. + * The ID of the player to check + * + * + * 1: The player widescreen is ON
+ * 0: The player widescreen is OFF or the player specified does not exist. + *
*/ native bool:IsPlayerWidescreenToggled(playerid); /** * omp_player + * Get the ID of the player or vehicle the player is spectating. + * The ID of the player to check + * + * + * + * + * ID of the player or vehicle. */ native GetPlayerSpectateID(playerid); /** * omp_player + * Get the player spectate type. + * The ID of the player to get spectate type of + * + * + * + * + * The spectate type as integer. */ native SPECTATE_TYPE:GetPlayerSpectateType(playerid); /** * omp_player + * Get the player animation flags. + * The ID of the player to get animation flags of + * + * The player animation flags as integer. */ native GetPlayerAnimFlags(playerid); /** * omp_player + * Get the player animation flags. + * The ID of the player to get animation flags of + * + * The player animation flags as integer. */ native GetPlayerAnimationFlags(playerid); /** * omp_player + * Check if the player is in driveby mode. + * The ID of the player to check is in driveby mode of + * + * 1: The player is in driveby mode.
+ * 0: The player is not in driveby mode or the player specified does not exist. + *
*/ native bool:IsPlayerInDriveByMode(playerid); /** * omp_player + * Check if the player special action is cuffed. + * The ID of the player to check is cuffed + * + * 1: The player is cuffed.
+ * 0: The player is not cuffed or the player specified does not exist. + *
*/ native bool:IsPlayerCuffed(playerid); /** * omp_player + * Get the player ZAim (related to the camera and aiming). + * The ID of the player to get of + * + * The player ZAim as float. */ native Float:GetPlayerZAim(playerid); /** * omp_player + * Get an array variable of the IDs of the current players on the server. + * An array into which to store the player IDs, passed by reference + * The length of the string that should be stored + * + * + * The 0 if there are no players on the server. */ native GetPlayers(players[], size = sizeof (players)); /** * omp_player + * Check if the player is using the official SA-MP client. + * The ID of the player to check of + * + * + * 1: The player is using official client.
+ * 0: The player is not using official client or the player specified does not exist. + *
*/ native bool:IsPlayerUsingOfficialClient(playerid); From dd1842ac685c7ff704c04a9fc06a6907c1accbfb Mon Sep 17 00:00:00 2001 From: shierru Date: Sat, 13 Jan 2024 17:11:07 +0300 Subject: [PATCH 4/6] Deprecate function GetPlayerObjectTarget (issue #34). --- omp_object.inc | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/omp_object.inc b/omp_object.inc index bd261b0..c299835 100644 --- a/omp_object.inc +++ b/omp_object.inc @@ -1106,12 +1106,6 @@ native bool:SetPlayerObjectMoveSpeed(playerid, objectid, Float:speed); */ native Float:GetPlayerObjectMoveSpeed(playerid, objectid); -/** - * omp_object - * - */ -native Float:GetPlayerObjectTarget(playerid, objectid, &Float:targetX = 0.0, &Float:targetY = 0.0, &Float:targetZ = 0.0); - /** * omp_object * @@ -1484,6 +1478,13 @@ native bool:CancelEdit(playerid) = EndObjectEditing; #pragma deprecated Use `GetObjectMovingTargetPos` native bool:GetObjectTarget(objectid, &Float:targetX = 0.0, &Float:targetY = 0.0, &Float:targetZ = 0.0) = GetObjectMovingTargetPos; +/** + * omp_object + * + */ +#pragma deprecated Use `GetPlayerObjectMovingTargetPos` +native Float:GetPlayerObjectTarget(playerid, objectid, &Float:targetX = 0.0, &Float:targetY = 0.0, &Float:targetZ = 0.0) = GetPlayerObjectMovingTargetPos; + /** * omp_object * Allows camera collisions with newly created objects to be disabled by default. From 2f07d6104aad0797400c715a075fbb4626c4fa44 Mon Sep 17 00:00:00 2001 From: shierru Date: Fri, 5 Apr 2024 18:31:53 +0300 Subject: [PATCH 5/6] Add return tag on GetPlayerAnimationFlags. --- omp_player.inc | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/omp_player.inc b/omp_player.inc index 61153f2..9084273 100644 --- a/omp_player.inc +++ b/omp_player.inc @@ -583,6 +583,27 @@ static stock BULLET_HIT_TYPE:_@BULLET_HIT_TYPE() { return __BULLET_HIT_TYPE; } #define BULLET_HIT_TYPE_OBJECT (BULLET_HIT_TYPE:3) #define BULLET_HIT_TYPE_PLAYER_OBJECT (BULLET_HIT_TYPE:4) +///

+/** + * omp_player + */ +#define ANIMATION_FLAGS: __TAG(ANIMATION_FLAGS): +enum ANIMATION_FLAGS:ANIMATION_FLAGS +{ + UNKNOWN_ANIMATION_FLAG = -1, + ANIMATION_FLAG_FREEZE = 0b0000000000100, + ANIMATION_FLAG_LOOP = 0b0000100000000, + ANIMATION_FLAG_LOCK_Y = 0b0001000000000, + ANIMATION_FLAG_LOCK_X = 0b0010000000000 +} +static stock ANIMATION_FLAGS:_@ANIMATION_FLAGS() { return ANIMATION_FLAGS; } + +#define UNKNOWN_ANIMATION_FLAG (ANIMATION_FLAGS:-1) +#define ANIMATION_FLAG_FREEZE (ANIMATION_FLAGS:0b0000000000100) +#define ANIMATION_FLAG_LOOP (ANIMATION_FLAGS:0b0000100000000) +#define ANIMATION_FLAG_LOCK_Y (ANIMATION_FLAGS:0b0001000000000) +#define ANIMATION_FLAG_LOCK_X (ANIMATION_FLAGS:0b0010000000000) + /* 888b 88 88 @@ -2868,7 +2889,7 @@ native GetPlayerAnimFlags(playerid); * * The player animation flags as integer. */ -native GetPlayerAnimationFlags(playerid); +native ANIMATION_FLAGS:GetPlayerAnimationFlags(playerid); /** * omp_player From 5c6a5997b432e645b2459517ce5c4f7b5e10c6ca Mon Sep 17 00:00:00 2001 From: shierru Date: Fri, 5 Apr 2024 18:36:59 +0300 Subject: [PATCH 6/6] Added T_ANIMATION_FLAGS to OPEN_MP_TAGS. --- _open_mp.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_open_mp.inc b/_open_mp.inc index cf93cc6..23ec8cc 100644 --- a/_open_mp.inc +++ b/_open_mp.inc @@ -118,7 +118,7 @@ public const __OPEN_MP_VERSION = 0; #elseif defined STRONG_TAGS #define __TAG(%0) T_%0 #if __pawn_build >= 11 - #define OPEN_MP_TAGS {LANDING_GEAR_STATE, T_CONNECTION_STATUS, T_CP_TYPE, T_WEAPON, T_PLAYER_MARKERS_MODE, T_DIALOG_STYLE, T_HTTP_METHOD, T_HTTP_ERROR, T_DOWNLOAD_REQUEST, T_SELECT_OBJECT, T_OBJECT_MATERIAL_SIZE, T_OBJECT_MATERIAL_TEXT_ALIGN, T_EDIT_RESPONSE, T_PLAYER_STATE, T_SPECIAL_ACTION, T_FIGHT_STYLE, T_WEAPONSKILL, T_WEAPONSTATE, T_KEY, T_CAM_MODE, T_MAPICON, T_SPECTATE_MODE, T_SPECTATE_TYPE, T_PLAYER_RECORDING_TYPE, T_FORCE_SYNC, T_CLICK_SOURCE, T_BULLET_HIT_TYPE, T_TEXT_DRAW_FONT, T_TEXT_DRAW_ALIGN, T_VARTYPE, T_CARMODTYPE, T_VEHICLE_MODEL_INFO, T_VEHICLE_PANEL_STATUS, T_VEHICLE_DOOR_STATUS, T_VEHICLE_LIGHT_STATUS, T_VEHICLE_TYRE_STATUS, T_WEAPON_SLOT, Bit, Bitmap, XML, XMLEntry, Group, INI, Language, Style, DB, DBResult, Menu, Text, PlayerText, Text3D, PlayerText3D, File, Float, CUSTOM_TAG_TYPES, _} + #define OPEN_MP_TAGS {LANDING_GEAR_STATE, T_CONNECTION_STATUS, T_CP_TYPE, T_WEAPON, T_PLAYER_MARKERS_MODE, T_DIALOG_STYLE, T_HTTP_METHOD, T_HTTP_ERROR, T_DOWNLOAD_REQUEST, T_SELECT_OBJECT, T_OBJECT_MATERIAL_SIZE, T_OBJECT_MATERIAL_TEXT_ALIGN, T_EDIT_RESPONSE, T_PLAYER_STATE, T_SPECIAL_ACTION, T_FIGHT_STYLE, T_WEAPONSKILL, T_WEAPONSTATE, T_KEY, T_CAM_MODE, T_MAPICON, T_SPECTATE_MODE, T_SPECTATE_TYPE, T_PLAYER_RECORDING_TYPE, T_FORCE_SYNC, T_CLICK_SOURCE, T_BULLET_HIT_TYPE, T_ANIMATION_FLAGS, T_TEXT_DRAW_FONT, T_TEXT_DRAW_ALIGN, T_VARTYPE, T_CARMODTYPE, T_VEHICLE_MODEL_INFO, T_VEHICLE_PANEL_STATUS, T_VEHICLE_DOOR_STATUS, T_VEHICLE_LIGHT_STATUS, T_VEHICLE_TYRE_STATUS, T_WEAPON_SLOT, Bit, Bitmap, XML, XMLEntry, Group, INI, Language, Style, DB, DBResult, Menu, Text, PlayerText, Text3D, PlayerText3D, File, Float, CUSTOM_TAG_TYPES, _} #else #define OPEN_MP_TAGS {T_WEAPON, Text, PlayerText, Text3D, PlayerText3D, File, Float, CUSTOM_TAG_TYPES, _} #endif