Commit Graph

50 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
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
0ed18d16c4 Add GameCube/Wii workflows 2022-08-05 17:08:08 +02:00
Vladimir Serbinenko
da5d135a9f
Enable rwav on libnx (#13857)
While on it merge setting of HAVE_RWAV with inclusion of rwav-files in
Makefile.common
2022-04-17 20:02:53 +02:00
Vladimir Serbinenko
4a53c6771c
Several fixes and improvements do NGC and Wii (#13698)
* Support new elf2dol path in Makefile.griffin

* Fix NULL pointer dereference when no core info is available

* Fix double include of different versions of libogc

* Move ngc and wii to Makefile.common

Resulting binary is 60K *smaller*. This is surprising but probably due to
less inlining happening

* gx_gfx: Fix hang on gfx initialization

* Remove sthread_isself on NGC/Wii

It relies on pthread_equal that is not there for either legacy pthreads
or normal pthreads on those platforms

* Wii networking

* Missing includes in split

* Network fixes

* Fix logging of non-format string as a format

* Support for gx netlogger

* Network fix

* Network fixes

* Network info

* gx: Move config files to app directory

Otherwise it clashes between wiiU and vWii version with unpredictable
effects
2022-03-04 13:43:00 +01:00
twinaphex
28cac5c5a4 Add HAVE_CORE_INFO_CACHE - disable this for Steam build 2021-10-14 15:57:28 +02:00
jdgleaver
a501dfd680 Update 7-Zip dependency to latest stable version (fixes CHD support on static platforms) 2021-04-28 12:00:50 +01:00
jdgleaver
dff84b48f3 Add NGC build to .gitlab-ci.yml 2020-12-04 17:35:31 +00:00
twinaphex
f1d2aedbbd Create Makefile.griffin - replacement for Makefile.ngc and
Makefile.wii.

Build the Wii port like this: make -f Makefile.griffin platform=wii
Build the NGC port like this: make -f Makefile.griffin platform=ngc
2014-02-19 16:27:27 +01:00
twinaphex
a2d713b3cb Add rzlib to include dirs to avoid ugly ifdef for WANT_MINIZ 2014-01-10 19:46:31 +01:00
twinaphex
8e0118f4bb Get rid of unused HAVE_RARCH_MAIN_IMPLEMENTATION and HAVE_RARCH_MAIN_WRAP 2014-01-05 03:33:27 +01:00
twinaphex
5578cd6ed6 (NGC) Fix build 2014-01-05 00:07:35 +01:00
twinaphex
38d785984f Add RETRO_ENVIRONMENT_GET_PERF_INTERFACE to libretro.h 2013-12-17 19:10:40 +01:00
twinaphex
d417669d48 (GX) Compile in HAVE_RSOUND for both Wii and NGC 2013-11-11 11:14:55 +01:00
twinaphex
f8c37fc933 (Menu) Simplify menu preprocessor conditionals - there is now
one common catch-all define called HAVE_MENU
2013-11-08 04:36:47 +01:00
twinaphex
cf24c442df Update maintenance - define/update PACKAGE_VERSION only once
in general.h
2013-07-07 19:43:22 +02:00
twinaphex
93b98a2e08 Bump up PACKAGE_VERSION to 0.9.9.3 2013-06-28 14:11:10 +02:00
twinaphex
51187ebbc2 Bump version to 0.9.9 official 2013-05-27 01:28:32 +02:00
Themaister
ad713d3bb1 Update to 0.9.9-wip3. 2013-05-08 01:13:29 +02:00
Themaister
12bb089f63 Update to 0.9.9-wip2. 2013-05-01 12:50:40 +02:00
Themaister
227363bfce Update to 0.9.9-wip1. 2013-04-21 18:56:17 +02:00
twinaphex
15215c47f1 (Grifin) Move griffin to root (to indicate it's no longer console-specific 2013-03-18 05:46:19 +01:00
twinaphex
375aa08e58 Remove rarch_conole_input - runtime button remapping should have
no more RARCH_CONSOLE dependencies
2013-03-14 21:55:10 +01:00
twinaphex
66e7606b25 HAVE_RGUI and HAVE_RMENU are now mutually exclusive - no longer
have to be defined both for (say) the Android port
2013-03-09 17:42:19 +01:00
twinaphex
49b0f5c204 Add HAVE_RARCH_MAIN_IMPLEMENTATION define - hook up console ports
differently
2013-02-25 06:47:26 +01:00
ToadKing
8d35c7f1be (GX) update dist scripts for big stack cores 2013-02-22 15:24:05 -05:00
twinaphex
54ecb3cc7a Change -HAVE_THREAD to -HAVE_THREADS - don't define it for PS3/Wii/NGC 2013-02-17 00:38:30 +01:00
twinaphex
9a88ebb1e6 Change WANT_RZLIB to WANT_MINIZ 2013-02-16 21:43:29 +01:00
twinaphex
1fb1b4fc06 Bump up to version 0.9.8.4 2013-02-14 21:31:12 +01:00
twinaphex
d39bad7b59 (NGC) Undefine HAVE_LIBRETRO_MANAGEMENT for Gamecube 2013-02-14 21:24:54 +01:00
twinaphex
f0770eec48 (NGC) Remove sidestep code 2013-02-14 15:48:14 +01:00
twinaphex
77f8b9a0c9 Bump up versions to 0.9.8.3 2013-02-09 19:06:03 +01:00
twinaphex
aea7db2422 (Wii) Bump up version to 0.9.8.2 2013-02-03 18:48:34 +01:00
twinaphex
ebc3160b19 (Wii) Bump up version to 0.9.8.1 2013-02-02 07:14:27 +01:00
Themaister
bbaec34744 Update version numbers to 0.9.8. 2013-01-22 00:22:09 +01:00
ToadKing
9290207ede (NGC) fix makefile 2013-01-06 15:11:10 -05:00
twinaphex
de0132cd43 (NGC) Some build fixes 2013-01-06 14:41:55 +01:00
twinaphex
7116118051 Remove remnants of HAVE_CONFIGFILE 2012-12-23 18:16:33 +01:00
Themaister
02f84fe323 Updates to 0.9.8-beta3 2012-11-25 12:56:25 +01:00
twinaphex
f0457637c6 (Griffin/LibXenon) Logger input files now included in Griffin - also cleaned
up Xenon makefile to use Grifffin
2012-11-25 05:41:12 +01:00
twinaphex
01a7fb0f3b (Griffin) Compile in RZlib into Grifin with WANT_RZLIB 2012-11-19 05:43:57 +01:00
Themaister
64d9a6fbda 0.9.8-beta2 2012-11-13 00:52:23 +01:00
Themaister
d7c7ad279e Update version strings to 0.9.8-beta1. 2012-11-07 23:33:22 +01:00
twinaphex
c54035e3f3 (PS3) Fix benchmarking on PS3 by expanding ifdef of GNUC - also
add PERF_TEST options to most platforms
2012-10-02 00:47:20 +02:00
Toad King
20db83cd93 (NGC) new dol booter, move app_booter to wii folder
move package folders to wii and ngc respectively
2012-09-03 18:05:23 -04:00
Twinaphex
d721d3c51c (Wii) Fixed define 2012-09-01 05:22:56 +02:00
Twinaphex
cee5dfc1de (NGC) Links and builds again 2012-09-01 04:20:30 +02:00
Twinaphex
16b2358bf6 (GX) Wii now takes in libretro_wii.a, Cube takes in libretro_ngc.a -
DOL/ELF binary output filenames changed - split up code
2012-09-01 03:01:33 +02:00