Posts for DDRKhat

1 2 3 4 5
15 16
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
Heh oh wow, I got credit for support, I wasn't aware I did it much but I'm glad the incidental motivation helped! :D Glad you managed to finally submit this and here's hoping that one day some new glitch would be revealed so that Perfect Ring can be obtained on those few skipped levels. Yes vote but almost a meh , I have to admit, sometimes I don't get the backtracking but I'm too used to Sonic SPEEDRUNS not Sonic Ringruns. So once I get that in my mind I can enjoy it for a Speed-ringrun.. if that makes sense.
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
Alright.. so I sat and did some fiddling... and I can't help but wonder that THIS code should work;
gens.registerbefore(function()
	-- Important variables 
	SonicX = memory.readwordunsigned(0xffb008)
	SonicY = memory.readwordunsigned(0xffb00c)
	TailsX = memory.readwordunsigned(0xffb048)
	TailsY = memory.readwordunsigned(0xffb04c)

	-- Set Sonic's position in Tails an capture screen
	if TailsX>= 0 then memory.writeword(0xffb008, TailsX) end -- Set SonicX to TAILSX
	if TailsY>= 0 then memory.writeword(0xffb00c, TailsY) end -- set SonicY to TAILSY
	TailsCam = gui.gdscreenshot() 

	-- After, reset Sonic's position.
	memory.writeword(0xffb008, SonicX)					-- set SonicX to SonX
	memory.writeword(0xffb00c, SonicY)					-- set SonicY to SonY

	-- Finally draw the picture on the bottom half of the screen. (split-screen style) 
	gui.image(0,(224/2),TailsCam) 
end)
This should cause the level data to load correctly due to Sonic being at Tails' Co-ords which happens to bring along the Camera also. It seems to work alright and the Sonic2 demos don't desync at all, it even happily draws the split-screen view. What I don't get is that the second view (which should be showing modified camera?) is just a clone of the first?
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
Felipe wrote:
This is what I can think to do:
-- Important variables
CamX = memory.readdword(0xffee00)
CamY = memory.readdword(0xffee04)

-- After, set camera's position in Tails an capture screen
memory.writedword(0xffee00, memory.readword(0xffb048) - 240)
memory.writedword(0xffee04, memory.readword(0xffb04c) - 112)
TailsCam = gens.gdscreenshot()

-- After, set camera's position in Sonic an capture screen
memory.writedword(0xffee00, memory.readword(0xffb008) - 160)
memory.writedword(0xffee04, memory.readword(0xffb00c) - 112)
SonicCam = gens.gdscreenshot()

-- Finally draw the pictures and set the camera's position to original.
gens.drawimage(-160,0,TailsCam)
gens.drawimage(160,0,SonicCam)
memory.writedword(0xffee00, CamX)
memory.writedword(0xffee04, CamY)
I dont know if it is well written, but this should work. But i dont know in what event run it. Maybe someone could make it any arrangement.
nitsuja wrote:
This isn't so useful, but here's a little script that applies extreme motion blur to everything:
gens.registerbefore(function() gui.image(gui.gdscreenshot(), 0.8) end)
I adapted this.. doesn't seem to work as you suggest though... I think your missing the step of putting the two images into one as disabling either gui.image for Sonic/Tails ends up with interesting results...
gens.registerbefore(function()
	-- Important variables 
	CamX = memory.readdword(0xffee00) 
	CamY = memory.readdword(0xffee04) 

	-- After, set camera's position in Tails an capture screen 
	memory.writedword(0xffee00, memory.readword(0xffb048) - 240) 
	memory.writedword(0xffee04, memory.readword(0xffb04c) - 112) 
	TailsCam = gui.gdscreenshot() 

	-- After, set camera's position in Sonic an capture screen 
	memory.writedword(0xffee00, memory.readword(0xffb008) - 160) 
	memory.writedword(0xffee04, memory.readword(0xffb00c) - 112) 
	SonicCam = gui.gdscreenshot() 

	-- Finally draw the pictures and set the camera's position to original. 
	gui.image(-160,0,TailsCam) 
	gui.image(160,0,SonicCam) 
	memory.writedword(0xffee00, CamX) 
	memory.writedword(0xffee04, CamY)

end)
 
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
Sounds interesting and that's certainly -an- way to it. I thought perhaps though you should however; 1) STORE P1x,P1y & CamX, CamY in a variable 2) SET P1x,P1y & CamX,CamY to P2x,P2y 3) Screenshot the level data (somehow) 4) Restore P1x,P1y, & CamX, CamY to original values. This way you would get the level data you need to re-draw the screen when doing Tails.lua and can accurately draw it (which perhaps also fixes desyncs?) I'm pretty sure that as long as you do the above per screen render process, movies should sync up fine as the GAME will still see things happen the way they should, but the EMULATOR would allow the player to see Tails off-screen with accurate level data.
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
As far as I'm aware. The hard-coded Camera hacks function by rendering the next X frames earlier, forcing Sonic & Cam to the required location for those frames, saving the data and using it to render. If possible, that might allow TailsCam.lua? You would essentially do the same thing, forward render (forcing Sonic to Tails' off-screen location) and take a copy of the tile data or whatever, so you can re-draw the screen.
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
I take it that this involves the three launchers towards the beginning of Ooz2 ? if not, any chance this can help reach those impossible rings in CNZ2 ?
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
Felipe if you ever manage to get that code to show tails locked onto the screen with correct re-draw that is gonna be awesome. I will point out though that whilst I was simply watching the Sonic2 demos to see where tails ended up half the time, it caused them to desync (which in theory would cause netplay to desync too?)
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
marzojr, any chance you could implement a max ring count in your SonicHud script? I managed it quite easily with this snippet (but im sure you could do better); game-info.lua
function game:get_rings()
	if rom:is_sonic2() then return string.format("%3d/%d", self:get_raw_rings(),(self:get_raw_rings()+memory.readwordsigned(0xffff40)))
	else return string.format("%3d", self:get_raw_rings()) end
end
Also, given the knowledge from earlier, would it be possible to make a indicator on Tails (For 2,3,3k) that notifies you if he can obtain rings or not?
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
It syncs on Megamix v3 from a blank SRM. And you can I suppose, I have stopped working on it but theres nothing stopping me going back. I do apologize for the poor quality of the video, and I really should re-upload it sometime. If I ever do get around to it though, I would probably do V4 but that is pending release (if it happens, not to sound negative, but it is an IF) and released maps so that I can plan routes.
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
Watching it, it was alright. But it also seems that not alot of route-planning went into this, as my own WIP demonstrates some path choices he could've easily taken and saved alot more time on some of the stages, Dark Fortress act 3 in particular.
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
FuzZerd wrote:
DDRKhat wrote:
I don't know Felipe. Do you have a Camhack of Genesis so that you can see Tails off-screen? Because it really doesn't feel like your using tails to his full potential. Such as in Emerald Hill Zone 1, you don't have him go through the floor (by being off-screen) so that he can get you the rings in the ..floor..? @ 0:14->0:16 so that you don't need to back-track in there?
I'm not sure exactly you're talking about. keep in mind that tails can only grab rings that are slightly off screen.
Tails can go through solid objects whilst he is off-screen. Not to mention if you jump very low whilst moving at speed you will fall through a slope (Just like how I did in the Emeralds run WIP). I know that he can only collect rings NEAR sonic, but AWAY from sonic he is able to clip through objects. Would this not help in some of the above situations being "impossible" ? If in Aquatic Ruin there is only those TWO rings, surely Tails moving faster than Sonic would allow him off-screen so he can get INTO that object? (I can't try at this moment, will do later)
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
I don't know Felipe. Do you have a Camhack of Genesis so that you can see Tails off-screen? Because it really doesn't feel like your using tails to his full potential. Such as in Emerald Hill Zone 1, you don't have him go through the floor (by being off-screen) so that he can get you the rings in the ..floor..? @ 0:14->0:16 so that you don't need to back-track in there? As for your goals I reckon the following would be adequate; -Obtains "Perfect Bonus" in all possible levels *1 *1 - Some levels have rings in inaccessible places (Inside of objects, unreachable locations) due to old level layouts from during development. Subsequently ending up in it being impossible to achieve the "Perfect Bonus" in all levels.
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
hegyak In theory, you would have to find the fastest possible way to obtain 50 rings (using tails to go off-course, because Sonic would need to remain on the tried-and-tested route to keep up with the TAS) and even then you have to hope that you're going to cut alot of level time out. Upthorn did some theory calculations using my run as a sample.
upthorn wrote:
Not counting time spent in special stages (6921-1424 + 13782-7967 + 21980-15031 = 18261 frames (5 minutes 4.35 seconds), you have lost 2130 frames (35.5 seconds) in EH1, compared to entering no special stages. (1424-579+7697-6921+15031-13782+22286-21980 = 3176; 1625-579 = 1046; 3176-1046 = 2130) By comparison, if you entered only one special stage, at the third lamp post, you could probably get away with only 3 to 5 seconds loss. If we assume about the same time loss for each emerald, we get 2130 * (7/3) = 4970 frames (1 minute 22.8 seconds) of in-level time loss. Whereas 3 to 5seconds per emerald * 7emeralds = 21 to 35 seconds of total in-level time loss. Yes, this will require more work from you, but it'll provide a savings of 47 to 61 seconds, which is way too much to shrug off. In fact, collecting a single chaos emerald would have to lose you almost 12 seconds in each level it's done in for this not to pay off better.
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
It was posted in a rather bratty post here. Quite an old post, so easy to understand how it got buried and forgotten. I'm surprised it was still being hosted when I found my old post.
A whisper in the wind~~
Post subject: Re: all emeralds: youtube
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
antd wrote:
Link to video
DDRKhat wrote:
You do realize that the subject of a "All Emeralds" run happened quite a long while ago? It got shunned for taking too long but it's still worth a look at just to see the potential use of tails getting Emeralds.
Heh. Ya'know what? Thank you for doing such a good encode of that. It's kinda refreshing to watch it on YouTube rather than in Gens.
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
@Janus. You do realize that the subject of a "All Emeralds" run happened quite a long while ago? It got shunned for taking too long but it's still worth a look at just to see the potential use of tails getting Emeralds.
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
I knew about both those tricks, but it seems you were going into the research and doing that whilst the screen was still transitioning, I didn't do this myself. Also for TASing, I'm doing it for my own personal amusement to see the game destroyed, albiet I would much MUCH rather do it with the Amiga and thus I'm using the Megadrive as a test run to get info before then trying it on Amiga. I already knew the people count glitch (And how you can use "C" to place your position on the map and if you hold it, it rapidly decreases your person count giving you more for later levels) I could've sworn that way back in the day when I was young and played this I knew other little trick glitches but for the life of me cannot find any of my research so oh wells.
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
Damn I want to say that I've seen a frozen dungeon now.
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
Well, I will have to say you were definitely faster than my own little test wip.
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
I look forward to destroying Mega-Lo-Mania. Even if it is for my own personal amusement.
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
I must admit, when I watched it I was like "Oh my god. lawl." I'm wondering if it can't be optimized that Tails initiates the glitch and quickly grabs a ring before the zipping, so that you have a ring to optimize the boss, or if it's possible to change the way it starts towards the zip as there are three perfectly good rings to grab right at the start.
A whisper in the wind~~
Post subject: Typing of the Dead
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
I would love to be able to do a run of this (or subsequently, SEE someone do a run of this) It might not seem like the greatest game choice but I would enjoy seeing this game just get ripped apart. Unfortunately I can't seem to get HourGlass to run this I get a really unhelpful window pop up that merely says; --------------------------- CRASH --------------------------- The game crashed... and for some odd reason HourGlass seems to boot two?
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
so still no sign on any progress on this or anything?
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
I'd like to ask if this is still happening.
A whisper in the wind~~
Experienced Forum User, Published Author, Player (36)
Joined: 9/9/2006
Posts: 388
I'm gonna have to pass the honour of this one up guys. I am ending simply rediculously busy. if diggiyo or some other experienced player could do this i'd love to watch it later. unfortunately theres no real point giving my input as it's not fully complete in getting to tornado man, but will provide it if it does help.
A whisper in the wind~~
1 2 3 4 5
15 16