* Refactor medical to use hashmaps for wound storage
- We most frequently want to access wounds by body part, so this makes
that a constant time lookup.
- The body part index is no longer stored in every wound since it's
inherent in the wound storage.
- Using body part names as the keys of the hashmap to improve code
clarity (no more magic numbers).
closes#6468
* Add deserilization migration from old wound arrays
Will migrate from old form array wound storage to the new hashmap
strucutre during deserlization. This is relevant for communities piping
medical state out to a database or similar between sessions.
* fix issue with suture stitching
* change version number in comment
---------
Co-authored-by: Salluci <salluci.lovi@gmail.com>
* Add a macro for the bloodloss scaling factor
* Adjust bloodloss threshold for red icon
* Remove bloodloss color scaling factor
The issue is actually the other way round, the factor of 20 would
instantly make bodyparts red on taking a wound.
* Implemet 10 color steps provided by ShackTac
This replaces the old method of colouring the interaction menu icons
and body image selections with a new method that has 10 distinct color
steps (matching across the icons and the body image).
* Use macros for constants
* Implement blue damage colouring
This re-adds visualisation for colouring based on damage. The case where
a limb has a tourniquet will hopefully be handled by an overlayed icon.
* Tidy up file structure
* Move patient information display to medical_ui
* Make common colour conversion code into functions
* Add tourniquet icon overlay to body image
* Fix mispelling I forgot to commit
* Update icon paths to new white cross icon
* Clean mess after rebase
* Add new medical menu gui
* Add updating injury list and body image
* Add updating treatment category buttons
* Update onMenuClose function
* Delete unused functions
* Add action buttons and triage card to menu
* Move medical menu PFH to separate function
* Move setTriageStatus to treatment
* Add triage select dropdown
* Add toggle button action
* Fix mouse moving randomly when opening
* Add logs list update and remove unused functions
* Hide tourniquet icons by default
* Remove CfgInGameUI (already in feedback)
* Update patient info display
* Update triage card display
* Add settings to control interact menu actions
* Cleanup files/paths
* Move triage status update to common function
* Add icons for interact menu actions
* Modify icon color for interact menu actions
* Update canOpenMenu for new setting
* Hide pain information for unconscious
* Stringtable cleanup
* Use switch for pain text
* Change minor triage status to minimal
* Fix injury list to use new stringtable entry names
* Fix medical actions check when disabled
* Skip distance check in same vehicle
* More cleanup
* Fix CI error
* Requested changes
* Fix INJURIES string
* Fix include after comment block
* Fix missing ;
Co-Authored-By: mharis001 <34453221+mharis001@users.noreply.github.com>