A Meta tutorial...sort of

Discuss general issues about modding HaloPC. Post ideas for mods here.
Post Reply
Venom





Posts: 64
Joined: Sat Oct 11, 2003 10:13 am

A Meta tutorial...sort of

Post by Venom »

well here is a sort of Meta tutorial. its not really a tutorial, but flechette really helped me on AIM so i thought id copy the conversation here so everyone could benefit. this kind of goes along with teh .txt file he posted in another thread.

thanks for flechette for helping me out and letting me post this
******************************************************
* 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. :P
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 :P

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. :P
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 :P

Venom: ok
hope that helps
jce108





Posts: 307
Joined: Mon Oct 20, 2003 5:13 am

Post by jce108 »

helps alot thanks flettche an venoum
Bubbasparxxxv69





Posts: 222
Joined: Wed Oct 15, 2003 5:01 pm
Location: Michigan

Post by Bubbasparxxxv69 »

finally something that isant in a huge paragraph (reading long things bothers me, also takes a long time)
kRAyZZed





Posts: 9
Joined: Thu Oct 23, 2003 10:19 am

Post by kRAyZZed »

wow this cleared a few things up for me too thanx
ikabuianman





Posts: 160
Joined: Mon Nov 24, 2003 3:37 pm

Post by ikabuianman »

cool
seagoat




Articulatist 250

Posts: 314
Joined: Sat Nov 08, 2003 1:23 am

Post by seagoat »

nice, i did not know about the double jump. i am still confused though i think i am just confusing myself by thinking too hard. and he didnt explain about pointersthat point to stuff in the same meta. but gj man that was good.
jce108





Posts: 307
Joined: Mon Oct 20, 2003 5:13 am

Post by jce108 »

omg i rember this holy *** that is old
Signature exceeded 3 lines of text.
ikabuianman





Posts: 160
Joined: Mon Nov 24, 2003 3:37 pm

Post by ikabuianman »

lol.. i now.. i just was testing my sig.. and it popped this thing up near the top
Ang88





Posts: 454
Joined: Sun Nov 02, 2003 7:29 pm

Post by Ang88 »

very nice, could i host it on halopcmodz.com?
Image
Venom





Posts: 64
Joined: Sat Oct 11, 2003 10:13 am

Post by Venom »

wow this thing is old. i remember that.

i dont see why you cant host it on halopcmodz.com, the more you spread it the better people get at modding, and the better people get at modding teh better mods come out
Deadly_Shadow




Miner

Posts: 1375
Joined: Fri Oct 24, 2003 1:30 am
Location: Earth
Contact:

Post by Deadly_Shadow »

I think what Venom is tryin to say is ya you can host it :wink:
Post Reply