#8472 closed patch (outdated)
Patch to make WinCE backend work with OPIE
Reported by: | SF/j0tt | Owned by: | fingolfin |
---|---|---|---|
Priority: | normal | Component: | Ports |
Version: | Keywords: | ||
Cc: | Game: |
Description
This patch will allow you to use the keyboard, toolbar and key mappings on linux handheld devices running Opie (Qtopia OpenZaurus should work too). Namely it makes the wince backend more usable with general SDL capable devices using 320x240 resolution.
Main changes: - Introduced a getPreferredGUI{width,height} in OSystem and use this instead of the overlaySize in GUI elements. This will make the GUI elements scale correct when the keyboard/toolbar is enabled. - Introduced a OPIE_BACKEND define which can be enabled with configure when choosing opie backend - Fixed some #includes in backend/wince and dependend files that where not using correct path and cases - Put the backend/wince WinCE specific code in #ifndef OPIE_BACKEND and introduced some QT embedded code to query device resolution when building Opie backend - Introduced SDL_xpm.h in backend/wince to parse xpm files - Converted bmp to xpm and made new xpm for keyboard and toolbar (makes the patch so huge) - Some #defines in stdafx.h to make the Opie backend more compatible with wince source
Notes: diff -urN was run against CVS from 2005-10-13.
When using OpenEmbedded the bb should have something like this to make it work:
EXTRA_OECONF = "--host=linupy \ --backend=opie \ --with-sdl-prefix=${STAGING_BINDIR}/.. \ --disable-alsa \ --with-ogg-prefix=${STAGING_LIBDIR}/.. \ --with-tremor-prefix=${STAGING_LIBDIR}/.. \ --with-mpeg2-prefix=${STAGING_LIBDIR}/.. \ --with-mad-prefix=${STAGING_LIBDIR}/.. "
do_compile() { oe_runmake CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS} -ggdb" CXXFLAGS="${CXXFLAGS} -ggdb - I${STAGING_LIBDIR}/../qt2/include/" LDFLAGS="${LDFLAGS} - lmpeg2 -lSDLmain -ggdb" \ DEFINES="-DUNIX -DSCUMM_NEED_ALIGNMENT - DUSE_MAD -DUSE_VORBIS -DUSE_TREMOR -DUSE_ZLIB - DUSE_MPEG2 -DDISABLE_SAGA -DOPIE_BACKEND - DSMALL_SCREEN_DEVICE -DDISABLE_KYRA" }
Ticket imported from: #1325302. Ticket imported from: patches/577.
Attachments (1)
Change History (6)
by , 19 years ago
Attachment: | opiepatch.diff added |
---|
comment:1 by , 19 years ago
comment:2 by , 19 years ago
EPOC, gp32 and maybe even PalmOS (which currently has its own backend, of course) could profit from such changes to the SDL backend, too.
Furthemore, common virtual keyboard code would be potentially a big boon to many existing and future ports... A key factor here is to make using stuff like this easy, while not adding (much) bloat if the target OS already provides its own virtual keyboard / feature X.
Regarding images: We need a BMP (or other format) loader soon anyway. Storing gzip compressed BMP data in a C-array is something we soon may have to do "often", so it might be nice to have some code which takes such an array and turns it into a Graphics::Surface.
comment:4 by , 18 years ago
Owner: | set to |
---|---|
Resolution: | → outdated |
Status: | new → closed |
comment:5 by , 6 years ago
Component: | → Ports |
---|
Short summary of our IRC discussion:
- getPreferredGUI() is questionable. We should try to avoid introduce of yet another OSystem method - Images are better to keep in a manner as joostp does for his PSP port. I.e. zipped BMPs put into C arrays. Not verbose XPM + SDL_image functions - Probably it would be better to split out of WinCE backend a generic Smallscreen backend and both OPIE and WinCE will inherit from that. I.e.
SDL ---> Smallscreen ---> WinCE +----> OPIE - Yes, WinCE backend needs cleanup but that should be sumbitted separately and discussed with arisme. - As of OPIE compilation just create platform-specific Makefile. See backends/gp32/Makefile and backends/gp32/build.rules