MAFINS / MenyooSP

[or Menyoo PC] - Trainer/mod menu for Grand Theft Auto V (single-player).
https://www.gta5-mods.com/scripts/menyoo-pc-sp
GNU General Public License v3.0
775 stars 492 forks source link

1.7.5 update to combine discussed changes. #458

Closed itsjustcurtis closed 1 year ago

itsjustcurtis commented 1 year ago

Summary: Bike Wheels issue #447 resolved. Wheel selection renders correctly, and wheels are believed to save correctly when saving custom vehicles. .ini changes to allow customisation of the manual respawn button has been implemented #448 . Respawn key is set using the same key codes as the menu binds. Help Text has been updated to dynamically reflect the button needed. (This text is currently hard-coded and matches default text. Could do with re-writing for more human-readable text) Pearlescent paints now read directly from carcols files, allowing addon paints to list correctly. Wheel, Interior and Dashboard paints now read from a single, large list, and omit irrelevant paint indexes, addressing #445. Pearlescents are still included but not used; This list could be trimmed down at a later date.

itsjustcurtis commented 1 year ago

I think in Sub_Shared, it'll be best to set the paint vector in the switch used for AddTitle. And the actual populating of the vectors (PAINTS_PEARL, PAINTS_WHEELS, PAINTS_INTERIOR, PAINTS_DASHBOARD) can be done in GetAllPaintIDs() and just once rather than every time the user switches categories. I don't think PAINTS_SHARED should be used.

Once they are populated, they can be used freely and even referenced if needed in the future. I also think that GetAllPaintIDs() should be called upon Menyoo first being opened, rather than when the Paints menu is first opened.

I can certainly look into moving stuff about to better use it. The Paints Shared array was partly an experiment with re-populating a fixed array. If I'm going to create new arrays within the GetAllPaintIDs then I might as well just create 3 distinct, fixed arrays with the Correct colour lists for each.

I suggest not omitting 0 as it is the fallback color when an illegal paint is used (thus 0 is, technically, obtainable and storable in GTAO)

This list was generated using your own table, if 0 is omitted its because your table said it is. It can be easily changed.

What is this and why is it omitting so many paint colors? Also, 156 is Alloy (DefaultAlloyColor), not "default And 160 (MP100SPEC) is the standard pearl of 158 (Pure Gold) and 159 (Brushed Gold)

To try and isolate the lists that you created in the table you sent, I created a single array (PAINTS_STATIC) that contains every colour that shows up in at least one of the Pearl, Wheel, Interior and Dashboard Categories. When a given category is selected, certain values are omitted from that list to generate the list of colours you specifically requested in your suggestion. "Alloy" was named as "Default" as that is the legacy name for the colour. It has always been named that in Menyoo, I kept it there to avoid confusion.

metoxys commented 1 year ago

I suggest not omitting 0 as it is the fallback color when an illegal paint is used (thus 0 is, technically, obtainable and storable in GTAO)

This list was generated using your own table, if 0 is omitted its because your table said it is. It can be easily changed.

Yeah, 0 is valid only through a technicality. You can't set your dashboard/accent color in GTAO as 0 (which is why it is listed as unobtainable in my table), but if you are on PC and somehow modify your car to have a non-whitelisted color, it will be set to 0 upon disconnecting and reconnecting to Online.

What is this and why is it omitting so many paint colors? Also, 156 is Alloy (DefaultAlloyColor), not "default And 160 (MP100SPEC) is the standard pearl of 158 (Pure Gold) and 159 (Brushed Gold)

To try and isolate the lists that you created in the table you sent, I created a single array (PAINTS_STATIC) that contains every colour that shows up in at least one of the Pearl, Wheel, Interior and Dashboard Categories.

Ah okay

MAFINS commented 1 year ago

I've already added all your commits to the master branch after reverting one of the project file which had been changed. However, 02ff4ff is not included, and I do like that its all static now. Instead of resolving conflicts manually, you can just force pull the latest modshop file from master and add the same changes as 02ff4ff again if you'd like (remove the code that populates the vectors so that its hard coded).