diff --git a/IGP/Database.db b/IGP/Database.db index 7aaf522..b9a2e88 100644 Binary files a/IGP/Database.db and b/IGP/Database.db differ diff --git a/IGP/wwwroot/content/notes/settings/hotkeys.md b/IGP/wwwroot/content/notes/settings/hotkeys.md new file mode 100644 index 0000000..f975a0d --- /dev/null +++ b/IGP/wwwroot/content/notes/settings/hotkeys.md @@ -0,0 +1,256 @@ +--- +title: Custom HotKey Setup +summary: Customize your hotkeys in the pre-alpha. +created_date: 4/13/2022 +updated_date: 4/13/2022 +--- + +In the pre-alpha, IGP comes with some Unreal default hotkey setup. + +This document will explain how to setup, modify, and use a new hotkey setup. + +## Save the "Input.ini" file + +***Copy the below content and save the file as `Input.ini`.*** + +```ini +[/Script/Engine.InputSettings] +ActionMappings=(ActionName="Ability1",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Q) +ActionMappings=(ActionName="Ability2",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=W) +ActionMappings=(ActionName="Ability3",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=E) +ActionMappings=(ActionName="Ability4",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=R) +ActionMappings=(ActionName="Ability5",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=F) +ActionMappings=(ActionName="Ability6",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=V) +ActionMappings=(ActionName="Ability7",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=A) +ActionMappings=(ActionName="Ability8",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=S) +ActionMappings=(ActionName="AttackMove",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=A) +ActionMappings=(ActionName="CancelOrders",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Tilde) +ActionMappings=(ActionName="CompleteAllTraining",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=I) +ActionMappings=(ActionName="CompleteConstructions",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=K) +ActionMappings=(ActionName="ConstructionTab",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=C) +ActionMappings=(ActionName="ControlGroup1",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=D) +ActionMappings=(ActionName="ControlGroup10",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Zero) +ActionMappings=(ActionName="ControlGroup2",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Two) +ActionMappings=(ActionName="ControlGroup3",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Three) +ActionMappings=(ActionName="ControlGroup4",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Four) +ActionMappings=(ActionName="ControlGroup5",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Five) +ActionMappings=(ActionName="ControlGroup6",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Six) +ActionMappings=(ActionName="ControlGroup7",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Seven) +ActionMappings=(ActionName="ControlGroup8",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Eight) +ActionMappings=(ActionName="ControlGroup9",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Nine) +ActionMappings=(ActionName="ControlGroupAddStealKey",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=SpaceBar) +ActionMappings=(ActionName="Delete",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Delete) +ActionMappings=(ActionName="DisableWeapons",bShift=True,bCtrl=False,bAlt=True,bCmd=False,Key=J) +ActionMappings=(ActionName="DownArrow",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Down) +ActionMappings=(ActionName="DragPan",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MiddleMouseButton) +ActionMappings=(ActionName="Enter Cinematic Camera",bShift=True,bCtrl=False,bAlt=True,bCmd=False,Key=L) +ActionMappings=(ActionName="FullMana",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=J) +ActionMappings=(ActionName="FullyDamageSelectedUnits",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=P) +ActionMappings=(ActionName="GetAlloyEther",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=M) +ActionMappings=(ActionName="GetPyre",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=L) +ActionMappings=(ActionName="Hide HUD",bShift=True,bCtrl=False,bAlt=True,bCmd=False,Key=O) +ActionMappings=(ActionName="InclusiveSelect/QueueCommand",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftShift) +ActionMappings=(ActionName="JumpToCameraLocation1",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=Z) +ActionMappings=(ActionName="JumpToCameraLocation2",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=X) +ActionMappings=(ActionName="JumpToCameraLocation3",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=C) +ActionMappings=(ActionName="JumpToCameraLocation4",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=V) +ActionMappings=(ActionName="JumpToCameraLocation5",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=Two) +ActionMappings=(ActionName="JumpToCameraLocation6",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=Three) +ActionMappings=(ActionName="JumpToCameraLocation7",bShift=True,bCtrl=False,bAlt=False,bCmd=False,Key=Four) +ActionMappings=(ActionName="LeftArrow",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Left) +ActionMappings=(ActionName="LeftMouseClick",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftMouseButton) +ActionMappings=(ActionName="MarcoPolo",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Comma) +ActionMappings=(ActionName="Menu",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Escape) +ActionMappings=(ActionName="Menu",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=F10) +ActionMappings=(ActionName="MinimapJumpTo",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftMouseButton) +ActionMappings=(ActionName="Move/ContextCommand",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=RightMouseButton) +ActionMappings=(ActionName="PyreTab",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=One) +ActionMappings=(ActionName="ResearchTab",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Tab) +ActionMappings=(ActionName="RespawnNeutrals",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=N) +ActionMappings=(ActionName="RightArrow",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Right) +ActionMappings=(ActionName="RightMouseClick",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=RightMouseButton) +ActionMappings=(ActionName="Select/ConfirmAbility",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftMouseButton) +ActionMappings=(ActionName="SelectUnitProductionBuildings",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Z) +ActionMappings=(ActionName="SetCameraLocation1",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=Z) +ActionMappings=(ActionName="SetCameraLocation2",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=X) +ActionMappings=(ActionName="SetCameraLocation3",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=C) +ActionMappings=(ActionName="SetCameraLocation4",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=V) +ActionMappings=(ActionName="SetCameraLocation5",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=Two) +ActionMappings=(ActionName="SetCameraLocation6",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=Three) +ActionMappings=(ActionName="SetCameraLocation7",bShift=False,bCtrl=True,bAlt=False,bCmd=False,Key=Four) +ActionMappings=(ActionName="StandGround",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=S) +ActionMappings=(ActionName="SwitchAbilityCommandLayer",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=SpaceBar) +ActionMappings=(ActionName="TheCheatToRuleThemAll",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=None) +ActionMappings=(ActionName="Toggle Gamepad",bShift=False,bCtrl=True,bAlt=True,bCmd=False,Key=Slash) +ActionMappings=(ActionName="UpArrow",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=Up) +ActionMappings=(ActionName="ZoomIn",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MouseScrollUp) +ActionMappings=(ActionName="ZoomOut",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=MouseScrollDown) +ActionMappings=(ActionName="UnitTypeSelectionModifier",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=LeftControl) +``` +***Copy the above content and save the file as `Input.ini`.*** + +## Understand the Input.ini + +You can notice a single line of this file can be broken down like this. + +`ActionMappings=(ActionName="AttackMove",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=A)` +- `ActionMappings=(***)`: Indicates content is an action mapping. i.e. a hotkey +- `ActionName="AttackMove"`: Indicates the name of the selected action. Here, we are using the `AttackMove` move action, that forces your selected army to attack. +- `Key=A`: Indicates key being mapped to the action. Set to `Key=Tab` to require the Tab key to be pressed instead, to perform the `AttackMove` action. + - `bShift=False`: Indicates that the Shift key is not held. Set to `bShift=True` to require a shift key held to perform the mapped action. + - `bCtrl=False`: Indicates that the Ctrl key is not held. Set to `bCtrl=True` to require a ctrl key held to perform the mapped action. + - `bAlt=False`: Indicates that the Alt key is not held. Set to `bAlt=True` to require a alt key held to perform the mapped action. + - `bCmd=False`: Indicates that the Cmd key is not held. Set to `bCmd=True` to require a cmd key held to perform the mapped action. (Macs not supported by IGP) + +## Modify the Input.ini file + +Your now going to want to modify the file with your own hotkey setup. + +To do this, replace any of the Key=`VALUE` mapped to the desired actions with any value from the list below. + +*For example, you can swap the Z Key value in SelectUnitProductionBuildings to C. Which would look like this: `ActionMappings=(ActionName="SelectUnitProductionBuildings",bShift=False,bCtrl=False,bAlt=False,bCmd=False,Key=C)`* + +**Key Values** +- `AnyKey` +- `MouseX` +- `MouseY` +- `Mouse2D` +- `MouseScrollUp` +- `MouseScrollDown` +- `MouseWheelAxis` +- `LeftMouseButton` +- `RightMouseButton` +- `MiddleMouseButton` +- `ThumbMouseButton` +- `ThumbMouseButton2` +- `BackSpace` +- `Tab` +- `Enter` +- `Pause` +- `CapsLock` +- `Escape` +- `SpaceBar` +- `PageUp` +- `PageDown` +- `End` +- `Home` +- `Left` +- `Up` +- `Right` +- `Down` +- `Insert` +- `Delete` +- `Zero` +- `One` +- `Two` +- `Three` +- `Four` +- `Five` +- `Six` +- `Seven` +- `Eight` +- `Nine` +- `A` +- `B` +- `C` +- `D` +- `E` +- `F` +- `G` +- `H` +- `I` +- `J` +- `K` +- `L` +- `M` +- `N` +- `O` +- `P` +- `Q` +- `R` +- `S` +- `T` +- `U` +- `V` +- `W` +- `X` +- `Y` +- `Z` +- `NumPadZero` +- `NumPadOne` +- `NumPadTwo` +- `NumPadThree` +- `NumPadFour` +- `NumPadFive` +- `NumPadSix` +- `NumPadSeven` +- `NumPadEight` +- `NumPadNine` +- `Multiply` +- `Add` +- `Subtract` +- `Decimal` +- `Divide` +- `F1` +- `F2` +- `F3` +- `F4` +- `F5` +- `F6` +- `F7` +- `F8` +- `F9` +- `F10` +- `F11` +- `F12` +- `NumLock` +- `ScrollLock` +- `LeftShift` +- `RightShift` +- `LeftControl` +- `RightControl` +- `LeftAlt` +- `RightAlt` +- `LeftCommand` +- `RightCommand` +- `Semicolon` +- `Equals` +- `Comma` +- `Underscore` +- `Hyphen` +- `Period` +- `Slash` +- `Tilde` +- `LeftBracket` +- `Backslash` +- `RightBracket` +- `Apostrophe` +- `Ampersand` +- `Asterix` +- `Caret` +- `Colon` +- `Dollar` +- `Exclamation` +- `LeftParantheses` +- `RightParantheses` +- `Quote` +- `A_AccentGrave` +- `E_AccentGrave` +- `E_AccentAigu` +- `C_Cedille` +- `Section` + +# Transfer the Input.ini file + +Drag and drop this new `Input.ini` file into `WindowsClient` folder in IGP. This folder can be found under `C:\Users\YOUR_USER\AppData\Local\Programs\CURRENT_IMMORTAL_CLIENT\Immortal\Saved\Config\WindowsClient\`. +Remember to use proper values for `YOUR_USER` and `CURRENT_IMMORTAL_CLIENT`. + +There will be a blank `Input.ini` file in this folder. You can safely override it with your modified file. + +## Testing + +Restart the IGP client, and try out your new hotkey setup! + +## Trouble Shooting + +If running into trouble, ask for help in the `hotkeys` channel in the IGP Discord. \ No newline at end of file diff --git a/IGP/wwwroot/generated/NoteContentModels.json b/IGP/wwwroot/generated/NoteContentModels.json index 2295351..249ab47 100644 --- a/IGP/wwwroot/generated/NoteContentModels.json +++ b/IGP/wwwroot/generated/NoteContentModels.json @@ -1 +1 @@ -[{"Id":1,"ParentId":null,"NoteSectionModelId":1,"Href":"holdout","CreatedDate":"2022-02-18T00:00:00","UpdatedDate":"2022-02-18T00:00:00","Name":"Coop Holdout, Some distant place (Nuath)","Description":"First coop test map in pre-alpha.","Content":"coop/holdout","IsHidden":"False","IsPreAlpha":"True","NoteContentModels":[],"Parent":null,"PageOrder":0}] \ No newline at end of file +[{"Id":1,"ParentId":null,"NoteSectionModelId":1,"Href":"holdout","CreatedDate":"2022-02-18T00:00:00","UpdatedDate":"2022-02-18T00:00:00","Name":"Coop Holdout, Some distant place (Nuath)","Description":"First coop test map in pre-alpha.","Content":"coop/holdout","IsHidden":"False","IsPreAlpha":"True","NoteContentModels":[],"Parent":null,"PageOrder":0},{"Id":2,"ParentId":null,"NoteSectionModelId":2,"Href":"hotkeys","CreatedDate":"2022-04-13T00:00:00","UpdatedDate":"2022-04-13T00:00:00","Name":"Custom HotKey Setup","Description":"Customize your hotkeys in the pre-alpha.","Content":"settings/hotkeys","IsHidden":"False","IsPreAlpha":"True","NoteContentModels":[],"Parent":null,"PageOrder":0}] \ No newline at end of file diff --git a/IGP/wwwroot/generated/NoteSectionModels.json b/IGP/wwwroot/generated/NoteSectionModels.json index 0be209d..8d76365 100644 --- a/IGP/wwwroot/generated/NoteSectionModels.json +++ b/IGP/wwwroot/generated/NoteSectionModels.json @@ -1 +1 @@ -[{"Id":1,"Name":"PVE Content","NoteContentModels":[]}] \ No newline at end of file +[{"Id":1,"Name":"PVE Content","NoteContentModels":[]},{"Id":2,"Name":"Game Settings","NoteContentModels":[]}] \ No newline at end of file