Commit Graph

1879 Commits

Author SHA1 Message Date
Zach Bacon b4dd06a148
Merge pull request #302 from retro-wertz/libretro
Libretro: Add GB/GBC cheat support and wram/vram access using retro_get_memory api
2018-08-19 11:49:31 -04:00
retro-wertz 916c091a49 Libretro: Add GB/GBC cheat support...
- Add wram and vram to retro_get_memory* and minor cleanup
2018-08-19 23:34:38 +08:00
retro-wertz 14086d0007 Libretro: Fix crash on some linux systems 2018-08-19 22:19:06 +08:00
Rafael Kitover 0e33861754 update translations, add new langs from transifex
Update the po files with the transifex client and do a msgmerge.

Replace cmake/FindGettext.cmake with the current version, and fix a bug
in it that would not allow files with multiple periods such as
zh_TW.Big5.po. Also disable msgmerge in GETTEXT_CREATE_TRANSLATIONS
otherwise it would create too many very spammy commits.

Replace language list in po/wxvbam/CMakeLists.txt (where the .pot and
.po files are) with a list made with file(GLOB ...), so that all the new
languages are pulled in.
2018-08-11 16:18:15 -07:00
Rafael Kitover e67b513e94 rename mac-localizations to mac-translations.cmake
Rename cmake script to copy .gmo files into the .app introduced in
bf4606fc from mac-localizations.cmake to mac-translations.cmake since
these are really translations and not localizations.
2018-08-11 15:05:12 -07:00
Rafael Kitover bf4606fc18 install translations into mac .app
Add a POST_BUILD hook to run a cmake script to install translations into
the .app.

Tested to work correctly, when system language is different a
translation is loaded.
2018-08-11 14:52:18 -07:00
Rafael Kitover 0092dc16ac msys2: don't try to link msys librt and libpthread
In cmake on Win32, don't try to find librt or libpthread using
find_library(), and on mingw just include -lpthread.

For some reason the msys versions of librt and libpthread were being
picked up when find_library() was being used.
2018-08-10 16:47:17 -07:00
Rafael Kitover 65e1ab041d disable gcc stack protector, segfault on 8.2.0
Make gcc -fstack-protector-strong and associated options controlled by
the cmake option ENABLE_SSP which defaults to OFF.

This option causes a segfault on startup with gcc 8.2.0.
2018-08-10 16:35:49 -07:00
Rafael Kitover 6cbad61f36 fix cmake regression introduced in bfe21aee
Before calling list(REMOVE_ITEM ...) check if the variable exists, if it
doesn't cmake throws an error.
2018-08-10 09:37:55 -07:00
Rafael Kitover bfe21aee3e remove -fpermissive compiler flag
Remove -fpermissive from the list of flags passed to gcc and clang.

Remove -fpermissive from the cxxflags from wxWidgets config as well.

When checking wxWidgets ABI compatibility version, temporarily add
-fpermissive to compiler flags on Win32 because minhook requires it.
2018-08-10 06:46:51 -07:00
Rafael Kitover 571ecbe3e8 support mac-hosted mingw builds, misc. fixes
- Add the cross root from the mingw-w64 mac brew to the cmake toolchain
  files.

- Remove strerror_r/strerror_s from ConfigManager.cpp because the
  mingw-w64 brew does not support strerror_s for some reason.

- Strip the vbam executable from the builder script in the build_project
  phase.

- Change the bzip2 URL to the github mirror because the bzip.org domain
  expired.

- Add libuuid as it's required by the new fontconfig, use the mingw
  version for mingw builds, for mingw also set UUID_LIBS to
  '-luuid_mingw -luuid' in mingw.sh for fontconfig, the mingw version
  is called uuid_mingw because uuid is a core win32 library.

- Lower glib version to 2.57.2 stable.

- Update wxwidgets version to current master sha.

- Fix a bug in flex-2.5.3 post_build where it tries to build flex
  current but flex has been removed, and it was just rebuilding 2.5.3.

- Fix "aggressive" relocation and the relocation of .l[ao] and .pc files
  in install_dist to ignore /usr/local, and only match /usr.

- Add a "project" pre_build and post_build hooks.

- Add getopt to host-only dists in mingw-cross.sh.

- Use perl instead of readlink -f to get the absolute path of the cmake
  toolchain files in mingw-cross.sh, as readlink -f is linux-only.

- In mingw-cross.sh, replace the glib post_build to rebuild
  gettext-target instead of gettext --without-included-glib.

- Add overridable functions set_host_env_hook and unset_host_env_hook in
  mingw.sh to override in other scripts, in this case mac-cross-builder.

- Update mingw glib patches to current fedora versions.

- Add tools/win/mac-cross-builder script to build mingw windows binaries
  on mac, it borrows some necessary parts from the mac native builder
  for host dists, and inherits from mingw-cross.sh.

TODO: currently the resulting mac-built binary segfaults due to gcc
8.2.0, just as the msys2-built binary does, this is a separate issue.
2018-08-10 04:31:05 -07:00
retro-wertz e32e7c5de2
installdeps: Add zip to openSuse dependency 2018-08-08 08:51:51 +08:00
retro-wertz f45935af98
Add vbam_libretro.info
to be copied into <retroarch_folder>/<core_info_folder
2018-08-06 13:46:48 +08:00
Rafael Kitover be508eb2fd simplify check for renamed wx-config, fix gentoo
Use find_program() to check for the existance of wx-config-gtk4, then
wx-config-gtk3 and finally wx-config, instead of calling find_package()
for each separately, FindwxWidgets module does not like being called
multiple times, it screws up some cache variables.
2018-08-05 21:16:33 -07:00
Rafael Kitover 3b44a29948 cmake: fix wrong unset syntax #295 from f78d45c0
unset(VAR PARENT_SCOPE CACHE FORCE)

seemed to work on my version of cmake on gentoo, but does not work on
other versions.

Rewrite the function as a macro and use the syntax:

unset(VAR CACHE)

instead.
2018-08-04 13:13:37 -07:00
Rafael Kitover 5644339193 installdeps gentoo: don't eselect wxwidgets
Don't eselect the wxwidgets installation for gentoo because the user may
have their own preferred version and the default should be set correctly
for the only installation.
2018-08-04 05:11:24 -07:00
Rafael Kitover 7a054b4583 installdeps: support gentoo
Add a check for gentoo and the appropriate emerge commands to get the
library and toolchain dependencies.
2018-08-04 04:41:42 -07:00
Rafael Kitover f78d45c038 cmake: fix regression in finding wx from 2efcb620
Clear FindwxWidgets module variables from the cache after each
unsuccessful try with WX_CONFIG_EXECUTABLE set, otherwise the succeeding
find_package(wxWidgets) call with WX_CONFIG_EXECUTABLE unset will fail,
as it does with cmake on gentoo.
2018-08-04 04:34:24 -07:00
Rafael Kitover 594ecc3947 msys2 builder: redo fontconfig patch, bumb wx
Replace fontconfig gperf bug workaround patch with the one worked out in
the upstream bugzilla report.

Bump wxWidgets version up to current sha to fix an incompatibility with
mingw.
2018-08-01 01:48:52 -07:00
ZachBacon 2cece6ac9f Updated Translations, finally added transifex support to pull in new translations 2018-07-31 06:54:10 -04:00
Rafael Kitover 6bc301018f update msys2 builder
Bump freetype2 and fontconfig versions.

Add patch to fix a gperf bug that causes an error in the fontconfig
build to fontconfig (.gperf file must not have blank lines.)

Add -lintl -liconv to extra libs for fontconfig.
2018-07-30 20:50:15 -07:00
Zach Bacon 14d13153b3
Merge pull request #292 from retro-wertz/updates
Updates
2018-07-26 13:33:06 -04:00
retro-wertz ddea50d3c8 GB: Cleanup sound registers
Seems to be left-overs from switching to blargg
2018-07-26 14:39:06 +08:00
retro-wertz faf01db2cf GB: Backport STAT register behavior
http://www.devrs.com/gb/files/faqs.html#GBBugs
2018-07-26 13:45:06 +08:00
retrowertz d9e0d0f88d GB: Remove references to gbReadOpcode
Merged with gbReadMemory since this basically is just a duplicate
2018-07-26 00:24:06 +08:00
Zach Bacon eb20bb4aad
We don't have a forum anymore
Please kindly use github issues
2018-07-24 17:42:55 -04:00
retro-wertz fca7e175d8 Libretro: Prevent crash when loading an incompatible state file 2018-07-24 14:23:52 -07:00
retro-wertz 1289e08cb4 Libretro: Enable battery save ram support for MBC2 and MBC7 2018-07-24 14:23:52 -07:00
retro-wertz a9ab09f749 Libretro: Fix realtime clock not updating in GB/GBC...
Remove usage of RETRO_MEMORY_RTC - not required since real-time clock is always updated and is using current time and not ingame time.

Add some more rom info to logs during loading
2018-07-24 14:23:52 -07:00
retro-wertz 6cda6c0c24 Libretro: Show basic details in log window during rom loading 2018-07-24 14:23:52 -07:00
Zach Bacon de25e9d76d
include zip for arch based systems 2018-07-22 10:29:28 -04:00
Zach Bacon 5016fd6c0e
Merge pull request #286 from retro-wertz/libretro_gb
add GB/GBC core to libretro
2018-07-22 10:27:25 -04:00
retro-wertz 6ef938fc52 Libretro: Add memory descriptors for GB/GBC 2018-07-20 22:21:07 +08:00
retro-wertz bb64e8d8d6 Libretro: Use retro_get_memory_data/size for battery-enabled roms
Supports battery saving for MBC1, MM01, MBC3, MBC3+RTC, MBC5

WIP: TAMA5, MBC2, MBC7

Minor style nits
2018-07-19 03:06:06 +08:00
retro-wertz 119e1f5c99 Libretro: Add core options for GB border and hardware overrides 2018-07-17 21:34:14 +08:00
retro-wertz 76ad84fd28 Opps, accidentally broke borders in standalone 2018-07-17 02:29:03 +08:00
retro-wertz bf447bf89a Libretro: Add GB/GBC core
Gb,gbc and sgb enhanced version of roms and savestates working. Bios loading for gb/gbc works too. No save ram / battery handling yet.

Fix offset and pitch issues with vba rendering and when borders are enabled.
2018-07-17 01:55:19 +08:00
retro-wertz f05a05e622 Libretro: Refactoring for adding GB/GBC core 2018-07-15 17:53:44 +08:00
retro-wertz 0e60c34ab9
Fix this 2018-07-12 16:23:59 +08:00
Rafael Kitover 52f5a02b55 fix installdeps for Ubuntu 18
Read libglew version from apt-cache, as it varies between Ubuntu
releases.
2018-07-10 04:44:38 -07:00
Rafael Kitover cc43db35af fix installdeps for Ubuntu
Read names of sfml libs from apt-cache, because version suffixes differ
between Ubuntu releases.
2018-07-10 11:10:25 +00:00
Zach Bacon 3f903cf0e4
Merge pull request #278 from retro-wertz/patch-4
Libretro: Bump version number
2018-07-06 11:10:04 -04:00
retro-wertz 02e5f0bdce
Libretro: Bump version number 2018-07-06 22:47:41 +08:00
retro-wertz fc42f88bd7 GB: Fix SIO related issue 2018-07-06 04:23:58 -07:00
Rafael Kitover a8d0508cf2 use GetWindow()->Refresh() in Wayland only
Some people are reporting stuttering, and @retro-wertz tested both
DrawArea() and Refresh() on wxgtk3 under xorg and found that the
Refresh() method produces more stuttering.

Change the compile check for wxgtk2 to a runtime check for wayland, and
use Refresh() under Wayland only.
2018-07-02 18:32:18 -07:00
Rafael Kitover 459a1fbebb builder: fix ccache, mingw-cross
Update mingw cmake toolchain files to work-around a bug in cmake where
find_program() would return the current working directory instead of the
executable path if CMAKE_C_COMPILER and related are passed on the
command line.

Fix $CC/$CC_ORIG and $CXX/$CXX_ORIG handling for the core and
mingw-cross (_ORIG is without ccache.)
2018-07-01 22:18:59 -04:00
Rafael Kitover f937aa72f5 builder: disable ccache for openssl
ccache can apparently cause issues when building openssl, as I've
noticed on Mac OS 10.13, save the original values of $CC and $CXX and
pass them to make when building openssl.
2018-06-30 15:48:58 -07:00
ZachBacon 7aa5d9398e
update changelog for new release 2018-06-30 17:28:46 -04:00
retro-wertz 9146f878d5 Cleanup 2018-06-30 12:15:08 -07:00
retro-wertz 88a19f7c07 Libretro: Add entries for games using 8KB eeprom 2018-06-30 12:15:08 -07:00