Skip to content

Commit

Permalink
Add reinforcements (#50)
Browse files Browse the repository at this point in the history
* Add module base prefab and scripts

* Pass editable component instead of entity

* Rearrange module base methods and add init done bool

* Make sure init done only runs on authority

* Add on placing canceled event

* Introduce module placing actions

* Make module not streamable by default

* Change default image for module

* Add placing actions for opening editor browser

* Require entity in world placing action

* Sleep placing action

* Spawn default occupants placing action

* Force writing module attributes

* Implement point modules (called logics in ZEN)

* Implement LZ and RP modules

* Implement reinforcement module

* Implement attributes for reinforcements

* Configure default drivers for UAZ-452 and Ural-4320

* Add reinforcement attributes to config

* Add localizations

* Proper prefix for placing actions

* Proper prefix modules

* Proper prefix attributes

* Proper prefix localizations

* Proper prefix for placing actions

* Proper prefix modules

* Prefix EditableModuleComponent

* Prefix editable components

* Prefix EditablePointUIInfo

* Rename placing actions to init actions

* Rename placing actions to init actions

* Improve SCR_DisembarkContextAction

* Add on placing canceled event

* Add preview arrow

* Replace temporary EOnInit

* Create separate config for module attributes

* Move module attributes

* Add module type content browser filter

* Add module type filter

* Disable simulation for spawned assets until all init actions are done

* Restore previous simulation state

* Revise module activation

* Revise init actions

* Implement GME_VehicleHelper methods

* Add attributes and support for multiple passenger groups

* Assign number to module type enum

* Add exception handling to init actions

* Prevent race condition between canceling and notification

* Implement additional group helper methods

* Add support for spawning helicopter crew

* Add support for spawning helicopter crew

* Fix stringtable

* Implement method for getting faction from editable entity

* Implement invoker for when a group's members spawned

* Remove default passenger overrides

* Synchronize LP and LZ callsigns and make them editable
  • Loading branch information
Kexanone authored Oct 27, 2024
1 parent bc649ef commit b76ebba
Show file tree
Hide file tree
Showing 44 changed files with 1,198 additions and 0 deletions.
Binary file not shown.
106 changes: 106 additions & 0 deletions addons/GME/Assets/Modules/ModulePreviewArrow/ModulePreviewArrow.txo
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
$object "" {
#version 1.0
#tag MergeMeshes "1"
#tag Coords "XZY"
#tag Scale "1.000000"
$materials {
$material "Material" {
#UVset 0
}
}
$lod 0 {
#lodFactor 0.5
$mesh "Cube" {
#texCoords 1
$faces {
0 7 0 1 2 3 4 5 6
0 4 7 8 9 10
0 4 11 12 13 14
0 4 15 16 17 18
0 4 19 20 21 22
0 4 23 24 25 26
0 7 27 28 29 30 31 32 33
0 4 34 35 36 37
0 4 38 39 40 41
}
$faceVerts {
7 0 0
10 0 0
9 0 0
3 0 0
1 0 1
12 0 1
5 0 2
5 1 2
4 1 3
6 1 4
7 1 0
3 1 0
2 1 4
0 1 5
1 1 1
9 2 0
8 2 4
2 2 4
3 2 0
10 1 0
11 1 4
8 1 4
9 1 0
7 3 0
6 3 4
11 3 4
10 3 0
2 4 4
8 4 4
11 4 4
6 4 4
4 4 6
13 4 5
0 4 5
5 5 2
12 5 1
13 5 5
4 5 6
0 6 5
13 6 5
12 6 1
1 6 1
}
$verts {
3 1 1 0
3 0.4 1 0
1.3 1 1 0
1.3 0.4 1 0
-3 1 1 0
-3 0.4 1 0
-1.3 1 1 0
-1.3 0.4 1 0
1.3 1.000001 -7 0
1.3 0.400001 -7 0
-1.3 0.400001 -7 0
-1.3 1.000001 -7 0
0 0.399999 7 0
0 0.999999 7 0
}
$texCoords {
0.375 0.25
0.375 0.5
0.375 0.75
0.875 0.5
0.625 0.25
0.625 0.5
0.625 0.75
}
$normals {
0 -1 -0
0 0 -1
1 0 0
-1 0 0
0 1 0
-0.8944 -0 0.4472
0.8944 -0 0.4472
}
}
}
}
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
MetaFileClass {
Name "{A215E87110025E26}Assets/Modules/ModulePreviewArrow/ModulePreviewArrow.xob"
Configurations {
FBXResourceClass PC {
MaterialAssigns {
MaterialAssignClass "{61FF13C8CAE015F1}" {
SourceMaterial "Material"
AssignedMaterial "{54C9FF86B0B7C823}Data/Material.emat"
}
}
MeshParams {
MeshParam Cube {
}
}
Common TXOCommonClass "{61FF13C8CAD8080E}" : "{0877E7C4BB2B2C9A}Configs/System/ResourceTypes/PC/MeshObjectCommon.conf" {
}
}
FBXResourceClass XBOX_ONE : PC {
Common TXOCommonClass "{61FF13C8CAD8E018}" : "{9D5B6207F7628CE2}Configs/System/ResourceTypes/XBOX_ONE/MeshObjectCommon.conf" {
}
}
FBXResourceClass XBOX_SERIES : PC {
Common TXOCommonClass "{61FF13C8CAD8EB14}" : "{DD9F02115C764647}Configs/System/ResourceTypes/XBOX_SERIES/MeshObjectCommon.conf" {
}
}
FBXResourceClass PS4 : PC {
Common TXOCommonClass "{61FF13C8CAD8EA8A}" : "{53EC476BC921D99A}Configs/System/ResourceTypes/PS4/MeshObjectCommon.conf" {
}
}
FBXResourceClass PS5 : PC {
Common TXOCommonClass "{61FF13C8CAD8E9C2}" : "{F62AA8E7B8EA9D26}configs/ResourceTypes/PS5/MeshObjectCommon.conf" {
}
}
FBXResourceClass HEADLESS : PC {
Common TXOCommonClass "{61FF13C8CAD8E8AD}" : "{3A5B3356978039E8}Configs/System/ResourceTypes/HEADLESS/MeshObjectCommon.conf" {
}
}
}
}
9 changes: 9 additions & 0 deletions addons/GME/Configs/Core/EditableEntityCore.conf
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,13 @@ SCR_EditableEntityCore {
m_ConditionalLabel ENTITYTYPE_SYSTEM
}
}
m_EntityLabels {
SCR_EditableEntityCoreLabelSetting "{62072CE65FF44D4F}" {
m_Info SCR_UIInfo "{62072CE64AA7F64D}" {
Name "#GME-Editor_ContentBrowser_Filter_REINFORCEMENTS_Name"
}
m_LabelType GME_MODULETYPE_REINFORCEMENTS
m_LabelGroupType GME_MODULETYPE
}
}
}
39 changes: 39 additions & 0 deletions addons/GME/Configs/Editor/AttributeLists/GME_Modules.conf
Original file line number Diff line number Diff line change
@@ -1,2 +1,41 @@
SCR_EditorAttributeList {
m_aAttributes {
GME_Modules_Attribute_SelectLZ "{62057E5007D74B92}" {
m_UIInfo SCR_EditorAttributeUIInfo "{62057E5005337FF0}" {
Name "#GME-Modules_LZ_name"
}
m_CategoryConfig "{416C6E9ECC3D231D}Configs/Editor/AttributeCategories/Entity.conf"
m_Layout "{2ECAE6EA5F6855C9}UI/layouts/Editor/Attributes/AttributePrefabs/AttributePrefab_Dropdown.layout"
}
GME_Modules_Attribute_VehicleBehavior "{620508FD58159613}" {
m_UIInfo SCR_EditorAttributeUIInfo "{620508FD516C5FCB}" {
Name "#GME-Modules_Attribute_VehicleBehavior_Name"
}
m_CategoryConfig "{416C6E9ECC3D231D}Configs/Editor/AttributeCategories/Entity.conf"
m_Layout "{C3A25A51777A99BD}UI/layouts/Editor/Attributes/AttributePrefabs/AttributePrefab_Spinbox.layout"
m_aValues {
SCR_EditorAttributeFloatStringValueHolder "{620550638D1F70DB}" {
m_sEntryName "#GME-Modules_Attribute_StayAtLZ_Name"
}
SCR_EditorAttributeFloatStringValueHolder "{62055063822BB3F4}" {
m_sEntryName "#GME-Modules_Attribute_RTBAndDespawn_Name"
m_fEntryFloatValue 1
}
}
}
GME_Modules_Attribute_SelectRallyPoint "{62060CC6EB302E01}" {
m_UIInfo SCR_EditorAttributeUIInfo "{62060CC6EDE3122F}" {
Name "#GME-Modules_RallyPoint_name"
}
m_CategoryConfig "{416C6E9ECC3D231D}Configs/Editor/AttributeCategories/Entity.conf"
m_Layout "{2ECAE6EA5F6855C9}UI/layouts/Editor/Attributes/AttributePrefabs/AttributePrefab_Dropdown.layout"
}
GME_Modules_Attribute_PointCallsign "{62AB06D55C5AA618}" {
m_UIInfo SCR_EditorAttributeUIInfo "{62AB06D543191D11}" {
Name "#AR-Editor_ExtendedIdentity_Callsign"
}
m_CategoryConfig "{416C6E9ECC3D231D}Configs/Editor/AttributeCategories/Entity.conf"
m_Layout "{2A8C2090660989A0}UI/layouts/Editor/Attributes/AttributePrefabs/AttributePrefab_EditBox.layout"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
SCR_EditorContentBrowserDisplayConfig {
m_sContentBrowserHeader "#AR-Editor_EntityList_Tab_Vehicle"
m_aWhiteListLabelGroups {
SCR_EditorContentBrowserDisplayGroupLabel "{6202F0C9C517C840}" {
m_iGroupLabel FACTION
}
SCR_EditorContentBrowserDisplayGroupLabel "{6202F0C9C517B7BB}" {
m_iGroupLabel TRAIT
}
SCR_EditorContentBrowserDisplayGroupLabel "{6202F0C9C517B7B8}" {
m_iGroupLabel CONTENT
}
}
m_aAlwaysActiveLabels {
SCR_EditorContentBrowserActiveDisplayLabel "{6202F0C9C517B7BC}" {
m_iLabel ENTITYTYPE_VEHICLE
}
SCR_EditorContentBrowserActiveDisplayLabel "{620508F9A38E16D8}" {
m_iLabel TRAIT_PASSENGERS_SMALL
m_bShowLabel 1
}
SCR_EditorContentBrowserActiveDisplayLabel "{620508F9DDA6A8EF}" {
m_iLabel TRAIT_PASSENGERS_LARGE
m_bShowLabel 1
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
MetaFileClass {
Name "{A4A11B32BCB46BCC}Configs/Editor/ContentBrowser/GME_ContentBrowserVehicleConfig.conf"
Configurations {
CONFResourceClass PC {
}
CONFResourceClass XBOX_ONE : PC {
}
CONFResourceClass XBOX_SERIES : PC {
}
CONFResourceClass PS4 : PC {
}
CONFResourceClass PS5 : PC {
}
CONFResourceClass HEADLESS : PC {
}
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
SCR_PlaceableEntitiesRegistry {
m_Prefabs +{
"{7B68FEDCB026BB2F}Prefabs/Items/Misc/IntelligenceFolder_E_01/E_GME_IntelFolder_01.et"
"{B11FA818A134D5AE}PrefabsEditable/Modules/Reinforcements/E_GME_Modules_RallyPoint.et"
"{06E1603BE4D59D63}PrefabsEditable/Modules/Reinforcements/E_GME_Modules_LZ.et"
"{8A52B1DEF3843C1D}PrefabsEditable/Modules/Reinforcements/E_GME_Modules_SpawnReinforcements.et"
}
}
14 changes: 14 additions & 0 deletions addons/GME/Language/GME_localization.cs_cz.conf
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,15 @@ StringTableRuntime {
"GME-Editor_Attribute_Stance_Stand_Name"
"GME-Editor_Attribute_VisibilityToggle_Name"
"GME-Editor_AttributeCategory_Waypoint_Name"
"GME-Editor_ContentBrowser_Filter_REINFORCEMENTS_Name"
"GME-Editor_ContentBrowser_FilterCategory_MODULETYPE_Name"
"GME-Notification_PICKED_UP_ITEM"
"GME-Modules_Attribute_RTBAndDespawn_Name"
"GME-Modules_Attribute_StayAtLZ_Name"
"GME-Modules_Attribute_VehicleBehavior_Name"
"GME-Modules_LZ_name"
"GME-Modules_RallyPoint_name"
"GME-Modules_SpawnReinforcements_name"
"GME-Notification_PLACE_PREFAB_FIRST"
"GME-UI_Listbox_OnCancel"
"GME-UI_Listbox_OnConfirm"
Expand Down Expand Up @@ -53,8 +60,15 @@ StringTableRuntime {
"Stát"
"Viditelnost"
"Bod trasy"
"Reinforcements"
"Module Type"
"%1 picked up %2"
"RTB and Despawn"
"Stay at LZ"
"Vehicle behaviour"
"LZ"
"Rally Point"
"Spawn Reinforcements"
"Place %1 first!"
"Zrušit"
"Potvrdit"
Expand Down
14 changes: 14 additions & 0 deletions addons/GME/Language/GME_localization.de_de.conf
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,15 @@ StringTableRuntime {
"GME-Editor_Attribute_Stance_Stand_Name"
"GME-Editor_Attribute_VisibilityToggle_Name"
"GME-Editor_AttributeCategory_Waypoint_Name"
"GME-Editor_ContentBrowser_Filter_REINFORCEMENTS_Name"
"GME-Editor_ContentBrowser_FilterCategory_MODULETYPE_Name"
"GME-Notification_PICKED_UP_ITEM"
"GME-Modules_Attribute_RTBAndDespawn_Name"
"GME-Modules_Attribute_StayAtLZ_Name"
"GME-Modules_Attribute_VehicleBehavior_Name"
"GME-Modules_LZ_name"
"GME-Modules_RallyPoint_name"
"GME-Modules_SpawnReinforcements_name"
"GME-Notification_PLACE_PREFAB_FIRST"
"GME-UI_Listbox_OnCancel"
"GME-UI_Listbox_OnConfirm"
Expand Down Expand Up @@ -53,8 +60,15 @@ StringTableRuntime {
"Aufstehen"
"Sichtbarkeit"
"Wegpunkt"
"Verstärkungen"
"Modultyp"
"%1 hat %2 aufgelesen"
"Zurück und Löschen"
"Bei LZ verbleiben"
"Fahrzeugverhalten"
"LZ"
"Sammelpunkt"
"Erstelle Verstärkung"
"Plaziere %1 zuerst!"
"Abbrechen"
"Bestätigen"
Expand Down
14 changes: 14 additions & 0 deletions addons/GME/Language/GME_localization.en_us.conf
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,15 @@ StringTableRuntime {
"GME-Editor_Attribute_Stance_Stand_Name"
"GME-Editor_Attribute_VisibilityToggle_Name"
"GME-Editor_AttributeCategory_Waypoint_Name"
"GME-Editor_ContentBrowser_Filter_REINFORCEMENTS_Name"
"GME-Editor_ContentBrowser_FilterCategory_MODULETYPE_Name"
"GME-Notification_PICKED_UP_ITEM"
"GME-Modules_Attribute_RTBAndDespawn_Name"
"GME-Modules_Attribute_StayAtLZ_Name"
"GME-Modules_Attribute_VehicleBehavior_Name"
"GME-Modules_LZ_name"
"GME-Modules_RallyPoint_name"
"GME-Modules_SpawnReinforcements_name"
"GME-Notification_PLACE_PREFAB_FIRST"
"GME-UI_Listbox_OnCancel"
"GME-UI_Listbox_OnConfirm"
Expand Down Expand Up @@ -53,8 +60,15 @@ StringTableRuntime {
"Stand"
"Visibility"
"Waypoint"
"Reinforcements"
"Module Type"
"%1 picked up %2"
"RTB and Despawn"
"Stay at LZ"
"Vehicle behaviour"
"LZ"
"Rally Point"
"Spawn Reinforcements"
"Place %1 first!"
"Cancel"
"Confirm"
Expand Down
14 changes: 14 additions & 0 deletions addons/GME/Language/GME_localization.es_es.conf
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,15 @@ StringTableRuntime {
"GME-Editor_Attribute_Stance_Stand_Name"
"GME-Editor_Attribute_VisibilityToggle_Name"
"GME-Editor_AttributeCategory_Waypoint_Name"
"GME-Editor_ContentBrowser_Filter_REINFORCEMENTS_Name"
"GME-Editor_ContentBrowser_FilterCategory_MODULETYPE_Name"
"GME-Notification_PICKED_UP_ITEM"
"GME-Modules_Attribute_RTBAndDespawn_Name"
"GME-Modules_Attribute_StayAtLZ_Name"
"GME-Modules_Attribute_VehicleBehavior_Name"
"GME-Modules_LZ_name"
"GME-Modules_RallyPoint_name"
"GME-Modules_SpawnReinforcements_name"
"GME-Notification_PLACE_PREFAB_FIRST"
"GME-UI_Listbox_OnCancel"
"GME-UI_Listbox_OnConfirm"
Expand Down Expand Up @@ -53,8 +60,15 @@ StringTableRuntime {
"De pie"
"Visibilidad"
"unto de referencia"
"Reinforcements"
"Module Type"
"%1 picked up %2"
"RTB and Despawn"
"Stay at LZ"
"Vehicle behaviour"
"LZ"
"Rally Point"
"Spawn Reinforcements"
"Place %1 first!"
"Cancelar"
"Confirmar"
Expand Down
Loading

0 comments on commit b76ebba

Please sign in to comment.