diff options
Diffstat (limited to 'engines/bladerunner/script')
-rw-r--r-- | engines/bladerunner/script/script.cpp | 53 | ||||
-rw-r--r-- | engines/bladerunner/script/script.h | 20 |
2 files changed, 31 insertions, 42 deletions
diff --git a/engines/bladerunner/script/script.cpp b/engines/bladerunner/script/script.cpp index 180e8cb96e..8c6afc6b16 100644 --- a/engines/bladerunner/script/script.cpp +++ b/engines/bladerunner/script/script.cpp @@ -30,7 +30,7 @@ #include "bladerunner/ambient_sounds.h" #include "bladerunner/audio_player.h" #include "bladerunner/audio_speech.h" -#include "bladerunner/clues.h" +#include "bladerunner/crimes_database.h" #include "bladerunner/combat.h" #include "bladerunner/gameflags.h" #include "bladerunner/gameinfo.h" @@ -1122,62 +1122,51 @@ void ScriptBase::Police_Maze_Set_Pause_State(int a1) { } void ScriptBase::CDB_Set_Crime(int crimeId, int value) { - //TODO - warning("CDB_Set_Crime(%d, %d)", crimeId, value); + _vm->_crimesDatabase->setCrime(crimeId, value); } void ScriptBase::CDB_Set_Clue_Asset_Type(int assetId, int type) { - //TODO - warning("CDB_Set_Clue_Asset_Type(%d, %d)", assetId, type); + _vm->_crimesDatabase->setAssetType(assetId, type); } -void ScriptBase::SDB_Set_Actor(int actorId, int a2) { - //TODO - warning("SDB_Set_Actor(%d, %d)", actorId, a2); +void ScriptBase::SDB_Set_Actor(int suspectId, int actorId) { + _vm->_suspectsDatabase->get(suspectId)->setActor(actorId); } -void ScriptBase::SDB_Add_Photo_Clue(int actorId, int a2, int a3) { - //TODO - warning("SDB_Add_Photo_Clue(%d, %d, %d)", actorId, a2, a3); +bool ScriptBase::SDB_Add_Photo_Clue(int suspectId, int a2, int a3) { + return _vm->_suspectsDatabase->get(suspectId)->addPhotoClue(a2, a3); } void ScriptBase::SDB_Set_Name(int actorId) { // not implemented in game } -void ScriptBase::SDB_Set_Sex(int actorId, int a2) { - //TODO - warning("SDB_Set_Sex(%d, %d)", actorId, a2); +void ScriptBase::SDB_Set_Sex(int suspectId, int sex) { + _vm->_suspectsDatabase->get(suspectId)->setSex(sex); } -void ScriptBase::SDB_Add_Identity_Clue(int actorId, int a2) { - //TODO - warning("SDB_Add_Identity_Clue(%d, %d)", actorId, a2); +bool ScriptBase::SDB_Add_Identity_Clue(int suspectId, int clueId) { + return _vm->_suspectsDatabase->get(suspectId)->addIdentityClue(clueId); } -void ScriptBase::SDB_Add_MO_Clue(int actorId, int a2) { - //TODO - warning("SDB_Add_MO_Clue(%d, %d)", actorId, a2); +bool ScriptBase::SDB_Add_MO_Clue(int suspectId, int clueId) { + return _vm->_suspectsDatabase->get(suspectId)->addMOClue(clueId); } -void ScriptBase::SDB_Add_Whereabouts_Clue(int actorId, int a2) { - //TODO - warning("SDB_Add_Whereabouts_Clue(%d, %d)", actorId, a2); +bool ScriptBase::SDB_Add_Whereabouts_Clue(int suspectId, int clueId) { + return _vm->_suspectsDatabase->get(suspectId)->addWhereaboutsClue(clueId); } -void ScriptBase::SDB_Add_Replicant_Clue(int actorId, int a2) { - //TODO - warning("SDB_Add_Replicant_Clue(%d, %d)", actorId, a2); +bool ScriptBase::SDB_Add_Replicant_Clue(int suspectId, int clueId) { + return _vm->_suspectsDatabase->get(suspectId)->addReplicantClue(clueId); } -void ScriptBase::SDB_Add_Non_Replicant_Clue(int actorId, int a2) { - //TODO - warning("SDB_Add_Non_Replicant_Clue(%d, %d)", actorId, a2); +bool ScriptBase::SDB_Add_Non_Replicant_Clue(int suspectId, int clueId) { + return _vm->_suspectsDatabase->get(suspectId)->addNonReplicantClue(clueId); } -void ScriptBase::SDB_Add_Other_Clue(int actorId, int a2) { - //TODO - warning("SDB_Add_Other_Clue(%d, %d)", actorId, a2); +bool ScriptBase::SDB_Add_Other_Clue(int suspectId, int clueId) { + return _vm->_suspectsDatabase->get(suspectId)->addOtherClue(clueId); } void ScriptBase::Spinner_Set_Selectable_Destination_Flag(int a1, int a2) { diff --git a/engines/bladerunner/script/script.h b/engines/bladerunner/script/script.h index fb38fdaf91..5966b67868 100644 --- a/engines/bladerunner/script/script.h +++ b/engines/bladerunner/script/script.h @@ -213,16 +213,16 @@ protected: void Police_Maze_Set_Pause_State(int a1); void CDB_Set_Crime(int crimeId, int value); void CDB_Set_Clue_Asset_Type(int assetId, int type); - void SDB_Set_Actor(int actorId, int a2); - void SDB_Add_Photo_Clue(int actorId, int a2, int a3); - void SDB_Set_Name(int actorId); - void SDB_Set_Sex(int actorId, int a2); - void SDB_Add_Identity_Clue(int actorId, int a2); - void SDB_Add_MO_Clue(int actorId, int a2); - void SDB_Add_Whereabouts_Clue(int actorId, int a2); - void SDB_Add_Replicant_Clue(int actorId, int a2); - void SDB_Add_Non_Replicant_Clue(int actorId, int a2); - void SDB_Add_Other_Clue(int actorId, int a2); + void SDB_Set_Actor(int suspectId, int actorId); + bool SDB_Add_Photo_Clue(int suspectId, int a2, int a3); + void SDB_Set_Name(int suspectId); + void SDB_Set_Sex(int suspectId, int sex); + bool SDB_Add_Identity_Clue(int suspectId, int clueId); + bool SDB_Add_MO_Clue(int suspectId, int clueId); + bool SDB_Add_Whereabouts_Clue(int suspectId, int clueId); + bool SDB_Add_Replicant_Clue(int suspectId, int clueId); + bool SDB_Add_Non_Replicant_Clue(int suspectId, int clueId); + bool SDB_Add_Other_Clue(int suspectId, int clueId); void Spinner_Set_Selectable_Destination_Flag(int a1, int a2); // Spinner_Query_Selectable_Destination_Flag int Spinner_Interface_Choose_Dest(int a1, int a2); |