Well I did it. I put the source online.
To anyone who actually wants to try to make sense of it, I would suggest getting Qt Creator (IDE) and opening the MooseEdit.pro project file. That will greatly simplify getting it to work.

Anyway here is some basic info:
LsbReader/LsbWriter is for reading/writing lsb files.
LsbObject is the in-memory representation of an lsb file's "tree node"
SanityHash is for sanity.lsb generation
PakCompressor handles PAK compression
PakReader/PakWriter is for reading/writing PAK files
CharacterLoader is for loading character data from the LSB and making the character tabs on the UI
GamePakData has all the hardcoded filenames from the PAK files, you might have to modify this
AppearanceEditorFrame is a gigantic file that has all of the openGL 3d rendering code
mainwindow contains most of the UI functionality

A lot of the code is unrefined and ugly and should probably be rewritten. But it should mostly be error free.

https://www.mediafire.com/folder/xggb2364417f4/MooseEdit

Source is under: Source/MooseEdit-src.zip

and since I am open sourcing it here is the formula used to calculate weapon damage:
Code:
double ItemLabel::calculateDamage(long damageStat, long itemLevel, long damageBoost) {
	return (itemLevel+1)*((50.0l*(exp(((damageStat+1)*0.1) - 0.1) - 1.067999958992004l) + 10))* 0.25 * (1 + damageBoost/100.0l);
}

Last edited by Dairymoose; 03/11/15 12:39 AM.