summaryrefslogtreecommitdiff
path: root/src/video/allegro_v.cpp
AgeCommit message (Collapse)Author
2018-07-19Feature: Framerate display window (#6822)Niels Martin Hansen
Frame rate and various game loop/graphics timing measurements and graphs. Accessible via the Help menu, and can print some stats in the console via the fps command.
2018-04-29Remove: PSP supportPatric Stout
2015-02-22(svn r27167) -Fix: [SDL, Windows] Right-mouse-button scrolling ↵frosch
scrolled/jumped way to far, when OpenTTD lagged during mouse event processing.
2014-04-23(svn r26486) -Codechange: replace a number of snprintfs with seprintfrubidium
2014-04-23(svn r26482) -Codechange: add an include that allows us to undefine/redefine ↵rubidium
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-01-02(svn r26209) -Codechange: remove some template magic and simplify some coderubidium
2013-08-05(svn r25671) -Codechange: Pass character and key code separately to the ↵michi_cc
keyboard handler.
2013-01-08(svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by ↵planetmaker
Eagle_rainbow)
2011-12-11(svn r23488) -Fix [FS#4879] (r23241): artefacts when right click mouse ↵rubidium
moving with the allegro video driver
2011-12-08(svn r23448) -Fix: keep a local copy of the palette in the 32bpp animated ↵rubidium
blitter so changes of the palette data during the game don't influence drawing (with SDL)
2011-12-08(svn r23446) -Codechange: move _cur_palette and it's related first/count ↵rubidium
dirty variables into a single structure
2011-11-17(svn r23241) -Codechange: make the decision when to go to the custom drawn ↵rubidium
cursor more prominently during the initialisation of OpenTTD
2011-10-04(svn r22999) -Codechange: Allow changing the blitter during the running game.michi_cc
2011-02-07(svn r22021) -Fix (r22019): ofcourse make doesn't notice files are gone, so ↵rubidium
it doesn't recompile everything that needs to be recompiled...
2010-11-19(svn r21252) -Codechange: introduce a constant for the number of ↵rubidium
milliseconds per game tick and use it
2010-08-01(svn r20286) -Codechange: Unify end of doxygen comments.frosch
2010-08-01(svn r20283) -Codechange: Unify start of doygen comments.frosch
2010-07-19(svn r20192) -Cleanup: bye bye variables.h, bye bye VARDEF... you won't be ↵rubidium
missed :)
2010-05-19(svn r19861) -Fix (r19814): Silence a warning.frosch
2010-05-13(svn r19814) -Codechange: give some more unnamed enums a name, in case they ↵rubidium
consisted of unrelated values use static const (u)int
2010-01-15(svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, ↵rubidium
if a header require a header make it include that header
2010-01-04(svn r18709) -Fix (r10227,FS#3464): Animation buffer for 32bpp-anim blitter ↵peter1138
was only validated during sprite blitting, other drawing operations didn't check it. Initial startup and window resize could therefore lead to crash.
2009-12-19(svn r18545) -Fix [FS#3292]: Assign '_screen.dst_ptr' as soon as it is ↵frosch
allocated.
2009-11-09(svn r18031) -Codechange: since basically r7157 adding up 'all' mouse ↵rubidium
movement isn't needed anymore because after each even that movement is handled and the counter is reset. As such simply assigning instead of adding works.
2009-10-17(svn r17787) -Codechange: be a bit more verbose about while allegro failed ↵rubidium
with some actions.
2009-10-15(svn r17776) -Codechange: [SDL] make "update the video card"-process ↵rubidium
asynchronious. Profiling with gprof etc. hasn't shown us that DrawSurfaceToScreen takes a significant amount of CPU; only using TIC/TOC it became apparant that it was a heavy CPU-cycle user or that it was waiting for something. The benefit of making this function asynchronious ranges from 2%-25% (real time) during fast forward on dual core/hyperthreading-enabled CPUs; 8bpp improvements are, in my test cases, significantly smaller than 32bpp improvements. On single core non-hyperthreading-enabled CPUs the extra locking/scheduling costs up to 1% extra realtime in fast forward. You can use -v sdl:no_threads to disable threading and undo this loss. During normal non-fast-forwarded games the benefit/costs are negligable except when the gameloop takes more than about 90% of the time of a tick. Note that allegro's performance does not improve with this system, likely due to their way of getting data to the video card. It is not implemented for the OS X/Windows video backends, unless (ofcourse) SDL is used there. Funny is that the performance of the 32bpp(-anim) blitter is, at least in some test cases, significantly faster (more than 10%) than the 8bpp(-optimized) blitter when looking at real time in fast forward on a dual core CPU; it was slower. The idea comes from a paper/report by Idar Borlaug and Knut Imar Hagen.
2009-10-14(svn r17773) -Cleanup: sdl.h isn't needed for allegrorubidium
2009-08-21(svn r17248) -Fix: add GPL license notice where appropriaterubidium
2009-06-30(svn r16700) -Fix: if allegro fails to start or fails open a window or sound ↵rubidium
card fall back to another driver
2009-06-27(svn r16677) -Codechange: Dimension width and height are unsigned.alberth
2009-06-01(svn r16491) -Codechange: Added parentheses around bitwise operators for ↵alberth
code style.
2009-05-06(svn r16242) -Codechange: rework pausingrubidium
-Fix [FS#2864]: autopause and manual pausing conflict with eachother -Fix: new game + pause on new game + autopause make the game not unpause on the first join
2009-01-19(svn r15156) -Fix: add scrollwheel support to allegrorubidium
2008-11-29(svn r14641) -Change [Allegro]: when making a debug build revert Allegro's ↵rubidium
hooks on SIGSEGV/SIGABRT so one can actually use gdb. -Change: make it more clear that Allegro's failing to find a driver.
2008-11-26(svn r14636) -Add: DOS port of OpenTTD, without network support though.rubidium
2008-11-25(svn r14632) -Add: support Allegro as midi backend.rubidium
2008-11-25(svn r14631) -Add: support for Allegro as sound backend.rubidium
2008-11-25(svn r14630) -Add: support Allegro as video backend.rubidium