Difference between revisions of "Category:PlugIn Development"

From Spesoft/GameEx Wiki
Jump to navigation Jump to search
 
(83 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Plugin Development Overview==
{{New Page}}
GameEx and PinballX feature a very robust PlugIn system which accepts [http://msdn.microsoft.com/en-us/library/aa712050(v=vs.71).aspx VB.NET] and [http://msdn.microsoft.com/en-us/library/ms228593.aspx C#] natively, so you can control many additional aspects of your build that are normally inaccessable without use of messy batch files or complicated AHK scripts. Currently, there are several PlugIns available from the respective program's PlugIn Manager interface that come pre-installed with the programs, and additional PlugIns can be downloaded from the [http://www.gameex.info/forums/files Community Download Portal]. Many new features are actively developed by members of the community, thanks to this open source template available within the GameEx and PinballX installs respectively.
<br />
[[File:Plugins_Dir.jpg|frame|GameEx Plugins Directory]]
GameEx and PinballX feature a very robust PlugIn system which accepts [http://msdn.microsoft.com/en-us/library/aa712050(v=vs.71).aspx VB.NET] and [http://msdn.microsoft.com/en-us/library/ms228593.aspx C#] natively, so you can control many additional aspects of your build that are normally inaccessable without use of messy batch files or complicated AHK scripts. Currently, there are several PlugIns available from the respective program's PlugIn Manager interface that come pre-installed with both GameEx and PinballX, and additional PlugIns can be downloaded from the [http://www.gameex.info/forums/files Community Download Portal]. Many new features are actively developed by members of the community, thanks to this open source template for Tom's Speak Game Name PlugIn, which are located in a zip within the GameEx and PinballX PLUGINS subfolder in the program's root directory.<br /><br />


== <span class="plugin_headline_text">PlugIn Development Overview</span> ==
In the following section, you will find documentation on the functions that are exposed through GameEx's and PinballX's PlugIn systems, and some code that demonstrates their useage in both [http://msdn.microsoft.com/en-us/library/aa712050(v=vs.71).aspx VB.NET] and [http://msdn.microsoft.com/en-us/library/ms228593.aspx C#]. You will also find variable and enum documentation, as well as links to [http://www.gameex.info/wiki/index.php/Category:PlugIn_Development#Visual_Studio_2010_Plugin_Templates_.26_Development_Tools templates and development tools] that you can use to quickly start creating your own PlugIns.
In the following section, you will find documentation on the functions that are exposed through GameEx's and PinballX's PlugIn systems, and some code that demonstrates their useage in both [http://msdn.microsoft.com/en-us/library/aa712050(v=vs.71).aspx VB.NET] and [http://msdn.microsoft.com/en-us/library/ms228593.aspx C#]. You will also find variable and enum documentation, as well as links to [http://www.gameex.info/wiki/index.php/Category:PlugIn_Development#Visual_Studio_2010_Plugin_Templates_.26_Development_Tools templates and development tools] that you can use to quickly start creating your own PlugIns.
 
<br />
If you have any questions, the development team is very good about helping would-be developers get familiar with the ins and outs of the system in [http://www.gameex.info our community forums].
If you have any questions, the development team is very good about helping would-be developers get familiar with the ins and outs of the system in [http://www.gameex.info our community forums].
<br /><br />
<br /><br />
<span style="color:darkred;"><b>PLEASE NOTE:</b> ''The plugin system requires all dlls be compiled for an x86 target environment and built on .NET Framework 2.0''</span>
<div class="note_block_red"><b>PLEASE NOTE:</b> ''The plugin system requires all DLLs be compiled for an x86 target environment and built on [http://msdn.microsoft.com/en-us/library/t357fb32(v=vs.90).aspx .NET Framework 2.0] to function properly!''</div>
<br />


==GameEx Plugin Functions==
== <span class="plugin_headline_text">GameEx: PlugIn Functions</span> ==
<p>Below is a list of exposed functions you can use to manipulate GameEx using the PlugIn interface:</p>
<p>Below is a list of exposed functions you can use to manipulate GameEx using the PlugIn interface:</p>
<div style="border-style:solid; border-color:darkgreen; background-color:#F0FFF0; border-width:1px; padding:5px 5px;">'''<span style="font-size:110%; color:darkgreen;">PlugIn Data Structures</span>'''
=== <span class="plugin_text_fx"> &bull; PlugIn Data Structures & Enumerations &bull; </span> ===
*[[PlugIn_Development:GameEx_Version_Info|GameEx Info (Structure)]]
<div class="plugin_contents_box">
*[[PlugIn_Development:GameEx_PlugIn Info|PlugIn Info (Structure)]]
<table width="100%" style="border-style:collapse; table-layout: fixed;">
*[[PlugIn_Development:GameEx_PlugIn_Type|PlugIn Type (Enum)]]</div>
<tr align="center" valign="middle">
<td>&bull; [[PlugIn_Development:GameEx_Version_Info|GameEx Info (Structure)]]</td>
<td>&bull; [[PlugIn_Development:GameEx_PlugIn Info|PlugIn Info (Structure)]]</td>
<td>&bull; [[PlugIn_Development:GameEx_PlugIn_Type|PlugIn Type (Enum)]]</td>
</tr>
<tr align="center" valign="middle">
<td>&bull; [[PlugIn_Development:GameEx_MAME_Update|MAME List Update Type (Enum)]]</td>
<td>&bull; [[PlugIn_Development:GameEx_MCE_Remote_Key|MCE Remote Key (Enum)]]</td>
<td></td>
</tr>
</table></div>
 
=== <span class="plugin_text_fx"> &bull; Main Plugin Functions &bull; </span> ===
<div class="plugin_contents_box">
<table style="border-style:collapse; width:100%; table-layout: fixed;">
<tr align="center" valign="middle">
<td>&bull; [[PlugIn_Development:GameEx_Initialize_Function|Initialize Plugin]]</td>
<td>&bull; [[PlugIn_Development:GameEx_Configure_Function|Configure Plugin]]</td>
<td></td>
</tr>
</table></div>
 
=== <span class="plugin_text_fx"> &bull; Input Events &bull; </span> ===
<div class="plugin_contents_box">
<table width="100%" style="border-style:collapse; table-layout: fixed;">
<tr align="center" valign="middle">
<td>&bull; [[PlugIn_Development:GameEx_Input_Joystick_Function|Input Joystick]]</td>
<td>&bull; [[PlugIn_Development:GameEx_Input_Keyboard_Function|Input Keyboard]]</td>
<td>&bull; [[PlugIn_Development:GameEx_Input_MCE Remote_Function|Input MCE Remote]]</td>
</tr>
</table></div>
 
=== <span class="plugin_text_fx"> &bull; Application Events &bull; </span> ===
<div class="plugin_contents_box">
<table width="100%" style="border-style:collapse; table-layout: fixed;">
<tr align="center" valign="middle">
<td>&bull; [[PlugIn_Development:GameEx_Event_App_Exit_Function|App Exit]]</td>
<td>&bull; [[PlugIn_Development:GameEx_Event_CommandLine_Function|Command Line]]</td>
<td>&bull; [[PlugIn_Development:GameEx_MAME_List_Update_Function|MAME List Update]]</td>
</tr>
<tr align="center" valign="middle">
<td>&bull; [[PlugIn_Development:GameEx_Event_Emulator_Load_Function|Emulator Load]]</td>
<td>&bull; [[PlugIn_Development:GameEx_Event_Favorites_Function|Favorites]]</td>
</tr>
</table></div>
<br />
<br />
<div style="border-style:solid; border-color:darkgreen; background-color:#F0FFF0; border-width:1px; padding:5px 5px;">'''<span style="font-size:110%; color:darkgreen;">Main Plugin Functions</span>'''
 
*[[PlugIn_Development:GameEx_Initialize_Function|Initialize Plugin]]
== <span class="plugin_headline_text">PinballX: PlugIn Functions</span> ==
*[[PlugIn_Development:GameEx_Configure_Function|Configure Plugin]]</div>
Nothing yet!
<br />
<div style="border-style:solid; border-color:darkgreen; background-color:#F0FFF0; border-width:1px; padding:5px 5px;">'''<span style="font-size:110%; color:darkgreen;">Input Events</span>'''
*[[PlugIn_Development:GameEx_Input_Joystick_Function|Input Joystick]]
*[[PlugIn_Development:GameEx_Input_Keyboard_Function|Input Keyboard]]
*[[PlugIn_Development:GameEx_Input_MCE Remote_Function|Input MCE Remote]]</div>
<br />
<div style="border-style:solid; border-color:darkgreen; background-color:#F0FFF0; border-width:1px; padding:5px 5px;">'''<span style="font-size:110%; color:darkgreen;">Application Events</span>'''
*[[PlugIn_Development:GameEx_Event_App_Exit_Function|App Exit Event]]
*[[PlugIn_Development:GameEx_Event_CommandLine_Function|CommandLine Event]]</div>
<br />
<br />


==PinballX Plugin Functions==
== <span class="plugin_headline_text">PlugIn Download Links</span> ==
Nothing yet!
&diams; [http://www.gameex.info/forums/files/category/8-plugins GameEx: PlugIn Downloads]<br />
&diams; [http://www.gameex.info/forums/files/category/21-apps-config-map-files-plugins PinballX: PlugIn Downloads]<br />
&diams; [http://www.gameex.info/forums/forum/22-user-projects GameEx User Project Forum]<br />
&diams; [http://www.gameex.info/forums/forum/33-user-projects PinballX User Project Forum]<br />


==Plugin Download Links==
== <span class="plugin_headline_text">PlugIn Templates & Development Tools</span> ==
[http://www.gameex.info/forums/files/category/8-plugins GameEx Plugin Downloads]<br />
=== <span class="plugin_text_fx">GameEx</span> ===
[http://www.gameex.info/forums/files/category/21-apps-config-map-files-plugins PinballX Plugin Downloads]<br />
&diams; [http://www.gameex.info/forums/topic/11391-plugin-development-visual-basic-2010-project-template Visual Studio 2010 VB.NET GameEx PlugIn Snap-In Template]<br />
[http://www.gameex.info/forums/forum/22-user-projects GameEx User Project Forum]<br />
&diams; [http://www.gameex.info/forums/topic/11412-plugin-development-function-logger GameEx Function Logger PlugIn]<br />
[http://www.gameex.info/forums/forum/33-user-projects PinballX User Project Forum]<br />


==Plugin Templates & Development Tools==
=== <span class="plugin_text_fx">PinballX</span> ===
[http://www.gameex.info/forums/topic/11391-plugin-development-visual-basic-2010-project-template Visual Studio 2010 VB.NET GameEx Plugin Snap-In Template]<br />
&diams; [http://www.gameex.info/forums/topic/13158-plugin-development-vbnet-pinballx-snap-in-plugin-template Visual Studio 2010 VB.NET PinballX PlugIn Snap-In Template]<br />
[http://www.gameex.info/forums/topic/13158-plugin-development-vbnet-pinballx-snap-in-plugin-template Visual Studio 2010 VB.NET PinballX Plugin Snap-In Template]<br />
&diams; [http://www.gameex.info/forums/topic/13008-plugin-function-logger-pinballx-edition PinballX Function Logger PlugIn]<br />
[http://www.gameex.info/forums/topic/11412-plugin-development-function-logger GameEx Function Logger Plugin]<br />
[http://www.gameex.info/forums/topic/13008-plugin-function-logger-pinballx-edition PinballX Function Logger Plugin]<br />


[[Category:Index]]
[[Category:GameEx]]
[[Category:GameEx]]
[[Category:PinballX]]
[[Category:PinballX]]
[[Category:Plugin Development]]
[[Category:Plugin_Development]]

Latest revision as of 22:49, 30 April 2014

caption This article was just created and is considered to be a work in progress. More editing may be required in order to meet standard guidelines for quality submission. Please do not immediately mark this article for deletion, but please do periodically monitor progress being made on this article and/or contact the creator to ascertain their plans. If the creator has abandoned work on this page and is not responding to communication, you may consider marking this article for deletion or removing all existing category tags and adding it to the Draft Submissions category for collaborative improvement (i.e. you would add [[Category:Draft Submissions]] to the bottom of the page).


GameEx Plugins Directory

GameEx and PinballX feature a very robust PlugIn system which accepts VB.NET and C# natively, so you can control many additional aspects of your build that are normally inaccessable without use of messy batch files or complicated AHK scripts. Currently, there are several PlugIns available from the respective program's PlugIn Manager interface that come pre-installed with both GameEx and PinballX, and additional PlugIns can be downloaded from the Community Download Portal. Many new features are actively developed by members of the community, thanks to this open source template for Tom's Speak Game Name PlugIn, which are located in a zip within the GameEx and PinballX PLUGINS subfolder in the program's root directory.

PlugIn Development Overview

In the following section, you will find documentation on the functions that are exposed through GameEx's and PinballX's PlugIn systems, and some code that demonstrates their useage in both VB.NET and C#. You will also find variable and enum documentation, as well as links to templates and development tools that you can use to quickly start creating your own PlugIns.
If you have any questions, the development team is very good about helping would-be developers get familiar with the ins and outs of the system in our community forums.

PLEASE NOTE: The plugin system requires all DLLs be compiled for an x86 target environment and built on .NET Framework 2.0 to function properly!


GameEx: PlugIn Functions

Below is a list of exposed functions you can use to manipulate GameEx using the PlugIn interface:

• PlugIn Data Structures & Enumerations •

• Main Plugin Functions •

• Input Events •

• Application Events •


PinballX: PlugIn Functions

Nothing yet!

PlugIn Download Links

GameEx: PlugIn Downloads
PinballX: PlugIn Downloads
GameEx User Project Forum
PinballX User Project Forum

PlugIn Templates & Development Tools

GameEx

Visual Studio 2010 VB.NET GameEx PlugIn Snap-In Template
GameEx Function Logger PlugIn

PinballX

Visual Studio 2010 VB.NET PinballX PlugIn Snap-In Template
PinballX Function Logger PlugIn