/dogma-editor

danger ahead!

Primary LanguageCMIT LicenseMIT

dogma-editor

Table of Contents

Description

dogma-editor is an editor for EVE Online cache2 bulkdata

You start by running dogma-dump.py, you may need to edit the cache_path variable to have it generate a proper SQLite3 database

After that you should be able to open dogma-editor.

Module Flags

This module provides no flags.

Hacks

ImGui Themer

Custom on-the-fly theme engine for ImGui, see src/imgui_themer.h and src/default_dark.cpp

Prerequisites

To build dogma-editor you will need glfw installed system-wide

Feature Matrix

featurestatus
Viewing bulkdatadone
Searching bulkdatapartially-done
Editing bulkdatapartially-done

Viewing bulkdata

If you have successfully exported your cache2 files into an SQLite3 database then you can view them in dogma-editor. See Searching bulkdata for caveats.

Searching bulkdata

Each bulkdata recordset allows you to search, however for some sets it will not work. The code generation for dogma editor looks for a ‘name’ or ‘Name’ for the record fields. If it doesn’t find one, searching will be disabled. In most cases, dogma-editor will indicate if a recordset is searchable or not ./img/searching.png

Editing bulkdata

When viewing a record, all of the values should be editable. When you’re done making changes mark the record as dirty. ./img/dirty.png

Configuration

To start, make sure you have a clean set of `.cache2` files. Edit dogma-dump.py to point to the path of your `.cache2` files. This will generate your bulkdata.db. Alternativly use the one provided in the git repo.

To ensure icons render for applicable edit windows, make a folder `stuffs` in the same directory as the dogma-editor binary. Copy the following `.stuff` files into the `stuffs` directory

  • resui.stuff
  • resui01.stuff

Troubleshooting

Common issues and their solution, or places to look for help.

WIP [1/7]

cacheDogmaExpressions

OperandID needs to be named with stuff that can be user-readable.

STRT cacheDogmaTypeAttributes

This recordset is not searchable. In this case, should we just list out all records? This has been done, we should test searchablity so the user doesn’t have to type into the search box

Export to MySQL dumps…

Not sure of the best way to do this, it will definitely introduce some jank to our codegen

Saving objects that have the same no unique keys will be difficult.

See: cacheDogmaTypeEffects for an example Maybe when generating the database, we should determine if we need to create an index

iconID index

format is XX_SIZE_XX need to scan for available sizes

iconID picker

If you open a window more than once it will draw the UI twice

We need to add a function when pushing edit windows

  • [x] Check tag_*
  • [x] Check TypeID