Qhimm.com Forums
Miscellaneous Forums => Scripting and Reverse Engineering => Topic started by: Alhexx on 2002-12-31 14:48:33
-
Okay, I've got 2 problems and I didn't want to make two different topics out of it...
1. Debuggers
Can anyone recommend me an useful freeware (or shareware)(or non-shareware) win32 assembler-based debugger? I'm workin' with OllyDbg 1.08b (http://home.t-online.de/home/Ollydbg) right now, but it hangs on FF7... :(
2. Menus
Okay, I've got a problem in Ultima. I want to make a Popup-menu for my renderer view class, which has got a list of the groups that can be rendered. It should look like this:
+------------+---------+
| Groups > | Group 0 |
+------------+---------+
| Group 1 |
+---------+
| Group x |
+---------+
I know how to build up a menu dynamically in runtime, however, there's a problem with the group entries.
I don't know how many groups the user will use, and creating dozens of IDs for the Group menus would be too much.
So:
Is it possible to create a "menu array"? So that all those Group-Entries would have the same ID, let's say ID_VIEW_GROUP, and I simply add a kind of Index to them??
I hope you understand my problem...
- Alhexx
-
I've used IDA Pro, although it's a disassembler rather than a debugger ... it may be of some use.
As for the menu problem, it's possible and very easy in Delphi ;) Sounds like you're using MFC which I don't know, so I'm not sure how you'd do it ...
-
Microsoft WinDbg may come in handy -- although it still has some rough edges, it supports both GUI and command-line operation, is more powerful than the Visual C++ debugger, and can do remote debugging. It has some neat commands, like "grep disassembly."
http://www.microsoft.com/ddk/debugging/
As for the dynamic menus, you can use any numeric IDs between (IIRC) 1-65534. Just pick an ID around ~45000 or so that isn't near the ranges that the resource editor is using.
-
phaeron: thanx
Okay, and how do I tell the message handler to pass these IDs to one function so I can handle it?
- Alhexx
- edit -
Okay, I found the answer for my problem: ON_COMMAND_RANGE
This problem is solved now, thanx