Issuing Commands via Voice Input... Working on it... [Download Link and Video]

Let's talk about Gettysburg! Put your questions and comments here.
User avatar
RebBugler
Reactions:
Posts: 4252
Joined: Sun Aug 03, 2008 12:51 am
Location: Ouachita Mountains, Arkansas

Re: Issuing Commands via Voice Input... Working on it... [Download Link and Video]

Post by RebBugler »

MS:

Use the tilde key in-game "~" and type. I believe formations work when you have selected a regiment and type: form:FORMATION and then hit enter.

Your voice system would work much better if it tapped into the tilde key system, since most anything can be done using it (including changing the in-game weather...even in multiplayer).

NOTE: I am not saying anyone should mess around with a multiplayer game, but it should be known to the team that it is potentially possible to mess up a game that way. (I ran some test with some GCM guys a while back).
Interesting. Please explain, provide an example. Is this a way to cheat?

Edit: Looked it up and tried it out, cool. Being on the team I probably should have known about this. :blush: Still, I don't see how you could cheat since it will only control the player's units.
Last edited by RebBugler on Mon Jan 28, 2013 10:58 pm, edited 1 time in total.
Bugles & Flags Gettysburg - Toolbar, Flags, Scenarios, and More...
Hancock the Superb
Reactions:
Posts: 1436
Joined: Thu Aug 21, 2008 9:06 am

Re: Issuing Commands via Voice Input... Working on it... [Download Link and Video]

Post by Hancock the Superb »

You could say change the weather to 10 or so if you were getting beat up, and retreat under the darkness :evil:
Hancock the Superb
Michael Slaunwhite
Reactions:
Posts: 4358
Joined: Fri Jan 08, 2010 8:15 am

Re: Issuing Commands via Voice Input... Working on it... [Download Link and Video]

Post by Michael Slaunwhite »

@Little Powell
That's the problem, a lot of this stuff isn't documented anywhere. We try to be as thorough as possible in the SDK, but most of the time we are so hard at work on the releases, there isn't time to document everything the game does. Norb usually just has to go in and look in the code. ADukes is the CSV file master and he may be able to shed some light, but again, most of it will be about trial and error.
That's no problem, and I fully understand. Pretty cool finding out what does work though on your own if you want to take the time to mess around with it.

Thanks Little Powell.

@ADukes
Formations won't work in the keyboard file.
Too bad it won't. Oh well, there are a good number of commands that can be assignd a key so voice can be used.

Thanks Adukes.

@Hancock the Superb
Use the tilde key in-game "~" and type. I believe formations work when you have selected a regiment and type: form:FORMATION and then hit enter.
Now this could do the trick. All I would need is to tell voice command to execute first the Tilde, then have it enter the string for me, and then press the enter key. This just might work.

Thanks Hancock the Superb.

Addition: I did find out if you remove a portion from a form command, it will disable it for the regiment. Here is an example.
ORIGINAL: GUI_LVL6_Inf_Combat,GFX_BS_Buttons,967,655,,,,3,3,3,5,3,3,3,4,0,0,0,0,form:DRIL_Lvl6_Inf_Column,,IDS_Column,,,#formnum == 5

EDITED: GUI_LVL6_Inf_Combat,GFX_BS_Buttons,967,655,,,,3,3,3,5,3,3,3,4,0,0,0,0,,IDS_Column,,,#formnum == 5

The above edited portion will allow for a commander to issue the column order, but it will disable it for the regiment meaning the commander can give the cloumn order, but if you choose any regiment under your command, the column order is disabled.

I can't see any use for that, just interesting to know.

Thanks Everyone for your help! :)
User avatar
RebBugler
Reactions:
Posts: 4252
Joined: Sun Aug 03, 2008 12:51 am
Location: Ouachita Mountains, Arkansas

Re: Issuing Commands via Voice Input... Working on it... [Download Link and Video]

Post by RebBugler »

You could say change the weather to 10 or so if you were getting beat up, and retreat under the darkness :evil:
Yep, tested it out and it works, thanks. Like you said upfront, one can mess with the game this way, but as far as cheating, not very effective as it may save your butt, but not your score. Furthermore, it is more likely that you'll just find your butt banned from the more popular MP groups for said MESSING. :P
Bugles & Flags Gettysburg - Toolbar, Flags, Scenarios, and More...
Michael Slaunwhite
Reactions:
Posts: 4358
Joined: Fri Jan 08, 2010 8:15 am

Re: Issuing Commands via Voice Input... Working on it... [Download Link and Video]

Post by Michael Slaunwhite »

Here is a list of commands inside the GUI.csv which can be added to your Keyboard.csv, and given a key. Some of these commands are already in the Keyboard.csv as defaults. Note: There are duplicates listed because they pertain to the GUI Level. I am just going through the entire GUI.csv, and pasting them in to this post for you to see. If you see a capital A in front of the command, I think it's means All (not too sure, but that makes sense to me).

All of these can be found in your \Matrix Games\Scourge of War - Gettysburg\Work\SDK\Logistics OR old style install: NorbSoftDev\Scourge of War - Gettysburg\Work\SDK\Logistics which you can work on, and look through for what commands you may wish to add to your Keyboard.csv. NOTE: Always create a back up of any files you edit.

NOTE: All names in RED are the names you have to use in your Keyboard.csv file.

GUI_LVL6_Inf,GFX_MS_Buttons,596,654,,SFX_UI_Click,,-1,-1,0,0,-1,-1,0,0,0,0,0,0,loadscreen:InGameMenu,,IDS_Menu,,,
GUI_LVL6_Inf,GFX_MS_Buttons,624,654,,SFX_UI_Map,,-1,-1,1,0,-1,-1,1,0,0,0,0,0,loadscreen:Map,,IDS_Map,,,
GUI_LVL6_Inf,GFX_MS_Buttons,680,654,,SFX_UI_Sword,,-1,-1,3,0,-1,-1,3,0,0,0,0,0,loadscreen:OOB:-1,,IDS_Order_of_Battle,,,
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,790,655,,SFX_UI_WheelLeft,,0,0,0,2,0,0,0,1,0,0,0,0,wheelleft,,IDS_Wheel_Left,,,
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,818,655,,SFX_UI_WheelRight,,1,0,1,2,1,0,1,1,0,0,0,0,wheelright,,IDS_Wheel_Right,,,
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,846,655,,SFX_UI_WheelLeft,,2,0,2,2,2,0,2,1,0,0,0,0,mleftflank,,IDS_Left_Flank,,,
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,874,655,,SFX_UI_WheelRight,,3,0,3,2,3,0,3,1,0,0,0,0,mrightflank,,IDS_Right_Flank,,,
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,790,683,,,SFX_BU_Halt,11,0,11,2,11,0,11,1,0,0,0,0,stop,,IDS_Halt,,,#regstate == 1
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,818,683,,,SFX_BU_DoubleQuick,12,0,12,2,12,0,12,1,0,0,0,0,run,,IDS_Double_Quick_Run,,#regstate != 5,
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,818,683,,SFX_UI_RiseUp,,12,0,12,2,12,0,12,1,0,0,0,0,walk,,IDS_Normal_Speed_Walk,,#regstate == 5,#regstate == 5
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,846,683,,,SFX_BU_WheelLeft,4,0,4,2,4,0,4,1,0,0,0,0,mleftoblique,,IDS_Oblique_Left,,,
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,874,683,,,SFX_BU_WheelRight,5,0,5,2,5,0,5,1,0,0,0,0,mrightoblique,,IDS_Oblique_Right,,,
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,790,711,,SFX_UI_LieDown,,6,0,6,2,6,0,6,1,0,0,0,0,takecover,,IDS_Lie_Down,,,#regstate == 8
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,818,711,,SFX_UI_RiseUp,,7,0,7,2,7,0,7,1,0,0,0,0,takecover,,IDS_Rise_Up,,,#regstate != 8
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,846,711,,,SFX_BU_AboutFace,10,0,10,2,10,0,10,1,0,0,0,0,aboutface,,IDS_About_Face,,,
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,939,711,,,,0,6,0,8,0,6,0,7,0,0,0,0,takecommand,,IDS_Take_Charge_from_AI,,,#takecomm == 1
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,790,739,,,SFX_BU_ICharge,0,9,0,11,0,9,0,10,0,0,0,0,charge,,IDS_Charge,,#side == 1,#regstate == 6
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,818,739,,,SFX_BU_Advance,1,9,1,11,1,9,1,10,0,0,0,0,advance,,IDS_Advance,,,#regstate == 11
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,846,739,,,SFX_BU_Resupply,2,9,2,11,2,9,2,10,0,0,0,0,fallback,,IDS_Fallback,,,#regstate == 9
GUI_LVL6_Inf_Combat,GFX_BS_Buttons,874,739,,,SFX_BU_Retreat,3,9,3,11,3,9,3,10,0,0,0,0,retreat,,IDS_Retreat,,,#regstate == 10
GUI_LVL6_Inf_Move,GFX_BS_Buttons,790,655,,SFX_UI_WheelLeft,,0,0,0,2,0,0,0,1,0,0,0,0,wheelleft,,IDS_Wheel_Left,,,
GUI_LVL6_Inf_Move,GFX_BS_Buttons,818,655,,SFX_UI_WheelRight,,1,0,1,2,1,0,1,1,0,0,0,0,wheelright,,IDS_Wheel_Right,,,
GUI_LVL6_Inf_Move,GFX_BS_Buttons,846,655,,,,13,0,13,2,13,0,13,1,0,0,0,0,forcepath,marchmusic,IDS_Use_Roads,,,#useroads == 1
GUI_LVL6_Inf,GFX_Groups,905,655,,SFX_UI_Combat,,1,0,0,0,0,0,0,0,0,0,0,0,setgroup:0,,IDS_Combat,,,#groupnum == 0
GUI_LVL6_Inf,GFX_Groups,905,693,,SFX_UI_Move,,1,1,0,1,0,0,0,1,0,0,0,0,setgroup:1,,IDS_Move,,,#groupnum == 1
GUI_LVL6_Inf,GFX_Groups,905,731,,SFX_UI_Orders,,1,2,0,2,0,0,0,2,0,0,0,0,setgroup:2,,IDS_Orders,,,#groupnum == 2
GUI_LVL5_Inf_Combat,GFX_BS_Buttons,846,655,,SFX_UI_WheelLeft,,2,0,2,2,2,0,2,1,0,0,0,0,Amleftflank,,IDS_Left_Flank,,,
GUI_LVL5_Inf_Combat,GFX_BS_Buttons,874,655,,SFX_UI_WheelRight,,3,0,3,2,3,0,3,1,0,0,0,0,Amrightflank,,IDS_Right_Flank,,,
GUI_LVL5_Inf_Combat,GFX_BS_Buttons,790,683,,,SFX_BU_Halt,11,0,11,2,11,0,11,1,0,0,0,0,Astop,,IDS_Halt,,,
GUI_LVL5_Inf_Combat,GFX_BS_Buttons,818,683,,,SFX_BU_DoubleQuick,12,0,12,2,12,0,12,1,0,0,0,0,Arun,,IDS_Double_Quick_Run,,,
GUI_LVL5_Inf_Combat,GFX_BS_Buttons,846,683,,,SFX_BU_WheelLeft,4,0,4,2,4,0,4,1,0,0,0,0,Amleftoblique,,IDS_Oblique_Left,,,
GUI_LVL5_Inf_Combat,GFX_BS_Buttons,874,683,,,SFX_BU_WheelRight,5,0,5,2,5,0,5,1,0,0,0,0,Amrightoblique,,IDS_Oblique_Right,,,
GUI_LVL5_Inf_Combat,GFX_BS_Buttons,790,711,,,SFX_BU_LieDown,6,0,6,2,6,0,6,1,0,0,0,0,Aonlylaydown,,IDS_Lie_Down,,,
GUI_LVL5_Inf_Combat,GFX_BS_Buttons,818,711,,,SFX_BU_RiseUp,7,0,7,2,7,0,7,1,0,0,0,0,Aonlyriseup,,IDS_Rise_Up,,,
GUI_LVL5_Inf_Combat,GFX_BS_Buttons,846,711,,,SFX_BU_AboutFace,10,0,10,2,10,0,10,1,0,0,0,0,Aaboutface,,IDS_About_Face,,,

GUI_LVL5_Inf_Move,GFX_BS_Buttons,995,739,,,,3,6,3,8,3,6,3,7,0,0,0,0,useroad,,IDS_Leader_Use_Roads,,,#useroads == 1
GUI_LVL5_Inf_Orders,GFX_BS_Buttons,939,655,,,,9,6,9,8,9,6,9,7,0,0,0,0,attach,,IDS_Attach_Brigade,,,#attached == 1
GUI_LVL5_Inf_Orders,GFX_BS_Buttons,967,655,,SFX_UI_Click,,10,6,10,8,10,6,10,7,0,0,0,0,detach,,IDS_Detach_Brigade,,,#attached == 0
GUI_LVL5_Inf_Orders,GFX_BS_Buttons,995,655,,,SFX_BU_Resupply,13,6,13,8,13,6,13,7,0,0,0,0,Aresupply,,IDS_Re-Supply,,,
GUI_LVL5_Inf_Orders,GFX_BS_Buttons,818,683,,,,12,9,12,11,12,9,12,10,0,0,0,0,Aguard,,IDS_Select_Unit_to_Guard,,,
GUI_LVL5_Inf_Orders,GFX_BS_Buttons,939,683,,,,11,6,11,8,11,6,11,7,0,0,0,0,joinbrig,,IDS_Attach_Regiment,,,
GUI_LVL5_Inf_Orders,GFX_BS_Buttons,967,683,,SFX_UI_Click,,12,6,12,8,12,6,12,7,0,0,0,0,splitbrig:1,,IDS_Detach_Regiment,,,
GUI_LVL5_Inf_Orders,GFX_BS_Buttons,995,683,,SFX_UI_Messenger,,6,6,6,8,6,6,6,7,0,0,0,0,loadscreen:MessageLog2,,IDS_Dispatches__Sent,,,
I don't Know About These Ones
GUI_LVL5_Inf_Orders,GFX_BS_Buttons,790,711,,,,4,9,4,11,4,9,4,10,0,0,0,0,orders:blitz,,IDS_OrderBlitz,,,#ordernum == 6
GUI_LVL5_Inf_Orders,GFX_BS_Buttons,818,711,,SFX_UI_Click,,5,9,5,11,5,9,5,10,0,0,0,0,orders:attack,,IDS_OrderAttack,,,#ordernum == 5
GUI_LVL5_Inf_Orders,GFX_BS_Buttons,846,711,,SFX_UI_Click,,6,9,6,11,6,9,6,10,0,0,0,0,orders:probe,,IDS_OrderProbe,,,#ordernum == 4
GUI_LVL5_Inf_Orders,GFX_BS_Buttons,874,711,,,,7,9,7,11,7,9,7,10,0,0,0,0,orders:none,,IDS_None,,,#ordernum == 0

GUI_LVL5_Inf_Orders,GFX_BS_Buttons,995,711,,SFX_UI_Messenger,,7,6,7,8,7,6,7,7,0,0,0,0,loadscreen:MessageLog,,IDS_Dispatches__Received,,,
I don't Know About These Ones
GUI_LVL5_Inf_Orders,GFX_BS_Buttons,790,739,,SFX_UI_Click,,8,9,8,11,8,9,8,10,0,0,0,0,orders:defend,,IDS_OrderDefend,,,#ordernum == 3
GUI_LVL5_Inf_Orders,GFX_BS_Buttons,818,739,,SFX_UI_Click,,9,9,9,11,9,9,9,10,0,0,0,0,orders:hold,,IDS_OrderHold,,,#ordernum == 2
GUI_LVL5_Inf_Orders,GFX_BS_Buttons,846,739,,,,10,9,10,11,10,9,10,10,0,0,0,0,orders:stay,,IDS_OrderStay,,,#ordernum == 1
GUI_LVL5_Inf_Orders,GFX_BS_Buttons,967,739,,,,5,6,5,8,5,6,5,7,0,0,0,0,loadscreen:Objectives:-1,,IDS_Objectives,,,
GUI_LVL5_Inf_Orders,GFX_BS_Buttons,995,739,,SFX_UI_Messenger,,14,6,14,8,14,6,14,7,0,0,0,0,loadscreen:SendCourier,,IDS_Compose_Courier_Message,,,
GUI_LVL5_Inf,GFX_Groups,905,655,,SFX_UI_Combat,,1,0,0,0,0,0,0,0,0,0,0,0,setgroup:0,,IDS_Combat,,,#groupnum == 0
GUI_LVL5_Inf,GFX_Groups,905,693,,SFX_UI_Move,,1,1,0,1,0,0,0,1,0,0,0,0,setgroup:1,,IDS_Move,,,#groupnum == 1
GUI_LVL5_Inf,GFX_Groups,905,731,,SFX_UI_Orders,,1,2,0,2,0,0,0,2,0,0,0,0,setgroup:2,,IDS_Orders,,,#groupnum == 2


You get the idea (I hope). Like I said there are duplicates because it is due to the GUI level. The whole point is this is so you can get a small idea of which commands can be linked to a key.

Note: Anything with the Captial "A" means All.


Q: Okay so how do I put it in my Keyboard.csv?
A: Example Below

Open up your Keyboard.csv with Notepad. It's always best to use something Mister Timpko uses which is Notepad++ which you can download from here, and it's FREE: http://notepad-plus-plus.org/

Now I'm not too sure which order to place the new command in the list, or even if that matters really but if it does matter, maybe NSD can jump in here, but anyway, just for this example, I wanted to assign

"GUI_LVL5_Inf_Orders,GFX_BS_Buttons,995,655,,,SFX_BU_Resupply,13,6,13,8,13,6,13,7,0,0,0,0,Aresupply,,IDS_Re-Supply,,," Aresupply (in red) to the HOME key.

All Resupply,HOME,Aresupply,,,,,

I'm not sure if 5 (commas) ,,,,, are needed, but since I don't know, better stick too the format.

Now when you play the game, hitting the HOME key on your keyboard should tell everyone to resupply.

Cheers.
Last edited by Michael Slaunwhite on Tue Jan 29, 2013 2:13 am, edited 1 time in total.
Michael Slaunwhite
Reactions:
Posts: 4358
Joined: Fri Jan 08, 2010 8:15 am

Re: Issuing Commands via Voice Input... Working on it... [Download Link and Video]

Post by Michael Slaunwhite »

Quick Note: THANK YOU Hancock the Superb.

It works, now I can fully customize the voice commands to do anything. I have created a video which I am now converting, and will be uploading to my Youtube Channel, and when it is finished I will post it here... STAY TUNED!

Before I post the video, I used level 6 GUI for the command. I did use Level 4 gui at first (purely by mistake), and instead of a well formed column, the regiment formed one long column which all the troops stood in single file... Oddest thing I have ever seen.

[Here is the Video]

Last edited by Michael Slaunwhite on Tue Jan 29, 2013 3:05 am, edited 1 time in total.
Grog
Reactions:
Posts: 248
Joined: Sat Mar 20, 2010 10:09 pm

Re: Issuing Commands via Voice Input... Working on it... [Download Link and Video]

Post by Grog »

Thank you Michael

I will study this some time soon in detail.

For myself, the first priority is giving voice commands for quickly opening and closing screens such as Map, Command map, Couriers, OOB, Messages . Closing these quickly is especially important, as I find having to move the pointer over the X time consuming.

Having the ability to instantly close messages sent from your own subordinates would be especially handy in Courier games. These can get quite frequent and a 'tad' annoying if managing multiple regiments. In the heat of battle I already find myself shouting commands to the screen when 'bombarded' with these messages ;) .

The voice command "please remove yourself from my screen, good fellow" would suffice, although I expect I would soon shorten it to "bugger off!" :P

A voice courier interface which is able to recognise the various courier commands and then shuffle them into the correct order would be useful. Dictating to your courier and letting him do the pen work would be nice.

I know I don't ask for much, he he
Michael Slaunwhite
Reactions:
Posts: 4358
Joined: Fri Jan 08, 2010 8:15 am

Re: Issuing Commands via Voice Input... Working on it... [Download Link and Video]

Post by Michael Slaunwhite »

Thank you Michael

I will study this some time soon in detail.

For myself, the first priority is giving voice commands for quickly opening and closing screens such as Map, Command map, Couriers, OOB, Messages . Closing these quickly is especially important, as I find having to move the pointer over the X time consuming.
The profile I have setup now will do that. I am far from finished creating a stable enough profile for everyone to use with Voice Command. The unfortunate thing is Voice Command is not free. However I am also looking into another FREE voice command program that might just work as well, but it doesn't have the features like the Voice Command software.
Having the ability to instantly close messages sent from your own subordinates would be especially handy in Courier games. These can get quite frequent and a 'tad' annoying if managing multiple regiments. In the heat of battle I already find myself shouting commands to the screen when 'bombarded' with these messages ;) .
Programming Voice command to say whatever is good for you such as Exit, or Close will close all of those screens which helps quite a bit.
The voice command "please remove yourself from my screen, good fellow" would suffice, although I expect I would soon shorten it to "bugger off!" :P
Keeping it as short as possible is the best way to go. The longer the sentence, or command may very well run into conflicts with other commands.
A voice courier interface which is able to recognise the various courier commands and then shuffle them into the correct order would be useful. Dictating to your courier and letting him do the pen work would be nice.
I'm looking at it, and I'll see what I can do with it. Not too sure anything can be done, but it is worth a try, if we don't we'll never know for sure.
I know I don't ask for much, he he
haaa, it's the only way to go. :)
Last edited by Michael Slaunwhite on Tue Jan 29, 2013 5:18 am, edited 1 time in total.
Michael Slaunwhite
Reactions:
Posts: 4358
Joined: Fri Jan 08, 2010 8:15 am

Re: Issuing Commands via Voice Input... Working on it... [Download Link and Video]

Post by Michael Slaunwhite »

Hmmm, I just thought of something else. Since these commands can be issued via console, I am wondering if I can issue an order such as "All Advance 100, or 200, etc" by overriding the keyboard.csv. If so all I have to do is setup a voice command with my desired amount too advance so I am no longer dependent on the keyboard.csv.

For instance, in the keyboard.csv, the default is advance 300, and in order to change the amount, you have to edit the keyboard.csv file to reflect the new amount, but since I can now send off commands via the console with "Aadvance:100", or "Aadvance:200", etc, etc. I could go as high as 1000 yards if I set up the proper command.

Voice command setup would be...

I would Say "Advance One Hundred"

Voice Command Would Execute tilde => Aadvance:100 => Enter

Etc, Etc.

Just thinking.
Last edited by Michael Slaunwhite on Tue Jan 29, 2013 5:51 am, edited 1 time in total.
User avatar
norb
Reactions:
Posts: 3778
Joined: Mon Nov 26, 2007 9:59 am
Location: Central Florida
Contact:

Re: Issuing Commands via Voice Input... Working on it... [Download Link and Video]

Post by norb »

That's pretty cool, make sure that you have to have a southern drawl for the rebs :)
Post Reply