Skip to content

Commit

Permalink
rename ULWGL to umu
Browse files Browse the repository at this point in the history
  • Loading branch information
GloriousEggroll committed Mar 21, 2024
1 parent 9802b77 commit 6b10984
Show file tree
Hide file tree
Showing 17 changed files with 669 additions and 669 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/validity-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: ./tools/preflight-check.py ./ULWGL-database.csv
- run: ./tools/preflight-check.py ./umu-database.csv

56 changes: 28 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,41 @@
# ULWGL-database
Contains spreadsheet of game titles for different stores, their store specific code names, and their ULWGL ids.
# umu-database
Contains spreadsheet of game titles for different stores, their store specific code names, and their umu ids.

Information from the spreadsheet is piped into a ULWGL sql database which is then read by various tools to fetch data.
Information from the spreadsheet is piped into a umu sql database which is then read by various tools to fetch data.

Typical useage would be for a tool to query the database using the codename and store type, and fetch the correlating game title and ulwgl id, then feed them into the ULWGL launcher.
Typical useage would be for a tool to query the database using the codename and store type, and fetch the correlating game title and umu id, then feed them into the umu launcher.

# Online database search:

https://ulwgl.openwinecomponents.org
https://umu.openwinecomponents.org

# Current available database endpoints (results are in JSON format):

List ALL entries:

https://ulwgl.openwinecomponents.org/ulwgl_api.php
https://umu.openwinecomponents.org/umu_api.php

List ALL entries based on STORE:

https://ulwgl.openwinecomponents.org/ulwgl_api.php?store=SOME-STORE
https://umu.openwinecomponents.org/umu_api.php?store=SOME-STORE

Get TITLE and ULWGL_ID based on STORE and CODENAME:
Get TITLE and UMU_ID based on STORE and CODENAME:

https://ulwgl.openwinecomponents.org/ulwgl_api.php?store=SOME-STORE&codename=SOME-CODENAME-OR-APP-ID
https://umu.openwinecomponents.org/umu_api.php?store=SOME-STORE&codename=SOME-CODENAME-OR-APP-ID

Get ALL GAME VALUES based on CODENAME:

https://ulwgl.openwinecomponents.org/ulwgl_api.php?codename=SOME-CODENAME-OR-APP-ID
https://umu.openwinecomponents.org/umu_api.php?codename=SOME-CODENAME-OR-APP-ID

Get TITLE based on ULWGL_ID and STORE:
Get TITLE based on UMU_ID and STORE:

https://ulwgl.openwinecomponents.org/ulwgl_api.php?ulwgl_id=SOME-ULWGL-ID&store=SOME-STORE-OR-NONE
https://umu.openwinecomponents.org/umu_api.php?umu_id=SOME-UMU-ID&store=SOME-STORE-OR-NONE

Get ALL GAME VALUES AND ENTRIES based on ULWGL_ID:
Get ALL GAME VALUES AND ENTRIES based on UMU_ID:

https://ulwgl.openwinecomponents.org/ulwgl_api.php?ulwgl_id=SOME-ULWGL-ID
https://umu.openwinecomponents.org/umu_api.php?umu_id=SOME-UMU-ID

# Rules for adding ulwgl id entries:
# Rules for adding umu id entries:

1. Determine the codename for the game depending on it's store.

Expand Down Expand Up @@ -71,41 +71,41 @@ Codename would be `1422357892`

(More store-specific methods will be documented later).

2. If a game is on steam, the ULWGL ID will be ulwgl-steamid. If it is not, you can make up any value as long as it does not already exist.
2. If a game is on steam, the UMU ID will be umu-steamid. If it is not, you can make up any value as long as it does not already exist.

Examples for games on steam and other platforms:

Borderlands 3:
```
ulwgl-397540
umu-397540
```

Ys Origin:
```
ulwgl-207350
umu-207350
```

Examples for games not on steam:

Dauntless:
```
ulwgl-dauntless
umu-dauntless
```

3. You can have duplicate lines for the same game, just as long as the ulwgl ID is the same.
3. You can have duplicate lines for the same game, just as long as the umu ID is the same.

Example:
```
TITLE STORE CODENAME ULWGL_ID NOTE (Optional)
Grand Theft Auto V egs 9d2d0eb64d5c44529cece33fe2a46482 ulwgl-271590
Grand Theft Auto V none none ulwgl-271590 rockstar standalone
TITLE STORE CODENAME UMU_ID NOTE (Optional)
Grand Theft Auto V egs 9d2d0eb64d5c44529cece33fe2a46482 umu-271590
Grand Theft Auto V none none umu-271590 rockstar standalone
```

4. Game titles must be correctly capitalized as they may be used in protonfixes to display text output. all other entries should be lower case. Database search queries should be cast to lower case and/or searched case insensitive.

5. If a game is standalone or does not belong to a major storefront, use 'none' as the store and codename. Protonfixes has several gamefixes directories for different stores. If no store and/or codename is specified it will search instead search the 'ULWGL' gamefixes directory instead of the store directory for the ULWGL ID.
5. If a game is standalone or does not belong to a major storefront, use 'none' as the store and codename. Protonfixes has several gamefixes directories for different stores. If no store and/or codename is specified it will search instead search the 'umu' gamefixes directory instead of the store directory for the UMU ID.

6. For games not on steam the second part of the ID should have at least one letter but preferably be a phrase thats easily understandable simply so that it's not parsed as a steam id. We perform a check on the second part of the ULWGL ID to determine if it's numeric or not. If it is, that part is sent as the steam ID to proton. Protonfixes prioritizes ULWGL_ID envvar, but proton itself uses SteamAppId for some game specific fixes directly.
6. For games not on steam the second part of the ID should have at least one letter but preferably be a phrase thats easily understandable simply so that it's not parsed as a steam id. We perform a check on the second part of the UMU ID to determine if it's numeric or not. If it is, that part is sent as the steam ID to proton. Protonfixes prioritizes UMU_ID envvar, but proton itself uses SteamAppId for some game specific fixes directly.

Ex from proton:

Expand All @@ -124,10 +124,10 @@ Ex from proton:
ret.add("gamedrive")
```

So, if say the game 'As Dusk falls' has both protonfixes and a proton official specific fix like above. It's ULWGL ID would be ulwgl-1341820 which gets passed to protonfixes, while the second part of that -- 1341820 gets parsed and passed as the SteamAppId/appid, this way it allows both Valve's fixes in their proton script (and their wine code) to work as well as our protonfixes.
So, if say the game 'As Dusk falls' has both protonfixes and a proton official specific fix like above. It's UMU ID would be umu-1341820 which gets passed to protonfixes, while the second part of that -- 1341820 gets parsed and passed as the SteamAppId/appid, this way it allows both Valve's fixes in their proton script (and their wine code) to work as well as our protonfixes.


7. The ONLY time the same game should have two different ULWGL IDs is if they are not from a major API-managed store front.
7. The ONLY time the same game should have two different UMU IDs is if they are not from a major API-managed store front.

For example, Genshin Impact has a standalone PC version and a "PlayPC" version. Neither of these are a major API managed storefront such as like EGS or Amazon etc. In this case they are treated as individual separate games within the ULWGL protonfixes folder, and thus they need separate IDs in the event that one may ever need different fixes from the other (ulwgl-genshin and ulwgl-genshin-playpc).
For example, Genshin Impact has a standalone PC version and a "PlayPC" version. Neither of these are a major API managed storefront such as like EGS or Amazon etc. In this case they are treated as individual separate games within the umu protonfixes folder, and thus they need separate IDs in the event that one may ever need different fixes from the other (umu-genshin and umu-genshin-playpc).

Loading

0 comments on commit 6b10984

Please sign in to comment.