check issue with german community translation .zip
http://www.grimdawn.com/forums/showpost.php?p=128756&postcount=4
-> maybe just missing tags ?
-> fixed

GDItem
  private String removeControlChars(String s) {
    // remove the control characters like ^k
    if (s != null) {
      int pos = s.indexOf("^");
      while (pos != -1) {
        String temp = s;
      
        s = temp.substring(0, pos) + temp.substring(pos + 2);
      
        pos = s.indexOf("^");
      }
    }
    
    return s;
  }

make static and use on all texts when reading the tags (move to what class ?)
-> ARCDecompress

mention to use a 64bit VM in the documentation, 32 bit seems to have heap issues for some reason
-> done

On Transfer page, when deleting an item from the stash, also delete it from the result list
-> done

exclude formula.gst from mass import
-> done

add components to Transfer result list
-> done

Affix filter, after applying the filter to determine the affixes matching it,
add back in the prefix and suffix the item has at the time, otherwise they
get removed from the item. Useful if you search for different bonuses for
prefix and suffix.
-> done

ARZDecompress, itemNameTag tag
Have a field for its value in ARZRecord and store the value in it
In GDDBData.insert, if an item has no text, check if it has a value
in the new ARZRecord field and is of an item type (itemClass) that
I save, if so, log a warning in GDDBData.insert
-> done

GDItem.lodData, be more forgiving with missing IDs
-> done

add scrollbars from search and filter screens
-> done

keep search values across popups (ie hide window, do not destroy it) and
add a button to clear the current selection
-> done

combobox in item search to allow multi-flagging of checkboxes
- no items
- all items (all weapons, armor, jewelry, components, relics, augments)
- all weapons
- all armor + accessories
- all armor
- all accessories (amulet, belt, medal, ring)
- all melee weapons
- all 1H melee weapons
- all 2H melee weapons
- all caster weapons
- all ranged weapons
each combobox sets all of these flags either true or false, depending on the selection
-> done

make collection table sortable
-> done

-------
V 0.91
-------

for crafted components, set var1 to 3 or 4, depending on the component
How do I find out what value to set it to ? completedRelicLevel,4,
-> done, required a new field in the database, so new import

after DB import, flush all caches, otherwise items are mixed up
(most noticeable when switching languages)
-> done

add Energy Regen to search criteria
-> done

when hovering over the image in the result list, the item gets automatically
selected and its details are being shown
-> done

change all InputStreamReaders to UTF-8 charset
-> done

display stack count on icon in shared stash and transfer result list
http://stackoverflow.com/questions/7323538/java-draw-text-in-the-center-of-an-image
-> done

Add a 'delete from shared stash' button to the transfer screen
-> done

Differentiate component images between partial and completed components
-> done

Set stackCount for any item to 1 if it is 0
-> done
Check whether this also needs to be done while crafting
-> taken care of by the fix in GDItem
Add a conversion routine for the stash table that is executed when
data is being loaded in the next version (which needs to reload
the GD data anyway, so it should be part of that reload) ?
-> No, not needed, as the correction is in GDItem, so it will always
happen when the item is being loaded anyway

-------
V 0.92
-------

When closing the program, check that the stashes have been saved,
otherwise popup with question quit/save (use GDFlexDialog for this)
-> done

Crafting stash does not get updated when changing save dir, only Transfer stash
(display that is, there is only one stash...)
-> done

-------
V 0.93
-------

stackable items increase and decrease their stack when inserting / deleting them from the DB
-> done

stash table has additional parameters for a more powerful search
-> done

-------
V 0.94
-------

bugfixes

correct display of partial components

-------
V 0.95
-------

level sort order corrected

pet bonuses added as search criteria to special damage types (it ignores all
other damage related criteria like flat / percentage, damage / resistance / retaliation)

deletion logic fixed

sort order maintained after deletion

-------
V 0.96
-------

transfer entire page at once

-------
V 0.97
-------

transfer items from / to char (still WIP)
edit char (still WIP)
allow blacksmith bonus of celestial blacksmith for legendary items
program saves whether SC or HC stash was selected last
item category name adjusted to 1.0.0.2 logic
items with augments are identified as soulbound
augments are stackable
equipment now displayed

-------
V 0.98
-------

rift gates added to char editor

make sure that inventory and char editor do not use the same char,
right now they share the one from frame, which is wrong

- load char on char editor page
- load different char on char inventory page
- switch to char editor page, make changes and save -> changes the inventory char with the data of the editor char

they should share the same chars from frame, much like stashes are shared,
but keep track of which one they edit individually

-------
V 0.99
-------

char editor: factions added
new config setting: copy/move item from db to stash / char
item search: style and quality considered when searching by item name (new field in DB, so import required)
reading of modded chars
reading of mod stashes
reading of player specs from database.arz (Dex/Int/Str/HP/MP increase), for mod support

-------
V 0.99d
-------

todo: when setting mod flag on char, check that the char does not yet exist and change its savefile,
      similar to what is done for the stash when its mod name is changed


todo: get factions and the reputation levels from the database.arz
todo: importing mod database.arz, one database per 'install'

todo: check the rollbacks and commits, e.g. DBItem should be the only one to rollback/commit,
not each damage type etc for itself
Same for create table in theory, but not as important there
Same for delete, important here again

Grim Dawn\mods\grimmest\resources\Text_EN.arc delta only !!!! can also contain other .arc files, depending on what 
other data the mod contains
C:\Program Files (x86)\Steam\steamapps\common\Grim Dawn\mods\grimmest\database\Grimmest.arz delta only !!!

for mods, the arz file has the same name as the mod and is under database


-----------------------------------------------------------

RNG:

affixes have lootRandomizerJitter,30.000000, which I assume defines the range
items have attributeScalePercent,30.000000,which I assume does the same for them






add maxStackSize to item table ?
get records/game/gameengine.dbr: itemMaxStackSize,1000, to base stack size on ?

records/game/gameengine.dbr
factionValue1,-20000,
factionValue2,-8000,
factionValue3,-1500,
factionValue4,0,
factionValue5,1500,
factionValue6,5000,
factionValue7,10000,
factionValue8,25000,

factionTag1,tagFactionStateEnemy5,
factionTag2,tagFactionStateEnemy4,
factionTag3,tagFactionStateEnemy2,
factionTag4,tagFactionStateNeutral,
factionTag5,tagFactionStateFriend1,
factionTag6,tagFactionStateFriend2,
factionTag7,tagFactionStateFriend4,
factionTag8,tagFactionStateFriend5,

in tags_ui.txt

tagFactionStateEnemy5=Nemesis
tagFactionStateEnemy4=Hated
tagFactionStateEnemy3=Loathed
tagFactionStateEnemy2=Despised
tagFactionStateEnemy1=Hostile
tagFactionStateNeutral=Tolerated
tagFactionStateFriend1=Friendly
tagFactionStateFriend2=Respected
tagFactionStateFriend3=Trusted
tagFactionStateFriend4=Honored
tagFactionStateFriend5=Revered

instead of hard-coding them ?


ui\riftgatemap\locations\riftgate*.dbr

description,tagRiftBurrwitchRoad,


records\interactive\devotionshrine*.dbr

journalTag,tagDevotionShrineA02,
epicDisabled,0,
epicLocked,0,
legendaryDisabled,0,
legendaryLocked,0,
normalDisabled,0,
normalLocked,0,

disabled determines whether the shrine is available in that difficulty,
e.g. devotionshrinea05.dbr is disabled in legendary, devotionshrinea06.dbr
in epic and legendary
(tagDevotionShrineA05=Burrwitch Estates
tagDevotionShrineA06=Devil's Aquifer}
no idea what locked does

devotionshrines01.dbr:

FileDescription,Secret Ritual,
journalTag,tagDevotionShrineS01,
epicDisabled,0,
epicLocked,1,
legendaryDisabled,0,
legendaryLocked,0,
normalDisabled,0,
normalLocked,1,

did not find the GUIDs anywhere....



"Debuff over x seconds" is shown completely different in-game.
in game: 150 Reduced target's Defensive Ability for 2 Seconds
in tool: 300 Reduced target's DA Over 2 Seconds (150 Per Second)





add a count to the transfer page, listing the number of items stored in the DB
// number of entries in table
SELECT COUNT(*) FROM Flights

// Number of countries per region
SELECT COUNT (country), region
  FROM Countries
  GROUP BY region
  HAVING COUNT (country) > 1


install 32bit Java and figure out what is going on with the heap
-> RAM allocation for Item.arc (about 350MB) fails






Chris for providing standard C++ code that can read and write the new encrypted Grim Dawn stash format.
<br />
His implementation can be found here
<br />
<a href="http://www.lost.org.uk/grimdawn/" target="_blank">C++ code to read and write save files</a><br />
<br />


Blueprint ingredients

In blueprint, the following tags

for the loot table which contains the craftable items:

artifactName,records/items/loottables/gearshoulders/tdyn_craft_shoulders_c01_decoratedpauldrons.dbr,
artifactCreationCost,45000,

for the ingredients (-> new table):

reagent1BaseName,records/items/materia/compb_ancientarmorplate.dbr,
reagent1Quantity,1,
reagent2BaseName,records/items/materia/compb_ancientarmorplate.dbr,
reagent2Quantity,1,
reagent3BaseName,records/items/materia/compa_runestone.dbr,
reagent3Quantity,1,
reagent4BaseName,records/items/materia/compa_scalyhide.dbr,
reagent4Quantity,1,
reagent5BaseName,records/items/materia/compa_wardstone.dbr,
reagent5Quantity,1,
reagentBaseBaseName,records/items/questitems/scrapmetal.dbr,
reagentBaseQuantity,25,

In the loottable, you then have

lootName1,records/items/gearshoulders/c008_shoulder.dbr,

or multiple items

-------------------------------------------------------------------

fillAttribLootTable