Age | Commit message (Collapse) | Author |
|
this once. :-)
The parameters to drawLine() aren't clipped to the screen size, which meant
that it was accessing memory out of bounds when marking the screen as
dirty. The function now uses plotPoint(), which does the bounds checking
and screen dirtying for us. Apart from being a little easier to read, it
dirties only the parts of the screen the line actually passes through,
instead of a rectangle defined by the line's end points.
Since drawLine() is only used for debugging, I wouldn't consider this a
particularly serious bug.
Next change is that only the pixels inside the original parallax layer are
considered when creating the block surfaces. This may make the drawing
slightly more efficient, since fewer surfaces will be labelled as
transparent.
Plus some other minor cleanups.
svn-id: r14340
|
|
svn-id: r13959
|
|
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
|
|
svn-id: r13944
|
|
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
|
|
didn't do the change I was hoping for: the coyote stone is still partially
see-through, but perhaps it was in the original as well.
At least we no longer need to keep the buffer the mouse cursor is decoded
to, since that's now handled by the backend.
svn-id: r13782
|
|
resource manager. All new code! All new bugs!
svn-id: r13603
|
|
Invalidate the lookup table when the screen changes. (TODO: We also have to
invalidate it if the change happens between cutscenes, don't we?)
Some cleanup, particularly in the BS2 cutscene player. More needed, I
guess...
svn-id: r13377
|
|
(default, 8bit backends should define BACKEND_8BIT for fast colour remapping) and sound syncronisation.
svn-id: r12456
|
|
svn-id: r12360
|
|
minor cleanups. (Mostly spacing and indentation).
Unfortunately the Ogg Vorbis playback causes ScummVM to crash for me, so I
can't say for certain that I didn't break anything.
svn-id: r12356
|
|
is quite Cish, though :-)
svn-id: r12351
|
|
- fix for compilation at MAX, at include types
- changed to our types
svn-id: r12344
|
|
Pre-converted cutscenes w/ palette files available - ask LeChuck about Cutscenes :)
svn-id: r12338
|
|
width or height was 0), and use consistent naming for clip rect parameters.
svn-id: r12272
|
|
svn-id: r12181
|
|
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
|
|
"StandardHeader" instead of "_standardHeader".
svn-id: r11997
|
|
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
|
|
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
|
|
svn-id: r11212
|
|
svn-id: r10997
|
|
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
|
|
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
|
|
and made some other minor cleanups.
svn-id: r10614
|
|
svn-id: r10581
|
|
svn-id: r10432
|
|
cluttering up the files anyway. (Though I do feel a slight twinge of guilt
for removing historical records like this. :-)
svn-id: r10384
|
|
svn-id: r10383
|
|
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
|
|
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
|
|
svn-id: r9737
|
|
svn-id: r9328
|
|
svn-id: r9212
|