Main > Software Forum
HiToText (Version 2010.11.4).
dna disturber:
(kangaroo,kangaroa,kangarob)
The hiscore.dat misses first byte for highest score (My guess is it's only used for internal use but nevertheless).
Old hiscore.dat:
;********kangaroo.c
kangaroo:
kangaroa:
kangarob:
0:e1a4:02:50:00
0:e1da:02:50:00
0:e1a0:3c:00:00
suggested change:
;********kangaroo.c
kangaroo:
kangaroa:
kangarob:
0:e1a3:03:00:00
0:e1da:02:50:00
0:e1a0:3c:00:00
00-02 highest score (internal use ? / get's copied from bytes 08-10)
03-04 default score at initial startup ? (always 50 00)
05-07 initials number 1
08-10 score number 1
11-13 initials number 2
14-16 score number 2
.....
59-61 initials number 10
62-64 score number 10
The characters:
00h = (blank/space) (happens when you let the initials entry time-out /on initial start hi-score table has blank initials)
0Ah = A
0Bh = B
...
23h = Z
****************************************************************
If the hiscore.dat entry isn't altered then you should delete byte 00 (thus becoming byte 01 byte 00) and change the other bytes accordingly (the last byte then being 63)
it's gonna look like this....
00-01 highest score (internal use ? / get's copied from bytes 07-09)
02-03 default score at initial startup ? (always 50 00)
04-06 initials number 1
etc
****************************************************************
-------------
Dna Disturber :bat
-------------
And thank you Wob for looking at the entry of 1941 for me. :notworthy:
dna disturber:
(pooyan,pooyans,pootan)
the cuddliest of all games !!! :w00t
00 padding value 00
01 seconds played number 1
02 minutes played number 1
03 padding value 00
04 seconds played number 2
05 minutes played number 2
...
...
...
27 padding value 00
28 seconds played number 10
29 minutes played number 10
32,31,30 score number 1
35,34,33 score number 2
...
59,58,57 score number 10
60-62 initials number 1
63-65 initials number 2
...
87-89 initials number 10
90-92 hi-score in game
characters:
00h = heartshape (only in default hi-score table scores present,can't be selected with initial entry)
10h = (space)
11h = A
12h = B
...
2Ah = Z
2Bh = - (minus)
2Ch = . (period)
Dna Disturber :cheers:
Fyrecrypts:
--- Quote from: Wob on June 12, 2009, 02:42:20 am ---
--- Quote from: dna disturber on June 11, 2009, 07:32:09 pm ---(1941,1941j)
The First 40 bytes seem to be obsolete but I can't get the hiscore.dat to work without them.
I came close , when I start at byte 39 then it all works well (maybe it needs byte 39 ?)
Maybe someone else can take a look at the entry in the hiscore.dat .......(but it will work the way it is now so no rush ofcourse) :'(
40-43 number 1 score
44-46 initials number 1
47 rank-icon number 1
48-51 number 2 score
52-54 initials number 2
55 rank-icon number 2
56-59 number 3 score
60-62 initials number 3
63 rank-icon number 3
64-67 number 4 score
68-70 initials number 4
71 rank-icon number 4
72-75 number 5 score
76-78 initials number 5
79 rank-icon number 5
*note only top 5 hi-scores are shown in the game , there is however a top 10 ? Well sort of, the last 5 don't seem to be replaced and
are always the same
80-83 score (always 00 02 50 00)
84-86 initials (always COM)
87 rank-icon (always 00)
88-91 score (always 00 02 40 00)
92-94 initials (always CAP)
95 rank-icon (always 00)
96-99 score (always 00 02 30 00)
100-102 initials (always COM)
103 rank-icon (always 00)
104-107 score (always 00 02 20 00)
108-110 initials (always CAP)
111 rank-icon (always 00)
112-115 score (always 00 02 10 00)
116-118 initials (always COM)
119 rank-icon (always 00)
120-123 high-score in game
Rank-icon values can be 00 - 07
00 being the lowest rank , 07 the highest.
Maybe someone knows the titles to the ranks (if they aren't just made up) then you could add it to the text in hitotext. (for instance pilot 1st class , 2class , marshal)
Characters are ASCII
41h A
42H B
....
5Ah Z
2Eh = .
2Dh = -
2Ah = *
20h = (space) also when the input initials timeouts it puts 20h in the rest of the initials.
-------------
Dna Disturber
------------- :cheers:
--- End quote ---
Ok, I looked at this one, your decoding is fine, the first part is definitely memory addresses but they don't change, and as you said only the top 5 scores\names are every changed. My guess is that the same hardware is used on other games that allow 10 high scores but they didn't use them all for this one.
We could trim out the excess but I think in this case it's probably best to keep it as it is, that way if we find the game that uses the same hardware we can decode them both the same in HiToText. So for this one we can just ignore them memory addresses and the last 5 Scores.
Your thoughts Fyrecrypts?
Cheers,
Wob
--- End quote ---
I agree that in 1941 we should only display the scores actually displayed in-game, the goal is to have HiToText act exactly as the game would when a new score is added. So if there are say 11 scores, with the 11th score never being shown in-game, but the score is replaced by the hardware, HiToText does the same thing even though it serves no practical purpose. The reason I like to do this is to reduce the amount of possible corruption. Who knows exactly what that 11th score actually does, and if it's not correct maybe something else fails. This is unlikely, of course, but these sorts of things can happen and by emulating what the hardware does we reduce that unknown risk.
Secondly, making changes to the hiscore.dat is a big deal. The system is relatively fragile, and it's very easy to possibly break how it works. Especially for games where the nvram and the memory in the hiscore.dat overlap. If an entry provides all the information we need, we shouldn't change it, even if it contains extra data. Sometimes that extra data is useful for purposes other than hi scores. As I've mentioned before, Bubble Bobble has about 40 or so bytes that contain in-game information about rewards that have been given out since the machine has been turned on. Other different rewards depend on earlier rewards being given out, so the hiscore.dat saves this data so every play though Bubble Bobble doesn't provide the exact same rewards. We wouldn't want to remove those bytes despite being unnecessary for scores.
It doesn't help that there are now two completely different versions of the hiscore.dat being used, our version which contains many changes, fixes, simplifications, and updates. Then there is Leezer's version, the original version that the majority of the people use. He's only been incorporating fixes and updates, and I can understand that, every change obsoletes any older .hi file for that game. Unless it was broken to begin with, he doesn't want to fix it and have people complain that their .hi files don't work anymore. I wish I'd thought of that earlier as some of the hiscore.dat changes we've made were purely cosmetic, and now work has gone into deciphering the .hi files of the newer hiscore.dat. Because of this it's bad to revert as it's a loss of work, and anyone using the new .hi files will once again have to delete their scores. The best thing to do is move on, and learn from that mistake, and not repeat it.
dna disturber:
Fyrecrypts,
I totally agree that we should leave the hiscore.dat the way it is.
Just extract what we need and don't worry about extra data.
If we find an error (!) in an entry we could inform leezer and he could do the fix/update.
That way we don't get sidetracked by maintaining a hiscore.dat as well.
And for the scores.....all that is displayed in the game(s) is good enough for me.
Just as Wob said earlier if you're 11th and didn't make it to the first 10 you're not worth mentioning even if there is a (hidden) 11th place.
Dna Disturber
Keep up the good work.
dna disturber:
Dang,
Almost forgot to post this one due to the statement fyrecrypts made. :applaud:
(swimmer,swimmera)
00-05 score number 1 (every byte contains one number ,score 254570 would look like 02 05 04 05 07 00)
06-08 initials number 1
09-14 score number 2
15-17 initials number 2
18-23 score number 3
24-26 initials number 3
27-32 score number 4
33-35 initials number 4
36-41 score number 5
42-44 initials number 5
45-50 hiscore in game (every byte contains one number ,score 254570 would look like 02 05 04 05 07 00)
Characters ASCII
41h = A
42h = B
...
5Ah = Z
Dna Disturber
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version