Skip to content

Commit

Permalink
Source Release
Browse files Browse the repository at this point in the history
Initial push to the nightly branch with version "v0.80 Build 193", containing the source code and a pre-compiled .pkg file, as well as a change log.
  • Loading branch information
ItsJokerZz committed Jan 9, 2025
1 parent 83a8abe commit 57893ce
Show file tree
Hide file tree
Showing 334 changed files with 50,330 additions and 45 deletions.
56 changes: 56 additions & 0 deletions .github/workflows/fetch-latest-uob.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Update UnityOrbisBridge Files

on:
workflow_dispatch:

jobs:
fetch-and-replace:
runs-on: ubuntu-latest

steps:
- name: Checkout source repo
uses: actions/checkout@v3
with:
repository: ItsJokerZz/UnityOrbisBridge
token: ${{ secrets.GITHUB_TOKEN }}
path: source_repo
ref: main

- name: Checkout target repository
uses: actions/checkout@v3

- name: Create required directories
run: |
mkdir -p source/Assets/Plugins/PS4
mkdir -p source/Assets/Scripts
mkdir -p source/Assets/Plugins
- name: Copy UnityOrbisBridge.prx from source repo
run: |
curl -L -o source/Assets/Plugins/PS4/UnityOrbisBridge.prx https://raw.githubusercontent.com/ItsJokerZz/UnityOrbisBridge/main/source/plugin/UnityOrbisBridge.prx
- name: Copy UOBWrapper.cs from source repo
run: |
curl -L -o source/Assets/Scripts/Globals/UOBWrapper.cs https://raw.githubusercontent.com/ItsJokerZz/UnityOrbisBridge/main/source/wrapper/UOBWrapper.cs
- name: Copy UnityOrbisBridge.dll from source repo
run: |
curl -L -o source/Assets/Plugins/UnityOrbisBridge.dll https://raw.githubusercontent.com/ItsJokerZz/UnityOrbisBridge/main/source/Unity-API/UnityOrbisBridge.dll
- name: Check for changes
run: |
git diff --exit-code || echo "Changes detected"
- name: Commit and push changes if there are changes
run: |
if [ -n "$(git status --porcelain)" ]; then
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add source/Assets/Plugins/PS4/UnityOrbisBridge.prx
git add source/Assets/Scripts/Globals/UOBWrapper.cs
git add source/Assets/Plugins/UnityOrbisBridge.dll
git commit -m "Update UnityOrbisBridge & Wrapper with source repo(s)"
git push origin HEAD
else
echo "No changes to commit"
fi
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/source/etc
/source/.vs

/source/Assets/Scripts/.vs

/source/BUILD
/source/DATA
/source/Library
/source/obj
/source/Temp
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# FPKGi - Nightly Changelog
<details>
<summary>[ v0.80-nightly Build: 193 ] from Jan 9th, 2025</summary>

**Fixes:**
- **Background Music:** Resolved issue with music not playing, toggling, or saving correctly when closing the menu.
- **Populate via Web:** Ensured settings are retained after closing the menu.
- **Search Filtering:**
- **Improved Filtering:** Filter now persists across pages.
- **Reset Functionality:** Filter resets properly, restoring unfiltered content.
- **Downloading:**
- Fixed issues with invalid content blocking actions and downloads.

**Improvements:**
- **Downloading:**
- Increased update interval for better performance and accuracy.
- Improved download speed accuracy using smoothing.
- Enhanced overall download estimates for UI display.

**Features:**
- **Downloading:** Added elapsed download time counter to the UI.

</details>
339 changes: 339 additions & 0 deletions LICENSE.txt

Large diffs are not rendered by default.

118 changes: 73 additions & 45 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,25 @@
# FPKGi - A Server Populated PS4 Content Downloader
This app allows users to easily download and install their `.pkg` content from a server, directly and functions like [PKGi](https://www.github.com/bucanero/pkgi-ps3).

> [!NOTE]
> FPKGi stands for Fake PKG and references modified .pkg files for backported PS4 games. The project is a clone of the original PKGi.
> FPKGi stands for Fake PKG and references modified .pkg files for backported PS4 games. The project is a clone of the original [PKGi](https://www.github.com/bucanero/pkgi-ps3).
> This lets you populate the app with your own content via `.json` files locally or from the web, and download from your own servers.
> It supports any `.pkg `content, provided you have the necessary licenses. If you're using older FW with backported games, you're all set!
> This tool is for educational and personal use only. Its open-sourced and community-driven, committed to game preservation for the PS4 homebrew community,
> giving everybody the quick and easy way to view and download and quickly install their offloaded content.
---

## Setup Instructions
Download the latest pre-compiled [`.pkg`](https://github.com/ItsJokerZz/FPKGi/releases) or build it yourself as per, [how to build](#how-to-build), and install it on your console.

### 1. Download [here](https://github.com/ItsJokerZz/FPKGi/releases) and install the build.

### 2. Populate Content
### Populate Content
Launch the application to automatically create the necessary directories and `.json` files in the `/data/FPKGi/` folder.

#### Populate Content Locally
Edit the `.json` files generated at `/data/FPKGi/ContentJSONs/` to add your content.

You may also generate / populate, and save the necessary content `.json` via [here](https://www.itsjokerzz.site/projects/FPKGi/gen/).<br><br>
Edit the `.json` files generated at `/data/FPKGi/ContentJSONs/` to add your content. <br>
**You can also generate / populate, and save the necessary `.json` file [here](https://www.itsjokerzz.site/projects/FPKGi/gen/) on my site.**

> [!NOTE]
> Use bytes for `"size"` and `"release"` must be in the format: `"MM-DD-YYYY"`.<br>
> Region codes for specifying content regions: `"USA"`, `"JAP"`, `"EUR"`, `"ASIA"`, or `"UNK"`.
> Region codes for specifying content regions: `"USA"`, `"JAP"`, `"EUR"`, `"ASIA"`, or `"UNK"`. <br>
Example `.json` structure:
```json
Expand Down Expand Up @@ -71,33 +66,26 @@ Replace `null` with URLs pointing to `.json` files containing your content:

Unspecified fields will default to loading content from local `.json` files.

---

## Controls & Settings
### Navigation
- **Move Through Items**: Use <kbd>(LS)tick</kbd>/<kbd>(RS)tick</kbd> or use the dpad to navigate.
- **Select/Download**: Press **![X](https://www.github.com/bucanero/pkgi-ps3/raw/master/data/CROSS.png)** to select or download content.
- **Page & Category Navigation**:
- <kbd>L1</kbd>/<kbd>R1</kbd>: Changes pages.
- <kbd>L2</kbd>/<kbd>R2</kbd>: Changes category.
- **Press the touchpad to search or filter through content**.
- **View Details**: Press **![square](https://www.github.com/bucanero/pkgi-ps3/raw/master/data/SQUARE.png)** to view detailed information about the selected content.

### Settings Menu
- **Press ![triangle](https://www.github.com/bucanero/pkgi-ps3/raw/master/data/TRIANGLE.png) to open settings**.
- **Save/Cancel**:
- Press **![triangle](https://www.github.com/bucanero/pkgi-ps3/raw/master/data/CROSS.png)** to save current settings changes.
- Press **![triangle](https://www.github.com/bucanero/pkgi-ps3/raw/master/data/TRIANGLE.png)** to save current settings changes.
- Press **![circle](https://www.github.com/bucanero/pkgi-ps3/raw/master/data/CIRCLE.png)** to toggle menu & not save setting.

### View Content Information
- **View Details**: Press **![square](https://www.github.com/bucanero/pkgi-ps3/raw/master/data/SQUARE.png)** to view detailed information about the selected content.

### Reload Configuration
- **Reload JSON Files**: Select "Reload JSON Files" in settings, switch categories, or restart the app.

---


<br>

- **Press the touchpad to search or filter through content by title ID or name.**

## Features

### Core Features
- **Search**: Quickly find content using keywords.
- **Sorting**: Organize content by size, name, region, or title ID.
Expand All @@ -107,7 +95,7 @@ Unspecified fields will default to loading content from local `.json` files.
### Customization
- **Background Music**: Toggle the original PKGi background music by [nobodo](https://www.github.com/nobodo).
- **Custom Backgrounds**:
- Add images via URL or locally (supports `.png`, `.bmp`, `.jpg`, and `.jpeg`).
Add images via URL or locally (supports `.png`, `.bmp`, `.jpg`, and `.jpeg`).
- URL Example:
```json
"background_uri": "https://www.example.com/image.png"
Expand All @@ -122,7 +110,7 @@ Unspecified fields will default to loading content from local `.json` files.
```

### Download Management
- **Background Downloads**: Supports unlimited simultaneous downloads with automatic installation and rest-mode compatibility.
- **Background Downloads**: Supports simultaneous downloads with automatic installation and rest-mode support.
- **Foreground Downloads**: Single download support, with a queue feature planned in future updates.<br>

- You can edit the path within the app's settings, or manually through the '.config.json' like so:
Expand All @@ -139,13 +127,61 @@ Unspecified fields will default to loading content from local `.json` files.
```json
"downloadPath": "/user/data/FPKGi/Downloads/"
```
---

## How to Build

<details>
<summary><strong>Prerequisites</strong></summary>
<ul>
<li><strong>Unity Hub</strong> & <strong>Unity 2017.2.0p1</strong> (or a compatible version)</li>
<li><strong>PS4 SDK 4.50+</strong> with Unity integration</li>
<li><a href="https://github.com/CyB1K/PS4-Fake-PKG-Tools-3.87" target="_blank">PS4 Fake PKG Tools 3.87</a></li>
<li><a href="https://www.dotnet.microsoft.com/en-us/download/dotnet-framework/net46" target="_blank">.NET 4.6 Developer Pack</a></li>
</ul>

<details>
<summary><strong>Included Precompiled Dependencies</strong></summary>
<ul>
<li><a href="https://www.github.com/SaladLab/Json.Net.Unity3D" target="_blank">Json.Net.Unity3D</a></li>
<li><a href="https://www.github.com/ItsJokerZz/UnityOrbisBridge" target="_blank">UnityOrbisBridge</a></li>
<li><a href="https://www.github.com/ItsJokerZz/UOBWrapper" target="_blank">UOBWrapper</a></li>
</ul>
</details>
</details>

### Steps to Build

1. **Ensure Prerequisites are Set Up:**
- Install **Unity Hub** and **Unity 2017.2.0p1** (or a compatible version).
- Set up the **PS4 SDK 4.50+** with the matching Unity integration.
- Download and move the [PS4 Fake PKG Tools 3.87](https://github.com/CyB1K/PS4-Fake-PKG-Tools-3.87) to the SDK.
- Download and install the [.NET 4.6 Developer Pack](https://www.dotnet.microsoft.com/en-us/download/dotnet-framework/net46).

2. **Open the Project:**
- Launch **Unity Hub**, add your project, and open it.

3. **Configure Build Settings:**
- In Unity, go to `File -> Build Settings`.
- Click the `Player Settings` button.
- Expand the `Other Settings` section.
- Find `PS4 SDK Override` and set the correct SDK path.

**Note:** Necessary files are provided in the root of the source!

- Expand the `Publishing Settings` section.
- Set the paths for the following:
- `Share File Param` under the `Package` section.

- Under the `Title Voice Recognition Details` section.
- `pronunciation.xml` and `pronunciation.sig`

**For more detailed guidance with images, check out [RetroGamer74's guide](https://github.com/RetroGamer74/HowToBuildWithUnityPS4FakePKG/blob/master/README.md).**

## Troubleshooting Error Code `CE-36441-8`
If you encounter this error, follow these steps to resolve it:

### Troubleshooting Error Code `CE-36441-8`
> [!WARNING]
> **THIS WILL BLOCK ACCESS to Sony CDN & API, and other related services.**
<br>
If you encounter this error, follow these steps to resolve it:

1. **Enable Debug Menu**:
- Open the **GoldHEN** menu.
Expand All @@ -160,20 +196,12 @@ If you encounter this error, follow these steps to resolve it:

This solution is sourced from [r/ps4homebrew](https://www.reddit.com/r/ps4homebrew/comments/1ctvvg2/comment/l4exrpy/), where several users, including myself, have found it to be effective.

**I am planning on looking into an actual fix rather than a work around for this issue, if you have any ideas, please make a pull-request.**

---
**I am planning on looking into an actual fix rather than a work-around for this issue. If you have any ideas, <br> please make a pull-request
of [UnityOrbisBridge](https://github.com/ItsJokerZz/UnityOrbisBridge) plugin and I'll gladly look into it and merge into the branch.**

## Special Thanks
- **Original App Creator**: [Bucanero](https://www.github.com/bucanero)
- **Original PKGi Music**: [nobodo](https://www.github.com/nobodo)

**[OOSDK's Discord](https://www.discord.com/invite/GQr8ydn)**
- TheMagicalBlob, LightningMods, Al-Azif,
- Da Puppeh, Kernel Panic, ainofthewired,

and many other amazing people, thank you all!

---
A huge thank you to the following members of the [OOSDK Discord](https://www.discord.com/invite/GQr8ydn) for their support:
- **[TheMagicalBlob](https://github.com/TheMagicalBlob)**, [LightningMods](https://github.com/LightningMods), [Al-Azif](https://github.com/Al-Azif), Da Puppeh, Kernel Panic, lainofthewired, and others.

Join the [Discord server](https://discord.com/invite/RjG4Whf) for updates, support, and discussions! Contact me directly or submit an issue for further support where needed!
## License
This project is licensed under the GNU General Public License v2.0 - see the [LICENSE](LICENSE) file for details.
Loading

0 comments on commit 57893ce

Please sign in to comment.