Skip to content

Commit

Permalink
more compats
Browse files Browse the repository at this point in the history
  • Loading branch information
OverlordZorn committed Jan 6, 2025
1 parent 5ae5b57 commit d8900d6
Show file tree
Hide file tree
Showing 9 changed files with 382 additions and 68 deletions.
13 changes: 12 additions & 1 deletion addons/compat_sog/compat_sog_wardrobe/CfgWardrobe.hpp
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@


class EGVAR(wardrobe,base);

class EGVAR(wardrobe,base_H_visor_up);
Expand All @@ -6,14 +8,23 @@ class EGVAR(wardrobe,base_H_visor_down);
class EGVAR(wardrobe,base_U_sleeves_up);
class EGVAR(wardrobe,base_U_sleeves_down);

class EGVAR(wardrobe,base_H_goggles_on);
class EGVAR(wardrobe,base_H_goggles_off);



class CfgWeapons {
// Base Classes
class vn_b_headgear_base;
class vn_o_headgear_base;

#include "Pilothelmets.hpp"
#include "Helmets.hpp"
#include "Booniehats.hpp"
#include "Uniforms_B.hpp"
#include "Uniforms_O.hpp"
};


class CfgGlasses {
#include "Facewear.hpp"
};
103 changes: 103 additions & 0 deletions addons/compat_sog/compat_sog_wardrobe/Facewear.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
// Common Base
class vn_glasses_base;


// Scarf
class vn_b_acc_rag_01: vn_glasses_base {
class ace_wardrobe: EGVAR(wardrobe,base) {
modifiableTo[] = { "vn_b_acc_rag_02" };
};
};
class vn_b_acc_rag_02: vn_b_acc_rag_01 {
class ace_wardrobe: EGVAR(wardrobe,base) {
modifiableTo[] = { "vn_b_acc_rag_01" };
};
};


// Towel
class vn_b_acc_towel_01: vn_b_acc_rag_02 {
class ace_wardrobe: EGVAR(wardrobe,base) {
modifiableTo[] = { "vn_b_acc_towel_02" };
};
};
class vn_b_acc_towel_02: vn_b_acc_towel_01 {
class ace_wardrobe: EGVAR(wardrobe,base) {
modifiableTo[] = { "vn_b_acc_towel_01" };
};
};


// Pilot Air Mask
class vn_b_acc_ms22001_01: vn_glasses_base {
class ace_wardrobe: EGVAR(wardrobe,base) {
modifiableTo[] = { "vn_b_acc_ms22001_02" };
alternativeDisplayName = ECSTRING(wardrobe,maskOn);
};
};
class vn_b_acc_ms22001_02: vn_b_acc_ms22001_01 {
class ace_wardrobe: EGVAR(wardrobe,base) {
modifiableTo[] = { "vn_b_acc_ms22001_01" };
alternativeDisplayName = ECSTRING(wardrobe,maskOff);
};
};

// Bandana + Aviators
class vn_b_aviator: vn_glasses_base {
class ace_wardrobe: EGVAR(wardrobe,base) {
modifiableTo[] = { "vn_b_bandana_a" };
components[] = {"vn_b_aviator"};
};
};

class vn_o_bandana_b: vn_glasses_base {
class ace_wardrobe: EGVAR(wardrobe,base) {
modifiableTo[] = { "vn_b_bandana_a" };
components[] = {"vn_o_bandana_b"};
};
};

class vn_b_bandana_a: vn_o_bandana_b {
class ace_wardrobe: EGVAR(wardrobe,base) {
modifiableTo[] = { "vn_b_aviator", "vn_o_bandana_b" };
components[] = {"vn_b_aviator", "vn_o_bandana_b"};
};
};



// US Combat Goggles, used by vn_b_helmet_m1_20_01 & vn_b_helmet_m1_20_02
class vn_b_acc_goggles_01: vn_glasses_base {
class ace_wardrobe: EGVAR(wardrobe,base) {
components[] = {"vn_b_acc_goggles_01"};
};
};

// VN Pilot Glasses + Mask
// Pilot Mask
class vn_o_acc_km32_01: vn_glasses_base {
class ace_wardrobe: EGVAR(wardrobe,base) {
modifiableTo[] = { "vn_o_acc_goggles_03" };
components[] = {"vn_o_acc_km32_01"};
};
};
// VN Crew Goggles
class vn_o_acc_goggles_01: vn_glasses_base {
class ace_wardrobe: EGVAR(wardrobe,base) {
components[] = {"vn_o_acc_goggles_01"};
};
};
// Goggles
class vn_o_acc_goggles_02: vn_glasses_base {
class ace_wardrobe: EGVAR(wardrobe,base) {
modifiableTo[] = { "vn_o_acc_goggles_03" };
components[] = {"vn_o_acc_goggles_02"};
};
};
// Goggles with Mask
class vn_o_acc_goggles_03: vn_glasses_base {
class ace_wardrobe: EGVAR(wardrobe,base) {
modifiableTo[] = { "vn_o_acc_km32_01", "vn_o_acc_goggles_02" };
components[] = { "vn_o_acc_km32_01", "vn_o_acc_goggles_02"};
};
};
171 changes: 171 additions & 0 deletions addons/compat_sog/compat_sog_wardrobe/Helmets.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
// CfgWeapons


// Macros
#define CN01(side,var1,var2) vn_##side##_helmet_##var1##_01_##var2
#define CN02(side,var1,var2) vn_##side##_helmet_##var1##_02_##var2


#define HELMET_VARIANT(side,var1,var2)\
class CN01(side,var1,var2): base_class_up {\
class ace_wardrobe: EGVAR(wardrobe,base_H_visor_up) {\
modifiableTo[] = { QUOTE(CN02(side,var1,var2)) };\
};\
};\
class CN02(side,var1,var2): base_class_dn {\
class ace_wardrobe: EGVAR(wardrobe,base_H_visor_down) {\
modifiableTo[] = { QUOTE(CN01(side,var1,var2)) };\
};\
};


// Base classes in CfgWeapons.hpp

// Parent Version aph6 & svh4
#define base_class_up vn_b_headgear_base
#define base_class_dn vn_b_headgear_base
HELMET_VARIANT(b,aph6,01)
HELMET_VARIANT(b,svh4,01)

// Child Version aph6
#undef base_class_up
#undef base_class_dn
#define base_class_up CN01(b,aph6,01)
#define base_class_dn CN02(b,aph6,01)

HELMET_VARIANT(b,aph6,02)
HELMET_VARIANT(b,aph6,03)
HELMET_VARIANT(b,aph6,04)
HELMET_VARIANT(b,aph6,05)

// Child Version svh4
#undef base_class_up
#undef base_class_dn
#define base_class_up CN01(b,svh4,01)
#define base_class_dn CN02(b,svh4,01)

HELMET_VARIANT(b,svh4,02)
HELMET_VARIANT(b,svh4,03)
HELMET_VARIANT(b,svh4,04)
HELMET_VARIANT(b,svh4,05)
HELMET_VARIANT(b,svh4,06)

// Special Case zsh3
class vn_o_helmet_zsh3_01: vn_o_headgear_base {
class ace_wardrobe: EGVAR(wardrobe,base_H_visor_up) {
modifiableTo[] = { "vn_o_helmet_zsh3_02" };
};
};
class vn_o_helmet_zsh3_02: vn_o_helmet_zsh3_01 {
class ace_wardrobe: EGVAR(wardrobe,base_H_visor_down) {
modifiableTo[] = { "vn_o_helmet_zsh3_01" };
};
};

// Helmets with/without Goggles
class vn_b_helmet_m1_01_01;
class vn_b_helmet_m1_14_01: vn_b_helmet_m1_01_01 {
class ace_wardrobe: EGVAR(wardrobe,base_H_goggles_off) {
modifiableTo[] = { "vn_b_helmet_m1_20_01" };
};
};
class vn_b_helmet_m1_14_02: vn_b_helmet_m1_14_01 {
class ace_wardrobe: EGVAR(wardrobe,base_H_goggles_off) {
modifiableTo[] = { "vn_b_helmet_m1_20_02" };
};
};

class vn_b_helmet_m1_20_01 : vn_b_helmet_m1_14_01 {
class ace_wardrobe: EGVAR(wardrobe,base_H_goggles_on) {
modifiableTo[] = { "vn_b_helmet_m1_14_01" };
components[] = {"vn_b_acc_goggles_01"};
};
};
class vn_b_helmet_m1_20_02 : vn_b_helmet_m1_20_01 {
class ace_wardrobe: EGVAR(wardrobe,base_H_goggles_on) {
modifiableTo[] = { "vn_b_helmet_m1_14_02" };
components[] = {"vn_b_acc_goggles_01"};
};
};


//// VN Pilot Helmet
// With Goggles
class vn_o_helmet_shl61_01: vn_o_headgear_base {
class ace_wardrobe: EGVAR(wardrobe,base_H_goggles_on) {
modifiableTo[] = { "vn_o_helmet_shl61_02" };
components[] = {"vn_o_acc_goggles_02"};
};
};
// Without Goggles
class vn_o_helmet_shl61_02: vn_o_helmet_shl61_01 {
class ace_wardrobe: EGVAR(wardrobe,base_H_goggles_off) {
modifiableTo[] = { "vn_o_helmet_shl61_01" };
};
};


// US Vic Crew Helmets
class vn_b_helmet_t56_01_01: vn_b_headgear_base {
class ace_wardrobe: EGVAR(wardrobe,base_H_goggles_off) {
modifiableTo[] = { "vn_b_helmet_t56_02_01" };
};
};
class vn_b_helmet_t56_02_01: vn_b_helmet_t56_01_01 {
class ace_wardrobe: EGVAR(wardrobe,base_H_goggles_on) {
modifiableTo[] = { "vn_b_helmet_t56_01_01" };
components[] = {"vn_b_acc_goggles_01"};
};
};

class vn_b_helmet_t56_01_02: vn_b_helmet_t56_01_01 {
class ace_wardrobe: EGVAR(wardrobe,base_H_goggles_off) {
modifiableTo[] = { "vn_b_helmet_t56_02_02" };
};
};
class vn_b_helmet_t56_02_02: vn_b_helmet_t56_02_01 {
class ace_wardrobe: EGVAR(wardrobe,base_H_goggles_on) {
modifiableTo[] = { "vn_b_helmet_t56_01_02" };
components[] = {"vn_b_acc_goggles_01"};
};
};

class vn_b_helmet_t56_01_03: vn_b_helmet_t56_01_01 {
class ace_wardrobe: EGVAR(wardrobe,base_H_goggles_off) {
modifiableTo[] = { "vn_b_helmet_t56_02_03" };
};
};
class vn_b_helmet_t56_02_03: vn_b_helmet_t56_02_01 {
class ace_wardrobe: EGVAR(wardrobe,base_H_goggles_on) {
modifiableTo[] = { "vn_b_helmet_t56_01_03" };
components[] = {"vn_b_acc_goggles_01"};
};
};


// VN Vic Crew Helmet // 1 with goggles
// vn_o_acc_goggles_01
class vn_o_helmet_tsh3_01: vn_o_headgear_base {
class ace_wardrobe: EGVAR(wardrobe,base_H_goggles_on) {
modifiableTo[] = { "vn_o_helmet_tsh3_02" };
components[] = {"vn_o_acc_goggles_01"};
};
};
class vn_o_helmet_tsh3_02: vn_o_helmet_tsh3_01 {
class ace_wardrobe: EGVAR(wardrobe,base_H_goggles_off) {
modifiableTo[] = { "vn_o_helmet_tsh3_01" };
};
};

// VN Pith Helmet with Crew Goggles
class vn_o_helmet_nva_01: vn_o_headgear_base {
class ace_wardrobe: EGVAR(wardrobe,base_H_goggles_off) {
modifiableTo[] = { "vn_o_helmet_nva_05" };
};
};
class vn_o_helmet_nva_05: vn_o_helmet_nva_01 {
class ace_wardrobe: EGVAR(wardrobe,base_H_goggles_on) {
modifiableTo[] = { "vn_o_helmet_nva_01" };
components[] = {"vn_o_acc_goggles_02"};
};
};
63 changes: 0 additions & 63 deletions addons/compat_sog/compat_sog_wardrobe/Pilothelmets.hpp

This file was deleted.

Loading

0 comments on commit d8900d6

Please sign in to comment.