mirror of
https://github.com/libretro/scummvm.git
synced 2025-01-07 18:31:37 +00:00
MADS: Phantom: Implement generic scene 5xx
This commit is contained in:
parent
9ef395524e
commit
75ee599cbb
@ -12,6 +12,7 @@ MODULE_OBJS := \
|
||||
phantom/phantom_scenes2.o \
|
||||
phantom/phantom_scenes3.o \
|
||||
phantom/phantom_scenes4.o \
|
||||
phantom/phantom_scenes5.o \
|
||||
nebular/dialogs_nebular.o \
|
||||
nebular/game_nebular.o \
|
||||
nebular/globals_nebular.o \
|
||||
|
@ -32,6 +32,7 @@
|
||||
#include "mads/phantom/phantom_scenes2.h"
|
||||
#include "mads/phantom/phantom_scenes3.h"
|
||||
#include "mads/phantom/phantom_scenes4.h"
|
||||
#include "mads/phantom/phantom_scenes5.h"
|
||||
|
||||
namespace MADS {
|
||||
|
||||
|
66
engines/mads/phantom/phantom_scenes5.cpp
Normal file
66
engines/mads/phantom/phantom_scenes5.cpp
Normal file
@ -0,0 +1,66 @@
|
||||
/* ScummVM - Graphic Adventure Engine
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
* file distributed with this source distribution.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "common/scummsys.h"
|
||||
#include "mads/mads.h"
|
||||
#include "mads/conversations.h"
|
||||
#include "mads/scene.h"
|
||||
#include "mads/phantom/phantom_scenes.h"
|
||||
#include "mads/phantom/phantom_scenes5.h"
|
||||
|
||||
namespace MADS {
|
||||
|
||||
namespace Phantom {
|
||||
|
||||
void Scene5xx::setAAName() {
|
||||
_game._aaName = Resources::formatAAName(1);
|
||||
_vm->_palette->setEntry(254, 43, 47, 51);
|
||||
}
|
||||
|
||||
void Scene5xx::sceneEntrySound() {
|
||||
if (!_vm->_musicFlag)
|
||||
return;
|
||||
|
||||
if ((_globals[kCoffinStatus] == 2) && !_game._visitedScenes.exists(506) && (_globals[kFightStatus] == 0) && (_scene->_currentSceneId == 504))
|
||||
_vm->_sound->command(33);
|
||||
else if (_scene->_currentSceneId == 505)
|
||||
_vm->_sound->command((_vm->_gameConv->_restoreRunning == 20) ? 39 : 16);
|
||||
else
|
||||
_vm->_sound->command(16);
|
||||
}
|
||||
|
||||
void Scene5xx::setPlayerSpritesPrefix() {
|
||||
_vm->_sound->command(5);
|
||||
|
||||
Common::String oldName = _game._player._spritesPrefix;
|
||||
if (!_game._player._forcePrefix)
|
||||
_game._player._spritesPrefix = "RAL";
|
||||
if (oldName != _game._player._spritesPrefix)
|
||||
_game._player._spritesChanged = true;
|
||||
|
||||
_game._player._scalingVelocity = true;
|
||||
}
|
||||
|
||||
/*------------------------------------------------------------------------*/
|
||||
|
||||
} // End of namespace Phantom
|
||||
} // End of namespace MADS
|
59
engines/mads/phantom/phantom_scenes5.h
Normal file
59
engines/mads/phantom/phantom_scenes5.h
Normal file
@ -0,0 +1,59 @@
|
||||
/* ScummVM - Graphic Adventure Engine
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
* file distributed with this source distribution.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef MADS_PHANTOM_SCENES5_H
|
||||
#define MADS_PHANTOM_SCENES5_H
|
||||
|
||||
#include "common/scummsys.h"
|
||||
#include "common/serializer.h"
|
||||
#include "mads/game.h"
|
||||
#include "mads/scene.h"
|
||||
#include "mads/phantom/phantom_scenes.h"
|
||||
|
||||
namespace MADS {
|
||||
|
||||
namespace Phantom {
|
||||
|
||||
class Scene5xx : public PhantomScene {
|
||||
protected:
|
||||
/**
|
||||
* Plays an appropriate sound when entering a scene
|
||||
*/
|
||||
void sceneEntrySound();
|
||||
|
||||
/**
|
||||
*Sets the AA file to use for the scene
|
||||
*/
|
||||
void setAAName();
|
||||
|
||||
/**
|
||||
* Updates the prefix used for getting player sprites for the scene
|
||||
*/
|
||||
void setPlayerSpritesPrefix();
|
||||
public:
|
||||
Scene5xx(MADSEngine *vm) : PhantomScene(vm) { _game._player._scalingVelocity = true; }
|
||||
};
|
||||
|
||||
} // End of namespace Phantom
|
||||
} // End of namespace MADS
|
||||
|
||||
#endif /* MADS_PHANTOM_SCENES5_H */
|
Loading…
Reference in New Issue
Block a user