Post by BlankedOut on Mar 9, 2010 0:18:23 GMT -5
If things are not all the way done, I WILL improve them over time.
LEGEND:
*=uncomplete
-=Next priorty
#=Dont know how to do.
%=unable to do due to issues
Contents:
1-0 Getting Started and What You Need.
1-1 Dox.
2-0 Getting Started.
2-0-1 Actors&Groups/Objects.
2-0-2 Continuation.
2-1 Text Editing, what is HEX?
3-0 Graphics Editing.*
3-1 Graphics Masking.
4-0 Differences in UoT*
4-1 Q&A
5-0 Importing MM to OOT*
5-1 Importing SM64 to OOT%
5-2 Importing Objects (to maps) (Obj)
5-3 Editing Imported maps.
1-0 Getting Started and What You Need.
Mouse over words and yourll find the links.
A HEX Editor. Any will do, but the best free one for simple editing like seen here would be HxD
UoT. You can get the newest one to date and 0.90.4. Make sure to grab them both.
The .NET Framework 2.0 from Microsoft.
Python 2.5.4 and and the Vpython for that specfic package.
Pypng.
ZAPPY (A link that ISNT passworded... >.> ) MEDIAFIRE
ZLE
ZELOOTMA Debug Rom
Obj2AreaA importer to make .Objs into maps.
Rices Video 6.1.1 Beta 10 A video plugin that support texture masking.
My Dox 0.8 (A semi-complete collection of documents I have)
1-1 Dox
Most of the documents in my folder should be self-explainatory because of the names, but if its not, heres a list.
0.1 OOT obj listing.doc = A zobj listing for 1.0
Actor and Group list by location.txt = A list of actors and their groups by location.
Actor Format.doc = Some random info on actors.
Actor Listing2.doc = yet another actor list, its just to show where the actors are located in rom.
Adding Switches.doc = A small document on how to add switches.
Animation Format.doc = Some infomation on models and their animations.
Animation Mod.doc = More infomation about actors.
Build Dates.doc = minor infomation about ROMs and their release dates.
C Code Listing.doc = not 100% sure this is? I think its a list of all the C code in Zelda. Could be wrong.
Cens Notes.doc = some random crap I decided to save.
Chest Variable List.doc = Variables on Chests.
Code Notes.doc = alot of neat stuff. Lists on where the rupee worth is stored, colors for things, etc.
Color Mods.doc = Basic codes for 1.0U
Debug Rom Codes.doc = A few codes for the Debug Rom
Dungeon Keep.doc = Some more random shit.
E 1.0/1.1 Scene list = Self Explanatory.
File List.doc = A list of where things are in ROM.
Filename to Area Relations.doc = A list of what the names of some .zmaps are.
Filesystem.doc = Where the filesystem starts in different ROMs. Could help in converting codes maybe.
Filetypes Document.doc = A short document on what .zobjs/.zmaps/etc are.
Getting Debug rom to run.doc = You may want to read this if your just starting.
Infinate Item Cheat.doc = Codes for infinate Items
Interface Hacking.doc = How to hack the interface, I assume its for Debug Rom. Could be wrong though.
Item Codes.doc = List of the hex codes for Items on 1.0
Item Documentation.doc = just what it sounds like, a document on Items. For Debug rom.
Map Select Code.doc = Map select codes for the many Zelda games.
Map Select Translation.doc = Is the map select on Debug Rom gibberish to you? Here is a translation note.
Music Values.doc = Hex Values for all the music in OOT.
Name Table.doc = Just more filesystem shit.
Object Link Boy.doc = Offset listing for Object_Link_Boy.zobj
Object Link Child.doc Offset listing for Object_Link_Child.zobj
RAM Map.doc = A RAM map.
Room Data Pointers.doc = More Random crap.
Scene List Debug.doc = Scene numbers, offsets, and values. (WHEN IMPORTING MAPS, THE VALUES HERE ARE WHAT YOUR LOOKING FOR)
Text Control.doc = Just as it says.
U 1.0/2 Scene List.doc = Just as it says.
Varable List.doc = Random Varable list.
Whole Actor List.doc = When adding new actors, and groups, this list is what will help you in the longer run.
Zmap Offsets.doc = Finding Zmap offsets in ROM.
2-0 Getting Started
Hello there, wanna hack Ocarina of Time no doubt. There must be a reason your here.
Lets get to the very basics, using UoT. Since UoT for the most part, is a newbie friendly tool.
Open up the 'newer' version that you downloaded. The one thats not 0.90.4.
To File>Open Rom, and open up your downloaded ZELOOTMA.
Lets start with Levels. In the little menu to the left, there is Actor Models. Actor Code. Levels. and Others.
Just open Levels for now, and open up Spot04. Yourll see there is room 0/2. This is because some areas (like dungeons) have more then one room, obviously.
Just open up room 0 for now.
Do yourself a favor real fast, on the bottom right of the program, there is a "Camera Speed" Turn that down.
Now, on here you should see your whole level, Kokiri Forest.
The little squares are Actors. (Ill explain Actors and Groups/Objects soon) ignore them for now.
I will explain the tools to you. Take note that even I am still kinda learning some of the newer UoT, so there is still some I dont understand. Ill explain what I can.
On the right you have a menu, and above it many tabs to toy with.
You have Collision, Misc, Animations, Graphics, Actors, and Level Flags.
Go to Collision.
Collision is what makes the map walkable, or climbable.
If there was no collision, you would simply fall though the level as though it wasnt there.
So, here we see many options for coolision.
On the top of the screen there is a 'tools' menu, click it, go to 'mouse tool' > 'collision tri selector'
Now select many different parts of the ground/walls/etc yourll see that the options on the right change.
This is because different objects have different collision types.
Different collision types tell what it sounds like when you walk there, what it sounds like when you hit it with your sword, or anything.
even if you can climb on it or not, or if you can sink in it.
Water is not collision (I dont think, I could be wrong) Hince you cant see it in the collision editor.
I will handle how to edit water in ZAPPY later.
Note that I dont believe the 'values' or 'settings' for different collision are documented. (I WILL DOCUMENT THEM LATER MYSELF HOWEVER. HOW MUCH LATER? UNKNOWN) So if you want, take note of the values and settings of different collisions.
I dont fully understand the settings of collisions myself, I think the 'flags' tell what it sounds like, acts like, etc. Not sure though.
Not sure what the Variable setting does.
Exits, here we have exists. Some exists arnt just doors, some are collisions.
Like if you walk on the ground withen a collision triangle, you will go to a different map. (I think)
The value on exists however, I know close to nothing about. Like what number goes to what exit. I dont know any of this.
Lets go to another tab, Level Flags.
Here, it tells a few things about the level, or lets you do a few things to it.
Lets you change the time of day when the level is entered.
Usually on most levels, the time of day doesnt change, it just continues going like normal.
However, I guess you can force the day to change here.
You can also enter a music value. Of course different music values tell what music is in the level.
The music values are stored in Music Values.doc, in the documents I sent you.
2-0-1 Actors&Groups/Objects
Now, there is also something called Actors.
A actor is a object. A object as in... a sign. A person. A enemy. Almost everything is a actor.
Lets go to >Tools>Mouse>Actor Selector
Now go to links house, or, at least in front of it.
Now, click on the box in front of his house, the closest one. 0141 says what it is, 031F says what type it is of said number.
For example, there can be a 'rupee' object. Changing the varible can mean making it change what kinda rupee it is, or how it displays itself or anything.
A very good list of actors can be found in Whole Actor List.doc
Now, before you go all apeshit on some of the actors, turning them all into ganon or some crazy shit like that,read on for groups.
Groups are like...how sould I explain this..a placeholder for the types of actors.
or...something
PRETTY MUCH, You need the group of a actor, to display the actor.
Lets say you changed the actor in front of links house, to a Peahat.
You would not be able to see, or interact with the Peahat unless the Group for it was set.
You could set as many Peahat actors as you want once the group was set. But for now, the group isnt set, because of this, there will be no peahat to show.
Each room has its own groups, of course. But you can change the groups to make something else show.
A list of group numbers that are needed for actors can be found in the actor list I gave you a bit ago.
If you feel like you still dont understand groups or actors, go ahead and say so in a new post. I dont feel like I explained it right anyway, lol.
A maybe different explaination of Groups:
JUST A EXAMPLE. THE VALUES ARE FAKE.
Lets say the Actor # for kokiri girl is 0231.
The variableis 0001
And the group is 0031
So, you change a actor to 0231 in a fresh new level, and hope to see a kokiri girl walking around right?
Well, you wont see her right now, you know why? Because the Group isnt there.
In UoT, there is a dropdown menu of somekind with a list of groups.
If your on a new level, all the groups are usually 0000
Take one of the groups, and change it to 0031, then click apply. There, now you can put as many kokiri girls as you want and can see them.
You do NOT need as many groups as you do actors. for example, two kokiri girl actors, = two kokiri girl groups, right? Wrong. One group is enough for both the actors.
Now, a variableis a different type of said object.
By default, the variable setting for a actor should be 0000 or 0001.
But sometimes, they can be different.
Lets say you put down a rupee pickup. If you use 0001, the rupee would be green.
Now if you change that to 40, it could be red or a different type of that object.
NOTE THAT ALL THE NUMBER ABOVE ARE FAKE. Go look at the lists for the actural numbers.
Also, groups and objects mean apparently the same thing, fyi.
No, not actors, thats completely different.
Someone told me that Objects literly mean Groups.
2-0-2 Continuation
Now that you SHOULD have changing actors and groups, lets go onto something a little different.
On the left toolbar, go Actor Models>Object_Peahat
Obviously this is a peahat, you can see it, and it says it in the name.
Most Actor and map names arn't so obvious, if you want to find something specfic, find it yourself.
Now, on the old UoT you could warp and change the actors a little, as in the shape (I will cover that in 'Older UoT, The Differences')
It seems in the Newer UoT you can do things differently.
You can change the shape of things in this current UoT, its just shit because the cam moves with it and it gets annoying. Use the older UoT for model editing unless your doing advanced shit, k?
Just to let you know though, I have no idea what anything is in the newer Model Editor. Ill cover things more once I explore them myself.
Apparently though, in the graphics tab, you can view the different collisions (Thats right, Actors have collision as well) and the commands the actor runs? No idea.
There is also a Animations Tab to view the Animations for the Actor.
2-1 Text Editing&What is Hex?
Lets start off with the HEX part.
Have your trusty Hex editor handy? Good.
Now, hex is like numbers, but instead of going 0123456789 it goes 0123456789ABCDEF.
hex as in data, is just that, data.
Example. Make a new notepad, anywhere. Open up that notepad and type in. Aa Bb Zz 2; 'x
Now save that, now open up your HEX Editor and make it open up your new note.
Yourll find that on the Hex (Left) side, it should say..
41 61 20 42 62 20 5a 7a 20 32 3b 20 27 78
If you analize it at all, you should notice that 20 means space.
41 means A, 61 means a etc etc etc.
In most programs, or games, a hex number can reference anything.
Example is in the Music Document in ZELOOTMA.
02 doesnt mean any kind of 'text/number character'
It means 'This music will be played'
But it all depends on where the hex is. Otherwise, youd have a rom that would do nothing but display text.
now open up ZELOOTMA in your hex editor.
The text should be apparent as it is, which means you can see it, and edit it freely.
Edit ONLY the text you already see.
Example, do a Ctrl+F and look for Hyrule.
You will see some text, you can edit it as you wish.
You keep looking around you will see where the Deku Tree talks to link, and other things.
Now, some hex also determines when a new line is made in the text box, or when you have to press A, or anything.
Just look in the Dox I sent, and look in the 'Hex&Text' file, to find out what hex does what to text.
please, PLEASE, for sake of sanity, unless you know what the hell your doing, ONLY edit text.
Also, to make things easier, you can also find ZTE. Zelda Text Editor.
Its apparently a editor to edit zeldas text alot easier, I however have not been able to find a link that works to download it.
3-1 Graphics Masking
Many people would consider this actural graphics/texture hacking.
However, I dont, because the textures are not stored in rom.
Anyway lets continue.
Lets assume you have Rices Video (Up in the downloads section).
Install it, usually by putting some .dll's or something into the plugin folder of whatever emulator your using.
Lets assume you are also using Project64.
Go and let your Emulator use your plugin. do this by going into Settings, and somewhere itll say what video plugin to use. Just select Rice/Mudlord/Astinette/s video plugin. Not sure which will be on the list.
If there is a error, just hit okay if you can. Try to start the game, any game. When it boots up, go into Video Settings. Textures, and there should be a button on the bottom that says "Dump Textures" or something like that, Hit it, hit okay, then continue playing the game for a little while.
Again, if there are any errors, just click OK and keep playing IF YOU CAN. If not google the error, if any fixes turn up, good, if not, post here and ill try to help.
after you have played for a little while, minimize or close the game. Now, all of the textures you have seen in game, should be dumped in your emulators plugin folder. Like... C:\Program Files\Project64\Video\TEXTURE_DUMP\GAME1\TextureFolder1 or something like that.
Edit the textures as you please, do whatever you want to them.
Now, when your done. Go make a folder in Video named hires_texture. Then make a folder named GAME1 (TAKEN FROM MY EXAMPLE ABOVE) The folder in Texture Dump and hires_texture must be IDENTICAL, as in the NAMES of the FOLDERS. Lets say the folder in TEXTURE DUMP is called Game1. Then the folder in hires_texture must be Game1 as well.
Put your new textures in the game folder for hires_texture. Then start up the game. Go into Video Settings. Under Textures there should be a "Load Hirez textures if available" checkbox. Check it, hit OK. Now, the texture in game should be replaced with whatever textures you wanted.
4-1 Q&A (HALP?)
Q: Do all these programs work on Vista or other OS?
A: Not sure, All I have is Windows 7 Ultimate and XP Pro. But odds are there are a few things that dont work with vista (Just because its buggy like that) or some other OS.
Q: Will there be more faq in here soon?
A: Whenever I get in the mood to add onto this tut I will, otherwise, dont bug me about it.
Q: Can you make objects for OOT? Not just maps?
A: Yeah, if I know how to or not is a different story. I think I have a idea how, i'll test it sometime. But otherwise, no, I dont know how.
Q: Is there more varables then whats listed for actors?
A: You bet. There is still some that is undocumented, if you ever find anything interesting make sure to post here in this forum about it.
Q: After importing my map, I go to try and load the level and it simply doesnt load, halp?
A: Either 1. Too many polys in the map, and OOT hates it, and rejects it. Or 2. Too many actors/groups.
THIS JUST IN: Apparently sometimes the room loads depending on if your adult or child link. Oddly.
Q: You haven't updated or been on in a while! whats up?
A: More then likely I just lost interest. I am one of those people who holds interest for things for only a week or two. I will come back and update every now and then whenever I feel like it. I always regain my interest in things eventually because of a undone project.
PROTIP: The more im bothered to come back, the less and less I am inclined to come back.
Q: The textures come out like crap, urgh!
A: I told you. 32x32. Otherwise, This will happen if you just do 32x32 textures, yourll get this instead.
Of course some textures look best when NOT resized. Which sucks, I know. But this is all you got for now.
IDEA: How about making the texture. Then texture masking it with Rices plugin to fix it from being corrupted? Havent tried this yet, be my guest to try it and let me know how it turns out XP
Q: What numbers do I use when making map transitions?
A: Not sure, sorry pal.
Q: Whats the polygon limit on .obj's?
A: Not sure. there are alot of times that I made maps, they look epic, and im happy about them, but they dont work in game because they are too large.
So, dont make anything 'too' big, like, not big at all. Because yourll put alot of time and effort into something that wont work, lol.
Heres a few tips though;
1. Use Google Sketchup. If you need a Pro edition PM me.
Reason for this is because I know a few programs that for some reason divide each polygon into two. So your maps will come out more detailed, but this is bad, lol. Its a N64, you cant expect much detail anyway. And dividing polygons make the map 2x larger polygon wise. So...itll just make the map not work.
2. Whilest using Sketchup, make sure that you dont use the sandbox option very often. You can, just not alot. The sandbox option makes alot of polys.
Q: When importing maps, does it replace the map you want, or does it just add the map onto the rom somewhere?
A: It just puts the map in a random spot in the ROM where there is empty space. This means the map you 'replaced' is acturally still in rom.
Q: Why is it when I make custom maps, I cant open them in UoT?
A: The reason why is because for SOME REASON UoT wont read that the .zmap is in the rom. You can extract the zmap and zscene from it though. See 5-3
Q: How do I make the gibberish in the map select...not..gibberish?
A: Im sure there is alot of other ways, but the only one I know of is use a different graphics plugin other then Rices.
Q: Why is my textures all fucked up! I used the right size and everything!
A: I heard you need to use Rices Video Plugin but I never had this issue. If that doesnt fix it, post.
UPDATE: It seems my theory of 32x32 perfect textures was wrong. The textures are sinsitive to light and dark, if you make the image somewhat light, itll make it almost completely white in game. Just keep trying over and over, sometimes yourll get it.
Q: For some reason some of this is hard to understand. Any tips on a complete computer noob?
A: Its said that if you listen to soft music things can process though your brain better and smoother. So listen to some softish stuff. If you really truly cant understand it, try looking up Savestate hacking for some games. like Super Mario World, or Brainlord. Yourll learn some basic stuff pretty quickly when trying to learn to savestate hack.
At least on HEX anyway.
Q: I cant find the obj plugin for sketchup that works :C
A: I believe the Pro version comes with it by default. PM me.
Q: The water..I cant acturally see it.
A: Its a bug. Sorry. The water doesn't have textures.
Q: DUDE, im posting in your thread but you arnt helping!
A: D: Sorry, If you have a question, and I dont respond in 12 hours, feel free to email me at Frozen2Dream@hotmail.com.
Or add me to MSN with that email, im almost always on it, so I would respond to your email assuming im awake, if not ill respond once I get up.
Q: Im more of a visual person, can you make videos?
A: Yeah, im having one of my friends who knows a bit about OOT hacking make videos for me.
I dont acturally like letting people know my gender online. If I speak, itll give it away lmao.
Sorry to be weird, but id rather have my friend make videos explinaing the different sections sometime. Ill post links next to the sections when the videos are up.
MAYBE SOON. (As of 7/10/2010). MAYBE, anyone who has been lurking on here knows how often I just up and disappear. So dont hold your breath. but it does feel like a Priority right now.
5-2 Importing .Objs(for maps)
You can make your own maps, a little limited, but you can. Using Sketchup, or any other 3D editor.
I do recommend using sketchup because it doesnt rape polygons into splits, which makes more of a polygon count.
Let me forwarn you that the polygon count is limited. How much? No idea, just dont use alot. Yourll learn.
Its a N64 game anyway. Who needs really complex objects?
Anyway, to make new maps, simply make a object in any 3D editor, again, I recommend Google Sketchup.
Make it like a level.
If your going to texture it, best use 32x32 textures, otherwise itll look fucked up to high hell in game.
Export the .obj into the same place as Obj2Area.
Also move ZELOOTMA to it as well.
Now open it, itll ask for rom, for object, make sure to put .z64 and .obj as well, then itll ask for the scale.
Put whatever you think should work, if your level is tiny as hell, make a large scale.
I find myself using 100ish scale on a daily basis, so dont be afraid to try larger numbers.
Itll ask for the music hex, put 0x before the music. Like 0x1C (for dungeon/inside deku tree)
Itll ask what area to replace, to find what areas are what, look at Scene List Debug.doc.
Let me show you how the list works.
"01FC2000 01FCFA20- 000 Deku Tree"
The first two hex numbers, are where the map is stored in rom, ignore these for now.
Right now you want to focus on the "000"
So, lets say you put in "Area to replace: 000" That means now, if you try to walk into the deku tree, yourll walk into your map.
then itll ask for the number of actors and objects. Dont put too many, or itll make your map not load.
It will also ask for reverce faces and other such things, just put n.
Then go into your new map and test it out.
5-3 Editing Imported maps
NOTE: Right now I dont have access to the actural ZLE2, so im running off memory here. Dont get on my ass for being semi-wrong.
Download ZLE2.
How to use it for what we want should be easy enough.
The only thing you need/is required is ZLE2, and to be able to access the level in the emulator.
Open up ZLE2 Setup, tell it what emulator to use, what rom, etc etc.
Now open the actural ZLE2. Click "Run Rom" or something like that.
Now when the game starts, go to your level/area.
Now click the Dump button in ZLE2.
If it coughs a error, saying ROM/RAM pointers not found, or something like that. click the Find Rom/Ram buttons. Then click Dump again.
Now, where ZLE2 is, there should be a ??????-??????.zmap and ??????-??????.zscene.
For some reason, at least for me, UoT new doesnt seem to support zmap/zscene anymore :< So use the older UoT version I have linked in the Downloads.
Click Open in UoT. Click on "Open File Type" on the bottom or something like that. Then click Zmap/Zscene.
Now open your zscene and map, edit it as you wish like you would normally. (NOTE YOU CANT EDIT WATER(in UoT). AND TEXTURES MAY BE FUCKED UP IN IT. DONT WORRY ABOUT THIS)
Now, to put it back into the rom. Click save. Assuming you have UoT set up to save to your ROM, it will simply ask what address to put it at.
Itll ask for zmap, then zscene. (or the other way around? w/e)
To find out what address to import it, follow this:
The answer is in the file name. Lets say your zmap is 00391A0-003A000.zmap
Then you will want to import it back at 00391A0
Same with zscene. If it says 0022201-0022202.zscene
You want to import it at 0022201.
All done!
But wait, what about editing the water?
Thats what ZAPPY is for.
(I WILL REFINE THE INSTRUCTIONS BETTER LATER THEN I HAVE ACCESS TO MY PC)
Open the rom in zappy.
Then you can edit the water in that.
The ZAPPY THREAD can help on better instructions then this atm.
LEGEND:
*=uncomplete
-=Next priorty
#=Dont know how to do.
%=unable to do due to issues
Contents:
1-0 Getting Started and What You Need.
1-1 Dox.
2-0 Getting Started.
2-0-1 Actors&Groups/Objects.
2-0-2 Continuation.
2-1 Text Editing, what is HEX?
3-0 Graphics Editing.*
3-1 Graphics Masking.
4-0 Differences in UoT*
4-1 Q&A
5-0 Importing MM to OOT*
5-1 Importing SM64 to OOT%
5-2 Importing Objects (to maps) (Obj)
5-3 Editing Imported maps.
1-0 Getting Started and What You Need.
Mouse over words and yourll find the links.
A HEX Editor. Any will do, but the best free one for simple editing like seen here would be HxD
UoT. You can get the newest one to date and 0.90.4. Make sure to grab them both.
The .NET Framework 2.0 from Microsoft.
Python 2.5.4 and and the Vpython for that specfic package.
Pypng.
ZAPPY (A link that ISNT passworded... >.> ) MEDIAFIRE
ZLE
ZELOOTMA Debug Rom
Obj2AreaA importer to make .Objs into maps.
Rices Video 6.1.1 Beta 10 A video plugin that support texture masking.
My Dox 0.8 (A semi-complete collection of documents I have)
1-1 Dox
Most of the documents in my folder should be self-explainatory because of the names, but if its not, heres a list.
0.1 OOT obj listing.doc = A zobj listing for 1.0
Actor and Group list by location.txt = A list of actors and their groups by location.
Actor Format.doc = Some random info on actors.
Actor Listing2.doc = yet another actor list, its just to show where the actors are located in rom.
Adding Switches.doc = A small document on how to add switches.
Animation Format.doc = Some infomation on models and their animations.
Animation Mod.doc = More infomation about actors.
Build Dates.doc = minor infomation about ROMs and their release dates.
C Code Listing.doc = not 100% sure this is? I think its a list of all the C code in Zelda. Could be wrong.
Cens Notes.doc = some random crap I decided to save.
Chest Variable List.doc = Variables on Chests.
Code Notes.doc = alot of neat stuff. Lists on where the rupee worth is stored, colors for things, etc.
Color Mods.doc = Basic codes for 1.0U
Debug Rom Codes.doc = A few codes for the Debug Rom
Dungeon Keep.doc = Some more random shit.
E 1.0/1.1 Scene list = Self Explanatory.
File List.doc = A list of where things are in ROM.
Filename to Area Relations.doc = A list of what the names of some .zmaps are.
Filesystem.doc = Where the filesystem starts in different ROMs. Could help in converting codes maybe.
Filetypes Document.doc = A short document on what .zobjs/.zmaps/etc are.
Getting Debug rom to run.doc = You may want to read this if your just starting.
Infinate Item Cheat.doc = Codes for infinate Items
Interface Hacking.doc = How to hack the interface, I assume its for Debug Rom. Could be wrong though.
Item Codes.doc = List of the hex codes for Items on 1.0
Item Documentation.doc = just what it sounds like, a document on Items. For Debug rom.
Map Select Code.doc = Map select codes for the many Zelda games.
Map Select Translation.doc = Is the map select on Debug Rom gibberish to you? Here is a translation note.
Music Values.doc = Hex Values for all the music in OOT.
Name Table.doc = Just more filesystem shit.
Object Link Boy.doc = Offset listing for Object_Link_Boy.zobj
Object Link Child.doc Offset listing for Object_Link_Child.zobj
RAM Map.doc = A RAM map.
Room Data Pointers.doc = More Random crap.
Scene List Debug.doc = Scene numbers, offsets, and values. (WHEN IMPORTING MAPS, THE VALUES HERE ARE WHAT YOUR LOOKING FOR)
Text Control.doc = Just as it says.
U 1.0/2 Scene List.doc = Just as it says.
Varable List.doc = Random Varable list.
Whole Actor List.doc = When adding new actors, and groups, this list is what will help you in the longer run.
Zmap Offsets.doc = Finding Zmap offsets in ROM.
2-0 Getting Started
Hello there, wanna hack Ocarina of Time no doubt. There must be a reason your here.
Lets get to the very basics, using UoT. Since UoT for the most part, is a newbie friendly tool.
Open up the 'newer' version that you downloaded. The one thats not 0.90.4.
To File>Open Rom, and open up your downloaded ZELOOTMA.
Lets start with Levels. In the little menu to the left, there is Actor Models. Actor Code. Levels. and Others.
Just open Levels for now, and open up Spot04. Yourll see there is room 0/2. This is because some areas (like dungeons) have more then one room, obviously.
Just open up room 0 for now.
Do yourself a favor real fast, on the bottom right of the program, there is a "Camera Speed" Turn that down.
Now, on here you should see your whole level, Kokiri Forest.
The little squares are Actors. (Ill explain Actors and Groups/Objects soon) ignore them for now.
I will explain the tools to you. Take note that even I am still kinda learning some of the newer UoT, so there is still some I dont understand. Ill explain what I can.
On the right you have a menu, and above it many tabs to toy with.
You have Collision, Misc, Animations, Graphics, Actors, and Level Flags.
Go to Collision.
Collision is what makes the map walkable, or climbable.
If there was no collision, you would simply fall though the level as though it wasnt there.
So, here we see many options for coolision.
On the top of the screen there is a 'tools' menu, click it, go to 'mouse tool' > 'collision tri selector'
Now select many different parts of the ground/walls/etc yourll see that the options on the right change.
This is because different objects have different collision types.
Different collision types tell what it sounds like when you walk there, what it sounds like when you hit it with your sword, or anything.
even if you can climb on it or not, or if you can sink in it.
Water is not collision (I dont think, I could be wrong) Hince you cant see it in the collision editor.
I will handle how to edit water in ZAPPY later.
Note that I dont believe the 'values' or 'settings' for different collision are documented. (I WILL DOCUMENT THEM LATER MYSELF HOWEVER. HOW MUCH LATER? UNKNOWN) So if you want, take note of the values and settings of different collisions.
I dont fully understand the settings of collisions myself, I think the 'flags' tell what it sounds like, acts like, etc. Not sure though.
Not sure what the Variable setting does.
Exits, here we have exists. Some exists arnt just doors, some are collisions.
Like if you walk on the ground withen a collision triangle, you will go to a different map. (I think)
The value on exists however, I know close to nothing about. Like what number goes to what exit. I dont know any of this.
Lets go to another tab, Level Flags.
Here, it tells a few things about the level, or lets you do a few things to it.
Lets you change the time of day when the level is entered.
Usually on most levels, the time of day doesnt change, it just continues going like normal.
However, I guess you can force the day to change here.
You can also enter a music value. Of course different music values tell what music is in the level.
The music values are stored in Music Values.doc, in the documents I sent you.
2-0-1 Actors&Groups/Objects
Now, there is also something called Actors.
A actor is a object. A object as in... a sign. A person. A enemy. Almost everything is a actor.
Lets go to >Tools>Mouse>Actor Selector
Now go to links house, or, at least in front of it.
Now, click on the box in front of his house, the closest one. 0141 says what it is, 031F says what type it is of said number.
For example, there can be a 'rupee' object. Changing the varible can mean making it change what kinda rupee it is, or how it displays itself or anything.
A very good list of actors can be found in Whole Actor List.doc
Now, before you go all apeshit on some of the actors, turning them all into ganon or some crazy shit like that,read on for groups.
Groups are like...how sould I explain this..a placeholder for the types of actors.
or...something
PRETTY MUCH, You need the group of a actor, to display the actor.
Lets say you changed the actor in front of links house, to a Peahat.
You would not be able to see, or interact with the Peahat unless the Group for it was set.
You could set as many Peahat actors as you want once the group was set. But for now, the group isnt set, because of this, there will be no peahat to show.
Each room has its own groups, of course. But you can change the groups to make something else show.
A list of group numbers that are needed for actors can be found in the actor list I gave you a bit ago.
If you feel like you still dont understand groups or actors, go ahead and say so in a new post. I dont feel like I explained it right anyway, lol.
A maybe different explaination of Groups:
JUST A EXAMPLE. THE VALUES ARE FAKE.
Lets say the Actor # for kokiri girl is 0231.
The variableis 0001
And the group is 0031
So, you change a actor to 0231 in a fresh new level, and hope to see a kokiri girl walking around right?
Well, you wont see her right now, you know why? Because the Group isnt there.
In UoT, there is a dropdown menu of somekind with a list of groups.
If your on a new level, all the groups are usually 0000
Take one of the groups, and change it to 0031, then click apply. There, now you can put as many kokiri girls as you want and can see them.
You do NOT need as many groups as you do actors. for example, two kokiri girl actors, = two kokiri girl groups, right? Wrong. One group is enough for both the actors.
Now, a variableis a different type of said object.
By default, the variable setting for a actor should be 0000 or 0001.
But sometimes, they can be different.
Lets say you put down a rupee pickup. If you use 0001, the rupee would be green.
Now if you change that to 40, it could be red or a different type of that object.
NOTE THAT ALL THE NUMBER ABOVE ARE FAKE. Go look at the lists for the actural numbers.
Also, groups and objects mean apparently the same thing, fyi.
No, not actors, thats completely different.
Someone told me that Objects literly mean Groups.
2-0-2 Continuation
Now that you SHOULD have changing actors and groups, lets go onto something a little different.
On the left toolbar, go Actor Models>Object_Peahat
Obviously this is a peahat, you can see it, and it says it in the name.
Most Actor and map names arn't so obvious, if you want to find something specfic, find it yourself.
Now, on the old UoT you could warp and change the actors a little, as in the shape (I will cover that in 'Older UoT, The Differences')
It seems in the Newer UoT you can do things differently.
You can change the shape of things in this current UoT, its just shit because the cam moves with it and it gets annoying. Use the older UoT for model editing unless your doing advanced shit, k?
Just to let you know though, I have no idea what anything is in the newer Model Editor. Ill cover things more once I explore them myself.
Apparently though, in the graphics tab, you can view the different collisions (Thats right, Actors have collision as well) and the commands the actor runs? No idea.
There is also a Animations Tab to view the Animations for the Actor.
2-1 Text Editing&What is Hex?
Lets start off with the HEX part.
Have your trusty Hex editor handy? Good.
Now, hex is like numbers, but instead of going 0123456789 it goes 0123456789ABCDEF.
hex as in data, is just that, data.
Example. Make a new notepad, anywhere. Open up that notepad and type in. Aa Bb Zz 2; 'x
Now save that, now open up your HEX Editor and make it open up your new note.
Yourll find that on the Hex (Left) side, it should say..
41 61 20 42 62 20 5a 7a 20 32 3b 20 27 78
If you analize it at all, you should notice that 20 means space.
41 means A, 61 means a etc etc etc.
In most programs, or games, a hex number can reference anything.
Example is in the Music Document in ZELOOTMA.
02 doesnt mean any kind of 'text/number character'
It means 'This music will be played'
But it all depends on where the hex is. Otherwise, youd have a rom that would do nothing but display text.
now open up ZELOOTMA in your hex editor.
The text should be apparent as it is, which means you can see it, and edit it freely.
Edit ONLY the text you already see.
Example, do a Ctrl+F and look for Hyrule.
You will see some text, you can edit it as you wish.
You keep looking around you will see where the Deku Tree talks to link, and other things.
Now, some hex also determines when a new line is made in the text box, or when you have to press A, or anything.
Just look in the Dox I sent, and look in the 'Hex&Text' file, to find out what hex does what to text.
please, PLEASE, for sake of sanity, unless you know what the hell your doing, ONLY edit text.
Also, to make things easier, you can also find ZTE. Zelda Text Editor.
Its apparently a editor to edit zeldas text alot easier, I however have not been able to find a link that works to download it.
3-1 Graphics Masking
Many people would consider this actural graphics/texture hacking.
However, I dont, because the textures are not stored in rom.
Anyway lets continue.
Lets assume you have Rices Video (Up in the downloads section).
Install it, usually by putting some .dll's or something into the plugin folder of whatever emulator your using.
Lets assume you are also using Project64.
Go and let your Emulator use your plugin. do this by going into Settings, and somewhere itll say what video plugin to use. Just select Rice/Mudlord/Astinette/s video plugin. Not sure which will be on the list.
If there is a error, just hit okay if you can. Try to start the game, any game. When it boots up, go into Video Settings. Textures, and there should be a button on the bottom that says "Dump Textures" or something like that, Hit it, hit okay, then continue playing the game for a little while.
Again, if there are any errors, just click OK and keep playing IF YOU CAN. If not google the error, if any fixes turn up, good, if not, post here and ill try to help.
after you have played for a little while, minimize or close the game. Now, all of the textures you have seen in game, should be dumped in your emulators plugin folder. Like... C:\Program Files\Project64\Video\TEXTURE_DUMP\GAME1\TextureFolder1 or something like that.
Edit the textures as you please, do whatever you want to them.
Now, when your done. Go make a folder in Video named hires_texture. Then make a folder named GAME1 (TAKEN FROM MY EXAMPLE ABOVE) The folder in Texture Dump and hires_texture must be IDENTICAL, as in the NAMES of the FOLDERS. Lets say the folder in TEXTURE DUMP is called Game1. Then the folder in hires_texture must be Game1 as well.
Put your new textures in the game folder for hires_texture. Then start up the game. Go into Video Settings. Under Textures there should be a "Load Hirez textures if available" checkbox. Check it, hit OK. Now, the texture in game should be replaced with whatever textures you wanted.
4-1 Q&A (HALP?)
Q: Do all these programs work on Vista or other OS?
A: Not sure, All I have is Windows 7 Ultimate and XP Pro. But odds are there are a few things that dont work with vista (Just because its buggy like that) or some other OS.
Q: Will there be more faq in here soon?
A: Whenever I get in the mood to add onto this tut I will, otherwise, dont bug me about it.
Q: Can you make objects for OOT? Not just maps?
A: Yeah, if I know how to or not is a different story. I think I have a idea how, i'll test it sometime. But otherwise, no, I dont know how.
Q: Is there more varables then whats listed for actors?
A: You bet. There is still some that is undocumented, if you ever find anything interesting make sure to post here in this forum about it.
Q: After importing my map, I go to try and load the level and it simply doesnt load, halp?
A: Either 1. Too many polys in the map, and OOT hates it, and rejects it. Or 2. Too many actors/groups.
THIS JUST IN: Apparently sometimes the room loads depending on if your adult or child link. Oddly.
Q: You haven't updated or been on in a while! whats up?
A: More then likely I just lost interest. I am one of those people who holds interest for things for only a week or two. I will come back and update every now and then whenever I feel like it. I always regain my interest in things eventually because of a undone project.
PROTIP: The more im bothered to come back, the less and less I am inclined to come back.
Q: The textures come out like crap, urgh!
A: I told you. 32x32. Otherwise, This will happen if you just do 32x32 textures, yourll get this instead.
Of course some textures look best when NOT resized. Which sucks, I know. But this is all you got for now.
IDEA: How about making the texture. Then texture masking it with Rices plugin to fix it from being corrupted? Havent tried this yet, be my guest to try it and let me know how it turns out XP
Q: What numbers do I use when making map transitions?
A: Not sure, sorry pal.
Q: Whats the polygon limit on .obj's?
A: Not sure. there are alot of times that I made maps, they look epic, and im happy about them, but they dont work in game because they are too large.
So, dont make anything 'too' big, like, not big at all. Because yourll put alot of time and effort into something that wont work, lol.
Heres a few tips though;
1. Use Google Sketchup. If you need a Pro edition PM me.
Reason for this is because I know a few programs that for some reason divide each polygon into two. So your maps will come out more detailed, but this is bad, lol. Its a N64, you cant expect much detail anyway. And dividing polygons make the map 2x larger polygon wise. So...itll just make the map not work.
2. Whilest using Sketchup, make sure that you dont use the sandbox option very often. You can, just not alot. The sandbox option makes alot of polys.
Q: When importing maps, does it replace the map you want, or does it just add the map onto the rom somewhere?
A: It just puts the map in a random spot in the ROM where there is empty space. This means the map you 'replaced' is acturally still in rom.
Q: Why is it when I make custom maps, I cant open them in UoT?
A: The reason why is because for SOME REASON UoT wont read that the .zmap is in the rom. You can extract the zmap and zscene from it though. See 5-3
Q: How do I make the gibberish in the map select...not..gibberish?
A: Im sure there is alot of other ways, but the only one I know of is use a different graphics plugin other then Rices.
Q: Why is my textures all fucked up! I used the right size and everything!
A: I heard you need to use Rices Video Plugin but I never had this issue. If that doesnt fix it, post.
UPDATE: It seems my theory of 32x32 perfect textures was wrong. The textures are sinsitive to light and dark, if you make the image somewhat light, itll make it almost completely white in game. Just keep trying over and over, sometimes yourll get it.
Q: For some reason some of this is hard to understand. Any tips on a complete computer noob?
A: Its said that if you listen to soft music things can process though your brain better and smoother. So listen to some softish stuff. If you really truly cant understand it, try looking up Savestate hacking for some games. like Super Mario World, or Brainlord. Yourll learn some basic stuff pretty quickly when trying to learn to savestate hack.
At least on HEX anyway.
Q: I cant find the obj plugin for sketchup that works :C
A: I believe the Pro version comes with it by default. PM me.
Q: The water..I cant acturally see it.
A: Its a bug. Sorry. The water doesn't have textures.
Q: DUDE, im posting in your thread but you arnt helping!
A: D: Sorry, If you have a question, and I dont respond in 12 hours, feel free to email me at Frozen2Dream@hotmail.com.
Or add me to MSN with that email, im almost always on it, so I would respond to your email assuming im awake, if not ill respond once I get up.
Q: Im more of a visual person, can you make videos?
A: Yeah, im having one of my friends who knows a bit about OOT hacking make videos for me.
I dont acturally like letting people know my gender online. If I speak, itll give it away lmao.
Sorry to be weird, but id rather have my friend make videos explinaing the different sections sometime. Ill post links next to the sections when the videos are up.
MAYBE SOON. (As of 7/10/2010). MAYBE, anyone who has been lurking on here knows how often I just up and disappear. So dont hold your breath. but it does feel like a Priority right now.
5-2 Importing .Objs(for maps)
You can make your own maps, a little limited, but you can. Using Sketchup, or any other 3D editor.
I do recommend using sketchup because it doesnt rape polygons into splits, which makes more of a polygon count.
Let me forwarn you that the polygon count is limited. How much? No idea, just dont use alot. Yourll learn.
Its a N64 game anyway. Who needs really complex objects?
Anyway, to make new maps, simply make a object in any 3D editor, again, I recommend Google Sketchup.
Make it like a level.
If your going to texture it, best use 32x32 textures, otherwise itll look fucked up to high hell in game.
Export the .obj into the same place as Obj2Area.
Also move ZELOOTMA to it as well.
Now open it, itll ask for rom, for object, make sure to put .z64 and .obj as well, then itll ask for the scale.
Put whatever you think should work, if your level is tiny as hell, make a large scale.
I find myself using 100ish scale on a daily basis, so dont be afraid to try larger numbers.
Itll ask for the music hex, put 0x before the music. Like 0x1C (for dungeon/inside deku tree)
Itll ask what area to replace, to find what areas are what, look at Scene List Debug.doc.
Let me show you how the list works.
"01FC2000 01FCFA20- 000 Deku Tree"
The first two hex numbers, are where the map is stored in rom, ignore these for now.
Right now you want to focus on the "000"
So, lets say you put in "Area to replace: 000" That means now, if you try to walk into the deku tree, yourll walk into your map.
then itll ask for the number of actors and objects. Dont put too many, or itll make your map not load.
It will also ask for reverce faces and other such things, just put n.
Then go into your new map and test it out.
5-3 Editing Imported maps
NOTE: Right now I dont have access to the actural ZLE2, so im running off memory here. Dont get on my ass for being semi-wrong.
Download ZLE2.
How to use it for what we want should be easy enough.
The only thing you need/is required is ZLE2, and to be able to access the level in the emulator.
Open up ZLE2 Setup, tell it what emulator to use, what rom, etc etc.
Now open the actural ZLE2. Click "Run Rom" or something like that.
Now when the game starts, go to your level/area.
Now click the Dump button in ZLE2.
If it coughs a error, saying ROM/RAM pointers not found, or something like that. click the Find Rom/Ram buttons. Then click Dump again.
Now, where ZLE2 is, there should be a ??????-??????.zmap and ??????-??????.zscene.
For some reason, at least for me, UoT new doesnt seem to support zmap/zscene anymore :< So use the older UoT version I have linked in the Downloads.
Click Open in UoT. Click on "Open File Type" on the bottom or something like that. Then click Zmap/Zscene.
Now open your zscene and map, edit it as you wish like you would normally. (NOTE YOU CANT EDIT WATER(in UoT). AND TEXTURES MAY BE FUCKED UP IN IT. DONT WORRY ABOUT THIS)
Now, to put it back into the rom. Click save. Assuming you have UoT set up to save to your ROM, it will simply ask what address to put it at.
Itll ask for zmap, then zscene. (or the other way around? w/e)
To find out what address to import it, follow this:
The answer is in the file name. Lets say your zmap is 00391A0-003A000.zmap
Then you will want to import it back at 00391A0
Same with zscene. If it says 0022201-0022202.zscene
You want to import it at 0022201.
All done!
But wait, what about editing the water?
Thats what ZAPPY is for.
(I WILL REFINE THE INSTRUCTIONS BETTER LATER THEN I HAVE ACCESS TO MY PC)
Open the rom in zappy.
Then you can edit the water in that.
The ZAPPY THREAD can help on better instructions then this atm.