Commenti
discussione: Super Mario Bros.
United StatesHubcapp8 years ago

I think it'll time anything that starts frame 196 correctly. I guess that's all the FM2s you make and all the FM2s on tasvideos.org. I don't know about other starting frames.

discussione: Super Mario Bros.
United StatesHubcapp8 years ago

4-2 xpos display: I think it does help people who would normally always 3-bump go for 2-bump if able to, so if you consider runs with xpos display invalid for submission, then I can put a disclaimer saying as much when it's enabled.

Fm2s: This script correctly times the TAS, but I feel like it might be coincidence. All files I found here http://tasvideos.org/userfiles/game/1 are in bk2 format for BizHawk or don't have RTA times on them. BizHawk is not a Linux compatible program, and doesn't work without Direct3D support which is unusably buggy in VirtualBox at this time, so I can't run it.

If you could link me to some FM2s, or know how to convert BK2 to FM2 or know how to convert times on the Walkathon, Warpless, or Coins movies to RTA times, any of those would let me debug these times.

detecting split/start: I'll try using that memory address, thanks. Still need FM2s.

discussione: Super Mario Bros.
United StatesHubcapp8 years ago

Cool. Nice to have more open source software. Add a license if you don't intend for it to be copywritten.

If this were modified to automatically split based on txt file input, and my autosplitting script were modified to output splits to txt file, and there was a script to forward button presses from specially modified NES -> NES/PC cables into emulator, you could have livesplit automatically splitting for the real console.

A nice project for somebody else with the hardware, software, and will. I would, but I don't have the special cable or use livesplit.

discussione: Super Mario Bros.
United StatesHubcapp8 years ago

@sullyrox It happened already. :P Code in the first post's link is automatically updated to latest. I can't think of any other features the script is missing, except for possibly outputting splits to a txt file for external program to render. However most people are using the livesplit plugin or just footpedals, and I don't know what format livesplit uses to read in from txt file, if that's even a feature, and I wouldn't use it personally. The splits at the top left are designed with defaults to not block any essential game play.

The script may have a problem with the starting condition. I posted about it in the SMB1 discord channel, but no one responded. I need RTA timed fm2 movies in order to debug it. Or, if anyone knows how to convert the times on TASvideos.org to RTA that would help too. Here's my post from discord:

Hey all. Working on a new speedrunning companion script for FCEUX. Unsure that I'm correctly detecting the starting frame. Send me your RTA timed fm2 movies so I can figure it out, please. Script available here https://www.speedrun.com/smb1/thread/0cnds

current condition is if startFrame == -1 and world == 1 and level == 1 and gameTimer == 400 then startFrame = movie.framecount(); end;

which I suspect is not correct because startFrame can be a non-framerule-multiple of other startFrames. I may have to add "and memory.readbyte(0x0772) == 2" to the condition like I did for detecting the other splits, but I really just need more RTA timed movies so that I can make sure it's working properly

discussione: Super Mario Bros.
United StatesHubcapp8 years ago

I updated the script with support for personal bests and automatic framerule offset detection.

discussione: Super Mario Bros.
United StatesHubcapp8 years ago

Timer works fine with savestates for me (goes back to time when you saved the state). Doesn't matter if we detect game over with state variable or lives variable. The lives actually go to 255 (lives variable in lua = 256 b/c I add 1) when you game over. I'm guessing you can't actually get 255 lives in normal game play, but I'm not sure, so I just use the state variable.

When you say "everything is working fine" I hope that means the keyboard toggles work, so that's nice.

discussione: Super Mario Bros.
United StatesHubcapp8 years ago

Thanks for the insight on the 0x0772 = 2 requirement, I'll add that into the check.

Regarding legality of xpos display on 4-2, I can understand the "it's tool assistance" argument on that. If you normally go for the 3-bump and see it's 132, you'll go for the 2-bump, leading to more fast 4-2 times. But I feel like also it's kind of a tool assisted speedrun already with splits. Knowing what framerule you're on lets you manipulate the AI. So maybe xpos display is okay. I'm fine either way.

discussione: Super Mario Bros.
United StatesHubcapp8 years ago

Hi all. I wrote this speedrunning companion script for SMB1 running on FCEUX.

https://raw.githubusercontent.com/Hubcapp/smb1-timer-splits-xpos/master/smb1_timer_splits_xpos.lua

Let me know if there are any bugs.

If you're using Windows, these keyboard toggles may or may not work. If you're on Linux or macOS they WON'T work (as of FCEUX release 2.2.3, there is no keyboard input accessible via lua):

¤ Press ] to toggle showing the offset between your current run time and your PB run time (in framerules)

¤ Press F4 to toggle a framerule counter at the bottom left of the screen

¤ Press F6 to toggle displaying splits, PB offsets, and time spent on the last level

¤ Press F8 to toggle displaying how many pixels Mario is from the left side of the screen on World 4-2

¤ Press F9 to toggle displaying your total framerule offset (useful if you are consistent enough to know how to react to enemies depending on what framerule you're on)

On Linux and macOS, you may edit the source code to toggle these variables. They're all up at the top with comments.

Info su Hubcapp
Iscritto
8 years ago
Online
4 years ago
Runs
0