WoWBench
WoWBench aims to be a near-complete emulation of the World of Warcraft API. AddOn development in WoW can be somewhat strained at times due the near-total lack of in-game debugging capabilities. Added to that, the time it takes to test each change is fairly long.
WoWBench enables AddOn developers to test most of their functionality offline, in a controlled environment where they can fire game events at their own leisure, with content that they choose.
It also features a built-in commandline debugger with stack backtraces and capability to look at global as well as local variables at various stack depths, that allows you to run your own Lua code while examining the breakpoint or error. Of course, anyone with a Lua debugger can utilize those for much more fine-grained debugging while running their AddOn under WoWBench, something which is not possible while running it inside the actual game.
WoWBench does not have an actual graphical user interface (at least, not yet). Game world and (simulated) user interface interaction is all done through console commands. This is not a disadvantage, as it has the distinct advantage of being scriptable for easy repetition.
WoWBench is implemented wholly in Lua, which allows AddOn programmers to easily extend it, and modify it to suit their own purposes.
== Why? How ==
WoWBench is a utility by programmers, for programmers.
You can:
- Control exactly what game events get fired in the system, and at which pace.
- Easily re-play the same sequence of events any number of times - just write a Lua function that simulates a sequence of events!
- Stop execution at any point and jump into the debugger to examine exactly what's going on. (And even call Lua code from inside it!)
- Run WoWBench and your AddOn under a Lua debugger, for really fine-grained debugging!
- Add your own API emulations, or modify the existing ones, to behave just like you want them to for your development.
- Got a *nix box? Start developing AddOns over SSH from wherever! (No, I'm not going to say "from work" in that sentence :-) )
- → more in WoWBench/FAQ.
- Help the WoW AddOn developer community by submitting your own patches! Either just submit them directly to the WoWBench sf.net patches page for someone else to integrate, or talk to Mikk for possible SVN committ access at sourceforge.net.
What WoWBench is not
- Finished.
- Yep, that's right. There will be plenty of missing APIs. That is why WoWBench is now a community project and not a one-man show. Either help us implement them, or just hack something up that works for your particular mod. It's all up to you!
- An AddOn
- WoWBench replaces WoW. Your AddOn runs inside it!
== Getting set up ==
- Download the latest version from http://sourceforge.net/projects/wowbench/
- See WoWBench/Installing for installation instructions (Yeah, you really do want to read them!)
- See WoWBench/Getting started for a very quick tour to get you started.
== Working with WoWBench ==
- WoWBench/Documentation - code structure documentation
- WoWBench/Extending - how to extend WoWBench
- WoWBench/To do - To do list, current bugs list, and version history
== Talking with others about WoWBench ==
This page is still very much a work in progress. It's only been live for a day :-) --Mikk 20:28, 15 June 2006 (EDT)