Skip to content

Commit 656603d

Browse files
committed
1 parent 646d49c commit 656603d

12 files changed

+350
-326
lines changed

belt.lua

+2
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,12 @@ function belt:update(dt)
106106
if w.width and (not w.ignoreplatform) and w.active and inrange(w.x, self.x-w.width, self.x+self.width) and (not w.vine) and (not w.fence) then
107107
if w.y == self.y - w.height then
108108
if #checkrect(w.x+speed*dt, w.y, w.width, w.height, {"exclude", w}, true) == 0 then
109+
w.oldxplatform = w.x
109110
w.x = w.x + speed*dt
110111
end
111112
elseif v == "player" and w.gravitydir == "up" and w.y == self.y+self.height then
112113
if #checkrect(w.x-speed*dt, w.y, w.width, w.height, {"exclude", w}, true) == 0 then
114+
w.oldxplatform = w.x
113115
w.x = w.x - speed*dt
114116
end
115117
end

enemies/bigmole.lua

+1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ function bigmole:update(dt)
5858
if inrange(w.x, self.x-w.width, self.x+self.width) then
5959
if w.y+w.height >= self.y-(1/16) and w.y+w.height <= self.y+(4/16) and (not w.jumping) then
6060
if not checkintile(w.x+self.speedx*dt, w.y, w.width, w.height, tileentities, w, "ignoreplatforms") then
61+
w.oldxplatform = w.x
6162
w.x = w.x + (self.x-self.oldx)
6263
w.y = math.min(self.y-w.height, w.y)
6364
w.falling = false

enemies/goomba.lua

+1
Original file line numberDiff line numberDiff line change
@@ -571,6 +571,7 @@ function goomba:update(dt)
571571
self.pickupreadyplayers[w.playernumber] = true
572572
if not self.tracked then
573573
if #checkrect(w.x+self.speedx*dt, w.y, w.width, w.height, {"exclude", w}, true) == 0 then
574+
w.oldxplatform = w.x
574575
w.x = w.x + self.speedx*dt
575576
end
576577
end

enemy.lua

+3
Original file line numberDiff line numberDiff line change
@@ -2031,6 +2031,7 @@ function enemy:update(dt)
20312031
((self.movement == "circle" or self.movement == "flyvertical" or self.movement == "path" or self.speedy ~= 0) and w.y+w.height >= self.y-0.1 and w.y+w.height < self.y+0.1))
20322032
and (not w.jumping) and not (self.speedy > 0 and w.speedy < 0) then --and w.speedy >= self.speedy
20332033
if #checkrect(w.x+xdiff, self.y-w.height, w.width, w.height, {"exclude", w}, true, condition) == 0 then
2034+
w.oldxplatform = w.x
20342035
w.x = w.x + xdiff
20352036
w.y = self.y-w.height
20362037
w.falling = false
@@ -2042,10 +2043,12 @@ function enemy:update(dt)
20422043
if inrange(w.y+w.height/2, self.y, self.y+self.height) then
20432044
if xdiff > 0 and w.x < self.x+self.width and w.x+w.width > self.x+self.width then --right
20442045
if #checkrect(self.x+self.width, w.y, w.width, w.height, {"exclude", w}, true, "ignoreplatforms") == 0 then
2046+
w.oldxplatform = w.x
20452047
w.x = self.x+self.width
20462048
end
20472049
elseif xdiff < 0 and w.x+w.width > self.x and w.x < self.x then
20482050
if #checkrect(self.x-w.width, w.y, w.width, w.height, {"exclude", w}, true, "ignoreplatforms") == 0 then
2051+
w.oldxplatform = w.x
20492052
w.x = self.x-w.width
20502053
end
20512054
end

game.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ function game_update(dt)
325325
if queuelowtime and queuelowtime < 0 and (not levelfinished) then
326326
local star = false
327327
for i = 1, players do
328-
if objects["player"][i].starred then
328+
if objects["player"][i].starred and not objects["player"][i].size == 8 then
329329
star = true
330330
end
331331
end

languages/russian.json

+321-321
Large diffs are not rendered by default.

main.lua

+2-2
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ if debugconsole then debuginputon = true; debuginput = "print()"; print("DEBUG O
6262
local debugGraph,fpsGraph,memGraph,drawGraph
6363
local debugGraphs = false
6464

65-
VERSION = 13.1006
66-
VERSIONSTRING = "13.1a (8/9/24)"
65+
VERSION = 13.2000
66+
VERSIONSTRING = "13.2 (8/9/24)"
6767
ANDROIDVERSION = 17
6868

6969
android = (love.system.getOS() == "Android" or love.system.getOS() == "iOS") --[DROID]

mario.lua

+10
Original file line numberDiff line numberDiff line change
@@ -9078,6 +9078,16 @@ function mario:statued(statue) --tanooki statue
90789078
end
90799079

90809080
function mario:animationwalk(dir, speed)
9081+
if self.ducking then
9082+
self:duck(false)
9083+
end
9084+
if self.fence then
9085+
self:dropfence()
9086+
end
9087+
if self.vine then
9088+
self:dropvine(self.vineside)
9089+
end
9090+
90819091
self.animation = "animationwalk"
90829092
self.animationstate = "running"
90839093
self.animationmisc = {dir, math.max(0, math.min(40, (speed or maxwalkspeed)))}

physics.lua

+4-2
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,10 @@ function physicsupdate(dt)
5858
local oldspeedy = v.speedy
5959
if ((v.static == false) or (v.activestatic == true)) and v.active then
6060
--GRAVITY
61-
local oldx = v.x
62-
local oldy = v.y
61+
local oldx = v.oldxplatform or v.x
62+
local oldy = v.oldyplatform or v.y
63+
v.oldxplatform = nil --platforms can also move objects, this variable stores the objects position from the previous frame
64+
v.oldyplatform = nil
6365
local oldgravity
6466
if (not v.activestatic) and (not v.ignoregravity) then
6567
--low gravity

platform.lua

+2
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ function platform:update(dt)
158158
(w.y+w.height >= self.y-0.4 and w.y+w.height < self.y+0.4))
159159
and (not w.jumping) and not (self.speedy > 0 and w.speedy < 0) then --and w.speedy >= self.speedy
160160
if #checkrect(w.x+xdiff, self.y-w.height, w.width, w.height, {"exclude", w}, true, condition) == 0 then
161+
w.oldxplatform = w.x
161162
w.x = w.x + xdiff
162163
w.y = self.y-w.height
163164
w.falling = false
@@ -186,6 +187,7 @@ function platform:update(dt)
186187
if w.y == self.y - w.height then
187188
if ((not w.playernumber) and not checkintile(w.x+self.speedx*dt, w.y, w.width, w.height, {}, w, "ignoreplatforms")) or
188189
(w.playernumber and #checkrect(w.x+self.speedx*dt, w.y, w.width, w.height, {"exclude", w}, true) == 0) then
190+
w.oldxplatform = w.x
189191
w.x = w.x + self.speedx*dt
190192
--make sure red koopas dont fall off
191193
if v == "drybones" or (v == "koopa" and w.t == "red" and not w.small) or (v == "goomba" and (w.t == "goombrat" or w.t == "spiketop" or w.t == "wiggler")) or (w.turnaroundoncliff and not w.small) then

snakeblock.lua

+2
Original file line numberDiff line numberDiff line change
@@ -527,11 +527,13 @@ function snakeblock:update(dt)
527527
if inrange(w.y+w.height/2, self.y, self.y+self.height) then
528528
if self.speedx > 0 and w.x < self.x+self.width and w.x+w.width > self.x+self.width then --right
529529
if #checkrect(self.x+self.width, w.y, w.width, w.height, {"exclude", w}, true, "ignoreplatforms") == 0 then
530+
w.oldxplatform = w.x
530531
w.x = self.x+self.width
531532
--w.speedx = math.max(self.speedx, w.speedx)
532533
end
533534
elseif self.speedx < 0 and w.x+w.width > self.x and w.x < self.x then
534535
if #checkrect(self.x-w.width, w.y, w.width, w.height, {"exclude", w}, true, "ignoreplatforms") == 0 then
536+
w.oldxplatform = w.x
535537
w.x = self.x-w.width
536538
--w.speedx = math.min(self.speedx, w.speedx)
537539
end

track.lua

+1
Original file line numberDiff line numberDiff line change
@@ -518,6 +518,7 @@ function trackcontroller:update(dt)
518518
and (not w.jumping) and (not w.vine) then
519519
if #checkrect(w.x+xdiff, b.y-w.height, w.width, w.height, {"exclude", w}, true, condition) == 0 then
520520
if (not w.trackplatformcarriedx) or math.abs(xdiff) > math.abs(w.trackplatformcarriedx) then --don't move if already moved by another platform
521+
w.oldxplatform = w.x
521522
w.x = w.x + xdiff
522523
w.trackplatformcarriedx = xdiff
523524
end

0 commit comments

Comments
 (0)