sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
Specifically, most times I've tested things recently you need to delay the audio track by one second. I'll be looking into fixing this and having the sound track be dumped into AVI files, but I have other priorities at present (like getting Wii rerecording working - I've had some promising results to this point).
Joined: 7/16/2006
Posts: 635
Well, I'll have to try it out myself once r7141 gets built. If this works, we have sync, we have frame advance, and we have rerecording. It looks as though the era of GCN TASes is upon us.
Active player (437)
Joined: 4/21/2004
Posts: 3517
Location: Stockholm, Sweden
Uhm, I hope everyone who is interested in this lovely emulator has followed the latest development. I mean I can't believe we are there.. I've "lobbied" at team dolphin-emu for about more than a year and finally my dream is coming into reality. For instance, frame counter, free mapping ofhotkeys for almost all commands, wii input recording, better savestates and rerecording have been added.. the end is very near :)
Nitrogenesis wrote:
Guys I come from the DidyKnogRacist communite, and you are all wrong, tihs is the run of the mileniun and everyone who says otherwise dosnt know any bater! I found this run vary ease to masturbate too!!!! Don't fuck with me, I know this game so that mean I'm always right!StupedfackincommunityTASVideoz!!!!!!
Arc wrote:
I enjoyed this movie in which hands firmly gripping a shaft lead to balls deep in multiple holes.
natt wrote:
I don't want to get involved in this discussion, but as a point of fact C# is literally the first goddamn thing on that fucking page you linked did you even fucking read it
Cooljay wrote:
Mayor Haggar and Cody are such nice people for the community. Metro City's hospitals reached an all time new record of incoming patients due to their great efforts :P
Editor, Expert player (2331)
Joined: 5/15/2007
Posts: 3940
Location: Germany
sonicpacker wrote:
Rev 7144 compiled by bzb95: http://www.mediafire.com/?a0cl4qcqow4xm2a
This is 64bit, so I can't use it. Guess I will have to wait for someone else compiling it or wait for http://www.dolphin-emulator.com . No need anymore.
Player (64)
Joined: 3/2/2007
Posts: 123
Location: Lake Havasu, Arizona
toadking - huh wow. Looks like the "dual core" option was the one that fixed the frame advance issue. How it was randomly skipping over a frame once every 3 or 4 times. Now that's fine. Awesome. i cant try the Audio LLE thing cause it gives a bunch of different errors i've never seen ever before about "cant load bin" and stuff. But im not worried about that. but the savestating issues are a real serious pain in the ass though. Dolphin 2.0 is far better at handling it for some reason. But i've only tried like up to revision 7090-something. I realize i should try one of the latest, but i haven't had the time to yet. And its a bummer that my savestates dont work on anything "outside" of 2.0. :( it just gives a "states cant be used from other revisions!" message.
Joined: 7/16/2006
Posts: 635
OK, new problem discovered. As you know, L and R have both an analog part (how far you've pressed it down) and a digital part (the click). Dolphin's recording only records the digital part. In fact, if you only press L or R halfway, Dolphin records it as a click, but leaves the analog part at 0. Since several games need the analog character of the L and R buttons, this will need fixing.
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
Was there a specific game where this is a problem? I inspected the GameCube DTM format and it does store the analogue state of the trigger.[/url]
Joined: 7/16/2006
Posts: 635
I noticed this while doing that TAS of Metroid Prime. The movie kept desyncing whenever I would do an L jump. Then I noticed that the crosshairs weren't appearing. After I tested it a bit, it seemed that any press of L or R was registered as a click press with no analog component.
Player (156)
Joined: 2/4/2011
Posts: 61
I noticed playing on Dolphin that it uses your computer's time as the emulated system time. Practically, that is awesome. But wouldn't you need the same time for every power on for TAS? Is that saved in the .dtm file?
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
The power-on time stamp is fixed to "1234567890" when recording/playing input files. I believe an option is going to be added in the near future to allow that to be set.
Joined: 12/6/2008
Posts: 1193
I know there is no external plugin support but will there be an internal TAS input plugin eventually? Without optimized TASes won't be possible...
Joined: 7/16/2006
Posts: 635
Well, to be honest, all we really need is the ability to set the X-axis and Y-axis of each stick independently. A Mupen-style TAS Input plugin would certainly be more convenient, though. EDIT: Also, it seems that the source of the problem I was having earlier is not the dtm file. Having looked through the files in a hex editor, they clearly recorded the L and R analog components. Thus, it is clear that for whatever reason, the routine that reads them in isn't doing so correctly. However, just to be certain, is there a place I can find the dtm file format? Lastly, this has been bugging me for a while. What does dtm stand for? Dolphin ???? Movie?
Former player
Joined: 9/1/2005
Posts: 803
petrie911 wrote:
Well, to be honest, all we really need is the ability to set the X-axis and Y-axis of each stick independently. A Mupen-style TAS Input plugin would certainly be more convenient, though.
For gamecube: x/y axis of the main/c analog sticks, and analog L/R buttons is needed. For wii, you have: accelerometer, gyroscope, IR pointer position, whatever attachment is plugged in (which can also have an accelerometer in it). So there's a lot more fine tuning required for wii over gamecube.
Lastly, this has been bugging me for a while. What does dtm stand for? Dolphin ???? Movie?
Dolphin TAS Movie?
Joined: 3/20/2009
Posts: 87
petrie: Can you test this movie for me? I'm trying to figure out why only full presses for shoulder buttons are working for you, since everything works fine on my end. http://www.mediafire.com/?y83xxef9bf18njd This movie was made with r7177 in Metroid Prime and uses the memory card you uploaded in the other thread. In it, after loading the first save file, Samus should look up, then look down, and a crosshair should appear in the center of the screen when looking down. Make sure Dual Core and Idle Skipping is off, and the audio engine is set to HLE. (Although I'm still unsure if the HLE engine is deterministic enough to used for a full TAS. I got a huge desync when trying to dump the raw frames to make a sample video for this demo, which I don't get if I rerecording it with the LLE engine.)
Joined: 7/16/2006
Posts: 635
Played the movie back on r7166M. It went through everything you described, except the crosshairs didn't show up. Also, I think I've finally got the LLE working, so I'll probably switch over to that for TASing. Atma: I was under the impression we already could do L and R, but apparently not. And I had kind of forgotten about Wii TASing entirely. Yeah, that one's probably going to need some sort of TAS input plugin, and also sounds hideously complicated. And one more thing. In Metroid Prime, it's possible to lock onto a scan target without scanning it. To do so on an actual Gamecube, you simply hold down the L-button, then unplug your controller and plug it back in. After doing that, pressing L will lock onto scan targets but not scan them. I can't seem to reproduce this functionality in Dolphin. Does Dolphin allow you to press the "button" part of L without pressing the analog part? And I'd still like to know that file format.
Joined: 3/20/2009
Posts: 87
Well, that means that it's playing the half presses for the shoulder triggers correctly. Not sure why it's not working for movies you make. (Also, are you sure you didn't see the crosshair? It's supposed to show up if R is pushed in all the way, which I do when looking down, but not up. It should look like this.) The header for .dtm files are detailed here in the DTMHeader structure, but not all the fields are used or even set yet. (gameID is ignored for playback at the moment, uniqueID isn't set, and all the fields after numRerecords are not set yet.) The format for the Gamecube controller is the ControllerState structure. I'm not sure how Wiimotes are stored. I think we just store the raw emulated USB packets for it. EDIT: The comment for numControllers is outdated. It now is a bitmask of the controllers used. (First 4 are GC controllers 1 to 4, last 4 are Wiimotes 1 to 4.)
Joined: 7/16/2006
Posts: 635
Oh, that crosshairs. Yeah, that shows up fine, and I never had a problem with it. However, if you had tried to look around without the crosshairs showing up (a lighter press of R), the crosshairs still show up. Also, the small + that shows up when you press L never shows up in recordings for me. Now, looking through that file format, it is quite simply wrong. The L and R buttons need to be recorded separately from the triggers, as they are on the real gamecube. In fact, section 9.2.2 here (http://hitmen.c02.at/files/yagcd/yagcd/chap9.html) gives the exact input protocol of the GCN controller. I'd suggest that Dolphin should use that. [000SYXBA] [0LRZ^v><] [Analog X] [Analog Y] [Cstick X] [Cstick Y] [L Analog] [R Analog] Where 0s are unused bits and ^v>< are Dpad directions.
Joined: 7/2/2007
Posts: 3960
Wait, the C-stick is analog? I've only ever seen it be used as a bastardized D-pad.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
petrie911 wrote:
The L and R buttons need to be recorded separately from the triggers, as they are on the real gamecube.
http://code.google.com/p/dolphin-emu/source/detail?r=7179
Former player
Joined: 9/1/2005
Posts: 803
Derakon wrote:
Wait, the C-stick is analog? I've only ever seen it be used as a bastardized D-pad.
I'd wager that's because of 2 reasons: 1) Many years of gaming has delegated the right thumb to button pressing, not directional input, so you wont get as accurate input from it as you would the left. 2) It doesn't have a proper stick on it for decent grip, so it'd be harder to get an accurate input for what might as well be non-100% directional presses. petrie: It sounds hideously complicated, but then you realise that there aren't too many games that utilise those functions extensively (though a game I want to tas does use one of them on a reasonable basis).
Joined: 7/2/2007
Posts: 3960
Your second theory sounds more plausible to me than the first, seeing as the PS2 (which uses a modified PSX controller, right?) has dual analog sticks and I don't think anyone's ever really had trouble with it for at least simple things like camera control.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Joined: 12/6/2008
Posts: 1193
petrie911 wrote:
And I had kind of forgotten about Wii TASing entirely. Yeah, that one's probably going to need some sort of TAS input plugin, and also sounds hideously complicated.
Since the gyroskope can sense how the wiimote is positioned compared to the ground without restrictions, yeah that control will be tricky. First you need to put in how much it's pointed up/down, left/right but then also how much the wiimote itself is tiltet to the left or right. So that's 4 controls right there. two 360-degree arrows (for the position in space) and 2 sliders (for the tilt of the wiimote) But ofcourse those two tilt controls can be doubled with the controls for the wiimotes tilt sensors, that older games use. The pointer could be done with a field with coordinates that represents the screen, where you click where the pointer should be. The two accelerometers can be done with two sliders. Man that would be a big input "plugin" and it would probably be best to make two seperate ones for Wii and gamecube, to not fill the whole screen with it. Is there anybody here in the position to tell me if something like this might be implemented in dolphin in the future?
Joined: 5/24/2004
Posts: 262
Making a wiimote TAS plugin is certainly isn't trivial, but storing the data should be. The accelerometer is well documented, and the movie file should just store the data with the same resolution (bits) as is used natively with padding if necessary for byte alignment. I wouldn't worry about the Wii Motion Plus for now; I suggest the devs just work on getting all the wiimote and nunchuk data in the movie files.
Joined: 2/1/2008
Posts: 347
http://code.google.com/p/dolphin-emu/issues/detail?id=502 It has been declared that most of the major TAS features have been added to Dolphin. It appears you need to use the settings mentioned on the second to last post on the page above. I wonder if you can't have the sound playing at all though; one of the settings says the audio output needs to be off. This was implemented in r7186, apparently, so it looks like it will be a few days until an SVN build version is created.
<ccfreak2k> There is no 'ctrl' button on DeHackEd's computer. DeHackEd is always in control.