Random trivia about ingame seconds
Ingame seconds depend on difficulty.
Easy = 135 frames
Normal = 90 frames
Hard = 80 frames
Enemy list:
00 = [glitch? causes instant death]
01 = moscito
02 = bee
03 = jumping fish
04 = horizontal moving fish ?
05 = bad smurf
06 = worm
07 = back and forth fish ?
08 = horizontal moving crow
09 = vertical moving crow
0A = hedgehog
0B = ice bear
0C = [enemy vanishes]
0D = springboard (stationary)
0E = mushroom with 1up
0F = mushroom with raspberry
10 = mushroom with leaf
11 = springboard (pick up)
12 = present (pick up)
13 = infinite presents
14 = key
15 = 1up
16 = star
17 = leaf
18 = raspberry
19 = S-boost
1A = ?
1B = eagle (Act 12)
1C = eagle (Act 7)
1D = eagle (Act 11)
1E = squirrel's nut
1F = nut (falling straight down)
20 = ?
21 = ?
22 = ?
23 = ?
24 = falling rock (Act 6)
25 = ?
26 = falling rock (Act 8)
27 = falling rock (Act 8)
28 = Azrael
29 = ?
2A = ?
2B = ?
2C = ?
2D = ?
2E = hole in ground
2F = ?
30 = ?
31 = ?
32 = ?
33 = ?
34 = ?
35 = bird that you can jump on
36 = squirrel
37 = thunder cloud
38 = thrown present
39 = dropped present
3A = ?
3B = ?
3C = ?
3D = ?
3E = ?
3F = ?
40 = ?
41 = ?
42 = ?
43 = ?
44 = ?
45 = ?
46 = ?
47 = ?
48 = leaf that you can jump on
49 = ?
4A = frog
4B = frog
4C = dragon boss
4D = ?
4E = ?
4F = ?
50 = ?
51~FF = [glitch]
Lua for Bizhawk, v1.0 ROM
Language: Lua
local ScriptInfo = {"SMURFS Luascript by Mugg1991",
"v0.1",
"Oct 2017"}
memory.usememorydomain("System Bus")
function text(x, y, text, color, backcolor)
if backcolor==nil then backcolor=0x00000000 end
gui.drawText(x, y, text,color,backcolor,10,"Arial")
end
client.SetGameExtraPadding(80,0,0,0)
console.clear()
for i=1,table.getn(ScriptInfo),1 do
print(ScriptInfo[i])
end
XposBefore=0
nomove=0
event.onexit(function()
client.SetGameExtraPadding(0,0,0,0)
end)
event.onloadstate(function()
nomove=0
end)
local dirTable = {
[16] = 1,
[32] = 2,
[48] = 3
}
while true do
Xcam = memory.read_u16_le(0xFF97)
Ycam = memory.read_u16_le(0xFF99)
Xpos = memory.read_u16_le(0xFFA1)
Ypos = memory.read_u16_le(0xFFA3)
Xvelo = memory.read_u8(0xFFCB)
dir = memory.read_u8(0xFFEF)
timerTen = memory.read_u8(0xF9CD)
timerOne = memory.read_u8(0xF9CE)
timerSub = "." .. string.format("%02d",memory.read_u8(0xF93E))
timer = string.format("%x%x",timerTen,timerOne)
invuln = memory.read_s8(0xF9AA)
health = memory.read_s8(0xF9B6)
rng = memory.read_u8(0xFAB1)
difficulty = memory.read_u8(0xD9DB)
text(18,24,"velX " .. Xvelo,0xFFFFFF00)
text(26,33,"dir " .. tostring(dirTable[dir]),0xFFFFFF00)
text(32,49,"X " .. Xpos,0xFFFFFF00)
text(32,58,"Y " .. Ypos,0xFFFFFF00)
text(12,67,"camX " .. Xcam,0xFFFFFF00)
text(12,76,"camY " .. Ycam,0xFFFFFF00)
text(8,91,"invuln " .. invuln,0xFFFFFF00)
text(8,100,"health " .. health,0xFFFFFF00)
text(18,109,"time " .. timer,0xFFFFFF00)
text(54,109,timerSub,0xFFFFFF00)
text(24,118,"rng " .. rng,0xFFFFFF00)
text(2,127,"difficulty " .. difficulty,0xFFFFFF00)
if XposBefore ~= Xpos then
nomove=0
else
nomove=nomove+1
end
text(8,49,nomove,0xFFFF4000)
XposBefore = Xpos
emu.frameadvance()
end
I found 90 frames improvement. So I might start a new run sometime.