Posts for RainbowSprinklez


Experienced Forum User
Joined: 10/2/2015
Posts: 91
Thanks for the tips. I tried alternate settings to no avail. The biggest thing which I find odd is that different versions of bizhawk work differently.
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Post subject: Bizhawk keeps freezing on me!
Experienced Forum User
Joined: 10/2/2015
Posts: 91
Bizhawk keeps freezing on me! Anybody know why? http://www.mediafire.com/view/pi98mruhcp38gar/jEebzrYFRt.mp4 I am trying to boot a game of Pokemon Stadium 2. I would really like to use the debugging features since I can't find tools elsewhere.
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Post subject: Bizhawk SNES c#?
Experienced Forum User
Joined: 10/2/2015
Posts: 91
***EDIT*** Since I struck out with that idea, since bizhawk is c#, how can i connect to ram with a custom program? I get that I read the dlls. from the dll folder in bizhawk, but which one? i want to be able to read and poke ram in my program I am interested in creating an experience like Super Mario 35 for Donkey Kong Country (DKC). Basically, the main goal of SM35 is to outlive opponents. defeating enemies sends them to other players. I got a working prototype. All I do is in-game, I store each object's pointer. When an enemy dies, I transfer that to a 'SendMessage" variable. Every frame, I check 'ReadMessage' (I know this can be simpler, but on a 20+ yr old game I'm not being picky) and spawn a new enemy if anything is in there. I wrote this basic script to mimic what would happen if I were both the sender and the receiver.
Language: lua

memory.usememorydomain("WRAM") -- just in case local SentMessage = 0x18012 -- Send message in-game. Message to send from killing an enemy local ToSend = 0x18010 -- Received message in-game. Send to a specific client local function unsigned16(num) -- Fixes underflow problem local maxval = 0x8000 if num >= 0 then return num else return 2 * maxval + num end end local function format_hex16(number) return string.format('%4x', unsigned16(number)) end while true do local msg = memory.read_u16_le(SentMessage) local asInt = tonumber(msg) local asString = format_hex16(asInt) -- For debugging if asInt ~= 0 then memory.write_u16_le(ToSend, asInt) -- Assign new object to 'received' memory.write_u16_le(SentMessage, 0) -- 0 'send' console.writeline(asString) end emu.frameadvance() end
A good chunk of the remaining work is programming the Lua backend. Unfortunately, I am pretty nooby when it comes to sockets. Can someone else walk me through socket programming in Lua, please? Again, I have it setup so the game automatically sends and reads a message via ram. Can someone please give me an example of how to send messages between clients? I don't need you to program this for me. Just an example will do. I can handle it from there! EDIT*** I think i see... ip address is like street address. port is like the entrance/doors and windows (access paths) So, ultimately, I would need 2 scripts, right? A server script and a client script? ***EDIT*** Since I struck out with that idea, since bizhawk is c#, how can i connect to ram with a custom program? I get that I read the dlls. from the dll folder in bizhawk, but which one? i want to be able to read and poke ram in my program
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
Interesting... this is not a dkc1 thing because of the differences in goals. dkc1 has exit regions, as opposed to tangible exits. If a way was possible, Alyosha or Tompa would've found it with bird croc :) Also, there is a more technical reason, based on the way objects are ordered in the object map.
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
Doomsday31415 wrote:
Idea: What if you do the entire game while holding Y instead? This would make it go slightly faster and avoid the issue of Queen Bee, all while still taking away the all-powerful roll the game is known for.
I like this idea. However, difficult to get people on board without seeing it. Also, no sjrs or jrs :D Tompa. How do you feel?
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
Thank you!
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Post subject: SNES APU editing
Experienced Forum User
Joined: 10/2/2015
Posts: 91
This is pretty off topic, but I'm wondering if anyone here has knowledge of the SNES sound chip. I am currently making a hack and would like to edit some. I realize this is not the place to ask, but everyone is so knowledgeable here :)
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
Ok, I see your point guys. Then why do we use this line?
table = joypad.get(1)
Or should we not?
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Post subject: Lua help please
Experienced Forum User
Joined: 10/2/2015
Posts: 91
I want to write a lua script that counts the number of frames an input is pressed in a movie... what am i doing wrong here?
Language: lua

local upCount = 0 while true do table = movie.getinput(emu.framecount()) if (table.up) then upCount = upCount+1 print(upCount) end emu.frameadvance() end
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
Tyvm for your help :)
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
jlun2 wrote:
Normally, I don't even look for hitboxes. I just find their X/Y values, then draw an approximate square around them, depending on what enemy they are.
That sounds pretty tedious, but I guess that is the nature of TASing.
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
Like, if I were TASing SMW,, could I just use one set of values for ALL koopas? Or do I go unique for each instance?
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
I'm not sure if this is in the right place. What my endgoal is to write a lua script that displays hitboxes, but I'm not sure how to accomplish this. Do I have to find EVERY enemies hitbox? Cause I can do that. Or does there exist a 'master' code that I can access? My game is Donkey Kong Country btw.
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Post subject: Free ride. Help?
Experienced Forum User
Joined: 10/2/2015
Posts: 91
I've been taking a free ride for FAR too long. I know the basics, such as some RAM searches, frame advance and whatnot, but want to learn more advanced things like tables and sprite info. Can somebody please give me a recommendation on where to start?
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
Mothrayas wrote:
That, or find the answers in RAM. I know from SNES Family Feud at least that it had a series of memory addresses where the expected (minimal) phrases were stored as ASCII strings. With a tool like BizHawk's hex editor where you can see the RAM as both hex and ascii characters, it's easy to find such phrases just by scrolling through RAM while in game.
Thank you SO much! This helped me enough to get going!
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
Samsara wrote:
It seems to be the same as any other game like this with a text parser: It only checks for specific letters in a specific order, it doesn't check for complete phrases, meaning if you play around with spelling and dropped letters you can easily find acceptable phrases that are much shorter than the actual correct answer, i.e "AprilFol" as opposed to "April Fools Day".
I guess my ultimate question is how do you find the characters required? Guess and check?
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
Spikestuff wrote:
For example you answered "April Fools Day" for one of the questions the shorter answer is "AprilFol"
Ancient, but can you explain the text parser to me?
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
I liked it, but the game is too long to be consistently funny. There's like, 60 rounds of that! Plus, the rng works for sets of questions based on the frame you start. So once you start, there's NO way to change the questions... so finding one that is funny for all 60 is nigh impossible.
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
Nice application! I used Heisanevilgenius' Family Feud TAS to find that this is possible here too. Example? Link to video
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
Tompa wrote:
After too many hours of testing and researching this: I officially give up.
NO! DON'T GIVE UP! Link to video
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
Ok, thanks. That's what I thought. One other question, if I copy something in TASStudio, could I paste it in a different TAS?
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
what are branches in tas studio?
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
My 2nd WIP is done! Link to video
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
I wrote a simple, messy, needs to be refactored lua script that tracks time on load state. Decent for practice, it tells you the average time between loads, best time, and worst time. Also, this is on Snes9x http://www.mediafire.com/file/8akl8msku7ld1eb/timerNew.lua
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)
Experienced Forum User
Joined: 10/2/2015
Posts: 91
Amaraticando wrote:
This syntax doesn't make sense, for 3 reasons: 1) savestate.registerload returns the previous function registered (or nil). You can't use function before, because that's the way to declare it. 2) you already declared LoadStateCallback before. Using function inside the parenthesis is only for anonymous ones. 3) The vararg is ... without quotes. Not sure why you need that in the first place.
Thank you! That little bit worked WONDERS for me. After submitting,I realized I already knew all that. I just couldn't come up with the correct answer!
I didn't kill donkey, I saved it. Current projects: Misc Donkey hacks :) Past projects: Pacifist DKC1 DKC1 Entrance randomizer DKC2 Entrance randomizer DKDC (a troll hack of DKC1) DKC1 Enemy randomizer (among other things)