Jump to content
Fyrecrypts

HiToText (Hi score support)

Recommended Posts

Has anyone had any joy adding extra games to the HiToText.xml ? I would like to get a more games added, I have read through the documentation and to be honest it went right over my head.. Could anyone help in adding more games?

Share this post


Link to post
Share on other sites

Anyone got noob friendly guide to adding games? I would put the personal time to help group the game compatibility if someone could steer me in the correct location

Share this post


Link to post
Share on other sites

Hey everyone,

I am interested in getting this to work, but for some reason I cant figure it out. It seems simple enough, but maybe someone can help.

I downloaded HiToText.exe and xml, put them in my Hyperspin folder where my HS.exe is.

My Mame folder is not in Hyperspin, but on another tree, and that is where my roms and hi folder are.

My guess is that HiToText is not seeing the hi files in a different folder branch, so the question is,

Can I point HiToText to see my hi files within my Mame substructure,

or do I have to move Mame and all its components to my Hyperspin folder?

I would love to get this to work, so any information you can provide on setup would be extremely helpful.

Share this post


Link to post
Share on other sites

@mydknytestyrm

did you turn it on in hyperspin ?

Under main settings , tools and then hiscore enable...

@neogeo123

First off is getting to find the bytes where the scores and names are placed, that in itself is not always easy....maybe you can take a look in the thread Hitotext at forum.arcadecontrols.com

There you will find some examples of some games where to find the bytes. It's a slow proces of learning but in the end you'll get there...

Then you can compare them (the bytes in the examples) with what's written in the xml file so you get a feel on how to fill it.

Hope this helps

Edited by Dna Disturber

Share this post


Link to post
Share on other sites
I did turn it on via HyperHQ and confirmed it in the settings.ini under the HS folder

[HiScore]

Active=true

Y=550

Delay=1

But still no score?

Is the game in question supported by hiscore.dat ie. Is a .hi file created by Mame?

Also, is the game also listed in the hitotext.xml?

Thanks

Share this post


Link to post
Share on other sites
@mydknytestyrm

did you turn it on in hyperspin ?

Under main settings , tools and then hiscore enable...

@neogeo123

First off is getting to find the bytes where the scores and names are placed, that in itself is not always easy....maybe you can take a look in the thread Hitotext at forum.arcadecontrols.com

There you will find some examples of some games where to find the bytes. It's a slow proces of learning but in the end you'll get there...

Then you can compare them (the bytes in the examples) with what's written in the xml file so you get a feel on how to fill it.

Hope this helps

Yeah, had a try of it with mame32 debugger, however I didn't seem to be able to search for any ascii strings... maybe I was just being a noob

Share this post


Link to post
Share on other sites

I don't think this works with newer versions of Mame for some reason. I remember I was having a lot of issues a while back with this. Even tried getting in touch with the developer with no luck. I would love to see this resurrected though!!

Share this post


Link to post
Share on other sites
I don't think this works with newer versions of Mame for some reason. I remember I was having a lot of issues a while back with this. Even tried getting in touch with the developer with no luck. I would love to see this resurrected though!!

+1 would love to see this getting resurrected, and maybe even native support for .hi file in HS2...

Share this post


Link to post
Share on other sites

It works for me... MAMEUIFX 148... Obviously not all games, but a bunch do work and show hi scores in HyperSpin...

- J*

Share this post


Link to post
Share on other sites
Yeah, had a try of it with mame32 debugger, however I didn't seem to be able to search for any ascii strings... maybe I was just being a noob

Only thing you need is a hexeditor and look with that in the .hi file.

You don't have to find the scores in the games, that's already done for almost all games in the hiscore.dat file.

Make a screenshot of the scores on the hiscorelist (let the attraction mode run until you get it)

Then see if you can find the scores and names in the .hi file.

Sometimes the letters aren't ascii so you have to look for numbers that correspond

Like abc = 20 21 22 or they go up by 2......change one and see if it changes anything in the hiscore-list of the game...

Dna disturber

Share this post


Link to post
Share on other sites
Only thing you need is a hexeditor and look with that in the .hi file.

You don't have to find the scores in the games, that's already done for almost all games in the hiscore.dat file.

Make a screenshot of the scores on the hiscorelist (let the attraction mode run until you get it)

Then see if you can find the scores and names in the .hi file.

Sometimes the letters aren't ascii so you have to look for numbers that correspond

Like abc = 20 21 22 or they go up by 2......change one and see if it changes anything in the hiscore-list of the game...

Dna disturber

OK, taking a look at a .hi file in a hexeditor looks like:

post-34960-142870583853_thumb.png

can quite obviously see the initials, however, can not see the scores.. any ideas?

Share this post


Link to post
Share on other sites
OK, taking a look at a .hi file in a hexeditor looks like:

[ATTACH=CONFIG]23381[/ATTACH]

can quite obviously see the initials, however, can not see the scores.. any ideas?

My guess would be that 1 st place is 10.000 or it could be 100.000

2nd 8.000 or 80.000

Look at the first bytes before the letters...

It could be that you have to multiply by 10 or 100..

Just look at the hiscore-list and you will know...

Change the digits and start a game and see if it changed

The last bytes are probably that of the highest score display in game...in the top of the screen

Next thing is looking at what kind of letters you can use when you can write a score

Using cheats is quite handy .....easiest is to enter abz first as you then know all the bytes of the alfabet, in this case it's ascii so no problem but you also have to do it for other characters as they might not be ascii...like a dot aor something..

Find the levels as well .. They could be in hex or decimals..

Dna disturber

Edited by Dna Disturber

Share this post


Link to post
Share on other sites
My guess would be that 1 st place is 10.000 or it could be 100.000

2nd 8.000 or 80.000

Look at the first bytes before the letters...

It could be that you have to multiply by 10 or 100..

Just look at the hiscore-list and you will know...

Change the digits and start a game and see if it changed

The last bytes are probably that of the highest score display in game...in the top of the screen

Next thing is looking at what kind of letters you can use when you can write a score

Using cheats is quite handy .....easiest is to enter abz first as you then know all the bytes of the alfabet, in this case it's ascii so no problem but you also have to do it for other characters as they might not be ascii...like a dot aor something..

Find the levels as well .. They could be in hex or decimals..

Dna disturber

Thanks, changed the value, started the game and voila the hiscore table had updated.. So is there an equally as simple explanation to get this game now added to the hitotext.xml ?

Share this post


Link to post
Share on other sites
Thanks, changed the value, started the game and voila the hiscore table had updated.. So is there an equally as simple explanation to get this game now added to the hitotext.xml ?

It's been awhile so i'm afraid not....the xml is somewhat hard to master....just look at other games that are more or less the same and read the instructions in the first post of the hitotext thread.

I do however have written a tutorial on the first part....i just remembered....

It will teach you what and where to look for in finding the info in the .hi files

I'll see if i can find them as it's been like 2 or 3 years that i wrote it

:hmmmm:

Share this post


Link to post
Share on other sites
It's been awhile so i'm afraid not....the xml is somewhat hard to master....just look at other games that are more or less the same and read the instructions in the first post of the hitotext thread.

I do however have written a tutorial on the first part....i just remembered....

It will teach you what and where to look for in finding the info in the .hi files

I'll see if i can find them as it's been like 2 or 3 years that i wrote it

:hmmmm:

That would be great thanks... if I can master this, I will work through the games I need adding and then look to open this up for requests to be added....

Share this post


Link to post
Share on other sites
That would be great thanks... if I can master this, I will work through the games I need adding and then look to open this up for requests to be added....

Found it...

Deciphering the game 

It's all about recognizing patterns.......and you start getting better at it in no-time ;-)

First off , make sure the game does save the scores (via nvram or in hi with the hiscore.dat)
To make things easier start the game and wait till the hiscore-table shows up and make a screenshot using F12
When you exit the game a hi or nvram is created if it didn't exist already.

Look at what kind of information you want to extract (the screenshot of the hiscore-table will give you a good indication)
Things such as :
Scores
Initials
Rounds
Coins used
Character used
Percentages
etc...


How to find them (using the screenshot of the hiscore-table and the nvram of hi file):

Scores:	- each byte stands for one digit , for instance  01 03 02 05 00 00 = 132.500
- in the right order , for instance 13 25 00 = 132.500 
- reversed , for instance 00 25 13  = 132.500

It also happens that the game only counts in 10 or 100 fold.....
Uncommon but it does happen ,  the hiscore is saved without the 1 or 2 zero's
For example :
07 50 and the hiscore-table reads 75000 (the program adds 2 zero's which are not in the nvram or hi)
1250 and the hiscore-table reads 12500 (the program adds 1 zero which is not in the nvram or hi)

Most of the time the scores are easy to detect and just use decimal values.
Occasionally the scores are in hex and you must convert them to decimals to compare them with the hiscore table of the game.
When in hex they can also be reversed etc.....

In many games the "hiscore in game" also gets saved. You'll then have two scores that are equal (always the highest score) . To find out which one is which you can hexedit one score and start up the game.
If it's the "hiscore in game" you'll see it when you play. If you see it in the hiscore-table it belongs to the number 1 score.


Initials:	- in the right order , for instance 41 42 43  
- reversed  , for instance 43,42,41
- one of the above with padding between the initials , for instance (reversed) 00 43 00 42 00 41 00
* in the above examples 41 = A , 42 = B , 43 = C ( the results of all the examples in the above will be ABC in the hiscore-table) 

The Initials are in hex. If you're lucky they are in ASCII and can be read in your hex-editor.
They can however be any value.

Most of the time you can add 1 to the value to get the next letter in the alphabet. Ocasionally you must add 2 to get the next letter.
If you're really unlucky they have no pattern (just play the game often and look what letter has what value) 

A few examples of the most common ones:
00 = A
01 = B
..
..
19 = Z
----------
41 = A
42 = B
..
..
5A = Z
----------
00 = A
02 = B
..
..
32 = Z

Remember to get every character that can be put in the initials !

Some usefull hints:
Play the game and enter ABZ (this should get you the whole alphabet if there is a pattern, if there is a lowercase as well , you have to repeat it in lowercase)
For numbers you can do the same enter 019 as your initials
Play the game and enter all the other characters , for example ( ) ! < > - (you should really check them all by entering them even when it looks like it's all ASCII)  
Play the game and enter a character and let the initials entry time-out and see how the rest of the characters get filled up !

One advice.......cheat.dat is your friend.
To understand the data of the nvram or hi you sometimes have to play often and get huge scores (so use cheats , it works a lot faster)
You can also hexedit the scores (if you can find them) to make it easier getting on the hiscore-table.


Round/Characters:

Most of the time they are only one byte large.
You can mostly find them near the scores or initials.
They can be in hex or decimals:

Round:
for example round 10 is in hex 0A or just 10 in decimals.

Characters:
for example 00 = HOMER , 01 = BART , 02 =  LISA , 03 = MARGE

If you have a slight suspicion about a byte being a character or round , you can change the value of that one with a hexeditor to see what it does to the hiscore-table.

Dna Disturber

Here is an example of how i wrote it down for pengo :

(pengo , pengob , pengo2 , pengo2u , pengo3u , pengo4 , penta)
*clone penta needs to be added to hiscore.dat (same as pengo)

Things to extract:
*** TOP 5 ***
Initials
Score
Act (round)


The Bytes:

01,00 	score 5 (in hex, convert to decimal + add 0 at the back for real score)
02	act 5 (in hex , 01 = act 1 ,  0a = act 10)
03-05	initials 5
07,06	score 4 (in hex, convert to decimal + add 0 at the back for real score)
08	act 4 (in hex , 01 = act 1 ,  0a = act 10)
09-11	inititals 4
...
...
25,24	score 1 (in hex, convert to decimal + add 0 at the back for real score)
26	act 1 (in hex , 01 = act 1 ,  0a = act 10)
27-29	initials 1

31,30	hiscore in game (in hex, convert to decimal + add 0 at the back for real score)


The characters (ASCII) :

20 = (space)
41 = A
42 = B
..
..
5A = Z

Special character (non ascii):

5B = . (period)

You then need to convert that into the xml coding..

Some do not work with the xml as there is not a good code for it available in the xml-coding...

For instance i was working on some games that couldn't be done in xml (awaiting changes to the program from fyrecrypts to get it working but alas) :

V-Five: names in pieces (Letter padding letter padding etc)

Vimana: names in pieces (Letter padding letter padding etc)

Vanguard 2: string scores

Mr. Flea: string scores

jin: string scores

msisaac: Time can not be displayed and inserted correctly

vapor trail: Time can not be displayed and inserted correctly

spcforce: 5 x 30 as score too big for int32.....(30's are on initial list)

Probably can help somewhat on the xml but i'm rusty

Share this post


Link to post
Share on other sites
That would be great thanks... if I can master this, I will work through the games I need adding and then look to open this up for requests to be added....

Found it :

Deciphering the game 

It's all about recognizing patterns.......and you start getting better at it in no-time ;-)

First off , make sure the game does save the scores (via nvram or in hi with the hiscore.dat)
To make things easier start the game and wait till the hiscore-table shows up and make a screenshot using F12
When you exit the game a hi or nvram is created if it didn't exist already.

Look at what kind of information you want to extract (the screenshot of the hiscore-table will give you a good indication)
Things such as :
Scores
Initials
Rounds
Coins used
Character used
Percentages
etc...


How to find them (using the screenshot of the hiscore-table and the nvram of hi file):

Scores:	- each byte stands for one digit , for instance  01 03 02 05 00 00 = 132.500
- in the right order , for instance 13 25 00 = 132.500 
- reversed , for instance 00 25 13  = 132.500

It also happens that the game only counts in 10 or 100 fold.....
Uncommon but it does happen ,  the hiscore is saved without the 1 or 2 zero's
For example :
07 50 and the hiscore-table reads 75000 (the program adds 2 zero's which are not in the nvram or hi)
1250 and the hiscore-table reads 12500 (the program adds 1 zero which is not in the nvram or hi)

Most of the time the scores are easy to detect and just use decimal values.
Occasionally the scores are in hex and you must convert them to decimals to compare them with the hiscore table of the game.
When in hex they can also be reversed etc.....

In many games the "hiscore in game" also gets saved. You'll then have two scores that are equal (always the highest score) . To find out which one is which you can hexedit one score and start up the game.
If it's the "hiscore in game" you'll see it when you play. If you see it in the hiscore-table it belongs to the number 1 score.


Initials:	- in the right order , for instance 41 42 43  
- reversed  , for instance 43,42,41
- one of the above with padding between the initials , for instance (reversed) 00 43 00 42 00 41 00
* in the above examples 41 = A , 42 = B , 43 = C ( the results of all the examples in the above will be ABC in the hiscore-table) 

The Initials are in hex. If you're lucky they are in ASCII and can be read in your hex-editor.
They can however be any value.

Most of the time you can add 1 to the value to get the next letter in the alphabet. Ocasionally you must add 2 to get the next letter.
If you're really unlucky they have no pattern (just play the game often and look what letter has what value) 

A few examples of the most common ones:
00 = A
01 = B
..
..
19 = Z
----------
41 = A
42 = B
..
..
5A = Z
----------
00 = A
02 = B
..
..
32 = Z

Remember to get every character that can be put in the initials !

Some usefull hints:
Play the game and enter ABZ (this should get you the whole alphabet if there is a pattern, if there is a lowercase as well , you have to repeat it in lowercase)
For numbers you can do the same enter 019 as your initials
Play the game and enter all the other characters , for example ( ) ! < > - (you should really check them all by entering them even when it looks like it's all ASCII)  
Play the game and enter a character and let the initials entry time-out and see how the rest of the characters get filled up !

One advice.......cheat.dat is your friend.
To understand the data of the nvram or hi you sometimes have to play often and get huge scores (so use cheats , it works a lot faster)
You can also hexedit the scores (if you can find them) to make it easier getting on the hiscore-table.


Round/Characters:

Most of the time they are only one byte large.
You can mostly find them near the scores or initials.
They can be in hex or decimals:

Round:
for example round 10 is in hex 0A or just 10 in decimals.

Characters:
for example 00 = HOMER , 01 = BART , 02 =  LISA , 03 = MARGE

If you have a slight suspicion about a byte being a character or round , you can change the value of that one with a hexeditor to see what it does to the hiscore-table.

Dna Disturber

If you're having trouble working with the xml coding i may be able to help out but i'm rusty

Share this post


Link to post
Share on other sites

Posted the tutorial...but put code tags around the text....and it said that it must await approval from an admin.

I'll just wait and if it doesn't show up i'll give it another go....without the code tags

:)

Share this post


Link to post
Share on other sites
Posted the tutorial...but put code tags around the text....and it said that it must await approval from an admin.

I'll just wait and if it doesn't show up i'll give it another go....without the code tags

:)

Thanks again.. appreciate the help

Share this post


Link to post
Share on other sites
Posted the tutorial...but put code tags around the text....and it said that it must await approval from an admin.

I'll just wait and if it doesn't show up i'll give it another go....without the code tags

:)

Still can't see the tut dude, have seen other posts by users in the support forum, mentioning that their posts needed to be approved by a mod...

Share this post


Link to post
Share on other sites

attempt nr 2

Deciphering the game

It's all about recognizing patterns.......and you start getting better at it in no-time ;-)

First off , make sure the game does save the scores (via nvram or in hi with the hiscore.dat)

To make things easier start the game and wait till the hiscore-table shows up and make a screenshot using F12

When you exit the game a hi or nvram is created if it didn't exist already.

Look at what kind of information you want to extract (the screenshot of the hiscore-table will give you a good indication)

Things such as :

Scores

Initials

Rounds

Coins used

Character used

Percentages

etc...

How to find them (using the screenshot of the hiscore-table and the nvram of hi file):

Scores: - each byte stands for one digit , for instance 01 03 02 05 00 00 = 132.500

- in the right order , for instance 13 25 00 = 132.500

- reversed , for instance 00 25 13 = 132.500

It also happens that the game only counts in 10 or 100 fold.....

Uncommon but it does happen , the hiscore is saved without the 1 or 2 zero's

For example :

07 50 and the hiscore-table reads 75000 (the program adds 2 zero's which are not in the nvram or hi)

1250 and the hiscore-table reads 12500 (the program adds 1 zero which is not in the nvram or hi)

Most of the time the scores are easy to detect and just use decimal values.

Occasionally the scores are in hex and you must convert them to decimals to compare them with the hiscore table of the game.

When in hex they can also be reversed etc.....

In many games the "hiscore in game" also gets saved. You'll then have two scores that are equal (always the highest score) . To find out which one is which you can hexedit one score and start up the game.

If it's the "hiscore in game" you'll see it when you play. If you see it in the hiscore-table it belongs to the number 1 score.

Initials: - in the right order , for instance 41 42 43

- reversed , for instance 43,42,41

- one of the above with padding between the initials , for instance (reversed) 00 43 00 42 00 41 00

* in the above examples 41 = A , 42 = B , 43 = C ( the results of all the examples in the above will be ABC in the hiscore-table)

The Initials are in hex. If you're lucky they are in ASCII and can be read in your hex-editor.

They can however be any value.

Most of the time you can add 1 to the value to get the next letter in the alphabet. Ocasionally you must add 2 to get the next letter.

If you're really unlucky they have no pattern (just play the game often and look what letter has what value)

A few examples of the most common ones:

00 = A

01 = B

..

..

19 = Z

----------

41 = A

42 = B

..

..

5A = Z

----------

00 = A

02 = B

..

..

32 = Z

Remember to get every character that can be put in the initials !

Some usefull hints:

Play the game and enter ABZ (this should get you the whole alphabet if there is a pattern, if there is a lowercase as well , you have to repeat it in lowercase)

For numbers you can do the same enter 019 as your initials

Play the game and enter all the other characters , for example ( ) ! < > - (you should really check them all by entering them even when it looks like it's all ASCII)

Play the game and enter a character and let the initials entry time-out and see how the rest of the characters get filled up !

One advice.......cheat.dat is your friend.

To understand the data of the nvram or hi you sometimes have to play often and get huge scores (so use cheats , it works a lot faster)

You can also hexedit the scores (if you can find them) to make it easier getting on the hiscore-table.

Round/Characters:

Most of the time they are only one byte large.

You can mostly find them near the scores or initials.

They can be in hex or decimals:

Round:

for example round 10 is in hex 0A or just 10 in decimals.

Characters:

for example 00 = HOMER , 01 = BART , 02 = LISA , 03 = MARGE

If you have a slight suspicion about a byte being a character or round , you can change the value of that one with a hexeditor to see what it does to the hiscore-table.

Dna Disturber

Share this post


Link to post
Share on other sites
arghhh attempt number 3 then...man....now just as an attachment

quotes aren't working, still get the mod message

Fantastic.. Nice 1 dude.. will try and work this all out...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...