Quote Originally Posted by 'JamieW',index.php?page=Thread&postID=216353#post2 16353
One quick note I'd like to add:

Looking at the website, it seems to be pretty game-generic, however with the GCP add-on for WOW, and the examples given for WOW, it lends me to believe that its only really been tested thoroughly for use with WOW.

I multi-box LOTRO, I used to multi-box DAOC... there are smaller communities of multi-boxers for these non-WOW games and more (EQ1, EQ2, etc.). They don't tend to allow the same kind of add-on/mod support that WOW does, so before getting involved in any product, it's nice to know what will be and won't be available features, and whether it even works with the product. A listing on your website, or a 7-day trial would be a very nice thing to have for people to make sure that it works on THEIR hardware configuration with THEIR prefered MMO.
Wow has been the game that we've done most of our testing on. The entire interface to the game is via the game definition file. Clearly the in game displays would not be available, but most of the other functionality would be. We're actually looking for people to work with from other games, as we're all WoW players.

** WARNING - The following is not for the faint hearted **, but geeks may carry on ...
This is not intended to be easily understood, but should illustrate how flexible GCP is.
Please note this lot is a one time game configuration thing. Normal users never need to be involved

For anyone who's interested, this is an excerpt from our game definition file:

; Format of each line is <Prefix>|<Content>|<Suffix>|<Test>|<TESTONLY>
; Prefix - Included before content
; Suffix - Included after content
; Content - Can be O=Options,T=Target,S=Source
; Test - How to decide whether to include this element. Can be EXISTS, LIST, NOTLIST
; LIST tests options to see if there are more than one (separated by comma)
; TESTONLY - if this is included, will test the content, but not add it (include literals conditionaly)

Command=CAST
<<|S|>>;|Exists
Macro /cast |O||NOTLIST|TESTONLY
MultiSpell |O||LIST|TESTONLY
[target=|T|] |Exists
|O|;|


This provides the input definition a command (i.e. what you type). It's a little cryptic but not too bad once you get the hang of it.
The general syntax for a game command is:
[Command] [Options] On [Target] From [Source]

The above says:
If [command] is cast
if source is specified, prefix it with "<<" and postfix it with ">>;" - the semi colon is a line break in the output.
the next line is included only if [options] is not a list (comma separated), and generates the text "Macro /Cast" - test only says test the options, but don't output them
the next line generates a multi option version (e.g. cast x,y,z) would trigger this.
the next line includes the [target] if specified, prefixed by "[target=" and postfixed by "] "
the next line includes the options, suffixed by ";"

So an input of Cast X On Y From Z would generate the code:
<<Z>>
Macro /cast [target=y] X


An excerpt from the output section (what GCP sends to the game):

Command=Macro
InternalText=Hit %InternalKey%
GameText=@macro %Externalkey%,%CommandText%@

When GCP encounters the macro command (as used in the above) it will generate 2 code elements. One will be run locally (within GCP) and the other is the stuff which is sent to the game. InternalKey and ExternalKey are generated by the program, and commandtext is the text generated by the input rule.
Gametext is sent to the game when we upload, and is a command as the GCP addon expects to see it, and instructs it to create a macro and bind a key.
The internaltext is executed within GCP and, in this case, hits a key.

If this makes sense to anyone, and you are interested in helping is move GCP to other games, then let us know.