If DISE is stuck trying to update, run this command in Command Prompt.

Friday, December 14, 2012

How to edit saved game with DISE and Horizon (Xbox 360)

This less-than-a-minute long video I made shows you how to do it (as the title says) quick and easy. :)

Horizon version:
DISE version:

You can get Horizon from the official website.
More user-made videos can be found here.


Tuesday, November 27, 2012

Release: Profile Editor

I updated this tool a little bit on request. :)


  • Steam Cloud syncing: Copied code from DISE so that it works almost the same way.
  • Added a context menu for the fields (left side in the main window). You can copy fields' name or binary data as hex (with or without the offsets). Just select a field and right-click it.

Download | mirror | SHA1: 70d1f3fda163ccbd9b788a0cc787d08da343e8a9

Thursday, October 25, 2012

Lost licenses/keys? No problem!


I just got an e-mail from someone who had lost his/her key for DISE. When I responded, my e-mail failed to be delivered somehow because "mailbox unavailable".

To this person and anyone else, you can find your key on the Contribution Center website. :)

After signing in, please go to My Licenses:

Friday, September 28, 2012

Release: DISE

Thanks to Caolan O'Sullivan for reporting the mentioned bug. It seems like the quality assurance team failed miserably.. Yes, that means myself. :/ I mean, it was pretty obvious that it wasn't working.


  • Fixed bug introduced in the previous update, causing changing mod blueprint for weapons to not work properly.
  • Increased bonus XP for kills and assists (by request). Hopefully not too much.
  • Bonus XP value is displayed as x8 and x200 instead of 800% and 20,000%.
  • Fixed/Updated texts.
  • Minor UI improvement (can scroll premium areas while they are locked).
  • Updated translations (mostly Russian and Norwegian).

Is x200 bonus XP for kills and assists way overkill?

Edit: Somehow, the polls (all of them, even for other blogs) were reset.. Last time I checked, the last answer had around than 120 votes, and the first one around 50.
Discussions about the problem (but no real help from Google yet): link


dise- | mirror | SHA1: 19f6f975a4017c1c904f24e865a9ced71596661e | mirror | SHA1: 2197e0a1cbc212febe8b8c1e4bb9ab5b02498a8c | mirror | SHA1: cbbcfa46bb9876ffe614dc6be16ce87cfe60b774 | mirror | SHA1: b31dec4fa776366e98b28cc62125b8e95167aac9

Friday, September 21, 2012

Release: DISE

In the previous update, I simplified the area where you could add weapons to your inventory, and the area for the default values was removed. After getting negative feedback on that decision, I made an attempt at bringing it back. The area is still hidden by default but it's only one click away. :)


  • Re-implemented the panel for default values for newly added items (see screenshot). The UI was also updated to match the "Modify item" area.
  • When adding weapons, you can now also specify whether you want them to be unbreakable or not.
  • Minor UI tweaks.



dise- | mirror | SHA1: eccef9562062cd57369b0c4166bcd596b6917188 | mirror | SHA1: 0f453eb1236d775e1ea7c5489e674e1fa9b45570 | mirror | SHA1: 8a44ae3c04e4929f9299da63b6b5fbf23ea4919b | mirror | SHA1: 4f10d89c130ec81e352bc5546bd56ee59a5cc3af

Friday, September 14, 2012

Release: DISE

I really hope that this release will appeal to a lot of you. I gave you a preview earlier, and I have more or less copied that post here.


  • Consequent game-saves opened will not change the active tab to the preview tab.
  • Replaced the category lists with tree lists and added more detailed categories.
  • DISE cannot categorize 3rd party/unknown items anymore based on their name, because the category lists have been redesigned. It could be partly re-implemented later, but only for some items if so.
  • Simplified the UI for adding new items.
  • Added a "good" preset for the item attributes.
  • The "good" preset is used for newly added items by default.
  • Rearranged the layout on the inventory tab.
  • When searching for items, the list is updated as you type.
  • (experimental) Display items' original owner (AI/NPC or not). These items were not meant for the player and may not work the way you expect.
Release packages
  • 3 different zip archives are now provided:
    • Full: Same contents as the installer (everything).
    • Typical: Executable, assets, English game texts.
    • Minimal: Executable only.



dise- | mirror | SHA1: 21725304f1cbedb7467f398c71b0cb7429e5e5b6 | mirror | SHA1: f46939fdab2444c2aec2044c85abef269d7205ac | mirror | SHA1: 99a57390a0886f8e59ad50169c749f846ff0cbba | mirror | SHA1: 00526b60a57fa48a47db3a6b39093cad5ea438b1

Preview: DISE

First, please let me apologize for any delays the recent days with responding to all of your messages. People are working nearby and digging in the ground. You know how well that can go with cables underneath. :)

Anyway, here's the current changelog and a screenshot!

Current changes

  • Consequent game-saves opened will not change the active tab to the preview tab.
  • Replaced the category lists with tree lists and added more detailed categories.
  • DISE cannot categorize 3rd party/unknown items anymore based on their name, because the category lists have been redesigned. It could be partly re-implemented later, but only for some items if so.
  • Simplified the UI for adding new items.
  • Added a "good" preset for the item attributes.
  • The "good" preset is used for newly added items by default.
  • Rearranged the layout on the inventory tab.
  • When searching for items, the list is updated as you type.
  • (experimental) Display items' original owner (AI/NPC or not). These items were not meant for the player and may not work the way you expect.
Release packages
  • 3 different zip archives are now provided:
    • Full: Same contents as the installer (everything).
    • Typical: Executable, assets, English game texts.
    • Minimal: Executable only.


Saturday, August 18, 2012

Release: DISE

Finally - as promised - here's an update. :)
Not a lot of changes but I think some of them are meaningful. :)


  • Added user preferences for merging of items to inventory lists' context menu:
    • Merge mods. Mod blueprints will not be taken into consideration when this is enabled. Disabled by default.
    • Merge chainsaws. Chainsaws will be merged. Disabled by default.
  • Skill tweak "Enemies won't attack" modifies another skill to prevent it from canceling out the effect of this tweak.
  • Changed the URL for the news, since I'm using my own script to generate the news box now. No need to be alarmed if your software firewall makes notice of it. :)
  • On the Misc. tab, made "Infinite health and stamina" free. Nothing else was changed, so it's still not  - and probably never will be - stable for use on the Xbox.
  • Installer doesn't require admin privileges anymore. If you run it normally, the default root installation folder will be %localappdata%. If you run it as admin, it'll be %programfiles%. To get the same behavior as before, simply run as admin (on Windows Vista/7, right-click > Run as Administrator). I realize that some people are paranoid and others are simply careful. :)
  • Updated/Improved Norwegian translation for v0.0.55.31.
  • Various smaller UI/text changes.
  • Changed text for resetting personal statistics and challenges, to include achievements.
  • Raised the max skill point limit for the free edition. Old limit was 8-10; new limit is 14-16. Currently affected tweaks (and are now better):
    • Moderate weapon damage boost.
    • Somewhat improved force with blunt/two-handed weapons.
    • Moderate stamina and regeneration boost.
    • Moderate ammo capacity boost.
    • Medkits heal you completely.
    • Moderate backpack slot boost.
  • When you have 3rd party/custom items in your inventory (which are unknown to DISE), DISE tries to categorize them based on their internal name (Melee_, Firearm_, etc).


dise- | mirror | SHA1: 3bf81b990f2e1d65b8a73f90450b60ceca80329b | mirror | SHA1: 1927b28eb410df045c925625ca3592c04afcd68d (without languages and assets)

Wednesday, August 15, 2012

Contribution Center (beta) goes live!

What is it?
This is the website I've been working on while not working on DISE itself. It collects information, initiates payments and processes everything automatically.

I have been manually taking care of answering e-mails related to payments, key generation, etc. This website will take care of all this to make things easier and faster for both you and me. It's available 24/7 (assuming the system is running properly). :)

You can find the new info page here or use the usual button/link.

Beta status
I've done a lot of testing with some help from my special one, but it's beta because I have more ideas for the contribution center later. Of course, should anything go wrong, I can blame it on the beta status. ;)

Contributions instead of donations?
You can search for horror stories online about PayPal donation buttons, and you will understand why I don't even use the word "donation" anymore.

When is the next update for DISE?
I have promised that once this site went live, I would have more time for DISE. An update should follow some days afterwards, and it will mostly be a smaller update. It has taken more time than I planned, and I'm sorry if you have been waiting. While taking it a bit easy the following days, I'll be preparing DISE as well. :)

What do you think about this?
I hope don...contributions (phew, almost said the wrong word) will go even more smoothly from now on, even if I usually replied within minutes before. If you have the chance, I would love to know what you think about this, whether you have contributed already or not :)

Thank you! :D


Sunday, July 8, 2012

Release: DISE


  • Improved compatibility with older operating systems, such as Windows XP. Stops DISE from crashing when adding new items to your inventory.


dise- | SHA1: 4b8d1bcf1515fe8dc03d8fc5e79430b2892b0851 (without languages and assets) | SHA1: 0ebda6f76bfdcb6cea56fe012ab45830f812a266

Release: DISE

For the current lack of automatic updates, I hope this update will make it a bit easier to know when they are available.


  • Added newsfeed from the blog, to the opening screen.


dise- | SHA1: 64cc79ed863c2bb833c2eeb3dfea96abf2409c97


Saturday, July 7, 2012

Release: DISE (update)

Update: I've uploaded a new copy with some text fixed/changed. I decided to use the same version numbers because not many people had downloaded yet.


  • New skill tweaks:
    • Free
      • Always find weapons in great condition.
      • Somewhat improved force with blunt/two-handed weapons.
      • Items are worth twice as much.
      • Instant knockout with blunt weapons.
      • Instant revival on death.
    • Premium
      • Knocked out enemies don't wake up for a while.
      • Always find upgraded weapons.
      • Enemies die when knocking you down.
      • Improved force with blunt/two-handed weapons.
      • Items are worth way more.
  • Basic Xbox content package viewer/explorer. You can extract files and open saves directly. You won't only get a message about using Modio/Horizon anymore.
  • Searches for your (PC) saves in one more location (GOTY edition by you-know-who), so you don't have to find them on your own.
  • When enabling or disabling a skill tweak, the UI is updated immediately to reflect changes to skills used by other tweaks.
  • Added notes and warnings for some skills.
  • Other less visible improvements.


dise- | SHA1: 85dafaa38537410da07f0e1755c08771bb7f5da4

Wednesday, July 4, 2012

Early preview: Xbox content package viewer

First of all: Please note that this is only an early preview of my current work.

As you can see here, it is possible to view the file structure of Xbox content packages in DISE. I have nothing more to show you at the moment, but I wanted to share some of the happy feeling I have after finally getting this working. :D

Sunday, July 1, 2012

Release: DISE


  • Fixed minor bug when searching in the mod selector when no inventory item was selected.
  • Added missing Dev.Craft blueprints. They went missing in a recent version because I had rewritten my scripts collecting that info (and the dev.craft plans were not in the usual location).


dise- | SHA1: 1480b5cf064cb963cd53fe1aca595086358c4a79

Release: DISE


  • New/changed skill tweaks
    • Free
      • Medkits heal you completely.
      • Bought items, repairs and upgrades are free or nearly free.
      • +500% XP for kills and assists.
      • Fury lasts longer.
      • The new immortality tweak is now free.
    • Premium
      • 100% critical hit chance.
      • 100% critical chance when kicking is now included in the above tweak.
      • Become super fast while in Fury.
      • Updated Immortality #2 with another skill for reducing received damage.
      • +10,000% XP for kills and assists.
      • Elemental damage lasts forever.
  • Minor fix in a skill's description.
  • Some minor UI tweaks for skill tweaks.


dise- | SHA1: bead2e6a576fd65dc133584e4709a3eecebd3463

Release: DISE


  • Fixed small bug where search text was not reapplied when showing the mod selector.
  • Added skill tweaks:
    • Free
      • Moderate weapon damage boost.
      • Find twice the amount of money among loot.
    • Premium
      • Find way more money among loot.
      • Another immortality tweak which protects against M72.
  • Added notes for some skill tweaks.


dise- | SHA1: 3cd56f381ed8c894bf6cfd3a8c213fc0f3fb3983

Friday, June 29, 2012

Release: DISE


  • In the mod selector (inventory), added filtering by base item: Show only mods meant for this item.
  • View mods' base items and required items (for crafting), and add them to your inventory.
  • Display stats for mod blueprints.
  • Updated credits in about dialog a bit.
  • Portable user preferences. Create a file called portable in the same folder as dise.exe.
  • Merge inventory items to save space.
  • Added cloning of inventory items in the context menu (was already possible using Ctrl+drag/drop).


dise- | SHA1: be31c027d158e75586f3d99d0eeb2bc126a01a92

Monday, June 25, 2012

Preview: DISE (update 4)

I previously mentioned that I would add more info about mod blueprints and such. I just want to show you my current solutions. The things you can see here are almost finished, but I also wish to display mods' effects/stats/additional damages (whatever I should call them). There are still a few things for me to decide regarding the stats. You can expect something that is somewhat simple, at least. :)

Update #1, Jun 25: Added screenshot showing stats.
Update #2, Jun 27: Added screenshot showing merging of same inventory items. Got the idea along the way, so why not? :)
Update #3, Jun 28: The features for this release are complete (and can be improved later)! Also added cloning of items in inventory using the context menu. You could do it before by holding down Ctrl while dragging and dropping, but I figured it's not obvious if you're not used to handy keyboard shortcuts. :) What's left is a little more testing. :)
Update #4 Jun 28:  User preferences can now be stored as a file, making DISE more suitable for portable devices. Someone asked on the chat if it could be done with or without Installer, and I managed to implement it in about 30 minutes! :D

Required items and base items

In the mod selector, show only mods meant for the selected item


My original idea was to make icons as well for the stats. Now, I'm not quite sure if it's sensible with icons for anything but the damage type (shock, poison, etc).

Merge same items

Thursday, June 21, 2012

Mod blueprints, base- and required items

As you may know, I've had a break for a while now from coding (felt very tired), but I wonder if programmers can ever truly rest.. At least I always end up tinkering about something.

Feeling better, I finally got to writing scripts that gather more details about blueprints and generate messy C++ code.

So far, descriptions, base items (which weapons the mods are meant for or based on) and items required to mod weapons.

My script also gathers additional effects/damages but I haven't yet decided how to store them in DISE.

What's left now is deciding how to display it all in DISE. The mod selector will have a "Show only compatible" (or perhaps "Show only base items").

I need to think for a bit more because the UI is somewhat restricted at the moment.


Base items

Required items

Saturday, June 9, 2012

Release: DISE

Mostly fixes this time. :)

Oh, and some of you have seen virus alerts for the installer.. I am using Inno Setup v5.4.3, and your anti-virus software is obviously hysterical if it complains. If you paid for your AV, you may want to consider filing a complaint. :)

To see if the compression used has anything to do with the false positives, I have provided 3 versions of the installer.

  • Fixed mods being listed twice in the mod selector (when you did not filter the results).
  • Fixed maps not loading the 2nd time you view them sometimes.
  • Fixed some issues with getting text from the game (and changed the way it works), and added more texts. I'm generating a custom .bin file now.
  • Taser is now called Stun Gun as in the Ryder White DLC.
  • Fixed graphical glitch in the list of available items. I had already fixed it in wxWidgets but forgot to recompile the release build.
  • A little more work on the Norwegian translation.
Custom .bin file
I previously copied the original DI Texts&Voices.bin file from the game. Later, I noticed that texts were still missing for weapons such as the zzz_* (DLC weapons). I figured that they were in texts_DLC0.scr (from the Ryder White DLC) instead. I'm not sure why the game has one big .bin file with texts, several separate .scr files with the same texts, then only .scr files for DLCs.

Now, once and for all, I hope I have solved the problem the following way. For each language,
  • Copy DI Voices&Texts.bin, and just the .scr files I need.
  • Copy the .scr files from DLC.
  • An ugly Python script I wrote parses all of these files.
  • My ugly Python script merges everything and removes duplicates (oldest first).
  • Generate a new, even fatter .bin file and ship it with DISE.
dise- (same as before) | SHA1: af8abad422571fd88b0c98cd6efdf4e97323af08
dise- | SHA1: 3853c62b46354a0802e5fcdc747152061e2643af
dise- | SHA1: b850a8fb2615bee8502afc834f71ffc380de15b9

Thursday, June 7, 2012

Release: DISE

A lot of things are starting to come together now! :D

  • Reverted a recent change that was supposed to reduce flicker, because some people had issues (black areas, more flicker, freezing).
  • Made skill tweaks free:
    • Fury
      • Become even faster while in Fury.
    • Combat
      • Never get interrupted after being hit while attacking.
      • Knock out enemies when you receive damage.
    • Survival
      • Don't lose money when dying.
  • Added new skill tweaks:
    • Unbreakable weapons (all melee weapons).
    • Firearms master: No recoil, perfect accuracy.
  • Moved infinite health/stamina from Premium tab to Misc tab.
  • Minor UI tweaks/fixes.
  • Simplified how skill tweaks are enabled/disabled internally. May not make much difference to you.
  • Setup/Installation program.
  • Assets are included in the setup program.
  • Improved support for multiple languages (but not much is translated yet). Languages are included in the setup program.
  • Added basic search/filtering in mod selector.
  • Main window should always fit the desktop working area if the window is too large. Good if you have a low-resolution screen.
  • Fixed bug with saving the chapter number in some cases.

dise- | SHA1: 46029673fb96928c7fc5e1b4a042bec74fb29a12 (no assets/languages) | SHA1: 2fd3a2599224a722e100a3dedc3a0c34ac3582e5

Wednesday, June 6, 2012

More languages are coming along!

Support for multiple language in DISE is almost finished. Most of what's left now is loading the game's texts where those texts are used. Collectibles are working and inventory items are mostly working. Skills will take more time because I have previously done a lot of manual work and need to figure out how I should not do it manually again for 5+ more languages.






Saturday, June 2, 2012

Source code: Reading quest data from saves (you can help!)

This is the code I have at the moment, which is a mess because I have no idea what's going on. Missing documentation, unnecessary comments, etc is just a small part of the mess.. You get the idea once you see it. :)

Feel free to experiment. If we can finally do this right, it will finally be possible to work on features related to quests in the future. :D

Friday, June 1, 2012

Release: DISE

Since there are both free and premium tweaks that work with the same skills this time (moderate and unlimited), you should disable one before you enable the other. If you make a mistake, it's no big deal, however. :)

  • Enable Unlimited ammo capacity. Toggle tweaks page (to refresh selections). Moderate ammo capacity boost will now also be shown as enabled.
  • Disable Moderate ammo capacity boost. Toggle tweaks page (to refresh selections). Unlimited ammo capacity will now also show as disabled because the amount of points required for a moderate boost was subtracted from the total.
  • The fix is simply to toggle either one of tweaks on and off. :)
  • Redesigned skill tweaks page.
  • Additions to skill tweaks:
    • Free
      • Survival
        • Moderate stamina and regeneration boost.
        • Moderate ammo capacity boost.
        • Moderate backpack slot boost.
    • Premium
      • Fury
        • Instant Fury.
        • Become even faster while in Fury.
      • Survival
        • Boost stamina and regeneration.
        • Unlimited backpack slots.
        • Unlimited ammo capacity.

MD5: 6baf48b5530b4bc7a5fc509c0b682486
SHA1: 8faae93aa753e3deab24ea62def48a4afc5cff41

Download | (use fix #1 if you have issues with flicker, freezing, etc)
Assets package (maps and extra icons)

Preview: DISE

I've had a break from DISE for a few days to rest, but I seem to always end up coding on something else instead. *facepalm*

Anyway, I decided to tidy up the skill tweaks page a bit. My plan for the next release is the new design, and a few more tweaks added.

Wednesday, May 30, 2012

Source code: Reading DI Voices&Texts.bin (update)

To make DISE properly support multiple languages, I need to redesign how texts from the game are stored and read. Right now, I've extracted texts via scripts I wrote, and embedded the texts in DISE.

The idea is to simply get text from DI Voices&Texts.bin because there's one for each language supported by the game.

I wrote some code yesterday/today for loading this file and getting text from it (in C++). This code isn't meant to be feature-complete, and isn't even fully documented.

Nothing much to share. The file format is extremely simple, so there's no magic here. :)

Full code after the break below. :)

I've changed the code a bit according to my needs. The .bin file should now be compressed with GZip. Depends on the Boost library.

Saturday, May 26, 2012

Release: DISE (fix 1)

I'm very happy this time because I managed to fix a problem which I have known about for a long time (since the beginning, actually)! :D

  • Fix for adding items: Req.level and rareness is not included in the attributes value.
  • You can finally edit things in your inventory without hitting the Enter-key first (or making the text box lose focus). Because of a window event ordering problem, new items were selected before changes were realized, and the changes would thus be discarded.
  • Changes in fix 1:
    • Some skill tweaks wouldn't be enabled properly if some of the skills in it had enough points already.
MD5: d04e58feadcffc62354709715975b646
SHA1: 91876ba9bfa124f38b68a78d9b69a3fb550eeecd

Assets package (maps and extra icons)

Release: DISE

I posted this right before going to bed. After waking up, I saw that my post was gone. Turns out that I had the post editor open in two different tabs, and both saved automatically. I published the finished post, and the other tab saved over it . :(

I may not be able to rewrite everything, but here's my attempt at it. :)

This release may be a little more prone to crashing because of the mentioned optimization. If you find crashes, please send the bug report and I'll personally take care of the one responsible. There is only one it could be...
... It's probably fine.

  • About dialog:
    • Changed the link to Open Steamworks.
    • Added link to Dead Island Wiki and renamed the previous link to Dead Island @ Wikia.
    • Replaced the image to make more space for credits.
  • Added Max/Reset in the context menu for individual skills. Just right-click them. :)
  • Fixed a bug from a while back, where the program would crash when loading a game-save with Ryder, closing it, then loading one for a different character (or the other way around).
  • Attributes value does not include the required level and color/rareness anymore. You're less likely to create items where damage, force, etc, is 0.
  • Increased items' max required level to 127. Anything more than 60 will however not work in-game (by default).
  • Added an inventory list picker. It replaces the message box telling you to click inside the list you want to add items into.
  • Added more icons (which I made myself, and I know they are not super great).
  • Set theme on some list controls for a more native look on Windows Vista/7.
  • Optimized startup time. Tab pages are loaded the first time you view them. Especially this needs testing!
  • Minor fixes.
  • Fixed crash when trying to import the wrong type of file.
  • Added skill tweak: Boost weapon damage.
  • Anything else I forgot. Sorry.

MD5: 34dfb8e8f6b23b7c1161d6050c0b2768
SHA1: d015e9dbff989b97aec876945a8e4755bb20d6c7

Assets package (maps and extra icons)

Friday, May 25, 2012

More icons for DISE

I've made a few more icons for use in DISE. They're not perfect but better than nothing, I would say. :)

I posted the following icons not very long ago, and will use them as well.

Tuesday, May 22, 2012

Release: DISE

Sorry about things not working earlier.

  • Fixed Immortality bug.
MD5: c966b47c7c30d34871a3720d8ea8e09f
SHA1: d285083ce7c1d6a5750e87524bdf866b95f55e41

Assets package (maps and extra icons)

Release: DISE

In the post for the previous release, I said that the max skill points (for the free edition) for 1-rank skills was -7 to +7, but I had somehow gotten that wrong. I meant original max ± 7, meaning -8 to +8 for 1-rank skills, and -10 to +10 for 3-rank skills. I have updated the post. :)

Edit: Immortality is slightly broken. You know how it is.. Fixing one bug creates 10 more? (I was joking). I will see to fixing this embarrassing bug as quickly as I can.

  • Import/Export skills.
  • Fixed a few skill tweaks which had the wrong amount of points.
  • Fixed saving and loading of skill points with negative values.
  • Chainsaw works! The condition was previously set to -1 when it should have been between 0 and max.
MD5: bd03087c80f4edeb46c7be346e3d5670
SHA1: 4966e451904ac72c9058dd297e6672605cd3b04d

Assets package (maps and extra icons)

Sunday, May 20, 2012

Release: DISE

  • Made skill tweak "Thrown weapons always return" free for everyone!
  • Lifted skill point limits a bit for the free edition. The original limit was 1 to 3, which is the same as in-game. Now, it's original max ± 7. That means -8 to +8 (1-rank skills) or -10 to +10 (3-rank skills). That should be enough to manually make up some of the premium tweaks with a little effort. :)
  • Added "Give max points". If you keep this checked while giving all skills, you will max out skills, not just up to the original in-game limit.
  • Hooked up premium tweaks (and added one) so that they actually work (but boosting damage wasn't ready for this release, so you can see an empty spot).
  • Moved all skill tweaks from the premium tab into the skills tab.
Assets package (maps and extra icons)

SHA1: ed85e1fa17a470438647b246d06d8e789a2302cf
MD5: b76690ac3570cf0899a791ee2b00c1be


Saturday, May 19, 2012

Skill tweaks (update)

Hi there!

I received a suggestion to make at least one of the skill tweaks on the premium tab free. That was your weapons always returning (Boomerang). The reason was to prevent people from stealing your stuff in online games, and I thought it was a good reason. :)

If you think this looks alright, I'll go with this design and keep adding things both here and on the premium tab.. Perhaps keep two sections here instead to keep them in the same place.

In the next version, I'll also raise the max skill points limit a bit instead of only letting you go up to 1 or 3 (original limits). That means you can tweak some your skills to get the similar effects as the premium tweaks (but not all of them).

I hope you like the idea and also the Premium / Donator's Editon idea. :)

I moved all of the skill tweaks over to the Skills tab. I think it's a lot more natural this way. :)

Friday, May 18, 2012

Release: DISE

  • Prepared for new features in the Premium tab. They have no function yet.
  • Fixed a minor bug where the attributes value for newly added items was wrong.
  • Fixed some minor issues with a few skill descriptions.
  • Added link to Dead Island Wiki in the about dialog.
Assets package (extra icons)

SHA1: 3af2f74fd04885829781abdfd19eb8755d980836
MD5: 4f4bf13c57b230fddb4fe34fc37209b0

Release: DISE

A friend helped me realize how annoying it was to not see descriptions for skills when you needed them. I felt quite annoyed, I tell you!

  • Descriptions for skills. Just hover the mouse cursor over them. :)
  • Added/Improved text on the Premium tab.
Assets package (extra icons)

SHA1: ded27aeaf3f278983871a0b46803b7578f781968
MD5: 6c6bd8cb401e62711e23052542e5d7de

Changelog for DISE

Since I skipped the list earlier, here it is. I have left out the things that were not ready to show you. :)
  • Improved unlocking of chapters. No need for having played with a character previously to unlock chapters for that character.
  • Removed the condition field for items when adding them.
  • Allow changing the current chapter, map, location spawn point and active quest.
  • You can add multiple new items to your inventory at the same time (right-click > Add selected).
  • Allow using the quick slot for fists (unlock in Preferences).
  • Improved compatibility with large text/high DPI (dialog boxes).
  • Add custom items to your inventory (does not create new types of weapons).
  • Added more inventory items.
  • Items' color is shown graphically, and the text shows the actual rareness.
  • Make melee weapons unbreakable!
  • Look for the game storage location in more places (you're less likely to need to set it manually).
  • Updates:
    • Automatically checking for updates is disabled by default for new users.
    • The first time DISE starts, asks whether it's allowed to automatically check for updates (before connecting to the internet).
I'm trying to see how a "Donator's Edition" would work out and what you think about that idea. It currently has the features listed in the post for v0.0.55.13, and there will be more convenient functions.

Thursday, May 17, 2012

This is how I study game-saves

I'll try to roughly explain the whole process of understanding game-saves' file structure without getting into great detail, and without making this post very lengthy. This may apply for any file, assuming you have the right tools for the job. This is my own way but there aren't that many different ways to do it. :)

Looking at the file with a hex editor
The first thing I do is open the save in a hex editor. I would say his is a must-have tool for any hacker. Believe it or not, I often open files in a hex editor to peek, just for fun :)

After loading the save, save_0.sav, the data looks garbled; totally unrecognizable!

Lucky me, someone had already figured out that the file was simply GZipped (you may know file names ending with .zip, .rar and .7z; this is .gzip). After unpacking the file (with 7-Zip, WinRAR or something else), it looks much better!

At this point, I'm not really looking for anything specific; just looking around for anything that makes sense. Just by doing this, one can get an idea about how some parts works.

You can for example search for the amount of money you have or the character's level. If you get multiple of results, you can change values and see how it affects the game. If you get lots of results, earn or lose money in-game and search again, then compare the saves. A hex editor can compare them and show you the differences. When you know where that value is stored, it will be possible to make a very simple save editor that changes e.g. your money.

Doing it this way also means that you can't really add or remove anything from the save without corrupting it, unless you fix other things like values keeping track of how long an item's name is, the size of the player state data, etc.

Since DISE doesn't do it this way, it can do so much more!

Analyzing the game while it's running, in a debugger
The next thing I do is to study the game under a debugger on the PC, and checking exactly how the game reads the saves. If you're not familiar with debugging, here's a page on Wikipedia. Had the game been released only for game consoles, debugging would unfortunately not have been an option.

In this screenshot, I've set a few breakpoints where the game reads inventory items. There was actually a lot of pre-work before I even knew that the game read items here. I won't go too much into that but it's tedious work. :)

This is of course just a small portion of all the reads in the file.

Writing the code
After I know how the game reads a part of the file, I write my code to do the same thing.

Of course, there's way more behind this code. Most of the code is just processing the data, and all that is something I have to figure out on my own by experimenting and studying the game's internal files (Inventory.scr, for example). If I'm lucky, some of you may give me tips as well. :)

While I'm at it, why don't I just show you how the attributes are processed as well..

In the above code, item->LoadAttributes() is defined like this...

It basically processes the raw attributes value into something more meaningful.

You can see Color and RequiredLevel here, which are extracted from the raw attributes value. For now, those two are the only values I can really make sense of right now.

In the next piece of code, you can see that there are lots of reads I have yet to figure out.

Final words
I explained my own process for understanding game-saves for Dead Island, and how the game reads inventory items. I won't say it's the best method, but it has helped me understand how it works. I didn't explain how to reach the point where inventory items are read, but that would make this post quite lengthy. I also didn't show you exactly how DISE modifies values, but it's just a matter of reversing the read process to make it write the values instead.

I hope you enjoyed the read, and I hope you liked seeing my code. :)

Wednesday, May 16, 2012

Release: DISE (for testing)

This post will be short, without a feature list. I decided to release this build because it should be stable enough for testing, and syncing should work. You will not receive an update notification in alpha 55, and this test build will not receive updates either right now.

Please note that this is the current work, freshly baked, and things will look a bit off and things will be missing.

I don't plan for things to not work however, so please send bug reports like usually. :)

PS: You can see that I changed the representation of the version string, and I will keep it that way instead of calling it "alpha 55.13", etc. :)

Donator's Edition / Restricted features
Fear not, DISE is still free. All features that were in DISE (and more) are still free. All future features that are not easy to abuse in online games will also be free.

In this release, I am playing a bit with licensing. I'm not doing this just to earn money, nor do I plan to leave out the "good stuff" in the free version. This is partly to avoid abuse in online games while giving modders total freedom, and partly because I have already spent quite a bit of time and money on developing DISE. You should know, I spend more time working on DISE than playing games for fun. :)

Current restricted features:
  • Infinite health and stamina works, but with side effects (not able to kick, and rage mode does not work).
  • You will be able to exceed the skill point limits and go all the way up to 32767 instead of only 1-3 (but it may have the opposite effect).
  • You can add collectible items (blueprints, ID cards, news, tapes) to your inventory as drop-able items (you can still add them as before, from their own tab). These can be dropped and picked up as if you found them.
Make sure to grab the Assets package for DISE!

Assets package (extra icons)

Hashes for paranoid users
SHA1: 7726c6419ad12f06dc34dcd53bde396bbc591b6d
MD5: d4441dc170e8c6842fb0fb54c98aa369

Steam has been updated

I had hoped that I would be finished with the next version of DISE before syncing would be broken again. The next version will not have this problem at all, and I'll keep working hard to release it soon whether it's finished or not. :)

DISE and translations!

I received an offer to have DISE translated into a different language. It's my first time doing it using the wxWidgets C++ framework, but it's coming along!

I translated a few parts into Norwegian to show you that it works. :)

Tuesday, May 15, 2012

What do you think about a donator's edition of DISE?

Note: Poll at the bottom!

The idea is to include extra features in DISE for people who donates or contributes enough to receive it in exchange for the work. Those features would be aimed at modders, those who like to play around with things, go beyond limits, etc, while most of the things you can do will still be free (only slightly more experimentation needed).

Those who donate would have even more flexibility when editing things. Convenient functions/tricks and in general, more open for experimentation.

DISE would still be free, of course, and would continue to receive updates. Free edition wouldn't have a lower priority.

Until now, I didn't really have enough ideas that would justify paying (or donating), at least in my opinion. Even the idea to include advertisements in DISE without bothering you (the user)... I'm not really sure about it.

The whole plan isn't completely decided yet but I would love to hear your opinions about this. I have however been playing with licensing already to get familiar with it. :)

If you think that my work is worth something, you can give it some though. I do spend a great amount of spare time working on DISE instead of playing games and doing other fun things. Web hosting costs money, development tools costs money, code signing costs money, and time is its own cost.

Regardless, I don't work on DISE to earn money. I don't expect anyone to contribute with anything, whether it involves money or not. :)

I'm very thankful towards those who have already given me ideas, suggestions, game-saves for testing, friendliness or contributed in other ways. Thank you very much! :D

What do you think? Would you donate?

Monday, May 14, 2012

Preview of the next version of DISE

Here are the promised screen shots.

New tab icons. I designed these myself, so it's legal to embed them within DISE. They can be improved, though.

Change the chapter, map, location, spawn point and active quest. Still, pretty basic, though.

More items you can add to your inventory, add custom items by name, make weapons unbreakable, unlock the quick slot for Fists, rareness is in color (can show as text as well).


Your fists are locked by default to prevent you from deleting them accidentally. Rareness can be shown by color, text or both.

Click numbers to edit directly.

Right-click skills and copy the skill points to other skills!

The processes of syncing with Steam Cloud. DISE finishes more quickly, and Steam takes care of the rest.
My own icons for use in DISE.