HellSpawner

command module
v0.0.0-...-667d129 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2021 License: GPL-3.0 Imports: 2 Imported by: 0

README

HellSpawner

CircleCI Go Report Card GoDoc Discord Twitch Status Subreddit subscribers

Logo

Join us on IRC!: ircs://irc.libera.chat/#opendiablo2

About this project

HellSpawner is the toolset used for developing games on the OpenDiablo2 engine.

Getting the source

To download code use a following command:

git clone --recurse-submodules https://github.com/OpenDiablo2/hellspawner

or after pulling the source, download submodules:

git submodule update --init --recursive

Then, you need to download go's dependencies:

In root of your project run go get -d

Run project by go run .

If you're using Unix-based OS, you can build project with included building script: run ./build.sh

Windows users must have minGW compiler installed (x32 or x64 depending on processor bit capacity and Windows build version) and put path to minGW/bin folder to system PATH variable.

mingw-x64 installer: https://sourceforge.net/projects/mingw-w64/files/latest/download

mingw for x32/x64 installer: https://sourceforge.net/projects/mingw-w64/

See steps 3 and 4 of this guide.

Contributing

If you find something you'd like to fix that's obviously broken, create a branch, commit your code, and submit a pull request. If it's a new or missing feature you'd like to see, add an issue, and be descriptive!

If you'd like to help out and are not quite sure how, you can look through any open issues and tasks, or ask for tasks on our discord server.

Lint Errors

We use golangci-lint to catch lint errors, and we require all contributors to install and use it. Installation instructions can be found here.

VS Code Extensions

The following extensions are recommended for working with this project:

  • ms-vscode.go
  • defaltd.go-coverage-viewer

When you open the workspace for the first time, Visual Studio Code will automatically suggest these extensions for installation.

Alternatively you can get to it by going to settings Ctrl+,, expanding Extensions and selecting Go configuration, then clicking on Edit in settings.json. Just paste that section where appropriate.

Status

For now (start of July 2021) you can use HellSpawner to:

  • create projects
  • browse MPQ archives
  • view following file formats:
    • DC6 and DCC - animations
    • WAV - sound files
    • TXT - data tables
  • edit:
    • COF - animation data
    • TBL - font tables
    • TBL - string tables
    • TXT - text files
    • DAT - palettes
    • PL2 - palette transforms
    • DT1 - map tiles
    • DS1 - map preset
    • D2 - animation data

Much work has been made in the background, but a lot of work still has to be done for the project to be complete.

Feel free to contribute!

Screenshots

Palette map, palette transfer and DC6 editor Font and String tables editor and animation data editor DT1, WAV and DCC editors

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package abysswrapper connects HellSpawner to AbyssEngine
Package abysswrapper connects HellSpawner to AbyssEngine
Package hsapp contains HellSpawner's high-level application logic
Package hsapp contains HellSpawner's high-level application logic
Package hsassets contains project assets embeds
Package hsassets contains project assets embeds
Package hscommon provides common stuff for all of the other high-level packages in the codebase
Package hscommon provides common stuff for all of the other high-level packages in the codebase
hsenum
Package hsenum provides enumerations used throughout the HellSpawner codebase.
Package hsenum provides enumerations used throughout the HellSpawner codebase.
hsfiletypes
Package hsfiletypes provides utilities for determining the type of a file.
Package hsfiletypes provides utilities for determining the type of a file.
hsfiletypes/hsfont
Package hsfont contains data for font file types
Package hsfont contains data for font file types
hsnode
Package hsnode contains an implementation of a node graph, as parent and child nodes.
Package hsnode contains an implementation of a node graph, as parent and child nodes.
hsproject
Package hsproject contains Hellspawner's Project implementation
Package hsproject contains Hellspawner's Project implementation
hsstate
Package hsstate contains structs that describe the state of the application.
Package hsstate contains structs that describe the state of the application.
hsutil
Package hsutil holds utility and helper functions
Package hsutil holds utility and helper functions
Package hsconfig provides the Hellspawner application config file implementation.
Package hsconfig provides the Hellspawner application config file implementation.
Package hswidget contains a generic editor widget implementation, along with with concrete editor implementations.
Package hswidget contains a generic editor widget implementation, along with with concrete editor implementations.
animdatawidget
Package animdatawidget provides data necessary for viewing and editing d2animdata.AnimationData structure
Package animdatawidget provides data necessary for viewing and editing d2animdata.AnimationData structure
cofwidget
Package cofwidget provides a giu.Widget implementation for viewing and editing the COF data structure.
Package cofwidget provides a giu.Widget implementation for viewing and editing the COF data structure.
dc6widget
Package dc6widget provides a giu.Widget implementation for viewing and editing the DC6 data structure.
Package dc6widget provides a giu.Widget implementation for viewing and editing the DC6 data structure.
dccwidget
Package dccwidget contains stuff responsible for viewing and editing the DCC data structure
Package dccwidget contains stuff responsible for viewing and editing the DCC data structure
ds1widget
Package ds1widget provides a giu.Widget for viewing and editing the DS1 data structure.
Package ds1widget provides a giu.Widget for viewing and editing the DS1 data structure.
dt1widget
Package dt1widget contains a giu widget implementation for viewing and editing the dt1 data structure
Package dt1widget contains a giu widget implementation for viewing and editing the dt1 data structure
dt1widget/tiletypeimage
Package tiletypeimage provides tile type image builder used for building a small previews of tiles.
Package tiletypeimage provides tile type image builder used for building a small previews of tiles.
fonttablewidget
Package fonttablewidget contains a giu widget implementation for viewing and editing the font table (tbl) data structure.
Package fonttablewidget contains a giu widget implementation for viewing and editing the font table (tbl) data structure.
palettegrideditorwidget
Package palettegrideditorwidget provides a giu widget implementation of a palette editor, for viewing and editing a palette.
Package palettegrideditorwidget provides a giu widget implementation of a palette editor, for viewing and editing a palette.
palettegridwidget
Package palettegridwidget provides data for viewing and editing 256-colors palettes
Package palettegridwidget provides data for viewing and editing 256-colors palettes
palettemapwidget
Package palettemapwidget provides a giu widget implementation of an editor for the PL2 palette transform data structure.
Package palettemapwidget provides a giu widget implementation of an editor for the PL2 palette transform data structure.
selectpalettewidget
Package selectpalettewidget contains palette select widget used in dcc, dc6 and dt1 editors
Package selectpalettewidget contains palette select widget used in dcc, dc6 and dt1 editors
stringtablewidget
Package stringtablewidget provides methods for editing and viewing TextDictionary (map[string]string) used in string tables
Package stringtablewidget provides methods for editing and viewing TextDictionary (map[string]string) used in string tables
Package hswindow contains project's windows
Package hswindow contains project's windows
hsdialog
Package hsdialog contains project's dialogs
Package hsdialog contains project's dialogs
hsdialog/hsaboutdialog
Package hsaboutdialog provides the "About" window implementation, which shows information about hellspawner.
Package hsaboutdialog provides the "About" window implementation, which shows information about hellspawner.
hsdialog/hspreferencesdialog
Package hspreferencesdialog contains preferences dialog data
Package hspreferencesdialog contains preferences dialog data
hsdialog/hsprojectpropertiesdialog
Package hsprojectpropertiesdialog contains project properties dialog's data
Package hsprojectpropertiesdialog contains project properties dialog's data
hseditor
Package hseditor provides editors for the various file types.
Package hseditor provides editors for the various file types.
hseditor/hsanimdataeditor
Package hsanimdataeditor contains D2 editor's data
Package hsanimdataeditor contains D2 editor's data
hseditor/hscofeditor
Package hscofeditor contains cof editor's data
Package hscofeditor contains cof editor's data
hseditor/hsdc6editor
Package hsdc6editor represents a dc6 editor window
Package hsdc6editor represents a dc6 editor window
hseditor/hsdcceditor
Package hsdcceditor contains dcc editor's data
Package hsdcceditor contains dcc editor's data
hseditor/hsds1editor
Package hsds1editor contains ds1 editor's data
Package hsds1editor contains ds1 editor's data
hseditor/hsdt1editor
Package hsdt1editor contains dt1 editor's data
Package hsdt1editor contains dt1 editor's data
hseditor/hsfonteditor
Package hsfonteditor contains font editor's data
Package hsfonteditor contains font editor's data
hseditor/hsfonttableeditor
Package hsfonttableeditor represents fontTableEditor's window
Package hsfonttableeditor represents fontTableEditor's window
hseditor/hspaletteeditor
Package hspaletteeditor contains palette editor's data
Package hspaletteeditor contains palette editor's data
hseditor/hspalettemapeditor
Package hspalettemapeditor contains palette map editor's data
Package hspalettemapeditor contains palette map editor's data
hseditor/hssoundeditor
Package hssoundeditor represents a soundEditor's window
Package hssoundeditor represents a soundEditor's window
hseditor/hsstringtableeditor
Package hsstringtableeditor contains string tables editor's data
Package hsstringtableeditor contains string tables editor's data
hseditor/hstexteditor
Package hstexteditor contains text editor's data
Package hstexteditor contains text editor's data
hstoolwindow
Package hstoolwindow contains game tool-windows' data
Package hstoolwindow contains game tool-windows' data
hstoolwindow/hsconsole
Package hsconsole provides a graphical console for logging output while the app is running.
Package hsconsole provides a graphical console for logging output while the app is running.
hstoolwindow/hsmpqexplorer
Package hsmpqexplorer contains an implementation of a MPQ archive explorer, which displays the archive contents as a tree.
Package hsmpqexplorer contains an implementation of a MPQ archive explorer, which displays the archive contents as a tree.
hstoolwindow/hsprojectexplorer
Package hsprojectexplorer provides a project explorer, for viewing project directories as trees.
Package hsprojectexplorer provides a project explorer, for viewing project directories as trees.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL