aboutsummaryrefslogtreecommitdiff
path: root/sword2/driver/render.cpp
AgeCommit message (Collapse)Author
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
2003-08-26The graphics detail settings partially work now. They only affect howTorbjörn Andersson
sprites are drawn, but I think that's how it should be. 1: No bells or whistles. 2: This setting adds sprite blending, e.g. the smoke at the docks or the display cases at the Glease Gallery. 3: This setting adds light map support, e.g. when walking under the shack at the docks. 4: This setting adds better scaling algorithms. The first three settings should work fine now. In fact, the third setting is what we used to implement. The fourth setting still needs work and testing. I've added code for downscaling case, but frankly I'm not convinced the result is any better than with the simpler scaler. I usually can't even tell the difference. Of course, my translation of the original code could very well be buggy. svn-id: r9867
2003-08-23Unstubbed the Create/Draw/DeleteSurface() functions, and removed someTorbjörn Andersson
unnecessary stuff from our own Surface class. The former allows the in-game dialogs to at least sort of work, and the latter gained me a few frames per second, according to the built-in FPS counter. svn-id: r9825
2003-08-20Lots of cleanup.Torbjörn Andersson
Oh, and the menus should work now. :-) svn-id: r9804
2003-08-20This should fix the crash in the demo when you tried to walk down theTorbjörn Andersson
stairs to the water. (And probably countless other places as well.) svn-id: r9787
2003-08-19Remove a bunch of unneeded cruft - but barely the surface of it. This code ↵James Brown
is depressing and duplicated all over the place... I don't think I can bear to touch this code until it's undergone some MAJOR cleanup :) svn-id: r9782
2003-08-19patch #791032 from erik SWORD2: Sprite drawing (incomplete)Jonathan Gray
svn-id: r9780
2003-08-18Added support for opaque surfaces (it's the default now, actually) since itTorbjörn Andersson
looks like the sprite renderer may need them. svn-id: r9753
2003-08-17patch #790060 SWORD2: Initial graphics work from erik very nice indeed :)Jonathan Gray
svn-id: r9737
2003-07-28fix some VC7 warningsJonathan Gray
svn-id: r9240
2003-07-28substitute long int for LARGE_INTEGERJonathan Gray
svn-id: r9236
2003-07-28rename functions with windows specific namesJonathan Gray
svn-id: r9233
2003-07-28-Werror cleanupJonathan Gray
svn-id: r9230
2003-07-28Compiles on mingw nowTravis Howell
svn-id: r9222
2003-07-28bs2 driverJonathan Gray
svn-id: r9212