This project is mirrored from https://*****@github.com/libretro/vbam-libretro.git. Pull mirroring updated .
  1. 21 Mar, 2019 1 commit
    • Rafael Kitover's avatar
      auto deps for visual studio, take 1 · f1ecd7c3
      Rafael Kitover authored
      Use vcpkg to build deps when Visual Studio on Windows is detected, this
      only happens on first build, but does take a while because things like
      wxWidgets need to be built. Building from the developer command line is
      also supported.
      
      I considered making a pre-built tarball available, but the resulting
      files are just too big for this to be practical.
      
      Make the necessary cmake code changes for this to work and to use the
      vcpkg packages, which work just like on linux or have other cmake glue
      code available.
      
      To do this, we make vcpkg a submodule, use git to checkout all
      submodules, then just build and use the `vcpkg.exe`. Then we set the
      CMAKE_TOOLCHAIN_FILE to the vcpkg toolchain and also include it
      directly, why this is necessary I don't know, without it it doesn't work
      in the IDE but does on the command line.
      
      All of this requires no vcpkg integration with either the user or the
      project. A user-wide `ENV{VCPKG_ROOT}` is also supported.
      
      Fix the dynamic arrays in the GBA core, MSVC follows the C++ standard on
      this and gcc does not.
      
      TODO: add the necessary gcc flags to make this an error in cmake.
      
      Use `wxArrayString` instead of `std::vector<wxString>` in
      `src/wx/strutils.cpp` which is used in options parsing. This was
      necessary because of a bizarre linker error with wxWidgets when using
      Visual Studio:
      
      https://trac.wxwidgets.org/ticket/10884#comment:46
      
      
      
      In `src/wx/panel.cpp` make sure the unimplemented D3D renderer code does
      not get compiled if it's actually `OFF`.
      
      Also fix the new spacer code for the drawing panel to not combine
      `wxEXPAND` with `wxALIGN_CENTER`, which is an error on wxWidgets 3.1.2,
      which is what vcpkg uses. The drawing panel seems to be automatically
      stretched to the max size automatically anyway.
      
      TODO: if all of this works, we'll need an Appveyor set up for visual
      studio.
      Signed-off-by: default avatarRafael Kitover <rkitover@gmail.com>
      f1ecd7c3
  2. 20 Mar, 2019 1 commit
  3. 19 Mar, 2019 1 commit
  4. 18 Mar, 2019 1 commit
    • Edênis Freindorfer Azevedo's avatar
      XDG followup work #94 · a1f0c34a
      Edênis Freindorfer Azevedo authored
      * Apply save order for save states and batteries.
      The order for save state/battery:
      1. StateDir / BatteryDir;
      2. The path of the current loaded game;
      3. XDG Base Dir fallback.
      
      * Use XDG Base Dir fallback to save screenshots and recordings.
      
      * Apply search order for all dirs except recording (not implemented yet) of SDL port.
      The order for battery/save state/screenshot is:
      1. StateDir/BatteryDir/ScreenshotDir;
      2. The path of the current loaded game;
      3. XDG Base Dir (or equivalent) fallback.
      
      * Refactor code.
      
      * Fix freeing and setting pointer to NULL of SDL port.
      a1f0c34a
  5. 16 Mar, 2019 2 commits
  6. 15 Mar, 2019 1 commit
  7. 14 Mar, 2019 2 commits
  8. 13 Mar, 2019 1 commit
  9. 12 Mar, 2019 1 commit
  10. 11 Mar, 2019 1 commit
  11. 09 Mar, 2019 5 commits
  12. 07 Mar, 2019 3 commits
    • Rafael Kitover's avatar
      rpi plugins fix + paths enhancements #94 · 530af140
      Rafael Kitover authored
      
      
      Store the full relative path to found `.rpi` plugins, relative to the
      standard Plugins directory, as specified by wxWidgets.
      
      This fixes the problem of plugins being in a subdirectory while only the
      basename was stored, making the plugins unusable.
      
      This is done by using `wxFileName::GetFullPath()` instead of
      `wxFileName::GetFullName()` with a relative filename instance.
      
      Make a `GetPluginsDir()` method on the app class to simplify getting
      this directory, and for possible future overrides.
      
      Also make some minor, functionally equivalent changes to
      `get_config_path()` in `wxvbam.cpp`:
      
      - use the new `GetPluginsDir()` method for the plugins directory when
        building the config file search path
      
      - print the XdgConfigDir on all platforms, since the function works on
        all platforms
      
      - make a `add_nonstandard_path` macro which duplicates the `add_path`
        macro for wxWidgets standard paths but for any arbitrary string path
      
      - use `wxFileName` methods to make the XDG config directory path instead
        of string concatenation
      Signed-off-by: default avatarRafael Kitover <rkitover@gmail.com>
      530af140
    • Rafael Kitover's avatar
      define S_ISDIR for win32 #94 · 6a98f3c2
      Rafael Kitover authored
      
      
      Followup on #383.
      Signed-off-by: default avatarRafael Kitover <rkitover@gmail.com>
      6a98f3c2
    • Edênis Freindorfer Azevedo's avatar
      7373da15
  13. 06 Mar, 2019 1 commit
    • Edênis Freindorfer Azevedo's avatar
      XDG Base Dir Spec followup #383 · 36453885
      Edênis Freindorfer Azevedo authored
      * Add XDG Base Dir Spec for other Unix alike platform.
      
      * Add XDG Base Dir support for the fallback on SDL port.
      
      * Add migration for Unix configuration file.
      We migrate from 'vbam.conf' to 'vbam.ini' automatically.
      
      * Refactor code for portability of dir creation functions.
      
      * Fix for MacOS compilation directive.
      36453885
  14. 03 Mar, 2019 1 commit
  15. 02 Mar, 2019 3 commits
  16. 01 Mar, 2019 1 commit
  17. 26 Feb, 2019 1 commit
  18. 25 Feb, 2019 2 commits
  19. 24 Feb, 2019 1 commit
  20. 23 Feb, 2019 1 commit
    • Rafael Kitover's avatar
      GB: fix 32/64 bit save/state incompatibility · 98cb298e
      Rafael Kitover authored
      
      
      The MBC3 and TAMA5 battery formats save the RTC data including a
      `time_t` field which is the last field.
      
      Since `time_t` is 32 bits for 32 bit builds and 64 bits for 64 bit
      builds, pad it in the two battery structs with a `uint64_t` and detect
      the 4 byte shorter saves made by older 32 bit builds.
      
      Also remove some pointless code in save state reading that also uses
      `sizeof(time_t)`.
      
      Add two new constants for RTC data size in gbMemory.h and use them.
      Signed-off-by: default avatarRafael Kitover <rkitover@gmail.com>
      98cb298e
  21. 22 Feb, 2019 4 commits
  22. 21 Feb, 2019 2 commits
  23. 16 Feb, 2019 1 commit
  24. 14 Feb, 2019 1 commit
    • Rafael Kitover's avatar
      cmake: don't use ccache on msys2+ninja · 5a77d8f4
      Rafael Kitover authored
      
      
      When using msys ccache with a mingw ninja, the compiler fails to
      execute.
      
      Don't try to detect ccache when using the Ninja generator on msys2, it
      can still be specified through cmake variables.
      
      Do not check for the mingw ccache because it is broken and I will assume
      not being used.
      Signed-off-by: default avatarRafael Kitover <rkitover@gmail.com>
      5a77d8f4
  25. 05 Feb, 2019 1 commit