Commit Graph

135 Commits

Author SHA1 Message Date
Jesse Talavera-Greenberg
cbf49a0b77
XDelta patch support (Take 2) (#15915)
* Add xdelta in deps

* Include <assert.h> in xdelta3.h

- Otherwise the static_assert calls can fail

* Build xdelta3 in Makefile.common

* Add xdelta support to the softpatching infrastructure

- The patching itself isn't fully implemented yet

* Adjust how xdelta3.h checks the sizes of some types

- Now checks max values instead of relying on autotools

* Add some enums that were excluded by the cherry-pick

* Remove stray whitespace

* Adjust SIZE macros in xdelta3.h

- Move them outside the XD3_USE_LARGEFILE64 block
- Add more SIZE declarations
- Make SIZEOF_UNSIGNED_LONG_LONG contingent on the presence of ULLONG_MAX

* Reintegrate xdelta support

* Enable support for xdelta's secondary compressors

- Necessary for some patches

* Fix some format specifiers

* Remove unnecessary files from xdelta

* Include xdelta3.h with a relative path

* Add xdelta3 headers to HEADERS variable

* Gate Xdelta support behind HAVE_XDELTA

- HAVE_XDELTA is on by default
- HAVE_PATCH is still required for HAVE_XDELTA to be meaningful
- Support is mostly contingent on the availability of LZMA
- Anything modern should be okay
- Legacy platforms (e.g. DOS) may need to have Xdelta support disabled
- At least until some other solution can be found

* Disable HAVE_XDELTA on platforms where the build recently failed

- These come from looking at the failed builds on GitHub
- These are guesses, and may turn out to be wrong

* Fix a potential memory leak

- Whoops, looks like I need to call two cleanup functions
- xd3_close_stream exists separately from xd3_free_stream

* Split the --help printout for --xdelta into its own strlcat call

- GCC was complaining about #ifdefs within macro arguments being non-portable

* Fix some incorrect printf format specifiers

* Modify Xdelta to adhere to C89

- It's mostly using RetroArch's INLINE macro instead of the inline keyword

* Slight cleanups

* Remove a stray comma that was hindering C89 builds

* Add XDelta support to CHANGES.md

* Change how the xdelta patch's name is computed

- To be in line with other recent refactoring

* Fix an incorrect merge

- Whoops, this part was from before I figured out how to get the size of a patched file

* Explain the song-and-dance behind computing a patched file's size

* Define some XDelta3-related constants to 0 on 32-bit platforms

* Adjust some Xdelta-related macro definitions

- Exclude the encoder, since we're not making patches
- Move some #defines to after inclusion of <stdint.h>, to fix undefined behavior
- Remove _WIN32_WINNT overrides, since they were for code that we're not using

* Fix Xdelta support

* Wrap an encoder-only function in `#if XD3_ENCODER`
2023-11-23 20:19:07 -08:00
libretroadmin
51d238875e Get rid of obsolete HAVE_VIDEO_LAYOUT - obsolete spec, was only
ever implemented for OpenGL2 driver, lots of code debt, best to
instead just keep improving the overlay system instead which is
already available for most video drivers
2023-02-23 21:03:41 +01:00
libretroadmin
3bacd52629 Add HAVE_UPDATE_CORE_INFO for targets that already have HAVE_UPDATE_CORES defined 2022-12-23 01:52:38 +01:00
LibretroAdmin
f5133d8cc4
Revert "Add Xdelta support for softpatching (#14706)" (#14743)
This reverts commit aaad220836.
2022-12-19 03:29:46 +01:00
Jesse Talavera-Greenberg
aaad220836
Add Xdelta support for softpatching (#14706)
* Add xdelta in deps

* Include <assert.h> in xdelta3.h

- Otherwise the static_assert calls can fail

* Build xdelta3 in Makefile.common

* Add xdelta support to the softpatching infrastructure

- The patching itself isn't fully implemented yet

* Adjust how xdelta3.h checks the sizes of some types

- Now checks max values instead of relying on autotools

* First crack at xdelta softpatching support

- There may be undiscovered edge cases or bugs

* Add xdelta in deps

* Include <assert.h> in xdelta3.h

- Otherwise the static_assert calls can fail

* Build xdelta3 in Makefile.common

* Add xdelta support to the softpatching infrastructure

- The patching itself isn't fully implemented yet

* Adjust how xdelta3.h checks the sizes of some types

- Now checks max values instead of relying on autotools

* First crack at xdelta softpatching support

- There may be undiscovered edge cases or bugs

* Remove trailing commas from the enums I modified

- C89 doesn't allow them

* Remove stray whitespace

* Adjust SIZE macros in xdelta3.h

- Move them outside the XD3_USE_LARGEFILE64 block
- Add more SIZE declarations
- Make SIZEOF_UNSIGNED_LONG_LONG contingent on the presence of ULLONG_MAX

* Add some RARCH_DBG calls for xdelta patching

* Enable support for xdelta's secondary compressors

- Necessary for some patches

* Fix some format specifiers

* Remove unnecessary files from xdelta

* Include xdelta3.h with a relative path

* Add xdelta3 headers to HEADERS variable

* Gate Xdelta support behind HAVE_XDELTA

- HAVE_XDELTA is on by default
- HAVE_PATCH is still required for HAVE_XDELTA to be meaningful
- Support is mostly contingent on the availability of LZMA
- Anything modern should be okay
- Legacy platforms (e.g. DOS) may need to have Xdelta support disabled
- At least until some other solution can be found

* Disable HAVE_XDELTA on platforms where the build recently failed

- These come from looking at the failed builds on GitHub
- These are guesses, and may turn out to be wrong

* Fix a potential memory leak

- Whoops, looks like I need to call two cleanup functions
- xd3_close_stream exists separately from xd3_free_stream

* Split the --help printout for --xdelta into its own strlcat call

- GCC was complaining about #ifdefs within macro arguments being non-portable

* Fix some incorrect printf format specifiers

* Modify Xdelta to adhere to C89

- It's mostly using RetroArch's INLINE macro instead of the inline keyword
2022-12-19 01:10:04 +01:00
LibretroAdmin
ee16c4558d Forgot to add compat_strldup.c to Wii and WiiU salamanders 2022-08-25 17:02:05 +02:00
LibretroAdmin
cd7a6afd20 Add WiiU workflow 2022-08-05 16:24:46 +02:00
Cthulhu-throwaway
20c4407928
Add HAVE_IFINFO macro (#14265) 2022-08-01 07:51:02 +02:00
twinaphex
28cac5c5a4 Add HAVE_CORE_INFO_CACHE - disable this for Steam build 2021-10-14 15:57:28 +02:00
Nathan Strong
9edb449471 wip commit 2021-10-05 09:10:41 -07:00
Ash Logan
692f4443f4 (WiiU) Add option for running without core info (emscripten-style)
Very useful when wiiloading a test binary or running in emulation
2021-08-14 20:26:14 +10:00
Ash Logan
93649d9147 (WiiU) Compress RPX files w/ wiiurpxtool
Should be available on the buildbot now
2021-07-31 10:26:37 +10:00
Ash Logan
902c115d48 (WiiU) Add elf2rpl to clean target 2021-07-31 10:26:37 +10:00
Ash Logan
5887016db3 deps/libiosuhax: Update to wiiu-env/libiosuhax@69532cf 2021-07-18 22:33:06 +10:00
twinaphex
f693d83723 (rhash to lrc_hash) Fix console builds 2020-12-28 20:24:55 +01:00
twinaphex
772ed15d88 Remove file_path_str from Salamander 2020-08-22 13:42:57 +02:00
twinaphex
47e22d69bf Add HAVE_VIDEO_FILTER 2020-07-02 06:28:14 +02:00
twinaphex
3ee788def2 Add HAVE_DSP_FILTER 2020-07-02 02:13:04 +02:00
twinaphex
87b9c2a367 Add HAVE_REWIND switch 2020-07-01 21:04:05 +02:00
twinaphex
7862166ed2 Add back HAVE_SCREENSHOTS define from SSNES days 2020-07-01 17:47:13 +02:00
twinaphex
223d76680a Add HAVE_CHEATS ifdef 2020-06-30 19:35:55 +02:00
twinaphex
bf04ac93c8 Add HAVE_RWAV 2020-06-30 17:36:03 +02:00
twinaphex
b77dd9cfe4 Add HAVE_PATCH ifdef; add patch switch support to qb 2020-06-30 15:54:31 +02:00
twinaphex
fce29caff7 Add time/rtime.c to Salamander builds 2020-06-04 23:37:35 +02:00
Tobias Gruetzmacher
29929acdba (WiiU) Enable GFX widgets 2020-05-10 15:13:23 +02:00
Tobias Gruetzmacher
3c192419dd (WiiU) Fix griffin build 2020-05-10 14:30:30 +02:00
Autechre
21f15d5cbd
Merge pull request #10490 from phcoder/msb
Remove manual MSB_FIRST definitions and switch to retro_endianness.h
2020-04-22 21:16:45 +02:00
Ash Logan
08dfd58994 WiiU: Enable -Wall
This is the standard, according to CONTRIBUTING.md
2020-04-22 23:37:18 +10:00
Vladimir Serbinenko
1fcdddf579 Remove manual MSB_FIRST definitions and switch to retro_endianness.h 2020-04-21 04:16:55 +02:00
twinaphex
e0fdd8d39e Add back HAVE_CONFIGFILE ifdef - will strip out remaps and overrides
support as well
2020-02-02 21:27:38 +01:00
twinaphex
3a5dace583 (WiiU) fix build 2020-01-10 01:16:42 +01:00
twinaphex
56236f7372 Get rid of platform_null.c file 2020-01-06 15:35:35 +01:00
twinaphex
08ce33eed0 Add HAVE_ONLINE_UPDATER 2019-11-11 00:22:03 +01:00
twinaphex
bc657778fe Add HAVE_UPDATE_CORES - by running ./configure --disable-update_cores
you can strip out the Online Core Updater
2019-11-10 15:55:39 +01:00
Twinaphex
29dc30fa48
Revert " add hashing support for PSX cheevos (bin/cue, chd, or real CD)" 2019-08-30 15:55:07 +02:00
Jamiras
1348c2cc75 fix wiiu build 2019-08-29 21:05:44 -06:00
orbea
84f4dcba2b Remove WANT_ZLIB. 2019-07-25 11:18:33 -07:00
twinaphex
f00e92aa0a Update Makefile.common 2019-07-24 20:04:27 +02:00
Ash Logan
f5e6cddce6 (wiiu) spirv-cross requires C++ exceptions, glslang can't work
glslang has an OSDependent/Unix folder that uses a bunch of pthread 
features that aren't available here.
Bonus: tabs/spaces formatting fixes
2019-07-24 11:42:41 +10:00
twinaphex
f80c3f4218 (WiiU) Try to define SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS 2019-07-23 05:37:45 +02:00
twinaphex
246fcf36d8 (WiiU) Add HAVE_SPIRV_CROSS/HAVE_GLSLANG/HAVE_SLANG 2019-07-22 14:44:59 +02:00
twinaphex
35aa4191ac (WiiU) Add HAVE_SLANG=1 2019-07-21 13:46:51 +02:00
twinaphex
b2bf822f13 Add HAVE_AUDIOMIXER switch 2019-07-11 11:51:06 +02:00
Ash Logan
4ef9258b63 wiiu: Add libfat/iosuhax to Griffin, always use builtins 2019-05-29 18:23:34 +10:00
Ash Logan
ab63d34e2e wiiu: Add inputs and ifaddrs to griffin build
Gets a little closer to fixing it, still has issues with the input 
drivers though
2019-05-28 09:06:31 +10:00
Ash Logan
e2c479987c Makefile.wiiu: Formatting/readability pass 1
Actual meaning is mostly the same, aside from cleaning up the include 
paths and portlibs handling. Griffin build does not work, salamander 
builds OK.
2019-05-28 09:06:31 +10:00
Ash Logan
e00d1f01e4 Makefile.wiiu: Remove -mwup (removed from devkitPPC)
See 8903cf8ec0
This got removed from devkitPPC a while ago, this should allow
people on newer toolchains to build.
These changes also need to be done to all the cores.
2019-05-28 09:06:31 +10:00
twinaphex
ebaa5b9941 Undefine HAVE_VIDEO_LAYOUT for now instead of implicitly enabling
it for every platform - will have to be individually enabled for
each platform first after rigorous testing
2019-05-13 01:57:26 +02:00
Huw Pascoe
7e0592198d video_layout build 2019-05-11 09:58:46 +01:00
orbea
98f6aecec2 Remove the zarch menu driver. 2019-02-02 22:15:10 -08:00