Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Medical GUI - Add outline to selected body part in Medical Menu #9471

Merged
merged 11 commits into from
Oct 11, 2023
Binary file added addons/medical_gui/data/body_image/arm_left_s.paa
Binary file not shown.
Binary file not shown.
Binary file added addons/medical_gui/data/body_image/head_s.paa
Binary file not shown.
Binary file added addons/medical_gui/data/body_image/leg_left_s.paa
Binary file not shown.
Binary file not shown.
Binary file added addons/medical_gui/data/body_image/torso_s.paa
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ if (isNull _display) then {

// Update body image
private _ctrlBodyImage = _display displayCtrl IDC_BODY_GROUP;
[_ctrlBodyImage, _target] call FUNC(updateBodyImage);
[_ctrlBodyImage, _target, _selectionN] call FUNC(updateBodyImage);

// Update injury list
private _ctrlInjuries = _display displayCtrl IDC_INJURIES;
Expand Down
2 changes: 1 addition & 1 deletion addons/medical_gui/functions/fnc_menuPFH.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ private _ctrlInjuries = _display displayCtrl IDC_INJURIES;

// Update body image
private _ctrlBodyImage = _display displayCtrl IDC_BODY_GROUP;
[_ctrlBodyImage, GVAR(target)] call FUNC(updateBodyImage);
[_ctrlBodyImage, GVAR(target), GVAR(selectedBodyPart)] call FUNC(updateBodyImage);

// Update activity and quick view logs
private _ctrlActivityLog = _display displayCtrl IDC_ACTIVITY;
Expand Down
24 changes: 15 additions & 9 deletions addons/medical_gui/functions/fnc_updateBodyImage.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,18 @@
* Arguments:
* 0: Body image controls group <CONTROL>
* 1: Target <OBJECT>
* 2: Body part <NUMBER>
*
* Return Value:
* None
*
* Example:
* [CONTROL, _target] call ace_medical_gui_fnc_updateBodyImage
* [CONTROL, _target, 0] call ace_medical_gui_fnc_updateBodyImage
*
* Public: No
*/

params ["_ctrlGroup", "_target"];
params ["_ctrlGroup", "_target", "_selectionN"];

// Get tourniquets, damage, and blood loss for target
private _tourniquets = GET_TOURNIQUETS(_target);
Expand All @@ -34,7 +35,12 @@ private _bodyPartBloodLoss = [0, 0, 0, 0, 0, 0];
} forEach GET_OPEN_WOUNDS(_target);

{
_x params ["_bodyPartIDC", ["_tourniquetIDC", -1], ["_fractureIDC", -1]];
_x params ["_bodyPartIDC", "_selectedIDC", ["_tourniquetIDC", -1], ["_fractureIDC", -1]];

private _selected = _forEachIndex == _selectionN;
private _ctrlSelected = _ctrlGroup controlsGroupCtrl _selectedIDC;
_ctrlSelected ctrlSetTextColor GVAR(bodypartOutlineColor);
_ctrlSelected ctrlShow _selected;

// Show or hide the tourniquet icon
if (_tourniquetIDC != -1) then {
Expand Down Expand Up @@ -92,10 +98,10 @@ private _bodyPartBloodLoss = [0, 0, 0, 0, 0, 0];
private _ctrlBodyPart = _ctrlGroup controlsGroupCtrl _bodyPartIDC;
_ctrlBodyPart ctrlSetTextColor _bodyPartColor;
} forEach [
[IDC_BODY_HEAD],
[IDC_BODY_TORSO],
[IDC_BODY_ARMLEFT, IDC_BODY_ARMLEFT_T, IDC_BODY_ARMLEFT_B],
[IDC_BODY_ARMRIGHT, IDC_BODY_ARMRIGHT_T, IDC_BODY_ARMRIGHT_B],
[IDC_BODY_LEGLEFT, IDC_BODY_LEGLEFT_T, IDC_BODY_LEGLEFT_B],
[IDC_BODY_LEGRIGHT, IDC_BODY_LEGRIGHT_T, IDC_BODY_LEGRIGHT_B]
[IDC_BODY_HEAD, IDC_BODY_HEAD_S],
[IDC_BODY_TORSO, IDC_BODY_TORSO_S],
[IDC_BODY_ARMLEFT, IDC_BODY_ARMLEFT_S, IDC_BODY_ARMLEFT_T, IDC_BODY_ARMLEFT_B],
[IDC_BODY_ARMRIGHT, IDC_BODY_ARMRIGHT_S, IDC_BODY_ARMRIGHT_T, IDC_BODY_ARMRIGHT_B],
[IDC_BODY_LEGLEFT, IDC_BODY_LEGLEFT_S, IDC_BODY_LEGLEFT_T, IDC_BODY_LEGLEFT_B],
[IDC_BODY_LEGRIGHT, IDC_BODY_LEGRIGHT_S, IDC_BODY_LEGRIGHT_T, IDC_BODY_LEGRIGHT_B]
];
50 changes: 50 additions & 0 deletions addons/medical_gui/gui.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,32 @@ class GVAR(BodyImage): RscControlsGroupNoScrollbars {
idc = IDC_BODY_LEGRIGHT_T;
text = QPATHTOF(data\body_image\leg_right_t.paa);
};
class HeadS: Background {
idc = IDC_BODY_HEAD_S;
text = QPATHTOF(data\body_image\head_s.paa);
colorText[] = {1.0, 1.0, 1.0, 1.0};
show = 0;
};
class TorsoS: HeadS {
idc = IDC_BODY_TORSO_S;
text = QPATHTOF(data\body_image\torso_s.paa);
};
class ArmLeftS: HeadS {
idc = IDC_BODY_ARMLEFT_S;
text = QPATHTOF(data\body_image\arm_left_s.paa);
};
class ArmRightS: HeadS {
idc = IDC_BODY_ARMRIGHT_S;
text = QPATHTOF(data\body_image\arm_right_s.paa);
};
class LegLeftS: HeadS {
idc = IDC_BODY_LEGLEFT_S;
text = QPATHTOF(data\body_image\leg_left_s.paa);
};
class LegRightS: HeadS {
idc = IDC_BODY_LEGRIGHT_S;
text = QPATHTOF(data\body_image\leg_right_s.paa);
};
};
};

Expand Down Expand Up @@ -584,6 +610,30 @@ class RscTitles {
w = QUOTE(POS_W(8.5));
h = QUOTE(POS_H(8.5));
};
class HeadS: HeadS {
w = QUOTE(POS_W(8.5));
h = QUOTE(POS_H(8.5));
};
class TorsoS: TorsoS {
w = QUOTE(POS_W(8.5));
h = QUOTE(POS_H(8.5));
};
class ArmLeftS: ArmLeftS {
w = QUOTE(POS_W(8.5));
h = QUOTE(POS_H(8.5));
};
class ArmRightS: ArmRightS {
w = QUOTE(POS_W(8.5));
h = QUOTE(POS_H(8.5));
};
class LegLeftS: LegLeftS {
w = QUOTE(POS_W(8.5));
h = QUOTE(POS_H(8.5));
};
class LegRightS: LegRightS {
w = QUOTE(POS_W(8.5));
h = QUOTE(POS_H(8.5));
};
};
};
class InjuriesLabel: RscText {
Expand Down
9 changes: 9 additions & 0 deletions addons/medical_gui/initSettings.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -126,3 +126,12 @@ private _categoryColors = [ELSTRING(medical,Category), format ["| %1 |", LELSTRI
true,
true // isGlobal
] call CBA_fnc_addSetting;

[
QGVAR(bodypartOutlineColor),
"COLOR",
[LSTRING(BodypartOutlineColor_DisplayName),LSTRING(BodypartOutlineColor_Description)],
amsteadrayle marked this conversation as resolved.
Show resolved Hide resolved
[ELSTRING(medical,Category), LSTRING(SubCategory)],
[1.00, 1.00, 1.00, 1],
false
] call CBA_fnc_addSetting;
7 changes: 7 additions & 0 deletions addons/medical_gui/script_component.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,13 @@
#define IDC_BODY_ARMRIGHT_B 6060
#define IDC_BODY_LEGLEFT_B 6065
#define IDC_BODY_LEGRIGHT_B 6070
#define IDC_BODY_GROUP_S 6075
#define IDC_BODY_HEAD_S 6080
#define IDC_BODY_TORSO_S 6085
#define IDC_BODY_ARMLEFT_S 6090
#define IDC_BODY_ARMRIGHT_S 6095
#define IDC_BODY_LEGLEFT_S 6100
#define IDC_BODY_LEGRIGHT_S 6105

#define IDC_TRIAGE_STATUS 7000
#define IDC_TRIAGE_SELECT 7100
6 changes: 6 additions & 0 deletions addons/medical_gui/stringtable.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1272,6 +1272,12 @@
<German>Zeigen Sie das erlittene Trauma in der Verletzungsliste an.</German>
<Korean>부상 목록에 발생한 외상을 표시합니다.</Korean>
</Key>
<Key ID="STR_ACE_Medical_GUI_BodypartOutlineColor_DisplayName">
<English>Body part outline color</English>
amsteadrayle marked this conversation as resolved.
Show resolved Hide resolved
</Key>
<Key ID="STR_ACE_Medical_GUI_BodypartOutlineColor_Description">
<English>Color of outline around selected body part.</English>
</Key>
<Key ID="STR_ACE_Medical_GUI_traumaSustained1">
<English>Minor Trauma</English>
<Portuguese>Traumatismo Leve</Portuguese>
Expand Down