aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/SDK/UPartyDefs.pas
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/SDK/UPartyDefs.pas')
-rw-r--r--plugins/SDK/UPartyDefs.pas189
1 files changed, 0 insertions, 189 deletions
diff --git a/plugins/SDK/UPartyDefs.pas b/plugins/SDK/UPartyDefs.pas
deleted file mode 100644
index 09f97812..00000000
--- a/plugins/SDK/UPartyDefs.pas
+++ /dev/null
@@ -1,189 +0,0 @@
-unit UPartyDefs;
-{*********************
- uPluginDefs
- Some Basic Structures and Functions used to communicate with Plugins
- Usable as Delphi Plugin SDK
-*********************}
-
-interface
-
-{$IFDEF FPC}
- {$MODE Delphi}
-{$ENDIF}
-
-{$I switches.inc}
-
-uses UPluginDefs;
-
-type
- //----------------
- // TUS_Party_Proc_Init - Structure of the Party Init Proc
- // This Function is called on SingScreen Init Everytime this Modi should be sung
- // Return Non Zero to Abort Party Modi Loading... In this Case another Plugin will be loaded
- //----------------
- TUS_Party_Proc_Init = Function (ID: Integer): integer; stdcall;
-
- //----------------
- // TUS_Party_Proc_Draw - Structure of the Party Draw Proc
- // This Function is called on SingScreen Draw (Not when Paused). You should draw in this Proc
- // Return Non Zero to Finish Song... In this Case Score Screen is loaded
- //----------------
- TUS_Party_Proc_Draw = Function (ID: Integer): integer; stdcall;
-
- //----------------
- // TUS_Party_Proc_DeInit - Structure of the Party DeInit Proc
- // This Function is called on SingScreen DeInit When Plugin abort Song or Song finishes
- // Return Winner
- //----------------
- TUS_Party_Proc_DeInit = Function (ID: Integer): integer; stdcall;
-
- //----------------
- // TUS_ModiInfo - Some Infos from Plugin to Partymode.
- // Used to register party modi to Party manager
- // ---
- // Version Structure:
- // First Byte: Head Revison
- // Second Byte: Sub Revison
- // Third Byte: Sub Revision 2
- // Fourth Byte: Letter (For Bug Fix releases. 0 or 'a' .. 'z')
- //----------------
- TModiInfo_Name = Array [0..31] of Char;
- TModiInfo_Desc = Array [0..63] of Char;
-
- PUS_ModiInfo = ^TUS_ModiInfo;
- TUS_ModiInfo = record
- //Size of this record (usefull if record will be extended in the future)
- cbSize: Integer; //Don't forget to set this as Plugin!
-
- //Infos about the Modi
- Name : TModiInfo_Name; //Modiname to Register for the Plugin
- Description: TModiInfo_Desc; //Plugin Description
-
- //------------
- // Loading Settings
- // ---
- // Bit to Set | Triggered Option
- // 1 | Song should be loaded
- // 2 | Song has to be Non Duett
- // 4 | Song has to be Duett (If 2 and 4 is set, both will be ignored)
- // 8 | Only Playable with 2 and more players
- // 16 | Restrict Background Loading
- // 32 | Restrict Video Loading
- // 64 | Increase TimesPlayed for Cur. Player
- // 128 | Not in Use, Don't set it!
- LoadingSettings: Byte;
-
- // SingScreen Settings
- // ---
- // Bit to Set | Triggered Option
- // 1 | ShowNotes
- // 2 | ShowScores
- // 4 | ShowTime
- // 8 | Start Audio Playback automaticaly
- // 16 | Not in Use, Don't set it!
- // 32 | Not in Use, Don't set it!
- // 64 | Not in Use, Don't set it!
- // 128 | Not in Use, Don't set it!
- SingScreenSettings: Byte;
-
- // With which count of players can this modi be played
- // ---
- //Set different Bits
- //1 -> One Player
- //2 -> Two Players
- //4 -> Three Players
- //8 -> Four Players
- //16-> Six Players
- //e.g. : 10 -> Playable with 2 and 4 Players
- NumPlayers: Byte;
-
- // ID that is given to the Party Procs when they are called
- // If this Modi is running
- // (e.g. to register Until 2000 and Until 5000 with the same Procs
- // ID is the Max Point Count in this example)
- ID: Integer;
-
- // Party Procs called on Party
- // ---
- // Set to nil(C: NULL) if u don't want to use this method
- ModiInit: TUS_Party_Proc_Init;
- ModiDraw: TUS_Party_Proc_Draw;
- ModiDeInit: TUS_Party_Proc_DeInit;
- end;
-
- //--------------
- // Team Info Record. Used by "Party/GetTeamInfo" and "Party/SetTeamInfo"
- //--------------
- TTeamInfo = record
- NumTeams: Byte;
- Teaminfo: array[0..5] of record
- Name: PChar; //Teamname
- Score: Word; //TeamScore
- Joker: Byte; //Team Jokers available
- CurPlayer: Byte; //Id of Cur. Playing Player
- NumPlayers: Byte;
- Playerinfo: array[0..3] of record
- Name: PChar; //Playername
- TimesPlayed: Byte; //How often this Player has Sung
- end;
- end;
- end;
-
-//----------------
-// Some Default Constants
-//----------------
-const
- // to use for TUS_ModiInfo.LoadingSettings
- MLS_LoadSong = 1; //Song should be loaded
- MLS_NotDuett = 2; //Song has to be Non Duett
- MLS_ForceDuett = 4; //Song has to be Duett (If 2 and 4 is set, both will be ignored)
- MLS_TeamOnly = 8; //Only Playable with 2 and more players
- MLS_RestrictBG = 16; //Restrict Background Loading
- MLS_RestrictVid = 32; //Restrict Video Loading
- MLS_IncTP = 64; //Increase TimesPlayed for Cur. Player
-
- // to use with TUS_ModiInfo.SingScreenSettings
- MSS_ShowNotes = 1; //ShowNotes
- MSS_ShowScores = 2; //ShowScores
- MSS_ShowTime = 4; //ShowTime
- MSS_AutoPlayback= 8; //Start Audio Playback automaticaly
-
- //Standard (Duell) for TUS_ModiInfo.LoadingSettings and TUS_ModiInfo.SingScreenSettings
- MLS_Standard = MLS_LoadSong or MLS_IncTP;
- MSS_Standard = MSS_ShowNotes or MSS_ShowScores or MSS_ShowTime or MSS_AutoPlayback;
-
-//-------------
-// Some helper functions to register Party Modi
-//-------------
-Function RegisterModi(const PluginInterface: PUS_PluginInterface; const Name: TModiInfo_Name; const Description: TModiInfo_Desc; const LoadingSettings, SingScreenSettings, NumPlayers: Byte; const ID: Integer; const ModiInit: TUS_Party_Proc_Init = nil; const ModiDeInit: TUS_Party_Proc_DeInit = nil; const ModiDraw: TUS_Party_Proc_Draw = nil): THandle;
-
-
-
-implementation
-
-//-------------
-// Function that Prepares the ModiInfo Record and Calls Party/RegisterModi
-//-------------
-Function RegisterModi(const PluginInterface: PUS_PluginInterface; const Name: TModiInfo_Name; const Description: TModiInfo_Desc; const LoadingSettings, SingScreenSettings, NumPlayers: Byte; const ID: Integer; const ModiInit: TUS_Party_Proc_Init; const ModiDeInit: TUS_Party_Proc_DeInit; const ModiDraw: TUS_Party_Proc_Draw): THandle;
-var
- ModiInfo: TUS_ModiInfo;
-begin
- //Init Record
- ModiInfo.cbSize := SizeOf(TUS_ModiInfo);
-
- ModiInfo.Name := Name;
- ModiInfo.Description := Description;
- ModiInfo.LoadingSettings := LoadingSettings;
- ModiInfo.SingScreenSettings := SingScreenSettings;
- ModiInfo.NumPlayers := NumPlayers;
-
- ModiInfo.ID := ID;
- ModiInfo.ModiInit := ModiInit;
- ModiInfo.ModiDraw := ModiDraw;
- ModiInfo.ModiDeInit := ModiDeInit;
-
- //Call Service
- Result := PluginInterface.CallService('Party/RegisterModi', Integer(@ModiInfo), nil);
-end;
-
-end. \ No newline at end of file