Roller Coaster Ride

Traces to leave, thoughts to share.

Archive for the ‘Uncategorized’ Category

GFE, Game Front End

Posted by alimbourg on May 11, 2010

Hey,

I spent the last months fighting/juggling/coding with WPF. Not the easiest hobby in town, i should i mention, anyway: this is GFE.

The idea behind the project is to be able to… Play. No fuss, and more generally minimal settings to be able to list and launch a vast collection of games: emulated, freeware, flash, choice is vast.

Basically GFE is listing a directory of… things (roms, zip, pics, you tell), probably thousands of them. Background scanners are trying to match every entry with snapshots and movies (furtherly stats and extra infos from web). And apart from primary enumeration, everything else is asynchronous for a smoother experience.

All settings are guessed from a directory structure passed as application argument, or preferably from a gameinfo.xml file.

It’s using low level inputs, preferably a joystick, enabling some interaction with GFE running in the background. And it’s a WPF project: so all the frontend rendering is done through DirectX and accelerated hardware if available.

OK now, this is the very first version of GFE, and, well: it’s usable, but probably not versatile or cute enough. I’m working on that: you can help with suggestions, money, or simple greetings.

Binary:  GFE-0.5.0.zip (45 Ko)

Technical details:

Windows – .NET 3.5, works on XP and Seven

Joystick (XInput compatible) or Keyboard

How to run it:

Modify included GameInfo.xml and use it as the application parameter.

Note: when in background, both LB+RB button (Ctrl+Back) is killing launched app and bring back GFE to front. LB+Y exits GFE.

alimbourg at gmail for any question.

This is GFE Emu FrontEnd

Posted in frontend, Uncategorized | Tagged: , , , | Leave a Comment »

OWL

Posted by alimbourg on March 10, 2010

Soon…

Posted in Uncategorized | Tagged: | Leave a Comment »

Mame132 mods for automated avi creationw

Posted by alimbourg on July 10, 2009

This to create a special MAME build to allow automation via AutoIt, for example: i needed to find a way to send keys inputs and triggers AVI recording of my games, at will.
As Mame is using ‘raw inputs’ it cant be fooled by standard key messages.

Fortunately this project is really really (really) easy to modify and build, so i patched some

Go there and follow every steps: http://mamedev.org/tools/

Then modify some sources.

First More Wndows Message to allow communication (for key events, and avi recording)


//in windows.c/winwindow_video_window_proc, around line 1361
//declared asomewhere in windows.c:
// void rawinput_keyboard_fake_update(int dik_code, int pressed);
case WM_USER+10:
if (lparam&0x80) MessageBeep(0);
rawinput_keyboard_fake_update(wparam, lparam);
break;
case WM_USER+11:
if (!video_mng_is_movie_active(window->machine))
{
const char* filename = NULL;
if (lparam!=0)
filename = options_get_string(mame_options(), OPTION_MNGWRITE);
//video_mng_begin_recording(machine, NULL);
video_avi_begin_recording(window->machine, filename);
popmessage("REC START");
}
else
{
//video_mng_end_recording(machine);
video_avi_end_recording(window->machine);
popmessage("REC STOP");
}
break;

Then a tweak to bypass raw inputs


//in input.c, around line 1964, before rawinput_keyboard_update
//
void rawinput_keyboard_fake_update(int dik_code, int pressed)
{
device_info *devinfo;
for (devinfo = keyboard_list; devinfo != NULL; devinfo = devinfo->next)
if (devinfo->rawinput.device != NULL)
{
devinfo->keyboard.state[dik_code] = pressed?0x80:0x00;
}
}

Build it and voila. You’ll have some new mame.exe listening for external messages.

I have such binary build available for the sking people.

Next post should be an explanation for the whole Mame Avi Move Maker build with AutoIt…

Regards (and eventually leave comments)

Posted in Uncategorized | Leave a Comment »

SQLite and obese debug informations

Posted by alimbourg on June 2, 2009

SQLite.c is the ‘amalgemon’ version of the Database: a huge .c file containing all the dependencies to compile SQLite into our projects.

Using GCC, and standard mingw compilation option, we probably all notice the ton of compilation warning telling us that debug infos are too huge to be handled correctly (if you tried that, it’s impossible to trace sqlite sources with gdb).

The problem is concerning the embedded debugging information in STABS format: GCC is handling more modern types of debugging info. We just have to tell it to use them (http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html)

in your .pro file (assuming you’re using QtCreator), force these flags to be used:

#remove standard debug generation for c files
QMAKE_CFLAGS_DEBUG -= -g
#(*= 'if not present'), force uber debug infos, perfect for gdb
QMAKE_CFLAGS_DEBUG *= -ggdb

No more compilation warning=quickest compilation, and we’re now able to trace sqlite.c in gdb… Another win ;-)

Posted in Uncategorized | Tagged: , , , | Leave a Comment »

Qt and latest MinGW

Posted by alimbourg on June 2, 2009

If you’re using QtCreator as a code IDE on Win32, you probably noticed the debugging overall sluggish-ness…

Qt is using MINGW (V3.2 iirc) to compile projects. It’s an old flavor of mingw, and gdb.exe (the debugger) did grow up ever since.

Go for http://sourceforge.net/project/showfiles.php?group_id=2435 to get:

or

That should do. Install all this into a directory.

In QtCreator, tell locate the mingw you’re using via Tool->Options->Qt4->Qt Versions->Select the one you’re using-> mingw directory

That’s it.  Latest mingw flavor  seems to work on for me. And gdb is not sluggish anymore.

Posted in Uncategorized | Tagged: , , , , | Leave a Comment »

Clutter/Qt Creator IDE

Posted by alimbourg on March 30, 2009

A new incomer into the free IDE arena: QT Creator from trolltech/nokia.

The Windows version is based on the Mingw32 environment…. So Clutter is compilable with it.

http://www.qtsoftware.com/downloads/sdk-windows-cpp

Very neat IDE. Provided to spread Qt4.5 all around the world, this IDE is included in the Qt SDK. Dont be afraid, you can use it to build your project without any Qt in them.

To build Clutter(*) on Windows using this one: you need to follow the prebuild.bat step (see previous posts), to allow Clutter to be built under a minimalistic MinGW environment.

And get the project file Clutter.pro, for use with QtCreator, to be modified for your needs.

cheers

(*: Nokia/Qt and Intel/Clutter are competitors concerning mobile frameworks… Kinda ironic to build one using the other)

Posted in Uncategorized | Leave a Comment »

Win32 Clutter (0.9.2 and Bleeding edge) compilation…

Posted by alimbourg on March 20, 2009

… Still using code::blocks:

Okay i enhanced my scripts to make all this compiling with a native code::blocks install, but various clutter versions…

Basically all you need is:

- to get Clutter sources: using GIT repository (origin/master branch fe), or here : http://www.clutter-project.org/sources/clutter/0.9/ (0.9.2)
- to create some %CLUTTER%\clutter\build\codeblocks directory
- to unzip in there, content of http://alimbourg.googlepages.com/codeblocks.zip
- to modify ‘prebuild.bat’ which configures various compilation defines, plus generates some .h/.c files using glib tools: so you have to change some paths to point your glib directory…
- run ‘prebuild.bat’: it will ask for perl.exe, but if you don’t have it installed, will copy my own “clutter-enum-types.c/.h” (hence, should be out of sync at some point)

Read http://www.clutter-project.org/blog/?p=68 for dependencies. See previous posts about how to get them.

After that, everything should be ok for you to compile…

For Visual Studio Users: all you have to do is to create .vcproj with all the source files… But probably that some typical gcc include files would be missing (i dont have visual right right now to check that) like libintl.h, iconv.h (?).
gettext, libiconv package for win32 are available here, but i dont know how they integrate themselves into a visual studio framework…

PM or Comment if you need some more ;-) .

Posted in Uncategorized | Leave a Comment »

Bleeding Edge Clutter (Win32 build with C::B)

Posted by alimbourg on March 9, 2009


Using GIT to retrieve repository:
GIT binaries here: http://code.google.com/p/msysgit/

  • Start “Git GUI”
  • ‘Clone Depot’
  • Source Depot is git://git.clutter-project.org/clutter
  • Target is yours: c:\Prog\clutter
  • Press ‘Clone’ and wait a while

Thanks to them, they improved Win32 support :) No more dirty GL hacks to make it work.

Get the latest CB files (see previous post about building Clutter on Win32): unzip this into your clutter\build\cb\: http://alimbourg.googlepages.com/cb-latest.zip

Run prebuild.bat and that’s it. Open Code::Blocks and the workspace: everything should rock’n'roll…

I’m doing some application tests to confirm my first impression: Clutter *is* pretty smart (even if i miss the 3rd dimension of OpenGL :| )

Cheers,

Posted in Uncategorized | Leave a Comment »

 
Follow

Get every new post delivered to your Inbox.