Messages

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

Wednesday, May 16, 2012

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).

Colors!

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.

Talk about the next version of DISE

Hello from the monkey cage!

It has been a while since the last release of DISE. I've wanted to release it so much. At the same time, I was working really hard on solving the problem that happens when Valve releases updates to Steam; it breaks syncing in DISE, you send bug reports, I fix it, etc...

I'll talk a bit about how the project (and I included) have been doing so far.

Warning: The rest of this post uses some geek-terms.

My original solution for the problem
I moved all of the Steam-related code into its own library (I called it Steam Helper). The idea was to provide a copy of this library (DLL file) for each version of Steam. When your Steam client would update, I would build a new copy of Steam Helper for that version of Steam. DISE would then be notified and download the copy of Steam Helper that would work with your Steam client. I thought it was a great idea. For me, at that time, it was the best way to secure the future of DISE with syncing.

I got to work
All this would require redesigning my online database and building the backend (I didn't really have one before), web service and everything web-related. A lot of work went into this. Still, I knew that by doing this, I would have to support DISE and/or Steam Helper forever... Or at least as long as Steam didn't shutdown. Deep down, I had to admit it would be impossible.

A better solution?
I got an idea that could solve the problem... I made DISE search for the steam_api.dll shipped with Dead Island and call some functions it exports. I was so happy to see it work! That was until I realized that Steam wasn't actually syncing. It only looked like it.

You may know the feeling when you've worked so hard on something to learn that it was to no avail in the end.. You know there's "that other fishy method" you can use which will require your submission to the dark side. In my case, it would be 1) using a leaked Steamworks SDK, and 2) embedding the steam_api.dll file with DISE. It would unfortunately be illegal but would completely solve the problem. Believe me, it was tempting. I'm a very honest person, so it would haunt me in this life and even afterlife. Still, so temping, because it would make your life and my life easier.

Maybe I didn't look at all the possibilities
I decided to run the game in a debugger again. If you remember, I wrote about OllyDbg before. I put breakpoints on various exports in the steam_api.dll file, and tried to find out which functions the game called in the interface(s) created by the steam_api.dll. I got it! Now I knew which interface it used (ISteamRemoteStorage). It was a bit different from the one I used before (IClientRemoteStorage).

After some more studying, I wondered if I even needed the steam_api.dll after all. Good thinking! The DLL was eliminated and I was on the road to success!

It worked
Relieved and still sane. The dark side had not consumed my soul. No matter how much efforts I put into this, it worked out in the end. Nothing else mattered.

The next version
More features, allegedly more stable, several things have been improved. I won't give the whole list of changes yet, but I'll post some screen shots of the current development build in another post! :)

Monday, April 23, 2012

First release: Profile Editor

This is the first (beta?) release of the profile editor that I worked on the last few days, which will be replacing read_profile. No biggie, just a replacement. Please feel free to test it, and send me some hatemail as well if you find this useless. :D

At least I'm kind of proud of the hex editor (though there are some glitches) since it was my first time trying to make one, but it's still far from great. :D

Anyway, this should wrap it up:
  • View/Edit all standard data types.
  • View/Edit custom/raw data using the built-in hex editor.
Future plans:
  • Needs an icon.
  • Hex editor: Copy & Paste.
  • Delete & Add new fields.
Download
profile_editor_0.0.1.0.zip - Just in case, please keep your backups.. :)

Screenshots



Friday, April 20, 2012

Announcing Profile Viewer & Malware talk (update 2)

This is nothing big (yet), but it may turn into an editor later (pretty likely). This decision is based on a few things, such as:
  • read_profile is a command line application (and thus not very user friendly).
  • I just had some issues with my web host regarding read_profile.
The first point is pretty obvious. If you're not familiar with command line apps, it won't be straight-forward.

The other point is that my web host had received complaints because read_profile was falsely reported as malware. It was reported as malware by at least 24 of 42 anti-virus software on VirusTotal. Security specialists have however inspected the file and found it legitimate (of course). :)

To attempt preventing similar future issues, I will stop using executable packers such as MPRESS and UPX. File sizes will be larger but I still think it'll be more convenient. :)

Hmm.. Maybe I should aim for 42/42 false positives.. :D


Update #1
Needs a way to view custom/raw data as well.. Not too bad. :) By the way, this is the data for unlocked chapters, per character. 12 (hex) = 18.

Update #2
Oh well, might as well rename the program already since I added editing of all values except raw/custom data. Time to get that into the hex editor as well! :)