Main > Software Forum

HiToText (Version 2010.11.4).

<< < (50/117) > >>

FrizzleFried:
Request for those in the know:

PuzzLoop and PuzzLoop 2.  Both are excellent puzzle games and both don't save HS right now.

BTW: Did I mention you guys kickass?

Wob:
Today I have Silk Worm (silkworm, silkwrm2)

Some fixes to the hiscore.dat to remove some unneeded bytes.

hiscore.dat

--- Quote ---silkworm:
silkwrm2:
0:d262:64:00:10
0:c848:8:20:30
0:c858:8:20:30
0:d54f:3:00:00
0:d573:3:00:00

--- End quote ---

And after the changes the deciphering goes like this

--- Quote ---In this one we have 2 Tables both with 5 high scores.
The scores are stored in a single table then split in game.
The first 5 entries make up the Table for the Heli
The last 5 entires make up the Table for the Jeep

Notes;
Maximum Valid Hiscore is (99 99 99) = 99,999,900 (Two tailing 0's are added in game)
Maximum Valid Round is (63) = 99 (Stored in Hex)
Name = 3 Characters

- Byte  00    (00): Is the position in the table
- Bytes 01-03 (98 03 00): Is the highest Heli score (1st), Stored in reverse byte order. In this case, 39,800 points.
- Bytes 04-06 (41 42 5A): Is the initials of the highest Heli score (1st), In this case "ABZ"
- Byte  07    (02): The Round. In this case 02 (Stored in Hex)
- Bytes 08-09 (01 35): Is the Time. In this Case 01:53. one byte each side of the : (Stored in Hex)

...

- Byte  40    (04): Is the position in the table
- Bytes 41-43 (00 03 00): Is the last Heli score (5th), Stored in reverse byte order. In this case, 30,000 points.
- Bytes 44-46 (4D 2E 54): Is the initials of the last Heli score (5th), In this case "M.T"
- Byte  47    (01): The Round. In this case 01 (Stored in Hex)
- Bytes 48-49 (00 10): Is the Time. In this Case 00:16. (Stored in Hex)

- Byte  50    (05): Is the position in the table
- Bytes 51-53 (00 03 00): Is the highest Jeep score (1st), Stored in reverse byte order. In this case, 30,000 points.
- Bytes 54-56 (54 2E 4D): Is the initials of the highest Jeep score (1st), In this case "T.M"
- Byte  57    (01): The Round. In this case 01 (Stored in Hex)
- Bytes 58-59 (00 10): Is the Time. In this Case 00:16. (Stored in Hex)

...

- Byte  90    (09): Is the position in the table
- Bytes 91-93 (00 03 00): Is the last Jeep score (5th), Stored in reverse byte order. In this case, 30,000 points.
- Bytes 94-96 (4F 2E 48): Is the initials of the last Jeep score (5th), In this case "O.H"
- Byte  97    (01): The Round. In this case 01 (Stored in Hex)
- Bytes 98-99 (00 10): Is the Time. In this Case 00:16. (Stored in Hex)

Here we have the in game high score stored in ASCII, with one digit per byte (No trailing 0's added here), Changes here are shown directly on screen.
- Bytes 100-107 (20 20 20 33 30 30 30 30): Is the in game high score for the Jeep, In this Case "   30000"
- Bytes 108-115 (20 20 20 33 39 38 30 30): Is the in game high score for the Heli, In this Case "   39800"

Numbers (for the in game high score)
30: 0
31: 1
...
39: 9

Last he have the in game high scores again, this time stored the same as the score table.
- Bytes 116-118 (98 03 00): Is the in game high score for the Heli, Stored in reverse byte order. In this case, 39,800 points.
- Bytes 119-121 (00 03 00): Is the in game high score for the Jeep, Stored in reverse byte order. In this case, 30,000 points.


Good old ASCII for all the Characters, only special character is a period.

The characters
41: A
42: B
...
5A: Z
2E: . (period)
--- End quote ---



Cheers,
Wob

Wob:
I can't believe I didn't think of this one earlier, here is Rygar (rygar, rygar2, rygarj, rygar3)

This one needed some fixing up in the hiscore.dat file, it stopped just two bytes into the last entry in the table (#51) so I extended the first grab.  It also had 3 lines where only 1 was needed.

Changes to the hiscore.dat

--- Quote ---rygar:
rygar2:
rygarj:
rygar3:
0:c983:1cb:41:02
0:c023:4:00:00
0:d06c:8:01:60
--- End quote ---

Deciphering after changes

--- Quote ---We have 50 high scores shown in the game but we have 51 high scores stored in memory

Notes:
Maximum Valid Highscore Value is 99,999,999 = (99 99 99 99)
Maximum Name = 3 Characters
Rank is shown in game using badges, the value 1D (29) shows as "BEST".  I have found reference that the ranking system continues above this but in the score table it will start to cycle back to the first badge again.  The default value for the rank is 41 (65) ,See http://www.arcade-history.com/?n=rygar-legend-warrior&page=detail&id=2280 for info on the ranking if needed.

- Byte  00       (02): Is the Rank of the top (#1) score. Stored in Hex. In this case 2
- Bytes 01-04 (00 04 08 60): Is the top (#1) Score. In this case, 40,860 points
- Bytes 05-07 (57 4F 42): Is the Name of the top (#1) score, In this case WOB
- Byte  08       (02): Is the Round of the top (#1) score. Stored in Hex. In this case 2

- Byte  09       (01): Is the Rank of the next (#2) score. Stored in Hex. In this case 1
- Bytes 10-13 (00 03 95 90): Is the next (#2) Score. In this case, 39,590 points
- Bytes 14-16 (5B 5C 41): Is the Name of the next (#2) score, In this case ".(shield)A"
- Byte  17       (02): Is the Round of the next (#2) score. Stored in Hex. In this case 2

...

- Byte  450         (41): Is the Rank of the last (#51) score. Stored in Hex. In this case 65
- Bytes 451-454 (00 03 00 00): Is the last (#51) Score. In this case, 30,000 points
- Bytes 454-457 (41 41 41): Is the Name of the last (#51) score, In this case "AAA"
- Byte  458         (02): Is the Round of the last (#51) score. Stored in Hex. In this case 2

(The table starts with all values the same as shown in #51 record)

Finally the in game high score.

- Bytes 459-462 (60 08 04 00): Is the in game high score, stored in reverse byte order. In this case 40,860
- Bytes 463-470 (01 01 01 64 60 68 66 60): Is the in game high score, 1 digit per byte as per the table below, In this Case 40,860

Characters table for second in game high score.
01: (blank leading digit)
61: 1
62: 2
..
69: 3

This one is ASCII for the characters except the two specials

The Name characters
41: A
42: B
...
5A: Z

5B: . (period)
5C:   (sheild)
--- End quote ---

Image


Cheers,
Wob

dna disturber:
(gyruss)

byte 00 = rank1 -> value 0
byte 03,02,01 = score
byte 04,05,06 = name

byte 08 = rank2 -> value 1
byte 11,10,09 = score
byte 12,13,14 = name

byte 16 = rank3 -> value 2
byte 19,18,17 = score
byte 20,21,22 = name

byte 24 = rank4 -> value 3
byte 27,26,25 = score
byte 28,29,30 = name

byte 32 = rank5 -> value 4
byte 35,34,33 = score
byte 36,37,38 = name

byte 41,40,39 = high-score

alphabet in HEX:
34h = A
e7h = B
03h = C
c4h = D
ffh = E
25h = F
c2h = G
87h = H
88h = I
40h = J
51h = K
e8h = L
a5h = M
29h = N
b2h = O
6ah = P
c6h = Q
bfh = R
c1h = S
fch = T
c3h = U
f1h = V
b4h = W
0dh = X
b0h = Y
0bh = Z
f8h = .


name-values in initial high-score table are not from the alphabet in hex:
K.O    d7h,d3h,b1h   byte 04,05,06 = name
N.A    47h,d3h,eeh   byte 12,13,14 = name
M.I    3ah,d3h,48h   byte 20,21,22 = name
O.O    b1h,d3h,b1h   byte 28,29,30 = name
RYO    6dh,a7h,b1h   byte 36,37,38 = name



-------------
Dna Disturber
-------------

dna disturber:
(jungler)

bytes 02,01,00 = score
bytes 03-14 = name
values 5bh in bytes 03-14 mark the end of the name.

 
This repeats 10 times at every offset (16,32....till 160)
rank according to place (offset)

at offset 160 the 3 bytes are the highest-score 02,01,00


The alphabet is in ascii.
A-Z (no other characters available)
------------------
Dna Disturber
------------------

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version