aboutsummaryrefslogtreecommitdiff
path: root/sword2/driver/render.cpp
AgeCommit message (Collapse)Author
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