Releases: ikkentim/SampSharp
Releases · ikkentim/SampSharp
0.11.1
0.11.0
SampSharp plugin
- Added interop API (#399, #401)
- Added non-standard implementation of reading open.mp config.json
- Removed callback registration (#399, #401)
- Removed multi-process mode
SampSharp.Core
- Added
TaskHelper.SwitchToMainThread(#402) - Improved performance of callbacks by 25%-30% (#399, #401)
- Minor improvement of natives performance
- Fixed encoding of strings in callback arguments ignoring game mode builder configuration
- Removed multi-process mode
SampSharp.Entities
- Added
AddComponentmethod that takes an instance as parameter (#427) - Fixed issues related to open dialogs when a player disconnects (#434)
- Fixed an issue where player entity may stay alive when an exception is thrown in
OnPlayerDisconnectevent - Fixed an issue where an error may occur when
OnDialogResponseis called without an active dialog (#443)
SampSharp.GameMode
- Added
VehicleModelInfo.VehicleModelInfo - Fixed missing Flatbed in
VehicleModelInfo(#407)
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_RUNTIMEenvironment variable - Changed hosted mode to be the default, multi-process mode can be enabled with the
use_multi_process_mode=1server setting - Fixed a possible server crash when a callback is handled with an unexpected parameter count
- Fixed a possible server crash when calling the
CallRemoveFunctionnative (#363) - Codepage files are no longer provided in the plugin release package. Codepages are available as embedded resources in SampSharp.Core via the
GameModeBuilder.UseEncodingCodePagemethod. 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.ReferenceIndiceswhich 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
OnDestroyComponentnot 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
nullbutton2 text (#376) - Fixed components not being removed from global component registry when destroying an entity
SampSharp.GameMode
- Added
BasePlayer.CancelEdit(#362) - Added
BasePlayer.SetMapIconandBasePlayer.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.AttachedPlayerandPlayerTextLabel.AttachedVehiclenot 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.IsNPCnot returningtruewhen the NPC has not yet connected (#346) - Fixed typo in
Server.GetWeaponNameresult forWeapon.ThermalGoggles(#380) - Fixed a problem which caused successive calls to
ShowAsyncnot to show the dialog (#384, #389)
0.10.0-alpha2
SampSharp plugin
- Added coreclr detection based on
SAMPSHARP_RUNTIMEenvironment 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=1server setting - Fixed a possible server crash when a callback is handled with an unexpected parameter count
- Fixed a possible server crash when calling the
CallRemoteFunctionnative (#363) - Codepage files are no longer provided in the plugin release package. Codepages are available as embedded resources in SampSharp.Core via the
GameModeBuilder.UseEncodingCodePagemethod. 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.ReferenceIndiceswhich 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
OnDestroyComponentnot 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
nullbutton2 text (#376)
SampSharp.GameMode
- Added
BasePlayer.CancelEdit(#362) - Added
BasePlayer.SetMapIconandBasePlayer.RemoveMapIcon(#364) - Updated to .NET Standard 2.1
- Updated documentation links from SA-MP wiki to open.mp docs
- Fixed
PlayerTextLabel.Text,PlayerTextLabel.AttachedPlayerandPlayerTextLabel.AttachedVehiclenot 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.IsNPCnot returningtruewhen the NPC has not yet connected (#346) - Fixed typo in
Server.GetWeaponNameresult forWeapon.ThermalGoggles(#380) - Fixed a problem which caused successive calls to
ShowAsyncnot 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
PlayerDisconnectReasonenum in favour ofDisconnectReasonenum (#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
PlayerDisconnectReasonenum in favour ofDisconnectReasonenum (#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.RegisterCallbackoverloads 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.UnhandledExceptionevent - Added unhandled exception handling in hosted mode
- Added unhandled exception handling in multi-process mode for ticks and synchronisations
- Added
IfHostedandIfMultiProcessmethods 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.RedirectConsoleOutputcausing 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.XYwhich returns aVector2with the x and y components (#299/#300) - Added
Color.Brightnessproperty (#309) - Added
Color.AddGrammaCorrection,Color.RemoveGammaCorrection,Color.Grayscalemethods (#309) - Added
blendAlphaoption toColor.Lerp,Color.DarkenandColor.Lighten(#305/#310) - Added
Timer.RunandTimer.RunOnceoverloads with anintordoubleinternal in miliseconds. (#315) - Added
BasePlayer.PickUpPickupevent (#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
NullableParamto indicate aBasePlayerorBaseVehicleargument 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
PlayerCancelClickTextDrawevent which is called when player presses ESC while selecting textdraws,PlayerClickTextDrawis no longer called when ESC is pressed (#304/#321) - Updated
VehicleModelInfoto include seat count and a missing entry for ID 611, Utility Trailer (#302) - Updated minimum .NET Standard version to 2.0
- breaking Changed
BasePlayer.CameraTargetObjecttoBasePlayer.CameraTargetGlobalObject(#320) - breaking Changed
BasePlayer.SurfingObjecttoBasePlayer.SurfingGlobalObject(#324) - breaking Changed
BaseMode.PlayerPickUpevent to have event arguments of typePickUpPickupEventArgsand changed the sender of event from the pickup to the player (#319) - breaking Changed
Pickup.PickUpevent to have event arguments of typePickUpPickupEventArgs(#319) - Fixed
Quaternioncoordinate system not matching SA-MP coordinate system - Fixed
EditedandSelectedonGlobalObjectandPlayerObjectnot being fired (#303/#306) - Fixed
Color.FromIntegerwithColorFormat.RGBreturning a value with 0 alpha - Fixed conversion from
ColortoVector3not 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
ObjectModelenum because it was too big and might not be complete
SampSharp.Entities
- Initial version