Releases: ikkentim/SampSharp
Releases · ikkentim/SampSharp
0.10.1
0.10.0
SampSharp plugin
- Added automatic coreclr and gamemode detection
- Added support for "fastnative" calls (#365)
- Added callback name to "Callback parameters count mismatch" error (#342)
- Added coreclr detection based on
SAMPSHARP_RUNTIME
environment variable - Changed hosted mode to be the default, multi-process mode can be enabled with the
use_multi_process_mode=1
server setting - Fixed a possible server crash when a callback is handled with an unexpected parameter count
- Fixed a possible server crash when calling the
CallRemoveFunction
native (#363) - Codepage files are no longer provided in the plugin release package. Codepages are available as embedded resources in SampSharp.Core via the
GameModeBuilder.UseEncodingCodePage
method. The codepage files are available in the codepages repository if you still need these files for some reason.
SampSharp.Core
- Added support for "fastnative" calls, this improves time consumed by calls to native functions by 95% (#365)
- Added support for varargs in "fastnative" calls (#260)
- Added
IGameModeClient.NativeObjectProxyFactory
- Added option
NativeMethodAttribute.ReferenceIndices
which provides the option to invoke a native with input parameters which should be passed by reference. - Added embedded codepages into the library which are available through
GameModeBuilder.UseEncodingCodePage(string pageName)
- Updated to .NET Standard 2.1
- Removed setter from
IGameModeClient.NativeLoader
- Fixed HostedGameModeClient.ServerPath not returning correct path
- Deprecated multi-process mode and native-handle related types and methods
SampSharp.Entities
- Added support for player names as command arguments (#354)
- Added timers (#326)
- Updated to .NET Standard 2.1
- Updated documentation links from SA-MP wiki to open.mp docs
- Fixed
OnDestroyComponent
not being called when the component is destroyed, but the entities remains alive (#358) - Fixed an error which could occur when event's occur with IDs of entities which don't exist, but aren't 0 (#355, #353, #352, #350)
- Fixed exception thrown when a dialog is shown with no
null
button2 text (#376) - Fixed components not being removed from global component registry when destroying an entity
SampSharp.GameMode
- Added
BasePlayer.CancelEdit
(#362) - Added
BasePlayer.SetMapIcon
andBasePlayer.RemoveMapIcon
(#364) - Added
ListDialog<T>
(#383, #395) - Updated to .NET Standard 2.1
- Updated documentation links from SA-MP wiki to open.mp docs
- Fixed
PlayerTextLabel.Text
,PlayerTextLabel.AttachedPlayer
andPlayerTextLabel.AttachedVehicle
not being set - Fixed command group help commands not being invoked in some cases (#361)
- Fixed command overloading not working in some cases (#344)
- Fixed
BasePlayer.IsNPC
not returningtrue
when the NPC has not yet connected (#346) - Fixed typo in
Server.GetWeaponName
result forWeapon.ThermalGoggles
(#380) - Fixed a problem which caused successive calls to
ShowAsync
not to show the dialog (#384, #389)
0.10.0-alpha2
SampSharp plugin
- Added coreclr detection based on
SAMPSHARP_RUNTIME
environment variable
SampSharp.Core
- Fixed HostedGameModeClient.ServerPath not returning correct path
SampSharp.Entities
- Fixed components not being removed from global component registry when destroying an entity
SampSharp.GameMode
0.10.0-alpha1
SampSharp plugin
- Added automatic coreclr and gamemode detection
- Added support for "fastnative" calls (#365)
- Added callback name to "Callback parameters count mismatch" error (#342)
- Changed hosted mode to be the default, multi-process mode can be enabled with the
use_multi_process_mode=1
server setting - Fixed a possible server crash when a callback is handled with an unexpected parameter count
- Fixed a possible server crash when calling the
CallRemoteFunction
native (#363) - Codepage files are no longer provided in the plugin release package. Codepages are available as embedded resources in SampSharp.Core via the
GameModeBuilder.UseEncodingCodePage
method. The codepage files are available in the codepages repository if you still need these files for some reason.
SampSharp.Core
- Added support for "fastnative" calls, this improves time consumed by calls to native functions by 95% (#365)
- Added support for varargs in "fastnative" calls (#260)
- Added
IGameModeClient.NativeObjectProxyFactory
- Added option
NativeMethodAttribute.ReferenceIndices
which provides the option to invoke a native with input parameters which should be passed by reference. - Added embedded codepages into the library which are available through
GameModeBuilder.UseEncodingCodePage(string pageName)
- Updated to .NET Standard 2.1
- Removed setter from
IGameModeClient.NativeLoader
- Deprecated multi-process mode and native-handle related types and methods
SampSharp.Entities
- Added support for player names as command arguments (#354)
- Added timers (#326)
- Updated to .NET Standard 2.1
- Updated documentation links from SA-MP wiki to open.mp docs
- Fixed
OnDestroyComponent
not being called when the component is destroyed, but the entities remains alive (#358) - Fixed an error which could occur when event's occur with IDs of entities which don't exist, but aren't 0 (#355, #353, #352, #350)
- Fixed exception thrown when a dialog is shown with no
null
button2 text (#376)
SampSharp.GameMode
- Added
BasePlayer.CancelEdit
(#362) - Added
BasePlayer.SetMapIcon
andBasePlayer.RemoveMapIcon
(#364) - Updated to .NET Standard 2.1
- Updated documentation links from SA-MP wiki to open.mp docs
- Fixed
PlayerTextLabel.Text
,PlayerTextLabel.AttachedPlayer
andPlayerTextLabel.AttachedVehicle
not being set - Fixed command group help commands not being invoked in some cases (#361)
- Fixed command overloading not working in some cases (#344)
- Fixed
BasePlayer.IsNPC
not returningtrue
when the NPC has not yet connected (#346) - Fixed typo in
Server.GetWeaponName
result forWeapon.ThermalGoggles
(#380) - Fixed a problem which caused successive calls to
ShowAsync
not to show the dialog (#384, #389)
0.9.3
SampSharp.Entities
- Fixed player- textdraws, labels and objects not working as intended
note: no changes were made to the SampSharp plugin for 0.9.3
0.9.2
0.9.1
SampSharp.Core
- Fixed GMX startup behaviour not reconnecting to the SA-MP server properly
note: I forgot to update the version number printed to the console when you start your game mode, this will still say 0.9.0
SampSharp.GameMode
- Removed unused
PlayerDisconnectReason
enum in favour ofDisconnectReason
enum (#330)
SampSharp.Entities
- Added code annotations
- Fixed server freezing when destroying an entity after destroying its components in a specific order
- Fixed command being called with component not in entity would cause the command not te be called but still succeed (#331)
- Removed unused
PlayerDisconnectReason
enum in favour ofDisconnectReason
enum (#330)
note: no changes were made to the SampSharp plugin for 0.9.1
0.9.0
SampSharp plugin
- Updated sampgdk to 4.6.2
- Changed maximum native arguments to 64
- Fixed server in multi-process run mode freezing when calling native which calls a callback which calls a native
- Fixed intermission script getting stuck between runs
SampSharp.Core
- Added
IGameModeClient.RegisterCallback
overloads which allows the arguments of the callback to be provided as anobject[]
to the specified method - Added option to specify the index at which the identifier arguments are located within natives of native objects
- Added notice to multi-process run mode: "for development purposes only", use hosted hosted mode for production environments
- Added callback name to the
IGameModeClient.UnhandledException
event - Added unhandled exception handling in hosted mode
- Added unhandled exception handling in multi-process mode for ticks and synchronisations
- Added
IfHosted
andIfMultiProcess
methods toGameModeBuilder
- Updated minimum .NET Standard version to 2.0
- Improved shutdown behaviour of multi-process run mode
- Improved number of memory allocations during handling of callbacks and native calls in hosted run mode
- Changed hosted mode to not automatically redirect console output to the server_log.txt, use
GameModeBuilder.RedirectConsoleOutput()
to reenable logging to the server log - Removed
GameModeBuilder.BuildWith
- Fixed
GameModeBuilder.RedirectConsoleOutput
causing errors during startup in multi-process mode - Fixed garbage strings being returned when no string is set to out string parameters (#323)
SampSharp.GameMode
- Added
Vector3.XY
which returns aVector2
with the x and y components (#299/#300) - Added
Color.Brightness
property (#309) - Added
Color.AddGrammaCorrection
,Color.RemoveGammaCorrection
,Color.Grayscale
methods (#309) - Added
blendAlpha
option toColor.Lerp
,Color.Darken
andColor.Lighten
(#305/#310) - Added
Timer.Run
andTimer.RunOnce
overloads with anint
ordouble
internal in miliseconds. (#315) - Added
BasePlayer.PickUpPickup
event (#319) - Added
BasePlayer.CameraTargetPlayerObject
(#320) - Added
BasePlayer.SurfingPlayerObject
(#324) - Added
Server.GetServerTickRate
(#295) - Added automatic detection for command and command group names (#273)
- Added command parameter attribute
NullableParam
to indicate aBasePlayer
orBaseVehicle
argument is allowed to be null, enum values can be marked as nullable by using nullable enums likeVehicleModelType?
(#268/#290) - Added
Server.GetWeaponName
(#311) - Added
CommandAttribute.IsGroupHelp
, if this value is true, the command will run if the command group is entered by the player without a specified command in the command group - breaking Added
PlayerCancelClickTextDraw
event which is called when player presses ESC while selecting textdraws,PlayerClickTextDraw
is no longer called when ESC is pressed (#304/#321) - Updated
VehicleModelInfo
to include seat count and a missing entry for ID 611, Utility Trailer (#302) - Updated minimum .NET Standard version to 2.0
- breaking Changed
BasePlayer.CameraTargetObject
toBasePlayer.CameraTargetGlobalObject
(#320) - breaking Changed
BasePlayer.SurfingObject
toBasePlayer.SurfingGlobalObject
(#324) - breaking Changed
BaseMode.PlayerPickUp
event to have event arguments of typePickUpPickupEventArgs
and changed the sender of event from the pickup to the player (#319) - breaking Changed
Pickup.PickUp
event to have event arguments of typePickUpPickupEventArgs
(#319) - Fixed
Quaternion
coordinate system not matching SA-MP coordinate system - Fixed
Edited
andSelected
onGlobalObject
andPlayerObject
not being fired (#303/#306) - Fixed
Color.FromInteger
withColorFormat.RGB
returning a value with 0 alpha - Fixed conversion from
Color
toVector3
not returning decimal values - Fixed enum numeric values not being recognized as an command argument if an enum value name contains the numeric value (#274)
- breaking Removed
ObjectModel
enum because it was too big and might not be complete
SampSharp.Entities
- Initial version
0.8.0
SampSharp.Core
- Initial version
SampSharp.GameMode
- Initial .NET Core version
- Added
Weapon.Suicide
definition - Added
Color(byte, byte, byte, float)
constructor - Added ExplosionType enum (#234)
- Added netstat properties to the
BasePlayer
class (#238) - Added
VehicleColor
enum andColor.FromVehicleColor
(#270) - Added support for
BaseVehicle
or derived types in command parameters (#276) - Added
MapIcon
enum (#206/#288) - Added
ObjectModel
enum andPickupType
enum (#291) - Changed Dialog.ShowAsync to throw
PlayerDisconnectedException
instead ofTaskCancelledException
- Fixed
Dialog.Hide
not working (#212) - Fixed
BaseVehicle.CreateStatic(VehicleModelType, Vector3, float, int, int)
overload not creating static vehicle - Fixed
OnPlayerEnterCheckpoint
callback not being processed
0.8.0-alpha10
SampSharp.Core
- Added
IGameModeClient.ServerPath
(#292) - Improved state resetting with intermission script
- Increased native argument buffer size from 32 to 128 (#279)
- Fixed missing framework log messages
- Fixed "Duplicate typename within an assembly" exception being thrown in some cases when loading a gamemode when players are already connect (#258)
- Fixed crash which occurs when using running gmx in non-hosted mode (#280)