thanks for flechette for helping me out and letting me post this
hope that helps******************************************************
* Meta Tutorial v1.0
* Thanks to flechette for makin this possible
******************************************************
Venom: everything was cool...we both didnt understand meta...now you do...
flechette: ^^
flechette: I only got it because I finally got how magic played a part with the pointers
Venom: pointers?
flechette: yeah, DWords that end in 40 or 41
Venom: how do you know what they point to?
flechette: well
flechette: did you read the .txt file I linked to?
Venom: i saw it
Venom: maybe im one of those people that "may be better off accepting the fact that its not for them..".
flechette: well, it's almost the same thing as value editing. it's just that there's a LOT more to go through
flechette: like
flechette: ok
flechette: my first pointer I found in the two things I compared in the meta (needlerMP and rocket meta projectile data) was
flechette: well. it was 68424640 for needler. and at the same place for rockets it was 93C64540.
flechette: They obviously don't point to the same place
Venom: ya
Venom: but is there a way to tell what they point to?
flechette: yeah
flechette: ok
flechette: well
flechette: take the first one
flechette: 68424640
flechette: now, all pointers like this are in little-endian.
Venom: ok
flechette: which basically means that they are backwards. kinda.
flechette: because in hex, it looks like
flechette: 6842 4640
Venom: ya
flechette: and you don't usually change one byte
flechette: you change both
flechette: so it's more like
flechette: 68 42 46 40
flechette: so when you reverse it, you make it
flechette: 40 46 42 68
flechette: see?
Venom: but why would you reverse it?
Venom: just because?
flechette: you reverse it because uhm. intel chips read data that way
Venom: o
flechette: it's... silly, but that's how it's done
Venom: so you reverse it
Venom: just because
flechette: yeah
Venom: ok
flechette: just because.
Venom: lol ok
flechette: so once you DO that reversing
flechette: you can subtract magic
flechette: on blood gulch, magic is uh
flechette: 3FBEE68C
flechette: so you'd take 40464268 and subtract 3FBEE68C
from it
flechette: and that's how you get the new offset that the pointer is pointing to
flechette: and in this case
flechette: the data that is being pointed to is 'weapons/needler/projectile/projectile'
Venom: how do you know
flechette: well
flechette: do you have a hex editor open?
Venom: i got 875BDC
flechette: yeah
flechette: 875bdc is the offset
Venom: but how do you know tahts weapons/needler/projectile/projectile
flechette: well
flechette: go to that offset and look
flechette: are you using hex workshop?
Venom: yes
Venom: ahhhhhh
Venom: it has words!
flechette: mmhm
flechette: it's a string
Venom: lol
flechette: it's telling the program what value to use
Venom: ok
Venom: ok but now what are DWords?
flechette: ok
flechette: 7765 would be a word.
flechette: 77656170 is a DWord.
Venom: because it has 8 digits?
flechette: ... I think.
flechette: Yeah, double word
Venom: where does that tie in?
flechette: well, most data isn't more then a byte, a word, or a dword. unless it's a string.
flechette: so finding data that is like.
flechette: 456446
flechette: is odd.
flechette: it would probably be written as 00456446
flechette: since that would make it a dword. and it would take up 32 bits of information
flechette: because 456446 is 24 bits of information.
flechette: and... that's odd. ^^
flechette: you'd be hard pressed to find data that isn't set in DWord format
Venom: so
flechette: so when looking just look for DWords in the same place
Venom: a byte is two digits right
flechette: yeah
flechette: 45
flechette: byte.
flechette: 4545 word. 45454545 dword.
flechette: I think. that's how it was explained to me. it makes sense.
Venom: ok
Venom: once you subtract magic from the backwards pointers, will it always point to a string?
flechette: no
flechette: it could point to more object data. x_X
flechette: it branches out
flechette: and that's why it can be frustrating. and sometimes one thing will have pointers that the other doesn't
flechette: and you end up like... ok. what does this object have or do that the other doesn't? and rar. it takes a long time ^^
Venom: so a pointer can point to another pointer?
flechette: well. yeah. but it's more likely to point to another set of data that could include pointers.
Venom: like more meta?
flechette: yup
flechette: like
Venom: damn
flechette: use these sounds effects for this object, and this is when to use them.
flechette: I know x_X
flechette: it's not confusing, it's just. a needle in a haystack when you first start out
Venom: ya
flechette: I still can't find out where the data is that tells needles to explode after they stick into something. because I want rockets to do that. just to see if I can. I can get them to bounce, and I can change their speed, what they look like, when they explode in-air. but not how to make them explode after they stick into something.
Venom: did you go through every pointer in the meta?
flechette: not yet
flechette: I'm sure I'll find it, probably tomorrow
flechette: not looking tonight
Venom: o
Venom: ahhh
Venom: so in two different metas, if the DWORDS match up then the pointers point to the same type of thing
flechette: yeah
flechette: and if the dwords aren't pointers, they might directly affect the object.
flechette: like, the speed isn't a pointer, it's a float value
flechette: and for rockets it's like .4000004
flechette: but for sniper bullets, it's 33.3333333
flechette: so if you changed the value for rockets to 33.333333 they would instantly hit what you are aiming at
flechette: like a sniper bullet ^^
Venom: did it work
flechette: did what work? I haven't had a chance to use the program yet ^^
flechette: just about to tho
Venom: so swapping matching DWords doesnt do anything right, since they already are the same
flechette: yup
flechette: correct
Venom: after you say a pointer points to Unknown data, then you say Obvious pointer, how do you get the obvious pointer?
flechette: ok. well. I didn't explain it well at all in the .txt file, and I didn't realize that until after I had posted the link. if you jump to the offset that the pointer points to, it points to a lot of new meta data. but usually with the new meta data there is a pointer that is CLOSE to the start of that data. so I would do another quick jump to a new offset and see if THAT one pointed to something obvious. most of the time it did, and I would stop there, with SOME information about the new meta data so I could go back to it later. X_x
flechette: make sense?
flechette: basically 2 quick hops
Venom: ya
Venom: those are the ones that point to more meta
flechette: yup
Venom: what are flags?
flechette: oh
flechette: flags are a way of defining properties of an object.
flechette: like.
flechette: ok
flechette: say there is a list of things an item could be. so you have all these possible states or whatever that an item can list. er. hum. let me see if I can explain this.
flechette: 1 would be Hot.
flechette: 2 would be Fast.
flechette: 4 would be Crazy.
Venom: ok
flechette: these are made up, obviously.
flechette: ok
flechette: well
flechette: having a value of 3 would mean that an object is fast and hot.
flechette: having a value of 5 would mean it's crazy and hot.
flechette: having a value of 7 would mean it's fast hot and crazy
flechette: and flags are usually 1 2 4 8 16 32 64 128
flechette: because you can add them up without them overlapping.
flechette: so. 25. would be. 16+8+1
flechette: 128 is 128.
flechette: that's why I was like. hrm. flags?
flechette: Iono. they COULD just be values. but I couldn't find out what they were values for.
Venom: o ok
Venom: how do you figure out what makes up the values of a flag
Venom: like what does 1 stand for
Venom: and what does 2 stand for
flechette: uh. no clue ^^. well, you could find out, if you knew what to look for when you changed the value. but it's like. ok, I know that the rocket normally does this. but what property does the value change? weight? how it flies? how much damage it does? what it does when it hits something?
flechette: I have no idea. I didn't see an effect when I changed it to have a flag value of 5. so no clue.
flechette: I wish I did though
Venom: ok