Adding New Maps
Moderator: Moderators
The showstr can be increased I just tested it in mod1.Captain_Murphy wrote: Also I have not been able to succefully edit the addme script to make it bigger to allow for a larger showstring than in is tat3 or mod1. Either the game crashes on boot or the map fails to appear in the list.
keep to 4 byte increments to avoid boundry problems.
increase ucfb length, scr_ length, BODY length & showstr length all by the same amount (I increased by 10h)
Insert the same number of characters to showstr.
It works great
-
- Gametoast Supporter
- Posts: 366
- Joined: Mon Oct 18, 2004 3:27 pm
- Projects :: No Mod project currently.
- xbox live or psn: No gamertag set
"The showstr can be increased I just tested it in mod1.
keep to 4 byte increments to avoid boundry problems.
increase ucfb length, scr_ length, BODY length & showstr length all by the same amount (I increased by 10h)
Insert the same number of characters to showstr."
This works great I manage to expendid with 16/10h as Howy.
I gave some math people problem with cracking checksum, so far no luck. It seams that is the only thing left to finish for this post, after that we can close it...
In meantime, maybe we should concentrate on Riley's
"Discussion on mission.lvl scripts".
Guru::: can you make Rileys "Discussion on mission.lvl scripts" as Sticky, I am not sure how to do that?
Maybe Fred, if possible, could make us a list of chacksums for
aaa1a
aaa1c
aab1a
abb1a..... so we can figure it out easier.
EDIT* I found some kind of online hash calc. It might help someone:
http://www.fileformat.info/tool/hash.htm
Looks like adler32 is kinda similar but not realy?!?
keep to 4 byte increments to avoid boundry problems.
increase ucfb length, scr_ length, BODY length & showstr length all by the same amount (I increased by 10h)
Insert the same number of characters to showstr."
This works great I manage to expendid with 16/10h as Howy.
I gave some math people problem with cracking checksum, so far no luck. It seams that is the only thing left to finish for this post, after that we can close it...
In meantime, maybe we should concentrate on Riley's
"Discussion on mission.lvl scripts".
Guru::: can you make Rileys "Discussion on mission.lvl scripts" as Sticky, I am not sure how to do that?
Maybe Fred, if possible, could make us a list of chacksums for
aaa1a
aaa1c
aab1a
abb1a..... so we can figure it out easier.
EDIT* I found some kind of online hash calc. It might help someone:
http://www.fileformat.info/tool/hash.htm
Looks like adler32 is kinda similar but not realy?!?
Hey Fred, what's up? We're stuck here. We cannot use the addon folder as it was intended because of this problem with only being able to use the mapluafile and script names of in-house maps. So what are we to do? I can't spend my time pouring over hash code converters, especially when it's only a guess on our part that that's what it is. Should we just wait for an SDK to add custom maps? Help.
-
- Gametoast Supporter
- Posts: 366
- Joined: Mon Oct 18, 2004 3:27 pm
- Projects :: No Mod project currently.
- xbox live or psn: No gamertag set
There's another HashCalc I found here (this one you have to download and install):
http://www.worldssp.net/software/HashCalc.htm
It has an actual CRC-32 algorithm, but still no luck reproducing the exact values. At least now I know a bit more about creating CRC's, hash algorithms, message digest algorithms, etc.
http://www.worldssp.net/software/HashCalc.htm
It has an actual CRC-32 algorithm, but still no luck reproducing the exact values. At least now I know a bit more about creating CRC's, hash algorithms, message digest algorithms, etc.
hmmmm
Just wondering.....has anyone else opened one of the lvl files in notepad, changed the font to 1, and scrolled down?
You might want to try the adler from zlib, thats certainly available in the binary.Riley75 wrote:Hmmm a CRC eh? I was thinking it was a hashed value.
I'm going to try running the standard CRC-32 algorithm against these "bes1a", "bes1r" etc strings then. And failing that, against the entire embedded file. See how that comes out...
*edit* No luck.
Hi all, been really busy lately, so no time for sw Hope to maybe get back to it soon!
The programs we've looked at do contain an Adler32 calculation, and haven't been producing the correct values -- although we might just be entering the wrong strings (we're kinda guessing that the strings are "bes1a", etc).
I'm looking at the code for the Adler32 algorithm in zlib. Based on the values it produces and the way the algorithm works, it looks the most promising.
The function takes an initialization parameter that could be causing the output value to be skewed. The function basically looks like:
unsigned long adler32(unsigned long adler, const unsigned char* buffer, unsigned int bufferLength);
Based on what I'm reading, the "adler" parameter is, by default, given a value of 1. That's what all these HashCalc programs we've been using assume. But Battlefront may be passing in another value there, if indeed it is calling this function. And if it is, then it's passing in a different value every time, and we're back to guess-work on what it's passing.
The reason it would have to be passing in a different value each time, is the low-order word is supposed to just be a sum of all bytes, modulo 65521. If that's the case, then for bes1a vs. bes2a, the low-order word should only differ by 1.
I'm looking at the code for the Adler32 algorithm in zlib. Based on the values it produces and the way the algorithm works, it looks the most promising.
The function takes an initialization parameter that could be causing the output value to be skewed. The function basically looks like:
unsigned long adler32(unsigned long adler, const unsigned char* buffer, unsigned int bufferLength);
Based on what I'm reading, the "adler" parameter is, by default, given a value of 1. That's what all these HashCalc programs we've been using assume. But Battlefront may be passing in another value there, if indeed it is calling this function. And if it is, then it's passing in a different value every time, and we're back to guess-work on what it's passing.
The reason it would have to be passing in a different value each time, is the low-order word is supposed to just be a sum of all bytes, modulo 65521. If that's the case, then for bes1a vs. bes2a, the low-order word should only differ by 1.
-
- Gametoast Supporter
- Posts: 366
- Joined: Mon Oct 18, 2004 3:27 pm
- Projects :: No Mod project currently.
- xbox live or psn: No gamertag set
It looks like that it does not matter is you put mod1a or MOD1A in mission.lvl, the game will not chrash. So CRC logic probablly converts values in uppercase or lowercase so this has to be taken into considiration.
"we're kinda guessing that the strings are "bes1a".. It must be just bes1a bacause crc only reacts to this, and moving bes1a with its CRC will work on other places too.. Maybe "1" is something else (a,c,i,h are kinda key chars), string and lenght and that should be crc.
I hope we will crack this soon as we will get into name collision soon... I was planing to make another map based on mod1 and since I used mod1 for my death star map, I do not even want to start with it since I can not post it to people to try it (replacment maps and mission patches are kinda outdated now).
As murphy said, maybe fred could build us mod1a, mod2a, mod3a, ..... as temporary solution until we find out how to make crc.
The koolest solution that fred could do is to biuld a web page where you enter your unique such as xyt1a and it gives crc back to you...
"we're kinda guessing that the strings are "bes1a".. It must be just bes1a bacause crc only reacts to this, and moving bes1a with its CRC will work on other places too.. Maybe "1" is something else (a,c,i,h are kinda key chars), string and lenght and that should be crc.
I hope we will crack this soon as we will get into name collision soon... I was planing to make another map based on mod1 and since I used mod1 for my death star map, I do not even want to start with it since I can not post it to people to try it (replacment maps and mission patches are kinda outdated now).
As murphy said, maybe fred could build us mod1a, mod2a, mod3a, ..... as temporary solution until we find out how to make crc.
The koolest solution that fred could do is to biuld a web page where you enter your unique such as xyt1a and it gives crc back to you...
Re: hmmmm
and what happened then ?I_want_more_out_of_mySWBF wrote:Just wondering.....has anyone else opened one of the lvl files in notepad, changed the font to 1, and scrolled down?