JANITORIAL: typos
some in the variable names, some in the comments; no change for the strings that interract with original games assets
This commit is contained in:
parent
0b0acecfe6
commit
6044504762
110 changed files with 152 additions and 152 deletions
4
NEWS.md
4
NEWS.md
|
@ -937,7 +937,7 @@ For a more comprehensive changelog of the latest experimental code, see:
|
||||||
|
|
||||||
SCUMM:
|
SCUMM:
|
||||||
- Fixed missing translations in the in-game quit and restart dialogs in Pajama Sam 1.
|
- Fixed missing translations in the in-game quit and restart dialogs in Pajama Sam 1.
|
||||||
- Fixed visual glitches in DOTT that occured after loading a savegame with the stereo
|
- Fixed visual glitches in DOTT that occurred after loading a savegame with the stereo
|
||||||
in Green Tentacle's room turned on.
|
in Green Tentacle's room turned on.
|
||||||
- Improved timing and pathfinding in Maniac Mansion (C64 and Apple II versions).
|
- Improved timing and pathfinding in Maniac Mansion (C64 and Apple II versions).
|
||||||
- Added support for the Dutch demo of Let's Explore the Airport with Buzzy.
|
- Added support for the Dutch demo of Let's Explore the Airport with Buzzy.
|
||||||
|
@ -968,7 +968,7 @@ For a more comprehensive changelog of the latest experimental code, see:
|
||||||
General:
|
General:
|
||||||
- Removed TESTING flag from several supported games.
|
- Removed TESTING flag from several supported games.
|
||||||
- Added Chinese Pinyin translation.
|
- Added Chinese Pinyin translation.
|
||||||
- Fixed cursor stuttering in the launcher that occured on some systems.
|
- Fixed cursor stuttering in the launcher that occurred on some systems.
|
||||||
|
|
||||||
BBVS:
|
BBVS:
|
||||||
- Fixed game restart.
|
- Fixed game restart.
|
||||||
|
|
|
@ -34,7 +34,7 @@ namespace Audio {
|
||||||
* @param stream The SeekableReadStream from which to read the ASF data.
|
* @param stream The SeekableReadStream from which to read the ASF data.
|
||||||
* @param disposeAfterUse Whether to delete the stream after use.
|
* @param disposeAfterUse Whether to delete the stream after use.
|
||||||
*
|
*
|
||||||
* @return A new SeekableAudioStream, or 0, if an error occured.
|
* @return A new SeekableAudioStream, or 0, if an error occurred.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
SeekableAudioStream *makeASFStream(
|
SeekableAudioStream *makeASFStream(
|
||||||
|
|
|
@ -100,7 +100,7 @@ public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load token and user id from configs and return BoxStorage for those.
|
* Load token and user id from configs and return BoxStorage for those.
|
||||||
* @return pointer to the newly created BoxStorage or 0 if some problem occured.
|
* @return pointer to the newly created BoxStorage or 0 if some problem occurred.
|
||||||
*/
|
*/
|
||||||
static BoxStorage *loadFromConfig(Common::String keyPrefix);
|
static BoxStorage *loadFromConfig(Common::String keyPrefix);
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@ public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load token and user id from configs and return DropboxStorage for those.
|
* Load token and user id from configs and return DropboxStorage for those.
|
||||||
* @return pointer to the newly created DropboxStorage or 0 if some problem occured.
|
* @return pointer to the newly created DropboxStorage or 0 if some problem occurred.
|
||||||
*/
|
*/
|
||||||
static DropboxStorage *loadFromConfig(Common::String keyPrefix);
|
static DropboxStorage *loadFromConfig(Common::String keyPrefix);
|
||||||
|
|
||||||
|
|
|
@ -102,7 +102,7 @@ public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load token and user id from configs and return GoogleDriveStorage for those.
|
* Load token and user id from configs and return GoogleDriveStorage for those.
|
||||||
* @return pointer to the newly created GoogleDriveStorage or 0 if some problem occured.
|
* @return pointer to the newly created GoogleDriveStorage or 0 if some problem occurred.
|
||||||
*/
|
*/
|
||||||
static GoogleDriveStorage *loadFromConfig(Common::String keyPrefix);
|
static GoogleDriveStorage *loadFromConfig(Common::String keyPrefix);
|
||||||
|
|
||||||
|
|
|
@ -99,7 +99,7 @@ public:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load token and user id from configs and return OneDriveStorage for those.
|
* Load token and user id from configs and return OneDriveStorage for those.
|
||||||
* @return pointer to the newly created OneDriveStorage or 0 if some problem occured.
|
* @return pointer to the newly created OneDriveStorage or 0 if some problem occurred.
|
||||||
*/
|
*/
|
||||||
static OneDriveStorage *loadFromConfig(Common::String keyPrefix);
|
static OneDriveStorage *loadFromConfig(Common::String keyPrefix);
|
||||||
|
|
||||||
|
|
|
@ -146,7 +146,7 @@ void GLTexture::updateArea(const Common::Rect &area, const Graphics::Surface &sr
|
||||||
|
|
||||||
// Update the actual texture.
|
// Update the actual texture.
|
||||||
// Although we have the area of the texture buffer we want to update we
|
// Although we have the area of the texture buffer we want to update we
|
||||||
// cannot take advantage of the left/right boundries here because it is
|
// cannot take advantage of the left/right boundaries here because it is
|
||||||
// not possible to specify a pitch to glTexSubImage2D. To be precise, with
|
// not possible to specify a pitch to glTexSubImage2D. To be precise, with
|
||||||
// plain OpenGL we could set GL_UNPACK_ROW_LENGTH to achieve this. However,
|
// plain OpenGL we could set GL_UNPACK_ROW_LENGTH to achieve this. However,
|
||||||
// OpenGL ES 1.0 does not support GL_UNPACK_ROW_LENGTH. Thus, we are left
|
// OpenGL ES 1.0 does not support GL_UNPACK_ROW_LENGTH. Thus, we are left
|
||||||
|
|
|
@ -406,7 +406,7 @@ bool OpenGLSdlGraphics3dManager::createOrUpdateGLContext(uint gameWidth, uint ga
|
||||||
pixelFormats.push_back(OpenGLPixelFormat(16, 5, 5, 5, 1, 0));
|
pixelFormats.push_back(OpenGLPixelFormat(16, 5, 5, 5, 1, 0));
|
||||||
pixelFormats.push_back(OpenGLPixelFormat(16, 5, 6, 5, 0, 0));
|
pixelFormats.push_back(OpenGLPixelFormat(16, 5, 6, 5, 0, 0));
|
||||||
|
|
||||||
// Unfortunatly, SDL does not provide a list of valid pixel formats
|
// Unfortunately, SDL does not provide a list of valid pixel formats
|
||||||
// for the current OpenGL implementation and hardware.
|
// for the current OpenGL implementation and hardware.
|
||||||
// SDL may not be able to create a screen with the preferred pixel format.
|
// SDL may not be able to create a screen with the preferred pixel format.
|
||||||
// Try all the pixel formats in the list until SDL returns a valid screen.
|
// Try all the pixel formats in the list until SDL returns a valid screen.
|
||||||
|
|
|
@ -121,7 +121,7 @@ void OSystem_GPH::initBackend() {
|
||||||
/* Set Default hardware mixer volume to a preset level (VOLUME_INITIAL). This is done to 'reset' volume level if set by other apps. */
|
/* Set Default hardware mixer volume to a preset level (VOLUME_INITIAL). This is done to 'reset' volume level if set by other apps. */
|
||||||
WIZ_HW::mixerMoveVolume(0);
|
WIZ_HW::mixerMoveVolume(0);
|
||||||
|
|
||||||
/* Up default volume values as we use a seperate system level volume anyway. */
|
/* Up default volume values as we use a separate system level volume anyway. */
|
||||||
ConfMan.registerDefault("music_volume", 192);
|
ConfMan.registerDefault("music_volume", 192);
|
||||||
ConfMan.registerDefault("sfx_volume", 192);
|
ConfMan.registerDefault("sfx_volume", 192);
|
||||||
ConfMan.registerDefault("speech_volume", 192);
|
ConfMan.registerDefault("speech_volume", 192);
|
||||||
|
|
|
@ -192,7 +192,7 @@ public:
|
||||||
* Create and add a subdirectory by name (caseless).
|
* Create and add a subdirectory by name (caseless).
|
||||||
*
|
*
|
||||||
* It is also possible to add subdirectories of subdirectories (of any depth) with this function.
|
* It is also possible to add subdirectories of subdirectories (of any depth) with this function.
|
||||||
* The path seperator for this case is SLASH for all systems.
|
* The path separator for this case is SLASH for all systems.
|
||||||
*
|
*
|
||||||
* Example:
|
* Example:
|
||||||
*
|
*
|
||||||
|
@ -216,7 +216,7 @@ public:
|
||||||
* Create and add subdirectories by pattern.
|
* Create and add subdirectories by pattern.
|
||||||
*
|
*
|
||||||
* It is also possible to add subdirectories of subdirectories (of any depth) with this function.
|
* It is also possible to add subdirectories of subdirectories (of any depth) with this function.
|
||||||
* The path seperator for this case is SLASH for all systems.
|
* The path separator for this case is SLASH for all systems.
|
||||||
*
|
*
|
||||||
* Example:
|
* Example:
|
||||||
*
|
*
|
||||||
|
|
|
@ -116,7 +116,7 @@ AppRecordsAudio=n
|
||||||
|
|
||||||
# Application implements Android-specific routines to put to background, and will not draw anything to screen
|
# Application implements Android-specific routines to put to background, and will not draw anything to screen
|
||||||
# between SDL_ACTIVEEVENT lost / gained notifications - you should check for them
|
# between SDL_ACTIVEEVENT lost / gained notifications - you should check for them
|
||||||
# rigth after SDL_Flip(), if (n) then SDL_Flip() will block till app in background (y) or (n)
|
# right after SDL_Flip(), if (n) then SDL_Flip() will block till app in background (y) or (n)
|
||||||
# This option is reported to be buggy, sometimes failing to restore video state
|
# This option is reported to be buggy, sometimes failing to restore video state
|
||||||
NonBlockingSwapBuffers=n
|
NonBlockingSwapBuffers=n
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# Create the directory structure
|
# Create the directory structure
|
||||||
# Avoided bash shortcuts / file-seperators in interest of portability
|
# Avoided bash shortcuts / file-separators in interest of portability
|
||||||
|
|
||||||
if [ -e playground3d ]; then
|
if [ -e playground3d ]; then
|
||||||
echo "Game-data already present as playground3d/"
|
echo "Game-data already present as playground3d/"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# Create the directory structure
|
# Create the directory structure
|
||||||
# Avoided bash shortcuts / file-seperators in interest of portability
|
# Avoided bash shortcuts / file-separators in interest of portability
|
||||||
|
|
||||||
if [ -e testbed ]; then
|
if [ -e testbed ]; then
|
||||||
echo "Game-data already present as testbed/"
|
echo "Game-data already present as testbed/"
|
||||||
|
|
|
@ -55,5 +55,5 @@ DETECT_OBJS += $(MODULE)/detection.o
|
||||||
|
|
||||||
# External dependencies of detection.
|
# External dependencies of detection.
|
||||||
# This is unneeded by the engine module itself,
|
# This is unneeded by the engine module itself,
|
||||||
# so seperate it completely.
|
# so separate it completely.
|
||||||
DETECT_OBJS += $(MODULE)/wagparser.o
|
DETECT_OBJS += $(MODULE)/wagparser.o
|
||||||
|
|
|
@ -976,7 +976,7 @@ bool AgiEngine::loadGameDialog() {
|
||||||
// If we fail, return false, so that the regular saved game dialog is called
|
// If we fail, return false, so that the regular saved game dialog is called
|
||||||
// Original AGI was limited to 12 saves, we are effectively limited to 100 saves at the moment.
|
// Original AGI was limited to 12 saves, we are effectively limited to 100 saves at the moment.
|
||||||
//
|
//
|
||||||
// btw. this also means that entering an existant name in Mixed Up Mother Goose will effectively overwrite
|
// btw. this also means that entering an existent name in Mixed Up Mother Goose will effectively overwrite
|
||||||
// that saved game. This is also what original AGI did.
|
// that saved game. This is also what original AGI did.
|
||||||
bool AgiEngine::saveGameAutomatic() {
|
bool AgiEngine::saveGameAutomatic() {
|
||||||
int16 automaticSaveGameSlotId = 0;
|
int16 automaticSaveGameSlotId = 0;
|
||||||
|
|
|
@ -286,7 +286,7 @@ int16 SystemUI::figureOutAutomaticSaveGameSlot(const char *automaticSaveDescript
|
||||||
|
|
||||||
// Walk through saved game slots
|
// Walk through saved game slots
|
||||||
// check, if description matches and return the slot
|
// check, if description matches and return the slot
|
||||||
// if no match can be found, return the first non-existant slot
|
// if no match can be found, return the first non-existent slot
|
||||||
// if all slots exist, return -1
|
// if all slots exist, return -1
|
||||||
figureOutAutomaticSavedGameSlot(automaticSaveDescription, matchedGameSlotId, freshGameSlotId);
|
figureOutAutomaticSavedGameSlot(automaticSaveDescription, matchedGameSlotId, freshGameSlotId);
|
||||||
|
|
||||||
|
@ -294,7 +294,7 @@ int16 SystemUI::figureOutAutomaticSaveGameSlot(const char *automaticSaveDescript
|
||||||
return matchedGameSlotId; // return matched slot
|
return matchedGameSlotId; // return matched slot
|
||||||
|
|
||||||
if (freshGameSlotId >= 0)
|
if (freshGameSlotId >= 0)
|
||||||
return freshGameSlotId; // return first non-existant slot
|
return freshGameSlotId; // return first non-existent slot
|
||||||
|
|
||||||
return -1; // no slots exist, not match found
|
return -1; // no slots exist, not match found
|
||||||
}
|
}
|
||||||
|
@ -304,7 +304,7 @@ int16 SystemUI::figureOutAutomaticRestoreGameSlot(const char *automaticSaveDescr
|
||||||
int16 freshGameSlotId = -1;
|
int16 freshGameSlotId = -1;
|
||||||
|
|
||||||
// Fill saved game slot cache
|
// Fill saved game slot cache
|
||||||
readSavedGameSlots(true, false); // filter non-existant/invalid saves, also don't include auto-save slot
|
readSavedGameSlots(true, false); // filter non-existent/invalid saves, also don't include auto-save slot
|
||||||
|
|
||||||
// Walk through saved game slots
|
// Walk through saved game slots
|
||||||
// check, if description matches and return the slot. Otherwise return -1
|
// check, if description matches and return the slot. Otherwise return -1
|
||||||
|
|
|
@ -481,7 +481,7 @@ void AgiEngine::setLoop(ScreenObjEntry *screenObj, int16 loopNr) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (loopNr >= screenObj->loopCount) {
|
if (loopNr >= screenObj->loopCount) {
|
||||||
// requested loop not existant
|
// requested loop not existent
|
||||||
// instead of error()ing out, we instead clip it
|
// instead of error()ing out, we instead clip it
|
||||||
// At least required for possibly Manhunter 1 according to previous comment when leaving the arcade machine
|
// At least required for possibly Manhunter 1 according to previous comment when leaving the arcade machine
|
||||||
// TODO: Check MH1
|
// TODO: Check MH1
|
||||||
|
@ -493,7 +493,7 @@ void AgiEngine::setLoop(ScreenObjEntry *screenObj, int16 loopNr) {
|
||||||
|
|
||||||
loopNr = screenObj->loopCount - 1;
|
loopNr = screenObj->loopCount - 1;
|
||||||
|
|
||||||
warning("Non-existant loop requested for screen object %d", screenObj->objectNr);
|
warning("Non-existent loop requested for screen object %d", screenObj->objectNr);
|
||||||
warning("view %d, requested loop %d -> clipped to loop %d", screenObj->currentViewNr, requestedLoopNr, loopNr);
|
warning("view %d, requested loop %d -> clipped to loop %d", screenObj->currentViewNr, requestedLoopNr, loopNr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -537,7 +537,7 @@ void AgiEngine::setCel(ScreenObjEntry *screenObj, int16 celNr) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (celNr >= screenObj->celCount) {
|
if (celNr >= screenObj->celCount) {
|
||||||
// requested cel not existant
|
// requested cel not existent
|
||||||
// instead of error()ing out, we instead clip it
|
// instead of error()ing out, we instead clip it
|
||||||
// At least required for King's Quest 3 on Apple IIgs - walking the planks death cutscene
|
// At least required for King's Quest 3 on Apple IIgs - walking the planks death cutscene
|
||||||
// see bug #5832, which is a game bug!
|
// see bug #5832, which is a game bug!
|
||||||
|
@ -545,7 +545,7 @@ void AgiEngine::setCel(ScreenObjEntry *screenObj, int16 celNr) {
|
||||||
|
|
||||||
celNr = screenObj->celCount - 1;
|
celNr = screenObj->celCount - 1;
|
||||||
|
|
||||||
warning("Non-existant cel requested for screen object %d", screenObj->objectNr);
|
warning("Non-existent cel requested for screen object %d", screenObj->objectNr);
|
||||||
warning("view %d, loop %d, requested cel %d -> clipped to cel %d", screenObj->currentViewNr, screenObj->currentLoopNr, requestedCelNr, celNr);
|
warning("view %d, loop %d, requested cel %d -> clipped to cel %d", screenObj->currentViewNr, screenObj->currentLoopNr, requestedCelNr, celNr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1394,7 +1394,7 @@ int construct_object_gfx(int aa, int *drawnWidth, int *drawnHeight, bool alwaysU
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// This is only called from draw_screen_background, but it's seperated
|
// This is only called from draw_screen_background, but it's separated
|
||||||
// to help with profiling the program
|
// to help with profiling the program
|
||||||
void prepare_objects_for_drawing() {
|
void prepare_objects_for_drawing() {
|
||||||
_G(our_eip) = 32;
|
_G(our_eip) = 32;
|
||||||
|
@ -1472,7 +1472,7 @@ void tint_image(Bitmap *ds, Bitmap *srcimg, int red, int grn, int blu, int light
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// For performance reasons, we have a seperate blender for
|
// For performance reasons, we have a separate blender for
|
||||||
// when light is being adjusted and when it is not.
|
// when light is being adjusted and when it is not.
|
||||||
// If luminance >= 250, then normal brightness, otherwise darken
|
// If luminance >= 250, then normal brightness, otherwise darken
|
||||||
if (luminance >= 250)
|
if (luminance >= 250)
|
||||||
|
|
|
@ -786,7 +786,7 @@ void serialize_bitmap(const Shared::Bitmap *thispic, Stream *out) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// On Windows we could just use IIDFromString but this is _G(platform)-independant
|
// On Windows we could just use IIDFromString but this is _G(platform)-independent
|
||||||
void convert_guid_from_text_to_binary(const char *guidText, unsigned char *buffer) {
|
void convert_guid_from_text_to_binary(const char *guidText, unsigned char *buffer) {
|
||||||
guidText++; // skip {
|
guidText++; // skip {
|
||||||
for (int bytesDone = 0; bytesDone < 16; bytesDone++) {
|
for (int bytesDone = 0; bytesDone < 16; bytesDone++) {
|
||||||
|
|
|
@ -161,12 +161,12 @@ void unload_game_file();
|
||||||
void save_game(int slotn, const char *descript);
|
void save_game(int slotn, const char *descript);
|
||||||
bool read_savedgame_description(const Shared::String &savedgame, Shared::String &description);
|
bool read_savedgame_description(const Shared::String &savedgame, Shared::String &description);
|
||||||
bool read_savedgame_screenshot(const Shared::String &savedgame, int &want_shot);
|
bool read_savedgame_screenshot(const Shared::String &savedgame, int &want_shot);
|
||||||
// Tries to restore saved game and displays an error on failure; if the error occured
|
// Tries to restore saved game and displays an error on failure; if the error occurred
|
||||||
// too late, when the game data was already overwritten, shuts engine down.
|
// too late, when the game data was already overwritten, shuts engine down.
|
||||||
bool try_restore_save(int slot);
|
bool try_restore_save(int slot);
|
||||||
bool try_restore_save(const Shared::String &path, int slot);
|
bool try_restore_save(const Shared::String &path, int slot);
|
||||||
void serialize_bitmap(const Shared::Bitmap *thispic, Shared::Stream *out);
|
void serialize_bitmap(const Shared::Bitmap *thispic, Shared::Stream *out);
|
||||||
// On Windows we could just use IIDFromString but this is platform-independant
|
// On Windows we could just use IIDFromString but this is platform-independent
|
||||||
void convert_guid_from_text_to_binary(const char *guidText, unsigned char *buffer);
|
void convert_guid_from_text_to_binary(const char *guidText, unsigned char *buffer);
|
||||||
Shared::Bitmap *read_serialized_bitmap(Shared::Stream *in);
|
Shared::Bitmap *read_serialized_bitmap(Shared::Stream *in);
|
||||||
void skip_serialized_bitmap(Shared::Stream *in);
|
void skip_serialized_bitmap(Shared::Stream *in);
|
||||||
|
|
|
@ -305,7 +305,7 @@ void Object_Move(ScriptObject *objj, int x, int y, int speed, int blocking, int
|
||||||
if ((blocking == BLOCKING) || (blocking == 1))
|
if ((blocking == BLOCKING) || (blocking == 1))
|
||||||
GameLoopUntilNotMoving(&_G(objs)[objj->id].moving);
|
GameLoopUntilNotMoving(&_G(objs)[objj->id].moving);
|
||||||
else if ((blocking != IN_BACKGROUND) && (blocking != 0))
|
else if ((blocking != IN_BACKGROUND) && (blocking != 0))
|
||||||
quit("Object.Move: invalid BLOCKING paramter");
|
quit("Object.Move: invalid BLOCKING parameter");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Object_SetClickable(ScriptObject *objj, int clik) {
|
void Object_SetClickable(ScriptObject *objj, int clik) {
|
||||||
|
|
|
@ -668,7 +668,7 @@ HSaveError RestoreGameState(Stream *in, SavegameVersion svg_version) {
|
||||||
|
|
||||||
|
|
||||||
void WriteSaveImage(Stream *out, const Bitmap *screenshot) {
|
void WriteSaveImage(Stream *out, const Bitmap *screenshot) {
|
||||||
// store the screenshot at the start to make it easily accesible
|
// store the screenshot at the start to make it easily accessible
|
||||||
out->WriteInt32((screenshot == nullptr) ? 0 : 1);
|
out->WriteInt32((screenshot == nullptr) ? 0 : 1);
|
||||||
|
|
||||||
if (screenshot)
|
if (screenshot)
|
||||||
|
|
|
@ -869,7 +869,7 @@ HAGSError SpriteFile::OpenFile(const String &filename, const String &sprindex_fi
|
||||||
buff[13] = 0;
|
buff[13] = 0;
|
||||||
if (strcmp(buff, spriteFileSig)) {
|
if (strcmp(buff, spriteFileSig)) {
|
||||||
_stream.reset();
|
_stream.reset();
|
||||||
return new Error("Uknown spriteset format.");
|
return new Error("Unknown spriteset format.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vers == kSprfVersion_Uncompressed) {
|
if (vers == kSprfVersion_Uncompressed) {
|
||||||
|
|
|
@ -217,7 +217,7 @@ Common::OutSaveFile *FileStream::openForWriting(const String &saveName, FileOpen
|
||||||
if (work_mode == kFile_Read || work_mode == kFile_ReadWrite)
|
if (work_mode == kFile_Read || work_mode == kFile_ReadWrite)
|
||||||
// In the original these modes result in [aw]+b, which seems to result
|
// In the original these modes result in [aw]+b, which seems to result
|
||||||
// in a file with arbitrary reading, but writing always appending
|
// in a file with arbitrary reading, but writing always appending
|
||||||
warning("FileOpen: independant read/write positions not supported");
|
warning("FileOpen: independent read/write positions not supported");
|
||||||
|
|
||||||
Common::InSaveFile *existing = nullptr;
|
Common::InSaveFile *existing = nullptr;
|
||||||
if (open_mode == kFile_Create &&
|
if (open_mode == kFile_Create &&
|
||||||
|
|
|
@ -332,9 +332,9 @@ public:
|
||||||
}
|
}
|
||||||
// Prepends a single character
|
// Prepends a single character
|
||||||
void PrependChar(char c);
|
void PrependChar(char c);
|
||||||
// Replaces all occurences of one character with another character
|
// Replaces all occurrences of one character with another character
|
||||||
void Replace(char what, char with);
|
void Replace(char what, char with);
|
||||||
// Replaces all occurences of one substring with another substring
|
// Replaces all occurrences of one substring with another substring
|
||||||
void Replace(const String &what, const String &with);
|
void Replace(const String &what, const String &with);
|
||||||
void Replace(const char *what, const char *with) {
|
void Replace(const char *what, const char *with) {
|
||||||
String whats = String::Wrapper(what), withs = String::Wrapper(with); Replace(whats, withs);
|
String whats = String::Wrapper(what), withs = String::Wrapper(with); Replace(whats, withs);
|
||||||
|
|
|
@ -1290,7 +1290,7 @@ void AvalancheEngine::gameOver() {
|
||||||
void AvalancheEngine::minorRedraw() {
|
void AvalancheEngine::minorRedraw() {
|
||||||
fadeOut();
|
fadeOut();
|
||||||
|
|
||||||
enterRoom(_room, 0); // Ped unknown or non-existant.
|
enterRoom(_room, 0); // Ped unknown or non-existent.
|
||||||
|
|
||||||
for (int i = 0; i < 3; i++)
|
for (int i = 0; i < 3; i++)
|
||||||
_scoreToDisplay[i] = -1; // impossible digits
|
_scoreToDisplay[i] = -1; // impossible digits
|
||||||
|
|
|
@ -272,7 +272,7 @@ Common::Error BladeRunnerEngine::loadGameState(int slot) {
|
||||||
|
|
||||||
setTotalPlayTime(header._playTime);
|
setTotalPlayTime(header._playTime);
|
||||||
// this essentially does something similar with setTotalPlayTime
|
// this essentially does something similar with setTotalPlayTime
|
||||||
// reseting and updating Blade Runner's _pauseStart and offset before starting a loaded game
|
// resetting and updating Blade Runner's _pauseStart and offset before starting a loaded game
|
||||||
_time->resetPauseStart();
|
_time->resetPauseStart();
|
||||||
|
|
||||||
loadGame(*saveFile, header._version);
|
loadGame(*saveFile, header._version);
|
||||||
|
|
|
@ -1238,7 +1238,7 @@ bool Debugger::cmdOverlay(int argc, const char **argv) {
|
||||||
|
|
||||||
_vm->_scene->_vqaPlayer = new VQAPlayer(_vm, &_vm->_surfaceBack, origVqaName);
|
_vm->_scene->_vqaPlayer = new VQAPlayer(_vm, &_vm->_surfaceBack, origVqaName);
|
||||||
if (!_vm->_scene->_vqaPlayer->open()) {
|
if (!_vm->_scene->_vqaPlayer->open()) {
|
||||||
debugPrintf("Error: Could not open player while reseting\nto scene VQA named: %s!\n", (origVqaName + ".VQA").c_str());
|
debugPrintf("Error: Could not open player while resetting\nto scene VQA named: %s!\n", (origVqaName + ".VQA").c_str());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
_vm->_scene->startDefaultLoop();
|
_vm->_scene->startDefaultLoop();
|
||||||
|
@ -1323,7 +1323,7 @@ bool Debugger::cmdOverlay(int argc, const char **argv) {
|
||||||
// even if it's not already loaded for the scene (in _vm->_overlays->_videos)
|
// even if it's not already loaded for the scene (in _vm->_overlays->_videos)
|
||||||
int overlayVideoIdx = _vm->_overlays->play(overlayName, overlayAnimationId, loopForever, startNowFlag, 0);
|
int overlayVideoIdx = _vm->_overlays->play(overlayName, overlayAnimationId, loopForever, startNowFlag, 0);
|
||||||
if ( overlayVideoIdx == -1 ) {
|
if ( overlayVideoIdx == -1 ) {
|
||||||
debugPrintf("Could not load the overlay animation: %s in this scene. Try reseting overlays first to free up slots!\n", overlayName.c_str());
|
debugPrintf("Could not load the overlay animation: %s in this scene. Try resetting overlays first to free up slots!\n", overlayName.c_str());
|
||||||
} else {
|
} else {
|
||||||
debugPrintf("Loading overlay animation: %s...\n", overlayName.c_str());
|
debugPrintf("Loading overlay animation: %s...\n", overlayName.c_str());
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@ void SceneScriptDR02::SceneLoaded() {
|
||||||
Clickable_Object("V2CANPIPE02");
|
Clickable_Object("V2CANPIPE02");
|
||||||
// there are two objects named "TRASH CAN WITH FIRE" in the scene (but not visible)
|
// there are two objects named "TRASH CAN WITH FIRE" in the scene (but not visible)
|
||||||
// and none of them have to be set clickable
|
// and none of them have to be set clickable
|
||||||
// and also reseting them here would only reset one of them - and one remains as clickable
|
// and also resetting them here would only reset one of them - and one remains as clickable
|
||||||
Unclickable_Object("TRASH CAN WITH FIRE");
|
Unclickable_Object("TRASH CAN WITH FIRE");
|
||||||
Unclickable_Object("U2 CHEWDOOR");
|
Unclickable_Object("U2 CHEWDOOR");
|
||||||
Unclickable_Object("MMTRASHCAN");
|
Unclickable_Object("MMTRASHCAN");
|
||||||
|
|
|
@ -1534,7 +1534,7 @@ void PaulaSound::sfxTimerCallback() {
|
||||||
} else {
|
} else {
|
||||||
_sfxTimer = 0;
|
_sfxTimer = 0;
|
||||||
// Possible TODO: The original only ever started sounds here. This
|
// Possible TODO: The original only ever started sounds here. This
|
||||||
// should not be noticable though. So we do not do it for now.
|
// should not be noticeable though. So we do not do it for now.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -266,7 +266,7 @@ extern int16 ctp_routes[20][10]; // path-finding line information
|
||||||
/* ctp_routes:
|
/* ctp_routes:
|
||||||
|
|
||||||
correct size would be: ctp_routes[routeCoordCount * 20 * 2]
|
correct size would be: ctp_routes[routeCoordCount * 20 * 2]
|
||||||
array is seperate in 20 * 2 bytes slices.
|
array is separate in 20 * 2 bytes slices.
|
||||||
first 2 bytes of the slice indicate how many coordinates/lines are following (lineCount)
|
first 2 bytes of the slice indicate how many coordinates/lines are following (lineCount)
|
||||||
after that there are lineCount * 2 bytes following with indexes pointing on the routeCoords table
|
after that there are lineCount * 2 bytes following with indexes pointing on the routeCoords table
|
||||||
the root x,y for the lines is the coordinate in the routeCoords array, which fits to the current slice
|
the root x,y for the lines is the coordinate in the routeCoords array, which fits to the current slice
|
||||||
|
|
|
@ -1092,7 +1092,7 @@ void Cast::loadLingoContext(Common::SeekableReadStreamEndian &stream) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
error("Cast::loadLingoContext: unsuported Director version (%d)", _version);
|
error("Cast::loadLingoContext: unsupported Director version (%d)", _version);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1085,7 +1085,7 @@ void LB::b_getNthFileNameInFolder(int nargs) {
|
||||||
if (d.exists()) {
|
if (d.exists()) {
|
||||||
Common::FSList f;
|
Common::FSList f;
|
||||||
if (!d.getChildren(f, Common::FSNode::kListAll)) {
|
if (!d.getChildren(f, Common::FSNode::kListAll)) {
|
||||||
warning("Cannot acces directory %s", path.c_str());
|
warning("Cannot access directory %s", path.c_str());
|
||||||
} else {
|
} else {
|
||||||
if ((uint)fileNum < f.size()) {
|
if ((uint)fileNum < f.size()) {
|
||||||
// here, we sort all the fileNames
|
// here, we sort all the fileNames
|
||||||
|
|
|
@ -56,7 +56,7 @@ public:
|
||||||
void createProjectile(Thing thing, int16 mapX, int16 mapY, uint16 cell, Direction dir,
|
void createProjectile(Thing thing, int16 mapX, int16 mapY, uint16 cell, Direction dir,
|
||||||
byte kineticEnergy, byte attack, byte stepEnergy); // @ F0212_PROJECTILE_Create
|
byte kineticEnergy, byte attack, byte stepEnergy); // @ F0212_PROJECTILE_Create
|
||||||
bool hasProjectileImpactOccurred(int16 impactType, int16 mapXCombo, int16 mapYCombo,
|
bool hasProjectileImpactOccurred(int16 impactType, int16 mapXCombo, int16 mapYCombo,
|
||||||
int16 cell, Thing projectileThing); // @ F0217_PROJECTILE_HasImpactOccured
|
int16 cell, Thing projectileThing); // @ F0217_PROJECTILE_HasImpactOccurred
|
||||||
uint16 getProjectileImpactAttack(Projectile *projectile, Thing thing); // @ F0216_PROJECTILE_GetImpactAttack
|
uint16 getProjectileImpactAttack(Projectile *projectile, Thing thing); // @ F0216_PROJECTILE_GetImpactAttack
|
||||||
void createExplosion(Thing explThing, uint16 attack, uint16 mapXCombo,
|
void createExplosion(Thing explThing, uint16 attack, uint16 mapXCombo,
|
||||||
uint16 mapYCombo, uint16 cell); // @ F0213_EXPLOSION_Create
|
uint16 mapYCombo, uint16 cell); // @ F0213_EXPLOSION_Create
|
||||||
|
|
|
@ -784,7 +784,7 @@ static char *match_string(char *ans, char *corr_ans, int n)
|
||||||
static rbool check_answer(char *ans, long start, long size)
|
static rbool check_answer(char *ans, long start, long size)
|
||||||
/* qnum has already been fixed to start from 0 */
|
/* qnum has already been fixed to start from 0 */
|
||||||
/* Master's edition answer checker. Master's edition answers can */
|
/* Master's edition answer checker. Master's edition answers can */
|
||||||
/* be seperate by AND and OR characters. If there is one OR in the */
|
/* be separate by AND and OR characters. If there is one OR in the */
|
||||||
/* answer, all ANDs will also be treated as ORs */
|
/* answer, all ANDs will also be treated as ORs */
|
||||||
/* Furthermore, AND-delimited strings must appear in the correct order */
|
/* Furthermore, AND-delimited strings must appear in the correct order */
|
||||||
/* unless PURE_ANSWER is false */
|
/* unless PURE_ANSWER is false */
|
||||||
|
|
|
@ -1244,7 +1244,7 @@ void sort_cmd(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < TOTAL_VERB; i++)
|
for (i = 0; i < TOTAL_VERB; i++)
|
||||||
if (verbptr[i] == last_cmd) /* No occurences of this verb */
|
if (verbptr[i] == last_cmd) /* No occurrences of this verb */
|
||||||
verbend[i] = last_cmd;
|
verbend[i] = last_cmd;
|
||||||
else verbend[i]++; /* Point *after* last occurance */
|
else verbend[i]++; /* Point *after* last occurance */
|
||||||
|
|
||||||
|
|
|
@ -300,7 +300,7 @@ global short last_he, last_she, last_it, last_they;
|
||||||
#define ALL_MARK (-ext_code[wall])
|
#define ALL_MARK (-ext_code[wall])
|
||||||
|
|
||||||
#define D_END 50 /* Marks end of disambiguation list */
|
#define D_END 50 /* Marks end of disambiguation list */
|
||||||
#define D_AND 51 /* Used to seperate multiple objects during disambig */
|
#define D_AND 51 /* Used to separate multiple objects during disambig */
|
||||||
#define D_NOUN 0 /* Noun match */
|
#define D_NOUN 0 /* Noun match */
|
||||||
#define D_SYN 1 /* Adjective/synonym only match */
|
#define D_SYN 1 /* Adjective/synonym only match */
|
||||||
#define D_ADJ 2 /* Adj only match */
|
#define D_ADJ 2 /* Adj only match */
|
||||||
|
|
|
@ -972,7 +972,7 @@ void setprop(int obj, int prop, long val) {
|
||||||
integer *paddr;
|
integer *paddr;
|
||||||
|
|
||||||
if (prop >= NUM_WPROP) {
|
if (prop >= NUM_WPROP) {
|
||||||
writeln("GAME ERROR: Read-only or non-existant property.");
|
writeln("GAME ERROR: Read-only or non-existent property.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -997,7 +997,7 @@ void setattr(int obj, int prop, rbool val) {
|
||||||
rbool *paddr;
|
rbool *paddr;
|
||||||
|
|
||||||
if (prop >= NUM_WATTR && prop != 24) {
|
if (prop >= NUM_WATTR && prop != 24) {
|
||||||
writeln("GAME ERROR: Read-only or non-existant attribute.");
|
writeln("GAME ERROR: Read-only or non-existent attribute.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -282,7 +282,7 @@ static void v_eat(int vc, parse_rec *nounrec) {
|
||||||
|
|
||||||
if (noun[dobj_ - first_noun].movable) it_destroy(dobj_);
|
if (noun[dobj_ - first_noun].movable) it_destroy(dobj_);
|
||||||
if (noun[dobj_ - first_noun].poisonous) {
|
if (noun[dobj_ - first_noun].poisonous) {
|
||||||
sysmsgd(129, "Unfortunatly, $n_pro$ $n_was$ poisonous.", nounrec);
|
sysmsgd(129, "Unfortunately, $n_pro$ $n_was$ poisonous.", nounrec);
|
||||||
deadflag = 1;
|
deadflag = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -768,7 +768,7 @@ static void v_attack(uchar missile, parse_rec *targrec, parse_rec *weprec) {
|
||||||
if (noun[wep - first_noun].drinkable) { /* i.e. a liquid */
|
if (noun[wep - first_noun].drinkable) { /* i.e. a liquid */
|
||||||
alt_sysmsg(msgnum + 1, "$You$ splash $the_o$$object$ with "
|
alt_sysmsg(msgnum + 1, "$You$ splash $the_o$$object$ with "
|
||||||
"$the_n$$noun$, but the liquid quickly evaporates "
|
"$the_n$$noun$, but the liquid quickly evaporates "
|
||||||
"without noticable effect.", weprec, targrec);
|
"without noticeable effect.", weprec, targrec);
|
||||||
it_destroy(wep);
|
it_destroy(wep);
|
||||||
} else {
|
} else {
|
||||||
alt_sysmsg(msgnum,
|
alt_sysmsg(msgnum,
|
||||||
|
|
|
@ -1039,7 +1039,7 @@ static void read_filerec(file_info *rec_desc, const uchar *filedata) {
|
||||||
filedata[2], filedata[3]);
|
filedata[2], filedata[3]);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
fatal("Unreconized field type");
|
fatal("Unrecognized field type");
|
||||||
}
|
}
|
||||||
filedata += ft_leng[rec_desc->ftype];
|
filedata += ft_leng[rec_desc->ftype];
|
||||||
}
|
}
|
||||||
|
@ -1159,7 +1159,7 @@ static void write_filerec(file_info *rec_desc, uchar *filedata) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
fatal("Unreconized field type");
|
fatal("Unrecognized field type");
|
||||||
}
|
}
|
||||||
filedata += ft_leng[rec_desc->ftype];
|
filedata += ft_leng[rec_desc->ftype];
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@ void PairWindow::rearrange(const Rect &box) {
|
||||||
_bbox = box;
|
_bbox = box;
|
||||||
|
|
||||||
if (_dir == winmethod_Arbitrary) {
|
if (_dir == winmethod_Arbitrary) {
|
||||||
// When a pair window is in "arbitrary" mode, each child window has it's own independant positioning,
|
// When a pair window is in "arbitrary" mode, each child window has it's own independent positioning,
|
||||||
// so thre's no need to be readjusting it
|
// so thre's no need to be readjusting it
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -188,7 +188,7 @@ void Processor::runtimeError(ErrorCode errNum) {
|
||||||
if (_err_report_mode == ERR_REPORT_ONCE) {
|
if (_err_report_mode == ERR_REPORT_ONCE) {
|
||||||
print_string(" (will ignore further occurrences)");
|
print_string(" (will ignore further occurrences)");
|
||||||
} else {
|
} else {
|
||||||
print_string(" (occurence ");
|
print_string(" (occurrence ");
|
||||||
print_long(_errorCount[errNum - 1], 10);
|
print_long(_errorCount[errNum - 1], 10);
|
||||||
print_char(')');
|
print_char(')');
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,7 +108,7 @@ uint16 Font::getCharIndex(unsigned char c) const {
|
||||||
if (_charIndex[i] == c2)
|
if (_charIndex[i] == c2)
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
Debug::warning(Debug::Fonts, "The requsted character (code 0x%x) does not correspond to anything in the font data!", c2);
|
Debug::warning(Debug::Fonts, "The requested character (code 0x%x) does not correspond to anything in the font data!", c2);
|
||||||
// If we couldn't find the character then default to
|
// If we couldn't find the character then default to
|
||||||
// the first character in the font so that something
|
// the first character in the font so that something
|
||||||
// gets loaded to prevent the game from crashing
|
// gets loaded to prevent the game from crashing
|
||||||
|
|
|
@ -1381,7 +1381,7 @@ Event *Scheduler::doAction(Event *curEvent) {
|
||||||
break;
|
break;
|
||||||
case INIT_STORY_MODE: // act39: Init story_mode flag
|
case INIT_STORY_MODE: // act39: Init story_mode flag
|
||||||
// This is similar to the QUIET path mode, except that it is
|
// This is similar to the QUIET path mode, except that it is
|
||||||
// independant of it and it additionally disables the ">" prompt
|
// independent of it and it additionally disables the ">" prompt
|
||||||
gameStatus._storyModeFl = action->_a39._storyModeFl;
|
gameStatus._storyModeFl = action->_a39._storyModeFl;
|
||||||
break;
|
break;
|
||||||
case WARN: // act40: Text box (CF TEXT)
|
case WARN: // act40: Text box (CF TEXT)
|
||||||
|
|
|
@ -630,7 +630,7 @@ void _barrier_handler::Form_route_barrier_list(PXreal x, PXreal y, PXreal z, PXr
|
||||||
_rect rb; // rb meaning 'Route-Box'
|
_rect rb; // rb meaning 'Route-Box'
|
||||||
uint32 j;
|
uint32 j;
|
||||||
_child_group *clist[MAX_child_groups_per_parent * 2];
|
_child_group *clist[MAX_child_groups_per_parent * 2];
|
||||||
uint32 total_childs = 0; // seperate total for safety
|
uint32 total_childs = 0; // separate total for safety
|
||||||
int32 expanded_this_go;
|
int32 expanded_this_go;
|
||||||
_route_barrier *bar;
|
_route_barrier *bar;
|
||||||
uint32 k;
|
uint32 k;
|
||||||
|
|
|
@ -1394,7 +1394,7 @@ void drawGUL3PC(uint32 *polyStart, const uint32 n, SVECTORPC *pVertex, SVECTOR *
|
||||||
setLineG4(line);
|
setLineG4(line);
|
||||||
int32 cval;
|
int32 cval;
|
||||||
if (_drawGouraud) {
|
if (_drawGouraud) {
|
||||||
// Give each vertex a seperate colour
|
// Give each vertex a separate colour
|
||||||
// Compute the colour scaling and clip it
|
// Compute the colour scaling and clip it
|
||||||
if (rgbIn.r != 0) {
|
if (rgbIn.r != 0) {
|
||||||
cval = ((wfrmRed * rgb0.r) / rgbIn.r);
|
cval = ((wfrmRed * rgb0.r) / rgbIn.r);
|
||||||
|
@ -2191,7 +2191,7 @@ void drawGTL3PC(uint32 *polyStart, const uint32 n, SVECTORPC *pVertex, SVECTOR *
|
||||||
setLineG4(line);
|
setLineG4(line);
|
||||||
int32 cval;
|
int32 cval;
|
||||||
if (_drawGouraud) {
|
if (_drawGouraud) {
|
||||||
// Give each vertex a seperate colour
|
// Give each vertex a separate colour
|
||||||
// Compute the colour scaling and clip it
|
// Compute the colour scaling and clip it
|
||||||
if (rgbIn.r != 0) {
|
if (rgbIn.r != 0) {
|
||||||
cval = ((wfrmRed * rgb0.r) / rgbIn.r);
|
cval = ((wfrmRed * rgb0.r) / rgbIn.r);
|
||||||
|
|
|
@ -43,7 +43,7 @@ namespace ICB {
|
||||||
#define EVENT_MANAGER_MAX_TIMERS 4
|
#define EVENT_MANAGER_MAX_TIMERS 4
|
||||||
|
|
||||||
// Keeps track of which object is interested in hearing about events from which other objects and stores
|
// Keeps track of which object is interested in hearing about events from which other objects and stores
|
||||||
// events which have occured until they can be handled.
|
// events which have occurred until they can be handled.
|
||||||
class _event_manager {
|
class _event_manager {
|
||||||
public:
|
public:
|
||||||
// Default constructor and destructor.
|
// Default constructor and destructor.
|
||||||
|
|
|
@ -36,7 +36,7 @@ namespace ICB {
|
||||||
|
|
||||||
void _marker::___init() {
|
void _marker::___init() {
|
||||||
// read in the session markers file - this is the engine written file not the max Nico file
|
// read in the session markers file - this is the engine written file not the max Nico file
|
||||||
// read data into a structure as it needs to be modifiable and saveable which isnt posible with res_man files
|
// read data into a structure as it needs to be modifiable and saveable which isnt possible with res_man files
|
||||||
int32 len;
|
int32 len;
|
||||||
|
|
||||||
Zdebug("\n\n\n-------------*** Init marker file ***-------------");
|
Zdebug("\n\n\n-------------*** Init marker file ***-------------");
|
||||||
|
|
|
@ -6143,7 +6143,7 @@ void OptionsManager::DrawSlideShow() {
|
||||||
uint32 art2DClusterHash = NULL_HASH;
|
uint32 art2DClusterHash = NULL_HASH;
|
||||||
|
|
||||||
if (!IsAValidSlide(m_currentSlide, slideFile))
|
if (!IsAValidSlide(m_currentSlide, slideFile))
|
||||||
Fatal_error("Trying to display a non-existant slide image!");
|
Fatal_error("Trying to display a non-existent slide image!");
|
||||||
|
|
||||||
// Set this up for resman and open the thb file
|
// Set this up for resman and open the thb file
|
||||||
sprintf(art2DCluster, ICON_CLUSTER_PATH);
|
sprintf(art2DCluster, ICON_CLUSTER_PATH);
|
||||||
|
|
|
@ -96,7 +96,7 @@ void _player::Update_input_state() {
|
||||||
|
|
||||||
// note - analogue controllers return a direction which is different from forward-and-rotate schemes
|
// note - analogue controllers return a direction which is different from forward-and-rotate schemes
|
||||||
|
|
||||||
// this routine requires seperate pc/psx coding
|
// this routine requires separate pc/psx coding
|
||||||
|
|
||||||
// pc devices
|
// pc devices
|
||||||
// ----------
|
// ----------
|
||||||
|
|
|
@ -872,7 +872,7 @@ void _remora::ClearAllText() {
|
||||||
m_nFirstLineToDraw = 0;
|
m_nFirstLineToDraw = 0;
|
||||||
|
|
||||||
m_bScrollingRequired = FALSE8;
|
m_bScrollingRequired = FALSE8;
|
||||||
m_bScrolling = FALSE8; // these three need reseting so when we go to a new page we don't try scrolling off screen
|
m_bScrolling = FALSE8; // these three need resetting so when we go to a new page we don't try scrolling off screen
|
||||||
m_nStartYPixelOffset = 0;
|
m_nStartYPixelOffset = 0;
|
||||||
m_eTextScroll = SCROLL_NONE;
|
m_eTextScroll = SCROLL_NONE;
|
||||||
|
|
||||||
|
|
|
@ -843,7 +843,7 @@ uint32 res_man::FindMemBlock(uint32 adj_len, RMParams *params) {
|
||||||
} while (search != -1);
|
} while (search != -1);
|
||||||
|
|
||||||
if (!total_age)
|
if (!total_age)
|
||||||
Fatal_error("failed to build an age table - not really posible");
|
Fatal_error("failed to build an age table - not really possible");
|
||||||
|
|
||||||
// now sort the ages
|
// now sort the ages
|
||||||
for (j = 0; j < total_age; j++)
|
for (j = 0; j < total_age; j++)
|
||||||
|
|
|
@ -88,7 +88,7 @@ void _game_session::Reset_route_manager() {
|
||||||
|
|
||||||
// remove used routes - just keeps the memory limit down
|
// remove used routes - just keeps the memory limit down
|
||||||
|
|
||||||
Zdebug("--new sesssion: reseting route manager service--");
|
Zdebug("--new sesssion: resetting route manager service--");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool8 _game_session::Is_route_required(PXreal startx, PXreal startz, PXreal destx, PXreal destz) {
|
bool8 _game_session::Is_route_required(PXreal startx, PXreal startz, PXreal destx, PXreal destz) {
|
||||||
|
|
|
@ -174,7 +174,7 @@ public:
|
||||||
|
|
||||||
CSfx *GetSfx(); // should be reasonably fast now...
|
CSfx *GetSfx(); // should be reasonably fast now...
|
||||||
|
|
||||||
// volume and pan together (faster than seperate)
|
// volume and pan together (faster than separate)
|
||||||
void GetVolumeAndPan(int32 &vol, int32 &pan);
|
void GetVolumeAndPan(int32 &vol, int32 &pan);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -278,7 +278,7 @@ void AmigaDOSFont::errorDialog(int index) {
|
||||||
if (index == 0) {
|
if (index == 0) {
|
||||||
::GUI::displayErrorDialog(_(
|
::GUI::displayErrorDialog(_(
|
||||||
"This AMIGA version requires the following font files:\n\nEOBF6.FONT\nEOBF6/6\nEOBF8.FONT\nEOBF8/8\n\n"
|
"This AMIGA version requires the following font files:\n\nEOBF6.FONT\nEOBF6/6\nEOBF8.FONT\nEOBF8/8\n\n"
|
||||||
"If you used the orginal installer for the installation these files\nshould be located in the AmigaDOS system 'Fonts/' folder.\n"
|
"If you used the original installer for the installation these files\nshould be located in the AmigaDOS system 'Fonts/' folder.\n"
|
||||||
"Please copy them into the EOB game data directory.\n"
|
"Please copy them into the EOB game data directory.\n"
|
||||||
));
|
));
|
||||||
|
|
||||||
|
|
|
@ -663,7 +663,7 @@ void SoundManager::musicInterface_ContinuePlaying() {
|
||||||
* off again because of a bug. Also, TrashReverb being triggered by doors opening
|
* off again because of a bug. Also, TrashReverb being triggered by doors opening
|
||||||
* offscreen would be a bug. There is a third problem: the door opening sound lasts
|
* offscreen would be a bug. There is a third problem: the door opening sound lasts
|
||||||
* much longer than 40 ms, so turning reverb back on 40 ms after starting the door
|
* much longer than 40 ms, so turning reverb back on 40 ms after starting the door
|
||||||
* opening sound still results in a noticable reverb. All in all this explanation
|
* opening sound still results in a noticeable reverb. All in all this explanation
|
||||||
* is not entirely convicing.
|
* is not entirely convicing.
|
||||||
* Another explanation would be that reverb was only meant to be on for the first
|
* Another explanation would be that reverb was only meant to be on for the first
|
||||||
* part of the game and should be turned off from the town onwards (this is what
|
* part of the game and should be turned off from the town onwards (this is what
|
||||||
|
|
|
@ -129,7 +129,7 @@ void MADSEngine::loadOptions() {
|
||||||
|
|
||||||
// Note: MADS is weird in that sfx and music are handled by the same driver,
|
// Note: MADS is weird in that sfx and music are handled by the same driver,
|
||||||
// and the game scripts themselves check for music being enabled before playing
|
// and the game scripts themselves check for music being enabled before playing
|
||||||
// a "music" sound. Which means we can independantly mute music in ScummVM, but
|
// a "music" sound. Which means we can independently mute music in ScummVM, but
|
||||||
// otherwise all sound, music and sfx, is controlled by the SFX volume slider.
|
// otherwise all sound, music and sfx, is controlled by the SFX volume slider.
|
||||||
int soundVolume = MIN(255, ConfMan.getInt("sfx_volume"));
|
int soundVolume = MIN(255, ConfMan.getInt("sfx_volume"));
|
||||||
_sound->setVolume(soundVolume);
|
_sound->setVolume(soundVolume);
|
||||||
|
|
|
@ -285,7 +285,7 @@ void CSTimeInterface::mouseDown(Common::Point pos) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: case 20 ui craziness is handled seperately..
|
// TODO: case 20 ui craziness is handled separately..
|
||||||
|
|
||||||
CSTimeConversation *conv = _vm->getCase()->getCurrConversation();
|
CSTimeConversation *conv = _vm->getCase()->getCurrConversation();
|
||||||
if (_bookRect.contains(pos) || (_noteRect.contains(pos) && _note->havePiece(0xffff))) {
|
if (_bookRect.contains(pos) || (_noteRect.contains(pos) && _note->havePiece(0xffff))) {
|
||||||
|
@ -337,7 +337,7 @@ void CSTimeInterface::mouseMove(Common::Point pos) {
|
||||||
if (_note->getState() == 2)
|
if (_note->getState() == 2)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// TODO: case 20 ui craziness is handled seperately..
|
// TODO: case 20 ui craziness is handled separately..
|
||||||
|
|
||||||
if (_sceneRect.contains(pos) && !_vm->getCase()->getCurrScene()->eventIsActive()) {
|
if (_sceneRect.contains(pos) && !_vm->getCase()->getCurrScene()->eventIsActive()) {
|
||||||
_vm->getCase()->getCurrScene()->mouseMove(pos);
|
_vm->getCase()->getCurrScene()->mouseMove(pos);
|
||||||
|
@ -467,7 +467,7 @@ void CSTimeInterface::mouseUp(Common::Point pos) {
|
||||||
|
|
||||||
// TODO: if in sailing puzzle, sailing puzzle mouse up, return
|
// TODO: if in sailing puzzle, sailing puzzle mouse up, return
|
||||||
|
|
||||||
// TODO: case 20 ui craziness is handled seperately..
|
// TODO: case 20 ui craziness is handled separately..
|
||||||
|
|
||||||
if (_sceneRect.contains(pos)) {
|
if (_sceneRect.contains(pos)) {
|
||||||
_vm->getCase()->getCurrScene()->mouseUp(pos);
|
_vm->getCase()->getCurrScene()->mouseUp(pos);
|
||||||
|
|
|
@ -1911,7 +1911,7 @@ uint LBCode::parseCode(const Common::String &source) {
|
||||||
code.push_back(kTokenCloseBracket);
|
code.push_back(kTokenCloseBracket);
|
||||||
counterPositions.pop_back();
|
counterPositions.pop_back();
|
||||||
break;
|
break;
|
||||||
// comma (seperating function params)
|
// comma (separating function params)
|
||||||
case ',':
|
case ',':
|
||||||
{
|
{
|
||||||
if (counterPositions.empty())
|
if (counterPositions.empty())
|
||||||
|
|
|
@ -3347,7 +3347,7 @@ void Myst::o_forechamberDoor_init(uint16 var, const ArgumentsArray &args) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Myst::o_shipAccess_init(uint16 var, const ArgumentsArray &args) {
|
void Myst::o_shipAccess_init(uint16 var, const ArgumentsArray &args) {
|
||||||
// Enable acces to the ship
|
// Enable access to the ship
|
||||||
if (_state.shipFloating) {
|
if (_state.shipFloating) {
|
||||||
getInvokingResource<MystArea>()->setEnabled(true);
|
getInvokingResource<MystArea>()->setEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -881,7 +881,7 @@ void Database::patchLanguageMenu() {
|
||||||
// The scripts for the other languages only differ by the value set for AudioLanguage variable
|
// The scripts for the other languages only differ by the value set for AudioLanguage variable
|
||||||
// when the language selection is not English.
|
// when the language selection is not English.
|
||||||
// This function patches the language selection script to set the appropriate value based
|
// This function patches the language selection script to set the appropriate value based
|
||||||
// on the detected game langage.
|
// on the detected game language.
|
||||||
|
|
||||||
// Script disassembly:
|
// Script disassembly:
|
||||||
// hotspot 5 > c[v1 != 0] (true)
|
// hotspot 5 > c[v1 != 0] (true)
|
||||||
|
|
|
@ -1407,7 +1407,7 @@ void Puzzles::railRoadSwitchs() {
|
||||||
endFrame = 12;
|
endFrame = 12;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
error("Bad railroad switchs start value %d", startFrame);
|
error("Bad railroad switches start value %d", startFrame);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -191,9 +191,9 @@ void GameModule::initMemoryPuzzle() {
|
||||||
setSubVar(VA_DICE_MEMORY_SYMBOLS, diceIndices.getNumber(), tileSymbols.getNumber());
|
setSubVar(VA_DICE_MEMORY_SYMBOLS, diceIndices.getNumber(), tileSymbols.getNumber());
|
||||||
// Insert special symbols tiles
|
// Insert special symbols tiles
|
||||||
for (uint32 i = 0; i < 3; ++i) {
|
for (uint32 i = 0; i < 3; ++i) {
|
||||||
int tileSymbolOccurence = _vm->_rnd->getRandomNumber(4 - 1) * 2 + 2;
|
int tileSymbolOccurrence = _vm->_rnd->getRandomNumber(4 - 1) * 2 + 2;
|
||||||
setSubVar(VA_GOOD_DICE_NUMBERS, i, tileSymbolOccurence);
|
setSubVar(VA_GOOD_DICE_NUMBERS, i, tileSymbolOccurrence);
|
||||||
while (tileSymbolOccurence--)
|
while (tileSymbolOccurrence--)
|
||||||
setSubVar(VA_TILE_SYMBOLS, availableTiles.getNumber(), getSubVar(VA_DICE_MEMORY_SYMBOLS, i));
|
setSubVar(VA_TILE_SYMBOLS, availableTiles.getNumber(), getSubVar(VA_DICE_MEMORY_SYMBOLS, i));
|
||||||
}
|
}
|
||||||
// Fill the remaining tiles
|
// Fill the remaining tiles
|
||||||
|
|
|
@ -726,7 +726,7 @@ void drawFloatingWindows(gPort &port, const Point16 &offset, const Rect16 &clip)
|
||||||
oldExtent = bound(newExtent, oldExtent);
|
oldExtent = bound(newExtent, oldExtent);
|
||||||
updateWindowSection(oldExtent);
|
updateWindowSection(oldExtent);
|
||||||
} else {
|
} else {
|
||||||
// Otherwise, update new and old positions seperately
|
// Otherwise, update new and old positions separately
|
||||||
|
|
||||||
updateWindowSection(newExtent);
|
updateWindowSection(newExtent);
|
||||||
updateWindowSection(oldExtent);
|
updateWindowSection(oldExtent);
|
||||||
|
|
|
@ -41,7 +41,7 @@ const int maxLines = 16,
|
||||||
buttonWidth = 60;
|
buttonWidth = 60;
|
||||||
|
|
||||||
// This function takes a string which is composed of several
|
// This function takes a string which is composed of several
|
||||||
// substrings, each seperated by a delimiter character, and
|
// substrings, each separated by a delimiter character, and
|
||||||
// breaks it up into the individual sub-strings.
|
// breaks it up into the individual sub-strings.
|
||||||
|
|
||||||
int16 SplitString(
|
int16 SplitString(
|
||||||
|
|
|
@ -118,7 +118,7 @@ void DrawChar(gFont *font, int drawchar, int xpos, uint8 *baseline, uint8 color,
|
||||||
This function renders a single bitmapped character into an offscreen
|
This function renders a single bitmapped character into an offscreen
|
||||||
buffer. The character will be "ballooned", i.e. expanded, by 1 pixel
|
buffer. The character will be "ballooned", i.e. expanded, by 1 pixel
|
||||||
in each direction. It does not render the center part of the outlined
|
in each direction. It does not render the center part of the outlined
|
||||||
character in a different color -- that must be done as a seperate
|
character in a different color -- that must be done as a separate
|
||||||
step.
|
step.
|
||||||
|
|
||||||
'drawchar' is the ascii code of the character to be drawn.
|
'drawchar' is the ascii code of the character to be drawn.
|
||||||
|
|
|
@ -47,7 +47,7 @@ const ObjectID Nothing = 0, // a reference to no object
|
||||||
ActorLimbo = 2, // where dead actors go
|
ActorLimbo = 2, // where dead actors go
|
||||||
ImportantLimbo = 3, // where dead important objects go
|
ImportantLimbo = 3, // where dead important objects go
|
||||||
ActorBaseID = 0x8000, // high bit set for actors
|
ActorBaseID = 0x8000, // high bit set for actors
|
||||||
WorldBaseID = 0xF000; // 4K posible worlds
|
WorldBaseID = 0xF000; // 4K possible worlds
|
||||||
|
|
||||||
/* ===================================================================== *
|
/* ===================================================================== *
|
||||||
TileID
|
TileID
|
||||||
|
|
|
@ -77,7 +77,7 @@ struct ResourceGameObject {
|
||||||
// Base class of all objects
|
// Base class of all objects
|
||||||
//
|
//
|
||||||
// Unlike the object prototypes, the only subclass of GameObject is
|
// Unlike the object prototypes, the only subclass of GameObject is
|
||||||
// the actor subclass, which is kept in an entirely seperate table.
|
// the actor subclass, which is kept in an entirely separate table.
|
||||||
// This allows all objects to be kept in an array (indexed by ID number)
|
// This allows all objects to be kept in an array (indexed by ID number)
|
||||||
|
|
||||||
#include "common/pack-start.h"
|
#include "common/pack-start.h"
|
||||||
|
|
|
@ -236,7 +236,7 @@ struct ResourceObjectPrototype {
|
||||||
objPropCharges = (1 << 6), // it's a missile weapon
|
objPropCharges = (1 << 6), // it's a missile weapon
|
||||||
objPropEdible = (1 << 7), // can be eaten
|
objPropEdible = (1 << 7), // can be eaten
|
||||||
objPropFlipped = (1 << 8), // flipped left/right on ground
|
objPropFlipped = (1 << 8), // flipped left/right on ground
|
||||||
objPropVisOpen = (1 << 9), // Object has seperate "visible" sprite
|
objPropVisOpen = (1 << 9), // Object has separate "visible" sprite
|
||||||
objPropHidden = (1 << 10), // "How not to be seen".
|
objPropHidden = (1 << 10), // "How not to be seen".
|
||||||
objPropGhosted = (1 << 11), // Object permanently ghosted
|
objPropGhosted = (1 << 11), // Object permanently ghosted
|
||||||
objPropHardSurface = (1 << 12), // Object makes hard sound when struck
|
objPropHardSurface = (1 << 12), // Object makes hard sound when struck
|
||||||
|
|
|
@ -75,7 +75,7 @@ void EventLoop(bool &running, bool modal = false);
|
||||||
* ===================================================================== */
|
* ===================================================================== */
|
||||||
|
|
||||||
enum gEventType {
|
enum gEventType {
|
||||||
gEventNone = 0, // no event occured
|
gEventNone = 0, // no event occurred
|
||||||
gEventMouseDown, // left button pressed
|
gEventMouseDown, // left button pressed
|
||||||
gEventMouseUp, // left button released
|
gEventMouseUp, // left button released
|
||||||
gEventRMouseDown, // right button pressed
|
gEventRMouseDown, // right button pressed
|
||||||
|
@ -98,7 +98,7 @@ enum gEventType {
|
||||||
|
|
||||||
struct gEvent {
|
struct gEvent {
|
||||||
gPanel *panel; // where event came from
|
gPanel *panel; // where event came from
|
||||||
enum gEventType eventType; // type of event that occured
|
enum gEventType eventType; // type of event that occurred
|
||||||
Point16 mouse; // mouse position
|
Point16 mouse; // mouse position
|
||||||
int32 value; // new value of control
|
int32 value; // new value of control
|
||||||
gWindow *window; // active window
|
gWindow *window; // active window
|
||||||
|
|
|
@ -38,7 +38,7 @@ typedef int16 ThreadID;
|
||||||
|
|
||||||
enum scriptResult {
|
enum scriptResult {
|
||||||
|
|
||||||
// Code returned when attempt to run a non-existant script
|
// Code returned when attempt to run a non-existent script
|
||||||
scriptResultNoScript = 0,
|
scriptResultNoScript = 0,
|
||||||
|
|
||||||
// Code returned when script was aborted before completion
|
// Code returned when script was aborted before completion
|
||||||
|
|
|
@ -798,7 +798,7 @@ void TileModeHandleTask() {
|
||||||
} else {
|
} else {
|
||||||
// Calculate the mouse's position on the tilemap,
|
// Calculate the mouse's position on the tilemap,
|
||||||
// including the shape of the terrain. Actually
|
// including the shape of the terrain. Actually
|
||||||
// this returns two seperate coords: The exact point
|
// this returns two separate coords: The exact point
|
||||||
// clicked on, and the projection on the floor
|
// clicked on, and the projection on the floor
|
||||||
// beneath the clicked point.
|
// beneath the clicked point.
|
||||||
tilePickExactPos = pickTile(lastMousePos,
|
tilePickExactPos = pickTile(lastMousePos,
|
||||||
|
|
|
@ -3656,7 +3656,7 @@ void Console::printKernelCallsFound(int kernelFuncNum, bool showFoundScripts) {
|
||||||
Common::sort(resources.begin(), resources.end());
|
Common::sort(resources.begin(), resources.end());
|
||||||
|
|
||||||
if (showFoundScripts)
|
if (showFoundScripts)
|
||||||
debugPrintf("%d scripts found, dissassembling...\n", resources.size());
|
debugPrintf("%d scripts found, disassembling...\n", resources.size());
|
||||||
|
|
||||||
int scriptSegment;
|
int scriptSegment;
|
||||||
Script *script;
|
Script *script;
|
||||||
|
|
|
@ -297,7 +297,7 @@ void GfxFontFromResource::draw(uint16 chr, int16 top, int16 left, byte color, bo
|
||||||
if (0 <= screenX && screenX < screenWidth && 0 <= screenY && screenY < screenHeight) {
|
if (0 <= screenX && screenX < screenWidth && 0 <= screenY && screenY < screenHeight) {
|
||||||
_screen->putFontPixel(top, screenX, y, color);
|
_screen->putFontPixel(top, screenX, y, color);
|
||||||
} else {
|
} else {
|
||||||
warning("%s glpyh %d drawn out of bounds: %d, %d", _resource->name().c_str(), chr, screenX, screenY);
|
warning("%s glyph %d drawn out of bounds: %d, %d", _resource->name().c_str(), chr, screenX, screenY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
b = b << 1;
|
b = b << 1;
|
||||||
|
@ -334,7 +334,7 @@ void GfxFontFromResource::drawToBuffer(uint16 chr, int16 top, int16 left, byte c
|
||||||
int offset = bufY * bufWidth + bufX;
|
int offset = bufY * bufWidth + bufX;
|
||||||
buffer[offset] = color;
|
buffer[offset] = color;
|
||||||
} else {
|
} else {
|
||||||
warning("%s glpyh %d drawn out of bounds: %d, %d", _resource->name().c_str(), chr, bufX, bufY);
|
warning("%s glyph %d drawn out of bounds: %d, %d", _resource->name().c_str(), chr, bufX, bufY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
b = b << 1;
|
b = b << 1;
|
||||||
|
|
|
@ -215,7 +215,7 @@ public:
|
||||||
* Processes a multilanguage string based on the current language settings and
|
* Processes a multilanguage string based on the current language settings and
|
||||||
* returns a string that is ready to be displayed.
|
* returns a string that is ready to be displayed.
|
||||||
* @param str the multilanguage string
|
* @param str the multilanguage string
|
||||||
* @param sep optional seperator between main language and subtitle language,
|
* @param sep optional separator between main language and subtitle language,
|
||||||
* if NULL is passed no subtitle will be added to the returned string
|
* if NULL is passed no subtitle will be added to the returned string
|
||||||
* @return processed string
|
* @return processed string
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1328,7 +1328,7 @@ void CharsetRendererTownsV3::drawBits1(Graphics::Surface &dest, int x, int y, co
|
||||||
}
|
}
|
||||||
|
|
||||||
if (y + height > dest.h)
|
if (y + height > dest.h)
|
||||||
error("Trying to draw below screen boundries");
|
error("Trying to draw below screen boundaries");
|
||||||
|
|
||||||
#ifndef DISABLE_TOWNS_DUAL_LAYER_MODE
|
#ifndef DISABLE_TOWNS_DUAL_LAYER_MODE
|
||||||
#ifdef USE_RGB_COLOR
|
#ifdef USE_RGB_COLOR
|
||||||
|
|
|
@ -269,7 +269,7 @@ void Gdi::init() {
|
||||||
// virtual screen strips don't match the display screen strips anymore. To
|
// virtual screen strips don't match the display screen strips anymore. To
|
||||||
// overcome that problem, we simply use a screen pitch that is 8 pixel wider
|
// overcome that problem, we simply use a screen pitch that is 8 pixel wider
|
||||||
// than the actual screen width, and always draw one strip more than needed to
|
// than the actual screen width, and always draw one strip more than needed to
|
||||||
// the backbuf (thus we have to treat the right border seperately).
|
// the backbuf (thus we have to treat the right border separately).
|
||||||
_numStrips += 1;
|
_numStrips += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1655,7 +1655,7 @@ void ScummEngine::applyWorkaroundIfNeeded(ResType type, int idx) {
|
||||||
// WORKAROUND: FM-TOWNS Zak used the extra 40 pixels at the bottom to increase the inventory to 10 items
|
// WORKAROUND: FM-TOWNS Zak used the extra 40 pixels at the bottom to increase the inventory to 10 items
|
||||||
// if we trim to 200 pixels, we can show only 6 items
|
// if we trim to 200 pixels, we can show only 6 items
|
||||||
// therefore we patch the inventory script (20)
|
// therefore we patch the inventory script (20)
|
||||||
// replacing the 5 occurences of 10 as limit to 6
|
// replacing the 5 occurrences of 10 as limit to 6
|
||||||
if (_game.platform == Common::kPlatformFMTowns && _game.id == GID_ZAK && ConfMan.getBool("trim_fmtowns_to_200_pixels")) {
|
if (_game.platform == Common::kPlatformFMTowns && _game.id == GID_ZAK && ConfMan.getBool("trim_fmtowns_to_200_pixels")) {
|
||||||
if (type == rtScript && idx == 20) {
|
if (type == rtScript && idx == 20) {
|
||||||
byte *ptr = getResourceAddress(rtScript, idx);
|
byte *ptr = getResourceAddress(rtScript, idx);
|
||||||
|
|
|
@ -539,7 +539,7 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr)
|
||||||
if (ConfMan.getBool("aspect_ratio") && !ConfMan.getBool("trim_fmtowns_to_200_pixels")) {
|
if (ConfMan.getBool("aspect_ratio") && !ConfMan.getBool("trim_fmtowns_to_200_pixels")) {
|
||||||
GUI::MessageDialog dialog(
|
GUI::MessageDialog dialog(
|
||||||
_("You have enabled 'aspect ratio correction'. However, FM-TOWNS' natural resolution is 320x240, which doesn't allow aspect ratio correction.\n"
|
_("You have enabled 'aspect ratio correction'. However, FM-TOWNS' natural resolution is 320x240, which doesn't allow aspect ratio correction.\n"
|
||||||
"Aspect ratio correction can be acheived by trimming the resolution to 320x200, under 'engine' tab."));
|
"Aspect ratio correction can be achieved by trimming the resolution to 320x200, under 'engine' tab."));
|
||||||
dialog.runModal();
|
dialog.runModal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,7 @@ void WidgetQuit::show() {
|
||||||
_surface.writeString(FIXED(WishToQuit), Common::Point((_surface.width() - _surface.stringWidth(FIXED(WishToQuit))) / 2,
|
_surface.writeString(FIXED(WishToQuit), Common::Point((_surface.width() - _surface.stringWidth(FIXED(WishToQuit))) / 2,
|
||||||
_surface.fontHeight() + 9), INFO_TOP);
|
_surface.fontHeight() + 9), INFO_TOP);
|
||||||
|
|
||||||
// Draw the horizontal bars seperating the commands and the message
|
// Draw the horizontal bars separating the commands and the message
|
||||||
int yp = (_surface.fontHeight() + 4) * 2 + 3;
|
int yp = (_surface.fontHeight() + 4) * 2 + 3;
|
||||||
for (int idx = 0; idx < 2; ++idx) {
|
for (int idx = 0; idx < 2; ++idx) {
|
||||||
_surface.SHtransBlitFrom(images[4], Common::Point(0, yp - 1));
|
_surface.SHtransBlitFrom(images[4], Common::Point(0, yp - 1));
|
||||||
|
|
|
@ -704,7 +704,7 @@ bool Intro::nextPart(uint16 *&data) {
|
||||||
return true;
|
return true;
|
||||||
case FADEUP:
|
case FADEUP:
|
||||||
_skyScreen->paletteFadeUp(*data++);
|
_skyScreen->paletteFadeUp(*data++);
|
||||||
_relDelay += 32 * 20; // hack: the screen uses a seperate delay function for the
|
_relDelay += 32 * 20; // hack: the screen uses a separate delay function for the
|
||||||
// blocking fadeups. So add 32*20 msecs to out delay counter.
|
// blocking fadeups. So add 32*20 msecs to out delay counter.
|
||||||
return true;
|
return true;
|
||||||
case FADEDOWN:
|
case FADEDOWN:
|
||||||
|
|
|
@ -825,7 +825,7 @@ builtIn(anim) {
|
||||||
// First store the frame numbers and take 'em off the stack
|
// First store the frame numbers and take 'em off the stack
|
||||||
PersonaAnimation *ba = new PersonaAnimation(numParams - 1, fun->stack);
|
PersonaAnimation *ba = new PersonaAnimation(numParams - 1, fun->stack);
|
||||||
|
|
||||||
// Only remaining paramter is the file number
|
// Only remaining parameter is the file number
|
||||||
int fileNumber;
|
int fileNumber;
|
||||||
if (!fun->stack->thisVar.getValueType(fileNumber, SVT_FILE))
|
if (!fun->stack->thisVar.getValueType(fileNumber, SVT_FILE))
|
||||||
return BR_ERROR;
|
return BR_ERROR;
|
||||||
|
|
|
@ -44,7 +44,7 @@ Movement *Movement::construct(uint32 type, Resources::ItemVisual *item) {
|
||||||
case kTypeTurn:
|
case kTypeTurn:
|
||||||
return new Turn(Resources::Object::cast<Resources::FloorPositionedItem>(item));
|
return new Turn(Resources::Object::cast<Resources::FloorPositionedItem>(item));
|
||||||
default:
|
default:
|
||||||
error("Unexepected movement type '%d'", type);
|
error("Unexpected movement type '%d'", type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1212,20 +1212,20 @@ bool GameManager1::genericInteract(Action verb, Object &obj1, Object &obj2) {
|
||||||
_vm->renderBox(91, 99, 138, 9, kColorDarkBlue);
|
_vm->renderBox(91, 99, 138, 9, kColorDarkBlue);
|
||||||
edit(input, 91, 100, 5);
|
edit(input, 91, 100, 5);
|
||||||
|
|
||||||
int seperator = -1;
|
int separator = -1;
|
||||||
for (uint i = 0; i < input.size(); ++i) {
|
for (uint i = 0; i < input.size(); ++i) {
|
||||||
if (input[i] == ':') {
|
if (input[i] == ':') {
|
||||||
seperator = i;
|
separator = i;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((seperator == -1) || (seperator > 2)) {
|
if ((separator == -1) || (separator > 2)) {
|
||||||
validInput = false;
|
validInput = false;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
int decimalPlace = 1;
|
int decimalPlace = 1;
|
||||||
for (int i = 0; i < seperator; ++i) {
|
for (int i = 0; i < separator; ++i) {
|
||||||
if (Common::isDigit(input[i])) {
|
if (Common::isDigit(input[i])) {
|
||||||
hours = hours * decimalPlace + (input[i] - '0');
|
hours = hours * decimalPlace + (input[i] - '0');
|
||||||
decimalPlace *= 10;
|
decimalPlace *= 10;
|
||||||
|
@ -1235,7 +1235,7 @@ bool GameManager1::genericInteract(Action verb, Object &obj1, Object &obj2) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
decimalPlace = 1;
|
decimalPlace = 1;
|
||||||
for (uint i = seperator + 1; i < input.size(); ++i) {
|
for (uint i = separator + 1; i < input.size(); ++i) {
|
||||||
if (Common::isDigit(input[i])) {
|
if (Common::isDigit(input[i])) {
|
||||||
minutes = minutes * decimalPlace + (input[i] - '0');
|
minutes = minutes * decimalPlace + (input[i] - '0');
|
||||||
decimalPlace *= 10;
|
decimalPlace *= 10;
|
||||||
|
|
|
@ -1552,19 +1552,19 @@ int Logic::fnGetPos(Object *cpt, int32 id, int32 targetId, int32 b, int32 c, int
|
||||||
}
|
}
|
||||||
_scriptVars[RETURN_VALUE_3] = target->o_dir;
|
_scriptVars[RETURN_VALUE_3] = target->o_dir;
|
||||||
|
|
||||||
int32 megaSeperation;
|
int32 megaSeparation;
|
||||||
if (targetId == DUANE)
|
if (targetId == DUANE)
|
||||||
megaSeperation = 70; // George & Duane stand with feet 70 pixels apart when at full scale
|
megaSeparation = 70; // George & Duane stand with feet 70 pixels apart when at full scale
|
||||||
else if (targetId == BENOIR)
|
else if (targetId == BENOIR)
|
||||||
megaSeperation = 61; // George & Benoir
|
megaSeparation = 61; // George & Benoir
|
||||||
else
|
else
|
||||||
megaSeperation = 42; // George & Nico/Goinfre stand with feet 42 pixels apart when at full scale
|
megaSeparation = 42; // George & Nico/Goinfre stand with feet 42 pixels apart when at full scale
|
||||||
|
|
||||||
if (target->o_status & STAT_SHRINK) {
|
if (target->o_status & STAT_SHRINK) {
|
||||||
int32 scale = (target->o_scale_a * target->o_ycoord + target->o_scale_b) / 256;
|
int32 scale = (target->o_scale_a * target->o_ycoord + target->o_scale_b) / 256;
|
||||||
_scriptVars[RETURN_VALUE_4] = (megaSeperation * scale) / 256;
|
_scriptVars[RETURN_VALUE_4] = (megaSeparation * scale) / 256;
|
||||||
} else
|
} else
|
||||||
_scriptVars[RETURN_VALUE_4] = megaSeperation;
|
_scriptVars[RETURN_VALUE_4] = megaSeparation;
|
||||||
return SCRIPT_CONT;
|
return SCRIPT_CONT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -68,7 +68,7 @@ public:
|
||||||
static Common::String getUserdataDirectory();
|
static Common::String getUserdataDirectory();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Returns the path seperator
|
* @return Returns the path separator
|
||||||
*/
|
*/
|
||||||
static Common::String getPathSeparator();
|
static Common::String getPathSeparator();
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
* In the package manager, note the following:
|
* In the package manager, note the following:
|
||||||
* 1. It creates a completely new (virtual) directory tree in the packages and directories
|
* 1. It creates a completely new (virtual) directory tree in the packages and directories
|
||||||
* can be mounted.
|
* can be mounted.
|
||||||
* 2. To seperate elements of a directory path '/' must be used rather than '\'
|
* 2. To separate elements of a directory path '/' must be used rather than '\'
|
||||||
* 3. LoadDirectoryAsPackage should only be used for testing. The final release will be
|
* 3. LoadDirectoryAsPackage should only be used for testing. The final release will be
|
||||||
* have all files in packages.
|
* have all files in packages.
|
||||||
*
|
*
|
||||||
|
@ -65,7 +65,7 @@ namespace Sword25 {
|
||||||
*
|
*
|
||||||
* 1. It creates a completely new (virtual) directory tree in the packages and directories
|
* 1. It creates a completely new (virtual) directory tree in the packages and directories
|
||||||
* can be mounted.
|
* can be mounted.
|
||||||
* 2. To seperate elements of a directory path '/' must be used rather than '\'
|
* 2. To separate elements of a directory path '/' must be used rather than '\'
|
||||||
* 3. LoadDirectoryAsPackage should only be used for testing. The final release will be
|
* 3. LoadDirectoryAsPackage should only be used for testing. The final release will be
|
||||||
* have all files in packages.
|
* have all files in packages.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -162,7 +162,7 @@ SCRIPTSTATE DoNextFrame(ANIM *pAnim) {
|
||||||
// pFunc is a function pointer that's part of a union and is assumed to be 32-bits.
|
// pFunc is a function pointer that's part of a union and is assumed to be 32-bits.
|
||||||
// There is no known place where a function pointer is stored inside the animation
|
// There is no known place where a function pointer is stored inside the animation
|
||||||
// scripts, something which wouldn't have worked anyway. Having played through the
|
// scripts, something which wouldn't have worked anyway. Having played through the
|
||||||
// entire game, there hasn't been any occurence of this case, so just error out here
|
// entire game, there hasn't been any occurrence of this case, so just error out here
|
||||||
// in case we missed something (highly unlikely though)
|
// in case we missed something (highly unlikely though)
|
||||||
error("ANI_CALL opcode encountered! Please report this error to the ScummVM team");
|
error("ANI_CALL opcode encountered! Please report this error to the ScummVM team");
|
||||||
//(*pAni[pAnim->scriptIndex].pFunc)(pAnim);
|
//(*pAni[pAnim->scriptIndex].pFunc)(pAnim);
|
||||||
|
|
|
@ -765,7 +765,7 @@ static void t3TransWNZ(DRAWOBJECT *pObj, uint8 *srcP, uint8 *destP) {
|
||||||
t3getRGB(dstColor, dstR, dstG, dstB);
|
t3getRGB(dstColor, dstR, dstG, dstB);
|
||||||
|
|
||||||
if ((pObj->colorFlags & 4) != 0) { // additive blending
|
if ((pObj->colorFlags & 4) != 0) { // additive blending
|
||||||
// orginal algo:
|
// original algo:
|
||||||
// color &= 0b1111011111011111;
|
// color &= 0b1111011111011111;
|
||||||
// color += dstColor & 0b1111011111011111;
|
// color += dstColor & 0b1111011111011111;
|
||||||
// if (color > 0xFFFF) {
|
// if (color > 0xFFFF) {
|
||||||
|
|
|
@ -49,17 +49,17 @@ void CMultiDropTarget::load(SimpleFile *file) {
|
||||||
bool CMultiDropTarget::DropObjectMsg(CDropObjectMsg *msg) {
|
bool CMultiDropTarget::DropObjectMsg(CDropObjectMsg *msg) {
|
||||||
CStringParser parser1(_dropFrames);
|
CStringParser parser1(_dropFrames);
|
||||||
CStringParser parser2(_dropNames);
|
CStringParser parser2(_dropNames);
|
||||||
CString seperatorChars = ",";
|
CString separatorChars = ",";
|
||||||
|
|
||||||
// WORKAROUND: The original didn't break out of loop if a drop target
|
// WORKAROUND: The original didn't break out of loop if a drop target
|
||||||
// succeeded, nor did it return the item to the inventory if incorrect
|
// succeeded, nor did it return the item to the inventory if incorrect
|
||||||
while (parser2.parse(_itemMatchName, seperatorChars)) {
|
while (parser2.parse(_itemMatchName, separatorChars)) {
|
||||||
_dropFrame = parser1.readInt();
|
_dropFrame = parser1.readInt();
|
||||||
if (CDropTarget::DropObjectMsg(msg))
|
if (CDropTarget::DropObjectMsg(msg))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
parser1.skipSeperators(seperatorChars);
|
parser1.skipSeparators(separatorChars);
|
||||||
parser2.skipSeperators(seperatorChars);
|
parser2.skipSeparators(separatorChars);
|
||||||
}
|
}
|
||||||
|
|
||||||
msg->_item->petAddToInventory();
|
msg->_item->petAddToInventory();
|
||||||
|
|
|
@ -25,15 +25,15 @@
|
||||||
|
|
||||||
namespace Titanic {
|
namespace Titanic {
|
||||||
|
|
||||||
void CStringParser::skipSeperators(const CString &seperatorChars) {
|
void CStringParser::skipSeparators(const CString &separatorChars) {
|
||||||
for (; _index < size(); ++_index) {
|
for (; _index < size(); ++_index) {
|
||||||
char c = (*this)[_index];
|
char c = (*this)[_index];
|
||||||
if (seperatorChars.indexOf(c) == -1)
|
if (separatorChars.indexOf(c) == -1)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CStringParser::parse(CString &resultStr, const CString &seperatorChars, bool allowQuotes) {
|
bool CStringParser::parse(CString &resultStr, const CString &separatorChars, bool allowQuotes) {
|
||||||
if (_index >= size())
|
if (_index >= size())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ bool CStringParser::parse(CString &resultStr, const CString &seperatorChars, boo
|
||||||
bool quoteFlag = false;
|
bool quoteFlag = false;
|
||||||
while (_index < size()) {
|
while (_index < size()) {
|
||||||
char c = (*this)[_index];
|
char c = (*this)[_index];
|
||||||
if (!quoteFlag && seperatorChars.indexOf(c) >= 0)
|
if (!quoteFlag && separatorChars.indexOf(c) >= 0)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (allowQuotes) {
|
if (allowQuotes) {
|
||||||
|
|
|
@ -50,19 +50,19 @@ public:
|
||||||
CStringParser(const CString &str) : CString(str), _index(0) {}
|
CStringParser(const CString &str) : CString(str), _index(0) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Skips over any specified seperator characters in our string
|
* Skips over any specified separator characters in our string
|
||||||
* at the current index
|
* at the current index
|
||||||
*/
|
*/
|
||||||
void skipSeperators(const CString &seperatorChars);
|
void skipSeparators(const CString &separatorChars);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parses out a string from a source string at the current index
|
* Parses out a string from a source string at the current index
|
||||||
* @param resultStr String to hold the resulting sring
|
* @param resultStr String to hold the resulting sring
|
||||||
* @param seperatorChras List of characters that seperate string values
|
* @param separatorChras List of characters that separate string values
|
||||||
* @param allowQuotes If true, handles double-quoted substrings
|
* @param allowQuotes If true, handles double-quoted substrings
|
||||||
* @returns True if a string entry was extracted
|
* @returns True if a string entry was extracted
|
||||||
*/
|
*/
|
||||||
bool parse(CString &resultStr, const CString &seperatorChars, bool allowQuotes = false);
|
bool parse(CString &resultStr, const CString &separatorChars, bool allowQuotes = false);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads an integer from the string
|
* Reads an integer from the string
|
||||||
|
|
|
@ -3485,7 +3485,7 @@ int TuckerEngine::executeTableInstruction() {
|
||||||
// Fixed: 61dw buw,148,125,wsm,buw,148,132,wsm,mof,pan,01,wat,050[...]
|
// Fixed: 61dw buw,148,125,wsm,buw,148,132,wsm,mof,pan,01,wat,050[...]
|
||||||
// ^^^^^^^^^^
|
// ^^^^^^^^^^
|
||||||
// To work around the issue in the problematic versions we inject these two
|
// To work around the issue in the problematic versions we inject these two
|
||||||
// instructions after the first occurence of the 'wsm' instruction (which
|
// instructions after the first occurrence of the 'wsm' instruction (which
|
||||||
// proves good enough).
|
// proves good enough).
|
||||||
if (_location == kLocationStoreRoom && _nextAction == 61) {
|
if (_location == kLocationStoreRoom && _nextAction == 61) {
|
||||||
setCursorState(kCursorStateDisabledHidden);
|
setCursorState(kCursorStateDisabledHidden);
|
||||||
|
|
|
@ -554,7 +554,7 @@ bool ConverseInterpret::op(stack<converse_typed_value> &i) {
|
||||||
// FIXME: probably need to do more real actor/object set-up here
|
// FIXME: probably need to do more real actor/object set-up here
|
||||||
cnpc = converse->actors->get_actor(npc_num(pop_arg(i)));
|
cnpc = converse->actors->get_actor(npc_num(pop_arg(i)));
|
||||||
cnpc_obj = cnpc->make_obj();
|
cnpc_obj = cnpc->make_obj();
|
||||||
cnpc_obj->frame_n = 0; // FIX for actors orginal direction.
|
cnpc_obj->frame_n = 0; // FIX for actors original direction.
|
||||||
cnpc_obj->obj_n = OBJ_U6_HORSE_WITH_RIDER; // mount up.
|
cnpc_obj->obj_n = OBJ_U6_HORSE_WITH_RIDER; // mount up.
|
||||||
cnpc->init_from_obj(cnpc_obj);
|
cnpc->init_from_obj(cnpc_obj);
|
||||||
delete_obj(cnpc_obj);
|
delete_obj(cnpc_obj);
|
||||||
|
|
|
@ -52,7 +52,7 @@ void EffectManager::delete_effect(Effect *eff) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add an (already existant) effect to the list.
|
/* Add an (already existent) effect to the list.
|
||||||
*/
|
*/
|
||||||
void EffectManager::add_effect(Effect *eff) {
|
void EffectManager::add_effect(Effect *eff) {
|
||||||
effects.push_back(eff);
|
effects.push_back(eff);
|
||||||
|
|
|
@ -421,7 +421,7 @@ public:
|
||||||
}
|
}
|
||||||
// These cursor methods are use to make sure Events knows where the cursor is
|
// These cursor methods are use to make sure Events knows where the cursor is
|
||||||
// when objects are selected with ENTER. (since MapWindow and InventoryView
|
// when objects are selected with ENTER. (since MapWindow and InventoryView
|
||||||
// may each independantly show/hide their own cursors)
|
// may each independently show/hide their own cursors)
|
||||||
void moveCursorToMapWindow(bool ToggleCursor = false);
|
void moveCursorToMapWindow(bool ToggleCursor = false);
|
||||||
void moveCursorToInventory();
|
void moveCursorToInventory();
|
||||||
|
|
||||||
|
|
|
@ -528,7 +528,7 @@ bool Party::has_obj(uint16 obj_n, uint8 quality, bool match_zero_qual) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Removes the first occurence of an object in the party.
|
// Removes the first occurrence of an object in the party.
|
||||||
bool Party::remove_obj(uint16 obj_n, uint8 quality) {
|
bool Party::remove_obj(uint16 obj_n, uint8 quality) {
|
||||||
uint16 i;
|
uint16 i;
|
||||||
Obj *obj;
|
Obj *obj;
|
||||||
|
|
|
@ -308,7 +308,7 @@ void Cu6mPlayer::command_5(int channel) {
|
||||||
|
|
||||||
|
|
||||||
// --------------------------------------------
|
// --------------------------------------------
|
||||||
// Set vibrato paramters
|
// Set vibrato parameters
|
||||||
// Format: 6c mn
|
// Format: 6c mn
|
||||||
// c = channel
|
// c = channel
|
||||||
// m = vibrato double amplitude
|
// m = vibrato double amplitude
|
||||||
|
|
|
@ -56,7 +56,7 @@ public:
|
||||||
void drawFrame();
|
void drawFrame();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Draw a frame around the viewport area of the screen, and a vertical seperator line
|
* Draw a frame around the viewport area of the screen, and a vertical separator line
|
||||||
* to the bottom of the screen to separate the status and info areas
|
* to the bottom of the screen to separate the status and info areas
|
||||||
*/
|
*/
|
||||||
void drawGameFrame();
|
void drawGameFrame();
|
||||||
|
|
|
@ -115,7 +115,7 @@ Common::String xu4_to_string(int val);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Splits a Common::String into substrings, divided by the charactars in
|
* Splits a Common::String into substrings, divided by the charactars in
|
||||||
* separators. Multiple adjacent seperators are treated as one.
|
* separators. Multiple adjacent separators are treated as one.
|
||||||
*/
|
*/
|
||||||
Std::vector<Common::String> split(const Common::String &s, const Common::String &separators);
|
Std::vector<Common::String> split(const Common::String &s, const Common::String &separators);
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue