Dear Nicomo, the (PPC) version of the game (Heroes 2) has been available for a long time.
http://web-smile.ru/2007/04/11/geroi_mecha_i_magii_dlja_kpk.html
******************************************************
To be honest, I don't know how it will look in *Adobe Flash Player*.
Maybe we should try working with *PHP*.
Binaries for other systems
We do not distribute UNIX/Linux binaries. Most Linux distributions come with PHP these days, so if you do not want to compile your own, go to your distribution's download site. Binaries available on external servers:
* AS/400
*
Mac OS X
* Novell NetWare
* OS/2
* RISC OS
* SGI IRIX 6.5.x
* Solaris (SPARC, INTEL)
**********************************************************
Download the programming language:
http://www.php.net/downloads.php
**********************************************************
Heroes of Might and Magic for the lucky owners of PocketPC!
Download "Heroes of Might and Magic for PPC"
Official website:
http://www.pocketheroes.net/
Direct download link:
http://www.pocketheroes.net/dl.php?file=PocketHeroesInstall.exe
*************************************************
There is also a similar game.
http://www.ladoshki.com/?pocketpc&getfile=1&id=6931#pg_content
Here are the thoughts of people who have already tried to analyze files with the extension *agg*
Step 1
I chose the programming language. It became PHP because there was nothing else...
Step 2
I took the ICN file, which in its original form looks like this:
user posted image
I decided that I needed to read the entire contents of the file. There were some letters:
user posted image
They didn't give me anything, so I decided to use their ASCII value, or whatever it is (like each letter is from 0 to 255). Many numbers appeared on the screen.
Step 3
For clarity, I converted each number into a color (like 155,155,155; or 67,67,67 - RPG values). I got a stupid long strip of different shades of gray. Since the original is 32x32 pixels, I decided to move to the NEXT line every 33 pixels. I got:
user posted image
Step 4
I started comparing the Original with my thing... I realized that in the file, a pixel is not one byte, because there are fewer bytes than pixels. So, they somehow compressed it to save space. After comparisons, using deduction and induction (what do these words have to do with it?), I colored the gray picture, like I changed light gray to orange, light-light gray, and another... I got:
user posted image
Step 5
I noticed that in the gray picture, pure black (0-th byte) repeats rarely... So, 32.... I realized that I need to move the line not every 32 pixels, but after the 0-th byte... What happened? Unfortunately, the screenshot is lost... But I started working with another picture:
user posted image
And after this transfer, what I expected happened:
user posted image
Step 6
I colored a few more pixels, and here are a couple of results:
user posted image
To be continued...
--------------------
Oh yes! I forgot to say - I started reading from the 20th byte - obviously, there are various names, etc. at the beginning...
So, today, around 7 am, it occurred to me - why my picture narrows down so strangely in some places. The fact is that to save space, these bastards came up with something - why write 133,133,133,133,133 five times (like, the color index), when you can write 5,133 - this takes up less space and is cooler! All sorts of AGB won't be able to decode it!!!
But they were wrong! Mu-ha-ha!!!
Only, in the Heroes 2 palette, there are exactly 256 colors! How does the computer know that 5,133 is five times 133, and not "color number 5, color number 133"? Well, I thought... First, I looked at my creation in more detail:
user posted image
And here's what I understood:
At the beginning of each line, there is a number that does not have the correct color. The next one has the correct color. CLEAR! So, the first number is the key to the puzzle.
AGB used the secret KEY.
My conclusions:
I will call the square with the number being considered - NUMBER "X".
So - we consider all the first numbers "X" of the first column. We think. We notice that in a picture with a height and length of 32x32, everywhere where the first "X" is less than 32 (for example, 3, 6, 4...), immediately after it there are 3 (6 or 4...) pixels with the normal color that corresponds to the original. And after these pixels, there is again a number with a strange color. HA! This is the next number "X".
But what if the number X is greater than 32? This is the main feature. We take "X", divide it by 32, and the remainder of the division is the number that indicates - how many times do we need to repeat the next pixel?
That's it.
*******************************************************
So, we take point X!
And we always consider this cycle:
* If it is less than 32, we skip X pixels - and here it is - the Next point X!
* If it is greater than 32, then we take the next pixel and repeat it X mod 32 times. And we look - on this line there are exactly as many pixels left as if we add them to this, there will be exactly 32? If yes, then there are no more points "X" on this line! But if not, then the next Point X is immediately after the pixel with the color (that was repeated). Here it is - the next point X!
*********************************************************
What do you think, Nicomo, should we work with *PHP* or a similar language, or with *Adobe Flash Player*?
And in general, what are your thoughts? What is the work plan? How can I help? Or should I start working on it separately?
This applies to everyone! Join in!