WoWBench: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
m ((*nix isn't required to have ssh, silly Mikk :p))
No edit summary
Line 1: Line 1:
{{tocright}}
{{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 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)


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.  
Line 6: Line 10:
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 '''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]]
'''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.




== Why? How == <div style="margin-left: 2%;">
<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! ==
<div style="margin-left: 2%;">


WoWBench is a utility ''by'' programmers, ''for'' programmers.
WoWBench is a utility ''by'' programmers, ''for'' programmers.
Line 19: Line 27:
You can:
You can:


* Control exactly what game events get fired in the system, and at which pace.
* Control exactly what [[WoWBench/Getting started#Firing events|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!
* 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!)
* Stop execution at any point and jump into the [[WoWBench/Getting started#How to use the built-in debugger|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!
* 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.
* Add your own API emulations, or [[WoWBench/Extending#Modifying and extending for local use|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! <small>(No, I'm ''not'' going to say "from work" in that sentence :-) )</small>
* Got an ssh daemon on your machine? Start developing AddOns over SSH from wherever! <small>(No, I'm ''not'' going to say "from work" in that sentence :-) )</small>
* [[WoWBench/Getting started#Logging in multiple players|Log in multiple players]] for developing and debugging inter-addon communication
* Run slash commands, [[WoWBench/Getting started#How to interact with things|click UI elements, units and objects]], call functions, etc..


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




* Help the WoW AddOn developer community by submitting your own patches! Either just submit them directly to the [http://sourceforge.net/tracker/?func=add&group_id=170212&atid=853402 WoWBench sf.net patches page] for someone else to integrate, or talk to [[User talk:Mikk|Mikk]] for possible SVN committ access at sourceforge.net.
* Help the WoW AddOn developer community by submitting your own patches! &rarr; [[WoWBench/Contributing]].




Line 49: Line 61:
</div>
</div>


== Getting set up == <div style="margin-left: 2%;">
== Getting set up ==
<div style="margin-left: 2%;">


<div style="float:right; clear:right;">[http://sourceforge.net http://sflogo.sourceforge.net/sflogo.php?group_id=170212&type=1&.gif]</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/]
Line 62: Line 75:
</div>
</div>


== Working with WoWBench == <div style="margin-left: 2%;">
== Working with WoWBench ==
<div style="margin-left: 2%;">


* [[WoWBench/FAQ]]
* [[WoWBench/FAQ]]
Line 69: Line 83:


* [[WoWBench/Extending]] - how to extend WoWBench
* [[WoWBench/Extending]] - how to extend WoWBench
* [[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




</div>
</div>
== Talking with others about WoWBench ==  <div style="margin-left: 2%;">


[[Special:Userlogin|Get a WoWWiki account]] and hit the talk page(s)!
== Talking with others about WoWBench ==
<div style="margin-left: 2%;">
 
[[Special:Userlogin|Get a WoWWiki account]] and hit the talk page(s)! &nbsp; <small>(Don't worry, it's not like on a commercial site. You just get a user name and password.)</small>


* [[WoWBench/Talk]]
* [[WoWBench/Talk]]
Line 84: Line 104:




''This page is still very much a work in progress. It's only been live for a day :-)  &nbsp; --[[User:Mikk|Mikk]] 20:28, 15 June 2006 (EDT)''
[[Category:WoWBench]]

Revision as of 18:38, 23 January 2008

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.


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


Working with WoWBench


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