toadie2k / NIArms

45 stars 44 forks source link

Some guns have six attachment slots #136

Open Blutze opened 5 years ago

Blutze commented 5 years ago

9:00:13 Error: Weapon[hlc_rifle_G36KV]: max attachments slots count reached(maximum = 5)! Attachment slot[MuzzleSlot] for weapon's proxy[\a3\data_f\proxies\weapon_slots\MUZZLE]

https://github.com/toadie2k/NIArms/blob/master/hlc_wp_g36/config.cpp#L1636

//plus inherited muzzle slot
class CowsSlot : asdg_OpticRail1913 {};
class PointerSlot : asdg_FrontSideRail {};
class UnderBarrelSlot : asdg_UnderSlot {};
class GripodSlot : nia_rifle_grips_slot {};
class CharmSlot{};

That charms slot does not have any subclasses or properties, but it is still there: image

Other than the rpt error, this makes these guns drop muzzle devices (don't get rendered in the arsenal, and disappear when closing). Might also be caused by the muzzleflash files missing (running old core, because the new one isn't up yet).

Simple search on the repo finds the "empty, but existing" slot in G36s, MP5s, 30-11s and SAWs.

https://gist.github.com/Blutze/5e3cb8083cda1e7b516a4215d66bc5db doesn't seem to delete it, though that is rumored to be the correct command and syntax.

Bipod rail animations and inertia values aren't fixed either btw.

Blutze commented 5 years ago

plus G3s.

So on hlc_m249_pip4, the six slots are all redefined with the charms slot last: https://github.com/toadie2k/NIArms/blob/5d10c55614bf0c059dbbce6ae8b47969d370ce27/hlc_wp_saw/config.cpp#L2056-L2071 That somehow makes the charms slot the odd one out, and muzzle devices are displayed properly. Still causes rpt errors though.

For the MP5s, all usages put the charms on the bottom, except for hlc_smg_mp5a2_tac which puts the grip slot last instead... and now those items are the ones disappearing.

The other overwriting attempts redefine all six slots in the order that works-ish, or get lucky with inheritance.

toadie2k commented 5 years ago

So yeah, the empty charmslots are there to break inheritance on guns that already reach max slots so players don’t have them available,so yeah it's kind of rot erroring by design. Probably the cleaner way to do it would be to actually break inheritance entirely on the weapons that need it, but one headache at a time. From: Blutze Sent: Monday, 29 April 2019 4:07 PM To: toadie2k/NIArms Cc: Subscribed Subject: [toadie2k/NIArms] Some guns have six attachment slots (#136)

9:00:13 Error: Weapon[hlc_rifle_G36KV]: max attachments slots count reached(maximum = 5)! Attachment slot[MuzzleSlot] for weapon's proxy[\a3\data_f\proxies\weapon_slots\MUZZLE] https://github.com/toadie2k/NIArms/blob/master/hlc_wp_g36/config.cpp#L1636 //plus inherited muzzle slot class CowsSlot : asdg_OpticRail1913 {}; class PointerSlot : asdg_FrontSideRail {}; class UnderBarrelSlot : asdg_UnderSlot {}; class GripodSlot : nia_rifle_grips_slot {}; class CharmSlot{}; That charms slot does not have any subclasses or properties, but it is still there:

Other than the rpt error, this makes these guns not show muzzle devices. Might also be caused by the muzzleflash files missing (running old core, because the new one isn't up yet). Simple search on the repo finds the "empty, but existing" slot in G36s, MP5s, 30-11s and SAWs. https://gist.github.com/Blutze/5e3cb8083cda1e7b516a4215d66bc5db doesn't seem to delete it, though that is rumored to be the correct command and syntax. Bipod rail animations and inertia values aren't fixed either btw. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

jonpas commented 5 years ago

charmslots are there to break inheritance on guns

That sounds pretty bad honestly. Are we at a point of breaking inheritance on purpose to have silly charms on guns? Should play some other game for that...

Blutze commented 5 years ago

Sounds like unlucky wording, nothing more. Disabling them would be closer to what is happening, and I can see that is the intent.

@toadie2k Problem is that even when empty, some of them have priority over other slots when it comes to the limit of five. Its not just rpt errors, it breaks the muzzle slot on multiple variants.

I can't get delete to work on this (like, the line is simply ignored), but for the MP5A2 just changing the order does the trick. Have the week off, so I'm gonna look into making the relevant guns inherit from hlc_g36_base directly.

toadie2k commented 5 years ago

Yeah, it was 1:45 am when I mailed that in, Disabling is the intent. aaaand you're correct, it does break the muzzles. Effin jeff. Considering BI's got me back inside re-fixing stuff after the new patch, sigh I guess I've got the time to do it right.

Git commit to follow later in the week.

toadie2k commented 5 years ago

Actually thinking about it, I could just make WeaponSlotsInfo not be inherited. Duh, yeah, okay this is less of a drag to fix. Thank you for holding me to a standard of work than tired me would accept.

jonpas commented 5 years ago

Haha, we're bitchy enough! :D

Blutze commented 5 years ago

Plus hlc_rifle_hk51: bipod slot not disabled, but odd one out. Plus hlc_rifle_osw_GL: muzzle slot breaks. Plus HLC_Rifle_g3ka4_GL: pointer slot breaks. Plus hlc_rifle_honeybadger: charm slot is not disabled, but odd one out.

You made a mistake when shuffling inheritances: hlc_rifle_m14sopmod is missing scope = public.

We're making progress! Of these, I think at most the GL battle rifles are worth a re-upload. Anybody who thinks EBRs are cool and not an IRL disaster is welcome to fite me. IRL. Where they are a disaster.

toadie2k commented 5 years ago

Same. When I get aroudn to replacing the M14s with ones I've made myself, I want to do a Proper recreation of the Rock SOPMOD as well as the Sage EBR chassis one. Ah well, discretely reupping the G3, Fal and M14.