So I was trying to edit my DTM file with HxD, but I am having problem interpreting this.
I did take a look at this:
http://tasvideos.org/DTM.html
but I still feel lost.
I still can't comprehend which row and which columns means what.
Thanks.
On the left you have each row for each 16 bytes.
On the top you have each column for each byte.
On the page you linked, it is written:
What does it mean? Starting from the byte 4 to the byte 9 (that's 6 bytes) you have a value, which is String (=text), this value is the Game ID: the hexadecimal value is 47 46 45 45 30 31, which is bleh, however you could just look at the text on the right where a human readable form for any text is displayed, here it is GFEE01.
Apply the same logic to the other values.
EDIT: for Integer, they are numbers written in Little Endian, which means you have the lowest value first. Example with:
Starting from D you have the following values: 7A 10 00 00 00 00 00 00.
To translate that number, first let's rewrite it: 00 00 00 00 00 00 10 7A, or rather 107A. Then you either do the math :
1x16^3 + 0x16^2 + 7x16^1 + A = 4096 + 112 + 10 = 4218
or use a calculator that converts from hexa to decimal.
Thanks a lot.
I'm still slightly confused, but I think I got a better grasp of it now.
Now, I'll start playing around with it! :)
--------------------------------------------------------------------------------------------
One more question, what represents "doing nothing"?
Because I'm trying to get rid of the portions where I just stop and do nothing,
but what happens is that it just messes up my TAS and do really random things.
Thanks.
A frame with no controller input looks like this:
00 00 00 00 80 80 80 80
There's a couple of them in your screenshot starting at 0x100.
If you just put a bunch of nulls then it translates to mashing down left on the joysticks, so that could be messing you up. I'm not exactly sure what you're going for though. If you're removing frames it might be causing desyncs with the RNG, or maybe you accidentally edited the header or misaligned the frames. You might also miss an input if it gets shifted into a lag frame, which would probably happen pretty often if the game has a lot of pauses.
The value which is set to 16, I would change that to 8 so that each row is exactly 1 VI. At offset 100 is when your controller inputs begin. It would be helpful if you learn counting in hex and binary.
I actually do know how to count in binary and Hex, because I learned it in my programming class. But I never really got the experience where I must use hex or binary.
Well, I think I understood much more about dtm files. Thanks a lot!
I hope I can make a TAS sooner or later :).
You almost never need to use binary yourself, but it's useful to know how to read flags out of a value.
(e.g. if a byte is >= 128 (aka 0x80) you know it has the highest bit set, which might indicate some condition)