Skip to content

Commit

Permalink
2.3.6 2
Browse files Browse the repository at this point in the history
  • Loading branch information
ZiLko committed Jan 12, 2025
1 parent 8a43250 commit f8bb207
Show file tree
Hide file tree
Showing 8 changed files with 28 additions and 19 deletions.
2 changes: 1 addition & 1 deletion changelog.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# v2.3.6

* Improved compatibility with other bots macros.
* Improved compatibility with other bot's macros (Pathfinder, Eclipse).

# v2.3.5

Expand Down
20 changes: 13 additions & 7 deletions src/global.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -158,22 +158,28 @@ float Global::getTPS() {
}

int Global::getCurrentFrame(bool editor) {
double levelTime;
// double levelTime;
PlayLayer* pl = PlayLayer::get();

if (!pl) {
if (!editor) return 0;

levelTime = GJBaseGameLayer::get()->m_gameState.m_levelTime;
// levelTime = GJBaseGameLayer::get()->m_gameState.m_levelTime;
}

levelTime = pl->m_gameState.m_levelTime;
// int frame = pl->m_gameState.m_currentProgress;
int frame = static_cast<int>(levelTime * getTPS());
auto& g = Global::get();
int frame;
// levelTime = pl->m_gameState.m_levelTime;

frame -= Global::get().frameOffset;
frame++;
if (!g.macro.xdBotMacro && g.state == state::playing) {
frame = pl->m_gameState.m_currentProgress;
}
else {
frame = static_cast<int>(pl->m_gameState.m_levelTime * getTPS());
frame++;
}

frame -= g.frameOffset;
if (frame < 0) return 0;

return frame;
Expand Down
1 change: 1 addition & 0 deletions src/includes.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ class Global {
bool cancelCheckpoint = false;
bool ignoreRecordAction = false;
bool restart = false;
bool restartLater = false;
bool creatingTrajectory = false;
bool firstAttempt = false;

Expand Down
1 change: 1 addition & 0 deletions src/macro.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ void Macro::updateInfo(PlayLayer* pl) {

g.macro.botInfo.name = "xdBot";
g.macro.botInfo.version = xdBotVersion;
g.macro.xdBotMacro = true;
}

void Macro::updateTPS() {
Expand Down
1 change: 1 addition & 0 deletions src/macro.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ struct Macro : gdr::Replay<Macro, input> {

bool canChangeFPS = true;
uintptr_t seed = 0;
bool xdBotMacro = true;

static void recordAction(int frame, int button, bool player2, bool hold);

Expand Down
18 changes: 8 additions & 10 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ class $modify(PlayLayer) {
g.renderer.levelStartFrame = frame;

if (g.restart && m_levelSettings->m_platformerMode && g.state != state::none)
m_fields->delayedLevelRestart = frame + 1;
m_fields->delayedLevelRestart = frame + 2;

Global::updateSeed(true);

Expand Down Expand Up @@ -218,19 +218,18 @@ class $modify(BGLHook, GJBaseGameLayer) {
g.renderer.dontRecordAudio = false;
}

int frame = Global::getCurrentFrame();

if (frame > 2 && g.firstAttempt) {
int frame = Global::getCurrentFrame();
if (frame > 2 && g.firstAttempt && g.macro.xdBotMacro) {
g.firstAttempt = false;

if ((m_levelSettings->m_platformerMode || rendering) && !m_levelEndAnimationStarted)
return PlayLayer::get()->resetLevelFromStart();
return pl->resetLevelFromStart();
else if (!m_levelEndAnimationStarted)
return PlayLayer::get()->resetLevel();
return pl->resetLevel();
}

if (g.previousFrame == frame && frame != 0)
return GJBaseGameLayer::processCommands(dt);
// if (g.previousFrame == frame && frame != 0)
// return GJBaseGameLayer::processCommands(dt);

}

Expand All @@ -253,7 +252,7 @@ class $modify(BGLHook, GJBaseGameLayer) {
handleRecording(frame);

if (g.state == state::playing)
handlePlaying(frame);
handlePlaying(Global::getCurrentFrame());

}

Expand Down Expand Up @@ -446,7 +445,6 @@ class $modify(PauseLayer) {
g.checkpoints.clear();

if (g.restart) {
g.restart = false;
if (PlayLayer* pl = PlayLayer::get())
pl->resetLevel();
}
Expand Down
2 changes: 2 additions & 0 deletions src/ui/load_macro_layer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -710,6 +710,8 @@ void MacroCell::handleLoad() {
g.restart = true;
g.macro.canChangeFPS = false;

g.macro.xdBotMacro = g.macro.botInfo.name == "xdBot";

loadLayer->keyBackClicked();

RecordLayer* newLayer = nullptr;
Expand Down
2 changes: 1 addition & 1 deletion src/ui/record_layer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ void RecordLayer::togglePlaying(CCObject*) {
if (g.state == state::playing) {
g.currentAction = 0;
g.currentFrameFix = 0;

PlayLayer* pl = PlayLayer::get();

if (pl) {
Expand Down

0 comments on commit f8bb207

Please sign in to comment.