Permalink
Browse files

Enhance readme and docs

  • Loading branch information...
1 parent 0b3bbc7 commit d50a52ccb362b8e78a2c48775b116080b5a4877c @Rochet2 Rochet2 committed Apr 10, 2015
Showing with 138 additions and 75 deletions.
  1. +32 −22 README.md
  2. +18 −0 docs/CONTRIBUTING.md
  3. +22 −14 docs/DOC_GEN.md
  4. BIN docs/Eluna.png
  5. +31 −30 docs/INSTALL.md
  6. +35 −9 docs/MERGING.md
View
@@ -1,42 +1,52 @@
-[![Eluna](https://dl.dropbox.com/u/98478761/eluna-DBCA-Designs.png)](https://github.com/ElunaLuaEngine/Eluna)
+###[![Eluna](docs/Eluna.png)](https://github.com/ElunaLuaEngine/Eluna)
-## About
+##About
-Eluna Lua Engine © is used for certain World of Warcraft emulators. Eluna supports MaNGOS, CMaNGOS, and TrinityCore.
-We're currently working hard to make Eluna better for our supporters.<br />
-Follow us on our [Twitter](https://twitter.com/EmuDevs) page to view the latest news about EmuDevs and what's going on with Eluna Lua Engine ©.
+Eluna Lua Engine &copy; is lua engine embedded to World of Warcraft emulators. Eluna supports MaNGOS, CMaNGOS, and TrinityCore.
+We are currently working hard to make Eluna better from inside and outside.
+Follow us on [EmuDevs Twitter](https://twitter.com/EmuDevs) page to view the latest news about EmuDevs and what's going on with Eluna Lua Engine ©.
-If you're having trouble, post in Eluna's support here: [Eluna Support Forum](http://emudevs.com/forumdisplay.php/84-Support)<br />
-If you need help regarding methods, hooks and other wiki related documentation, go to [Eluna API](http://eluna.emudevs.com/).
+If you are having trouble with installation or scripts, post in [Eluna Support Forum](https://emudevs.com/forumdisplay.php/279-Eluna-Support)
+For documentation and reference see [Eluna API](http://eluna.emudevs.com/) and [Lua reference manual](http://www.lua.org/manual/5.2/).
Special thanks to [MaNGOS](http://getmangos.eu/) for their continued support and use of Eluna. Please head over to their forums and show them some love!
-## Source
+##Documentation
* [Installation](https://github.com/ElunaLuaEngine/Eluna/blob/master/docs/INSTALL.md)
-* [Function documentation](http://eluna.emudevs.com/) - [source](https://github.com/ElunaLuaEngine/Eluna/blob/master/LuaFunctions.cpp)
+* [Function documentation](http://eluna.emudevs.com/)
* [Hook documentation](https://github.com/ElunaLuaEngine/Eluna/blob/master/Hooks.h)
+* [Lua reference manual](http://www.lua.org/manual/5.2/)
-[![Build Status](https://api.travis-ci.org/mangoszero/server.svg?branch=release20)](https://travis-ci.org/mangoszero/server) [Official Mangos Zero w/ Eluna](https://github.com/mangoszero/server)<br />
-<br />
-[![Build Status](https://travis-ci.org/ElunaLuaEngine/ElunaTrinityWotlk.png?branch=master)](https://travis-ci.org/ElunaLuaEngine/ElunaTrinityWotlk) [Eluna TrinityCore WotLK](https://github.com/ElunaLuaEngine/ElunaTrinityWotlk)<br />
-[![Build Status](https://travis-ci.org/ElunaLuaEngine/ElunaTrinityCata.png?branch=master)](https://travis-ci.org/ElunaLuaEngine/ElunaTrinityCata) [Eluna TrinityCore Cataclysm](https://github.com/ElunaLuaEngine/ElunaTrinityCata)<br />
-<br />
-[![Build Status](https://travis-ci.org/ElunaLuaEngine/ElunaMangosClassic.png?branch=master)](https://travis-ci.org/ElunaLuaEngine/ElunaMangosClassic) [Eluna cMaNGOS Classic](https://github.com/ElunaLuaEngine/ElunaMangosClassic)<br />
-[![Build Status](https://travis-ci.org/ElunaLuaEngine/ElunaMangosTbc.png?branch=master)](https://travis-ci.org/ElunaLuaEngine/ElunaMangosTbc) [Eluna cMaNGOS TBC](https://github.com/ElunaLuaEngine/ElunaMangosTbc)<br />
-[![Build Status](https://travis-ci.org/ElunaLuaEngine/ElunaMangosWotlk.png?branch=master)](https://travis-ci.org/ElunaLuaEngine/ElunaMangosWotlk) [Eluna cMaNGOS WotLK](https://github.com/ElunaLuaEngine/ElunaMangosWotlk)
-## Links
+* [Contributing](CONTRIBUTING.md)
+* [Support forum](https://emudevs.com/forumdisplay.php/279-Eluna-Support)
+* [Example scripts](https://github.com/ElunaLuaEngine/Scripts)
+* [Guides, releases and news](https://emudevs.com/forumdisplay.php/15-Eluna-Lua-Engine-%C2%A9)
+
+##Source
+Eluna source code: https://github.com/ElunaLuaEngine/Eluna
+Core forks with required modifications for Eluna:
+- [![Build Status](https://api.travis-ci.org/mangoszero/server.svg?branch=release20)](https://travis-ci.org/mangoszero/server) [Official MaNGOS Zero with Eluna](https://github.com/mangoszero/server)
+
+
+- [![Build Status](https://travis-ci.org/ElunaLuaEngine/ElunaTrinityWotlk.png?branch=master)](https://travis-ci.org/ElunaLuaEngine/ElunaTrinityWotlk) [Eluna TrinityCore WotLK](https://github.com/ElunaLuaEngine/ElunaTrinityWotlk)
+- [![Build Status](https://travis-ci.org/ElunaLuaEngine/ElunaTrinityCata.png?branch=master)](https://travis-ci.org/ElunaLuaEngine/ElunaTrinityCata) [Eluna TrinityCore Cataclysm](https://github.com/ElunaLuaEngine/ElunaTrinityCata)
+
+
+- [![Build Status](https://travis-ci.org/ElunaLuaEngine/ElunaMangosClassic.png?branch=master)](https://travis-ci.org/ElunaLuaEngine/ElunaMangosClassic) [Eluna cMaNGOS Classic](https://github.com/ElunaLuaEngine/ElunaMangosClassic)
+- [![Build Status](https://travis-ci.org/ElunaLuaEngine/ElunaMangosTbc.png?branch=master)](https://travis-ci.org/ElunaLuaEngine/ElunaMangosTbc) [Eluna cMaNGOS TBC](https://github.com/ElunaLuaEngine/ElunaMangosTbc)
+- [![Build Status](https://travis-ci.org/ElunaLuaEngine/ElunaMangosWotlk.png?branch=master)](https://travis-ci.org/ElunaLuaEngine/ElunaMangosWotlk) [Eluna cMaNGOS WotLK](https://github.com/ElunaLuaEngine/ElunaMangosWotlk)
+
+##Links
-* [Eluna API](http://eluna.emudevs.com/)
-* [Eluna Scripts](https://github.com/ElunaLuaEngine/Scripts)
-* [Eluna Support Forum](http://emudevs.com/forumdisplay.php/84-Support)
* [MaNGOS](http://getmangos.eu/)
* [cMaNGOS](http://cmangos.net/)
* [TrinityCore](http://www.trinitycore.org/)
+* [Lua's site](http://www.lua.org/)
* [License](https://github.com/ElunaLuaEngine/Eluna/blob/master/docs/LICENSE.md)
-## Team
+##Team
* [Tommy (Easelm)](https://github.com/Easelm)
* [Foereaper](https://github.com/Foereaper)
View
@@ -0,0 +1,18 @@
+#Contributing
+Eluna uses C for the Lua engine, C++ for the server modifications and system code, Lua for scripting side code and scripts, python for the web documentation generation - but you do not have to be able to code to help.
+
+You can contribute to Eluna in various ways:
+* Improve our documentation: [Documentation generation](DOC_GEN.md)
+* Create new features or enhance old features: [Eluna source](https://github.com/ElunaLuaEngine/Eluna)
+* Notify us about your concerns, problems and needs regarding Eluna: [Issue tracker](https://github.com/ElunaLuaEngine/Eluna/issues)
+* Create and improve Lua scripts, systems, releases and guides: [Eluna forum section](https://emudevs.com/forumdisplay.php/15-Eluna-Lua-Engine-%C2%A9)
+
+###Features and documentation
+To contribute to the source code and documentation within it, create a pull request for our github repository:
+1. [Set up git](https://help.github.com/articles/set-up-git/)
+2. [Fork](https://help.github.com/articles/fork-a-repo/) our repository: [Eluna repository](https://github.com/ElunaLuaEngine/Eluna)
+3. Create a branch: `git checkout -b mybranch`
+4. Make your contribution changes
+5. Commit your changes `git commit -a -m "commit message"`
+6. Push your commit to github: `git push`
+7. Open a [pull request](https://help.github.com/articles/using-pull-requests/)
View
@@ -1,24 +1,26 @@
# Documentation generation
+Eluna uses a custom made documentation generator to create it's [web documentation](http://eluna.emudevs.com/).
+The generator is written in python by Patman. It works by parsing Eluna's source files for comments and then generates the HTML and javascript for the documentation based on them.
-## Setting up
+This page guides you through generating the web documentation locally and explains the standards of the documentation comments for you to help us improve our documentation. To contribute with your documentation changes, create a [pull request](https://help.github.com/articles/using-pull-requests/)
+
+# Generating locally
- install [python](https://www.python.org/)(2)
- when installing, tick to install the path variable
- - may need restart after for installation to properly take effect
+ - you may need restart afterwards for the installation to properly take effect
- install a package manager like [pip](https://pip.pypa.io/en/latest/)
- - if installed pip and doesnt work, restart or try easy_install command
+ - if you installed pip and it does not work, restart or try easy_install command
- install the dependencies with manager
- [Jinja2](https://pypi.python.org/pypi/Jinja2)
- [typedecorator](https://pypi.python.org/pypi/typedecorator)
- [markdown](https://pypi.python.org/pypi/Markdown)
-
-## Generating
- Run in cmd `python -m ElunaDoc` when at `\LuaEngine\docs\`
-## Documenting
-You can document functions in the Eluna source code. For examples, simply open a method header file with docs.
+# Documenting
+You can document functions in the Eluna source code. To find examples simply open a method header file like `PlayerMethods.h` and see the comments.
-### Template
-Here are basic templates for a function. When defining a parameter or a return value, the type and value name are mandatory, unless the parameter type is ... (for variable arguments; don't include a name in this case).
+## Templates
+Here are some basic templates for a function documentation. When defining a parameter or a return value the type and value name are mandatory, unless the parameter type is `...`, which is used for variable arguments; do not include a name in this case.
```c++
/**
@@ -54,7 +56,7 @@ This is a template for a function that takes in different parameters. When defin
*/
```
-### Standard
+## Standard
A documentation comment block will always start with `/**` and end with `*/`.
All lines start with `*` character followed by one space before any content.
@@ -92,7 +94,7 @@ Use correct indentation with documentation comments.
*/
```
-### Markdown
+## Markdown
You can use [markdown](http://pythonhosted.org//Markdown/) in your descriptions.
For syntax see http://daringfireball.net/projects/markdown/syntax and http://pythonhosted.org//Markdown/#differences
@@ -104,42 +106,48 @@ For syntax see http://daringfireball.net/projects/markdown/syntax and http://pyt
* - list item
* - list item
*
+ *
* // Codeblock
* // Code goes here.
* // Note the 4-space indent.
*
+ *
* `code line`
*
* *italic*
* **bold**
*/
```
-**Produces:**
+**The above markdown code produces the output below:**
Description.
- list item
- list item
- list item
+
// Codeblock
// Code goes here.
// Note the 4-space indent.
+
`code line`
*italic*
**bold**
-### Types
+## Types
Here are some examples of possible types and most commonly used ones:
```
string
+uint64
uint32
uint16
uint8
+int64
int32
int16
int8
@@ -154,4 +162,4 @@ float
[Unit]
[WorldObject]
[Object]
-```
+```
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
@@ -1,34 +1,35 @@
-#Installation
+#Installing and updating
+This page will help you get a cMaNGOS and a TrinityCore source with Eluna.
+To get a MaNGOS source with Eluna head over to [their forum](http://getmangos.eu/) for the core installation and updating instructions.
-0. Since TrinityCore uses boost and our file loader uses boost file system, you need boost filesystem. On windows this should be available with the default package, __but on linux__ you may need to install it: `sudo apt-get install libboost-filesystem-dev`
+If you are having trouble with the installation or updating the core source, head over to our [support forum](../README.md#links).
+If you are looking for a way to merge eluna with a fork of the official repositories see [merging](MERGING.md).
-1. Get the core:<br/>
-[![Build Status](https://travis-ci.org/ElunaLuaEngine/ElunaTrinityWotlk.png?branch=master)](https://travis-ci.org/ElunaLuaEngine/ElunaTrinityWotlk) [Eluna TrinityCore WotLK](https://github.com/ElunaLuaEngine/ElunaTrinityWotlk)<br />
-[![Build Status](https://travis-ci.org/ElunaLuaEngine/ElunaTrinityCata.png?branch=master)](https://travis-ci.org/ElunaLuaEngine/ElunaTrinityCata) [Eluna TrinityCore Cataclysm](https://github.com/ElunaLuaEngine/ElunaTrinityCata)<br />
-<br />
-[![Build Status](https://travis-ci.org/ElunaLuaEngine/ElunaMangosClassic.png?branch=master)](https://travis-ci.org/ElunaLuaEngine/ElunaMangosClassic) [Eluna cMaNGOS Classic](https://github.com/ElunaLuaEngine/ElunaMangosClassic)<br />
-[![Build Status](https://travis-ci.org/ElunaLuaEngine/ElunaMangosTbc.png?branch=master)](https://travis-ci.org/ElunaLuaEngine/ElunaMangosTbc) [Eluna cMaNGOS TBC](https://github.com/ElunaLuaEngine/ElunaMangosTbc)<br />
-[![Build Status](https://travis-ci.org/ElunaLuaEngine/ElunaMangosWotlk.png?branch=master)](https://travis-ci.org/ElunaLuaEngine/ElunaMangosWotlk) [Eluna cMaNGOS WotLK](https://github.com/ElunaLuaEngine/ElunaMangosWotlk)
+###Requirements and dependencies:
+Currently there are no additional requirements apart from the normal core requirements.
+See you desired core's documentation and installation instructions for it's requirements and dependencies.
-2. Open `git bash` and do<br />
-`git submodule init`<br />
-`git submodule update`<br />
-<br />
-If you really dont get how to use git bash (and do try!), you can navigate to the LuaEngine folder and clone [the eluna repository](https://github.com/ElunaLuaEngine/Eluna) there. This is not suggested though.
+###Installation
+1. Open [git bash](http://git-scm.com/) and navigate to where you want the core source
+2. Choose the git address of your desired core and patch below and clone the core with `git clone <address>`.
+For example `git clone https://github.com/ElunaLuaEngine/ElunaTrinityWotlk.git`
+ * TrinityCore WoTLK: `https://github.com/ElunaLuaEngine/ElunaTrinityWotlk.git`
+ * TrinityCore Cataclysm: `https://github.com/ElunaLuaEngine/ElunaTrinityCata.git`
+ * cMaNGOS Classic: `https://github.com/ElunaLuaEngine/ElunaMangosClassic.git`
+ * cMaNGOS TBC: `https://github.com/ElunaLuaEngine/ElunaMangosTbc.git`
+ * cMaNGOS WoTLK: `https://github.com/ElunaLuaEngine/ElunaMangosWotlk.git`
+3. Navigate to the newly created source folder with `git bash`
+4. Use the git command `git submodule init` followed by `git submodule update`
+ * If you really do not get how to use git bash (and do try!) you can navigate to the `LuaEngine` folder and clone the [eluna repository](https://github.com/ElunaLuaEngine/Eluna) there. This is not recommended though.
+4. Continue compiling the core normally using the official instructions
+ * [TrinityCore](http://collab.kpsn.org/display/tc/Installation+Guide)
+ * [cMaNGOS](https://github.com/cmangos/issues/wiki/Installation-Instructions)
-3. Compile the core normally:<br />
-[TrinityCore](http://collab.kpsn.org/display/tc/TrinityCore+Home)<br />
-[cMaNGOS](https://github.com/cmangos/issues/wiki/Installation-Instructions)
-
-#Updating
-1. When updating you should take up the `commit hash` you are on, just in case.
-You can get it from git with `git log` for example.
-You should take note what are the newest SQL updates in `sql/updates/*` folders.
-2. Use `git pull` to get the newest source changes.
-3. Then use `git submodule init` `git submodule update` to update Eluna from github.
-4. Try compiling and if you encounter errors, report to [support](https://github.com/ElunaLuaEngine/Eluna#links) or [issues](https://github.com/ElunaLuaEngine/Eluna/issues).
-You can revert back to the old sources by using `git reset --hard 000000` `git submodule update`, where 000000 is the `commit hash`.
-5. If the compiling was successful, you should update your database if needed.
-You can do this by running all **new** SQL files in `sql/updates/*`.
-You need to see your notes from before pulling the updates or you can use the old commit hash to see on github what were the last files you ran.
-An easy way is to just look at the created/modified date on the files.
+###Updating
+Updating is essentially handled in the same manner as you would normally update the core and database.
+To get the newest core sourcecode open `git bash` and navigate to your local source folder.
+Then execute use `git pull` followed by `git submodule init` and `git submodule update`.
+After updating the source you need to recompile the core normally. Simply use `CMake` if needed and compile.
+To update the databases refer to the core's or database's official updating documents:
+ * [TrinityCore](http://collab.kpsn.org/display/tc/Databases+Installation)
+ * [cMaNGOS](https://github.com/cmangos/issues/wiki/Installation-Instructions)
View
@@ -1,16 +1,42 @@
-#Merging Eluna with MaNGOS
-Eluna is already merged with official MaNGOS by default
+#Merging Eluna
+Eluna can be added to various sources by applying the core changes required for Eluna to function.
+Below you find the guides for merging Eluna with each core or a fork of it.
+If you choose to merge you should be able to maintain and update yourself - we do not maintain your core.
+We also do not fix any merging errors you may have, but you are free to ask about them on the [support forum](../README.md#links) and we may assist.
-#Merging Eluna with TC
+We recommend using the [installation guide](INSTALL.md) especially if you are not familiar with git and updating the code.
+It allows you to simply use `git pull` followed by `git submodule update` to update your source and we will handle the merging and maintenance with the official core source. Naturally you still need to handle updating the database as instructed by the core's wiki or instructions.
+
+###Merging Eluna with MaNGOS
+Eluna is merged with [official MaNGOS](http://getmangos.eu/) by default.
+
+###Merging Eluna with cMaNGOS
+```
+git clone https://github.com/cmangos/mangos-wotlk.git
+cd mangos-wotlk
+git pull --recurse-submodules https://github.com/ElunaLuaEngine/ElunaMangosWotlk.git
+```
+Steps explained:
+1. clone the core or fork source or get the it by other means
+2. navigate to the source folder
+3. pull the Eluna fork. This will fetch the repository and merge it with your source.
+ * `--recurse-submodules` will automatically pull the submodules (Eluna repository). You may need to use `git submodule init` followed by `git submodule update` if your Eluna folder is empty
+ * it is important that you choose the correct Eluna fork for your core andpatch:
+ * [Eluna cMaNGOS Classic](https://github.com/ElunaLuaEngine/ElunaMangosClassic)
+ * [Eluna cMaNGOS TBC](https://github.com/ElunaLuaEngine/ElunaMangosTbc)
+ * [Eluna cMaNGOS WotLK](https://github.com/ElunaLuaEngine/ElunaMangosWotlk)
+
+###Merging Eluna with TrinityCore
```
git clone https://github.com/TrinityCore/TrinityCore.git -b3.3.5
cd TrinityCore
git pull --recurse-submodules https://github.com/ElunaLuaEngine/ElunaTrinityWotlk.git
```
Steps explained:
-
-1. clone TrinityCore
-2. go to the source folder
-3. pull (fetch and merge) Eluna with the source.
- * recurse-submodules will automatically pull the submodule (Eluna repo)
- * Adding Eluna core repository as a remote is recommended
+1. clone the core or fork source or get the it by other means
+2. navigate to the source folder
+3. pull the Eluna fork. This will fetch the repository and merge it with your source.
+ * `--recurse-submodules` will automatically pull the submodules (Eluna repository). You may need to use `git submodule init` followed by `git submodule update` if your Eluna folder is empty
+ * it is important that you choose the correct Eluna fork for your core and patch:
+ * [Eluna TrinityCore WotLK](https://github.com/ElunaLuaEngine/ElunaTrinityWotlk)
+ * [Eluna TrinityCore Cataclysm](https://github.com/ElunaLuaEngine/ElunaTrinityCata)

0 comments on commit d50a52c

Please sign in to comment.