Skip to content

Commit

Permalink
Pre-Release [v0.86-nightly build 308]
Browse files Browse the repository at this point in the history
Adds new functionality, resolves issues, and improves app overall, check changelog.
  • Loading branch information
ItsJokerZz committed Feb 24, 2025
1 parent edd4971 commit 363bdf6
Show file tree
Hide file tree
Showing 13 changed files with 2,034 additions and 716 deletions.
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,40 @@
# FPKGi - Nightly Changelog

<details>
<summary>[ v0.86-nightly Build: 308 ] from Feb 23rd, 2025</summary>

<br>

### **Fixes:**
- Empty or null app versions now show as "?.??" instead of an empty string.
- Fixed filtering, sorting, and ascending toggle; content now displays and saves correctly.
- Addressed UI freezing and blocking of app closure, enabling smooth sequential actions.
- Background music no longer restarts when toggling the menu and saves correctly.
- Content counter now updates correctly after content is updated, even when the app remains open.
- Fixed issue where cover images failed to load; now correctly displays the default cover.
- Config on load will no longer cause issues, as it properly adds any missing values to the defaults.

### **Improvements:**
- Resolved [issue #4](https://github.com/ItsJokerZz/FPKGi/issues/4). Downloading the app within itself will no longer crash and remove <br>
itself; now it will open/download and launch LM's HB-Store to update, if needed.
- Download now include a 20MB limit to avoid false downloading, preventing issues.
- Long titles in the details UI will now scroll for full visibility instead of being cut off.

### **Additions:**
- Added check for updates on launch that will install and launch HB-Store, if not already present.
- When viewing details for the app under the "Homebrew" or "ALL" page, the values will update..
- Introduced a new default page for displaying all content, which is set for new users inital laucnh
- Dedicated pages added for themes, emulators, PS1/PS2, and PSP games.

### **Optimizations & More:**
- Fixed issue where background images and other content failed to load with local URLs, as per <br>
[ModdedWarfare's YT video](https://youtu.be/EYrvdpPGjTI?si=iWP-igln-WdBODDI&t=651), you must add "http(s)://" for local connections, or it won’t work.
- Reduced delays, freezing, and black screens, particularly on first launch, improving overall stability.
- Adjusted default values for generated content JSONs to reflect the content type more clearly.

</details>


<details>
<summary>[ v0.81-nightly Build: 24 ] from Feb 13th, 2025</summary>

Expand Down
65 changes: 35 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
# FPKGi - A Server Populated PS4 Content Downloader
# FPKGi <img alt="GitHub Tag" src="https://img.shields.io/github/v/tag/itsjokerzz/fpkgi"> - A Server-Based PS4 Content Installer

> [!NOTE]
> 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.
> [!NOTE]
> **FPKGi (Fake PKG Installer)** is a tool for installing modified `.pkg` files on the PS4, inspired by the original [PKGi](https://www.github.com/bucanero/pkgi-ps3) for PS3. It allows you to manage and install your own content using `.json` files, either locally over your network or from the web, and download packages from your private server. Fully compatible with "fake" `.pkg` content, this open-source, community-driven project is designed for educational and personal use. It supports game preservation in the PS4 homebrew scene by providing a seamless way to browse, download, and install content efficiently. A recommended setup is offloading to a NAS, running a web server with Node.js or Python, and using direct URLs for downloads. Use responsibly with your own content and servers—avoid third-party sources.
## 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.
#### Download the Latest Version:
- Get the latest compiled package from the [Releases](https://github.com/ItsJokerZz/FPKGi/releases) or visit [pkg-zone.com](https://pkg-zone.com/details/FPKGI13337).

#### Install the Package:
- Choose your preferred method to install the package on your console.
- Alternatively, you can install directly from LightningMods' [Homebrew Store](https://github.com/LightningMods/PS4-Store).

### Populate Content
Launch the application to automatically create the necessary directories and `.json` files in the `/data/FPKGi/` folder.
Expand All @@ -18,10 +19,9 @@ Edit the `.json` files generated at `/data/FPKGi/ContentJSONs/` to add your cont
**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"`. <br>
> Use bytes for `"size"` and for specifying content's region: `"USA"`, `"JAP"`, `"EUR"`, `"ASIA"`, or `null`.
Example `.json` structure:
### Example `.json` structure:
```json
{
"DATA": {
Expand All @@ -30,7 +30,7 @@ Example `.json` structure:
"name": "Content Title",
"version": "1.00",
"release": "11-15-2014",
"size": "1000000000",
"size": 1000000000,
"min_fw": null,
"cover_url": "https://www.example.com/cover.png"
}
Expand All @@ -39,29 +39,35 @@ Example `.json` structure:
```

> [!IMPORTANT]
> URLs must be direct links to `.pkg` files. Indirect links may cause issues and `"size"` is **REQUIRED!**<br>
> `"region"`, `"release"`,`"min_fw"`, and the `"cover_url"` are all able to be left `null` where needed.
> URLs must be direct links to `.pkg` files. Indirect links may cause issues, and the `"size"` attribute is **REQUIRED!**<br>
> Please ensure the size is as accurate as possible to prevent issues with downloading! The following fields can be <br> left as `null`
where applicable: `"version"`, `"region"`, `"release"`, `"min_fw"`, and `"cover_url"` if you decide.

#### Populate Content Via Web
To enable web population, edit the `config.json` file located at `/data/FPKGi`.
To enable web population, edit the `config.json` file located at `/data/FPKGi` and enable it in the menu.

Locate and edit the following section:
### Locate and edit the following section:
```json
"CONTENT_URLS": {
"games": null,
"apps": null,
"updates": null,
"DLC": null,
"demos": null,
"homebrew": null
}
"CONTENT_URLS": {
"PS1": null,
"PS2": null,
"PSP": null,
"games": null,
"apps": null,
"updates": null,
"DLC": null,
"demos": null,
"homebrew": null,
"emulators": null,
"themes": null
}
```

Replace `null` with URLs pointing to `.json` files containing your content:
#### Replace `null` with URLs pointing to `.json` files containing your content:
```json
"CONTENT_URLS": {
"games": "https://www.example.com/GAMES.json"
}
"CONTENT_URLS": {
"games": "https://www.example.com/GAMES.json"
}
```

Unspecified fields will default to loading content from local `.json` files.
Expand Down Expand Up @@ -129,7 +135,6 @@ Add images via URL or locally (supports `.png`, `.bmp`, `.jpg`, and `.jpeg`).
```

## How to Build

<details>
<summary><strong>Prerequisites</strong></summary>
<ul>
Expand All @@ -143,14 +148,14 @@ Add images via URL or locally (supports `.png`, `.bmp`, `.jpg`, and `.jpeg`).
<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/store-api" target="_blank">HB Store's API</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.
Expand Down
Binary file modified source/Assets/Plugins/PS4/UnityOrbisBridge.prx
Binary file not shown.
Binary file added source/Assets/Plugins/PS4/store_api.prx
Binary file not shown.
Binary file modified source/Assets/Plugins/UnityOrbisBridge.dll
Binary file not shown.
Loading

0 comments on commit 363bdf6

Please sign in to comment.