Hacking FFCC MLaaK Guides

Syangel

Active Member
OP
Newcomer
Joined
Jan 14, 2007
Messages
41
Trophies
0
Website
Visit site
XP
69
Country
Canada
Im just gonna post what i have learned here, there is another thread, but i dont wanna go through all of that text.

First of all, all of this that i am doing is on the wad with DLC activated.

Whats new:
0.2: Added my new BRRES extacting script, and a small Image and texture section.
0.1: Inital Post

Part one: The WAD, and the tools.

Im not allowed to supply the WAD, obtain it yourself. they way im promoting is actually buying it.
What you will need for editing this wad is
1.The wad
2. My compiled tool pack (here)
3. a hex editor

A quick rundown of the tools in my pack
BRRES exractor.bat - Will extract all of the BRRES files into a folder
u8extr_v0.2a_eng.exe - this extracts .app files
u8coes_v0.1_eng.exe - This is the tool that allows you to recompile the extracted .app files
u8pack_v0.08_eng.exe - this can open up .arc and some .bin files
tplcon_v0.4_eng.exe - This tool converts images back to TPL format
WAD Unpacker.bat - this will unpack in.wad. the files are outputted into a numerical folder. typical files to be found are *.tik *.tmd *.cert and 000000**.app
WAD Packer.bat - this will pack all of the wad files back together and sign them.
tplconv.exe - this will convert a TPL to a PNG file when you drag a TPL file into it.

Alright, now that thats delt with lets get to what you are actually doing.
Part two: Unpacking the files
ok, so copy your FFCC MLaaK wad into the folder and rename it to "in.wad" (no quotes) and run WAD Unpacker.bat. you will see a new folder with a bunch of numbers come up. open up the folder, and cut all of the contents into the folder with the tools. at this point feel free to put in.wad back to where it was, or delete it if its just a copy, you will not be needing it anymore.
From here you should have
CODE00000001.app
00000002.app
00000003.app
00000004.app
00000005.app
00000006.app
00000007.app
00000008.app
00000009.app
*.tik
*.cert
*.tmd
*.trailer
now you will need to extract the files from the main files of the game, 00000002.app.
Run u8extr_v0.2a_eng.exe and in the first box put 00000002.app and the second one will be filled you for you, then hit extract. after the window pops up hit ok, then close u8extr_v0.2a_eng.exe. you will have a folder called 00000002.app_out. this is where all of the scripting is.

At this point feel free to fool around with all that you have at your disposal. below i will document a couple of fun things that you can do. after you are finished go to Part Final and i will show you how to recompile your wad.

Part three: the scripting
After looking around the 00000002.app files you will notice that it is faily simple to figure out what everything does. if you open up any of the .nut files you may or may not notice that it is actually C++ scripting. you can use notepad to edit these files, or if you want to look at it in a structured prespective, open it up in a C++ editor. If you dont have a favorite one, look for notepad++. its free, and it supports many languages.

Heres a quick rundown of the files contents
loadComp.nut - Im not too sure what the first part of the file is, but eventually you will find where all of the abilities, stats, and other interesting things are defined. you can edit parts of this to increase weapons and armour stats.

main_en_us.nut- Im assuming this starts it?

package.nut- Im guessing has something to do with DLC

ProgramArchlordComp_en_us.nut- The main game programming, has all the functions and defining stuff. This is where you wanna look when modifying what happens in the game.

ProgramSystemComp.nut- Had scripting for Game to Wii actions

storyEvent*_*.nut- Contains the triggers and cutscene data

Some note worthy things to do are:
-"inf" gil
Stop the subtraction of Gil. to do this open up ProgramArchlordComp_en_us.nut and search for the line "useTP" and you will be brought to the line
function useTP(subtraction)
2 lines under this you will find
_currentTP -= subtraction;
Change this too
//_currentTP -= subtraction;
now whenever you spend Gil it will not go down
(note) "//" in C++ comments something out
-"Inf" elementite
Follow the method for inf gil, but this time search for "useBP" and you will find:
function useBP(subtraction)
and below that:
_currentBP -= subtraction;
Change this too
//_currentBP -= subtraction;
Now when you spend Elemantite it will not go down

There are many other modifications that can be added, such as modifying models, skeletons, and even the Salary/EXP/research tables, mabey i will outline this later, or mabey not, onto part four!

Part Four: Images, and textures
The texture files are stored in .BRRES files. normaly you would have to run command line commands to extract these. but i made a little batch file that extracts all of them into there own folder. simply run BRRES exractor.bat and you will get a new folder in 00000002_app_out called BRRES_Out with all of the files extracted. i made this batch file in a very primal way, thus it only works for FFCC MLaaK. now if you want to edit the textures, look for .TPL files and simply drag them into tplconv.exe in the tools folder, and they will be turned into a .PNG file. I am not sure how to edit the 3d model files, or the anim files, but im sure it is not that hard. after you have edited the PNG files, you can use tplcon_v0.4_eng.exe to change them back into .TPL files.

As of right now im not exactly sure how to recompile the files back into .BRRES files... sorry, looks like graphics mods are gonna have to wait for someone smarter XD.

Part Final: Recompiling!
I think this is where people have the most trouble.
First what we must do it make an updated 00000002.app. to do this run u8coes_v0.1_eng.exe and in the first box, select the unmodified 00000002.app. in the second box put the directory with the modified 00000002.app, this is normally the folder 00000002.app_out unless u moved your stuff. and finnaly in the 3rd box put what you would like you new file to be called. i ussualy name it 00000002out.app.

Alright. after that is done its time to clear out your folder. If you plan on doing more modifications, or you just want to keep it, move all of the extracted files, and the original 00000002.app out of the tools folder. Rename the new one too 00000002.app, and then check to make sure you have all of the files you had in the beggining. if everything seems to be ok, run WAD Packer.bat and you should get a new file called out.wad. congratz you should be done. just install this into your wii and you should have no problem.

Known problems are:
in the wad installer, when it reaches content#02 it gives an error!
This could be because of many reasons.
1. if you edited the Wad packer batch file, or are using one u had before, make sure that truca signing is ON. this can be done by adding the -sign argument at the end of your wadpacker statement
Example wadpacker.exe *.tik *.tmd *.cert out.wad -sign
2. This could be because you did not have all of the files from when you extracted 00000002.app, or you did not use a clean one.
3. you went overboard when modifying the files, sometimes the channels will be agitated if you make them too big, too small, or change them too much.

The wad intalls fine but freezes at the wiimote screen!
This is because you did something the game diddnt like. You might have to revise what modifications you have done to the game.

End
smile.gif
.

Any problems, concerns, or questions feel free to ask
 

TSPhoenix

Well-Known Member
Member
Joined
Aug 7, 2007
Messages
158
Trophies
0
XP
195
Country
Very interesting, I'd imagine that each piece of DLC would have its own file meaning that it shouldn't be hugely difficult to make custom costumes and the like if they've used existing formats for the textures.

Also if you resign WADs does this mean they won't work on 3.3 anymore?

Here is some more info on why this is like it is: Gamasutra article
 

teq

Well-Known Member
Member
Joined
May 13, 2008
Messages
1,232
Trophies
0
XP
5
Country
United States
Not a bad thread Syangel. My only concern is that we already have an active thread going for this. I wouldn't mind moving the discussion here, but we're going to have to get that other thread closed and redirected here.


To play as Chime:

Search: model="MODEL_A_KING",
Replace it with: model="MODEL_C_MINISTER",

Underneath, you'll find: gender="male",
Change to: gender="female",
 

thelovemonk

New Member
Newbie
Joined
Jul 6, 2008
Messages
4
Trophies
0
XP
55
Country
Is it possible to use this method to actually get the new dlc contents for ffcc mlaak working fully.

BTW I cannot run any of the u8**** programs keep getting an error

any idea why?

Scratch that got it working.
 

Keshire

Well-Known Member
Member
Joined
Sep 8, 2007
Messages
145
Trophies
0
Age
44
Website
Visit site
XP
193
Country
United States
Also of note:

function calcSalary(level) //This is the amount of money heroes make per day based on the 4 guild levels.

Code:
amount = ::rom.salary1.val[level]; //You can change this to amount = 9999;

and

function createConstruction(building, lotData, buildings) //What happens when you build buildings

Code:
game.incrementSPMaxFrame(1) //This is the amount of spheres for moral you get per bakery(ZAKKAYA) or market.
 

Keshire

Well-Known Member
Member
Joined
Sep 8, 2007
Messages
145
Trophies
0
Age
44
Website
Visit site
XP
193
Country
United States
Arm the Homeless said:
I'm interested in finding out the changes teq made so I can put them in a DLC unlocked version.

Aye I'm curious too. I'd also like to increase the total hero and population limit, as well as make moogles a usable race.
smile.gif


The Hero and Pop limit shouldn't be too hard.

I'm amazed this hasn't generated more interest. The game basically came with an SDK to create more content. If more work were put into figuring out models and the map then this game would be fully open.
 

Keshire

Well-Known Member
Member
Joined
Sep 8, 2007
Messages
145
Trophies
0
Age
44
Website
Visit site
XP
193
Country
United States
I've changed the max heroes to 8/16/24/32, but it seems like any heroes after a certain number ignore behests and just train all day. It may be the fact that I made that change in the middle of a saved game though.

I also changed the rate that the moral bar fills up. My next order of business is to allow improved family relations and hero stat improvements outside of using the moral spheres. I also changed the bakery and market so that it gives about *10 happiness (allows the ability to stay up late).

Once I get more familiar with their code base maybe I'll try some other things.
 

Keshire

Well-Known Member
Member
Joined
Sep 8, 2007
Messages
145
Trophies
0
Age
44
Website
Visit site
XP
193
Country
United States
Arm the Homeless said:
Could you post the changes so others can do that. xP

Sure.

1)Max Heroes per Guild Level
Located in:
class ArchGame

Code:
ÂÂÂÂstatic HERO_MAX_LEVEL_1ÂÂÂÂÂÂÂÂ= 8;
ÂÂÂÂstatic HERO_MAX_LEVEL_2ÂÂÂÂÂÂÂÂ= 16;
ÂÂÂÂstatic HERO_MAX_LEVEL_3ÂÂÂÂÂÂÂÂ= 24;
ÂÂÂÂstatic HERO_MAX_LEVEL_MAXÂÂÂÂ= 32;

ÂÂÂÂ_heroMax = 8;ÂÂÂÂ//Starting Level

function init()
Code:
ÂÂÂÂÂÂÂÂ_heroMax = 8;
function clearHeroSettings()
Code:
ÂÂÂÂÂÂÂÂ_heroMax = 8;
function canIncreaseHeroMaxNum()
Code:
ÂÂÂÂÂÂÂÂreturn 32>_heroMax;

class ArchFlagManager
function process(flagIndex)
Code:
ÂÂÂÂÂÂÂÂÂÂÂÂcase ::GAME_FLAG_UNLOCK_GUILD_HEROMAX8:
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ::game.setHeroMax(16);
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂbreak;
ÂÂÂÂÂÂÂÂÂÂÂÂcase ::GAME_FLAG_UNLOCK_GUILD_HEROMAX12:
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ::game.setHeroMax(24);
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂbreak;
ÂÂÂÂÂÂÂÂÂÂÂÂcase ::GAME_FLAG_UNLOCK_GUILD_HEROMAX16:
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ::game.setHeroMax(32);
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂbreak;
function debugAllApprenticeChange() //no idea if this is called or not, but just in case
Code:
ÂÂÂÂÂÂÂÂlocal heroMax = 32;

And for Moral increases these two variables are sprinkled throughout various events.
CODESPIncrease
spUp

To summarize
TP = Money
BP = Construction Resources
SP = Moral

::BUILDING_MINKAS
 

Keshire

Well-Known Member
Member
Joined
Sep 8, 2007
Messages
145
Trophies
0
Age
44
Website
Visit site
XP
193
Country
United States
Since I don't have a moogle building to attach them to.
I planned on making traveler Moogles default to hire able apprentices.
After hiring they would live in the castle until they could move into the closest market/emporium.

So here are my notes on the subject, if anyone has better ideas I'll gladly hear them out. Also. I'm not a good coder by any means, if there looks to be a better way to implement something please let me know.
smile.gif


class ArchWorld
function createAllTravellers()

CODEÂÂÂÂÂÂÂÂ//[keshire] Create Moogle Traveller
ÂÂÂÂÂÂÂÂnumbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
ÂÂÂÂÂÂÂÂfor(local i=0; i
 

_CARLOX_

Active Member
Newcomer
Joined
Aug 19, 2008
Messages
25
Trophies
0
Website
Visit site
XP
56
Country
United States
teq said:
To play as Chime:

Search: model="MODEL_A_KING",
Replace it with: model="MODEL_C_MINISTER",

Underneath, you'll find: gender="male",
Change to: gender="female",

I tried that and it didn't work for me, the game froze after the "Square-Enix" logo (I left the game for half an hour and nothing more than a black screen). I tried a few combinations of that method and none worked. BTW I used the tutorial posted by Syangel on the first post of this topic.

So I searched through the code and changed the following:

I changed

178 ::MODEL_A_KING
 

samsam12

Test
Banned
Joined
May 13, 2008
Messages
818
Trophies
0
Age
27
Location
A House
Website
Visit site
XP
63
Country
United States
i made chime Pavlov, but when i changed the costume, i was stuck in the castle! when i tried to leave i just went right back, if i tried to ring chime quickly i would get stuck in never ending boxes of text!
 

_CARLOX_

Active Member
Newcomer
Joined
Aug 19, 2008
Messages
25
Trophies
0
Website
Visit site
XP
56
Country
United States
Maybe once you change a character you're not supposed to change costumes.

I thought something like that might happen, that's why I stayed away from changing costumes in-game, but I hope somebody found what needs to be changed to play as costumed Chime
smile.gif
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: @OctoAori20, Cool. Same here.