Yeah I noticed that also, I don't believe it does either.Digital Marine wrote:Doesn't look like it is.
EDIT:
Looks like there is some hash on the bottom of the info file to? I don't see any relation to the .map file though.
Halo 3 Retail Game Research
-
- Posts: 50
- Joined: Mon Dec 27, 2004 7:02 am
I want to say in the .map file the hash is an RSA-460. I can't really prove it...just it seems like it.
Why I don't think it's a SHA1 list? Take 460, the length of the .map hash, divided by 40, the length of a SHA1 hash, and you get 11.5. That wouldn't make sense.
Why isn't it an MD5 list? Same thing, 460 divided by 32 and you get 14.375. Again, that wouldn't make sense.
It can't be SHA256 because 256 can't even go in 460 evenly... For sure it can't be SHA384 or SHA512...
Why I don't think it's a SHA1 list? Take 460, the length of the .map hash, divided by 40, the length of a SHA1 hash, and you get 11.5. That wouldn't make sense.
Why isn't it an MD5 list? Same thing, 460 divided by 32 and you get 14.375. Again, that wouldn't make sense.
It can't be SHA256 because 256 can't even go in 460 evenly... For sure it can't be SHA384 or SHA512...
-
- Posts: 50
- Joined: Mon Dec 27, 2004 7:02 am
- LuxuriousMeat
- Posts: 824
- Joined: Thu Nov 03, 2005 6:43 pm
- Location: zzzzzzzzzzzzzzzz
- Contact:
If anyone needs help calculating the magic, I just made this function for it:
Code: Select all
public int CalcMagic(int fileSize)
{
int magic = 0;
uint magicCalc = 3218235392;
double result = (double)fileSize / (double)16384;
string resStr = result.ToString();
if (int.Parse(resStr.Substring(resStr.IndexOf(".") + 1, 1)) > 5)
{
fileSize += 16384;
magic = (int)magicCalc - fileSize;
}
else
{
magic = (int)magicCalc - fileSize;
}
return magic;
}

- Shadow LAG
- Readers Club
- Posts: 676
- Joined: Sat Apr 02, 2005 5:47 pm
- Contact:
![]() |
Meh, your method is a bit long winded. Here:LuxuriousMeat wrote:If anyone needs help calculating the magic, I just made this function for it:
[...]
Code: Select all
private int GetMagic(int fileSize)
{
const uint constant = 3218235392;
double div = (double)fileSize / 16384d;
double diff = Math.Round(div) - div;
if (diff > 0 && diff < .5) fileSize += 16384;
return (int)(constant - fileSize);
}
Halo 2 Prophet - Skin with ease with the simple 3D point and click interface.
Halo 3 Research Thread - Contribute to the research into Halo 3.
Halo 3 Research Thread - Contribute to the research into Halo 3.
- LuxuriousMeat
- Posts: 824
- Joined: Thu Nov 03, 2005 6:43 pm
- Location: zzzzzzzzzzzzzzzz
- Contact:
Neither work for any campaign maps I've tried and they don't work on all of the MP maps either...Prey wrote:Meh, your method is a bit long winded. Here:LuxuriousMeat wrote:If anyone needs help calculating the magic, I just made this function for it:
[...]
But neither work right for the mainmenu map.Code: Select all
private int GetMagic(int fileSize) { const uint constant = 3218235392; double div = (double)fileSize / 16384d; double diff = Math.Round(div) - div; if (diff > 0 && diff < .5) fileSize += 16384; return (int)(constant - fileSize); }

-
- Posts: 50
- Joined: Mon Dec 27, 2004 7:02 am
This is what I used to calculate the magic while looking for stuff. Not sure if it works for all maps, but the few maps I've worked with seem to work just fine.
Well...I've changed it a little on my program....but that is basically what I do.
Code: Select all
private int GetMagic(int iFileSize)
{
Int64 iMagic = 3218235392 - iFileSize;
iMagic += iMagic % 4096;
return iMagic;
}
-
- Posts: 50
- Joined: Mon Dec 27, 2004 7:02 am
I_F prob found the index header and subtracted whats at 0x16 by it then with that value prob added the map sizeDigital Marine wrote:AgreedAnthony wrote:i wouldn't bother too much with any of your guys methods. theres another way to calculate it it just needs to be found, so instead of trying to hack up a way you should just try and figure it out :pJust out of curiosity, where did 3218235392 come from?
why he used the size of the map is unkown to me

First post updated. Also Ant, why are you being secretive about how to calculate the value? I mean if your going to keep it a secret, then could you just stop telling us that you know how? As it's not of much interest to us. Perhaps also stop talking about people that are actually helping in such a way too. Cheers, appreciated.
Halo 2 Prophet - Skin with ease with the simple 3D point and click interface.
Halo 3 Research Thread - Contribute to the research into Halo 3.
Halo 3 Research Thread - Contribute to the research into Halo 3.
- LuxuriousMeat
- Posts: 824
- Joined: Thu Nov 03, 2005 6:43 pm
- Location: zzzzzzzzzzzzzzzz
- Contact:
I don't think he knows how, he is just saying that the way we're doing it now isn't the correct way...Prey wrote:First post updated. Also Ant, why are you being secretive about how to calculate the value? I mean if your going to keep it a secret, then could you just stop telling us that you know how? As it's not of much interest to us. Perhaps also stop talking about people that are actually helping in such a way too. Cheers, appreciated.

no where did I say i knew how... I just said its the wrong way... is it not? and i have not been so "secretive" about it because ive already helped a few people outPrey wrote:First post updated. Also Ant, why are you being secretive about how to calculate the value? I mean if your going to keep it a secret, then could you just stop telling us that you know how? As it's not of much interest to us. Perhaps also stop talking about people that are actually helping in such a way too. Cheers, appreciated.
Lul then you said in a very roundabout way. I apologise. Anyway lets not let this thread derail any further.
Edit: Here, I made a quick app that finds a few things in the map files that should help. Thanks Matt for running the program ^_^
Edit: Here, I made a quick app that finds a few things in the map files that should help. Thanks Matt for running the program ^_^
Code: Select all
Name | Header Index Offset | Actual Index Offset | Needed Subtractor
===================================================================================
005_intro.map | -1091704276 | 130619948 | -1222324224
010_jungle.map | -1106744128 | 287091904 | -1393836032
020_base.map | -1112240656 | 383786480 | -1496027136
030_outskirts.map | -1115160620 | 323903444 | -1439064064
040_voi.map | -1117284580 | 363640604 | -1480925184
050_floodvoi.map | -1117129820 | 360727460 | -1477857280
070_waste.map | -1120285260 | 388021684 | -1508306944
100_citadel.map | -1121314592 | 462260448 | -1583575040
110_hc.map | -1109401492 | 256692332 | -1366093824
120_halo.map | -1119668648 | 355837528 | -1475506176
130_epilogue.map | -1091357892 | 128516924 | -1219874816
campaign.map | 0 | 0 | 0
chill.map | -1093350492 | 80661412 | -1174011904
construct.map | -1092501472 | 86515744 | -1179017216
cyberdyne.map | -1093801764 | 83618012 | -1177419776
deadlock.map | -1096629836 | 89493940 | -1186123776
guardian.map | -1092043300 | 86588892 | -1178632192
isolation.map | -1093323984 | 100995888 | -1194319872
mainmenu.map | -1083644960 | 47240160 | -1130885120
riverworld.map | -1095009480 | 90868536 | -1185878016
salvation.map | -1091413144 | 68385640 | -1159798784
shared.map | 0 | 0 | 0
shrine.map | -1095513764 | 87480668 | -1182994432
snowbound.map | -1095927484 | 69773636 | -1165701120
zanzibar.map | -1095103188 | 111152428 | -1206255616
Halo 2 Prophet - Skin with ease with the simple 3D point and click interface.
Halo 3 Research Thread - Contribute to the research into Halo 3.
Halo 3 Research Thread - Contribute to the research into Halo 3.