mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-15 06:08:35 +00:00
AGS: Common: replaced couple of smart ptr arrays with std::vector
From upstream c1afae64fe348c64ee4a8c8888349ae267241395
This commit is contained in:
parent
26375b823b
commit
f58c4d9bdb
@ -182,7 +182,7 @@ int run_dialog_script(int dialogID, int offse, int optionIndex) {
|
|||||||
if (offse == -1)
|
if (offse == -1)
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
unsigned char *script = _G(old_dialog_scripts)[dialogID].get() + offse;
|
unsigned char *script = _G(old_dialog_scripts)[dialogID].data() + offse;
|
||||||
|
|
||||||
unsigned short param1 = 0;
|
unsigned short param1 = 0;
|
||||||
unsigned short param2 = 0;
|
unsigned short param2 = 0;
|
||||||
|
@ -535,7 +535,7 @@ public:
|
|||||||
int _said_text = 0;
|
int _said_text = 0;
|
||||||
int _longestline = 0;
|
int _longestline = 0;
|
||||||
// Old dialog support
|
// Old dialog support
|
||||||
std::vector< std::shared_ptr<unsigned char> > _old_dialog_scripts;
|
std::vector<std::vector<uint8_t>> _old_dialog_scripts;
|
||||||
std::vector<String> _old_speech_lines;
|
std::vector<String> _old_speech_lines;
|
||||||
|
|
||||||
/**@}*/
|
/**@}*/
|
||||||
|
@ -266,7 +266,7 @@ void ReadViews(GameSetupStruct &game, std::vector<ViewStruct> &views, Stream *in
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ReadDialogs(std::vector<DialogTopic> &dialog,
|
void ReadDialogs(std::vector<DialogTopic> &dialog,
|
||||||
std::vector< std::shared_ptr<unsigned char> > &old_dialog_scripts,
|
std::vector<std::vector<uint8_t>> &old_dialog_scripts,
|
||||||
std::vector<String> &old_dialog_src,
|
std::vector<String> &old_dialog_src,
|
||||||
std::vector<String> &old_speech_lines,
|
std::vector<String> &old_speech_lines,
|
||||||
Stream *in, GameDataVersion data_ver, int dlg_count) {
|
Stream *in, GameDataVersion data_ver, int dlg_count) {
|
||||||
@ -282,8 +282,8 @@ void ReadDialogs(std::vector<DialogTopic> &dialog,
|
|||||||
old_dialog_src.resize(dlg_count);
|
old_dialog_src.resize(dlg_count);
|
||||||
for (int i = 0; i < dlg_count; ++i) {
|
for (int i = 0; i < dlg_count; ++i) {
|
||||||
// NOTE: originally this was read into dialog[i].optionscripts
|
// NOTE: originally this was read into dialog[i].optionscripts
|
||||||
old_dialog_scripts[i].reset(Common::SharedPtr<unsigned char>(new unsigned char[dialog[i].codesize], Common::ArrayDeleter<unsigned char>()));
|
old_dialog_scripts[i].resize(dialog[i].codesize);
|
||||||
in->Read(old_dialog_scripts[i].get(), dialog[i].codesize);
|
in->Read(old_dialog_scripts[i].data(), dialog[i].codesize);
|
||||||
|
|
||||||
// Encrypted text script
|
// Encrypted text script
|
||||||
int script_text_len = in->ReadInt32();
|
int script_text_len = in->ReadInt32();
|
||||||
@ -685,10 +685,8 @@ HGameFileError ReadSpriteFlags(LoadedGameEntities &ents, Stream *in, GameDataVer
|
|||||||
return new MainGameFileError(kMGFErr_TooManySprites, String::FromFormat("Count: %zu, max: %zu", sprcount, (size_t)SpriteCache::MAX_SPRITE_INDEX + 1));
|
return new MainGameFileError(kMGFErr_TooManySprites, String::FromFormat("Count: %zu, max: %zu", sprcount, (size_t)SpriteCache::MAX_SPRITE_INDEX + 1));
|
||||||
|
|
||||||
ents.SpriteCount = sprcount;
|
ents.SpriteCount = sprcount;
|
||||||
ents.SpriteFlags.clear();
|
|
||||||
ents.SpriteFlags.resize(sprcount);
|
ents.SpriteFlags.resize(sprcount);
|
||||||
|
in->Read(ents.SpriteFlags.data(), sprcount);
|
||||||
in->Read(&ents.SpriteFlags[0], sprcount);
|
|
||||||
return HGameFileError::None();
|
return HGameFileError::None();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,12 +120,12 @@ struct LoadedGameEntities {
|
|||||||
|
|
||||||
// Original sprite data (when it was read into const-sized arrays)
|
// Original sprite data (when it was read into const-sized arrays)
|
||||||
size_t SpriteCount;
|
size_t SpriteCount;
|
||||||
Common::Array<byte> SpriteFlags;
|
std::vector<uint8_t> SpriteFlags; // SPF_* flags
|
||||||
|
|
||||||
// Old dialog support
|
// Old dialog support
|
||||||
// legacy compiled dialog script of its own format,
|
// legacy compiled dialog script of its own format,
|
||||||
// requires separate interpreting
|
// requires separate interpreting
|
||||||
std::vector< std::shared_ptr<unsigned char> > OldDialogScripts;
|
std::vector<std::vector<uint8_t>> OldDialogScripts;
|
||||||
// probably, actual dialog script sources kept within some older games
|
// probably, actual dialog script sources kept within some older games
|
||||||
std::vector<String> OldDialogSources;
|
std::vector<String> OldDialogSources;
|
||||||
// speech texts displayed during dialog
|
// speech texts displayed during dialog
|
||||||
|
Loading…
Reference in New Issue
Block a user