rockbox/apps/plugins/doom
William Wilgus 3237ae4a4f LCD core move buf ptr and address look up function viewport struct
I'm currently running up against the limitations of the lcd_draw functions
I want these functions to be able to be used on any size buffer not
just buffers with a stride matching the underlying device

[DONE] allow the framebuffer to be decoupled from the device framebuffer
[DONE need examples] allow for some simple blit like transformations
[DONE] remove the device framebuffer from the plugin api
[DONE}ditto remote framebuffer
[DONE] remove _viewport_get_framebuffer you can call struct *vp = lcd_set_viewport(NULL) and vp->buffer->fb_ptr

while remote lcds may compile (and work in the sim) its not been tested on targets

[FIXED] backdrops need work to be screen agnostic

[FIXED] screen statusbar is not being combined into the main viewport correctly yet

[FIXED] screen elements are displayed incorrectly  after switch to void*

[FIXED] core didn't restore proper viewport on splash etc.

[NEEDS TESTING] remote lcd garbled data

[FIXED] osd lib garbled screen on bmp_part

[FIXED] grey_set_vp needs to return old viewport like lcd_set_viewport

[FIXED] Viewport update now handles viewports with differing buffers/strides by copying to the main buffer

[FIXED] splash on top of WPS leaves old framebuffer data (doesn't redraw)
[UPDATE] refined this a bit more to have clear_viewport set the clean bit and have skin_render do its own screen clear
scrolling viewports no longer trigger wps refresh
also fixed a bug where guisyncyesno was displaying and then disappearing

[ADDED!] New LCD macros that allow you to create properly size frame buffers in you desired size without wasting bytes
(LCD_ and LCD_REMOTE_)
LCD_STRIDE(w, h) same as STRIDE_MAIN
LCD_FBSTRIDE(w, h) returns target specific stride for a buffer W x H
LCD_NBELEMS(w, h) returns the number of fb_data sized elemenst needed for a buffer W x H
LCD_NATIVE_STRIDE(s) conversion between rockbox native vertical and lcd native stride (2bitH)
test_viewports.c has an example of usage

[FIXED!!] 2bit targets don't respect non-native strides
[FIXED] Few define snags

Change-Id: I0d04c3834e464eca84a5a715743a297a0cefd0af
2020-10-26 12:28:48 -04:00
..
am_map.c Fix a bunch of 'variable set but not used' warnings reported from GCC 4.6.0. 2011-05-08 21:06:38 +00:00
am_map.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
Changelog Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
d_deh.c Fix dangerous casts 2017-02-04 17:24:47 +01:00
d_deh.h doom: fix types mismatch spotted by gcc 4.5.1 2010-08-01 16:39:03 +00:00
d_englsh.h Fix up configurable keys, edit exit string, more work needs to be done on menu keys 2006-04-04 23:13:50 +00:00
d_event.h Accept FS#5153 - Doom Scrollwheel Patch 2011-06-05 11:23:53 +00:00
d_french.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
d_items.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
d_items.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
d_main.c Fix dangerous casts 2017-02-04 17:24:47 +01:00
d_main.h Doom for the Gigabeat and some code reduction 2007-01-17 18:52:24 +00:00
d_net.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
d_net.h Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
d_player.h Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
d_think.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
d_ticcmd.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
doom.make pdbox/doom: Use -Wno-stringop-truncation with GCC >=8 2020-05-18 00:47:04 +02:00
doomdata.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
doomdef.c Doom for the Gigabeat and some code reduction 2007-01-17 18:52:24 +00:00
doomdef.h Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
doomstat.c Doom for the Gigabeat and some code reduction 2007-01-17 18:52:24 +00:00
doomstat.h Doom plugin: Missed properly making a few 'unsigned' on my second pass. 2010-05-29 08:28:29 +00:00
doomtype.h Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
dstrings.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
dstrings.h Dehacked and BEX support for Doom - currently only supports a DEHACKED file in a WAD (not as a standalone file yet). 2006-12-13 04:44:17 +00:00
f_finale.c Dehacked and BEX support for Doom - currently only supports a DEHACKED file in a WAD (not as a standalone file yet). 2006-12-13 04:44:17 +00:00
f_finale.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
f_wipe.c Patch #4864 by Jonathan Gordon: text editor plugin, with some changes by me. 2006-04-03 08:51:08 +00:00
f_wipe.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
g_game.c Fix misleading indentation as pointed out by the new gcc warning 2016-08-12 15:33:28 +02:00
g_game.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
hu_lib.c Fix a bunch of 'variable set but not used' warnings reported from GCC 4.6.0. 2011-05-08 21:06:38 +00:00
hu_lib.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
hu_stuff.c Undo hacks to meant to get around string formatting limitations 2017-11-21 05:01:14 -05:00
hu_stuff.h doom: fix types mismatch spotted by gcc 4.5.1 2010-08-01 16:39:03 +00:00
i_sound.c Revise the PCM callback system after adding multichannel audio. 2012-03-03 07:23:38 +01:00
i_sound.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
i_system.c Remove int_prio argument from timer_register, and move the only use for it into alpine_cdc plugin, since this plugin is only built on SH7034 2009-06-29 14:29:46 +00:00
i_system.h Slight code cleanups, fixed sound parameter - now it saves. Old configurations will be reset. 2006-04-15 22:08:36 +00:00
i_video.c LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
i_video.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
info.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
info.h Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
m_argv.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
m_argv.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
m_bbox.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
m_bbox.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
m_cheat.c Utterly pointless fix for an unused Doom module (but while the code is in our source it ought not to have buffer overrides in, right?). 2011-08-26 16:12:51 +00:00
m_cheat.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
m_fixed.h Code cleaning - remove some unnecessary defined(SIMULATOR) checks 2007-05-10 13:16:08 +00:00
m_menu.c Fix a bunch of 'variable set but not used' warnings reported from GCC 4.6.0. 2011-05-08 21:06:38 +00:00
m_menu.h Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
m_misc.c set mode argument for open() where O_CREAT flag is/can be set. 2010-11-07 11:45:20 +00:00
m_misc.h Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
m_random.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
m_random.h Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
m_swap.h Use rockbox endian defines 2006-03-29 21:16:45 +00:00
p_ceilng.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_doors.c Fix a bunch of 'variable set but not used' warnings reported from GCC 4.6.0. 2011-05-08 21:06:38 +00:00
p_enemy.c Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
p_enemy.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_floor.c Silence the gcc 4.4.0 warning by making this code look like it was probably meant to be. I'm not 100% sure this is correct - latest prboom doesn't have that fix. 2009-07-14 10:15:58 +00:00
p_genlin.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_inter.c Dehacked and BEX support for Doom - currently only supports a DEHACKED file in a WAD (not as a standalone file yet). 2006-12-13 04:44:17 +00:00
p_inter.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_lights.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_map.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_map.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_maputl.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_maputl.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_mobj.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_mobj.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_plats.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_pspr.c Dehacked and BEX support for Doom - currently only supports a DEHACKED file in a WAD (not as a standalone file yet). 2006-12-13 04:44:17 +00:00
p_pspr.h Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
p_saveg.c Fix dangerous casts 2017-02-04 17:24:47 +01:00
p_saveg.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_setup.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_setup.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_sight.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_spec.c Fix a bunch of 'variable set but not used' warnings reported from GCC 4.6.0. 2011-05-08 21:06:38 +00:00
p_spec.h Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
p_switch.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_telept.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_tick.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_tick.h Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
p_user.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
p_user.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
r_bsp.c Doom for the Gigabeat and some code reduction 2007-01-17 18:52:24 +00:00
r_bsp.h Update adds prboom's high resolution support, also makes the scaling for platforms w/ resolution less then 320x200 much nicer. IDoom's lookup table code has been removed. Also fixed a pallete bug. Some graphic errors are present in menu and status bar. Also updates some headers and output formatting. 2006-04-02 01:52:44 +00:00
r_data.c set mode argument for open() where O_CREAT flag is/can be set. 2010-11-07 11:45:20 +00:00
r_data.h Update adds prboom's high resolution support, also makes the scaling for platforms w/ resolution less then 320x200 much nicer. IDoom's lookup table code has been removed. Also fixed a pallete bug. Some graphic errors are present in menu and status bar. Also updates some headers and output formatting. 2006-04-02 01:52:44 +00:00
r_defs.h Doom plugin: Missed properly making a few 'unsigned' on my second pass. 2010-05-29 08:28:29 +00:00
r_draw.c Coldfire targets: tiny optimisation. 2010-03-09 23:44:25 +00:00
r_draw.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
r_main.c Doom for the Gigabeat and some code reduction 2007-01-17 18:52:24 +00:00
r_main.h Update adds prboom's high resolution support, also makes the scaling for platforms w/ resolution less then 320x200 much nicer. IDoom's lookup table code has been removed. Also fixed a pallete bug. Some graphic errors are present in menu and status bar. Also updates some headers and output formatting. 2006-04-02 01:52:44 +00:00
r_plane.c Doom for the Gigabeat and some code reduction 2007-01-17 18:52:24 +00:00
r_plane.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
r_segs.c Doom for the Gigabeat and some code reduction 2007-01-17 18:52:24 +00:00
r_segs.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
r_sky.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
r_sky.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
r_state.h Doom for the Gigabeat and some code reduction 2007-01-17 18:52:24 +00:00
r_things.c Doom for the Gigabeat and some code reduction 2007-01-17 18:52:24 +00:00
r_things.h Doom for the Gigabeat and some code reduction 2007-01-17 18:52:24 +00:00
rockdoom.c plugins: More HAVE_BACKLIGHT cleanup 2020-07-24 19:20:15 -04:00
rockmacros.h Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently). 2010-06-21 16:53:00 +00:00
s_sound.c Doom for the Gigabeat and some code reduction 2007-01-17 18:52:24 +00:00
s_sound.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
sounds.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
sounds.h Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
SOURCES FS#12144, Use -fPIC -fvisibility=hidden only for plugins on sim and app builds and enable it for 32 bit too. Fixes linking errors on simbuilds. 2011-06-07 11:56:23 +00:00
st_lib.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
st_lib.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
st_stuff.c Patch #4864 by Jonathan Gordon: text editor plugin, with some changes by me. 2006-04-03 08:51:08 +00:00
st_stuff.h Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
tables.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
tables.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
v_video.c Fix a bunch of 'variable set but not used' warnings reported from GCC 4.6.0. 2011-05-08 21:06:38 +00:00
v_video.h Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
w_wad.c Kill a few warnings in plugins. 2007-02-17 23:06:22 +00:00
w_wad.h Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
wi_stuff.c Undo hacks to meant to get around string formatting limitations 2017-11-21 05:01:14 -05:00
wi_stuff.h Doom plugin: In anticipation of moving to the EABI toolchain, because of its assumptions about enums being sized as ints, convert enum typdefs to int or unsigned depending upon whether they have negative values in the enumeration. This should effectively preserve the manner in which it is compiled under the old toolchain and avoids having to closely inspect and possibly change many places in the code. 2010-05-29 08:12:39 +00:00
z_bmalloc.c Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
z_bmalloc.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00
z_zone.c Fix dangerous casts 2017-02-04 17:24:47 +01:00
z_zone.h Patch #2969 - Doom! Currently only working on the H300. 2006-03-28 15:44:01 +00:00