Post: Custom FF Tutorial (NO TOOLS NEEDED)
12-14-2012, 05:30 PM #1
T_m_b07
I defeated!
(adsbygoogle = window.adsbygoogle || []).push({}); Custom FF Modern warfare 2 Tutorial

This tutorial will hopefully help you guys in understanding the structure and be able to creating a custom ff by hand and without the need of any ff compiler. It has been a while in which I have done this so if you notice any mistakes feel free to comment and let me know.

Zone Header

First step you will need the ff header
     [COLOR="#FF0000"]00 00 00 00[/COLOR] 00 00 00 00 00 00 03 B4 00 00 00 00 00 00 00 00 00 00 00 00 [COLOR="#0000FF"]00 00 00 00[/COLOR] 00 00 00 00 00 00 10 00 00 00 00 01 FF FF FF FF


The header is VERY important. The first four bytes is the zone size minus the header, (Highlighted in red) this will need to be adjusted everytime you make a change inside your zone you can calculate this header size by selecting the 3rd byte after the “patch_mp” string that ends the zone.

Offset 0x18 is the size of the zone including the header (I may be wrong with that if so please correct me) this is calculated by taking the zone header size I just mentioned and subtracting 0x24 bytes from it, for example if your header size was 00 00 12 34 then you would subtract 24 bytes from that value which would give you , 00 00 12 10. With that said, you should now understand everything you would need to change regarding the header.

Asset Table

     [COLOR="#FF0000"]00 00 00 01[/COLOR] FF FF FF FF 00 00 00 00 00 00 00 00 00 00 23 FF FF FF FF FF FF FF FF FF FF FF FF 


The asset table is also extremely important as it tells the game what contents are inside the zone it is reading, it has a counter which lets the game know how many assets to read from the table, (Highlighted in red).

I have attached the different asset byte values below for you to download (BIG THANKS To aerosoul94 and CraigChrist for the different asset types! and MASSIVE thank you to TheFallen for working so damn hard at whatever he does keep at it broskie :ySmile


As of now, strings and rawfiles are all we understand how to add.  Each asset is 16 bytes long, and everytime you want to add either a new rawfile or string you will need to also add an asset to the table like so, if we were adding a string then the table will now look like this

     [COLOR="#FF0000"]00 00 00 03[/COLOR] FF FF FF FF 00 00 00 00 00 00 00 [COLOR="#0000FF"]00 00 00 1A FF FF FF FF 00 00 00 1A FF FF FF FF[/COLOR] 00 00 00 23 FF FF FF FF FF FF FF FF FF FF FF FF 


Highlighted in blue are 2 new string assets added to the table for the game to look for and read. Important thing to remember, your asset table must ALWAYS end with a rawfile else you will result in a black screen! You can add up to 1024 rawfiles before you reach the max amount (lol yes I tried and was interesting to find there actually is a limit) :p Never tested strings though.
Make sure to adjust the table counter as you add or remove assets from the zone. (A quick way to calculate the amount of assets is to highlight all of them (minus the counter) and divide the highlighted length by 8 in a calculator).

Right now we have the top half of the zone we are almost complete. I will demonstrate on adding both a rawfile and a string seeing as we have added these into the table.

Now to add a string that we wish to edit the text for, first we need to decide which string we want to add by selecting one out of the list provided bellow in the download link, I have decided to add the “PATCH_PARTY_INVITE_ACCEPT” which is the party invitation. So with string assets you need to start it with a pointer which is FF FF FF FF in hex form then followed by the text you wish the string to display (English form) , then a null byte to separate the English and string ( 00 ) then the string you are adding, another null byte ( 00 ) and finally another pointer FF FF FF FF. So in total we should have something that looks like this in byte form….

     FF FF FF FF 4A 6F 69 6E 20 70 61 72 74 79 00 50 41 54 43 48 5F 50 41 52 54 59 5F 49 4E 56 49 54 45 5F 41 43 43 45 50 54 00 FF FF FF FF


And in text form…

     ÿÿÿÿJoin party.PATCH_PARTY_INVITE_ACCEPT.ÿÿÿÿ


You can repeat this with any of the strings you want to add.

Rawfiles

These are simple to understand and easy to add into your zone, first four bytes of the rawfile is the compressed size which is the size of the data inside the rawfile after it has been compressed, then you have the next 4 bytes showing its uncompressed size then a pointer and then the compressed rawfile data. For an example il use the “afghan.gsc” it will look like this…

Byte format

     [COLOR="#FF0000"]00 00 01 54[/COLOR] [COLOR="#0000FF"]00 00 02 8D[/COLOR][COLOR="#00FF00"] FF FF FF FF [/COLOR]6D 61 70 73 2F 6D 70 2F 6D 70 5F 61 66 67 68 61 6E 2E 67 73 63 00 78 DA 7D D1 5F 6B C2 30 10 00 F0 67 0B FD 0E A1 BE 28 B8 11 3B DD 40 D9 D3 18 63 0F C2 1E 7C 9B 23 9C ED D9 06 93 34 24 D1 55 C6 BE FB CE D5 3F 95 C9 20 04 2E F7 CB DD 85 74 A5 C9 D4 26 47 A6 C1 FA 85 B6 0B B1 09 52 C9 B0 9B C6 51 F7 98 CB 2A AD 2B 23 7C E6 A4 0D 7E 71 16 71 A4 41 9A 5E 3F 8E BE E2 A8 73 2C A1 AD 80 55 51 82 11 D6 61 06 59 89 93 49 E3 A6 47 95 39 84 80 E0 42 0B 53 F4 C7 5D 54 5B D5 D7 F2 02 6B AB 2A 2F B7 28 96 E0 1C 2A 7F 55 A9 0A F2 56 A2 9D A2 E7 59 F0 74 CD 63 D8 D8 99 34 72 06 B6 C7 92 C3 B9 20 28 4E 53 24 EC B7 2E 2D D2 F9 16 DC 19 6A A8 1D 98 02 93 01 4B EE 38 E7 0D 25 09 7A 29 D1 84 37 05 3B D2 87 68 5F 32 47 8F 2E 9C 5C 01 1A DF 09 84 00 D9 1A 9D 4F D8 07 7B A4 58 29 89 3E 99 9E 45 8E 2B 34 79 4B D4 B2 C9 5F 8C E5 84 92 45 19 5E 9C CC 9F 0D 2C 15 CE 3F 11 D6 9E C6 1B 36 8F B8 4A 5F 4D 40 E3 E9 7F F7 EE 36 FD 47 3E 55 26 38 F0 81 20 27 D6 69 FA 87 92 FE 36 67 6B A9 D4 DC C9 A2 40 BA D5 4B F9 FD 80 A5 A3 E1 88 F6 F1 03 BB 61 C3 94 F7 07 6C 3C A6 1E 9C FF F6 F8 8E A3 1F 29 3C CD 8A[COLOR="#00FF00"] FF FF FF FF[/COLOR]


Text format

     ...T....ÿÿÿÿmaps/mp/mp_afghan.gsc.xÚ}Ñ_kÂ0..ðg.ý.¡¾(¸.;Ý@ÙÓ.c.Â.|›#œíÙ.“4$ÑUƾûÎÕ?•É ..÷ËÝ…t¥ÉÔ&G¦Áú…¶.±.RÉ°›ÆQ÷˜Ë*.+#|æ¤.~q.q¤Aš^?Ž¾â¨s,¡.€UQ‚.Öa.Y‰“Iã¦G•9„€àB.SôÇ]T[Õ×ò.k«*/•(–à.*.U©.òV¢.¢çYðtÍcØØ™4r.¶Ç’ù (NS$ì•.-Òù.Ü.j¨.˜.“.Kî8ç.%.z)Ñ„7.;Ò‡h_2G..œ\..ß.„.Ù..OØ.{¤X)‰>™žEŽ+4yKÔ²É_Œå„’E.^œÌŸ.,.Î?.ÖžÆ.6.¸J_M@ãé.÷î6ýG>U&8ð. 'Öiú‡’þ6gk©ÔÜÉ¢@ºÕKùý€¥£áˆöñ.»aÔ÷.l<¦.œÿöøŽ£.)<ÍŠÿÿÿÿ


I have highlighted the compressed size in red, the uncompressed size in blue, the pointers in green and the data in black.

To add bytes simply just paste in 00 00 00 00 as many times as you want to the end of the rawfile before the last pointer then highlight all the null bytes you added and take the size and simply add it to the compressed size in the header. The uncompressed size is not too important to adjust as it will load without actually changing that size value (although its always best to change it) The max size of a rawfile is 18,000 bytes any higher and the game will throw an error.

Right your almost done.

My zone file now looks like this all together…
     00 00 00 00 00 00 00 00 00 00 03 B4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 01 FF FF FF FF 00 00 00 03 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 1A FF FF FF FF 00 00 00 1A FF FF FF FF 00 00 00 23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4A 6F 69 6E 20 70 61 72 74 79 00 50 41 54 43 48 5F 50 41 52 54 59 5F 49 4E 56 49 54 45 5F 41 43 43 45 50 54 00 FF FF FF FF 00 00 01 54 00 00 02 8D FF FF FF FF 6D 61 70 73 2F 6D 70 2F 6D 70 5F 61 66 67 68 61 6E 2E 67 73 63 00 78 DA 7D D1 5F 6B C2 30 10 00 F0 67 0B FD 0E A1 BE 28 B8 11 3B DD 40 D9 D3 18 63 0F C2 1E 7C 9B 23 9C ED D9 06 93 34 24 D1 55 C6 BE FB CE D5 3F 95 C9 20 04 2E F7 CB DD 85 74 A5 C9 D4 26 47 A6 C1 FA 85 B6 0B B1 09 52 C9 B0 9B C6 51 F7 98 CB 2A AD 2B 23 7C E6 A4 0D 7E 71 16 71 A4 41 9A 5E 3F 8E BE E2 A8 73 2C A1 AD 80 55 51 82 11 D6 61 06 59 89 93 49 E3 A6 47 95 39 84 80 E0 42 0B 53 F4 C7 5D 54 5B D5 D7 F2 02 6B AB 2A 2F B7 28 96 E0 1C 2A 7F 55 A9 0A F2 56 A2 9D A2 E7 59 F0 74 CD 63 D8 D8 99 34 72 06 B6 C7 92 C3 B9 20 28 4E 53 24 EC B7 2E 2D D2 F9 16 DC 19 6A A8 1D 98 02 93 01 4B EE 38 E7 0D 25 09 7A 29 D1 84 37 05 3B D2 87 68 5F 32 47 8F 2E 9C 5C 01 1A DF 09 84 00 D9 1A 9D 4F D8 07 7B A4 58 29 89 3E 99 9E 45 8E 2B 34 79 4B D4 B2 C9 5F 8C E5 84 92 45 19 5E 9C CC 9F 0D 2C 15 CE 3F 11 D6 9E C6 1B 36 8F B8 4A 5F 4D 40 E3 E9 7F F7 EE 36 FD 47 3E 55 26 38 F0 81 20 27 D6 69 FA 87 92 FE 36 67 6B A9 D4 DC C9 A2 40 BA D5 4B F9 FD 80 A5 A3 E1 88 F6 F1 03 BB 61 C3 94 F7 07 6C 3C A6 1E 9C FF F6 F8 8E A3 1F 29 3C CD 8A FF FF FF FF 00 00 00 00 00 00 00 00 FF FF FF FF 70 61 74 63 68 5F 6D 70 00 00 00 00


Make sure to have the patch_mp string at the very end of the zone! Now click 3 bytes after patch_mp and click control + e and change the top value to 0 and click ok. Take the length given at the bottom of HxD and replace that value with the second size header at the top of the zone.

     00 00 00 00 00 00 00 00 FF FF FF FF 70 61 74 63 68 5F 6D 70 00 00 00 00

Which will display “........ÿÿÿÿpatch_mp “….



This is my header after its changed…

     00 00 00 00 00 00 00 00 00 00 03 B4 00 00 00 00 00 00 00 00 00 00 00 00 [COLOR="#FF0000"]00 00 02 1A[/COLOR] 00 00 00 00 00 00 10 00 00 00 00 01 FF FF FF FF


Now I need to take that value I just changed and subtract 24 from it which gives me 00 00 01 F6 which I now place into the first 4 bytes of the zone header.

My header now looks like this…

    [COLOR="#FF0000"] 00 00 01 F6[/COLOR] 00 00 00 00 00 00 03 B4 00 00 00 00 00 00 00 00 00 00 00 00 [COLOR="#0000FF"]00 00 02 1A[/COLOR] 00 00 00 00 00 00 10 00 00 00 00 01 FF FF FF FF


Now to complete this custom ff all I have to do is full it out with null bytes until the zone total size ends with a value ending in 0000’s (for example 10,000) this is also known as “padding”.

You must login or register to view this content.


Download link for Asset types (Need to upload files) 0x23 is rawfile and 0x1A is string
You must login or register to view this content.


Hope this helps you guys out yes a lot of you know how to make a custom ff using tools but this was how it was done before life became easy its useful to understand and know.

Happy modding!

Regards,

T_m_b07
Last edited by T_m_b07 ; 12-15-2012 at 12:59 PM. Reason: :)

The following 18 users say thank you to T_m_b07 for this useful post:

.NINK., {HaMm}Holdeman7, CoDyMoDz1000XD, Dr. Mayham, Fittro, iTrexk, JTFormula2, KCxFTW, Kitty=^.^=, OmGRhys-x, Cmd-X, Master Ro, TheUnexpected, Tony Stark, Vampytwistッ, xePixTvx
12-14-2012, 05:40 PM #2
*xActionMods*
I’m too L33T
Originally posted by b07 View Post
Custom FF Modern warfare 2 Tutorial

This tutorial will hopefully help you guys in understanding the structure and be able to creating a custom ff by hand and without the need of any ff compiler. It has been a while in which I have done this so if you notice any mistakes feel free to comment and let me know.

Zone Header

First step you will need the ff header
     [COLOR="#FF0000"]00 00 00 00[/COLOR] 00 00 00 00 00 00 03 B4 00 00 00 00 00 00 00 00 00 00 00 00 [COLOR="#0000FF"]00 00 00 00[/COLOR] 00 00 00 00 00 00 10 00 00 00 00 01 FF FF FF FF


The header is VERY important. The first four bytes is the zone size minus the header, (Highlighted in red) this will need to be adjusted everytime you make a change inside your zone you can calculate this header size by selecting the 3rd byte after the “patch_mp” string that ends the zone.

Offset 0x18 is the size of the zone including the header (I may be wrong with that if so please correct me) this is calculated by taking the zone header size I just mentioned and subtracting 0x24 bytes from it, for example if your header size was 00 00 12 34 then you would subtract 24 bytes from that value which would give you , 00 00 12 10. With that said, you should now understand everything you would need to change regarding the header.

Asset Table

     [COLOR="#FF0000"]00 00 00 01[/COLOR] FF FF FF FF 00 00 00 00 00 00 00 00 00 00 23 FF FF FF FF FF FF FF FF FF FF FF FF 


The asset table is also extremely important as it tells the game what contents are inside the zone it is reading, it has a counter which lets the game know how many assets to read from the table, (Highlighted in red).

I have attached the different asset byte values below for you to download (BIG THANKS To aerosoul94 and CraigChrist for the different asset types! and MASSIVE thank you to TheFallen for working so damn hard at whatever he does keep at it broskie :ySmile


As of now, strings and rawfiles are all we understand how to add.  Each asset is 16 bytes long, and everytime you want to add either a new rawfile or string you will need to also add an asset to the table like so, if we were adding a string then the table will now look like this

     [COLOR="#FF0000"]00 00 00 03[/COLOR] FF FF FF FF 00 00 00 00 00 00 00 [COLOR="#0000FF"]00 00 00 1A FF FF FF FF 00 00 00 1A FF FF FF FF[/COLOR] 00 00 00 23 FF FF FF FF FF FF FF FF FF FF FF FF 


Highlighted in blue are 2 new string assets added to the table for the game to look for and read. Important thing to remember, your asset table must ALWAYS end with a rawfile else you will result in a black screen! You can add up to 1024 rawfiles before you reach the max amount (lol yes I tried and was interesting to find there actually is a limit) :p Never tested strings though.
Make sure to adjust the table counter as you add or remove assets from the zone. (A quick way to calculate the amount of assets is to highlight all of them (minus the counter) and divide the highlighted length by 8 in a calculator).

Right now we have the top half of the zone we are almost complete. I will demonstrate on adding both a rawfile and a string seeing as we have added these into the table.

Now to add a string that we wish to edit the text for, first we need to decide which string we want to add by selecting one out of the list provided bellow in the download link, I have decided to add the “PATCH_PARTY_INVITE_ACCEPT” which is the party invitation. So with string assets you need to start it with a pointer which is FF FF FF FF in hex form then followed by the text you wish the string to display (English form) , then a null byte to separate the English and string ( 00 ) then the string you are adding, another null byte ( 00 ) and finally another pointer FF FF FF FF. So in total we should have something that looks like this in byte form….

     FF FF FF FF 4A 6F 69 6E 20 70 61 72 74 79 00 50 41 54 43 48 5F 50 41 52 54 59 5F 49 4E 56 49 54 45 5F 41 43 43 45 50 54 00 FF FF FF FF


And in text form…

     ÿÿÿÿJoin party.PATCH_PARTY_INVITE_ACCEPT.ÿÿÿÿ


You can repeat this with any of the strings you want to add.

Rawfiles

These are simple to understand and easy to add into your zone, first four bytes of the rawfile is the compressed size which is the size of the data inside the rawfile after it has been compressed, then you have the next 4 bytes showing its uncompressed size then a pointer and then the compressed rawfile data. For an example il use the “afghan.gsc” it will look like this…

Byte format

     [COLOR="#FF0000"]00 00 01 54[/COLOR] [COLOR="#0000FF"]00 00 02 8D[/COLOR][COLOR="#00FF00"] FF FF FF FF [/COLOR]6D 61 70 73 2F 6D 70 2F 6D 70 5F 61 66 67 68 61 6E 2E 67 73 63 00 78 DA 7D D1 5F 6B C2 30 10 00 F0 67 0B FD 0E A1 BE 28 B8 11 3B DD 40 D9 D3 18 63 0F C2 1E 7C 9B 23 9C ED D9 06 93 34 24 D1 55 C6 BE FB CE D5 3F 95 C9 20 04 2E F7 CB DD 85 74 A5 C9 D4 26 47 A6 C1 FA 85 B6 0B B1 09 52 C9 B0 9B C6 51 F7 98 CB 2A AD 2B 23 7C E6 A4 0D 7E 71 16 71 A4 41 9A 5E 3F 8E BE E2 A8 73 2C A1 AD 80 55 51 82 11 D6 61 06 59 89 93 49 E3 A6 47 95 39 84 80 E0 42 0B 53 F4 C7 5D 54 5B D5 D7 F2 02 6B AB 2A 2F B7 28 96 E0 1C 2A 7F 55 A9 0A F2 56 A2 9D A2 E7 59 F0 74 CD 63 D8 D8 99 34 72 06 B6 C7 92 C3 B9 20 28 4E 53 24 EC B7 2E 2D D2 F9 16 DC 19 6A A8 1D 98 02 93 01 4B EE 38 E7 0D 25 09 7A 29 D1 84 37 05 3B D2 87 68 5F 32 47 8F 2E 9C 5C 01 1A DF 09 84 00 D9 1A 9D 4F D8 07 7B A4 58 29 89 3E 99 9E 45 8E 2B 34 79 4B D4 B2 C9 5F 8C E5 84 92 45 19 5E 9C CC 9F 0D 2C 15 CE 3F 11 D6 9E C6 1B 36 8F B8 4A 5F 4D 40 E3 E9 7F F7 EE 36 FD 47 3E 55 26 38 F0 81 20 27 D6 69 FA 87 92 FE 36 67 6B A9 D4 DC C9 A2 40 BA D5 4B F9 FD 80 A5 A3 E1 88 F6 F1 03 BB 61 C3 94 F7 07 6C 3C A6 1E 9C FF F6 F8 8E A3 1F 29 3C CD 8A[COLOR="#00FF00"] FF FF FF FF[/COLOR]


Text format

     ...T....ÿÿÿÿmaps/mp/mp_afghan.gsc.xÚ}Ñ_kÂ0..ðg.ý.¡¾(¸.;Ý@ÙÓ.c.Â.|›#œíÙ.“4$ÑUƾûÎÕ?•É ..÷ËÝ…t¥ÉÔ&G¦Áú…¶.±.RÉ°›ÆQ÷˜Ë*.+#|æ¤.~q.q¤Aš^?Ž¾â¨s,¡.€UQ‚.Öa.Y‰“Iã¦G•9„€àB.SôÇ]T[Õ×ò.k«*/•(–à.*.U©.òV¢.¢çYðtÍcØØ™4r.¶Ç’ù (NS$ì•.-Òù.Ü.j¨.˜.“.Kî8ç.%.z)Ñ„7.;Ò‡h_2G..œ\..ß.„.Ù..OØ.{¤X)‰>™žEŽ+4yKÔ²É_Œå„’E.^œÌŸ.,.Î?.ÖžÆ.6.¸J_M@ãé.÷î6ýG>U&8ð. 'Öiú‡’þ6gk©ÔÜÉ¢@ºÕKùý€¥£áˆöñ.»aÔ÷.l<¦.œÿöøŽ£.)<ÍŠÿÿÿÿ


I have highlighted the compressed size in red, the uncompressed size in blue, the pointers in green and the data in black.

To add bytes simply just paste in 00 00 00 00 as many times as you want to the end of the rawfile before the last pointer then highlight all the null bytes you added and take the size and simply add it to the compressed size in the header. The uncompressed size is not too important to adjust as it will load without actually changing that size value (although its always best to change it) The max size of a rawfile is 18,000 bytes any higher and the game will throw an error.

Right your almost done.

My zone file now looks like this all together…
     00 00 00 00 00 00 00 00 00 00 03 B4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 01 FF FF FF FF 00 00 00 03 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 1A FF FF FF FF 00 00 00 1A FF FF FF FF 00 00 00 23 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 4A 6F 69 6E 20 70 61 72 74 79 00 50 41 54 43 48 5F 50 41 52 54 59 5F 49 4E 56 49 54 45 5F 41 43 43 45 50 54 00 FF FF FF FF 00 00 01 54 00 00 02 8D FF FF FF FF 6D 61 70 73 2F 6D 70 2F 6D 70 5F 61 66 67 68 61 6E 2E 67 73 63 00 78 DA 7D D1 5F 6B C2 30 10 00 F0 67 0B FD 0E A1 BE 28 B8 11 3B DD 40 D9 D3 18 63 0F C2 1E 7C 9B 23 9C ED D9 06 93 34 24 D1 55 C6 BE FB CE D5 3F 95 C9 20 04 2E F7 CB DD 85 74 A5 C9 D4 26 47 A6 C1 FA 85 B6 0B B1 09 52 C9 B0 9B C6 51 F7 98 CB 2A AD 2B 23 7C E6 A4 0D 7E 71 16 71 A4 41 9A 5E 3F 8E BE E2 A8 73 2C A1 AD 80 55 51 82 11 D6 61 06 59 89 93 49 E3 A6 47 95 39 84 80 E0 42 0B 53 F4 C7 5D 54 5B D5 D7 F2 02 6B AB 2A 2F B7 28 96 E0 1C 2A 7F 55 A9 0A F2 56 A2 9D A2 E7 59 F0 74 CD 63 D8 D8 99 34 72 06 B6 C7 92 C3 B9 20 28 4E 53 24 EC B7 2E 2D D2 F9 16 DC 19 6A A8 1D 98 02 93 01 4B EE 38 E7 0D 25 09 7A 29 D1 84 37 05 3B D2 87 68 5F 32 47 8F 2E 9C 5C 01 1A DF 09 84 00 D9 1A 9D 4F D8 07 7B A4 58 29 89 3E 99 9E 45 8E 2B 34 79 4B D4 B2 C9 5F 8C E5 84 92 45 19 5E 9C CC 9F 0D 2C 15 CE 3F 11 D6 9E C6 1B 36 8F B8 4A 5F 4D 40 E3 E9 7F F7 EE 36 FD 47 3E 55 26 38 F0 81 20 27 D6 69 FA 87 92 FE 36 67 6B A9 D4 DC C9 A2 40 BA D5 4B F9 FD 80 A5 A3 E1 88 F6 F1 03 BB 61 C3 94 F7 07 6C 3C A6 1E 9C FF F6 F8 8E A3 1F 29 3C CD 8A FF FF FF FF 00 00 00 00 00 00 00 00 FF FF FF FF 70 61 74 63 68 5F 6D 70 00 00 00 00


Make sure to have the patch_mp string at the very end of the zone! Now click 3 bytes after patch_mp and click control + e and change the top value to 0 and click ok. Take the length given at the bottom of HxD and replace that value with the second size header at the top of the zone.

     00 00 00 00 00 00 00 00 FF FF FF FF 70 61 74 63 68 5F 6D 70 00 00 00 00

Which will display “........ÿÿÿÿpatch_mp “….



This is my header after its changed…

     00 00 00 00 00 00 00 00 00 00 03 B4 00 00 00 00 00 00 00 00 00 00 00 00 [COLOR="#FF0000"]00 00 02 1A[/COLOR] 00 00 00 00 00 00 10 00 00 00 00 01 FF FF FF FF


Now I need to take that value I just changed and subtract 24 from it which gives me 00 00 01 F6 which I now place into the first 4 bytes of the zone header.

My header now looks like this…

    [COLOR="#FF0000"] 00 00 01 F6[/COLOR] 00 00 00 00 00 00 03 B4 00 00 00 00 00 00 00 00 00 00 00 00 [COLOR="#0000FF"]00 00 02 1A[/COLOR] 00 00 00 00 00 00 10 00 00 00 00 01 FF FF FF FF


Now to complete this custom ff all I have to do is full it out with null bytes until the zone total size ends with a value ending in 0000’s (for example 10,000) this is also known as “padding”.

You must login or register to view this content.


Download link for Asset types (Need to upload files) 0x23 is rawfile and 0x1A is string
Download Link for Strings google will give you results or ask arround... i WILL upload as soon as i can! Sorry


Hope this helps you guys out yes a lot of you know how to make a custom ff using tools but this was how it was done before life became easy its useful to understand and know.

Happy modding!

Regards,

T_m_b07


sorry can you tell me what it does?
Last edited by *xActionMods* ; 12-14-2012 at 06:37 PM.

The following 3 users say thank you to *xActionMods* for this useful post:

aerosoul94, TheUnexpected, zshred

The following 16 users groaned at *xActionMods* for this awful post:

Bad Luck Brian, cekchd, CoDyMoDz1000XD, Dr. Mayham, Fittro, GeorgeGreen, J, KCxFTW, ohhImpreza, OmGRhys-x, Cmd-X, Master Ro, Tony Stark, Vampytwistッ
12-14-2012, 06:01 PM #3
OmGRhys-x
Are you high?
Originally posted by AstroBoy View Post
so much writing :( i cant be asked to read it


what was the point even posting this?

he put a lot of effort into this and this is what you say 2 him WTF dude

The following 8 users say thank you to OmGRhys-x for this useful post:

-Xperia-, Dr. Mayham, Fittro, Cmd-X, Master Ro, T_m_b07, xePixTvx, zshred
12-14-2012, 06:12 PM #4
cekchd
Banned
i dont know anything about patch making, but looks good and a easy tut to follow. if possible you should find/make a video to help others who want a video tut instead of reading the post.

The following 2 users groaned at cekchd for this awful post:

Eddie Mac, OmGRhys-x
12-14-2012, 06:36 PM #5
*xActionMods*
I’m too L33T
Originally posted by x View Post
what was the point even posting this?

he put a lot of effort into this and this is what you say 2 him WTF dude


looool sorry i guess :(
12-14-2012, 07:22 PM #6
John Leepe
< ^ > < ^ >
This is a long thread. I shall read it Smile. Good post! I havn't seen you on NGU Lately man.

The following user thanked John Leepe for this useful post:

T_m_b07
12-14-2012, 07:25 PM #7
T_m_b07
I defeated!
Originally posted by Nas View Post
seen you on NGU
Im currently back studying my friend im here and there but always around Smile Enjoy

The following user thanked T_m_b07 for this useful post:

OmGRhys-x
12-14-2012, 07:42 PM #8
OmGRhys-x
Are you high?
Originally posted by AstroBoy View Post
sorry can you tell me what it does?


its for making a custom ff 1.11/1.14 without any tools!!
12-14-2012, 08:32 PM #9
Tony Stark
Do a barrel roll!
Wooo. Very good job, how long have you spend to write this OMFGGG
12-14-2012, 08:59 PM #10
Master Ro
I make food
Nice tutorial Man, Nobody looked at my, "All you need to know about GSC Scripting" Tutorial :cry:

But, I like this, it was well written, and taught me a fair amount, good job

The following 2 users say thank you to Master Ro for this useful post:

T_m_b07, xInfuzeModz

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo