48 Commits

Author SHA1 Message Date
Torbjörn Andersson
3d012651fd The script engine frequently needs to pass pointers to various structures
etc. to the different opcodes. Until now it has done so by casting the
pointer to an int32 (opcode parameters are represented as arrays of int32)
and then the opcode function casts it back to whatever pointer it needs.

At least in C there is no guarantee that a pointer can be represented as an
integer type (though apparently C99 may define such a type), so this has
struck me as unsafe ever since I first noticed it.

However, since all such pointers appear to point to the memory block owned
by the memory manager, we can easily convert them to integers by treating
them as offsets into the memory block. So that's what I have done. I hope I
caught all the occurences in the opcode functions, or we're going to have
some pretty interesting regressions on our hands...

svn-id: r11241
2003-11-10 07:52:15 +00:00
Paweł Kołodziejski
409108df82 cleanup whitespaces
svn-id: r11212
2003-11-08 19:47:20 +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
f6e1915b77 missed one
svn-id: r11177
2003-11-07 02:14:56 +00:00
Jonathan Gray
9a1cfe838f spelling fixes
svn-id: r11175
2003-11-07 01:36:53 +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
b3b0118292 The resource and memory managers are now created dynamically.
Renamed the resource manager's open/close methods openResource() and
closeResource() to avoid confusion. (It was I who originally shortened
their names to open() and close(), but I've changed my mind now.)

Moved more stuff into Sword2Engine.

svn-id: r11088
2003-11-03 07:47:42 +00:00
Torbjörn Andersson
7ec257ae3f Even more stuff moving into Sword2Engine. I'm tempted to make a new class
for the mouse stuff, but I need to think about that a bit more. I have a
feeling the code could be cleaned up a bit anyway...

svn-id: r11060
2003-11-02 18:50:09 +00:00
Torbjörn Andersson
2adc147600 Moved some more "homeless" functions into Sword2Engine. (Don't worry -- I
promise I will get rid of g_sword2 later.)

svn-id: r11057
2003-11-02 17:17:10 +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
0435658b96 Create the gui object dynamically
svn-id: r11026
2003-11-01 17:08:23 +00:00
Torbjörn Andersson
d7bd7d44b8 Use the ScummVM config manager instead of a separate BS2-specific config
file, plus some other cleanup. I don't know how the config manager decides
if/when to save the settings to file, but we can worry about that later.

svn-id: r11001
2003-10-29 07:53:05 +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
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
8b42d65a7e Dumped most of the remaining "driver" code into a new "Display" class. This
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
2003-10-15 06:40:31 +00:00
Torbjörn Andersson
02a157e745 Moved the text drawing stuff into a class of its own. (Adding another
global variable which will hopefully be dealt with later.)

svn-id: r10734
2003-10-11 12:26:53 +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
10fee205e1 Some renaming (ironic in the light of Fingolfin's recent namespace
suggestion, but I prepared the patch long before reading the mail :-).

Also, the remaining parts of the control panel etc. have been moved into a
class of their own.

This is still work in progress. I'm well aware that some of the classes
aren't as well separated as they ought to be, and that using global
variables to keep track of the different classes probably isn't pretty.

svn-id: r10561
2003-10-03 06:54:44 +00:00
Torbjörn Andersson
2a41216f08 ScummVM naming conventions and cleanup in the Sword2Sound class.
svn-id: r10514
2003-10-01 06:36:25 +00:00
Torbjörn Andersson
568a4bd839 Changed the resource manager object to use more ScummVM-like naming.
svn-id: r10499
2003-09-30 09:27: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
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
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
09a01e4cbe Replaced abs() with ABS and BOOL with bool, plus some minor cleanups.
svn-id: r10391
2003-09-24 06:40:23 +00:00
Torbjörn Andersson
3c7c60196f ScummVM code formatting conventions
svn-id: r10350
2003-09-21 16:11:26 +00:00
Torbjörn Andersson
6539b8a0e6 cleanup
svn-id: r10333
2003-09-20 12:43:52 +00:00
Max Horn
468275bb94 added a static method setDefaultDirectory to class File; used this to simplify some code; added a global g_sound pointer in bs2, this cuts down on uses of g_sword2 (of course both should be removed on the long run); some other minor tweaks/fixes
svn-id: r10278
2003-09-17 21:06:16 +00:00
Oliver Kiehl
bd50e9f3d7 some more endian fixes
svn-id: r10224
2003-09-13 13:05:52 +00:00
Torbjörn Andersson
5396901ec6 Simplified the code to decide whether to use speech1.clu or speech2.clu
since res_man.WhichCd() appears to be working now.

svn-id: r10121
2003-09-09 06:49:15 +00:00
Jonathan Gray
25a7c5de67 support having speech clusters named speech1.clu and speech2.clu cd.bin is needed if you want to use this scheme
svn-id: r9937
2003-08-31 03:19:43 +00:00
Jonathan Gray
8b91af78db use file class for speech so people with clusters in different directories get to hear sound as well
svn-id: r9875
2003-08-27 06:32:42 +00:00
Joost Peters
3443c5c3d0 Basic speech code, the change in speech.cpp is needed for me, but I am afraid it might break "speech.clu opening" for someone else..I'm confused as to how this all works. heh.
Anyway, if you hear no voices: this is probably where to look.

svn-id: r9871
2003-08-27 00:36:01 +00:00
Jonathan Gray
a8ddcec684 be more tolerant of files being in different spots, and living on case sensitive filesystems
svn-id: r9846
2003-08-24 12:13:03 +00:00
Jonathan Gray
e52f4c89c7 correct slashes in paths
svn-id: r9844
2003-08-24 08:15:01 +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
f1a6025aa2 turn d_sound.cpp into class BS2Sound
svn-id: r9280
2003-07-29 12:34:46 +00:00
Max Horn
462898465a StopSpeech -> StopSpeechBS2 (avoid conflict wiht SpeechSynthesis framework on OS X)
svn-id: r9248
2003-07-28 14:50:54 +00:00
Jonathan Gray
c1cbd4605e fix some VC7 warnings
svn-id: r9240
2003-07-28 11:21:25 +00:00
Jonathan Gray
f22cca2be2 rename _DEBUG define to _BS2_DEBUG to stop it conflicting with VC
svn-id: r9237
2003-07-28 09:49:46 +00:00
Jonathan Gray
77cf6b7c3e add bs2demo target for broken sword 2 demo
svn-id: r9229
2003-07-28 07:00:15 +00:00
Travis Howell
42ba111063 A few warnings
svn-id: r9224
2003-07-28 03:49:25 +00:00
Travis Howell
ccc40eecc9 Compiles on mingw now
svn-id: r9222
2003-07-28 03:12:49 +00:00
Max Horn
544168e96b fixed yet more warnings
svn-id: r9220
2003-07-28 02:37:47 +00:00
Jonathan Gray
f020d28b5e bs2
svn-id: r9211
2003-07-28 01:44:38 +00:00