46 Commits

Author SHA1 Message Date
Torbjörn Andersson
f45b23b63f Moved some more animation stuff out of the Logic class and into the
increasingly misnamed Router class. (I'll fix the naming later. Probably.)

svn-id: r18066
2005-05-12 06:30:16 +00:00
Torbjörn Andersson
f5f9da940b More cleanup/restructuring: Moved walk-related code from Logic to Router.
(I may have to think up some better name for that class later.)

svn-id: r17901
2005-05-03 09:00:06 +00:00
Torbjörn Andersson
5553ef53f1 Moved conversation stuff from Logic to Mouse.
svn-id: r17787
2005-04-24 12:13:03 +00:00
Torbjörn Andersson
9bb1414818 Moved some debugging stuff into the debugger class.
svn-id: r16859
2005-02-22 07:37:50 +00:00
Torbjörn Andersson
43cfe01f3d This is the second part of the BS2 restructuring. There are two new
classes: Screen and Mouse. Screen handles most of the drawing, except the
mouse cursor and in-game menus.

The old Graphics class is no more.

I've also fixed some "reverse stereo" regressions from the first part of
the restructuring.

I'm not sure what the next step will be, but hopefully it will be smaller
than this one was.

svn-id: r16812
2005-02-19 14:02:16 +00:00
Torbjörn Andersson
c0a3816e17 Began what I hope is the final major restructuring of the BS2 engine.
In this first step, I have moved all opcode functions into functions.cpp,
instead of having them scattered all over the place.

To get things to compile again, I had to rewrite the overly complicated
sound effects handling. It's much simpler now.

The next step will be to move any non-trivial code out of the opcode
functions and into the appropriate object. This, I hope, will make it
easier to create well-separated objects, instead of the current mess.

I also want to tear down the artificial boundary between the main directory
and the "driver" directory. We already have a cross-platform layer; there's
no need to have yet another one. (Actually, the rewriting of the sound
effects code took one first step in this direction.)

At the final stage, I'd like to get rid of the "drivers" directory
completely, but I'll probably need some help with that if I want to
preserve the CVS history of the code.

Things will probably be a bit bumpy along the way, but I seem to have
reached a point of relative stability again, which is why I'm commiting
this now.

svn-id: r16668
2005-01-28 16:33:14 +00:00
Torbjörn Andersson
0b461c8506 Updated copyright header, as discussed on the mailing list.
svn-id: r16580
2005-01-17 10:57:15 +00:00
Torbjörn Andersson
5178822833 Updated copyright year.
svn-id: r16397
2005-01-01 15:10:22 +00:00
Torbjörn Andersson
0cfd573951 Cleanup
svn-id: r15810
2004-11-14 15:00:01 +00:00
Torbjörn Andersson
412f7105f0 Fixed evil regression #2. Restarting the game, or using the "start" debug
command, would close the global script variables and player object
resources, without reopening them again. This made them fair game for the
resource expiration mechanism. The player object is probably referenced
often enough to stay alive, but the variables died on me pretty quickly,
causing ScummVM to crash.

I've also added a "reslist" debug command to make this sort of things
easier to spot. By default it only lists resources with refCount > 0. Use
"reslist 0" to see all the cached resources as well.

svn-id: r14958
2004-09-08 07:10:54 +00:00
Torbjörn Andersson
afb91fc184 Cleanup.
svn-id: r13806
2004-05-07 19:56:19 +00:00
Torbjörn Andersson
5882ea5819 Cleanup.
Part of this cleanup involved removing _unpauseZone. It was only used by
fnISpeak(), and as far as I could tell it was just because the original
code didn't trust amISpeaking() and getSpeechStatus() to return sensible
values directly after unpausing the game.

svn-id: r13781
2004-05-05 07:06:18 +00:00
Torbjörn Andersson
49fc62b4d0 Cleanup
svn-id: r13649
2004-04-27 08:59:58 +00:00
Torbjörn Andersson
8f8185f035 Major revamping of the BS2 memory manager and, some small changes to the
resource manager. All new code! All new bugs!

svn-id: r13603
2004-04-23 07:02:11 +00:00
Torbjörn Andersson
0d2d884bb7 Cleanup
svn-id: r13582
2004-04-16 06:46:03 +00:00
Torbjörn Andersson
12aeb85e62 Cleanup.
svn-id: r13495
2004-04-07 14:18:27 +00:00
Torbjörn Andersson
bf10f5a616 Cleanup.
This removes a bunch of debugging code/commands that either didn't do
anything useful under ScummVM (e.g. "soft" and "hard"), or which did things
that was already easily avaiable elsewhere (e.g. "save" and "restore").

I didn't have the heart to remove the "tony" command, though. :-)

svn-id: r13422
2004-03-29 06:37:46 +00:00
Torbjörn Andersson
56ae88d5c7 cleanup
svn-id: r13385
2004-03-27 12:02:38 +00:00
Torbjörn Andersson
4c3a68027f Use the same syntax for accessing script variables as BS1 does, i.e. now
it's Logic::_scriptVars[ID] instead of just ID. Apart from looking cool, it
makes it much easier to tell the difference between variables and constants
when looking at the code.

Of course, this sort of sweeping changes is jolly good for introducing
truly weird regressions, which is why I waited until after 0.6.0.

svn-id: r13331
2004-03-17 09:03:15 +00:00
Torbjörn Andersson
6d0dd6aee8 Valgrind fixes. Mostly about memory not being freed when the engine is
deleted.

svn-id: r12211
2004-01-07 07:42:00 +00:00
Torbjörn Andersson
065f2bb9eb It's a new year in BS2 land, too!
svn-id: r12181
2004-01-06 13:44:17 +00:00
Torbjörn Andersson
6ae8218d53 Hopefully the last big renaming. Now the datatypes have names like
"StandardHeader" instead of "_standardHeader".

svn-id: r11997
2003-12-28 15:08:12 +00:00
Torbjörn Andersson
4420b15d9f Mostly cleanups, but I believe this also fixes an endian problem in the
"restart script" opcode. To actually verify this, though, I'd need to find
a case where any other script than script 0 at offset 0 is restarted...

svn-id: r11638
2003-12-14 16:33:27 +00:00
Torbjörn Andersson
7c9d46765b Removed some unnecessary / commented out code, and initialized the debug
console a bit earlier so that error messages about missing files will be
more obvious to the user. (If an error happens that early, some of the
debugger commands will cause ScummVM to crash. I might look into that
later.)

svn-id: r11443
2003-12-01 07:47:54 +00:00
Torbjörn Andersson
1fc58a5ca0 Removed redundant information from the opcode list. I thought having the
number of parameters to a function would be useful for debugging, but that
information is already available in the script data itself.

svn-id: r11360
2003-11-24 07:34:07 +00:00
Torbjörn Andersson
fa2b8ba8de More cleanup. I've eliminated all the temporary global variables I've added
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-16 14:18:29 +00:00
Torbjörn Andersson
aaa5631a99 Mostly cleanup. Also prevented what would probably have been an infinite
loop if ScummVM failed to find a file in the demo. (Now it should error out
instead, which is marginally preferable.)

svn-id: r11298
2003-11-15 09:38:00 +00:00
Torbjörn Andersson
9106229bef Removed some now redundant header files.
svn-id: r11209
2003-11-08 18:15:35 +00:00
Torbjörn Andersson
688c80b062 Moved more stuff into classes, changed some static allocation to dynamic,
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-11-08 15:47:51 +00:00
Jonathan Gray
9a1cfe838f spelling fixes
svn-id: r11175
2003-11-07 01:36:53 +00:00
Max Horn
8ad1ec4453 setup opcode table *before* using it to avoid crashes :-)
svn-id: r11156
2003-11-05 20:42:33 +00:00
Torbjörn Andersson
ba098a3a5b Create g_logic dynamically. More moving of stuff into classes.
svn-id: r11129
2003-11-04 18:02:49 +00:00
Torbjörn Andersson
64ec1907c2 More moving of stuff into classes.
svn-id: r11128
2003-11-04 17:26:59 +00:00
Torbjörn Andersson
db9b8070f6 More moving of stuff into classes. I had to make a few changes/cleanups to
events.cpp, so there could be regressions.

svn-id: r11053
2003-11-02 15:58:45 +00:00
Torbjörn Andersson
94edf540ef More moving of stuff into classes
svn-id: r11025
2003-11-01 16:55:20 +00:00
Max Horn
2fef2dcb84 bs2 -> sword2
svn-id: r10997
2003-10-28 19:51:30 +00:00
Torbjörn Andersson
7c4cc25cec Enable the debug console. Actually, what I've done is to adapt the debug
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-26 15:42:49 +00:00
Torbjörn Andersson
59b72f2b38 Moved a few remaining pieces of the script interpreter into the Logic class
svn-id: r10939
2003-10-22 06:51:57 +00:00
Torbjörn Andersson
3be2f0f1e0 Moved some more stuff into the Logic class.
svn-id: r10923
2003-10-21 08:54:50 +00:00
Torbjörn Andersson
3a43829b88 Moved the opcode functions into the Logic class.
svn-id: r10885
2003-10-18 08:11:50 +00:00
Torbjörn Andersson
4fad04846a Changed to use #include "bs2/..." and removed the inclusion of standard C
headers. Most (all?) of the ones we need should probably come from stdafx.h
instead.

svn-id: r10588
2003-10-04 08:07:03 +00:00
Max Horn
5a074e6137 added namespace Sword2
svn-id: r10581
2003-10-04 00:52:27 +00:00
Torbjörn Andersson
b8fa67a8bb Changed the "logic" object to use ScummVM naming conventions.
svn-id: r10496
2003-09-30 06:40:01 +00:00
Torbjörn Andersson
b21208e6a9 Some more reformatting / cleanup, and removal of comments that did nothing
but say who added what when. (No disrespect intended, but this information
means very little to us.)

svn-id: r10413
2003-09-26 10:07:18 +00:00
Torbjörn Andersson
f291b13134 cleanup
svn-id: r10274
2003-09-17 17:34:04 +00:00
Jonathan Gray
f020d28b5e bs2
svn-id: r9211
2003-07-28 01:44:38 +00:00