Community Projects: Difference between revisions

From wowdev
Jump to navigation Jump to search
m (Better category names)
m (→‎Network & Emulators: TC supports Legion (and BfA, soontm))
(47 intermediate revisions by 14 users not shown)
Line 1: Line 1:
== Data Storage & Archives ==
== Data Storage & Archives ==
{| class="wikitable"
{| class="wikitable"
! Name
! scope="col" style="width: 15%;" | Name
! WoW Version
! scope="col" style="width: 10%;" | WoW Version
! Language
! scope="col" style="width: 10%;" | Language
! Open Source
! scope="col" style="width: 5%;" | Open Source
! In development
! scope="col" style="width: 5%;" | In development
! Description
! scope="col" style="width: 55%;" | Description
|-
|-
| [http://www.zezula.net/en/mpq/stormlib.html StormLib]
| [http://www.zezula.net/en/mpq/stormlib.html StormLib]
| <= {{Template:Sandbox/PrettyVersion|expansionlevel=4}}
| {{Template:Sandbox/VersionRange|max_expansionlevel=4}}
| C++
| C++
| {{Yes}}
| {{Yes}}
Line 16: Line 16:
|-
|-
| [https://github.com/sgraf812/crystalmpq CrystalMpq]
| [https://github.com/sgraf812/crystalmpq CrystalMpq]
| <= {{Template:Sandbox/PrettyVersion|expansionlevel=4}}
| {{Template:Sandbox/VersionRange|max_expansionlevel=4}}
| C#/.NET
| C#/.NET
| {{Yes}}
| {{Yes}}
Line 23: Line 23:
|-
|-
| [https://github.com/ladislav-zezula/CascLib CascLib]
| [https://github.com/ladislav-zezula/CascLib CascLib]
| >= {{Template:Sandbox/PrettyVersion|expansionlevel=6}}
| {{Template:Sandbox/VersionRange|min_expansionlevel=6}}
| C++
| C++
| {{Yes}}
| {{Yes}}
Line 30: Line 30:
|-
|-
| [https://github.com/heksesang/CascLib CascLib]
| [https://github.com/heksesang/CascLib CascLib]
| >= {{Template:Sandbox/PrettyVersion|expansionlevel=6}}
| {{Template:Sandbox/VersionRange|min_expansionlevel=6}}
| C++
| C++
| {{Yes}}
| {{Yes}}
Line 37: Line 37:
|-
|-
| [https://github.com/WoW-Tools/CASCExplorer CASCExplorer]
| [https://github.com/WoW-Tools/CASCExplorer CASCExplorer]
| >= {{Template:Sandbox/PrettyVersion|expansionlevel=6}}
| {{Template:Sandbox/VersionRange|min_expansionlevel=6}}
| C#/.NET
| C#/.NET
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
|
|-
| [https://github.com/Warpten/DBFilesClient.NET DBFilesClient.NET]
| {{Template:Sandbox/VersionRange|min_expansionlevel=1}}
| C#/.NET
| {{Yes}}
| {{Yes}}
| DBFilesClient.NET is a blazing-fast C# library for reading DBC and DB2 files, from Vanilla to Legion. Allows for complex reads by inheriting specific exposed types, allowing the user to define relations between files, or even as far as linking to an entry in CASC.
|-
| [https://github.com/Nihlus/libwarcraft libwarcraft]
| {{Template:Sandbox/VersionRange|max_expansionlevel=3}}
| C#/.NET
| {{Yes}}
| {{Yes}}
| Managed library for interacting with all Blizzard file formats up to and including Wrath of the Lich King. Supports reading MPQ archives with write support in the works.
|-
| [https://bitbucket.org/tharo/taliis mwtMPQ]
| {{Template:Sandbox/VersionRange|max_expansionlevel=1}}
| Java
| {{Yes}}
| {{No}}
| As part of the Taliis Toolchain there is a basic MPQ lib written in Java.
|-
| [https://github.com/erorus/casc erorus/casc]
| {{Template:Sandbox/VersionRange|min_expansionlevel=7}}
| PHP
| {{Yes}}
| {{Yes}}
| Command-line CASC client designed for speed and efficiency. Developed on a Linux platform, but likely usable in Windows.
|-
|}
|}


== Data Handling ==
== Data Handling ==
{| class="wikitable"
{| class="wikitable"
! Name
! scope="col" style="width: 15%;" | Name
! WoW Version
! scope="col" style="width: 10%;" | WoW Version
! Language
! scope="col" style="width: 10%;" | Language
! Open Source
! scope="col" style="width: 5%;" | Open Source
! In development
! scope="col" style="width: 5%;" | In development
! Description
! scope="col" style="width: 55%;" | Description
|-
|-
| [https://github.com/Deamon87/WebWoWViewer WebWoWViewer]
| [https://github.com/Deamon87/WebWoWViewer WebWoWViewer]
Line 59: Line 87:
| {{Yes}}
| {{Yes}}
| An attempt to recreate old WoWMapViewer application from scratch and entirely in js
| An attempt to recreate old WoWMapViewer application from scratch and entirely in js
|-
| [https://code.google.com/archive/p/wowmapper/ wowmapper]
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}, {{Template:Sandbox/PrettyVersion|expansionlevel=4}}
| C++
| {{Yes}}
| {{No}}
|
|-
|-
| [https://github.com/stschake/meshReader meshReader]
| [https://github.com/stschake/meshReader meshReader]
Line 81: Line 116:
|
|
|-
|-
| [https://bitbucket.org/mugadr_m/neo Neo/WoWEditor]
| [https://bitbucket.org/mugadr_m/neo Neo]
| {{Template:Sandbox/PrettyVersion|expansionlevel=6}}
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}, {{Template:Sandbox/PrettyVersion|expansionlevel=6}}
| C#/.NET
| {{Yes}}
| {{No}}
| A WoW Development Suite aimed to provide wide world and data editing functionality in one cross-platform application.
|-
| [https://github.com/WowDevTools/Neo Neo (fork)]
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}, {{Template:Sandbox/PrettyVersion|expansionlevel=6}}
| C#/.NET
| C#/.NET
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| A WoW Development Suite
| A WoW Development Suite aimed to provide wide world and data editing functionality in one cross-platform application.
|-
| [https://bitbucket.org/berndloerwald/noggit3 Noggit3]
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}
| C++
| {{Yes}}
| {{Yes}}
| map editor
|-
| [https://bitbucket.org/tharo/taliis Taliis]
| {{Template:Sandbox/VersionRange|max_expansionlevel=2}}
| Java
| {{Yes}}
| {{No}}
| map and advanced dbc editor
|-
|-
| [https://github.com/Kruithne/W3DT W3DT]
| [https://github.com/Kruithne/W3DT W3DT]
Line 96: Line 152:
|-
|-
| [https://github.com/Marlamin/WoWFormatTest WoWFormatTest]
| [https://github.com/Marlamin/WoWFormatTest WoWFormatTest]
| {{Template:Sandbox/PrettyVersion|expansionlevel=6}}, {{Template:Sandbox/PrettyVersion|expansionlevel=7}}
| {{Template:Sandbox/VersionRange|min_expansionlevel=8}} (Latest)
| C#/.NET
| {{Yes}}
| {{Yes}}
| Various projects relating to WoW formats, main project is an exporter
|-
| [https://github.com/skarnproject/Blender-WMO-import-export-scripts Blender WMO import/export scripts]
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}?
| Python 3 (Blender API)
| {{Yes}}
| {{No}}
| Script addon for Blender featuring World of Warcraft World Model Object (WMO) import/export. This branch is discontinued in favor of WoW Blender Studio.
|-
| [https://github.com/WowDevTools/pywowlib pywowlib]
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}},  {{Template:Sandbox/PrettyVersion|expansionlevel=7}},
{{Template:Sandbox/PrettyVersion|expansionlevel=8}}
| Python 3.5+
| {{Yes}}
| {{Yes}}
| pywowlib is a Python 3.5+ libary featuring the functionality of reading and writing various World of Warcraft related file formats. The goal of the library is to initially target 3 WoW versions: 3.3.5a, 7.3.5, retail. In the future, it may target other core expansion versions: 1.12, 2.4.3, 4.3.4, 5.4.8, 6.2.4
|-
| [https://github.com/Nihlus/Everlook Everlook]
| {{Template:Sandbox/VersionRange|max_expansionlevel=3}}
| C#/.NET
| {{Yes}}
| {{Yes}}
| World of Warcraft Model Viewer clone, based on [https://github.com/Nihlus/libwarcraft libwarcraft] and implemented using GTK3. Aims for full cross-platform support, and to provide a smoother workflow than WMV.
|-
| [https://github.com/Nihlus/gnome-blp-thumbnailer gnome-blp-thumbnailer]
| {{Template:Sandbox/VersionRange|max_expansionlevel=3}}
| C#/.NET
| {{Yes}}
| {{Yes}}
| Thumbnail generator for BLP files for the GNOME desktop environment.
|-
| [https://github.com/Nihlus/blizzard-mime-types blizzard-mime-types]
| {{Template:Sandbox/VersionRange|max_expansionlevel=3}}
| Shell/XML
| {{Yes}}
| {{Yes}}
| FreeDesktop.org MIME type definitions for most Blizzard file formats. Works out of the box with practically all *nix operating systems.
|-
| [https://github.com/WowDevTools/WDBXEditor/ WDBX Editor]
| {{Template:Sandbox/VersionRange|max_expansionlevel=7}}
| C#/.NET
| C#/.NET
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
|  
| A DBC/DB2/Cache editor designed to work for all client versions. Includes a wide range of tools for various DB related tasks.
|-
| [https://github.com/erorus/db2 erorus/db2]
| {{Template:Sandbox/PrettyVersion|expansionlevel=7}}
| PHP
| {{Yes}}
| {{Yes}}
| DB2 Reader library written in PHP, using unit tests and code coverage. Auto-detects field formats. Supports WDB6, ADB, Hotfix.tbl, embedded strings, nonzero block, etc.
|-
| [https://bitbucket.org/wowmodelviewer/wowmodelviewer WoW Model Viewer]
| {{Template:Sandbox/PrettyVersion|expansionlevel=7}}
| C++
| {{Yes}}
| {{Yes}}
| Well known WoW Model Viewer, currently under active development, supporting data viewing and exporting including Legion. Community forum available [https://forum.wowmodelviewer.net here]
|-  
|-  
|}
|}
Line 106: Line 219:
== Client & Memory ==
== Client & Memory ==
{| class="wikitable"
{| class="wikitable"
! Name
! scope="col" style="width: 15%;" | Name
! WoW Version
! scope="col" style="width: 10%;" | WoW Version
! Language
! scope="col" style="width: 10%;" | Language
! Open Source
! scope="col" style="width: 5%;" | Open Source
! In development
! scope="col" style="width: 5%;" | In development
! Description
! scope="col" style="width: 55%;" | Description
|-
|-
| [https://github.com/tomrus88/WowAddin WoWAddin]
| [https://github.com/tomrus88/WowAddin WoWAddin]
Line 144: Line 257:
== Network & Emulators ==
== Network & Emulators ==
{| class="wikitable"
{| class="wikitable"
! Name
! scope="col" style="width: 15%;" | Name
! WoW Version
! scope="col" style="width: 10%;" | WoW Version
! Language
! scope="col" style="width: 10%;" | Language
! Open Source
! scope="col" style="width: 5%;" | Open Source
! In development
! scope="col" style="width: 5%;" | In development
! Description
! scope="col" style="width: 55%;" | Description
|-
|-
| [https://github.com/cmangos CMaNGOS]
| [https://github.com/cmangos CMaNGOS]
| <= {{Template:Sandbox/PrettyVersion|expansionlevel=3}}
| {{Template:Sandbox/VersionRange|min_expansionlevel=1|max_expansionlevel=3}}
| C++
| C++
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| Emulator
|  
|-
|-
| [https://github.com/TrinityCore/TrinityCore TrinityCore]
| [https://gitlab.com/Shgck/durator-emu DuratorEmu]
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}, {{Template:Sandbox/PrettyVersion|expansionlevel=6}}
| {{Template:Sandbox/PrettyVersion|expansionlevel=1}}
| Python
| {{Yes}}
| {{Yes}}
| Tiny sandbox for 1.1.2.4125, written in Python, which tries to remain small, clean and understandable.
|-
| [https://github.com/EmberEmu/Ember Ember]
| {{Template:Sandbox/PrettyVersion|expansionlevel=1}}
| C++
| C++
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| Emulator
| Ember is an educational server emulation project targeting the WoW 1.12.1 protocol, striving to be a modular and robust architecture.
|-
|-
| [https://github.com/EmberEmu/Ember Ember]
| [https://shadowburn-project.org/ Shadowburn Project]
| {{Template:Sandbox/PrettyVersion|expansionlevel=1}}
| {{Template:Sandbox/PrettyVersion|expansionlevel=1}}
| Elixir
| {{Yes}}
| {{Yes}}
|
|-
| [https://github.com/ProjectSkyfire/SkyFire.548 Skyfire]
| {{Template:Sandbox/PrettyVersion|expansionlevel=5}}
| C++
| C++
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| Emulator
| Derivative core based on TrinityCore that aims for a robust and working 5.4.8.18414 emulator with functionality.
|-
| [https://github.com/TrinityCore/TrinityCore TrinityCore]
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}, {{Template:Sandbox/PrettyVersion|expansionlevel=7}}
| C++
| {{Yes}}
| {{Yes}}
|
|-
|-
| [https://github.com/WCell/WCell WCell]
| [https://github.com/WCell/WCell WCell]
Line 178: Line 312:
| {{No}}
| {{No}}
| World of Warcraft emulator written in C#/.NET 4.0, with design and extensibility in mind.
| World of Warcraft emulator written in C#/.NET 4.0, with design and extensibility in mind.
|-
| [https://github.com/RomanRom2/WoWCore/ WoWCore]
| {{Template:Sandbox/VersionRange|min_expansionlevel=1|max_expansionlevel=3}}
| Pascal
| {{Yes}}
| {{Unknown}}
|
|-
| [https://github.com/barncastle/AIO-Sandbox/ AIO Sandbox]
| {{Template:Sandbox/VersionRange|min_expansionlevel=0|max_expansionlevel=1}}
| C#/.NET
| {{Yes}}
| {{Yes}}
| A lightweight sandbox for all pre-release client versions (0.5.3 to 1.0.1).
|-
|}
|}


== Documentation ==
== Tools ==
{| class="wikitable"
{| class="wikitable"
! Name
! scope="col" style="width: 15%;" | Name
! WoW Version
! scope="col" style="width: 10%;" | WoW Version
! Language
! scope="col" style="width: 10%;" | Language
! Open Source
! scope="col" style="width: 5%;" | Open Source
! In development
! scope="col" style="width: 5%;" | In development
! Description
! scope="col" style="width: 55%;" | Description
|-
| [http://marlamin.com/minimaps/adtgrid.php ADTGrid]
| {{Template:Sandbox/VersionRange|min_expansionlevel=6|max_expansionlevel=8}}
| Website
| {{No}}
| {{Unknown}}
| Generates and displays a visual overhead map of ADT tiles based on user input.
|-
| [http://marlamin.com/minimaps/ Minimaps]
| {{Template:Sandbox/VersionRange|min_expansionlevel=1|max_expansionlevel=8}}
| Website/Images
| {{No}}
| {{Yes}}
| Provides PNG images of minimaps for different maps.
|-
| [https://github.com/Nihlus/liblistfile liblistfile]
| {{Template:Sandbox/VersionRange|max_expansionlevel=3}}
| C#/.NET
| {{Yes}}
| {{Yes}}
| Library for generating and optimizing listfiles.
|-
| [https://github.com/Nihlus/listtools listtools]
| {{Template:Sandbox/VersionRange|max_expansionlevel=3}}
| C#/.NET
| {{Yes}}
| {{Yes}}
| CLI tool implementing the functionality of [https://github.com/Nihlus/liblistfile liblistfile]. Useful for mitigating the widespread incorrect casing in Blizzard archives - the tool learns as it goes and is corrected by the user, and uses this to better predict the correct casing for future files and folders. Can also generate new listfiles from scratch.
|-
|-
| [https://github.com/Luzifix/ADTConvert ADTConvert]
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}
| C#/.NET
| {{Yes}}
| {{Yes}}
| The ADTConverter can convert the World of Warcraft ADT Format form LK(3.3.5) to WoD(6.x.x).
|}
|}

Revision as of 23:50, 21 November 2018

Data Storage & Archives

Name WoW Version Language Open Source In development Description
StormLib ≤ Cata C++ Yes Unknown
CrystalMpq ≤ Cata C#/.NET Yes No CrystalMpq is a MPQ reading library written in C#.
CascLib ≥ WoD C++ Yes Yes An open-source implementation of library for reading CASC storage from Blizzard games since 2014
CascLib ≥ WoD C++ Yes Yes CascLib is C++ library that allows you to access files from a CASC library from any Blizzard game. It aims for a modern C++14 design, being header-only, and leveraging standard C++ features like streams.
CASCExplorer ≥ WoD C#/.NET Yes Yes
DBFilesClient.NET ≥ Vanilla C#/.NET Yes Yes DBFilesClient.NET is a blazing-fast C# library for reading DBC and DB2 files, from Vanilla to Legion. Allows for complex reads by inheriting specific exposed types, allowing the user to define relations between files, or even as far as linking to an entry in CASC.
libwarcraft ≤ Wrath C#/.NET Yes Yes Managed library for interacting with all Blizzard file formats up to and including Wrath of the Lich King. Supports reading MPQ archives with write support in the works.
mwtMPQ ≤ Vanilla Java Yes No As part of the Taliis Toolchain there is a basic MPQ lib written in Java.
erorus/casc ≥ Legion PHP Yes Yes Command-line CASC client designed for speed and efficiency. Developed on a Linux platform, but likely usable in Windows.

Data Handling

Name WoW Version Language Open Source In development Description
WebWoWViewer Wrath JavaScript Yes Yes An attempt to recreate old WoWMapViewer application from scratch and entirely in js
wowmapper Wrath, Cata C++ Yes No
meshReader Cata C#/.NET Yes No
BananaMpq Cata? C#/.NET Yes No Extracting WoW's geometry data reliably
WoWMap WoD C#/.NET Yes Unknown
Neo Wrath, WoD C#/.NET Yes No A WoW Development Suite aimed to provide wide world and data editing functionality in one cross-platform application.
Neo (fork) Wrath, WoD C#/.NET Yes Yes A WoW Development Suite aimed to provide wide world and data editing functionality in one cross-platform application.
Noggit3 Wrath C++ Yes Yes map editor
Taliis ≤ BC Java Yes No map and advanced dbc editor
W3DT Live, PTR, Beta C#/.NET Yes Yes 3D Toolkit for World of Warcraft aimed at machinima creators.
WoWFormatTest ≥ Battle (Latest) C#/.NET Yes Yes Various projects relating to WoW formats, main project is an exporter
Blender WMO import/export scripts Wrath? Python 3 (Blender API) Yes No Script addon for Blender featuring World of Warcraft World Model Object (WMO) import/export. This branch is discontinued in favor of WoW Blender Studio.
pywowlib Wrath, Legion,

Battle

Python 3.5+ Yes Yes pywowlib is a Python 3.5+ libary featuring the functionality of reading and writing various World of Warcraft related file formats. The goal of the library is to initially target 3 WoW versions: 3.3.5a, 7.3.5, retail. In the future, it may target other core expansion versions: 1.12, 2.4.3, 4.3.4, 5.4.8, 6.2.4
Everlook ≤ Wrath C#/.NET Yes Yes World of Warcraft Model Viewer clone, based on libwarcraft and implemented using GTK3. Aims for full cross-platform support, and to provide a smoother workflow than WMV.
gnome-blp-thumbnailer ≤ Wrath C#/.NET Yes Yes Thumbnail generator for BLP files for the GNOME desktop environment.
blizzard-mime-types ≤ Wrath Shell/XML Yes Yes FreeDesktop.org MIME type definitions for most Blizzard file formats. Works out of the box with practically all *nix operating systems.
WDBX Editor ≤ Legion C#/.NET Yes Yes A DBC/DB2/Cache editor designed to work for all client versions. Includes a wide range of tools for various DB related tasks.
erorus/db2 Legion PHP Yes Yes DB2 Reader library written in PHP, using unit tests and code coverage. Auto-detects field formats. Supports WDB6, ADB, Hotfix.tbl, embedded strings, nonzero block, etc.
WoW Model Viewer Legion C++ Yes Yes Well known WoW Model Viewer, currently under active development, supporting data viewing and exporting including Legion. Community forum available here

Client & Memory

Name WoW Version Language Open Source In development Description
WoWAddin Wrath C++ Yes No
IceFlake Wrath C#/.NET Yes No
cleanCore Cata C#/.NET Yes No cleanCore is an C# interface to the WoW Game
WowMoPObjMgrTest Mists C#/.NET Yes No

Network & Emulators

Name WoW Version Language Open Source In development Description
CMaNGOS Vanilla … Wrath C++ Yes Yes
DuratorEmu Vanilla Python Yes Yes Tiny sandbox for 1.1.2.4125, written in Python, which tries to remain small, clean and understandable.
Ember Vanilla C++ Yes Yes Ember is an educational server emulation project targeting the WoW 1.12.1 protocol, striving to be a modular and robust architecture.
Shadowburn Project Vanilla Elixir Yes Yes
Skyfire Mists C++ Yes Yes Derivative core based on TrinityCore that aims for a robust and working 5.4.8.18414 emulator with functionality.
TrinityCore Wrath, Legion C++ Yes Yes
WCell Wrath C#/.NET Yes No World of Warcraft emulator written in C#/.NET 4.0, with design and extensibility in mind.
WoWCore Vanilla … Wrath Pascal Yes Unknown
AIO Sandbox PreVanilla … Vanilla C#/.NET Yes Yes A lightweight sandbox for all pre-release client versions (0.5.3 to 1.0.1).

Tools

Name WoW Version Language Open Source In development Description
ADTGrid WoD … Battle Website No Unknown Generates and displays a visual overhead map of ADT tiles based on user input.
Minimaps Vanilla … Battle Website/Images No Yes Provides PNG images of minimaps for different maps.
liblistfile ≤ Wrath C#/.NET Yes Yes Library for generating and optimizing listfiles.
listtools ≤ Wrath C#/.NET Yes Yes CLI tool implementing the functionality of liblistfile. Useful for mitigating the widespread incorrect casing in Blizzard archives - the tool learns as it goes and is corrected by the user, and uses this to better predict the correct casing for future files and folders. Can also generate new listfiles from scratch.
ADTConvert Wrath C#/.NET Yes Yes The ADTConverter can convert the World of Warcraft ADT Format form LK(3.3.5) to WoD(6.x.x).