Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
I'm testing the script and it's amazing! The main lag problem is drawing inside fors. Since the main RNG drawing is
Language: lua
local rngcols = 12
for i=0,rngcols-1,1 do
for j=0,17,1 do
--[...]
drawRNGsquare(j,i,clr)
end
end
you're drawing 216 squares each frame, which indeed lags (my fps drops from 60 to 45, which is not that bad). I removed just this square printing and my fps went back to normal, as you can see. I noticed that this RNG grid is like a stream of values: the squares are floating from the right to the left, like if it was printing the current RNG value + the past 17 values (correct me if I'm wrong). If so, is it really necessary printing past values?
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
Can you show a screenshot to understand better the situation?
Do all this data need to be printed everytime? I mean, for example if it's a player info, usually you wanna see it inside the level, not on the overworld/menu/etc, so you can make a conditional for this info based on the value of the game mode address.
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
What an amazing run! Definitely a yes, specially because I follow Really_Tall in twitter and saw all the hype from finding new glitches and exploring exploits during these past months.
This is a great gift for the SM64 community!
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
creates these gaps used in the Super Mario World script. You can fit a lot of info there, specially for seeing sprites before they enter the screen or a map of the level, for example.
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
Language: lua
-- Background colour in 0xaarrggbb format, use it first before drawing anything
myCoolCanvas.Clear(0xFFE9C662)
-- Setting a title for the window with any string
myCoolCanvas.SetTitle("My Cool Canvas!!!")
-- Refreshing to be able to draw each frame (or amount of time your loop takes).
-- USE IT AFTER ALL CANVAS DRAWINGS
myCoolCanvas.Refresh()
Also, you can print text with different sizes and fonts, just like gui.drawText
DrawText(int x, int y, string message, Color? color = null, int? fontsize = null, string fontfamily = null, string fontstyle = null)
Try different font sizes to see which draws your info better without taking too much space. And try fonts that come with Windows, but not all of the works so you have to test (is nothing is printed, then the font doesn't work here).
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
Taking from the Adventures in Lua thread here, since it's a nice request:
I would love to have this feature, like a forms.drawImage(), and would be amazing to have this in the canvas list of functions (which is way too limited) too.[/quote]
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
Also
change to 600 for example to save each 10 minutes, but keep in mind that if your tasproj is big the backups will be big too, so I recommend cleaning a little the backup folder each time you end your work in the day.
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
I recommend you start reporting issues directly to their repository issue page, describing the problem as better as you can.
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
When using the SMW Utilities script, it runs normally. But when I untoggle and re-toggle (not the reload button) I get the following error:
LuaInterface.LuaException: unprotected error in call to Lua API (0)
in LuaInterface.Lua.PanicCallback(IntPtr luaState)
in lua_error(lua_State* )
in LuaInterface.ObjectTranslator.throwError(IntPtr luaState, Object e)
in LuaInterface.Lua.SetPendingException(Exception e)
in LuaInterface.LuaMethodWrapper.SetPendingException(Exception e)
in LuaInterface.LuaMethodWrapper.call(IntPtr luaState)
in LuaInterface.MetaFunctions.runFunctionDelegate(IntPtr luaState)
in lua_resume(lua_State* , Int32 )
in BizHawk.Client.EmuHawk.EmuLuaLibrary.ResumeScript(Lua script)
in BizHawk.Client.EmuHawk.LuaConsole.<>c__DisplayClass3c.<ResumeScripts>b__35()
in BizHawk.Client.Common.EnvironmentSandbox.Sandbox(Action callback)
in BizHawk.Client.Common.LuaSandbox.Sandbox(Action callback, Action exceptionCallback)
I get this with v.1.12.0, but not with previous versions. Also, this error doesn't happen with non-modular scripts (this SMW one has a lot of modules). Maybe it's related with how BizHawk handles modules, by not closing them when the script is off/reloading.
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
Oh yea I was thinking exactly this before I posted, but forgot to type. Just a pop up window would be perfect.
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
When recording a movie, me and friends faced a delicated situation: misclicking "Stop Movie without Saving" instead of "Save Movie As...", losing work. This could be avoided with it had a separator before "Stop Movie without Saving" or just moving the "Import Movies..." down before it:
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
My point is: Windows stores these values in registers (and maybe somewhere else too), BizHawk could have a function to get these
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
samurai goroh wrote:
You can use these 2 functions:
client.screenheight()
client.screenwidth()
These return the size of the BizHawk window, not the resolution of you computer :<
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
Is there another way to get the computer screen resolution and store its width and height in variables? The only way I could get was this:
Language: lua
local handle = io.popen("wmic desktopmonitor get screenheight, screenwidth")
local result = handle:read("*a")
handle:close()
local resolution = {}
for num in string.gmatch(result, "%d+") do
resolution[#resolution + 1] = num
end
local screen_width, screen_height = resolution[2], resolution[1]
print("width:"..screen_width..", height:"..screen_height)
-- width:1366, height:768
It works for any emulator I guess (I don't know about other OS, I'm using Win7), but would be nice if BizHawk had a function that return this, something like client.oswidth()/client.osheight() or just os.width()/os.height().
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
When I use forms.newform in a lua script, the current active window is the form, not the emu. Is this preferable by most people or just no one didn't care as I do? Because when I use the script I wish that the emu window were the active, to quickly play the game without having to click its window. Maybe a lua function like client.setemuactive() (and/or a generic function like client.setwindowactive(string window_name) to all uses) would be nice.
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
My mind, during this:
0:59 - Oh Pokémon ACE, I like ACEs
1:05 - Oh I love this colour
1:27 - lol OK
1:50 - OOOK
2:49 - :)
3:48 - OK
4:12 - OK but each time I think "OK" it gets even more OK
5:45 - OK
I loved it, definitely a yes since my first "OK"
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
Master of Puppets wrote:
It comes back when you click on Options->Restore Default Option.
Somehow when re-opened BizHawk the issue was gone, but thanks for this tip!
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
The "Changes" column is the only one that doesn't appear in RAM Search:
(I'm using version 1.11.9.1, and this also happens in version 1.11.8.2)
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
Team: BrunoValads, Amaraticando, BrunoVisnadi and Kaizoplayer
Name: Feijoada
Logo:
Feijoada is a typical dish from Brazil, so we are a team that you can eat on sundays exclusively.
I made this image performing this exact process described in this other image.
(don't forget to remove me from the solo list)
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
I'm definitely in! 2 months is a nice amount of time to study the game and optimize the TAS
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
Of couse yes!
It was nice to see the development of this TAS, Visnadi always does a great job at optimization. Also, this hack is really well made, the custom asm and sprites open room for a lot of ideas, specially in bigger categories (as speedrunners already do).
Trivia: we started this project together, but I got so busy with other projects that I couldn't event do a single input. I'm so happy to finally see this done, and it's encouraging me to start other things with this hack, like Credits Warp and Submap Warp.
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter
Editor, Experienced Forum User, Published Author, Player
(182)
Joined: 4/7/2015
Posts: 330
Location: Porto Alegre, RS, Brazil
I'd love to see this TAS done. Or maybe even try it myself, would be fun to get used to 3D games.
Games are basically math with a visual representation of this math, that's why I make the scripts, to re-see games as math.
My things:
YouTube, GitHub, Pastebin, Twitter