From f35ffa4ce49e073ffa881b36ef0e37ace06c5aa0 Mon Sep 17 00:00:00 2001 From: Specter Date: Fri, 7 Aug 2020 21:16:20 -0400 Subject: [PATCH] Prepare for v0.5 release --- CHANGELOG.md | 30 ++++++++++++++++++++++++++++-- README.md | 14 +++++++------- 2 files changed, 35 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ed89d7f5..9dee9458 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,35 @@ # Changelog - - ## Beta +**v0.5 - August 7th, 2020** + +- The toolchain now includes stub/empty libc and libSceFios2 modules to avoid breaking non-homebrew games and applications! + - *Note: This change works in conjunction with Mira, meaning you'll want to update the version of Mira you're loading as well.* + - *Additional note: these modules can be found in /bin/data/modules/libc.prx and /bin/data/modules/libSceFios2.prx, and should be placed in `sce_module/` in your homebrew's package file.* +- SDL2 headers as well as a mini game sample have now been added (thanks znullptr for the original SDL port)! +- C++ threading (std::thread) support has been added! +- C++ locking / synchronization support has been added! +- Fixed a performance issue in create-eboot, giving it a 7858% performance boost (measured with the SDL sample)! +- Visual studio project templates now support and link with C++ by default. +- Added various macros and function definitions to libkernel, libScePad, libSceUserService, and libSceVideoOut, as well as documentation for these additions. +- Added right.prx by IDC to all samples (thanks IDC for right.prx). +- Slightly adjusted sample pkg gp4 files to use the same eboot.bin created by build scripts instead of unnecessarily using a copy. +- Fixed jagged text rendering in `/samples/_common/graphics.cpp` due to not factoring in the freetype greyscale bitmap alpha properly. +- Buffering is now disabled on stdout automatically due to it not handling buffering well. +- Updated pthread header to use PS4/BSD-specific values. +- Samples now have DWARF / debug symbols included by default (thanks sleirsgoevy). +- Reworked the threading sample to use std::thread and std::mutex now that C++ threading is supported. +- Reworked the networking sample to a TCP server instead of a TCP client. +- Fixed an issue where a really silly FreeBSD change broke any networking functions that need to use the sockaddr struct such as bind. +- Fixed an issue where GP4 project files were using non-portable windows-style path separators (thanks sleirsgoevy). +- Fixed an issue where the non-sce sleep() function didn't work due to a MUSL-related issues (thanks LM, ChendoChap). +- Fixed an issue where SPRX visual studio projects contained a typo in an include statement and an incorrect set of libraries for the build script. +- Fixed the cmath c++ header, which included `using` statements for functions that are macros on FreeBSD targets (thanks kiwidog). +- Fixed an issue where the `sockaddr_in` structure was incorrect due to a discrepancy between Linux and FreeBSD (thanks kiwidog). +- Fixed an issue where the pipe() function didn't work due to a discrepancy between Linux and FreeBSD (thanks sleirsgoevy). +- Fixed an issue where AF_INET6 was erroneously set to 10 due to a discrepancy between Linux and FreeBSD (thanks sleirsgoevy). + **v0.4 - June 23rd, 2020** - Added C++ support via `include/c++/v1` headers and statically built libcxx. diff --git a/README.md b/README.md index 762e4159..ea3a5d5b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # OpenOrbis PS4 Toolchain -[![Release Mode](https://img.shields.io/badge/Release%20Mode-Beta-yellow.svg)](https://github.com/OpenOrbis/OpenOrbis-PS4-Toolchain) [![Version](https://img.shields.io/badge/Version-0.3-brightgreen.svg)](https://github.com/OpenOrbis/OpenOrbis-PS4-Toolchain) [![Version](https://img.shields.io/badge/license-GPL%20v3-blue)](https://github.com/OpenOrbis/OpenOrbis-PS4-Toolchain/blob/master/LICENSE) +[![Release Mode](https://img.shields.io/badge/Release%20Mode-Beta-yellow.svg)](https://github.com/OpenOrbis/OpenOrbis-PS4-Toolchain) [![Version](https://img.shields.io/badge/Version-0.5-brightgreen.svg)](https://github.com/OpenOrbis/OpenOrbis-PS4-Toolchain) [![Version](https://img.shields.io/badge/license-GPL%20v3-blue)](https://github.com/OpenOrbis/OpenOrbis-PS4-Toolchain/blob/master/LICENSE) [![Generic badge](https://img.shields.io/badge/WINDOWS-RELEASE-GREEN.svg)](https://github.com/OpenOrbis/OpenOrbis-PS4-Toolchain/releases/latest) [![Generic badge](https://img.shields.io/badge/LINUX-RELEASE-GREEN.svg)](https://github.com/OpenOrbis/OpenOrbis-PS4-Toolchain/releases/latest) [![Generic badge](https://img.shields.io/badge/MacOS-RELEASE-GREEN.svg)](https://github.com/OpenOrbis/OpenOrbis-PS4-Toolchain/releases/latest) @@ -10,15 +10,13 @@ This repository contains the source code and documentation for the OpenOrbis PS4 The header files as well as the library stubs may need updating to support yet undiscovered functions, so feel free to fork the repository and make pull requests to update support. -All Visual Studio solution files are assumed VS2017 *for now*. This will change when the .NET core-based projects drop, which will be VS2019 to allow usage of .NET core 3.1. -

## Notes -The following projects will be added to this repo within the next few days: +The following projects will be added to this repo soon: - Debugger - MiraLib @@ -107,8 +105,8 @@ The `create-lib` tool is similar to the `create-eboot` tool, however it produces Author: Specter + flatz (fself stuff) -### create-pkg -The `create-pkg` tool takes a set of files that applications are expected to have (`eboot.bin`, `param.sfo`, necessary modules, etc.) and creates a package file (pkg) for them to install on the PS4. +### liborbispkg +The `liborbispkg` tool takes a set of files that applications are expected to have (`eboot.bin`, `param.sfo`, necessary modules, etc.) and creates a package file (pkg) for them to install on the PS4. Author: maxton @@ -165,13 +163,15 @@ The accompanying LLVM binaries are licensed under the Apache 2.0 license and is - Specter: Create-eboot/lib relinker, miralib, assistant suite, readelf, samples and documentation - CrazyVoid: Stub generator, headers, samples and documentation - maxton: Create-pkg pkg and SFO generation tools -- Kiwidog: Mira stuff, documentation +- Kiwidog: Mira, assistance, documentation - IDC: Lots of help with libraries and other bug fixes - flatz: Homebrew research and writeups, SELF reversing and documentation - m0rph3us1987: Help with debugging stuff - bigboss / psxdev: Library research and reverse engineering, used for reference by various samples - LightningMods / LM: Testing via APP_HOME and lib loading help on the Mira side - Lord Friky: Proper macOS support +- sleirsgoevy: Bug fixes and support +- ChendoChap: Bug fixes and support - MrSlick: Awesome logo <3 - OpenOrbis Team - Other anonymous contributors