WoWBench: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
(Typo fixing using AWB)
m (Cleeanup)
Line 1: Line 1:
{{tocright}}
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.
:{{icon-exclamation}}'''WoWBench is unfortunately out of date. It's not entirely abandoned -- there's a few of us wanting to get back on it but we keep getting sidetracked.'''  --[[User:Mikk|<span style="border-bottom: 1px dotted; cursor: help;" title="Mikk is a WoWWiki Admin">Mikk</span>]] <small>([[User talk:Mikk|T]])</small> 18:38, 23 January 2008 (UTC)
:{{icon-exclamation}}'''WoWBench is unfortunately out of date. It's not entirely abandoned -- there's a few of us wanting to get back on it but we keep getting sidetracked.'''  --[[User:Mikk|<span style="border-bottom: 1px dotted; cursor: help;" title="Mikk is a WoWWiki Admin">Mikk</span>]] <small>([[User talk:Mikk|T]])</small> 18:38, 23 January 2008 (UTC)


{{tocright}}
'''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.  
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.
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 '''[[WoWBench/FAQ#scripting|scriptable]] for easy repetition'''.


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 "[[WoWBench/FAQ#scripting|scriptable]] for easy repetition".


[[Image:wowbench.png|right]]
[[Image:wowbench.png|right]]
'''WoWBench is implemented wholly in Lua''', which allows AddOn programmers to easily extend it, and modify it to suit their own purposes.


"WoWBench is implemented wholly in Lua", which allows AddOn programmers to easily extend it, and modify it to suit their own purposes.


<div style="display:table; border: 1px dotted; padding: 1ex 2em; margin-bottom: 2em;">'''Latest version: [[WoWBench/To do#v1.12.0.a2|WoWBench v1.12.0.a2]], Aug 27'''. &nbsp; &rarr; [[#Getting set up|[download]]]</div>
<div style="display:table; border: 1px dotted; padding: 1ex 2em; margin-bottom: 2em;">Latest version: [[WoWBench/To do#v1.12.0.a2|WoWBench v1.12.0.a2]], Aug 27. &nbsp; &rarr; [[#Getting set up|[download]]]</div>


== Why? How! ==
== Why? How! ==
Line 23: Line 20:


WoWBench is a utility ''by'' programmers, ''for'' programmers.
WoWBench is a utility ''by'' programmers, ''for'' programmers.


You can:
You can:
Line 44: Line 40:


* &rarr; more in [[WoWBench/FAQ]].
* &rarr; more in [[WoWBench/FAQ]].


* Help the WoW AddOn developer community by submitting your own patches! &rarr; [[WoWBench/Contributing]].
* Help the WoW AddOn developer community by submitting your own patches! &rarr; [[WoWBench/Contributing]].


===What WoWBench is not===
===What WoWBench is not===
* Finished.
* 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!
: 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!
Line 56: Line 49:
* An AddOn
* An AddOn
: WoWBench ''replaces'' WoW. Your AddOn runs inside it!
: WoWBench ''replaces'' WoW. Your AddOn runs inside it!


</div>
</div>
Line 66: Line 57:
<div style="float:right; clear:right;"><imagelink>http://sflogo.sourceforge.net/sflogo.php?group_id=170212&type=1&.gif|external image</imagelink></div>
<div style="float:right; clear:right;"><imagelink>http://sflogo.sourceforge.net/sflogo.php?group_id=170212&type=1&.gif|external image</imagelink></div>


* Download the latest version from [http://sourceforge.net/projects/wowbench/ http://sourceforge.net/projects/wowbench/]
* Download the latest version from [http://sourceforge.net/projects/wowbench/ http://sourceforge.net/projects/wowbench/].


* See [[WoWBench/Installing]] for installation instructions (Yeah, you really do want to read them!)
* 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.
* See [[WoWBench/Getting started]] for a very quick tour to get you started.


</div>
</div>
Line 80: Line 70:
* [[WoWBench/FAQ]]
* [[WoWBench/FAQ]]


* [[WoWBench/Documentation]] - code structure documentation
* [[WoWBench/Documentation]] - code structure documentation.


* [[WoWBench/Extending]] - how to extend WoWBench
* [[WoWBench/Extending]] - how to extend WoWBench.


* [[WoWBench/Contributing]] - how to submit your work to the project
* [[WoWBench/Contributing]] - how to submit your work to the project.


* [[WoWBench/To do]] - '''To do''' list, '''current bugs''' list, and '''version history'''
* [[WoWBench/To do]] - "To do" list, "current bugs" list, and "version history".
 
* [[WoWBench/Progress]] - Implementation status of APIs


* [[WoWBench/Progress]] - Implementation status of APIs.


</div>
</div>
Line 99: Line 88:


* [[WoWBench/Talk]]
* [[WoWBench/Talk]]


</div>
</div>


[[Category:WoWBench]]
[[Category:WoWBench]]

Revision as of 08:05, 8 February 2009

Red exclamation mark iconWoWBench is unfortunately out of date. It's not entirely abandoned -- there's a few of us wanting to get back on it but we keep getting sidetracked. --Mikk (T) 18:38, 23 January 2008 (UTC)

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.png

"WoWBench is implemented wholly in Lua", which allows AddOn programmers to easily extend it, and modify it to suit their own purposes.

Latest version: WoWBench v1.12.0.a2, Aug 27.   → [download]

Why? How!

WoWBench is a utility by programmers, for programmers.

You can:

  • 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 an ssh daemon on your machine? Start developing AddOns over SSH from wherever! (No, I'm not going to say "from work" in that sentence :-) )

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

  • See WoWBench/Installing for installation instructions. (Yeah, you really do want to read them!)

Working with WoWBench

  • WoWBench/To do - "To do" list, "current bugs" list, and "version history".

Talking with others about WoWBench

Get a WoWWiki account and hit the talk page(s)!   (Don't worry, it's not like on a commercial site. You just get a user name and password.)