Posts for Amaraticando


Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Warp wrote:
Amaraticando wrote:
Can you arrange 4 pencils, such that any 2 distinct of them form a 90° angle? I can do it with 3 pencils.
Where does the 90-degree requirement come from? Isn't it, once again, just an arbitrary requirement? Why 90, and not 60, or 120, or pi?
It comes from linear algebra (linear independence) and the way we usually model the axis in analytic geometry (90°, but could be a different value). Even so, I would ask you to display a 4th vector that is not a combination of the 3D base. EDIT: it's an open question why the real world is like this. I only argue that this is a real fact, not some arbitary mathematical construct. https://en.wikipedia.org/wiki/List_of_unsolved_problems_in_physics
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Can you arrange 4 pencils, such that any 2 distinct of them form a 90° angle? I can do it with 3 pencils.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
120 stars is well deserved! Congrats.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
ventuz wrote:
I really believe COVID-19 is airborne virus.. wanna know why? New York is very windy city.
NYC is the perfect place for a pandemic to take over. With more than 10,000 people/km²,average cold temperatures and people from all over the world arriving all the time, pandemics will spread 'like the plague'. But yes, I would take anything from WHO and China with a huge grain of salt, as they have proved to be dishonest at times.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Makes me wonder how many viruses particles are needed to infect an average person. Specially because, according to WHO,
airborne spread has not been reported for COVID-19 and it is not believed to be a major driver of transmission based on available evidence
So, if the disease has advanced enough to become community spread, like in most countries, does it really make sense to prohibit people from going to the park or the beach? Staying home all the time, with someone of your family that has the virus but does not exhibit any symptom, could be problematic. Pretty much no one is making individual quarantine. https://www.nextbigfuture.com/2020/03/who-says-prolonged-exposure-in-confined-spaces-is-main-coronavirus-transmission.html
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Do you even program? lol
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
" the GBA version does not have a ceiling, so we can get as high as we can in this area." Then Mario should get as high as possible in order to minimize input length, right?
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Now this is gorgeous. Yoshi Island 1 surprised me the most. I'll make a comparison video.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Always good to see this game being improved!
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
1) Go to lsnes config folder. In Linux, it's at ~/.config/lsnes/ . On Windows, I guess it's at C:\Users\<Username>\AppData\Roaming\lsnes\ . 2) Search for file recent-projects.txt. There you can see the projects that appear in the menu and their location. eg {"display":"Super Mario World - Casual Gameplay","filename":"/home/rod/.config/lsnes/1516241292_dce9.prj","id":"1516241292_dce9"} 3) Open the file prj file (a plain text) to see some details, like the branches and where the lss movie files are saved. Search for prj.bak files too, just in case. eg:
Super Mario World - Casual Gameplay rom= last-save=/home/rod/emu/SNES/Super Mario World/Casual/smw-casual-15--34.lss directory=/home/rod/emu/SNES/Super Mario World/Casual prefix=smw-casual luascript=/home/rod/git/smw-tas/smw-tas.lua gametype=snes_ntsc coreversion=bsnes v085 (Compatibility core) projectid=bd03bf75509708d32ea62dfe6ae6c174d66ff828 time=1000000000:0 romsha=0838e531fe22c077528febe14cb3ff7c492f1f5fa8de354192bdff7137c27f5b romhint=Super Mario World (U) [!] romrom=/home/rod/emu/SNES/Super Mario World/Super Mario World (USA).sfc branch1parent=11 branch1name=Yoshi Island 2 branch2parent=11
Post subject: Re: Sprite tweaker corruption & spawning a Winged Cage
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Chutacoacko Playz wrote:
Do you have to do the stun glitch and zombie yoshi trick for it to work?
No. The color is borrowed from the original color of the sprite that was Yoshified. A few caveats: - if Yoshi becomes red, he will spit fireballs for all "koopas" that end up in 160E. - likewise, blue colors make him have wings, yellow makes the ground pound. - there's a color (0?) that makes Yoshi vanish in the overworld.
Post subject: Re: Sprite tweaker corruption & spawning a Winged Cage
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Chutacoacko Playz wrote:
Such a funny glitch! I'm pretty sure you can get other items like Princess Toadstool or a Yoshi in item box. :)
Yoshi: you can get with powerup incrementation. It could be possible without PI if you get a Red Koopa in carriable status, in order to perform the tweaker corruption. Sadly, Yoshi spits the fireballs after the stun glitch setup. I tried an alternative setup, but failed. By the way, there's a whole bunch of things that I didn't mention but I'll when I can. Like "duplicating" a rotating block downward or getting new sprites by stepping on them or hitting'em with the cape. The lsnes movie is also on the way...
Post subject: Sprite tweaker corruption & spawning a Winged Cage
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Link to video Memory addresses: $9E (12 bytes): Sprite number, or Acts Like setting for custom sprites. $B6 (12 bytes): Sprite X speed table. $C2 (12 bytes): miscellaneous sprite table. For Yoshi: Current state. 0 = normal, 1 = riding, 2 = running For line-guided sprites: "Current status. 0 = at end of tile, 1 = on rope, 2 = falling" $160E (12 bytes): miscellaneous sprite table. For Yoshi: "Sprite slot on Yoshi's tongue or in his mouth. Set to #$FF when null." For line-guided sprites: Tile number of the line the sprite is currently touching, minus #$76. $1656 (12 bytes): Sprite properties, first Tweaker/MWR byte. $1662 (12 bytes): Sprite properties, second Tweaker/MWR byte. $166E (12 bytes): Sprite properties, third Tweaker/MWR byte. $167A (12 bytes): Sprite properties, fourth Tweaker/MWR byte. Format: dpmksPiS d=Don't use default interaction with player p=Gives power-up when eaten by Yoshi m=Process interaction with player every frame k=Can't be kicked like a shell s=Don't change into a shell when stunned P=Process while off screen i=Invincible to star/cape/fire/bouncing bricks S=Don't disable clipping when killed with star $1686 (12 bytes): Sprite properties, fifth Tweaker/MWR byte. Format: dnctswye d=Don't interact with objects n=Spawns a new sprite c=Don't turn into a coin when goal passed t=Don't change direction if touched s=Don't interact with other sprites w=Weird ground behavior y=Stay in Yoshi's mouth e=Inedible $1697 (1 byte): Consecutive enemies stomped. $16A9 (4 bytes): Bounce sprite Y position, high byte. $190F (12 bytes): Sprite properties, sixth Tweaker/MWR byte. $192C (1 byte): Empty. Cleared on reset, titlescreen load and overworld load. Yoshification is a known glitch for some time. If Yoshi dies in the pit and another sprite take its slot immediately, the new sprite acts like Yoshi for at most 2 frames. Yoshi has a proper routine that is called separately from (and before) the main sprite loop. In the case of the Brown/checkered line-guided platform sprite, this puts $160E + slot might get #$1C or #$1D, depending on the location. In our case, it's #$1D. The Yoshi routine will run as if the vanished Yoshi had slot #$1D in his mouth. This sprite also will set #$C2 = 1 in some locations (as in the video), which makes the game think that Mario is riding Yoshi. You press X or Y in the precise frame that it occurs, you spit the sprite that is on Yoshi mouth. But not the one that you licked before, but slot #$1D. It's what Nathan's post described, nothing new yet. HOWEVER, if Yoshi spits something, there's a catch: if the sprite on his mouth has $1686 with Spawns a new sprite bit set, then a new sprite number will be spat, and all the tweakers will be reset. In this concrete case, $1686 + $1D = $16A3. That is the 3rd bounce sprite Y position. By hitting two distinct blocks (or the same block with the head and a sprite simultaneously) you can hopefully set this address to a value whose 6th bit is set, such that $16A3 & #$40 is not zero. It depends on the Y position of the block. So, a new sprite spawns with slot #$1D, but the game has only space for 12 sprites. Overslot corruption occurs. The new sprite number is $9E + $1D = $BB = speed of actual sprite 5. Thus we have to manipulate sprite 5 during this glitch. His X speed acts like the sprite that will "spawn". With this speed, we can load new tweakers, always with overslot: Tweaker 1 of this imaginary sprite will set tweaker 3 of sprite 5. Tweaker 2 of this imaginary sprite will set tweaker 4 of sprite 5. Tweaker 3 of this imaginary sprite will set tweaker 5 of sprite 5. Tweaker 4 of this imaginary sprite will set Consecutive enemies stomped.. Tweaker 5 of this imaginary sprite will set $16A9 (again). Tweaker 6 of this imaginary sprite will set empty memory $192C. It also sets the position of sprites 5 and 7. If you are not holding sprite 5, it can go offscreen and vanish (in the video it barely happens!). The rest of the history: by setting the p=Gives power-up when eaten by Yoshi and n=Spawns a new sprite (among other) properties, I can go to the pipe and use Yoshi to spawn new sprites or get new powerups. The former might crash the game in a bunch of cases and the latter depends on being able to lick the sprite and not swallow it immediately. I also have to grab two sprites upon entering the pipe to avoid losing the tweaker transformation. EDIT lsnes movie (also serves as anchored state) http://tasvideos.org/userfiles/info/60599501071338908
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
██████████████████ ████████ rod@rod-mnjr ██████████████████ ████████ OS: Manjaro 18.1.4 Juhraya ██████████████████ ████████ Kernel: x86_64 Linux 5.4.2-1-MANJARO ██████████████████ ████████ Uptime: 1d 19h 26m ████████ ████████ Packages: 1664 ████████ ████████ ████████ Shell: zsh 5.7.1 ████████ ████████ ████████ Resolution: 1366x768 ████████ ████████ ████████ DE: KDE 5.64.0 / Plasma 5.17.4 ████████ ████████ ████████ WM: KWin ████████ ████████ ████████ GTK Theme: Adapta-Nokto-Eta-Maia [GTK2/3] ████████ ████████ ████████ Icon Theme: Papirus-Adapta-Nokto-Maia ████████ ████████ ████████ Disk: 354G / 910G (41%) ████████ ████████ ████████ CPU: Intel Core i3-5005U @ 4x 1.9GHz [52.0°C] ████████ ████████ ████████ GPU: Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2) RAM: 8719MiB / 11894MiB Bizhawk is a no-go :(.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
If the elevator movement is "rigid" within the building, e.g. it doesn't slowdown/shake if you jump inside it, then you'll effectively be unable to tell if the elevator is still or moving in the first place. It's Einstein's equivalence principle!
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Nice troll.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
MUGG wrote:
I need a script that reads lines in text file A.txt, and checks if they are present in text file B.txt. If not, the lines are deleted from A.txt. I figured someone good can come up with a solution in 1 min so I don't have to spend 30 mins working on it. :P Thanks in advance.
Too late, but: EDIT: I'm afraid the previous solution had quadratic time. This one is linear:
Language: lua

local function do_shit_with_file(name, shit) local handle, err = io.open(name) if (handle) then local foo = shit(handle) handle:close() return foo else error(err) end end local function get_lines(handle) local ram = {} for line in handle:lines() do ram[line] = true end return ram end local function erase_if_not_in(other_file) return function(handle) local buffer = {} for line in handle:lines() do if (other_file[line]) then table.insert(buffer, line) end end return buffer end end local function overwrite_file(name, content) local handle = assert(io.open(name, 'w+')) handle:write(content) handle:close() end local B = do_shit_with_file('B.txt', get_lines) local A = do_shit_with_file('A.txt', erase_if_not_in(B)) overwrite_file('A.txt', table.concat(A, '\n'))
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Solution: https://imgur.com/a/3ecY8Hb You have to create your own mapping. This type of question is more appropriate in the Github issues. :)
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
I can't test, but the doc says: You can pause by issuing client.pause() You can verify the current frame with emu.framecount().
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
It seems your previous emulator had a function to create a new savestate object prior to use. In BizHawk, you simply save and/or load states from filepaths or numbers.
savestate.load void savestate.load(string path) Loads a savestate with the given path savestate.loadslot void savestate.loadslot(int slotnum) Loads the savestate at the given slot number (must be an integer between 0 and 9) savestate.save void savestate.save(string path) Saves a state at the given path savestate.saveslot void savestate.saveslot(int slotnum) Saves a state at the given save slot (must be an integer between 0 and 9)
http://tasvideos.org/Bizhawk/LuaFunctions.html So, simply reserve a slotnumber or file for usage, instead of "save1".
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
The previous run was console verifiable only when a certain SRAM address ($0101) had a specific value (0xFF). This fact was not known back then and the emulator should crash at this point with other values (like zero). There's a patched version of lsnes, written by p4plus2, that fixes this problem and crashes when Yoshi eats the chuck. This run with the shorter payload might have the same issue, I don't know. This patched lsnes also outputs the open bus execution in a hacky (but readable) way. 08/16/2017:
p4plus2 - Today at 5:16 PM its not the SMW glitch problem -- I did figure that out though Amaraticando - Today at 5:17 PM TASBot problem? p4plus2 - Today at 5:17 PM That was SRAM initialization problems. if SRAM is FF like in emulator no problem, but on console it is less predictable
If you wanna give a try: https://www.p4plus2.com/tools/lsnes_debugger.7z
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
This forum needs a LaTeX renderer.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Finally, this game end glitch is valid on console. Hopefully, the last one in this category. Yes vote.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
The Map is here https://www.smwcentral.net/?p=nmap&m=smwram
What code should not be in $9E in order for the game to NOT crash?
It's not code, it's the sprite number, as I told you. Most numbers from 0 to 0xFF won't crash, except for most generators and commands. Invalid sprite numbers that won't necessarily crash IIRC:
cc, cd, d1, d4, d6, d8, db, dc, df, e9, f0, f3, f5, fd