WoWBench: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
(→‎Why? How: Remote coding!)
 
No edit summary
 
(11 intermediate revisions by 7 users not shown)
Line 1: Line 1:
:{{icon-exclamation}}'''WoWBench now has *some* continuing support, currently distributed with [[AddOn Studio for World of Warcraft]], including support for Lua 5.1.2 and WoW 4.x. See: ([[AddOn Studio for World of Warcraft history|Change History]])'''  --[[User:Bear|<span style="border-bottom: 1px dotted; cursor: help;" title="Celess is the AddOn Studio 2010 dev coordinator">Bear</span>]] <small>([[User talk:Bear|T]])</small> 18:29, 4 August 2011 (UTC)
:{{icon-exclamation}}'''WoWBench is unfortunately out of date. It's not entirely abandoned...'''  --[[WoWWiki:User:Mikk|<span style="border-bottom: 1px dotted; cursor: help;" title="Mikk is a WoWWiki Admin">Mikk</span>]] <small>([[WoWWiki:User talk:Mikk|T]])</small> 18:38, 23 January 2008 (UTC)
{{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 [[wo:World of Warcraft API|World of Warcraft API]]". [[wo:AddOn|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 "[[wo: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.


<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 2006. &nbsp; &rarr; [[#Getting set up|[download]]]</div>


== Why? How == <div style="margin-left: 2%;">
== Why? How! ==
<div style="margin-left: 2%;">


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


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 a *nix box? 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>


* &rarr; more in [[WoWBench/FAQ]].
* [[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..


* 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.
* &rarr; more in [[WoWBench/FAQ]].


* 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 44: Line 51:
* An AddOn
* An AddOn
: WoWBench ''replaces'' WoW. Your AddOn runs inside it!
: WoWBench ''replaces'' WoW. Your AddOn runs inside it!


</div>
</div>


== Getting set up == <div style="margin-left: 2%;">
== Getting set up ==
 
* Download the latest version from [http://sourceforge.net/projects/wowbench/ http://sourceforge.net/projects/wowbench/].
<div style="float:right; clear:right;">[http://sourceforge.net http://sflogo.sourceforge.net/sflogo.php?group_id=170212&type=1&.gif]</div>
* See [[WoWBench/Installing]] for installation instructions. (Yeah, you really do want to read them!)
 
* 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/Getting started]] for a very quick tour to get you started.
* See [[WoWBench/Getting started]] for a very quick tour to get you started.


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


</div>
* [[WoWBench/FAQ]]


== Working with WoWBench ==  <div style="margin-left: 2%;">
* [[WoWBench/Documentation]] - code structure documentation.


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


* [[WoWBench/Documentation]] - code structure documentation
* [[WoWBench/Contributing]] - how to submit your work to the project.


* [[WoWBench/Extending]] - how to extend WoWBench
* [[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 ==
== Talking with others about WoWBench == <div style="margin-left: 2%;">
<div style="margin-left: 2%;">


[[Special:Userlogin|Get a WoWWiki account]] and hit the talk page(s)!
[[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]]


</div>
</div>


 
== See also ==
''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)''
* [[AddOn Studio for World of Warcraft]]
[[Category:WoWBench]]
[[Category:Hosted AddOn Tools]]

Latest revision as of 05:05, 15 August 2023

Red exclamation mark iconWoWBench now has *some* continuing support, currently distributed with AddOn Studio for World of Warcraft, including support for Lua 5.1.2 and WoW 4.x. See: (Change History) --Bear (T) 18:29, 4 August 2011 (UTC)
Red exclamation mark iconWoWBench is unfortunately out of date. It's not entirely abandoned... --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 "[[wo: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 2006.   → [download]

Why? How![edit]

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[edit]

  • 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[edit]

Working with WoWBench[edit]

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

Talking with others about WoWBench[edit]

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

See also[edit]