Added Flow.GetTotalSecretCount()

This commit is contained in:
Lwmte 2025-03-09 19:14:39 +01:00
parent cb73477b90
commit f87d592ce6
5 changed files with 50 additions and 11 deletions

View file

@ -39,6 +39,7 @@ TombEngine releases are located in this repository (alongside with Tomb Editor):
* Added diary module.
* Added custom bar module.
* Added Flow.Horizon class with and use two layers of horizons in a Flow.Level class.
* Added Flow.GetTotalSecretCount() function to get total amount of secrets in the game.
* Added View.GetFlyByPosition() and View.GetFlyByRotation() functions to get flyby sequence parameters at a specified time point.
* Added Effects.EmitAirBubble() function to spawn air bubbles.
* Added Effects.EmitStreamer() function to emit streamers.

View file

@ -227,8 +227,12 @@ scripts too.</p>
<td class="summary">Adds one secret to current level secret count and also plays secret music track.</td>
</tr>
<tr>
<td class="name" ><a href="#SetTotalSecretCount">SetTotalSecretCount(total)</a></td>
<td class="summary">Total number of secrets in game.</td>
<td class="name" ><a href="#GetTotalSecretCount">GetTotalSecretCount()</a></td>
<td class="summary">Get total number of secrets in the game.</td>
</tr>
<tr>
<td class="name" ><a href="#SetTotalSecretCount">SetTotalSecretCount(count)</a></td>
<td class="summary">Set total number of secrets in the game.</td>
</tr>
<tr>
<td class="name" ><a href="#FlipMap">FlipMap(flipmap)</a></td>
@ -876,20 +880,41 @@ The index argument corresponds to the secret's unique ID, the same that would go
</dd>
<dt>
<a name = "SetTotalSecretCount"></a>
<strong>SetTotalSecretCount(total)</strong>
<a name = "GetTotalSecretCount"></a>
<strong>GetTotalSecretCount()</strong>
</dt>
<dd>
Total number of secrets in game.
Get total number of secrets in the game.
<h3>Returns:</h3>
<ol>
<span class="types"><span class="type">int</span></span>
Total number of secrets in the game.
</ol>
</dd>
<dt>
<a name = "SetTotalSecretCount"></a>
<strong>SetTotalSecretCount(count)</strong>
</dt>
<dd>
Set total number of secrets in the game.
Must be an integer value (0 means no secrets).
<h3>Parameters:</h3>
<ul>
<li><span class="parameter">total</span>
<li><span class="parameter">count</span>
<span class="types"><span class="type">int</span></span>
number of secrets
Total number of secrets in the game.
</li>
</ul>
@ -911,7 +936,7 @@ Must be an integer value (0 means no secrets).
<ul>
<li><span class="parameter">flipmap</span>
<span class="types"><span class="type">int</span></span>
(ID of flipmap group to actuvate / deactivate)
ID of flipmap group to actuvate / deactivate.
</li>
</ul>

View file

@ -237,6 +237,7 @@ static constexpr char ScriptReserved_DeleteSaveGame[] = "DeleteSaveGame";
static constexpr char ScriptReserved_DoesSaveGameExist[] = "DoesSaveGameExist";
static constexpr char ScriptReserved_GetSecretCount[] = "GetSecretCount";
static constexpr char ScriptReserved_SetSecretCount[] = "SetSecretCount";
static constexpr char ScriptReserved_GetTotalSecretCount[] = "GetTotalSecretCount";
static constexpr char ScriptReserved_SetTotalSecretCount[] = "SetTotalSecretCount";
static constexpr char ScriptReserved_AddSecret[] = "AddSecret";
static constexpr char ScriptReserved_EnableFlyCheat[] = "EnableFlyCheat";

View file

@ -240,16 +240,22 @@ The index argument corresponds to the secret's unique ID, the same that would go
*/
tableFlow.set_function(ScriptReserved_AddSecret, &FlowHandler::AddSecret, this);
/*** Total number of secrets in game.
/*** Get total number of secrets in the game.
@function GetTotalSecretCount
@treturn int Total number of secrets in the game.
*/
tableFlow.set_function(ScriptReserved_GetTotalSecretCount, &FlowHandler::GetTotalSecretCount, this);
/*** Set total number of secrets in the game.
Must be an integer value (0 means no secrets).
@function SetTotalSecretCount
@tparam int total number of secrets
@tparam int count Total number of secrets in the game.
*/
tableFlow.set_function(ScriptReserved_SetTotalSecretCount, &FlowHandler::SetTotalSecretCount, this);
/*** Do FlipMap with specific group ID.
@function FlipMap
@tparam int flipmap (ID of flipmap group to actuvate / deactivate)
@tparam int flipmap ID of flipmap group to actuvate / deactivate.
*/
tableFlow.set_function(ScriptReserved_FlipMap, &FlowHandler::FlipMap, this);
@ -406,6 +412,11 @@ void FlowHandler::SetTitleScreenImagePath(const std::string& path)
TitleScreenImagePath = path;
}
int FlowHandler::GetTotalSecretCount()
{
return TotalNumberOfSecrets;
}
void FlowHandler::SetTotalSecretCount(int secretsNumber)
{
TotalNumberOfSecrets = secretsNumber;

View file

@ -70,6 +70,7 @@ public:
void AddSecret(int levelSecretIndex);
void SetIntroImagePath(const std::string& path);
void SetTitleScreenImagePath(const std::string& path);
int GetTotalSecretCount();
void SetTotalSecretCount(int secretsNumber);
bool IsFlyCheatEnabled() const;
void EnableFlyCheat(bool enable);