Community Projects: Difference between revisions

From wowdev
Jump to navigation Jump to search
(Adding DBFilesClient.NET)
(32 intermediate revisions by 18 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]
Line 61: Line 61:
| {{Yes}}
| {{Yes}}
| {{No}}
| {{No}}
| As part of the Taliis Toolchain there is an basic MPQ lib written in Java.
| 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.
|-  
|-  
|}
|}
Line 67: Line 74:
== 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 120: Line 127:
| C#/.NET
| C#/.NET
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{No}}
| A WoW Development Suite aimed to provide wide world and data editing functionality in one cross-platform application.
| A WoW Development Suite aimed to provide wide world and data editing functionality in one cross-platform application.
|-
|-
| [https://bitbucket.org/berndloerwald/noggit3 Noggit3]
| [https://github.com/wowdev/noggit3 Noggit3]
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}
| C++
| C++
Line 137: Line 144:
| map and advanced dbc editor
| map and advanced dbc editor
|-
|-
| [https://github.com/Kruithne/W3DT W3DT]
| [https://github.com/skarnproject/Blender-WMO-import-export-scripts Blender WMO import/export scripts]
| Live, PTR, Beta
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}?
| C#/.NET
| Python 3 (Blender API)
| {{Yes}}
| {{Yes}}
| 3D Toolkit for World of Warcraft aimed at machinima creators.
|-
| [https://github.com/Marlamin/WoWFormatTest WoWFormatTest]
| {{Template:Sandbox/VersionRange|min_expansionlevel=6}}
| C#/.NET
| {{Yes}}
| {{Yes}}
| {{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/skarnproject/Blender-WMO-import-export-scripts Blender WMO import/export scripts]
| [https://github.com/WowDevTools/pywowlib pywowlib]
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}?
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}},  {{Template:Sandbox/PrettyVersion|expansionlevel=7}},
| Python (Blender API)
{{Template:Sandbox/PrettyVersion|expansionlevel=8}}
| Python 3.5+
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
| Script addon for Blender featuring World of Warcraft World Model Object (WMO) import/export.
| 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]
| [https://github.com/Nihlus/Everlook Everlook]
Line 177: Line 179:
| {{Yes}}
| {{Yes}}
| FreeDesktop.org MIME type definitions for most Blizzard file formats. Works out of the box with practically all *nix operating systems.
| 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
| {{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]
|-
| [https://github.com/wowstack/php-dbc-parser WoW DBC Parser]
| {{Template:Sandbox/PrettyVersion|expansionlevel=1}} {{Template:Sandbox/PrettyVersion|expansionlevel=2}} {{Template:Sandbox/PrettyVersion|expansionlevel=3}}
| PHP
| {{Yes}}
| {{Yes}}
| A unit-tested parser for all DBC files contained in WoW up to version 3.3.5. Has been developed with DBCs from 1.0 up to 1.12.2.
|-  
|-  
|}
|}
Line 182: Line 212:
== 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 198: Line 228:
| [https://github.com/miceiken/IceFlake IceFlake]
| [https://github.com/miceiken/IceFlake IceFlake]
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}
| C#/.NET
| {{Yes}}
| {{No}}
|
|-
| [https://github.com/TheNoobCompany/TheNoobBot TheNoobBot ]
| {{Template:Sandbox/PrettyVersion|expansionlevel=5}}{{Template:Sandbox/PrettyVersion|expansionlevel=6}}{{Template:Sandbox/PrettyVersion|expansionlevel=7}}
| C#/.NET
| C#/.NET
| {{Yes}}
| {{Yes}}
Line 220: 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]
Line 234: Line 271:
|  
|  
|-
|-
| [https://gitlab.com/Shgck/durator-emu DuratorEmu]
| [https://github.com/Dece/DuratorEmu DuratorEmu]
| {{Template:Sandbox/PrettyVersion|expansionlevel=1}}
| {{Template:Sandbox/PrettyVersion|expansionlevel=1}}
| Python
| Python
| {{Yes}}
| {{Yes}}
| {{No}}
| Tiny sandbox for 1.1.2.4125, written in Python, which tries to remain small, clean and understandable.
|-
| [https://idewave.com/ idewave-core]
| {{Template:Sandbox/PrettyVersion|expansionlevel=2}}
| Python
| {{Yes}}
| {{Yes}}
| Tiny sandbox for 1.1.2.4125, written in Python, which tries to remain small, clean and understandable.
| {{Yes}}
| Sandbox for 2.4.3, written in Python + SQLAlchemy, created as simple as possible for simplify the process of making incredible things. Currently in progress.
|-
| [https://github.com/GrenderG/alpha-core alpha-core]
| {{Template:Sandbox/PrettyVersion|expansionlevel=0}}
| Python
| {{Yes}}
| {{Yes}}
| Experimental 0.5.3.3368 emulator, aimed to be the first playable 0.5.3 core for historical preservation purposes. Currently in development, join our discussions [https://discord.gg/RzBMAKU here]!
|-
|-
| [https://github.com/EmberEmu/Ember Ember]
| [https://github.com/EmberEmu/Ember Ember]
Line 247: Line 298:
| {{Yes}}
| {{Yes}}
| Ember is an educational server emulation project targeting the WoW 1.12.1 protocol, striving to be a modular and robust architecture.
| Ember is an educational server emulation project targeting the WoW 1.12.1 protocol, striving to be a modular and robust architecture.
|-
| [https://shadowburn-project.org/ Shadowburn Project]
| {{Template:Sandbox/PrettyVersion|expansionlevel=1}}
| Elixir
| {{Yes}}
| {{Yes}}
|
|-
|-
| [https://github.com/ProjectSkyfire/SkyFire.548 Skyfire]
| [https://github.com/ProjectSkyfire/SkyFire.548 Skyfire]
Line 256: Line 314:
|-
|-
| [https://github.com/TrinityCore/TrinityCore TrinityCore]
| [https://github.com/TrinityCore/TrinityCore TrinityCore]
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}, {{Template:Sandbox/PrettyVersion|expansionlevel=6}}
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}, {{Template:Sandbox/PrettyVersion|expansionlevel=7}}
| C++
| C++
| {{Yes}}
| {{Yes}}
| {{Yes}}
| {{Yes}}
|  
|  
|-
| [http://www.azerothcore.org/ AzerothCore]
| {{Template:Sandbox/PrettyVersion|expansionlevel=3}}
| C++
| {{Yes}}
| {{Yes}}
| 3.3.5a Emulator with a focus on gameplay, blizzlike authenticity, stability and easy custom modifications (modular).
|-
|-
| [https://github.com/WCell/WCell WCell]
| [https://github.com/WCell/WCell WCell]
Line 273: Line 338:
| Pascal
| Pascal
| {{Yes}}
| {{Yes}}
| {{Unknown}}
| {{No}}
|
|
|-
|-
 
| [https://github.com/barncastle/AIO-Sandbox/ AIO Sandbox]
| {{Template:Sandbox/VersionRange|min_expansionlevel=0|max_expansionlevel=4}}
| C#/.NET
| {{Yes}}
| {{Yes}}
| A lightweight sandbox for all client versions (0.5.3 to 4.0.0).
|-
| [https://github.com/mangos MaNGOS]
| {{Template:Sandbox/VersionRange|min_expansionlevel=1|max_expansionlevel=4}}
| C++
| {{Yes}}
| {{Yes}}
| MaNGOS is an educational project made by volunteers. Discord server and forums are available at [https://getmangos.eu getmangos.eu]
|-
|}
|}


== Tools ==
== 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=7}}
| 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=6|max_expansionlevel=7}}
| Website/Images
| {{No}}
| {{Unknown}}
| Provides PNG images of minimaps for different maps.
|-
|-
| [https://github.com/Nihlus/liblistfile liblistfile]
| [https://github.com/Nihlus/liblistfile liblistfile]
Line 315: Line 379:
| {{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.
| 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:48, 19 December 2021

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 No 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
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
WoW DBC Parser Vanilla BC Wrath PHP Yes Yes A unit-tested parser for all DBC files contained in WoW up to version 3.3.5. Has been developed with DBCs from 1.0 up to 1.12.2.

Client & Memory

Name WoW Version Language Open Source In development Description
WoWAddin Wrath C++ Yes No
IceFlake Wrath C#/.NET Yes No
TheNoobBot MistsWoDLegion 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 No Tiny sandbox for 1.1.2.4125, written in Python, which tries to remain small, clean and understandable.
idewave-core BC Python Yes Yes Sandbox for 2.4.3, written in Python + SQLAlchemy, created as simple as possible for simplify the process of making incredible things. Currently in progress.
alpha-core PreVanilla Python Yes Yes Experimental 0.5.3.3368 emulator, aimed to be the first playable 0.5.3 core for historical preservation purposes. Currently in development, join our discussions here!
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
AzerothCore Wrath C++ Yes Yes 3.3.5a Emulator with a focus on gameplay, blizzlike authenticity, stability and easy custom modifications (modular).
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 No
AIO Sandbox PreVanilla … Cata C#/.NET Yes Yes A lightweight sandbox for all client versions (0.5.3 to 4.0.0).
MaNGOS Vanilla … Cata C++ Yes Yes MaNGOS is an educational project made by volunteers. Discord server and forums are available at getmangos.eu

Tools

Name WoW Version Language Open Source In development Description
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).