TU43 Structures, bug fixes & minor changes

- Elytra flight, damage, kinetic energy, pretty much any bug someone reported, paper doll, etc.
- Fossil & Igloo generation
- Texture interpolation
- Iggy mouse fix for world settings
- Neo branding on main screen
- Release build txt logger
- Debug mode spectator
- Several server fixes
- Flowerpot fixes
- Several more changes made in TU43
This commit is contained in:
Tranqlmao
2026-07-11 19:30:16 -04:00
parent d236146e92
commit a4c746bee4
89 changed files with 1793 additions and 590 deletions
+19 -3
View File
@@ -43,6 +43,7 @@ StitchedTexture::StitchedTexture(const wstring &name, const wstring &filename) :
frameOverride = nullptr;
flags = 0;
frames = nullptr;
m_bInterpolate = false;
m_fileName = filename;
}
@@ -84,7 +85,8 @@ void StitchedTexture::init(Texture *source, vector<Texture *> *frames, int x, in
{
this->source = source;
this->frames = frames;
frame = -1; // Force an update of animated textures
frame = -1;
m_bInterpolate = false;
this->x = x;
this->y = y;
this->width = width;
@@ -209,12 +211,21 @@ void StitchedTexture::cycleFrames()
current = frameOverride->at(frame);
int newFrame = current.first;
if (oldFrame != newFrame && newFrame >= 0 && newFrame < frames->size())
if (oldFrame != newFrame && newFrame >= 0 && newFrame < (int)frames->size())
{
source->blit(x, y, frames->at(newFrame), rotated);
}
}
else if (m_bInterpolate)
{
int curIdx = current.first;
int nextIdx = frameOverride->at((frame + 1) % frameOverride->size()).first;
if (curIdx >= 0 && curIdx < (int)frames->size() && nextIdx >= 0 && nextIdx < (int)frames->size())
{
float t = static_cast<float>(subFrame) / static_cast<float>(current.second);
source->blitInterpolated(x, y, frames->at(curIdx), frames->at(nextIdx), t);
}
}
}
else
{
@@ -324,6 +335,11 @@ void StitchedTexture::loadAnimationFrames(const wstring &string)
for(auto& it : tokens)
{
token = trimString(it);
if (token == L"interp:1")
{
m_bInterpolate = true;
continue;
}
int multiPos = token.find_first_of('*');
if (multiPos > 0)
{