Skip to content

Commit

Permalink
CUP Compat - Add interaction anims to CUP vehicles (#10238)
Browse files Browse the repository at this point in the history
Add interaction anims to CUP
  • Loading branch information
johnb432 authored Aug 23, 2024
1 parent 7790028 commit dcf49d7
Show file tree
Hide file tree
Showing 9 changed files with 485 additions and 0 deletions.
38 changes: 38 additions & 0 deletions addons/compat_cup_vehicles/CfgVehicles.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,31 @@
class CfgVehicles {
class CUP_nHMMWV_Base;
class CUP_nM1025_SOV_Base: CUP_nHMMWV_Base {
class EGVAR(interaction,anims) {
class hide_backpacks {
positions[] = {
"(_target selectionPosition ['vhc_backpacks', 'ViewGeometry', 'AveragePoint']) vectorAdd [-1, 0, 0]",
"(_target selectionPosition ['vhc_backpacks', 'ViewGeometry', 'AveragePoint']) vectorAdd [1.3, 0, 0]"
};
items[] = {"CUP_B_USPack_Coyote", "CUP_B_USPack_Coyote", "CUP_B_AssaultPack_ACU", "CUP_B_AssaultPack_ACU", "CUP_B_AssaultPack_Coyote"};
name = "$STR_a3_cfgvehicleclasses_backpacks0";
text = "$STR_a3_cfgvehicleclasses_backpacks0";
};
};
};

class Car_F;
class CUP_ECVHMMWV_Base: Car_F {
class EGVAR(interaction,anims) {
class hide_deploy2 {
positions[] = {"(_target selectionPosition ['vhc_rear_trunk_door', 'FireGeometry', 'AveragePoint']) vectorAdd [-0.7, 0, 0]"};
items[] = {"CUP_B_USPack_Coyote", "CUP_B_AssaultPack_ACU"};
name = "$STR_a3_cfgvehicleclasses_backpacks0";
text = "$STR_a3_cfgvehicleclasses_backpacks0";
};
};
};

class CUP_MTVR_Base;
class CUP_MTVR_Reammo_Base: CUP_MTVR_Base {
EGVAR(rearm,defaultSupply) = 1200;
Expand Down Expand Up @@ -106,6 +133,17 @@ class CfgVehicles {
class CUP_BTR90_HQ_Base: CUP_BTR90_Base { delete ace_viewports; }; // no cargo seats

class Tank_F;
class CUP_AAV_Base: Tank_F {
class EGVAR(interaction,anims) {
class Hide_Bags_Deployment {
positions[] = {{1.7, -0.7, -0.3}, {1.7, -2.55, -0.3}};
items[] = {"CUP_B_USPack_Coyote", "CUP_B_USPack_Coyote"};
name = "$STR_CUP_dn_USpack_coyote";
text = "$STR_CUP_dn_USpack_coyote";
};
};
};

class CUP_M2Bradley_Base: Tank_F {
ace_hunterkiller = 1;
class ace_viewports {
Expand Down
196 changes: 196 additions & 0 deletions addons/compat_cup_vehicles/compat_cup_repair/CfgVehicles.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
class CfgVehicles {
class Car_F;
class CUP_Datsun_Base: Car_F {
class EGVAR(interaction,anims) {
class hideSpareTire {
positions[] = {{-0.23, -0.25, -0.8}};
items[] = {"ACE_Wheel"};
name = ECSTRING(repair,RemoveWheel);
text = ECSTRING(repair,RemovingWheel);
};
};
};
class CUP_Datsun_AA_Base: CUP_Datsun_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hideSpareTire: hideSpareTire {
enabled = 0;
};
};
};

class CUP_Tigr_Base: Car_F {
class EGVAR(interaction,anims) {
class hide_ReserveWheel {
positions[] = {{0.57, -2.3, -0.55}};
items[] = {"ACE_Wheel"};
name = ECSTRING(repair,RemoveWheel);
text = ECSTRING(repair,RemovingWheel);
};
};
};
class CUP_Tigr_STS_PK_Base: CUP_Tigr_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hide_ReserveWheel: hide_ReserveWheel {};
};
};
class CUP_Tigr_233014_PK_Base: CUP_Tigr_STS_PK_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hide_ReserveWheel: hide_ReserveWheel {
positions[] = {{0.57, -2.3, -0.85}};
};
};
};
class CUP_Tigr_M_PK_Base: CUP_Tigr_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hide_ReserveWheel: hide_ReserveWheel {};
};
};
class CUP_Tigr_233114_PK_Base: CUP_Tigr_M_PK_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hide_ReserveWheel: hide_ReserveWheel {
positions[] = {{0.57, -2.3, -0.85}};
};
};
};

class CUP_LR_Base: Car_F {
class EGVAR(interaction,anims) {
class selection_wheelfront {
positions[] = {"_target selectionPosition ['selection_wheelfront', 'ViewGeometry', 'AveragePoint']"};
items[] = {"ACE_Wheel"};
name = ECSTRING(repair,RemoveWheel);
text = ECSTRING(repair,RemovingWheel);
};
class selection_wheels {
positions[] = {
"(_target selectionPosition ['selection_wheels', 'ViewGeometry', 'AveragePoint']) vectorAdd [-1.1, 0, 0]",
"(_target selectionPosition ['selection_wheels', 'ViewGeometry', 'AveragePoint']) vectorAdd [1.1, 0, 0]"
};
items[] = {"ACE_Wheel", "ACE_Wheel"};
name = ECSTRING(repair,RemoveWheel);
text = ECSTRING(repair,RemovingWheel);
};
};
};

class CUP_nHMMWV_Base: Car_F {
class EGVAR(interaction,anims) {
class hide_spare_wheel {
positions[] = {"_target selectionPosition ['vhc_spare_wheel', 'FireGeometry', 'AveragePoint']"};
items[] = {"ACE_Wheel"};
name = ECSTRING(repair,RemoveWheel);
text = ECSTRING(repair,RemovingWheel);
};
};
};
// Don't inherit, as it's easier for the main compat
class CUP_nM1025_SOV_Base: CUP_nHMMWV_Base {
class EGVAR(interaction,anims) {
class hide_spare_wheel {
positions[] = {"_target selectionPosition ['vhc_spare_wheel', 'FireGeometry', 'AveragePoint']"};
items[] = {"ACE_Wheel"};
name = ECSTRING(repair,RemoveWheel);
text = ECSTRING(repair,RemovingWheel);
};
};
};

class CUP_RG31_BASE: Car_F {
class EGVAR(interaction,anims) {
class left_spare {
positions[] = {"_target selectionPosition ['left_spare', 'FireGeometry', 'AveragePoint']"};
items[] = {"ACE_Wheel"};
name = ECSTRING(repair,RemoveWheel);
text = ECSTRING(repair,RemovingWheel);
};
class right_spare {
positions[] = {"_target selectionPosition ['right_spare', 'FireGeometry', 'AveragePoint']"};
items[] = {"ACE_Wheel"};
name = ECSTRING(repair,RemoveWheel);
text = ECSTRING(repair,RemovingWheel);
};
};
};

class CUP_UAZ_Base: Car_F {
class EGVAR(interaction,anims) {
class hide_spare_wheel {
positions[] = {"_target selectionPosition ['spare_wheel', 'ViewGeometry', 'AveragePoint']"};
items[] = {"ACE_Wheel"};
name = ECSTRING(repair,RemoveWheel);
text = ECSTRING(repair,RemovingWheel);
};
};
};
class CUP_UAZ_Armed_Base: CUP_UAZ_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hide_spare_wheel: hide_spare_wheel {};
};
};
class CUP_UAZ_AA_Base: CUP_UAZ_Armed_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hide_spare_wheel: hide_spare_wheel {
positions[] = {{0.18, -1.8, 0.75}};
};
};
};
class CUP_UAZ_AGS30_Base: CUP_UAZ_Armed_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hide_spare_wheel: hide_spare_wheel {
positions[] = {{0.18, -1.9, 0.75}};
};
};
};
class CUP_UAZ_MG_Base: CUP_UAZ_Armed_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hide_spare_wheel: hide_spare_wheel {
positions[] = {{0.18, -1.9, 0.2}};
};
};
};
// Visual is bugged, but it works
class CUP_UAZ_METIS_Base: CUP_UAZ_Armed_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hide_spare_wheel: hide_spare_wheel {
positions[] = {{0.18, -1.9, 0.65}};
};
};
};
class CUP_UAZ_SPG9_Base: CUP_UAZ_Armed_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hide_spare_wheel: hide_spare_wheel {
positions[] = {{0.18, -1.9, 1.05}};
};
};
};

class CUP_UAZ_Unarmed_Base: CUP_UAZ_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hide_spare_wheel: hide_spare_wheel {};
};
};
class CUP_UAZ_Open_Base: CUP_UAZ_Unarmed_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hide_spare_wheel: hide_spare_wheel {
positions[] = {{0.135, -1.3, 0.7}};
};
};
};

class CUP_ECVHMMWV_Base: Car_F {
class EGVAR(interaction,anims) {
class hide_spare_tire {
positions[] = {"(_target selectionPosition ['vhc_rear_trunk_door', 'FireGeometry', 'AveragePoint']) vectorAdd [0.05, -0.4, 0.2]"};
items[] = {"ACE_Wheel"};
name = ECSTRING(repair,RemoveWheel);
text = ECSTRING(repair,RemovingWheel);
};
class hide_deploy1 {
positions[] = {"(_target selectionPosition ['vhc_rear_trunk_door', 'FireGeometry', 'AveragePoint']) vectorAdd [0.05, 0.5, 0.7]"};
items[] = {"ACE_Wheel"};
name = ECSTRING(repair,RemoveWheel);
text = ECSTRING(repair,RemovingWheel);
};
};
};
};
23 changes: 23 additions & 0 deletions addons/compat_cup_vehicles/compat_cup_repair/config.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#include "script_component.hpp"

class CfgPatches {
class SUBADDON {
name = COMPONENT_NAME;
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {
"CUP_Vehicles_LoadOrder",
"ace_repair"
};
skipWhenMissingDependencies = 1;
author = ECSTRING(common,ACETeam);
authors[] = {"johnb43"};
url = ECSTRING(main,URL);
VERSION_CONFIG;

addonRootClass = QUOTE(ADDON);
};
};

#include "CfgVehicles.hpp"
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#define SUBCOMPONENT repair
#define SUBCOMPONENT_BEAUTIFIED Repair
#include "..\script_component.hpp"
111 changes: 111 additions & 0 deletions addons/compat_cup_vehicles/compat_cup_trenches/CfgVehicles.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
class CfgVehicles {
class Car_F;
class CUP_Tigr_Base: Car_F {
class EGVAR(interaction,anims) {
class hide_tools {
positions[] = {{1.15, -1.5, -0.68}};
items[] = {"ACE_EntrenchingTool"};
name = ECSTRING(trenches,EntrenchingToolName);
text = ECSTRING(trenches,EntrenchingToolName);
};
};
};
class CUP_Tigr_STS_PK_Base: CUP_Tigr_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hide_tools: hide_tools {};
};
};
class CUP_Tigr_233014_PK_Base: CUP_Tigr_STS_PK_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hide_tools: hide_tools {
positions[] = {{1.15, -1.5, -1}};
};
};
};
class CUP_Tigr_M_PK_Base: CUP_Tigr_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hide_tools: hide_tools {};
};
};
class CUP_Tigr_233114_PK_Base: CUP_Tigr_M_PK_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class hide_tools: hide_tools {
positions[] = {{1.15, -1.5, -1}};
};
};
};

// Interaction added to both sides, as the whole vehicle is mirrored if in left/right side
class CUP_LR_Base: Car_F {
class EGVAR(interaction,anims) {
class selection_tool {
positions[] = {{-0.53, 1.65, -0.2}, {0.53, 1.65, -0.2}};
items[] = {"ACE_EntrenchingTool"};
name = ECSTRING(trenches,EntrenchingToolName);
text = ECSTRING(trenches,EntrenchingToolName);
};
};
};
class CUP_LR_MG_Base: CUP_LR_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class selection_tool: selection_tool {
positions[] = {{-0.6, 1.4, 1.4}, {0.45, 1.4, 1.4}};
};
};
};
class CUP_LR_SPG9_Base: CUP_LR_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class selection_tool: selection_tool {};
};
};
class CUP_LR_AA_Base: CUP_LR_SPG9_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class selection_tool: selection_tool {
positions[] = {{-0.55, 1.77, -0.75}, {0.55, 1.77, -0.75}};
};
};
};
class CUP_LR_Ambulance_Base: CUP_LR_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class selection_tool: selection_tool {
positions[] = {{-0.55, 2.1, -0.2}, {0.55, 2.1, -0.2}};
};
};
};
class CUP_LR_Special_Base: CUP_LR_Base {
class EGVAR(interaction,anims): EGVAR(interaction,anims) {
class selection_tool: selection_tool {
positions[] = {{-0.6, 1.4, 1.4}, {0.45, 1.4, 1.4}};
};
};
};

class CUP_ECVHMMWV_Base: Car_F {
class EGVAR(interaction,anims) {
class hide_front_tool_rack {
positions[] = {"(_target selectionPosition ['vhc_rear_trunk_door', 'FireGeometry', 'AveragePoint']) vectorAdd [0.37, 4, 0.2]"};
items[] = {"ACE_EntrenchingTool"};
name = ECSTRING(trenches,EntrenchingToolName);
text = ECSTRING(trenches,EntrenchingToolName);
};
};
};

class Tank_F;
class CUP_leopard_1A3_base: Tank_F {
class EGVAR(interaction,anims) {
class hide_Tools_L {
positions[] = {{-2.2, 0, 0.2}, {-2.2, -1.8, 0.2}};
items[] = {"ACE_EntrenchingTool", "ACE_wirecutter"};
name = "$STR_a3_cfgeditorsubcategories_edsubcat_tools0";
text = "$STR_a3_cfgeditorsubcategories_edsubcat_tools0";
};
class hide_Tools_R {
positions[] = {{0.9, -1.5, 0.23}};
items[] = {"ACE_EntrenchingTool"};
name = ECSTRING(trenches,EntrenchingToolName);
text = ECSTRING(trenches,EntrenchingToolName);
};
};
};
};
Loading

0 comments on commit dcf49d7

Please sign in to comment.