summaryrefslogtreecommitdiff
path: root/src/video/allegro_v.cpp
AgeCommit message (Collapse)Author
2019-03-19Remove: DOS supportPatric Stout
In 10 years there was no active development on DOS. Although it turned out to still work, the FPS was very bad. There is little interest in the current community to look into this. Further more, we like to switch to c++11 functions for threads, which are not implemented by DJGPP, the only current compiler for DOS. Additionally, DOS is the only platform which does not support networking. It is the reason we have tons of #ifdefs to support disabling networking. By removing DOS support, we can both use c++11 functions for threads, and remove all the code related to disabling network. Sadly, this means we have to see DOS go. Of course, if you feel up for the task, simply revert this commit, and implement stub c++11 functions for threads and stub functions for networking. We are more than happy to accept such Pull Request.
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