fixing windows warnings/errors
Some checks failed
Build / Build Game (push) Has been cancelled

This commit is contained in:
2026-02-28 22:09:09 -05:00
parent d749508c1c
commit 04765ad058
7 changed files with 58 additions and 50 deletions

View File

@@ -253,21 +253,21 @@ namespace game
glBindRenderbuffer(GL_RENDERBUFFER, rbo); glBindRenderbuffer(GL_RENDERBUFFER, rbo);
} }
void Canvas::size_set(ivec2 size) void Canvas::size_set(ivec2 newSize)
{ {
if ((flags & DEFAULT) == 0 && (size.x != this->size.x || size.y != this->size.y)) if ((flags & DEFAULT) == 0 && (newSize.x != this->size.x || newSize.y != this->size.y))
{ {
glBindTexture(GL_TEXTURE_2D, texture); glBindTexture(GL_TEXTURE_2D, texture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, size.x, size.y, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, newSize.x, newSize.y, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr);
glBindTexture(GL_TEXTURE_2D, 0); glBindTexture(GL_TEXTURE_2D, 0);
glBindRenderbuffer(GL_RENDERBUFFER, rbo); glBindRenderbuffer(GL_RENDERBUFFER, rbo);
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, size.x, size.y); glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, newSize.x, newSize.y);
glBindRenderbuffer(GL_RENDERBUFFER, 0); glBindRenderbuffer(GL_RENDERBUFFER, 0);
} }
this->size = size; this->size = newSize;
glViewport(0, 0, size.x, size.y); glViewport(0, 0, newSize.x, newSize.y);
} }
void Canvas::clear(vec4 color) void Canvas::clear(vec4 color)

View File

@@ -31,14 +31,15 @@ namespace game::entity
Actor& Actor::operator=(const Actor&) = default; Actor& Actor::operator=(const Actor&) = default;
Actor& Actor::operator=(Actor&&) noexcept = default; Actor& Actor::operator=(Actor&&) noexcept = default;
Actor::Actor(Anm2 _anm2, vec2 _position, Mode mode, float time, int animationIndex) : Anm2(_anm2), position(_position) Actor::Actor(Anm2 _anm2, vec2 _position, Mode playMode, float startAtTime, int startAnimationIndex)
: Anm2(_anm2), position(_position)
{ {
this->mode = mode; this->mode = playMode;
this->startTime = time; this->startTime = startAtTime;
if (animationIndex != -1) if (startAnimationIndex != -1)
play(animationIndex, mode, time); play(startAnimationIndex, playMode, startAtTime);
else else
play_default_animation(mode, time); play_default_animation(playMode, startAtTime);
} }
Anm2::Animation* Actor::animation_get(int index) Anm2::Animation* Actor::animation_get(int index)
@@ -68,10 +69,10 @@ namespace game::entity
return -1; return -1;
} }
Anm2::Item* Actor::item_get(Anm2::Type type, int id, int animationIndex) Anm2::Item* Actor::item_get(Anm2::Type type, int id, int checkAnimationIndex)
{ {
if (animationIndex == -1) animationIndex = this->animationIndex; if (checkAnimationIndex == -1) checkAnimationIndex = this->animationIndex;
if (auto animation = animation_get(animationIndex)) if (auto animation = animation_get(checkAnimationIndex))
{ {
switch (type) switch (type)
{ {
@@ -103,14 +104,14 @@ namespace game::entity
return duration; return duration;
} }
Anm2::Frame Actor::frame_generate(Anm2::Item& item, float time, Anm2::Type type, int id) Anm2::Frame Actor::frame_generate(Anm2::Item& item, float frameTime, Anm2::Type type, int id)
{ {
Anm2::Frame frame{}; Anm2::Frame frame{};
frame.isVisible = false; frame.isVisible = false;
if (item.frames.empty()) return frame; if (item.frames.empty()) return frame;
time = time < 0.0f ? 0.0f : time; frameTime = frameTime < 0.0f ? 0.0f : frameTime;
Anm2::Frame* frameNext = nullptr; Anm2::Frame* frameNext = nullptr;
Anm2::Frame frameNextCopy{}; Anm2::Frame frameNextCopy{};
@@ -125,7 +126,7 @@ namespace game::entity
durationNext += frame.duration; durationNext += frame.duration;
if (time >= durationCurrent && time < durationNext) if (frameTime >= durationCurrent && frameTime < durationNext)
{ {
if (i + 1 < (int)item.frames.size()) if (i + 1 < (int)item.frames.size())
{ {
@@ -177,7 +178,7 @@ namespace game::entity
if (frame.isInterpolated && frameNext && frame.duration > 1) if (frame.isInterpolated && frameNext && frame.duration > 1)
{ {
auto interpolation = (time - durationCurrent) / (durationNext - durationCurrent); auto interpolation = (frameTime - durationCurrent) / (durationNext - durationCurrent);
frame.rotation = glm::mix(frame.rotation, frameNextCopy.rotation, interpolation); frame.rotation = glm::mix(frame.rotation, frameNextCopy.rotation, interpolation);
frame.position = glm::mix(frame.position, frameNextCopy.position, interpolation); frame.position = glm::mix(frame.position, frameNextCopy.position, interpolation);
@@ -189,34 +190,34 @@ namespace game::entity
return frame; return frame;
} }
void Actor::play(int index, Mode mode, float time, float speedMultiplier) void Actor::play(int index, Mode playMode, float startAtTime, float speedMultiplierValue)
{ {
if (!vector::in_bounds(animations, index)) return; if (!vector::in_bounds(animations, index)) return;
if (mode != PLAY_FORCE && index == animationIndex) return; if (playMode != PLAY_FORCE && index == animationIndex) return;
this->playedEventID = -1; this->playedEventID = -1;
this->playedTriggers.clear(); this->playedTriggers.clear();
this->speedMultiplier = speedMultiplier; this->speedMultiplier = speedMultiplierValue;
this->animationIndex = index; this->animationIndex = index;
this->time = time; this->time = startAtTime;
if (mode == PLAY) state = PLAYING; if (playMode == PLAY) state = PLAYING;
} }
void Actor::queue_play(QueuedPlay newQueuedPlay) { queuedPlay = newQueuedPlay; } void Actor::queue_play(QueuedPlay newQueuedPlay) { queuedPlay = newQueuedPlay; }
void Actor::queue_default_animation() { queue_play({defaultAnimation}); } void Actor::queue_default_animation() { queue_play({defaultAnimation}); }
void Actor::play(const std::string& name, Mode mode, float time, float speedMultiplier) void Actor::play(const std::string& name, Mode playMode, float startAtTime, float speedMultiplierValue)
{ {
if (animationMap.contains(name)) if (animationMap.contains(name))
play(animationMap.at(name), mode, time, speedMultiplier); play(animationMap.at(name), playMode, startAtTime, speedMultiplierValue);
else else
logger.error(std::string("Animation \"" + name + "\" does not exist! Unable to play!")); logger.error(std::string("Animation \"" + name + "\" does not exist! Unable to play!"));
} }
void Actor::play_default_animation(Mode mode, float time, float speedMultiplier) void Actor::play_default_animation(Mode playMode, float startAtTime, float speedMultiplierValue)
{ {
play(defaultAnimationID, mode, time, speedMultiplier); play(defaultAnimationID, playMode, startAtTime, speedMultiplierValue);
} }
void Actor::tick() void Actor::tick()
@@ -256,7 +257,7 @@ namespace game::entity
{ {
if (!playedTriggers.contains(trigger.atFrame) && time >= trigger.atFrame) if (!playedTriggers.contains(trigger.atFrame) && time >= trigger.atFrame)
{ {
auto id = trigger.soundIDs[(int)math::random_max(trigger.soundIDs.size())]; auto id = trigger.soundIDs[(int)math::random_max((float)trigger.soundIDs.size())];
if (auto sound = map::find(sounds, id)) sound->audio.play(); if (auto sound = map::find(sounds, id)) sound->audio.play();
playedTriggers.insert((int)trigger.atFrame); playedTriggers.insert((int)trigger.atFrame);
playedEventID = trigger.eventID; playedEventID = trigger.eventID;
@@ -276,7 +277,7 @@ namespace game::entity
playedTriggers.clear(); playedTriggers.clear();
} }
for (int i = 0; i < (int)overrides.size(); i++) for (int i = 0; i < (int)overrides.size();)
{ {
auto& override_ = overrides[i]; auto& override_ = overrides[i];
@@ -285,8 +286,13 @@ namespace game::entity
if (override_.time.has_value()) if (override_.time.has_value())
{ {
*override_.time -= 1.0f; *override_.time -= 1.0f;
if (*override_.time <= 0.0f) overrides.erase(overrides.begin() + i++); if (*override_.time <= 0.0f)
{
overrides.erase(overrides.begin() + i);
continue;
}
} }
i++;
} }
} }

View File

@@ -77,7 +77,7 @@ namespace game::entity
float Character::weight_get(measurement::System system) float Character::weight_get(measurement::System system)
{ {
return system == measurement::IMPERIAL ? weight * measurement::KG_TO_LB : weight; return system == measurement::IMPERIAL ? weight * (float)measurement::KG_TO_LB : weight;
} }
int Character::stage_from_weight_get(float checkWeight) const int Character::stage_from_weight_get(float checkWeight) const
@@ -93,25 +93,25 @@ namespace game::entity
int Character::stage_get() const { return stage_from_weight_get(weight); } int Character::stage_get() const { return stage_from_weight_get(weight); }
int Character::stage_max_get() const { return data.stages.size(); } int Character::stage_max_get() const { return (int)data.stages.size(); }
float Character::stage_threshold_get(int stage, measurement::System system) const float Character::stage_threshold_get(int stageIndex, measurement::System system) const
{ {
if (stage == -1) stage = this->stage; if (stageIndex == -1) stageIndex = this->stage;
float threshold = data.weight; float threshold = data.weight;
if (!data.stages.empty()) if (!data.stages.empty())
{ {
if (stage <= 0) if (stageIndex <= 0)
threshold = data.weight; threshold = data.weight;
else if (stage >= stage_max_get()) else if (stageIndex >= stage_max_get())
threshold = data.stages.back().threshold; threshold = data.stages.back().threshold;
else else
threshold = data.stages[stage - 1].threshold; threshold = data.stages[stageIndex - 1].threshold;
} }
return system == measurement::IMPERIAL ? threshold * measurement::KG_TO_LB : threshold; return system == measurement::IMPERIAL ? threshold * (float)measurement::KG_TO_LB : threshold;
} }
float Character::stage_threshold_next_get(measurement::System system) const float Character::stage_threshold_next_get(measurement::System system) const
@@ -139,9 +139,9 @@ namespace game::entity
float Character::capacity_percent_get() const { return calories / max_capacity(); } float Character::capacity_percent_get() const { return calories / max_capacity(); }
std::string Character::animation_name_convert(const std::string& name) { return std::format("{}{}", name, stage); } std::string Character::animation_name_convert(const std::string& name) { return std::format("{}{}", name, stage); }
void Character::play_convert(const std::string& animation, Mode mode, float time, float speedMultiplier) void Character::play_convert(const std::string& animation, Mode playMode, float startAtTime, float speedMultiplierValue)
{ {
play(animation_name_convert(animation), mode, time, speedMultiplier); play(animation_name_convert(animation), playMode, startAtTime, speedMultiplierValue);
} }
void Character::expand_areas_apply() void Character::expand_areas_apply()

View File

@@ -88,7 +88,7 @@ namespace game::resource::xml
Texture texture{}; Texture texture{};
Audio sound{}; Audio sound{};
int id{-1}; int id{-1};
float chanceOnNewGame{0.001}; float chanceOnNewGame{0.001f};
}; };
Anm2 anm2{}; Anm2 anm2{};

View File

@@ -34,14 +34,14 @@ namespace game::resource::xml
Sounds sounds{}; Sounds sounds{};
std::vector<Grade> grades{}; std::vector<Grade> grades{};
float rewardScoreBonus{0.01}; float rewardScoreBonus{0.01f};
float rewardGradeBonus{0.05}; float rewardGradeBonus{0.05f};
float speedMin{0.005}; float speedMin{0.005f};
float speedMax{0.075}; float speedMax{0.075f};
float speedScoreBonus{0.000025f}; float speedScoreBonus{0.000025f};
float rangeBase{0.75}; float rangeBase{0.75f};
float rangeMin{0.10}; float rangeMin{0.10f};
float rangeScoreBonus{0.0005}; float rangeScoreBonus{0.0005f};
int endTimerMax{20}; int endTimerMax{20};
int endTimerFailureMax{60}; int endTimerFailureMax{60};
int rewardScore{999}; int rewardScore{999};

View File

@@ -16,7 +16,7 @@ namespace game::util::imgui
ImVec2 size_without_footer_get(int = 1); ImVec2 size_without_footer_get(int = 1);
inline ImVec2 to_imvec2(vec2 value) { return ImVec2(value.x, value.y); } inline ImVec2 to_imvec2(vec2 value) { return ImVec2(value.x, value.y); }
inline ImVec2 to_imvec2(ivec2 value) { return ImVec2(value.x, value.y); } inline ImVec2 to_imvec2(ivec2 value) { return ImVec2((float)value.x, (float)value.y); }
inline vec2 to_vec2(ImVec2 value) { return vec2(value.x, value.y); } inline vec2 to_vec2(ImVec2 value) { return vec2(value.x, value.y); }
inline ivec2 to_ivec2(ImVec2 value) { return ivec2(value.x, value.y); } inline ivec2 to_ivec2(ImVec2 value) { return ivec2(value.x, value.y); }

View File

@@ -1,5 +1,7 @@
#pragma once #pragma once
#include <array>
#include "glm/ext/matrix_float4x4.hpp" #include "glm/ext/matrix_float4x4.hpp"
#include "glm/ext/vector_float2.hpp" #include "glm/ext/vector_float2.hpp"