Commit Graph

645 Commits

Author SHA1 Message Date
Rafael Kitover 27d4f09fb4 add Mystro256 to developer list in About box 2017-02-12 04:49:06 -08:00
Rafael Kitover a493e0f85a remove updater code #71
Remove the "check for updates" and "Update ROM database" menu entries,
as well as the automatic update checking and all supporting code.

This fixes the issue with the emulator hanging without access to the
internet.

Updating code will be reimplemented in the future using something like
Sparkle. wxHTTP does not support redirects or https so is pretty much
useless now.

Also update the About box to bump copyright year to 2017 and change my
name to "rkitover", which is what I use on github, and mention other
contributors.
2017-02-12 03:47:29 -08:00
edorax fee89f1967 Fix build for MSVC. 2017-02-11 23:11:32 +08:00
Rafael Kitover b4ba9d9d65 set -std=gnu++11 globally for C++ only
Add -std=gnu+11 to CMAKE_CXX_COMPILE_OBJECT in the main CMakeLists.txt
to force the option for all C++ sources.

The right way to do this is to use a generator expression with
ADD_COMPILE_OPTIONS, but this is only available in cmake 3.3 and we must
maintain 2.8.12 compatibility to support Ubuntu 14.

This fixes the mac build (clang.)
2017-02-11 05:33:10 -08:00
edorax 2dc673c753 Fix the options of cl. 2017-02-11 15:48:19 +08:00
edorax 95e1a35d4c Use cl(the MS C/C++ compiler) instead of cc for MSVC build. 2017-02-11 14:55:45 +08:00
edorax f7186a6493 Move 'dependencies/msvc' inclusion to the CMakeLists.txt in top level. 2017-02-11 13:39:50 +08:00
Su Yong 4e096c127c Some fixes for MSVC. 2017-02-11 10:57:35 +08:00
Rafael Kitover 8754a8f6d8 fix cmake -G Ninja support
Use an explicit list of Wx XRC sources instead of a GLOB so that cmake
generators for other build systems such as Ninja work.
2017-02-10 08:22:58 -08:00
Rafael Kitover f10e2e9904 fix directsound loop on unfocus #45
Call GameArea::Pause and ::Resume in MainFrame::OnActivate based on
focus state if the pauseWhenInactive config option is set.

Also stop/play the primary dsound buffer in pause()/resume() in
dsound.cpp, not onlyu the secondary, this may not be necessary but it
doesn't hurt.
2017-02-09 07:30:54 -08:00
Rafael Kitover 6ecab805e0 fix game freezing on kbd input #54
Apparently in some configurations, holding a key on the keyboard makes
Wx stop processing Idle events, so the emulator does not run until the
key is released, freezing the game and ignoring the key.

Hopefully fix this by calling wxWakeUpIdle() from OnKeyDown() and
OnKeyUp().

Other Misc. Improvements:

- refactor process_key_press() to only return true if the system is in a
  pressed key state on key presses or a game key was released on
  releases and always true on double releases.

- call ev.StopPropagation() from OnKey* events for game keys, this may
  not actually do anything, but just in case.

- remove static OnKeyUp and OnKeyDown events from GameArea, these are
  connected to the DrawingPanel dynamically now.

- remove the dynamic_cast<>s from PaintEv/EraseBackground/OnSize event
  forwarders, since there is already a panel member to use.

TODO:

The state returned by process_key_press() is still not entirely correct,
if a joystick button is pressed, it will return true for a non-game
keyboard press, and it needs to return the correct state for double
releases.
2017-02-02 07:13:39 -08:00
Rafael Kitover 44382a71c5 fix openal.so loading issues on some dists #69
As suggested by @Mystro256, try:

wxDynamicLibrary::CanonicalizeName(wxT("openal"))+wxT(".1")

before just the canonical name for "openal" when trying to load the
library.

Also add a utility method to quietly try loading the library, because on
wx 2.8 wxDL_QUIET does not work.
2017-01-30 20:11:07 -08:00
Rafael Kitover 34e408ccb7 fix Debian 8 Jessie and Ubuntu 14 Trusty compat
Fix some porting issues to make everything work on Debian 8 "Jessie"
and Ubuntu 14 "Trusty":

- set cmake minimum version to 2.8.12, this is the Ubuntu 14 version

- combine C and C++ flags and add all of them using
  ADD_COMPILE_OPTIONS() without using generator expressions, which is a
  cmake 3.2 or so feature

- add -fpermissive to force some non-const type casts to compile on
  older versions of gcc

- add -std=c++11 for gcc to enable support on older versions of gcc

- check that the compiler supports -fstack-protector-strong before
  adding it, older versions of gcc do not

- fix the debian section of ./installdeps to include libpng-dev instead
  of libpng16-dev and add gettext for msginit etc.

- fix compat checks in src/common/ffmpeg.cpp and src/wx/cmdevents.cpp to
  check for libavcodec >= 56 instead of > 56, the Debian Jessie version
  is exactly version 56 . With the one exception of
  AV_CODEC_FLAG_GLOBAL_HEADER which is defined in later versions.
2017-01-29 10:14:34 -08:00
Rafael Kitover fdc389c280 fix wx 2.8 compat, debug logging works everywhere
Fix backcompat with wx 2.8. This involved writing
wxPositiveDoubleValidator and rewiring the DrawingPanel inheritance tree
and event handling mechanisms (because 2.8 does not have ->Bind, only
->Connect which is less flexible.) As a result all the event handling
has been gathered into GameArea and the affected code is somewhat
cleaner. 2.8 support is untested on Mac because it requires 32 bit libs
and Carbon.

Add support for cross-compiling for windows using the Fedora MinGW
packages in ./installdeps.

Check for OpenGL support in the wx library being linked, this was
necessary because the Fedora MinGW wx library does not have OpenGL
support.

Remove vbamDebug() in favor of wxLogDebug(), and add an override for it
so that it works in non-debug builds of wx as well as on Windows. Turn
off buffering on stdout and stderr on startup so that debug logging
works in msys2/cygwin mintty as well.

On Windows, build a console binary for debug builds.

Update README.md to reflect Fedora MinGW support and debug logging
support.

Add -Wextra to cflags for debug builds.
2017-01-25 10:53:05 -08:00
Mystro256 e451ce09dd Missing include, fixes gcc warning 2016-12-30 10:48:05 -05:00
Rafael Kitover e2e4105dcd remove src/wx/VBA.ico, dup for src/wx/icons/VBA.ico 2016-12-21 17:10:03 -08:00
Rafael Kitover d06e7afceb full support for cross-compiling to win32 with mxe
Fix all cmake issues related to building for win32 with mxe.

Add support for ./installdeps win32 on Debian/Ubuntu using the mxe apt
repository.

Details:

* default to ENABLE_LTO=OFF on mxe

* set SFML_STATIC_LIBRARIES=TRUE on mxe

* fix the libintl/gettext checking logic

* fix the git dependencies submodule checking logic, and check that it
  triggers for mxe

* revert FindSFML.cmake to upstream version, works fine with mxe

* make 'win32' an alias for the 'MinGW-w64-i686' target for
  ./installdeps, add support for mxe apt repository for Debian/Ubuntu

* change bin2c related cmake code to compile the tool on the host always
  even when cross-compiling

* copy src/win32/res/VBA.ico to src/wx/icons since src/win32 has been
  removed

TODO: generic mxe installer for other unix-likes
2016-12-21 13:02:55 -08:00
Mystro256 774719ddf6 Appdata fixes
Note that metadata_license is the license of this specific file, apparently
it's not allowed to be GPL, CC-BY-SA-3.0 is close enough.
2016-12-21 09:14:10 -05:00
DoctorWho11 33febfb4ba add old resources that were in the win32 folder that the wxwidgets interface uses on windows 2016-12-20 17:56:05 -05:00
Rafael Kitover dea31e52e9 fix SDL2 include in 534c4da
For SDL2 includes are specified as:

```cpp
```

rather than as:

```cpp
```

without the `SDL/` prefix, this was causing a compile error.
2016-12-19 02:15:44 -08:00
drysyle 534c4da649 Rewrote joystick hat code to fix diagonal issues 2016-12-18 15:25:18 -08:00
Zach Bacon f7f67ff6f9 Fixed compiling without sfml. 2016-12-14 16:52:45 -05:00
Rafael Kitover c2a23a9ffe check for RAW_CONTROL only on macs in switch stmts
On e.g. Windows WXK_RAW_CONTROL == WXK_CONTROL so having both in a
switch statement is compile-time error, so wrap the checks for
WXK_RAW_CONTROL in an #ifdef __WXMAC__ .
2016-12-14 06:23:02 -08:00
Rafael Kitover 8c309eaaf4 fix modifier-only game keys
Fix using modifier keys such as SHIFT or CONTROL by themselves as game
keys.

Modifier keys are sent as a special keycode e.g. WXK_CTRL along with the
modifier flag, however on key release the keycode is sent but the
modifier flag is not. So check for modifier keys in process_key_press()
and always set the modifier flag so that release events are recognized
correctly.

Fix support for RAW_CTRL on Mac (which is the real control, while the
Command key is mapped to CTRL.)

Also disable the debug message emitted by wX when our modifier-only key
parsing code runs.

TODO: map modifier key names on Mac to the actual keys rather than the
wX names such as RAWCTRL.
2016-12-14 00:26:54 -08:00
Rafael Kitover a60d24e91a workaround wX 3.1+ key accel string parsing bug
In wX 3.1+ the behavior of wxAcceleratorEntry::ToString() and
wxAcceleratorEntry::FromString() has changed and the resulting string
can no longer round-trip through these methods.

Use a lookup table based on an internal data structure from the wX
source code to translate the "display name" of some keys to the regular
"name" as a workaround for now.

This allows at least the default keybindings to work and not throw an
error on startup.

TODO: standalone modifiers as game keys are still broken.
2016-12-13 15:08:55 -08:00
Rafael Kitover d5020b905c fix wX XRC for wX 3.2
Some sizeritems in horizontal box sizers had the wxALIGN_RIGHT flag,
which makes no sense in horizontal sizers, since they allow only
aligning things vertically. This was throwing XRC errors on startup.

Remove the erroneous wxALIGN_RIGHT flags from the XRC.
2016-12-13 10:03:38 -08:00
Zach Bacon 0e9fb98393 Merge pull request #52 from Mystro256/master
Various fixes
2016-12-10 19:50:19 -05:00
Mystro256 1af42f486c Use full name for wx appdata 2016-12-10 19:34:16 -05:00
Mystro256 8baa415848 Add linux appdata and fixes
Desktop files aren't installed for linux by default
2016-12-10 19:05:30 -05:00
Rafael Kitover 0e6c1b66e3 Quartz2D display rendering driver for Mac
Implement a Quartz 2D (aka Core Graphics) output renderer for the Wx
interface as a subclass of BasicDrawingPanel called
Quartz2DDrawingPanel.

Split BasicDrawingPanel's DrawArea() into DrawArea() and DrawImage(),
with DrawImage() receiving both the wxPaintDC and the wxImage, the
wxImage is created with a direct pointer to the frame buffer when
possible (24bpp).

Implement Quartz2DDrawingPanel in macsupport.mm based on the code here:

http://www.cocoabuilder.com/archive/cocoa/309165-how-to-quickly-paint-to-cocoa-view-from-bitmap-in-memory.html

and here:

http://stackoverflow.com/questions/2261177/cgimage-from-byte-array

the GetData() method of wxImage is used to avoid copying the frame
buffer.

Add RND_QUARTZ2D to the renderers enum and update all config stuff and
the XRC to support it. As well as the DrawingPanel instantiation code in
GameArea::OnIdle().
2016-12-09 13:06:59 -08:00
Zach Bacon d35d00f650 Added Caelum to the list 2016-12-03 09:01:36 -05:00
Rafael Kitover 7f6374356d rename 'Fullscreen filter' to 'Display filter'
Since filters apply to both window and fullscreen mode, rename the
config option 'Fullscreen filter' to 'Display filter'.
2016-11-23 03:56:30 -08:00
Rafael Kitover 3af0c7ff51 reorganize display config panel
Rename "Advanced" page to "Basic" and move to the first page instead of
last.
2016-11-23 03:49:07 -08:00
Rafael Kitover 790c9e13bd update mac link script to 1.0
This version is roughly twice as fast.
2016-11-23 03:07:44 -08:00
Rafael Kitover 55f6e17f0d compile/link flags improvements
* Bump minimum cmake required to 3.3.2, to make sure generator
  expressions work.

* Force CMAKE_BUILD_TYPE to "Release" if unset, not sure if this
  actually works.

* Merge the older compile flags block with the new one and use generator
  expressions to make sure the relevant flags apply only to C, C++ or
  nasm.

* Add -lssp to the end of the link commands for the -fstack-protector*
  options, this is only needed/done for gcc.

* Add -lversion and -limm32 to SDL2_LIBRARY (Zach asked for this.)

* Builds on msys2 again!
2016-11-20 11:11:52 -08:00
Zach Bacon 0ba8166467 Moved all filters into interframe.cpp file, original code by EmporerArthur 2016-11-19 20:43:07 -05:00
Rafael Kitover 13196c0748 update to latest version of bin2c.c
I maintain it here:

https://github.com/rkitover/bin2c

In terms of functionality, this version is pretty much the same as the
original, just nicer argument handling, a usage screen, etc.
2016-11-18 09:08:09 -08:00
Rafael Kitover 3c30d59aba msys2 build improvements
* Enable ffmpeg by default only on linux and msys2, it will be disabled
for normal windows builds and on mac.

* Set SFML_STATIC_LIBRARIES only for normal non-msys2 windows builds,
because msys2 does not currently have static versions of the SFML
sub-libraries, e.g. system, network, etc.. Dynamic linking works fine
for now.

* Fix quoting for -DLOCALEDIR, on windows spaces were causing errors in
make on msys2.

* Update to upstream FindSFML.cmake .

* Add an ./installdeps-msys2 script to install all necessary tools and
libraries on msys2 for building both 64 and 32 bit windows Wx binaries.

* Add the dependencies/mingw-xaudio/include directory to
INCLUDE_DIRECTORIES so that XAudio compiles on msys2, as mingw-w64 does
not currently have XAudio headers. Also check that the user pulled the
git submodule in the process (the ./installdeps-msys2 script does this
for you.)

TODO:

* Generalize ./installdeps to work on more platforms.

* Make console Wx app in debug mode so that debug prints will work.

* Fix game keyboard input for msys2 builds.

* Add HiDPI support for Windows.

* Fix the -D*DIR defines to have the correct paths on windows.
2016-11-14 10:56:50 -08:00
Rafael Kitover 10fd7f926e enormous speedup for compiling Wx resources
Replace bin2c.cmake script with one written in C and compiled as an
intermediate target.

The C version is roughly 12000 times faster.

On msys2, the cmake version takes 7.5 minutes on this system, while the
C version takes 0.037 seconds.
2016-11-13 14:31:34 -08:00
Zach Bacon 9e0c8cec8b Fix compiling d3d 2016-11-08 09:15:52 -05:00
Rafael Kitover 30f80ab22b fix wx GL viewport + build improvements
Add GetRealPixelClientSize() method to HiDPIAware and implement using
wx GetClientSize() in panel.cpp for the generic version, and using
convertSizeToBacking: in macsupport.mm .

Add an AdjustViewport() method to GLDrawingPanel that sets glViewport()
using GetRealPixelClientSize(), and call it for the SIZE event. Debug
print the viewport size here instead of in DrawingPanelInit().

Build improvements:

* default to Cairo off for all platforms, currently libcairo2-dev does
  not install on Ubuntu

* default to ON for ENABLE_LINK and ENABLE_FFMPEG (for game recording),
  this will allow for more fully-featured default builds

* do not set SFML_STATIC_LIBRARIES on Mac because this is currently
  broken

* fix the Mac bundling/linking script to deal with links in dependent
  libs that already use @rpath (very minor change.)
2016-11-08 04:51:26 -08:00
Christopher Snowhill 63b086af20 Merge pull request #37 from rkitover/wx_accels_with_modifiers_fix
fix wx kbd accels that are game key + modifier
2016-11-06 15:42:29 -08:00
Rafael Kitover 491cef4872 fix wx kbd accels that are game key + modifier
Pass the keyboard modifiers to process_key_press so that it only
registers a game key if the modifiers match. That is, if e.g. ENTER is a
game key, then ALT+ENTER gets passed to other Wx controls and does not
register as a game key.
2016-11-06 14:48:05 -08:00
Rafael Kitover 981026dc80 fix Xcode project generation via cmake
Move Objective-C++ Mac code for Wx into macsupport.mm with stub methods
in panel.cpp, and stop compiling all C++ as Objective-C++.

cmake -G Xcode # now works fine
2016-11-06 14:09:50 -08:00
Zach Bacon ecc6f7c3c6 Default to OpenAL and OpenGL on linux 2016-11-03 19:47:00 -04:00
Rafael Kitover 01200fadbd Mac OS X 10.7 (Lion) build and runtime support
Make a custom cstdint.h header file that includes <tr1/cstdint> if
<cstdint> is not available, because the clang 3.x used on Lion does not
have it. Change all references to <cstdint> to use it instead.

Add missing OpenGL header for older OS X in sdl/SDL.cpp .

When calling HiDPI methods, use respondsToSelector: to check if the
methods are available first.

Fix the bundling/linking script to support multiple copies of the same
dylib with different versions. Necessary to include both the Lion system
libpng and the brew libpng. Including the system libpng is necessary
because it is removed in later versions of OS X.
2016-11-03 10:49:13 -07:00
Rafael Kitover ba043f4f97 fix Mac post-build bundle/link broken in a775cc4
Instead of checking if CMAKE_BUILD_TYPE is "Release", check that it is
**NOT** "Debug", because by default CMAKE_BUILD_TYPE is empty.
2016-11-02 19:05:18 -07:00
Rafael Kitover a775cc409f fix kbd controls on Mac + misc.
After creating the drawing panel, call SetFocus() on it and use
Connect() to bind keyboard events from it. Add the wxWANTS_CHARS flag to
all DrawingArea subclasses so that wxEVT_CHAR_HOOK can be used instead
of wxEVT_KEY_DOWN, because it is more general and catches more keys.

Change the process_key_press function to return a bool indicating
whether a game control is currently pressed or not, this is used in the
key events to determine whether the event should be propagated or not.
If in a game key, do not propagate the event, otherwise it hits one of
the other controls and generates a beep sound.

The menu open/closed/highlighted events had to be turned off for Mac,
because the menubar is catching all keyboard events for some reason even
before they reach the drawing panel event handler. So on Mac the game
will not be paused when the menu is being used, this is not really a big
deal and can be fixed later.

Other improvements:

* do not bundle and link dylibs when CMAKE_BUILD_TYPE is not "Release",
  this makes for quicker debug builds

* finally make a generic PaintEv for the DrawingPanel abstract base
  class using dynamic_cast<> and Bind(), unfortunately this is not wx
  2.8 compatible

* set the default audio_buffers to 10 instead of 5, this completely or
  almost completely fixes sound stuttering during normal game play on
  Mac with OpenAL

* spew path info on startup only once
2016-11-02 18:14:58 -07:00
Rafael Kitover d18afb982f support for fully independent .app build on Mac
The resulting Mac wX .app build is now completely independent and
redistributable, only needs to be codesigned.

Necessary dylibs are bundled and linked in a POST_BUILD step using
third_party_libs_tool (included) for which I created a separate repo
here as well:

http://github.com/rkitover/mac-third-party-libs-tool

Turn off Cairo on Mac because it does not work for now.

Set RPATH on the executable to @loader_path/../Frameworks, the bundling
tool also does this.

Update .gitignore for Finder .DS_Store files.

TOOD:

* write a ./quickbuild for Mac and other platforms such as msys2 and
  linux
2016-10-27 22:06:06 -07:00
Rafael Kitover 2d9ec99c11 Mac build improvements
Move closer to allowing an "out of the box" distributable build for Mac:

* fix the icon for the .app

* link SDL2 statically, a PR has been sent to the original repo here:
  https://github.com/tcbrindle/sdl2-cmake-scripts/pull/9

* link SFML statically

TODO:

For a releasable build on OS X, system libs must be linked
dynamically while third party libs are linked statically or bundled. The
goal is to link them statically.

The two remaining libs that need static linking are PNG and wX.

For PNG a similar approach to the one used for SDL2 using pkg-config
should work fine and be simple to implement.

For wX things are more complicated. The default build of wX does not
include static libs, I will need to submit a PR for Homebrew to change
the default build to include both dynamic and static versions.
2016-10-26 16:58:21 -07:00
Rafael Kitover d075bacf94 fix DisplayConfig panel brkn in 7a7a72f
Change the Scale control in the DisplayConfig dialog from a SpinCtrl to
a TextCtrl (for a simple text field) because GenericValidator does not
support using a double* with a SpinCtrl.

Also force adjustment on minimum size and resize the window when
necessary on panel creation, so that when the user sets the value
higher, the window size automatically adjusts.
2016-10-24 10:02:44 -07:00
Rafael Kitover 0192d9a362 simplify DrawingPanel classes w. dynamic_cast<>
Use dynamic_cast<wxWindow*>(this) in the DrawingPanel abstract class to
implement GetWindow() and Delete() so that all concrete classes do not
have to duplicate the code.
2016-10-23 11:38:54 -07:00
Rafael Kitover d543217f6a fix backcompat on unix for config brkn in 7a7a72f
Only load config files with the app name set to "visualboyadvance-m" on
Windows and Mac, on unix keep the default of "vbam" for now so that
users' ~/.vbam directories are found correctly.

TODO:

* migrate all of this properly to XDG paths on unix, giving users the
  option to move their config
2016-10-22 17:26:05 -07:00
Rafael Kitover 7a7a72f2bd Mac OS X HiDPI fixes + other misc
Use a high-res surface on HiDPI (e.g. retina) Macs for the OpenGL
renderer, and scale window accordingly. Also fix fullscreen toggle not
working in HiDPI mode. And some other stuff.

Aside from the .app not being linked statically, the app is now fully
functional on Mac and ready to ship.

Full change details:

* add -DDEBUG or -DNDEBUG based on CMAKE_BUILD_TYPE (-DNDEBUG for
  Release and -DDEBUG for Debug)

* properly search for homebrew/macports/fink directories, and only add
  them if they exist

* fix building with wx debug support, when available

* use explicit OpenGL context on Mac too for new versions of wx

* add main_frame pointer in GameArea back to MainFrame, and a
  SetMainFrame(MainFrame* parent) public method to set it in guinit

* add full support for reading and writing double value config options
  (the GUI still needs to be updated for options that can take doubles,
  such as video_scale)

* change video_scale option (Display/Scale) to a double, putting a
  double value such as 3.6 in the config file works correctly

* add a HiDPIAware mixin class for GameArea and DrawingPanel, with the
  method HiDPIScaleFactor which returns the current window's
  backingScaleFactor

* change the GameArea sizing methods (DelBorder(), AdjustMinSize() and
  AdjustSize()) to divide the window size by the
  HiDPIAware::HiDPIScaleFactor so that the window is scaled properly

* change GameArea::ShowFullScreen to ignore fullscreen events for a
  maximized window on Mac, because maximized windows on OS X are
  actually native fullscreen windows

* change scale variables to double from int, and use std::ceil() to
  round scaled pixel or memory size values

* make a default base class DrawingPane::DrawingPanelInit() virtual
  method, call by all concrete class constructors based on the did_init
  flag

* call setWantsBestResolutionOpenGLSurface:YES on the view backing the
  wxGLCanvas for the OpenGL renderer (GLDrawingPanel) to get a high res
  OpenGL surface in HiDPI mode

* remove GLDrawingPanel::OnSize event, the OpenGL viewport resizes
  automatically without the need to call glViewport()

* do not hide the mouse pointer if the main frame has menus or dialogs
  open

* add variadic vbamDebug(const char* format, ...) function, active only
  #ifdef DEBUG, which sets the wx log target to STDERR and logs a
  message to it

* use full name of app "visualboyadvance-m" instead of "vbam" when
  getting configuration paths, this way the config is saved to
  ~/Library/Application Support/visualboyadvance-m rather than
  ~/Library/Application Support/vbam

* listen to the MENU_HIGHLIGHT_ALL event as well, as an extra way to
  check when the menus are open

* add public MainFrame::SetMenusOpened(bool state) method to force the
  main frame to change the internal menus_opened state, this is
  necessary because in HiDPI mode on Mac the keyboard accelerator for
  toggle fullscreen sends a menu open event, but not a menu close event,
  so on switch to fullscreen the state is changed to menus closed and
  the emu is unpaused

TODO:

* GUI option to change toggle fullscreen behavior between native and
  non-native fullscreen on Mac

* GUI support for double config values like Display/Scale

* add HiDPI support to simple renderer

* fix SDL sound, or disable the option

* fix Cairo suport on Mac, or disable the option

* use dynamic_cast<> to implement GetWindow() for DrawingPanel instead
  of pure virtual method, likewise for Delete()

* link .app statically by default so it can be shipped

* add Homebrew formula
2016-10-22 05:47:27 -07:00
Rafael Kitover 61b1af9e16 rebind toggle fullscreen on mac
On OS X, the F11 key is by default bound to "show desktop", so is a poor
choice for the "ToggleFullscreen" accelerator.

The default key combo to take apps fullscreen should be Ctrl+Cmd+F
according to:

https://support.apple.com/kb/PH18744?locale=en_US

Fortunately, this was very easy to fix by using the "platform" attribute
in MainMenu.xrc .

NOTE: this does not give us "real" OS X fullscreen yet, where the app is
on its own space, like native fullscreen apps. In the future it would be
nice to add an option to do this.
2016-10-18 07:02:47 -07:00
Rafael Kitover 98e82247fc make OpenGL default render method on OS X
Currently the "simple" render method is way too slow on OS X, while
Cairo is completely broken. The OpenGL renderer, on the other hand, runs
with almost no stuttering.

Also fix dangling icon file after OS X build.
2016-09-22 11:00:47 -07:00
Rafael Kitover cc7394f730 improve OpenAL support on Mac and make it default
Fix the dynamic library path for OpenAL to the framework included with
OS X.

Make option initialization set the AudioAPI to OpenAL on mac by default,
since SDL sound is currently completely broken.

There is a lot of stuttering, will have to look at that next.
2016-09-20 05:24:25 -07:00
Zach Bacon 03655a465f
Fix some compile issues and desktop launcher issues 2016-09-03 17:07:30 -04:00
Zach Bacon be25a2155b
This should fix the update issue, I'll release a test binary soon. 2016-07-31 09:30:16 -04:00
EoD 6612d34ddf Fix SDL.h includes
See comment in FindSDL2.cmake:
 Note that the header path has changed from SDL2/SDL.h to just SDL.h
 This needed to change because "proper" SDL convention
 is #include "SDL.h", not <SDL2/SDL.h>. This is done for portability
 reasons because not all systems place things in SDL2/ (see FreeBSD).
2016-07-31 00:11:21 +02:00
EoD 645be4522c Add missing wxWidget includes 2016-07-30 23:56:17 +02:00
EoD 6ce43f90b9 Fixes build issue if VERSION has not been defined 2016-07-30 23:55:57 +02:00
Dorian Wouters 31391e090c
Kill common/Types.h, replace its old typedefs w/ standard types
Fix includes in files using standard int types
Fix wxWidgets UI includes
Silence some unused variable warnings in GBA-arm.cpp macros
2016-07-29 11:07:11 +02:00
Dorian Wouters 37f0e75c45
Fix standard int types, prefix gb {C,H,N,Z}_FLAG with GB_ 2016-07-29 09:45:38 +02:00
Zach Bacon 1944613131
gb folder is done, next up gba, once this is all up I'm going to look at enhancing the cores 2016-07-09 11:41:31 -04:00
Zach Bacon 5bf44d19be
updated standards to webkit standard 2016-07-08 19:59:29 -04:00
Markus Kitsinger (SwooshyCueb) 57c619ca13 Add some header and resource files to CMakeLists.txts (Core+WX)
This makes these files show up in generated CodeBlocks projects, which
makes life easier for folks who import into QtCreator.
2016-06-07 15:26:53 -05:00
Markus Kitsinger (SwooshyCueb) 3f3c3859c1 Add some defines for ffmpeg 3.0 compatibility 2016-04-26 21:32:38 -05:00
Zach Bacon 7ed85a8c6f Finish committing the remaining gtk3 patch (wip) 2015-12-12 23:23:34 -05:00
Rafael Kitover 3d679c1469 more minor improvements for OS X build
Add Homebrew and MacPorts paths for findings headers and libraries.

Add -x objective-c++ to the C++ compile command so that conditionally
compiled ObjectiveC code for OS X can be supported.

Throw a fatal error if the user tries to enable ENABLE_ASM_CORE,
ENABLE_ASM_SCALERS or ENABLE_MMX on AMD64, as this is not supported yet.

If ENABLE_ASM_SCALERS is enabled, try to find a Homebrew or MacPorts
nasm before using the outdated XCode nasm.

For the future, if the user has only the old XCode nasm which does not
support 64 bit objects and the build is 64 bit, throw a fatal error.

For 32 bit builds with the old XCode nasm, use -f macho instead of -f
macho32, which is used if the version of nasm is > 2.0 .

Pass -DMACHO instead of -DELF and, on AMD64 (for the future) -D__AMD64__
for nasm on OS X.

Pass -D__AMD64__ to C++ compilation as well on AMD64, this will help
when we support AMD64 inline assembly.

Add support for automatically linking Homebrew keg-only gettext from
/usr/local/opt/gettext for ENABLE_NLS.

Fix copying Info.plist and vbam.icns to the .app bundle.

Add a key to the Info.plist to support sharp text on retina displays, as
per:
https://wiki.wxwidgets.org/WxMac-specific_topics#Retina_display_support

Set wxWidgets_USE_DEBUG to ON if CMAKE_BUILD_TYPE is "Debug". I'm not
sure this does anything or if I'm doing this correctly though.

Also set wxWidgets_USE_UNICODE to ON. Again, I'm not sure this does
anything or is in the right place.

Fix a bug in the config dir finding code in
wxvbamApp::GetConfigurationPath() updated in 8b8f2f7 to only use the
more top level dirs if there is a vbam.ini in them, not if they are
writable as well, and use the reverse order (starting with user local
dirs) to check for writable dirs and their writable parents. This fixes
a problem with the vbam.ini being written to the Plugins directory of
the .app bundle if it's writable instead of ~/Library/Application
Support/vbam as was intended.
2015-11-16 21:56:23 -05:00
Rafael Kitover 8b8f2f7a14 fix configuration directory on OSX
Write vbam.ini to ~/Library/Application Support/vbam on OSX.

Do not create ~/.vbam on OSX in common/ConfigManager.cpp .

Make get_config_path and wxvbamApp::GetConfigurationPath return
directories with a writable parent in reverse search order when no
writable directories in the current search order are available since the
directory is created in OnInit.

This prefers to create the user-local directory and write the vbam.ini
there.
2015-11-09 02:11:18 -05:00
DoctorWho11 3fac31acb5 Actually display the commit version. However may shorten it since it displays the full string. 2015-10-23 22:21:39 -04:00
DoctorWho11 1e1b1cc35c This should fix the issue of when users on linux run the install command and make not finding the proper binary. 2015-09-29 23:49:15 -04:00
DoctorWho11 68e67b7269 added xbrz 6x support to the wxwidgets interface, will take care of the gtk end shortly. 2015-09-19 04:08:13 -04:00
skidau 023d28a9cc OSX build fix by Juha Laukkanen. This one works with wxWidgets 3.0 and Cairo 1.14.2. 2015-07-11 10:34:27 +10:00
skidau 9f463f3850 Fixed the GBA sound filter options which were not getting applied. 2015-06-23 22:10:07 +10:00
DoctorWho11 2baea1b8cf hopefully this fixes things for cpack 2015-06-15 09:42:40 -04:00
DoctorWho11 65f7546798 rename exe and added more cpack stuff. 2015-06-15 09:00:47 -04:00
DoctorWho11 f5600cef71 setting the exe name and git hash 2015-06-15 08:21:44 -04:00
skidau e6231e9ef5 Switch to fullscreen after the game starts so that the GUI does not fall over. 2015-06-15 21:36:11 +10:00
DoctorWho11 6ad134c501 Enable Xaudio2 support by default 2015-06-12 08:56:20 -04:00
DoctorWho11 e67315c7f8 more build fixes 2015-06-12 08:45:19 -04:00
DoctorWho11 7ea54ecbf0 yet more changes to git (incomplete) 2015-06-12 08:39:47 -04:00
skidau 4d1310032e Clean up and dependency path fixes 2015-06-11 11:26:35 +10:00
skidau 0d4cfaf056 Readjust the window size if the status bar is hidden.
Show the OSD if the status bar is hidden.
2015-06-10 06:48:21 +00:00
skidau 8e57e850a4 Added an option to show/hide the status bar. 2015-06-10 03:11:34 +00:00
skidau e973e59666 Added an auto-update option (Windows only) 2015-06-08 06:25:19 +00:00
skidau 1dc399839c Added a "Check for updates" option to the Help menu. 2015-06-05 13:48:37 +00:00
skidau 811fc9a872 Fixed the crash that would occur if "Use BIOS file" was selected without a BIOS file specified. 2015-06-04 02:44:07 +00:00
skidau b410bc0314 Added portable mode. The emulator will attempt to use portable mode initially. If that fails, it will use the local user directories. The Directories settings now accept relative and absolute paths. Leave the directory blank to use the ROM directory.
Changed the logging to print to the status bar as well as the log file.
2015-06-03 13:36:54 +00:00
skidau 18d429c2c0 Fixed the joystick mapping getting converted to unicode in the conf file when they should not have been. 2015-05-30 06:02:23 +00:00
skidau 56a42ec50f Fix some lintian warnings. Patch by sergio-br2. 2015-05-29 22:11:38 +00:00
wowzaman12 5a6ed061a4 removed the cmake toolchain file, modified the cmakelists files to include an additional library to properly link with sfml and for linking statically with libgcc and stdc++ libs via mingw 2015-05-28 15:12:31 +00:00
wowzaman12 6a5cfd1073 merp, I goofed up somewhere... 2015-05-28 14:58:11 +00:00
wowzaman12 12a9c921c0 svn string shouldn't be translatable 2015-05-28 14:56:45 +00:00
wowzaman12 01d776b9e8 updates to version string for final builds 2015-05-28 14:36:05 +00:00
wowzaman12 df3e3b5e22 should fix compiling on debian based distros by forcing them to use wxwidgets 3.0 2015-05-27 23:04:20 +00:00
skidau 811893c250 Made the dialogs resizeable. 2015-05-26 02:09:28 +00:00
skidau 3f325573f5 Fixed the Game Boy system type selection not matching what was emulated. 2015-05-25 00:41:50 +00:00
skidau 2ec24487c3 Fixed the "Solar Sensor is broken" message that appeared in "Boktai - The Sun Is in Your Hand". Cleaned and formatted the code. Fixed a mistake where the RTC was not getting updated. 2015-05-24 13:30:31 +00:00
skidau fc197be2f0 Automatically disabled the OSD if there is a status bar visible. 2015-05-23 11:58:29 +00:00
skidau bca162d761 Fixed the child windows appearing under the parent window with "Keep window on top" enabled. 2015-05-23 01:56:33 +00:00
skidau d9e705d39a Relabelled the full screen menu items to be clearer in what they do. 2015-05-23 01:20:48 +00:00
skidau f2e6d4544f Added separate "Open GB" and "Open GBC" menu items. 2015-05-23 01:01:43 +00:00
skidau 8508f7aab6 Used the battery file size as an indicator of the save type unless overridden. 2015-05-22 15:11:28 +00:00
skidau e202a3994f Added mime types to wxvbam.desktop. Thanks to alucryd and sergio-br2. 2015-05-21 13:49:46 +00:00
skidau 759cf30a19 Moved the trace.log to the local config directory. 2015-05-21 13:31:34 +00:00
skidau 3f9d927103 Create the default config path on start-up and renamed the app "vbam" to be consistent with the sdl build. 2015-05-21 13:06:15 +00:00
skidau 5c6ef13d8c Changed the app name from wxvbam to VBA-M 2015-05-21 12:20:19 +00:00
skidau 5e562ca4b6 Fixed the "scrolled" assertion. 2015-05-21 12:16:20 +00:00
skidau 9340762719 Fixed the crash on boot that would occur with FFMPEG enabled. 2015-05-21 11:29:31 +00:00
bgk ead03a559a WX: Some strings were mistakenly marked as translatable 2015-05-20 18:46:54 +00:00
skidau 17282fd988 Fixed the crash that would occur if the audio backend is switched before a game is loaded. 2015-05-20 14:57:58 +00:00
wowzaman12 e4959e111f missed the aboutbox 2015-05-20 14:34:51 +00:00
wowzaman12 37d5e9e91c just changed a define to an existing one, when FINAL_VERSION is not defined it'll show svn string and when defined it will not show. 2015-05-20 14:29:53 +00:00
skidau 90249184a3 Resized some of the dialogs. Fixed the Cancel button on the GDB configuration dialog. 2015-05-20 14:11:53 +00:00
skidau cd6a2bd014 Updated the OSX icon and removed the extraneous .app suffix 2015-05-20 03:56:27 +00:00
skidau a79f006cf4 Reset the sound subsystem if the audio backend is changed. Fixed an array out of bounds error in the sound device selection. 2015-05-19 11:50:56 +00:00
skidau c39716f183 Used Sergio Benjamim's icon for the wx build. 2015-05-19 11:01:45 +00:00
skidau e287fb43c8 Removed the CR's from wxvbam.desktop. Thanks to Sergio Benjamim. 2015-05-19 10:07:22 +00:00
skidau cd47885083 Made the configuration dialogs stay on top so that they would not be covered by the main window. 2015-05-18 13:52:29 +00:00
skidau e8dddc9147 Added a "Keep window on top" option. 2015-05-18 13:11:58 +00:00
skidau 6020b6728c Added version to the About box. 2015-05-18 12:10:07 +00:00
skidau 77de248b71 Raised the maximum number of cheats allowed from 100 to 16384. 2015-05-18 05:37:37 +00:00
wowzaman12 fb83452291 merged sergio's icon patch for additional sizes. 2015-05-18 03:44:19 +00:00
skidau 4fdbbefe9b Made the Flash save type detection stricter. Made the SRAM detection override the EEPROM detection. Fixes the save type detection for Rockman EXE 4.5 - Real Operation (Japan), Breath of Fire - Ryuu no Senshi (Japan) and maintains the correct detection of the save type for Saibara Rieko no Dendou Mahjong (Japan).
Changed the wx save type detection to use the core version.
2015-05-18 03:35:37 +00:00
skidau 4116a72ae7 Added rewind feature to GTK version. Patch by Juha Laukkanen.
There are two config params:

rewind_count_max => how many blocks are reserved maximum, higher value leads to greater memory usage naturally but longer rewind log
rewind_interval => default interval is 165ms and higher value leads to more inaccurate rewind but longer rewind log

Also fixes memtell() telling incorrect size because data is not flushed.
wxWidgets front end having too small buffer for rewinds resulting overflows.
2015-05-18 00:58:16 +00:00
skidau 8d6f10107c Fixed auto-patch extension setting. Patch by Mook.
It appears that SetExt() doesn't require a leading period in the extension. This makes auto-loading of ups patches work (at least, for the one I tried).

Updated the comment too, for grepablility.
2015-05-18 00:26:21 +00:00
skidau a5592566c5 Added CHT cheat format parsing and file import.
Currently, this is in the wx front-end code.  Moving this logic into the core will bring this functionality to all front-ends.
2015-05-18 00:23:30 +00:00
skidau 303a326ddd Added the Official No-Intro Nintendo Gameboy Advance Number (Date) file for the release numbering. 2015-05-16 07:48:02 +00:00
skidau 5b61aace22 Added a "Update ROM databases" command to the Help menu which downloads and updates the No-Intro dat files. 2015-05-16 04:04:09 +00:00
skidau 516b819143 Added GBA ROM information parsed from No-Intro dat files. The No-Intro dats (Standard and Scene) are to be unzipped into the directory where the vbam.ini file is. 2015-05-15 14:53:52 +00:00
skidau f2274347ae Added AStyle 2.05.1 to the wx pre-build events and formatted the wx gui code.
Options used:
--style=allman --indent=tab=4 --align-pointer=type --align-reference=name --break-blocks --pad-oper --pad-header --unpad-paren --delete-empty-lines --break-closing-brackets --keep-one-line-blocks --keep-one-line-statements --convert-tabs --remove-comment-prefix --mode=c
2015-05-15 02:16:18 +00:00
skidau 3f0a5adf94 Added project files for the Windows wx gui build. Requires CMake in the path. 2015-05-14 12:37:15 +00:00
skidau 5da5feaac2 Ported the Game Boy Game Link code to TCP sockets. 2015-05-14 03:05:25 +00:00
skidau f0568f9945 Added a Transifex link in the Help menu.
http://www.transifex.com/projects/p/vba-m/
2015-05-12 14:24:17 +00:00
skidau 427c63aa3d Fixed an array out of bounds access in the debugger. Fixed a path problem with the wx vbam xpm icon. Patch by Mook. 2015-05-11 07:27:42 +00:00
skidau ef62b19775 Fixed the throttle selection on the SDL and XAudio2 backends. On the other backends, the throttle is a switch (selects between no throttle and throttling at 100% speed). Sync game to audio is now always enabled and the menu option has been removed. 2015-05-11 07:21:02 +00:00
wowzaman12 88dfc964a6 Good catch from Mook on irc. Thanks man. 2015-05-10 23:00:56 +00:00
wowzaman12 96788892c4 Fixed cmake to use find the proper xpm file in the xrc folder, also made the vbam core and fex library static to help with building on some platforms. 2015-05-10 22:54:19 +00:00
skidau 12b030cced Sorted the array of opts so that none of the options get invalidated by the option loader. Fixes the audio volume option which was not getting loaded from the ini. 2015-05-10 06:46:29 +00:00
skidau 011028ff7e Updated the .po files and fixed the icon path in the wx CMakeLists.txt 2015-05-10 04:27:13 +00:00
wowzaman12 03f96b800c added skidau and myself to the about dialog 2015-05-10 02:41:14 +00:00
wowzaman12 c9120d0da2 make it load the xpm icon instead, solves the iCCP profile issue 2015-05-10 02:35:55 +00:00
skidau df42b279ed Removed an extraneous include and added a SDL build check in the CMakeLists.txt 2015-05-09 14:09:29 +00:00
skidau 532a17a696 Combined the GBA and GB frameskip settings to go under Video Options. 2015-05-09 12:32:42 +00:00
skidau fd14110045 Removed the GBA washed colors option as it did not do anything.
Removed the broken full screen resolution selection.
Added some separators in the menu.
Fixed a path problem in the wx CMakeLists.txt
2015-05-08 14:39:54 +00:00
skidau 11c7949672 Fixed the wx CMakeLists.txt so that it can be built from a directory other than trunk 2015-05-08 08:25:54 +00:00
skidau 575d35b2c5 Relabelled the AGP Printer to Debug print 2015-05-08 07:18:31 +00:00
skidau 535bf04f58 Fixed the battery saving in Pokemon FireRed 2015-05-08 05:06:13 +00:00
skidau 590b59c92c Updated copyright year 2015-05-08 01:44:13 +00:00
skidau 88f21433b3 Hooked up the GB Printer option in the wx menu 2015-05-08 01:26:21 +00:00
skidau d3146f3011 Hooked up the GBA tilt sensor to the wx gui 2015-05-07 14:45:25 +00:00
skidau 5a2c4ba1d6 Fixed the SDL Joystick Hat diagonals in the wx gui 2015-05-06 13:40:03 +00:00
skidau 1818d34eb6 Fixed the GB and GBC BIOS options.
Moved the Skip BIOS option to the Emulation menu.
2015-05-06 12:04:21 +00:00
skidau ed3be72c5a Moved the Load State and Save State menus to the File menu.
Removed the "Welcome to wxVBAM!" status message.
2015-05-06 10:38:10 +00:00
skidau f7e352d5a4 Fixed the "Could not set current working directory" log that would appear on boot when there was no xrc sub-directory present. 2015-05-06 10:10:04 +00:00
skidau ebb31c25da Changed the range of the flashSize to be 0 to 1 2015-05-06 07:45:56 +00:00
skidau 12eac48ea3 Fixed the typos in the .desktop files 2015-05-06 07:21:27 +00:00
skidau c673cceaf7 NO_LINK wx build fixes 2015-05-05 13:37:56 +00:00
skidau e7fe42c555 Added the icon and rearranged the GB menu 2015-05-04 14:04:26 +00:00
skidau 54a768e6bc Removed most of the checkboxes from the dialogs.
Replaced wxvbam.xrc with the individual xrc files.
2015-05-04 13:45:52 +00:00
skidau 23c1096934 First cut of the rearranged wx gui menu to be more like the MFC menu 2015-05-04 06:37:34 +00:00
skidau a66ff4d552 Changed the core enum options to ints to make them consistent with the MFC gui; allowing the ini file to be shared between the two gui's. 2015-05-03 07:44:58 +00:00
skidau 710307479c Created a NO$GBA style OAM Viewer for the wx gui 2015-05-02 15:35:42 +00:00
skidau a42eac7f91 Moved the link functions to their own menu 2015-05-01 15:15:32 +00:00
skidau def2c61993 Round up the rom size to the nearest power of two before mirroring. 2015-05-01 13:27:07 +00:00
skidau d505399566 Converted the update_check macros to functions 2015-05-01 01:08:57 +00:00
skidau 9717255819 Added a separately configured directory for Game Boy Color games 2015-04-30 12:33:12 +00:00
skidau 0a5f44357e Made the wx GDB menus consistent with the MFC version. 2015-04-30 10:35:04 +00:00
skidau d1fe815f0c Added the e-Reader Load/Save commands to the wx gui menu. 2015-04-30 04:10:00 +00:00
skidau 171d29a16c Default the Open dialog to the directory of the currently emulated system. Made opening "Archives" the default in the File Dialog. 2015-04-30 00:30:07 +00:00
skidau 3f9d3fe4ca Copied the checkbox options from the dialogs into a temporary menu, Configure. 2015-04-29 13:48:04 +00:00
skidau cec028e05f Added the SVN rev to the window title. Used GBA resolution as the default window size. 2015-04-29 01:30:31 +00:00
wowzaman12 542d204a9c wxvbam prefers gnu++11 rather than c++11, should fix compiling on mingw. 2015-04-28 14:53:26 +00:00
wowzaman12 33be071615 wxvbam.xrc was missed in regards to xbrz filter support. 2015-04-28 13:32:25 +00:00
skidau 003a67e17d Fixed the HQ3x and HQ4x filters by forcing 32bit output. Hooked up the zBRZ filter in the wx build. 2015-04-28 12:19:15 +00:00
skidau d9a87f7a3d Fixed some of the filters in the wx build. Disabled multi-threaded filtering. 2015-04-28 10:23:54 +00:00
skidau 8d7be915e1 Rearranged the preferences alphabetically and a few other config fixes. 2015-04-28 04:15:26 +00:00
wowzaman12 27dc43c434 fix include for dsound.cpp 2015-04-28 01:00:19 +00:00
skidau 8e90ea0199 Missed TileViewer.xrc from the last commit 2015-04-27 22:56:45 +00:00
skidau f74f8e8e41 Split out and optionally load the xrc files if they are found in a "xrc" sub-directory. Changed the PropertySheetDialogs to NoteBooks in the split xrc files. 2015-04-27 10:53:18 +00:00
skidau 103d90d3f3 Moved the core parameters from the wx gui to ConfigManager 2015-04-27 08:32:03 +00:00
skidau b729a75012 Fixed the throttle in the wx build 2015-04-23 13:56:22 +00:00
skidau c30ce554ef Build fix for wx2.x 2015-04-23 10:00:14 +00:00
skidau 69c7f79e92 Fixed the wxDialogs on wx3.0.2 due to a change in behaviour with FindWindow. 2015-04-22 13:54:27 +00:00
skidau ad60e2cd67 Initial changes for compiling the wx build under Visual Studio 2015-04-22 00:02:29 +00:00
skidau dcfeb517dc Added a command line option to load e-Reader dotcode files 2015-04-18 15:35:46 +00:00
skidau 97d2f385d2 Separate the configured saveType from the runtime saveType 2015-04-18 14:52:58 +00:00
skidau 5a9015b3f0 Created a common configuration system. 2015-04-18 06:53:55 +00:00
wowzaman12 0cabbade12 Fix an operator precedence issue clang complained about. 2015-04-06 17:33:32 +00:00
wowzaman12 dc22721bac So, this fixes compiling using clang, fixed some tabulation issues, and allow the sdljoy pad compile against SDL2. Also fixed a small compiling issue when compiled against wx3 with the dsound driver. Seems we need the Wx c string to work, it's still not exactly wx3 primetime but it's a small start. 2015-04-06 17:31:18 +00:00
wowzaman12 6385359d6a keeps spitting out the wrong flags. 2015-04-06 01:28:26 +00:00
wowzaman12 3be56f6dbc re-added color depth checks. 2015-04-05 22:25:07 +00:00
wowzaman12 bcfd5ce4ce So yeah... seems -stdc++11 work for xaudio2.cpp 2015-04-05 14:56:03 +00:00
wowzaman12 80db6fc884 Getting close to fixing the xaudio2 driver for the wxwidgets frontend. 2015-04-05 14:12:26 +00:00
wowzaman12 6edf950d00 Again with the bracer issue. -_- But this should fix compiling. (Got to stop committing before testing.) 2015-04-05 13:53:25 +00:00
wowzaman12 a051754bf4 read kega fusion plugins in the wxwidgets interface and also started some work on xbrz support in the interface, will complete that later though. 2015-04-05 13:32:12 +00:00
skidau 55e1dad514 Integrated the VBA-SDL-H2 code into the GDB function.
This allows breakpoints, memory views and watches to be controlled from the GDB interface.  The VBA-SDL-H2 commands can be entered via the GDB monitor (type "help" into the monitor for a list of commands).  Made minor changes to the GDB interface so that the GDB port does not need to be entered every session.  A "Break on Load" option has been added allowing GDB to be connected before the ROM starts executing.

VBA-SDL-H2 credits: Labmaster, kenobi, DevZ, richq, JPAN, Griever
2015-04-02 05:53:57 +00:00
wowzaman12 7722a59670 Fixed a small issue (brace in a place where it wasn't needed) Next up XAudio2 interface in wxwidgets! 2015-03-28 19:46:27 +00:00
wowzaman12 4a0350260d Removed external filter plugins. In the future, just update the binary/library. 2015-03-28 18:31:09 +00:00
wowzaman12 6f3699c7aa Removed unneeded color depth checks and fixed some spacing 2015-03-28 17:48:38 +00:00
wowzaman12 843a90632f missed something that caused it to not properly load the xrc interface. 2015-03-28 16:15:25 +00:00
wowzaman12 025e466bff Removed yet another unneeded #define in wx/guiinit.cpp 2015-03-28 16:02:10 +00:00
wowzaman12 96f1de8ec9 Remove even more unneeded complex if statements 2015-03-28 14:47:33 +00:00
wowzaman12 c812fd6344 Got rid of a few huge if statements, just recreate the game panel every time after Display Properties closes. 2015-03-28 14:45:40 +00:00
wowzaman12 4b2ed80a4a Replaced another macro with a templated function. Should be able to use this function to replace a few more macros as well. 2015-03-28 14:41:25 +00:00
wowzaman12 f273c878b6 Removed yet another macro from src/wx/guiinit.cpp 2015-03-28 14:34:44 +00:00
wowzaman12 4257ae5be1 Fixed improperly sized dialog boxes 2015-03-28 14:11:03 +00:00
wowzaman12 ad13e1fb45 Try to be more informative than the default wx exception handler before terminating 2015-03-28 13:56:33 +00:00
wowzaman12 b07e5c63bf Make sure that all loaded xrc dialogs have the correct parent. This might be overkill, but shouldn't hurt. 2015-03-28 13:54:49 +00:00
wowzaman12 2d5c702a7f Another switch from wxDynamicCast to the normal c++ dynamic_cast 2015-03-28 13:44:47 +00:00
wowzaman12 535acbb240 Change a macro from using a special wx funciton to the regular c++ one 2015-03-28 13:43:40 +00:00
wowzaman12 13b97ac102 More work on trying to remove C macros 2015-03-28 13:41:45 +00:00
skidau 2b663259d8 wx build fix 2015-03-28 05:01:39 +00:00
wowzaman12 750fd8a6b4 oops should be copying those files into source dir not binary dir 2015-03-28 04:30:24 +00:00
skidau d42582090e Linux build fix 2015-03-28 04:08:30 +00:00
wowzaman12 00f630949c just missed a parameter. 2015-03-28 04:02:37 +00:00
wowzaman12 bf8098874a JoypadConfig is now working as it's own separate entity
Previously it was using macros that were hardcoded to look for a certain variable
2015-03-28 03:53:07 +00:00
wowzaman12 e97c32f5da Got rid of two unneeded C macros 2015-03-28 03:50:49 +00:00
wowzaman12 d858e35d01 Created a single template that does the same thing as several of the C macros 2015-03-28 01:52:20 +00:00
wowzaman12 432b296af1 Used a regex replace so at least some of the C Macros aren't hiding variables
Also renamed their inputs so it's easier to understand what's going on
2015-03-28 01:46:44 +00:00
wowzaman12 e8d55b2c06 Added more pointer error checking to the wxvbam build. 2015-03-28 01:33:12 +00:00
wowzaman12 1c76277272 Load dialogs the proper way 2015-03-28 01:30:36 +00:00
wowzaman12 07eb6564e0 Now fully use the error checking function instead of the C macro 2015-03-28 01:20:41 +00:00
wowzaman12 76ef5906a0 Move XRC pointer checking/error throwing to a templated function (More backporting from Arthur, next few commits will be importing his improvements) 2015-03-28 01:12:57 +00:00
wowzaman12 54eac49a59 WX: Changed some of the xrc loading handling and error handling (Courtesy of Arthur on github) 2015-03-28 01:08:52 +00:00
wowzaman12 5b26c209e9 missed a minor change. 2015-03-27 19:53:35 +00:00
wowzaman12 15d1ae5e3a changed the panel to have a black background when a rom isn't loaded. Also fixed compiling dsound driver in the wxwidgets interface via mingw-w64 2015-03-27 17:54:45 +00:00
wowzaman12 df505a78dd forgot the wxwidgets interface icons. 2015-03-27 17:49:26 +00:00
wowzaman12 dc3b921700 cmakelists changes, wxwidgets interface build fix to follow. 2015-03-27 17:48:42 +00:00
squall-leonhart ae88acca57 bgklink merged to trunk. 2015-03-20 14:23:14 +00:00
squall-leonhart 05794ee3e8 another tom harder patch, fixing some warnings in the gvbam and wxvbam 2013-06-17 04:17:12 +00:00
bgk 00791f6801 WX: Somewhat fix lan link. Advance wars won't link properly whereas it is working with mem link. 2012-09-02 14:26:22 +00:00
bgk cf02712b34 WX: Fix build with LINK enabled 2012-09-01 17:59:13 +00:00
kode54 4178854b85 Fixed a crash on Windows XP and older systems 2012-08-26 07:44:19 +00:00
bgk 41d22899e3 WX: Fix build on non-win32 2012-08-08 19:09:37 +00:00
kode54 d2e00a0085 Added device change notifier to XAudio2 outputs 2012-08-04 22:15:46 +00:00
thibeaz 2273a18e59 added shuffles patch for fixing wxwidgets interface build, unfortunetly still fails building on link enabling. but if disabled it will build and run. 2012-01-23 03:46:47 +00:00
squall-leonhart 2908c33111 shuffles magic mush...... trunk MSVC2010 buildfix 2012-01-20 22:03:27 +00:00
thibeaz 113f7c1f81 added the option to disable/enable xaudio2 support in the cmakelist since it was neglected the first time around, also going to be looking into expanding the sound settings dialog and enhancing it some as soon as I figure out some xrc specifics for wxPropertySheetDialog. 2012-01-16 18:44:25 +00:00
thibeaz 273bf93b7d in the EXECUTE_PROCESS command in the CmakeLists.txt file for the wxwidgets gui was missing the end bracket, this should fix it, next on the list is work on using ffmpeg as an external dependency and not need it as a requirement (hopefully), if it doesn't work, you can shoot me Squall 2011-06-30 01:54:32 +00:00
squall-leonhart c08726589d wx about box fix from darktjm 2011-06-14 13:38:10 +00:00
squall-leonhart a236fff312 apply the vba config file rename to the trunk, this has come about because older versions use some values slightly differently which would cause those versions to fail to work or have the wrong settings. 2011-06-13 15:46:20 +00:00
squall-leonhart 8e6a51211e all current vba-m Wx patches applied to trunk. 2011-05-25 11:55:46 +00:00