Commit graph

16 commits

Author SHA1 Message Date
Torbjörn Andersson
f7ce39763e Removed the Surface class in favor of small struct specially made for the
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-28 06:36:15 +00:00
Torbjörn Andersson
fcc904a813 FadeServer() is now called from ServiceWindows(), thus eliminating the need
for the making it a timer handler. This should eliminate the occasional
glitches I've been seeing with fades not being completed.

I'm also hoping that it will fix the problem where the game would sometimes
hang when moving between rooms. I know that at least once when I had that
happen to me the game was busy-waiting for the palette to fade.

At the very least, it's one place less to worry about thread-safety in.

svn-id: r9854
2003-08-25 06:13:28 +00:00
Jonathan Gray
2c4f688e59 fix strange keyboard issues by passing the game the values it wants
svn-id: r9847
2003-08-24 13:18:19 +00:00
Jonathan Gray
d50c6f4ef8 we don't need to be told when we've hit a key
svn-id: r9842
2003-08-24 02:51:33 +00:00
Max Horn
01f020da2b SetPalette conflicts with an OS symbol on OS X
svn-id: r9829
2003-08-23 14:42:37 +00:00
Torbjörn Andersson
df247cff62 Unstubbed the Create/Draw/DeleteSurface() functions, and removed some
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-23 13:02:21 +00:00
Torbjörn Andersson
7651aa2bb7 Applied a different fix for the mouse offset problem. As far as I can tell,
the old way would have made it impossible to access the (not yet
implemented) menu icons at the top of the window. I hope this one works...

svn-id: r9793
2003-08-20 11:41:43 +00:00
James Brown
ec447fdfbb Remove a bunch of unneeded cruft - but barely the surface of it. This code 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-19 14:57:26 +00:00
Max Horn
103112dd3d removed OSystem::set_mouse_pos (I hope I didn't break any backends, but if I did it should be trivial to get them working again)
svn-id: r9391
2003-08-02 00:36:38 +00:00
Max Horn
0df319e952 #include cleanup (explicityl specify the location for headers from common/, so that we at some point can get rid of -Icommon; exception is made for stdafx.h, since a) we might want to rename it and b) might want to move it to the top level)
svn-id: r9359
2003-08-01 12:21:04 +00:00
Jonathan Gray
b11c3a6c0b remove bs2 specific osystem var
svn-id: r9330
2003-07-31 15:24:23 +00:00
Oliver Kiehl
0f85cc3061 rename bs2 to sword2 to have the same name as the original engine.
besides this way all our engines start with an "s" ;)

svn-id: r9301
2003-07-30 19:25:31 +00:00
Jonathan Gray
a05c4bda0f -Werror cleanup
svn-id: r9230
2003-07-28 07:22:40 +00:00
Jonathan Gray
ea5822ed23 it would be nice if people would update functions when adding qualifiers to prototypes
svn-id: r9227
2003-07-28 05:30:42 +00:00
Max Horn
80bea5bc72 fixed some warnings
svn-id: r9216
2003-07-28 02:10:24 +00:00
Jonathan Gray
dc6aa9912c bs2 driver
svn-id: r9212
2003-07-28 01:47:41 +00:00