This post started out as a help request,
but then i thought i could simply cycle the object list, and if its empty then im not in game. (im sure there is a much better way)
i had found a memory location that is 0 when not in game, but struggled to work out what exactly it was. (assembily that writes this memory address below)
00928C52 | F3:A5 | REP MOVSD |
00928C54 | 8B75 0C | MOV ESI, DWORD PTR [EBP+C] |
00928C57 | 33C0 | XOR EAX, EAX |
00928C59 | 8943 20 | MOV DWORD PTR [EBX+20], EAX |
00928C5C | 8B0D 60EC3501 | MOV ECX, DWORD PTR [135EC60] |
00928C62 | 894B 0C | MOV DWORD PTR [EBX+C], ECX |
00928C65 | 8943 08 | MOV DWORD PTR [EBX+8], EAX |
00928C68 | EB 0B | JMP 00928C75 |
00928C6A | 8B53 20 | MOV EDX, DWORD PTR [EBX+20] |
00928C6D | 8957 20 | MOV DWORD PTR [EDI+20], EDX |
00928C70 | 897B 20 | MOV DWORD PTR [EBX+20], EDI |
00928C73 | 8BDF | MOV EBX, EDI |
00928C75 | 8B7D 10 | MOV EDI, DWORD PTR [EBP+10] |
00928C78 | 8B07 | MOV EAX, DWORD PTR [EDI] |
00928C7A | 8943 10 | MOV DWORD PTR [EBX+10], EAX |
00928C7D | 8B4F 04 | MOV ECX, DWORD PTR [EDI+4] |
00928C80 | 894B 14 | MOV DWORD PTR [EBX+14], ECX | <--- this bit here refers to an address that is 0 if not in game
00928C83 | 8B57 08 | MOV EDX, DWORD PTR [EDI+8] |
00928C86 | B8 04000000 | MOV EAX, 4 |
00928C8B | 8953 18 | MOV DWORD PTR [EBX+18], EDX |
00928C8E | 3947 08 | CMP DWORD PTR [EDI+8], EAX |
00928C91 | 7C 1A | JL 00928CAD |
00928C93 | 8B0F | MOV ECX, DWORD PTR [EDI] |
00928C95 | F641 09 03 | TEST BYTE PTR [ECX+9], 3 |
00928C99 | 74 12 | JE 00928CAD |
00928C9B | 8446 09 | TEST BYTE PTR [ESI+9], AL |
00928C9E | 74 0D | JE 00928CAD |
00928CA0 | 8B55 08 | MOV EDX, DWORD PTR [EBP+8] |
00928CA3 | 56 | PUSH ESI |
00928CA4 | 52 | PUSH EDX |
the best way would be to be able to detect which screen i am in (login/choose character/game)
i read a post by Cypher (i think) that said you the console output is different in game/out of game,
but calling console commands/parsing the console output is out of the scope of my project
(read - i don't know how to do it, and have other wow related things invest time on)
Flame Disclaimer: Yes i am shit at Assembily and have next to no clue what the above is doing, Yes i know this, Yes please point it out by replying to this post![]()