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

Crew Served Weapons - Final Integration #7042

Merged
merged 6 commits into from
Aug 11, 2019
Merged

Crew Served Weapons - Final Integration #7042

merged 6 commits into from
Aug 11, 2019

Conversation

PabstMirror
Copy link
Contributor

@PabstMirror PabstMirror commented Jun 8, 2019

Contains:
CSW #5652
Dragon #6773
RHS CSW compatability (#7082)
CSW/Dragon cleanup and rearm compat (#7068)

Artillery Tables #6853 (WIP) will be merged later

Do not squash merge this PR

* Initial Commit

* Got rid of unneeded translation values

* Updated Strings

* "Fixed" issue where when you deploy the tripid and weapon on slope it freaked out.

* Fixed locality issues. Added timers to relavent functions.

* Added weights to all magazines/tripod. Weights to weapons coming soon when I transfer them to the launcher slot

* Fixed bug regarding localized strings. Created new tripod model

* Added timers for deploying/picking up the tripod. Changed ammo-box model from custom to one already in ARMA. Changed gun-bag model for a more generic one. Created a texture for the tripod and gunbag

* Removed ability to disassemble weapons via the addAction. Added  ACE Action to get in due to a memory point issue. Changed from a static deploy/dismount time to one based in the weapon configs

* Created forward-compatability. Made it so I can define a base plate for any weapon if I ever want to expand from the generic M3 Tripod.

* Fixed bug where tripod wouldn't deploy with the correct times. Fixed bug where if you moved the tripod into the ground it would go flying.

* Added mortar compatability. Will probably shift whole mortar ammo loading to CSW one day

* Added icons to each relavent item

* Added README, possibly fixed bug where if you are in a weapon others cant load/unload ammo. Changed distance you can interact with weapons

* Added checks for when deploying the gun as well as unloading ammo to prevent duplication/deletion of items.

* Added documentation

* Added order to doc

* Explained why things are the way they are

* Remove temp files

* Removed redundant files

* Converted tabs->spaces. Added newlines at end of all files. Changed broken line in fnc_tripodDeploy.sqf.

* 100% newlines at end of file

* Added newlines to files that didnt get the change. Fixed README. Changed from GVAR(cswOptions) to GVAR(options). Changed from tabs to spaces in wiki

* Fixed issue with UAV assembling with enableWeaponDisassembling. Fixed bug where game would crash if you disassembled static weapon with more than 1 magazine

* Tabs->Spaces

* Added CSW options to base StaticWeapon class to allow for easier additions. Switched default mortar away from CSW system due to incompatabilities

* Lazy Evaluations and macros to describe how things work.

* Added newlines to script_component. Fix no-texture issue on tripod. "Fix" 20mm HE saying 40mm HE. Add custom icons to all weapons. Move "Check Ammo" to CSW menu

* abc

* Revert "abc"

This reverts commit bcb4214.

* Update to current commit

* Revert changes to fortify.md

* Updated UI Icon to Crew Served Ammo branch UI

* Added Pabst's CrewServedAmmo to handle ammo loading/unloading instead of my solution

* Fixed bug where currentWeaponTurret returned a blank string when a player hasent entered hte weapon to select the current weapon

* Re-added ammo loading time

* Tabs->Spaces

* Newline at end of files

* Removed replaced functions

* Remove redundant strings. Move ammo handling to appropiate section

* Tabs->Spaces

* Update wiki

* Updated to fix crash with default weapons and disable CSW ability on default static weapons

* Added editor attributes to enable/disable CSW at edit time

* Change how ammo is removed from the CSW. Uses math instead of iteration

* Fix bug where assembled weapon did not get rid of default actions

* Added support for multiple types of ammo in one CSW

* Add tracer magazines for .50 cal

* Fix bug where you could load ammo even if the gun couldnt take any more

* Disable debug and enable compile cache

* Changed weapon deploy/pickup time. Removed custom Titan missiles. Using ACE Dragging now. Added progress bar check for pickupTripod. Updated documentation

* Removed check if CSW is full to unload ammo

* Fix bug where items would spawn underneath other items on wepaon dismount

* Change some things

* Configure base statics, improve returnAmmo

* Add mortar baseplate

* Remove explicit inheritance

* Fix bug where unloading ammo would duplicate it if you had room in your person.

* Tab->Space

* Player couldnt pickup tripod due to legacy code

* Fix GMG_01_base_F inheritce

* Port of ACE 2 tripod + ACE 2 CSW Bag

* Move ACE 2 Data to APL folder

* Adjust weights to make them more accurate to how ARMA uses it and the real life equivalents

* Fix bug where error was thrown on esc from picking up tripod. Tripod rotated 180

* Fix bug where if you called ace_common_claim the weapon could be set to be disassembled even though it may not be wanted via CSW

* Added ability to toggle ammo handling when weaponAssembly is disabled.

* Add Proxy Weapons for all Vanilla static weapons. These serve as a way to allow for realistic ammo reload times without having to modify base classes if you want feautres turned off. Adjusted reload and mount times to be more "realistic"

* Fix Shadow RPT Spam

* Update wiki

* Change order of setDir and setPos

* Change all setDir/setPos orientations. Remove redundant check. Ensure that weapon locked state reflects it with the "getIn" command. Add a way to pass in a specific classname for the weapon assemble type. Add a callback function onDisassemble if user wants to set the state of the new tripod using the old weapon as a reference

* Actually check for the carryWeaponClassname in the deployWeapon check

* Ai Compatiblity

* Add stringtable entries

* Formatting fixes

* Stringtables for settings, fix setMagazineTurretAmmo

* inherit ammo for mags, reorder stringtable

displays correct ammo and descriptionShort

* don't require ace_javelin

* Tweaks, cleanup, localzation, ace_reload changes

change weapon tag to [CSW]
tweak localization strings
minor cleanup
simplify some ace_reload funcs

* delete moved dev func

* Hopefully fix issue where to-be deleted tripod intersects with newly created weapon and vice versa. Remove PBOPREFIX newline

* cleanup/proxyWeapon/mk6 compat
* abc

* Revert "abc"

This reverts commit bcb4214.

* Update to current commit

* Ports over NouberNou's dragon guidance

* Add Dragon model

* Make the Dragon CSW capable

* Fix bugs regarding argument order

* Add Dragon Attack Profile. Change how missileGuidance guidance_pfh works in order to allow for different types of missiles besides continious thrust

* Fix bug regarding missile direction. Add official US Army training manual for the dragon for reference purposes

* Adjust model to reflect real-life one

* Add attackProfile and guidanceProfile onFired functions

* Change Dragon "onFired" to reflect missileGuidance changes

* Only implementing the Super-Dragon. Remove Tabs. Add new lines to all files. Add string-table. Tweak missile flight dynamics

* Add sight description

* Fix inheritance issues. Missile damage values tweaked. Fix String Table. Add backblast area.

* Add feature wiki page.

* Fix picture issues

* Remove Dragon manual

* add missing semi-colon

* Tweak damage values. Fix formatting. Add lazy evaluation where applicable

* Disable the ability to switch to the unusable launcher. Convert rvmat numbers to equivalent but more readable numbers. Multiple code fixes. ace_csw required. Formatting fixes. TGA -> PAA. Remove unused comments in missile guidance code

* Dragon flight dynamics tweaked. Now assuming there is a booster angle creating wobble. Add a slight delay when the wire breaks to fire all of the service charges

* hpp newline fixes. Case sensitivity for model and rvmat references

* Update Wiki dependencies

* Revert "Update Wiki dependencies"

This reverts commit efc298c.

* fix dependency component

* Changed inheritance structure to be more rigid. Remove un-needed config values. Fix script issues regarding positioning and the launchers aliveness

* get rid of the optic for the base dragon. fucking bi configs not making sense

* Lock non-useable dragon on initialization

* Add model.cfg for animations

* Fix formatting. Fix M47 Dragon Optic zoom

* Change LOD selection names

* Revert indentation, keep parenthesis. "Start, stop, start stop! Jesus! I'm starting to think Mattis is just a big cock tease"

* Re-update indentation of model.cfg

* Path fix. Whitespace fix

* Sight attach/detach on same vehicle

* If the sight gets detached, make sure the dragon goes dumb. Remove resetting of resting position when gunner gets out - looks stupid, but when the dragon is fired weird stuff happens

* disable debug

* Add EOF

* Maybe finally fix EOF problem
@PabstMirror PabstMirror added the ignore-changelog Release Notes: Excluded label Jun 8, 2019
@PabstMirror PabstMirror added this to the 3.13.0 milestone Jun 8, 2019
@severgun
Copy link
Contributor

As much as I can see CSW still does not handle "cheating" with ace_rearm and does not support loading from ground.

@bux
Copy link
Member

bux commented Jun 19, 2019

What does that mean @severgun ?

@severgun
Copy link
Contributor

severgun commented Jun 20, 2019

More detailed comments were in original CSW pull request.
For now, you can get ammo truck and load all magazines in static weapon even if in CSW you limit it by 'desired ammo' parameter.
Now ace_rearm allow to disable rearming only by script. I think config parameter would be better here.

Loading from ground more like feature request, but I think it can/should be in initial release. Just check not only players inventory, but groundWeapholder in near field of weapon.
IRL you will take heavy MG ammoboxes from ground where your bearer droped them and not from back pocket of jeans.

private _posATL = _player getRelPos [2, 0];
_posATL set [2, ((getPosATL _player) select 2) + 0.5];

_cswTripod setDir (direction _player);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some small tripods can suffer from rollover even on slight slope.

Suggested change
_cswTripod setDir (direction _player);
_cswTripod setDir (direction _player);
_cswTripod setCenterOfMass ((getCenterOfMass _cswTripod) vectorAdd [0,0,-0.3]);

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we really fix a bug in the 3D model of some tripods?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ace still does this in ace_vehicles

class Extended_Init_EventHandlers {
    class StaticWeapon {
        class ACE_FixMass {
            init = QUOTE(if (local (_this select 0)) then {(_this select 0) setMass (getMass (_this select 0) max 250)};);

so for full static weapons's we try to fix them, so it wouldn't be out of line to fix the tripod models as well
we control most of the p3ds for tripods, so we might be able to fix by moving mass
and perhaps this command would work better than setMass for the full weapon?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI setting center of mass has one issue, if you can pack the weapon into the backpacks it will reset after it is assembled again.

Copy link
Contributor

@severgun severgun Jul 8, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we really fix a bug in the 3D model of some tripods?

This happens on small and narrow third party models. RHS/CUP SPG and Metis have very narrow models. So I don't think that it can be/will be fixed.

FYI setting center of mass has one issue, if you can pack the weapon into the backpacks it will reset after it is assembled again.

That is why it should be done on each createVehicle. Not sure about Drag/Carry actions after placement. Also I think setMass will not work for SPG. But setCenterOfMass will do.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is why it should be done on each createVehicle.

Weapon assembly/disassembly does not fire createVehicle, the weapon is hidden at some coordinates until assembled again.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@veteran29 In the way that CSW works createVehicle does fire

TheCandianVendingMachine and others added 2 commits July 4, 2019 17:56
* Initial Commit

* Got rid of unneeded translation values

* Updated Strings

* "Fixed" issue where when you deploy the tripid and weapon on slope it freaked out.

* Fixed locality issues. Added timers to relavent functions.

* Added weights to all magazines/tripod. Weights to weapons coming soon when I transfer them to the launcher slot

* Fixed bug regarding localized strings. Created new tripod model

* Added timers for deploying/picking up the tripod. Changed ammo-box model from custom to one already in ARMA. Changed gun-bag model for a more generic one. Created a texture for the tripod and gunbag

* Removed ability to disassemble weapons via the addAction. Added  ACE Action to get in due to a memory point issue. Changed from a static deploy/dismount time to one based in the weapon configs

* Created forward-compatability. Made it so I can define a base plate for any weapon if I ever want to expand from the generic M3 Tripod.

* Fixed bug where tripod wouldn't deploy with the correct times. Fixed bug where if you moved the tripod into the ground it would go flying.

* Added mortar compatability. Will probably shift whole mortar ammo loading to CSW one day

* Added icons to each relavent item

* Added README, possibly fixed bug where if you are in a weapon others cant load/unload ammo. Changed distance you can interact with weapons

* Added checks for when deploying the gun as well as unloading ammo to prevent duplication/deletion of items.

* Added documentation

* Added order to doc

* Explained why things are the way they are

* Remove temp files

* Removed redundant files

* Converted tabs->spaces. Added newlines at end of all files. Changed broken line in fnc_tripodDeploy.sqf.

* 100% newlines at end of file

* Added newlines to files that didnt get the change. Fixed README. Changed from GVAR(cswOptions) to GVAR(options). Changed from tabs to spaces in wiki

* Fixed issue with UAV assembling with enableWeaponDisassembling. Fixed bug where game would crash if you disassembled static weapon with more than 1 magazine

* Tabs->Spaces

* Added CSW options to base StaticWeapon class to allow for easier additions. Switched default mortar away from CSW system due to incompatabilities

* Lazy Evaluations and macros to describe how things work.

* Added newlines to script_component. Fix no-texture issue on tripod. "Fix" 20mm HE saying 40mm HE. Add custom icons to all weapons. Move "Check Ammo" to CSW menu

* abc

* Revert "abc"

This reverts commit bcb4214.

* Update to current commit

* Revert changes to fortify.md

* Updated UI Icon to Crew Served Ammo branch UI

* Added Pabst's CrewServedAmmo to handle ammo loading/unloading instead of my solution

* Fixed bug where currentWeaponTurret returned a blank string when a player hasent entered hte weapon to select the current weapon

* Re-added ammo loading time

* Tabs->Spaces

* Newline at end of files

* Removed replaced functions

* Remove redundant strings. Move ammo handling to appropiate section

* Tabs->Spaces

* Update wiki

* Updated to fix crash with default weapons and disable CSW ability on default static weapons

* Added editor attributes to enable/disable CSW at edit time

* Change how ammo is removed from the CSW. Uses math instead of iteration

* Fix bug where assembled weapon did not get rid of default actions

* Added support for multiple types of ammo in one CSW

* Add tracer magazines for .50 cal

* Fix bug where you could load ammo even if the gun couldnt take any more

* Disable debug and enable compile cache

* Changed weapon deploy/pickup time. Removed custom Titan missiles. Using ACE Dragging now. Added progress bar check for pickupTripod. Updated documentation

* Removed check if CSW is full to unload ammo

* Fix bug where items would spawn underneath other items on wepaon dismount

* Change some things

* Configure base statics, improve returnAmmo

* Add mortar baseplate

* Remove explicit inheritance

* Fix bug where unloading ammo would duplicate it if you had room in your person.

* Tab->Space

* Player couldnt pickup tripod due to legacy code

* Fix GMG_01_base_F inheritce

* Port of ACE 2 tripod + ACE 2 CSW Bag

* Move ACE 2 Data to APL folder

* Adjust weights to make them more accurate to how ARMA uses it and the real life equivalents

* Fix bug where error was thrown on esc from picking up tripod. Tripod rotated 180

* Fix bug where if you called ace_common_claim the weapon could be set to be disassembled even though it may not be wanted via CSW

* Added ability to toggle ammo handling when weaponAssembly is disabled.

* Add Proxy Weapons for all Vanilla static weapons. These serve as a way to allow for realistic ammo reload times without having to modify base classes if you want feautres turned off. Adjusted reload and mount times to be more "realistic"

* Fix Shadow RPT Spam

* Update wiki

* Change order of setDir and setPos

* Change all setDir/setPos orientations. Remove redundant check. Ensure that weapon locked state reflects it with the "getIn" command. Add a way to pass in a specific classname for the weapon assemble type. Add a callback function onDisassemble if user wants to set the state of the new tripod using the old weapon as a reference

* Actually check for the carryWeaponClassname in the deployWeapon check

* Ai Compatiblity

* Add stringtable entries

* Formatting fixes

* Stringtables for settings, fix setMagazineTurretAmmo

* inherit ammo for mags, reorder stringtable

displays correct ammo and descriptionShort

* don't require ace_javelin

* Tweaks, cleanup, localzation, ace_reload changes

change weapon tag to [CSW]
tweak localization strings
minor cleanup
simplify some ace_reload funcs

* delete moved dev func

* Hopefully fix issue where to-be deleted tripod intersects with newly created weapon and vice versa. Remove PBOPREFIX newline

* cleanup/proxyWeapon/mk6 compat

* RHS compatability

* Modified all tripod p3ds to have [0,0,0] at the mount. Ported AGS-30, Kord, M220, and SPG-9 tripods to APL And added them to CSW. Changed RHS compats to use new ported tripods. Changed strings to reflect real names.

* Change from M224 Mortar Bag -> Mk6 Mortar bag

* Add named propert (Autocenter) to make P3D [0,0,0] the center of the object instead of engine calculated

* oh no tabs

* remove some more evil tabs

* fix changes lost in merge

* fix bad merge pt2

* Fix UBC
* Dragon work

cleanup
remove unused p3ds
add pos_gunner_dir/pos_gunner to static
add [csw] prefix to arsenal version
add sight interaction icons

* Update fnc_staticWeaponInit_unloadExtraMags.sqf

* ace_rearm compat

allows pulling carry mags out of rearm trucks

* Update fnc_ai_handleFired.sqf

* Re-add 3den attributes

* cleanup and move A2 staticweapon strings to ace_csw
@PabstMirror PabstMirror changed the title CSW/Artillery Final Intergration Crew Served Weapons - Final Integration Jul 6, 2019
@PabstMirror PabstMirror marked this pull request as ready for review July 6, 2019 03:54
 Conflicts:
	optionals/compat_rhs_usf3/CfgMagazines.hpp
	optionals/compat_rhs_usf3/config.cpp
{
aside[] = {1.0,0.0,0.0};
up[] = {0.0,1.0,0.0};
dir[] = {0.0,0.0,0.0};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be 0,0,1, it's a matrix.

it's wrong everywhere -.-

@PabstMirror PabstMirror merged commit ebb1ef6 into master Aug 11, 2019
@PabstMirror PabstMirror modified the milestones: 3.13.0, 3.13.0-temp2 Dec 30, 2019
@PabstMirror PabstMirror deleted the cswSuperBranch branch March 12, 2020 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ignore-changelog Release Notes: Excluded
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants