aboutsummaryrefslogtreecommitdiff
path: root/sword2/driver/render.cpp
AgeCommit message (Collapse)Author
2004-06-09Cleaned up the palette handling a bit. Renamed _palCopy to _palette since ITorbjörn Andersson
found the old name misleading (there is only one array that stores the palette in the engine, though it could be argued that it's a copy of the one used by the backend), and removed some code that I'm almost certain was never used. (I've added assert()s to trigger in the cases where it would have been used.) svn-id: r13949
2004-06-06Cleaned up sprite scaling.Torbjörn Andersson
svn-id: r13944
2004-05-09When drawing lines and points, mark the corresponding screen area as dirtyTorbjörn Andersson
so that it gets properly redrawn. Only the debugging code uses these drawing primitives, so it's no big deal, but it's still the right thing to do. svn-id: r13811
2004-04-23Major revamping of the BS2 memory manager and, some small changes to theTorbjörn Andersson
resource manager. All new code! All new bugs! svn-id: r13603
2004-04-07Cleanup.Torbjörn Andersson
svn-id: r13494
2004-03-28Renamed more OSystem methodsMax Horn
svn-id: r13410
2004-03-15fix doxygen-comment mistakesMax Horn
svn-id: r13286
2004-03-01Fix from Roever for bug #892827James Brown
svn-id: r13107
2004-02-07Patch #874510 from roever, fixes BS2 demo cutscene problems (bug #884568)James Brown
svn-id: r12761
2004-02-05Removed some of the #includes from sword2.hTorbjörn Andersson
svn-id: r12739
2004-01-17Update BS2 cutscene player with changes from roever: overlay support ↵James Brown
(default, 8bit backends should define BACKEND_8BIT for fast colour remapping) and sound syncronisation. svn-id: r12456
2004-01-14Increased the delay I added to interpolation frames from 0 to 10. This willTorbjörn Andersson
probably make the scrolling less smooth (I don't yet know how much), but it does seem to fix bug #875683. svn-id: r12381
2004-01-13cut down pointless header interdependenciesMax Horn
svn-id: r12360
2004-01-13As an experiment, I've added a delay of 0 milliseconds when drawingTorbjörn Andersson
interpolation frames. It shouldn't delay anything, but I'm hoping it will allow the other threads some breathing room, which might help bug #875683. Or not. We'll see. svn-id: r12357
2004-01-12- whitespacesPaweł Kołodziejski
- fix for compilation at MAX, at include types - changed to our types svn-id: r12344
2004-01-12Initial libmpeg2 cutscene support based on patch #874510.James Brown
Pre-converted cutscenes w/ palette files available - ask LeChuck about Cutscenes :) svn-id: r12338
2004-01-09Fix a harmless clipping bug (block surfaces were drawn even when theirTorbjörn Andersson
width or height was 0), and use consistent naming for clip rect parameters. svn-id: r12272
2004-01-06It's a new year in BS2 land, too!Torbjörn Andersson
svn-id: r12181
2004-01-04Adapted LavosSpawn's idea for more efficient screen updating. It stillTorbjörn Andersson
renders the entire screen every frame, but it tries to update (i.e. copy to the backend) only the parts of the screen that actually changed. At least approximately so. svn-id: r12142
2003-12-28Hopefully the last big renaming. Now the datatypes have names likeTorbjörn Andersson
"StandardHeader" instead of "_standardHeader". svn-id: r11997
2003-12-08Shut up Valgrind warnings.Torbjörn Andersson
svn-id: r11528
2003-11-16More cleanup. I've eliminated all the temporary global variables I've addedTorbjörn Andersson
over the past few weeks, except for g_sword2. (Of course, this doesn't necessarily make the code any prettier, but we can work on that later.) svn-id: r11309
2003-11-11Removed SVM_timeGetTime(). We may as well call get_msecs() directly.Torbjörn Andersson
svn-id: r11260
2003-11-11Moved low-level keyboard and mouse handling to a new Input class, andTorbjörn Andersson
renamed the Display class Graphics for no better reason than me liking the phrase "sound and graphics" better than "sound and display". svn-id: r11258
2003-11-08Removed some now redundant header files.Torbjörn Andersson
svn-id: r11209
2003-11-08Moved more stuff into classes, changed some static allocation to dynamic,Torbjörn Andersson
and removed some of the references to global variables. At this point I believe everything in the main game engine has been moved into classes - not necessarily the correct ones, but still... However, there is some stuff in the driver directory that need to be taken care of as well. svn-id: r11207
2003-10-28bs2 -> sword2Max Horn
svn-id: r10997
2003-10-26Enable the debug console. Actually, what I've done is to adapt the debugTorbjörn Andersson
console from the SCUMM engine. I decided that would be easier than to clean up the original console code. Unfortunately there's a bunch of code that I just copied - a pretty lousy form of code-reusal. It'd be nice if the console could be made part of the Engine class, or something like that. Most of the debug commands seem to be working. Some aren't relevant for ScummVM, and some are a bit obscure so I'm not quite sure what they're supposed to be doing. svn-id: r10978
2003-10-15Dumped most of the remaining "driver" code into a new "Display" class. ThisTorbjörn Andersson
touches a lot of the code, of course, and adds yet another global variable (temporarily, I hope), but everything still seems to work. Knock on wood. svn-id: r10806
2003-10-07Some cleanup, some code removal and some unstubbing. Nothing important.Torbjörn Andersson
svn-id: r10659
2003-10-05Made a separate class for the cutscene functions, removed some unused codeTorbjörn Andersson
and made some other minor cleanups. svn-id: r10614
2003-10-04added namespace Sword2Max Horn
svn-id: r10581
2003-10-02renamed namespace ScummVM to CommonMax Horn
svn-id: r10544
2003-09-29cleanupTorbjörn Andersson
svn-id: r10484
2003-09-28cleanupTorbjörn Andersson
svn-id: r10467
2003-09-28More cleanup, plus support for cutscene leadout music. For now, we onlyTorbjörn Andersson
play that music for cutscenes that have subtitles. svn-id: r10460
2003-09-28Alignment fixNicolas Bacca
svn-id: r10459
2003-09-27Removed CopyScreenBuffer() since it was a no-op anyway.Torbjörn Andersson
svn-id: r10427
2003-09-27cleanupTorbjörn Andersson
svn-id: r10426
2003-09-24Replaced abs() with ABS and BOOL with bool, plus some minor cleanups.Torbjörn Andersson
svn-id: r10391
2003-09-23Removed ancient version history. Much of it doesn't apply to us, and wasTorbjörn Andersson
cluttering up the files anyway. (Though I do feel a slight twinge of guilt for removing historical records like this. :-) svn-id: r10384
2003-09-21No need to do endian conversion if you check for 0, as BE 0 == LE 0Max Horn
svn-id: r10359
2003-09-19cleanupTorbjörn Andersson
svn-id: r10308
2003-09-16Removed some unnecessary #includes and #defines.Torbjörn Andersson
svn-id: r10264
2003-09-12endian fixesOliver Kiehl
svn-id: r10192
2003-09-09Our ServiceWindows() never returns RDERR_APPCLOSED, and we always behave asTorbjörn Andersson
if we have the focus, so there's no need to check. svn-id: r10130
2003-09-07more endian fixesMax Horn
svn-id: r10058
2003-08-29Added some code to stop producing interpolation frames if the scene hasTorbjörn Andersson
already reached its scroll target. This keeps BS2 from using all available CPU time all of the time. It may still be that we need a mechanism for throttling the frame rate when the scene is moving towards a scroll target, but my computer isn't really fast enough to test that. Two other bugs fixed in the process: * I think the last frame of the render cycle was rendered, but not displayed. If so, that should be fixed now. * I discovered that there are cases where we do need to clear the screen (e.g. at the "Meanwhile..." message when George has found out about the Glease Gallery), so I've re-enabled the function and disabled it in the render cycle. svn-id: r9904
2003-08-28Removed the Surface class in favor of small struct specially made for theTorbjörn Andersson
block surfaces. (A block surface is a 64x64 tile of a parallax layer.) I've also done a few things to try and optimize the drawing: * The back buffer is no longer cleared between frames. This may cause regressions, but I do believe that the entire picture area is always completely re-rendered for each frame. As a result of this, the menu code is now responsible for clearing the icon areas itself. * A few unnecessary copy_rect() calls were commented out in favor of one big copy_rect() in ServiceWindows(). * Completely opaque block surfaces are copied with memcpy(), one line at a time. Unless we manage to add intelligent screen redrawing, I don't think it will get that much faster than this, though there is some unnecessary data copying in DrawSprite() that could be removed. And the game is still a terrible CPU hog. I believe the animation runs at approximately 12 fps. If there's still time left, it will pump out further frames to get smooth scrolling. We ought to put a cap on that, and if it has already reached the scroll target it should sleep for the rest of the render cycle. svn-id: r9886
2003-08-27Added code for smoothing upscaled sprites (for the highest detail setting).Torbjörn Andersson
I don't know if I got it right - the result doesn't look that great to me - but at least the infrastructure is there. This, I think, marks the point where BS2 graphics is pretty much done. Some functions haven't been unstubbed yet, but I believe they're used for debugging and/or profiling. I'm not sure they're worth the trouble. Of course, there is still testing and clean-ups to make. For instance, I'd like DrawSprite() to use malloc() a bit less. svn-id: r9879