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
Changelog
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
d_event.h Accept FS#5153 - Doom Scrollwheel Patch 2011-06-05 11:23:53 +00:00
d_french.h
d_items.c
d_items.h
d_main.c Fix dangerous casts 2017-02-04 17:24:47 +01:00
d_main.h
d_net.c
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
d_ticcmd.h
doom.make pdbox/doom: Use -Wno-stringop-truncation with GCC >=8 2020-05-18 00:47:04 +02:00
doomdata.h
doomdef.c
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
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
dstrings.h
f_finale.c
f_finale.h
f_wipe.c
f_wipe.h
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
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
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
i_system.c
i_system.h
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
info.c
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
m_argv.h
m_bbox.c
m_bbox.h
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
m_fixed.h
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
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
p_ceilng.c
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
p_floor.c
p_genlin.c
p_inter.c
p_inter.h
p_lights.c
p_map.c
p_map.h
p_maputl.c
p_maputl.h
p_mobj.c
p_mobj.h
p_plats.c
p_pspr.c
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
p_setup.c
p_setup.h
p_sight.c
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
p_telept.c
p_tick.c
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
p_user.h
r_bsp.c
r_bsp.h
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
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
r_main.c
r_main.h
r_plane.c
r_plane.h
r_segs.c
r_segs.h
r_sky.c
r_sky.h
r_state.h
r_things.c
r_things.h
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
s_sound.h
sounds.c
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
st_lib.h
st_stuff.c
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
tables.h
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
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
z_bmalloc.h
z_zone.c Fix dangerous casts 2017-02-04 17:24:47 +01:00
z_zone.h