On 14 Oct 2007, at 18:21, Disch wrote:

> Thank you both for the replies!  Something like SDL+FLTK sounds  
> like it would be ideal then.  I'll take the plunge and try to work  
> out a few test programs today.
>
> Using SDL by itself wasn't an option for me because as has been  
> mentioned, it completely lacks any kind of decent widget/common  
> dialog support libs (you can't even give the main window a menu,  
> for crying out loud -- and forget about creating pop up dialogs or  
> additional windows).  While it's true I could make a bare bones  
> commandline driven emulator with it, if I wanted to make a debugger  
> or even just a halfway decent GUI, I'll need some kind of widget  
> library for support.

Another more radical option (although it may be more work for you  
case, I don't know) is to write two separate programs - one which is  
pure SDL and contains the core emulation and "real-time" aspects  
(audio, in-game keyboard activity, joystick, etc...) and another  
which is pure-fltk and handles the GUI aspects, e.g. config, game  
selection, saving state, etc...

The two components then communicate via some form of IPC - sockets  
might actually be easiest in a cross-platform sense, since  
fltk's ::add_fd() function can cope with sockets very well, and the  
win32 platforms don't really cope with pipes at all well. Actual in- 
game communication between the GUI and the emulator would be pretty  
minimal, so that should be easy enough to do.

The "advantage" of this approach is that you can work up the emulator  
as a command-line app initially in SDL, then add the GUI and  
supporting IPC at a later stage to dress it up nicely.

I've done something similar in the past, where the app was split like  
this over sockets (although in that case the driving need for the  
design choice was RPC, with the core potentially on a different  
machine from the GUI...) However, it seems like it could be  
applicable to your case too.

> Admittedly I didn't look into Allegro much -- though I did try a  
> few emulators that used it and was less than impressed (though that  
> may have been the author's fault, not the library).

Allegro is certainly worth another look, I'd suggest - I've used it  
for a few things in the past, it works pretty well and was easy to  
get going with... It may be hasty to judge it based on the examples  
you have looked at so far, perhaps. And it does have it own GUI/ 
widget sets, more or less, which might be good enough for your needs.

-- 
Ian


_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to