Menu

#33 wxWidgets front end

Added
closed-accepted
nobody
GUI (10)
5
2015-05-21
2011-05-16
No

This patch ads a wxWidgets multi-platform front end which should work on Linux, Windows, and MacOSX. There are still some missing features/bugs, but it implements most of what the MFC interface has. I am unsure if I will ever work on this again, so I\'ll finally release it.

It depends on all of the previous patches I posted: 3302788, 3302790, 3302791, 3302792, 3302794, 3302795, 3302796, 3302797, 3302798)

Its purpose is to allow support of new features for all platforms, rather than just Windows/MFC. Features reimplemented from MFC include:
- Viewers (MFC Tools menu)
- GB printing
- Preliminary link support (see below)
- Numerous config options
- Filter plugins
- OpenAL, DirectSound, XAudio2
- A/V recording
- Event recording & playback
- Cheat creation via search
- GDB support
- User key bindings

Missing features from MFC include direct3d support, setting file types from VBA-M, and setting language from VBA-M. I might consider the first if I ever get motivated again, but the other two should not be there.

While I tried to get link working (and in fact link support was my main motivation for doing this), it is still broken. Then again, it wasn\'t exactly stellar before (it was MFC only and didn\'t work on Wine, and probably was broken for real Windows too). It is unstable in local mode, and doesn\'t work at all in network mode. The network mode is such a twisted mess that I don\'t even want to try to figure out why it\'s broken right now. I don\'t know any games that support the RFU, so that\'s untested and likely broken as well. I\'m tired of beating my head against the wall for this, so I\'ve decided to leave it as is.

Any further patches I post will be against this, rather than submitting this incrementally. Then again, I\'d rather play games than continue patching this, so maybe this is the final version.

Here is my current todo list (which I may or may not work on):
high:
Link not reliable (missing interrupts?)
TCP link non-functional
backup save state
backup battery save
funky scrollbars may be jumping too far early & late in ranges (dual event?)
fix global accels (again): lost after some dialogs

medium:
cmd-line patches/patching from menu (and all avail .ips/.ups/.ppf?)
profiling (PROFILING -> cpuEnbleProfiling(int = 100)
review all 8->16 and 16->8 text conversions (libc/mb_str vs utf8 vs filename)
review all 16-bit and 32-bit reads from files or emulator memory for swaps
direct3d renderer (win32 only)

low:
wx-2.9 adds blank panel in upper-left of all gfx viewers
wx-2.9 propertysheetdialog does not Fit() properly
OSD using wx renderer
mem viewer cleanup (use statictext instead of directly drawing? custom caret?)
disassembler cleanup (use same method of drawing as mem viewer?)
sdl printer
sdl ffmpeg
test w/ mmx/asm
non-sdl joystick
genericflashcardEnable (cmd line option?)
load patches, cheats from archive (either same archive or .gz)
3d renderer motion blur if no filter
dynamically load SDL if non-SDL joystick & sound avail (similar to OpenAL)
split code more
motion sensor using analog stick

Discussion

  • Thomas Moore

    Thomas Moore - 2011-05-16

    Everything, compressed to fit within SourceForge's max file size

     
  • Squall Leonhart

    Squall Leonhart - 2011-05-16
    • labels: 1087480 --> GUI
    • status: open --> open-accepted
     
  • Thomas Moore

    Thomas Moore - 2011-05-19

    First fix already <sigh>. Apply after main patch. Prevents crash on win32 startup.

     
  • Thomas Moore

    Thomas Moore - 2011-05-19

    Yet another fix. This one corrects auto SGB border, unload while OSD active, and minor GL quirks

     
  • Thomas Moore

    Thomas Moore - 2011-05-20

    This one removes invalid attempts to enable/disable menu items that have been removed due to compled-out features

     
  • Thomas Moore

    Thomas Moore - 2011-05-21

    This one adds mouse pointer blanking

     
  • Thomas Moore

    Thomas Moore - 2011-05-22

    This one contains build fixes: removes direct libintl dependcency from sys.cpp, install fix, and debian build update

     
  • Thomas Moore

    Thomas Moore - 2011-05-22

    Note that the debian build update in fix4 is incomplete:

    - it requires a version bump after checkin

    - the wx package conflicts with the gtk package because they both use the same icons

    - it does not get the SVN version number correctly (probably have to do that manually)

    I don't know why the latter is an issue, since I already fixed that in a previous patch, but I don't want to spend time looking into it.

     
  • Thomas Moore

    Thomas Moore - 2011-05-23

    This one fixes the message file name. I thought wx used the app name by default, but apparently not.

     
  • Thomas Moore

    Thomas Moore - 2011-05-23

    This one enables the joystick properly

     
  • Squall Leonhart

    Squall Leonhart - 2011-05-25

    no fun, your changes to gbalink.h and .cpp, and linkoptions have borked VS compiling lol.

     
  • Squall Leonhart

    Squall Leonhart - 2011-05-25

    vba.cpp also has an issue.

     
  • Squall Leonhart

    Squall Leonhart - 2011-05-25

    the ifndef's in gbalink.cpp appear to be failing to exclude the mman and sempahore and time files :\

     
  • Thomas Moore

    Thomas Moore - 2011-05-25

    I do not have MSVS and do not want it, and did not even when it was free for me. Any changes I made affecting MFC/MSVC-only code was done blindly. Apparently, __WIN32__ is not being defined. I have no idea what MSVC does normally define. Maybe replace #ifdef __WIN32__ with #if defined(__WIN32__) || defined(__VISUALC__) or something like that (I think we can safely assume MSVC means Windows, since MSVC doesn't cross-compile to anything but other Windows platforms). I'll leave that, and any other MSVC-related issues, to someone with MSVC to fix. Since I didn't make changes to VBA.cpp, I have no idea what issues there might be from just looking at the code (which is all I can do). If you find any further problems I might be able to help with, please post an error log.

     
  • wowzaman12

    wowzaman12 - 2015-04-09

    For the most part I'm going to close this since it's been successfully merged in and on top of that finally receiving some needed love.

     
  • skid

    skid - 2015-05-21

    The wx gui is now the main VBA-M front-end.

     
  • skid

    skid - 2015-05-21
    • status: open-accepted --> closed-accepted
    • Group: --> Added