All Projects → rodamaral → smw-tas

rodamaral / smw-tas

Licence: MIT license
Utility scripts and TAS tools for Super Mario World to be run on lsnes or Snes9x-rr.

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to smw-tas

Level-Headed
Random Level Generator for Super Mario Bros. 1 on the NES
Stars: ✭ 100 (+143.9%)
Mutual labels:  mario
rssd
Rohde & Schwarz SCPI Driver (in Python)
Stars: ✭ 25 (-39.02%)
Mutual labels:  smw
ScriptHawk
A collection of Lua scripts and RAM watches for BizHawk.
Stars: ✭ 69 (+68.29%)
Mutual labels:  lua-script
MarioProgressBar
The Mario progress bar for IntelliJ IDEA and other JetBrains IDEs.
Stars: ✭ 29 (-29.27%)
Mutual labels:  mario
PMMasterQuest
Take Paper Mario 64, buff old and new enemies to absurd levels, then rebalance Mario's overpowered strategies, and you've got one of the most difficult hacks of all time: Paper Mario Master Quest. The Discord:
Stars: ✭ 58 (+41.46%)
Mutual labels:  mario
SuperMario-Allegro-Cpp
Simple Super Mario in Allegro C++ & The Final Project of Course Advanced Programming
Stars: ✭ 21 (-48.78%)
Mutual labels:  mario
cli
The front end project template cli
Stars: ✭ 15 (-63.41%)
Mutual labels:  mario
Mario5TS
The TypeScript version of the Mario5 demo application.
Stars: ✭ 59 (+43.9%)
Mutual labels:  mario
SemanticWikibase
Makes Wikibase data available in Semantic MediaWiki
Stars: ✭ 14 (-65.85%)
Mutual labels:  smw
Super-Meta-MarIO
Mario AI Ensemble
Stars: ✭ 15 (-63.41%)
Mutual labels:  mario
oiram
Oiram is a Mario platformer clone
Stars: ✭ 48 (+17.07%)
Mutual labels:  mario
botman
A Lua server manager for 7 Days to Die powered by Mudlet
Stars: ✭ 29 (-29.27%)
Mutual labels:  lua-script
underscript
A Lua extension library that allows to run various scripting languages from within Lua scripts, cross-language require scripts and load 32-bit Lua on Lua 64-bit
Stars: ✭ 19 (-53.66%)
Mutual labels:  lua-script
super-mario-rl
Deep Reinforcement learning and Python learn how to play the original Super Mario Bros
Stars: ✭ 25 (-39.02%)
Mutual labels:  mario
super-mario-message
Display custom messages in a Super Mario Bros environment
Stars: ✭ 18 (-56.1%)
Mutual labels:  mario
cemu-smmdb
No description or website provided.
Stars: ✭ 56 (+36.59%)
Mutual labels:  mario
rdf2smw
Convert RDF to Semantic MediaWiki facts in MediaWiki XML format, with a standalone commandline tool
Stars: ✭ 18 (-56.1%)
Mutual labels:  smw
code runner.nvim
Neovim plugin.The best code runner you could have, it is like the one in vscode but with super powers, it manages projects like in intellij but without being slow
Stars: ✭ 234 (+470.73%)
Mutual labels:  lua-script
MAD
Mobile Application Development
Stars: ✭ 49 (+19.51%)
Mutual labels:  tas
mario-homepage
A Super Mario portfolio homepage that you can play with.
Stars: ✭ 21 (-48.78%)
Mutual labels:  mario

smw-tas

smw-tas is an utility for making Tool-Assisted Speedruns of Super Mario World and for debugging the game. The script can be run on the emulators: lsnes and Snes9x-rr.

smw-tas for lsnes screenshot


How to use

  1. Download the source code zip of the latest release and extract its contents into a folder.
  2. Alternatively, clone the repository into a folder.
  3. Open the emulator and its Lua console.

lsnes: Tools > Run Lua script.

Snes9x-rr: File > Lua Scripting > New Lua Script Window 4. Run file smw-tas.lua.


Emulators version

lsnes: lsnes-rr2-β23 or higher. As of 2018/08, make sure to NOT use the current β23 from TASVideos, as it's old and has a bug that can crash Lua scripts or mess up the display of background colors. More recent Windows builds are available in true's website.

Snes9x-rr: 1.43 or 1.51.

BizHawk: Support to BizHawk has been deprecated. You can use, for example brunovalads/smw-stuff, or an old release (not recommended).


Features

Those options are present in all the three utility scripts.

Movie info: signals the movie mode, frames recorded, lag count and rerecord count.

Level Info: type of level (horizontal or vertical), number of screens and buoyancy level flag.

Player info: positions, speeds, subspeed, camera, cape, blocked status, hitbox against sprites, points of interaction with tiles.

Sprite info: positions, speeds, stunned state number, many tables, hitbox against other objects, points of interaction with tiles, data, load status.

Yoshi/tongue info: id, sprite on mouth, timings, length and hitbox.

Other sprites info: extended, cluster, minor extended and bounce sprites.

Counters and timers: counters that decrement once per frame or using some frame rule.

Static Camera Region: region on which the player must scape to scroll the camera.

Line of death: always appear below the game area, showing where Mario or sprites die.

Tile drawing with mouse: layer 1 (left click), layer 2 (right click) and block duplication predictor.

Cheats: current cheats include free movement, beat level (depends on ROM hack), powerup, score and coin number (for lag manipulation), dragging and dropping sprites with mouse. The user must click to allow the cheats before using them.

TODO: update those


lsnes only:

Input display/editor: in readonly mode, clicking on a future input will toggle the state of the selected button.

Arbitrary code execution helper: signals when some known or useful addresses are executed, such as joypad hardware registers and common open bus addresses. It doesn't cover addresses, using the tracelogger is still needed.

Lagmeter: shows how close to lagged the last frame has been.

TODO: update those


Comparison ghosts

There's a tool that allows one to compare two runs while making a TAS. It's possible to dump the ghost info from lsnes or Snes9x and to read that info from lsnes. The module is heavily based on amaurea's script:

  1. To generate a ghost file, use the record scripts at extra. Start the script at the very beginning of the movie and stop whenever you want. After that, a ghost.dump file will appear. Put that file into the folder ghosts of this repository.
  2. To see the ghosts as you play, you must run the main script on lsnes, click on Menu > Settings and select Load comparison ghost. It's better to enter the current level/room after this operation.
  3. Edit config.ini to include or remove ghost files. It's under option "ghost_dump_files". eg.: "ghost_dump_files": [ "ghost1.dump", "ghost-ism-mister.dump", "smw-any%.dump", smw-96exits.dump" ],
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].