freezy / dmd-extensions

A toolbox for virtual pinball dot matrix displays.
GNU General Public License v2.0
120 stars 52 forks source link

[Feature Request] Required Files -- Status Checker #454

Closed Ltek closed 6 months ago

Ltek commented 6 months ago

Since there are multiple DMD formats, and somewhat confusing to what we need for things to work and know what we have. The ask is for a quick and easy way to show/audit what the user has installed and what is missing (PAL, PAC, Serium, etc)... all in one spot. We can quickly know what files are there, or missing, and what versions we are on. using a basic table/list showing the files installed, date/version, and which format they belong to... and alert us to any missing which would require it to work properly.

Example... it took me an hour of web and forum searches before I found that all I needed to get PAC files working was two DLLs - but - I had to download both complete install archives from Lucky's repo to get them. It took many web searches to find a early 2023 'ask for help' forum post stating all I needed was 2 files, plain an simple. But that is not clearly articulated anywhere else I could find.

Having a table that showed the files needed and if they exist would have made it obvious in a second what I needed to look for on the web.

something like this...

image
zesinger commented 6 months ago

All you need is to follow the explanations here https://vpuniverse.com/forums/topic/9051-new-release-v220-final/ , all colorization formats will work with dmdext and nothing else.

Ltek commented 6 months ago

That post does not solve the issue or provide the benefit I'm suggesting... I'm saying... have a quick and easy way to show/audit what the user has installed and what is missing (PAL, PAC, Serium, etc)... all in one spot. We can quickly know what files are there, or missing, and what versions we are on.

vPin app structure and organization is a mess of different things in different places and its very difficult to keep track of what we have and where it is. This is one small ask to help make with nearly everyone getting into the hobby has problems with... knowing what they have and where it is.

I really wish the community devs would get together an create a proper and uniform file folder structure using a defacto standard like the 'nix community cfg, bin, and such and have separate folders for each app that were not multi-levels down. vPinMame is the worst. Bad folder structure "design"... altcolor and altsound have separate folders for each table but "Rom" and "Tables" folders are 'just throw everthing in the root!? That mess should be fixed to have a single folder for each table, and all table items (vpx, rom, altsound, altcolor, etc) go under single folder to create a 'package' for a given table. It makes everything better/easier. I love my vPin (I play it daily) and after 35 years in software I can say the lack of thoughtful file/folder/config structure is the worst I've ever seen.

freezy commented 6 months ago

All you'll need is in the package. The VNI key is in the post mentioned by @zesinger, and it makes Lucky's fork obsolete. To know which colorizations are on your system, check your altcolor folder. It's not dmdext's job to parse your table scripts and check whether any colorizations are installed. In fact, dmdext doesn't even know about VPX. It's just an output driver for PinMAME and other emulators. Maybe popper or whatever frontend you're using could do that.

What you don't seem to understand (surprisingly, for a person in software for 35 years) is that the vpin ecosystem grew from different software projects over a period of twenty+ years. That not every project is aware of every other project and thus file structures differ between project shouldn't be a shock to anyone.

Ltek commented 6 months ago

the vpin ecosystem grew from different software projects over a period of twenty+ years. That not every project is aware of every other project and thus file structures differ between project shouldn't be a shock to anyone.

I do understand that... its obvious from the lack of collaboration on structure and standards. What is shocking is that in 20 years none of the devs tried to fix any of it. Only recently are they pulling settings out of the registry and storing them in ini/cfg files.. and some still exist in the registry. mindboggling why anyone in the past decade would have thought that was the windows registry is right way, let along not just fix (remove) that.

Maybe popper or whatever frontend you're using could do that.

Yes, that would be a better place for it... but Popper is not open source and thus any changes, fixes, new features just will never happen. Popper has great functionality and could so much more if he'd opensource it. Even crappy coders like me could fix some of the bugs and UX issues.

freezy commented 6 months ago

There are many considerations when "fixing" these issues, starting with backwards-compatibility. I don't think it's fair to complain about this, specially when it's on the course of being fixed.

I agree that it would be more beneficial to the community if popper was open source, but that's not for me to decide. I'd post a feature request in the forum.