Items and containers don't have facing... It can't give facing for everything.
Items and containers don't have facing... It can't give facing for everything.
/facepalm
I know what a virtual function is. Having the override address is pretty useless if you don't have specific addresses for each object (I guess I'll have to disassemble it and do it myself, since all I can get here are replies from people who, after reading some x86 and cpp tutorial, think they know a lot about computers).
Bye.
Exactly. I never asked for "HAI *****, CAN YU HELP ME GET FACING FOR DEEZE?"
I came asking for orientation on world objects, and all I get are "OMFG COPY&PASTE FROM A STICKY" and "U NUB" replies.
Edit: ***** = wrong spelling for 'guys'.
Last edited by gerardolm; 12-29-2010 at 09:35 PM.
This is why we need more moderators around here, not any other week when one accidentally visits this forum in search for some fishing bot.
What this forum actually needs, judging by this thread, is less people who promptly reply by copy&pasting stuff without even giving a thought to the matter at hand, or people who assume others have no idea what they're talking about.
I've been developing several bots and tools for other games, but this is the first time (since I want to give it a try and create a rather simple archeology bot) I mess around with WoW. Information in stickies is REALLY cryptic (what's the use of knowing there's a CGameObject class if there's not class hierarchy anywhere?). Some offsets are rebased, others are not, offset enums sometimes have byte padding, others they have uint padding...
I thought this community would be helpful, but I'm getting the impression that it's all about creating/leeching something half-decent, getting a higher status in the user base and then bashing the shit out of everyone who comes asking questions.
Edit: On topic, I guess no offsets in this forum are useful for getting horizontal orientation for world objects.
Last edited by gerardolm; 12-29-2010 at 10:00 PM.
Practically any piece of information posted in this section is useful, it just takes 1+1 brain cells to use the information.
Don't snap back at people because you can't reverse engineer/use the information, or because you're getting frustrated while trying to reverse engineer something.
I haven't said that it's useless, it's just disorganized. Also, saying "there's no useful info on X" doesn't mean "there's useless info."
Still, let's try to get this on-topic. I'm sorry if I offended anyone (well, not that I made any offending comments), but that's just how I feel. If there are no offsets for world object rotation, then a post saying "go look for it on your own" would be enough. Redirecting me to facing (which apparently isn't defined -- is 0.0 -- for world objects) IS useless. So, yeah, I'm mad at useless (and close to trolling) posts, that's all.
Also, frustration has nothing to do with this as I haven't even started reversing it on my own. I took a look at the IDA database found in another post (yeah that's useful, thanks a lot to whoever uploaded it) but all I could find is that the override (or what whoever posted the offsets thinks is the override) actually has nothing to do with game objects (or maybe the link is waaaay upward in the call stack, in which case I have yet to find it).
Its not like the object hierarchy is hard to figure out. Just start looking at the calls to the CGObject constructor. Conveniently named and given to you as CGObject_C__CGObject_C 0x005EE5A0 (not rebased).
IDA can even graph it for you!
Hahaha. gerardolm just got put in his place.
See, there's this thing called a virtual method (or function, if you prefer) table that hold the addresses to all the virtual methods of a class.. And I already told you that GetFacing is index 14 in that table. (Zero based indices, before you start bitching about that)
Sorry, but this thread makes me lol.
[16:15:41] Cypher: caus the CPU is a dick
[16:16:07] kynox: CPU is mad
[16:16:15] Cypher: CPU is all like
[16:16:16] Cypher: whatever, i do what i want
I'm confused.
Hello there.
You probablly wan't to take a look at this function;
0x1AD070
Code:int __thiscall CGGameObject_C__GetFacing(int this) { int result; // eax@2 if ( *(this + 456) ) result = (*(**(this + 456) + 96))(); else result = sub_1F750(this + 256); return result; }