pcsx2 icon indicating copy to clipboard operation
pcsx2 copied to clipboard

Workflows: Fetch cheats from a separate pcsx2_patches repository

Open CookiePLMonster opened this issue 1 year ago • 13 comments

Description of Changes

Instead of shipping a single .zip file in the repo with shared history for all patches ~~pack them on the builder.~~ fetch a release ZIP from a new https://github.com/PCSX2/pcsx2_patches repository.

Rationale behind Changes

Proper history and diffs for widescreen/deinterlace patches.

Suggested Testing Steps

Ensure that the artifacts build fine and they bundle properly structued cheats_ni.zip and cheats_ws.zip.

To do:

  • [x] Abuse CI to verify that whatever I did makes sense
  • [x] Do Windows
  • [x] Do Linux
  • [x] Do MacOS
  • [x] Verify it doesn't do duplicate work for no reason

Must be merged after https://github.com/PCSX2/pcsx2_patches/pull/1.

CookiePLMonster avatar Aug 04 '22 19:08 CookiePLMonster

100% want to do this, but want to put the patches ideally in a separate repo for a couple of reasons.

  1. It's easier to update (without triggering another release (only needs to update once the next release is made).
  2. Downloading the repo to develop means your resources folder is going to have a million files in it.
  3. This was the original plan xD

I can make another repo for it and upload all the files there and you can modify your workflow to link to that, if you want.

refractionpcsx2 avatar Aug 04 '22 19:08 refractionpcsx2

I can make another repo for it and upload all the files there and you can modify your workflow to link to that, if you want.

Sounds good! Might also make the workflow simpler since there will be no need to exclude anything from artifacts.

EDIT: Ideally, this other repo has artifacts in form of a .zip file (is it possible or are we stuck with .7z?) that PCSX2 downloads, identical to how it does Windows Qt dependencies.

CookiePLMonster avatar Aug 04 '22 19:08 CookiePLMonster

Well, PR artifacts are zip files rather than 7zips, so i guess you can make zips from them? Honestly don't know..

refractionpcsx2 avatar Aug 04 '22 20:08 refractionpcsx2

So no interest in two single YAMLs?

Anuskuss avatar Aug 06 '22 07:08 Anuskuss

No because that's difficult for users to share/work individually on without having github.

refractionpcsx2 avatar Aug 06 '22 08:08 refractionpcsx2

Well, I'd suggest having them in a seperate repo (like is done here) and then combining them into YAMLs instead of ZIPs. Sure you'll lose the gains from compression but the ability to just CTRL+F all cheats sounds worth it to me.

Anuskuss avatar Aug 07 '22 00:08 Anuskuss

Open the directory in vscode and you can do exactly that.

F0bes avatar Aug 07 '22 00:08 F0bes

a YAML is a terrible idea, YAML is not user friend;y. so no. So please stop suggesting it.

refractionpcsx2 avatar Aug 07 '22 00:08 refractionpcsx2

YAML is not user friend;y

@refractionpcsx2 Sorry, but you're full of shit. How is learning the basic syntax of YAML (anyone capable of writing a patch should be more than capable to learn this) less user friendly than having to browse through hundreds of files or installing an external editor? Having a single file has no disadvanages other than that it takes a little bit to scroll around. Way less so than having to unpack the ZIP, remembering the CRC32 and loading that into an editor. But if you don't want to consider it it's you're choice. Just say "We like to do things how we used to do them around here" next time and save me some time.

Anuskuss avatar Aug 07 '22 02:08 Anuskuss

How is learning the basic syntax of YAML (anyone capable of writing a patch should be more than capable to learn this) less user friendly than having to browse through hundreds of files or installing an external editor?

YAML is a structured data storage format. Yes, to a typical user, that is more confusing than navigating a zip file. They do not want to browse one massive YAML file and learn how to read YAML, they want to look up one CRC in a zip file and be done.

Having a single file has no disadvanages other than that it takes a little bit to scroll around.

It is an extreme disadvantage, you now MUST open the single YAML file in a well developed text editor, whilst the zip can be navigated with any stock OS and files read with any stock OS editor. Notepad and some other editors do not properly respect YAML formatting, and the minute someone hits tab by accident we will see a thousand new help requests.

Way less so than having to unpack the ZIP, remembering the CRC32 and loading that into an editor.

If you're editing the patches, you wouldn't have them zipped in the first place? The repository containing the patches is just a plain folder, so if you want to edit them you would just clone that and add the pnach file to it... Getting the CRC is easy, that information appears in the logs, as it always has.

@refractionpcsx2 Sorry, but you're full of shit.

But if you don't want to consider it it's you're choice. Just say "We like to do things how we used to do them around here" next time and save me some time.

Great way to make people not take you seriously.

RedPanda4552 avatar Aug 07 '22 02:08 RedPanda4552

Sorry, but you're full of shit

https://writingexplained.org/idiom-dictionary/bite-the-hand-that-feeds

Having a single file has no disadvanages other than that it takes a little bit to scroll around.

You're ignoring indenting, prefixing lines, etc. Which doesn't really mesh with our pnach syntax. It's messy enough in the gamedb.

Way less so than having to unpack the ZIP, remembering the CRC32 and loading that into an editor.

A YAML file would also use crc32s as keys? So it's no different to cloning the patches repository and opening the file.

Just say "We like to do things how we used to do them around here" next time and save me some time.

Maybe consider how entitled you're acting, and how we're wasting our time responding to moronic comments such as this one.

stenzek avatar Aug 07 '22 03:08 stenzek

Especially when you already broke the Discord rules before, respect is earned and never given. Besides, normal users are more likely to get INI files than YAML files.

Attacking people randomly won't get you anywhere, it will only incite negative responses like mines. It's not a crime to have totally opposite opinions about things if you tell the pros even if it's only specific to you or others.

I don't remember what the main reason was for GameDB becoming YAML. At least to me, a reason is that the difficulty hurdle being a negative is actually a positive in that sense, in that it does block most people messing around in the GameDB.

RedDevilus avatar Aug 07 '22 03:08 RedDevilus

...Way less so than having to unpack the ZIP, remembering the CRC32 and loading that into an editor.

Load the entire directory into an editor and just search. No need to remember CRC32s. Your point of installing an external editor is absolutely moot because it would be a completely horrendous workflow to use notepad for YAML.

But....

If you wish to for whatever reason use notepad, you can scan a folder for file contents in explorer search using content:.

F0bes avatar Aug 07 '22 03:08 F0bes