Permalink
Browse files

cityview controls, building improv, city update

- only update current city
- attack building mission
- building selection frame for goto/attack
- proper patrol mission
- craft scrambles when building under attack
- building under attack event
- cityview vanilla controls
- improved cityview apoc controls
- cityview time controls
- manual vehicle controls
- handling destroyed land pads
- fixed vehicles firing when landing/taking off
- fixed vehicles dodging when landing/taking off
- agents and vehicles shift+click auto-equip
- proper height extraction
- proper height usage
  • Loading branch information...
Istrebitel committed Oct 12, 2017
1 parent c3eb3af commit 327ac2ee3ce6509729f91071d32a1bfabf0a683f
Showing with 1,670 additions and 762 deletions.
  1. +36 −16 README_HOTKEYS.txt
  2. +2 −0 appveyor-dev.yml
  3. +2 −0 appveyor.yml
  4. +7 −1 framework/framework.cpp
  5. +118 −91 game/state/agent.cpp
  6. +17 −11 game/state/agent.h
  7. +62 −39 game/state/battle/battle.cpp
  8. +38 −7 game/state/battle/battleunit.cpp
  9. +1 −1 game/state/battle/battleunit.h
  10. +9 −22 game/state/city/agentmission.cpp
  11. +4 −1 game/state/city/agentmission.h
  12. +22 −0 game/state/city/building.cpp
  13. +5 −0 game/state/city/building.h
  14. +4 −4 game/state/city/city.cpp
  15. +13 −10 game/state/city/projectile.cpp
  16. +3 −3 game/state/city/projectile.h
  17. +27 −20 game/state/city/scenery.cpp
  18. +211 −109 game/state/city/vehicle.cpp
  19. +18 −7 game/state/city/vehicle.h
  20. +178 −105 game/state/city/vehiclemission.cpp
  21. +9 −2 game/state/city/vehiclemission.h
  22. +2 −2 game/state/city/vequipment.cpp
  23. +6 −2 game/state/gameevent.cpp
  24. +3 −1 game/state/gameevent.h
  25. +31 −21 game/state/gamestate.cpp
  26. +1 −1 game/state/gamestate.h
  27. +4 −0 game/state/gamestate_serialize.xml
  28. +6 −6 game/state/gametime.cpp
  29. +3 −3 game/state/gametime.h
  30. +5 −8 game/state/organisation.cpp
  31. +3 −2 game/state/organisation.h
  32. +4 −1 game/state/rules/scenery_tile_type.h
  33. +27 −10 game/state/tileview/tile.cpp
  34. +5 −2 game/state/tileview/tile.h
  35. +1 −1 game/state/tileview/tileobject_scenery.cpp
  36. +249 −85 game/ui/base/aequipscreen.cpp
  37. +7 −0 game/ui/base/aequipscreen.h
  38. +50 −1 game/ui/base/vequipscreen.cpp
  39. +3 −0 game/ui/base/vequipscreen.h
  40. +5 −10 game/ui/city/basebuyscreen.cpp
  41. +5 −0 game/ui/city/buildingscreen.cpp
  42. +306 −67 game/ui/city/cityview.cpp
  43. +5 −0 game/ui/city/cityview.h
  44. +5 −1 game/ui/general/ingameoptions.cpp
  45. +90 −48 game/ui/tileview/citytileview.cpp
  46. +2 −2 tools/extractors/extract_city_map.cpp
  47. +37 −22 tools/extractors/extract_city_scenery.cpp
  48. +19 −17 tools/extractors/extract_organisations.cpp
View
@@ -23,28 +23,37 @@ General Hotkeys:
- [M] Show Log
- [Home] Zoom to last event
Cityscape Vanilla Controls Note
* Vanilla city controls were not very consistent and quite limited. For starters, right-clicking mouse in city moved map, while in battle, it didn't. There were no ways to quickly open frequently used screens (namely equipment, location, base screens) without clicking their buttons, and when using Alt/Shift hotkeys, they acted as if you clicked a corresponding button, meaning that if you missed your selection mode changed.
* Instead, OpenApoc introduces a new, consistent control scheme, which is explained in the next two sections
* For those who prefer to still use the vanilla control scheme, there is a feature to disable in the options menu called "Improved city control scheme". When disabled, vanilla control scheme will apply:
- Right click will move screen to cursor
- Alt+LMB will order vehicle attack
- Shift+LMB will order moving to building
- Left-clicking on building will always open building screen
- No mouse controls introduced by OpenApoc will function
Cityscape Mouse:
* [Ctrl] when giving order that includes moving, forces Agents to move on foot (never call a taxi), as well as allows Vehicles and Agents manual use of teleporter
* [Alt] Opens object's ufopaedia screens
* [Shift] Opens object's management screens
* [Alt] Opens ufopaedia
* [Alt/Shift] + [Click] orders vehicles directly, Alt+Shift targets buildings and Shift targets vehicles or locations, while left click is aggressive and right is non-aggressive
- [Alt] + [Left Click] Opens ufopaedia screen for the object (vehicle type, building function or who fired the missile)
- [Alt] + [Right Click] Opens ufopaedia screen for object's owner (be that vehicle or building)
- [Shift] + [Left Click]
- Equipment screen for vehicles
- Base screen for building that contains a base
- Base buy screen for non-owned building that house a base
- Building screen for other buildings
- [Shift] + [Right Click]
- Location screens for vehicles
- Building screen for buildings
- [Alt] + [Shift] + [Left Click] Order Attack Building
- [Alt] + [Shift] + [Right Click] Order Goto Building
- [Shift] + [Left Click] Order Attack Vehicle
- [Shift] + [Right Click] Order Follow Vehicle / Goto Location
- [Left Click]
- Issues orders
- Open building screen
- [Right Click]
- Issues orders
- Base screen for building that contains a base
- Base buy screen for non-owned building that house a base
- Building screen for other buildings
- [Right Click]
- Building screen for buildings
Cityscape Mouse Clicks on Vehicle / Agent icons:
- [Shift] + [Right Click] Open Location Screen
- [Ctrl] + [Shift] + [Right Click] Open Equipment Screen
- [Alt] + [Shift] + [Right Click] Open Equipment Screen
Cityscape Mouse Unit Selection:
* [Ctrl] makes selection additive
@@ -54,9 +63,10 @@ Cityscape Mouse Unit Selection:
- Add Agent/Vehicle to selection and make it first in the list
- [Right Click]
- Remove Agent/Vehicle from selection
Cityscape Keyboard:
- ... (none yet)
- [0],[1]...[5] control time
- [N] Manual control (if using vanilla scheme then [M] is the manual control key and there is no way to open message log, as per vanilla)
Cityscape Debug:
- Debug hotkeys are always active
@@ -80,6 +90,16 @@ Cityscape Debug:
- For roads, switch between showing only tiles marked as "road", or to also include tiles marked with road direction
- For hills, switch between showing only tiles marked as "road", or to also include tiles marked with hill direction
Vehicle Equipment:
- [Shift] makes item auto-equip into first available slot, or auto-remove to base stores
Agent Equipment:
* Usual selection controls apply, with option to de-select with right click as well
- [Shift] makes item auto-equip into first available slot, or auto-remove to base stores / ground
- [Ctrl] makes you remove clip when clicking on weapon
- [1]...[0] applies equipment template to every selected agent
- [Ctrl] + [1]...[0] remembers current agent's equipment set as a template
Battlescape Mouse:
* [Alt] When giving moving orders, makes unit keep facing to the target (making unit strafe or move backwards)
When firing at a tile, makes the shot aim at the ground of the tile, rather than at unit's level
View
@@ -35,6 +35,8 @@ after_build:
- del data\cd.iso.xz
- xcopy /E data OpenApoc-%OPENAPOC_VERSION%\data\
- copy portable.txt OpenApoc-%OPENAPOC_VERSION%\
- copy README.md OpenApoc-%OPENAPOC_VERSION%\
- copy README_HOTKEYS.txt OpenApoc-%OPENAPOC_VERSION%\
- 7z a %OPENAPOC_FILENAME% OpenApoc-%OPENAPOC_VERSION%
- copy bin\%PLATFORM%\%CONFIGURATION%\*.pdb OpenApoc-%OPENAPOC_VERSION%\
- 7z a %OPENAPOC_DEBUG_FILENAME% OpenApoc-%OPENAPOC_VERSION%\*.pdb
View
@@ -35,6 +35,8 @@ after_build:
- del data\cd.iso.xz
- xcopy /E data OpenApoc-%OPENAPOC_VERSION%\data\
- copy portable.txt OpenApoc-%OPENAPOC_VERSION%\
- copy README.md OpenApoc-%OPENAPOC_VERSION%\
- copy README_HOTKEYS.txt OpenApoc-%OPENAPOC_VERSION%\
- 7z a %OPENAPOC_FILENAME% OpenApoc-%OPENAPOC_VERSION%
- copy bin\%PLATFORM%\%CONFIGURATION%\*.pdb OpenApoc-%OPENAPOC_VERSION%\
- 7z a %OPENAPOC_DEBUG_FILENAME% OpenApoc-%OPENAPOC_VERSION%\*.pdb
View
@@ -229,7 +229,13 @@ ConfigOptionBool optionAllowNearbyVehicleLootPickup("OpenApoc.NewFeature",
"Allow nearby vehicles to pick up loot", true);
ConfigOptionBool optionAllowBuildingLootDeposit("OpenApoc.NewFeature", "AllowBuildingLootDeposit",
"Allow loot to be stashed in the building", true);
ConfigOptionBool optionArmoredRoads("OpenApoc.NewFeature", "ArmoredRoads", "Armored roads", false);
ConfigOptionBool optionArmoredRoads("OpenApoc.NewFeature", "ArmoredRoads", "Armored roads", true);
ConfigOptionBool optionVanillaCityControls("OpenApoc.NewFeature", "OpenApocCityControls",
"Improved city control scheme", true);
ConfigOptionBool optionStunHostileAction("OpenApoc.Mod", "StunHostileAction",
"Stunning hurts relationships", false);
ConfigOptionBool optionRaidHostileAction("OpenApoc.Mod", "RaidHostileAction",
"Initiating raid hurts relationships", false);
ConfigOptionBool optionBSKLauncherSound("OpenApoc.Mod", "BSKLauncherSound",
"(MOD) Original Brainsucker Launcher SFX", true);
ConfigOptionBool optionInvulnerableRoads("OpenApoc.Mod", "InvulnerableRoads",
Oops, something went wrong.

0 comments on commit 327ac2e

Please sign in to comment.