WowDevTools / Everlook

Everlook is a World of Warcraft model viewer, created to showcase the capabilities of libwarcraft.
GNU General Public License v3.0
65 stars 25 forks source link
c-sharp cross-platform cross-platform-desktop csharp debian gtk linux opengl opentk showcase textures warcraft warcraft-model-viewer

Everlook

Latest Download DoxygenDoc Bountysource WoWDevDiscord

Buy Me a Coffee at ko-fi.com

Build Status

CI Build Defects
AppVeyor Build status Coverity Badge Soon
Travis Build Status

About

Everlook is a cross-platform, open-source World of Warcraft model viewer, created to showcase the capabilities of libwarcraft.

Everlook will be capable of browsing, exporting and converting most World of Warcraft formats up until Wrath of the Lich King, and is under active development. The current goal is to act as an open, simple and feature-complete replacement for World of Warcraft Model Viewer.

Currently, Everlook is in early development and may not be usable in your day-to-day activities.

Features

Everlook

Known Isssues

Useful Information

Planned Features

Compiling

In order to compile Everlook, you will need a Nuget-capable IDE that supports the C# language. The most commonly used ones are Visual Studio, MonoDevelop and more recently Project Rider. Everlook uses .NET Standard 2.0 libraries and tooling, so you need at least one of the following:

You'll also need two additional nuget package feeds - OpenTK-develop and ImageSharp-develop. These should be configured automatically via the NuGet.config file in the repository, but you may need to add them manually. Refer to your IDE on how to do this.

You can also add them via the terminal:

$ nuget sources add -Name OpenTK-Development -Source https://www.myget.org/F/opentk-develop/api/v2
$ nuget sources add -Name ImageSharp-Development -Source https://www.myget.org/F/imagesharp/api/v2

Beyond that, downloading and compiling Everlook is as simple as the following commands:

$ git clone git@github.com:WowDevTools/Everlook.git
$ cd Everlook
$ git submodule update --init --recursive
$ nuget restore

If you're running Mono, you'll also need to .NET Core 2.0 SDK, and you should substitude any nuget restore commands with

$ dotnet restore

All required GTK+ binaries are bundled for Windows.

For Debian-based Linux distributions, the following package should suffice:

If you find that other dependencies are required, please open an issue here on Github.

If you are not using an IDE, Everlook can be built by invoking

$ msbuild Everlook.sln

Binary Packages

There are a number of ways you could get Everlook. For Windows users, the current method is, unfortunately, limited to downloading and compiling from source. You get the latest version, but it's a bit more of a hassle. In the future, Everlook may become available as an installer.

Ubuntu (and Ubuntu derivations) can simply add this PPA to get the application and a number of other helper packages, such as mime types and the underlying libraries used in the development of Everlook.

Debian users can manually download packages from the PPA, or add it manually to their sources.list file. Maybe someday it'll be in the main repo? We can hope!

Other Linux users can get tarballs of the binaries from the PPA as well. I plan on figuring out some better format for you soon. If someone who uses Arch sees this, I'd love some help getting it onto the AUR.Currently, Everlook does not provide any binary packages or installers due to its early state.

Why?

World of Warcraft modding and development in general relies on a number of different command-line utilities, halfway finished applications and various pieces of abandonware, many which lack any source code. Furthermore, most of them are written for a specific operating system (most commonly Windows), which limits their use for developers on other systems.

libwarcraft (and, by extension, Everlook) is intended to solve at least a few of these problems, providing a common library for all Warcraft file formats upon which more specialized applications can be built - such as Everlook.

Everlook itself stems from my frustration with WMV and its utter inability to compile on any of my systems, as well as its broken model export functions which were more harm than help. I have naught but respect for the creator of WMV, but it does not meet my requirements for a model viewer and exporter. Thus, Everlook.