Commit graph

30 commits

Author SHA1 Message Date
Max Horn
2162df92fc removed Sword2 prefixes of most classes (made obsolete by our namespace usage); renamed Sword2State to Sword2Engine
svn-id: r10583
2003-10-04 01:09:29 +00:00
Max Horn
5a074e6137 added namespace Sword2
svn-id: r10581
2003-10-04 00:52:27 +00:00
Torbjörn Andersson
49fa159ed4 More cleanup, plus support for cutscene leadout music. For now, we only
play that music for cutscenes that have subtitles.

svn-id: r10460
2003-09-28 14:13:57 +00:00
Torbjörn Andersson
3278a0dce6 cleanup
svn-id: r10424
2003-09-27 15:20:15 +00:00
Torbjörn Andersson
8ad28e3a7e More cleanup, and I've replaced most - not quite all - of BS2's debug
message functions with our own.

We still need to go through them and assign sensible debug levels to them.

svn-id: r10422
2003-09-27 11:02:58 +00:00
Torbjörn Andersson
99eee3fb84 Rewrote the music code to use a premix function instead of a timer. I'm
speculating that the timer didn't always fill the buffer quite fast enough
and that this is what caused the occasional popping noises.

Of course, I may have introduced all kinds of regressions - particularly
since I don't have any big-endian computer to test on - but we're all
friends here, right? :-)

svn-id: r10404
2003-09-25 06:11:07 +00:00
Torbjörn Andersson
95a59bd049 Must ... make ... space ... for ... FotAQ ...
svn-id: r10383
2003-09-23 16:38:38 +00:00
Torbjörn Andersson
bef1facdbc Removed the screenshot code. (The SDL backend already has the ability to
make screenshots.)

svn-id: r10382
2003-09-23 16:13:13 +00:00
Torbjörn Andersson
57d99796ea Changed the keyboard handling to store "keyboard events", rather than just
characters. Hopefully this will make things work smoother on the Mac, but I
have no way of testing that.

svn-id: r10376
2003-09-23 15:59:52 +00:00
Max Horn
be9d4066e1 moved engine.* to base; this fixes some linking issues when building a barebone ScummVM (or maybe I just want to increase our CVS stats? <g>)
svn-id: r10287
2003-09-18 02:07:18 +00:00
Torbjörn Andersson
00c1fdce3a Removed some unnecessary #includes and #defines.
svn-id: r10264
2003-09-16 09:57:57 +00:00
Max Horn
2fb59884f1 some endian fixes
svn-id: r10056
2003-09-07 01:51:15 +00:00
Paweł Kołodziejski
a2dad74da1 added sfx support, increased speech support, and music code(streaming works fine but you don't hear anything) newStream, and appendStream doesn't work but playRaw works for music
svn-id: r9923
2003-08-30 18:06:08 +00:00
Torbjörn Andersson
ed698cb635 Added some code to stop producing interpolation frames if the scene has
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-29 06:42:34 +00:00
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