Module-Handles
property Module.UpdateUrl:String;
Description
Url from which to update the plugin. Begins with a prefix specifing the protocoll.
Currently the only valid protocol is bwl.
Example "bwl:http://www.example.com/chaos/samplepluginupdate"
Specification:
- May be read in mainthread
- May be written in Chl1_Load
Plugin-Handles
property Plugin.Name:String;
Name of the plugin
May be read in mainthread
May be written during plugin creation
property Plugin.Author:String;
Name of the plugin author
Defaults to VersionInfo.Company
May be read in mainthread
May be written during plugin creation
property Plugin.Description:String;
Description of the plugin
Defaults to VersionInfo.Description
May be read in mainthread
May be written during plugin creation
property BanRisk:integer;
Estimated banrisk of the plugin
Defaults to brUnknown
May be read in mainthread
May be written during plugin creation
Valid values:
brUnknown = 0;//No Information available
brNone = 1;//No interaction with the game
brLow = 2;//No injection, no codechanges
brMedium = 3;//Injection, but no codechanges to game code
brHigh = 4;//Changes to game code
property IndependentModule:boolean;
Does the plugin continues working after launcher terminates?
This is the case for some plugins which are injected and don't require the launcher process anymore.
Defaults to false
May be read in mainthread
May be written during plugin creation
property NeedsInjection:boolean;
Should the launcher inject the plugin into the game process?
Be careful to adjust the BanRisk property.
Defaults to false
May be read in mainthread
May be written during plugin creation
property AllowLateActivation:boolean;
Allow late execution when the game already runs/is no longer suspenden.
Is required if the launcher attaches itself to an already running game
Defaults to true
May be read in mainthread
May be written during plugin creation
property NonHooking:boolean;
Hooks no the game functions
Be careful in conjunction with RegisterCallback, as that can add hooks too
Be careful to adjust the BanRisk property.
Defaults to true
May be read in mainthread
May be written during plugin creation
property GivesAdvantage:boolean;
For plugins like BWCoach
Makes the plugin incompatible with most ladders
Defaults to false
May be read in mainthread
May be written during plugin creation
property OnConfig:Event;
Called when the user presses the Config button
The config button is disabled if OnConfig=nil
procedure Config(UserData:pointer);stdcall;
stdcall void Config(void* UserData);
Executed in mainthread
Defaults to nil
May be read in mainthread
May be written during plugin creation
property OnIsCompatible:Event;
function which checks if the plugin is compatible with a certain gameversion
procedure IsCompatible(UserData:pointer;var Compatibility:TCompatibility);stdcall;
stdcall void IsCompatible(void* UserData;TCompatibility* Compatibility);
Executed in mainthread
Required for all plugins
May be read in mainthread
May be written during plugin creation
property OnStart:Event;
Called after the game process is created
Called in the launcher process
Check Game.Resumed to check if the game is still suspended or already resumed
Call OpenSysHandle(GameHandle,'ProcessHandle',hProcess) to get a process handle to the game
It is your responsability to close it again with CloseHandle(hProcess)
procedure Start(UserData:pointer);stdcall;
stdcall void Start(void* UserData);
Executed in mainthread
Defaults to nil
May be read in mainthread
May be written during plugin creation
property OnStop:Event;
Called after the game process terminates
Called in the launcher process
procedure Stop(UserData:pointer);stdcall;
stdcall void Stop(void* UserData);
Executed in mainthread
Defaults to nil
May be read in mainthread
May be written during plugin creation