by Nokaubure at 08-02-2018, 02:06 PM
I'm doing a series of tutorials for SharpOcarina, only 2 parts for now

Part 1: Your first custom map



by Stanleyblade at 06-29-2018, 03:18 AM
Which stage on scene navi is Adult Link's stage after beating the forest temple?

Because its not the enemy one which is stage 1. Would it be stage 2 or perhaps higher?

And also another question not related to the topic. Can you have 2 night time gold skelltulas not take up the same flag? Because a gold skeltulla that hsd variable of 3D04 conflicted with a 3D0C. Since this is Kokiri forest, would 3E04 not work? And how about bean sprout skelltula? I got 2 in the room but 1 sets the other.

And does that enemy count to a permanent flag so for example, actor 1 bronze boulder of 800C, when blown up, will Gold Sketullta 3D0C still be able to be obtainable when I reenter the room after the rock is gone
by Ostrealava02 at 06-14-2018, 01:32 PM
"The dmadata file consists of a table of records for every file in the game (including itself)."

The dmadata need to be updated for compressed ROM to be working correctly.
It contains every files of the game. (Scenes, Rooms, Objects, Actors etc..)
That means every single file you edited need to be updated in the dmadata ONLY if the size of the file is not the same as the original one.

Example:


Injecting a custom map (let's say 1 scene and 2 rooms) over Goron City. 

Goron City Scene size: A450
Goron City Room0 size: 127D0
Goron City Room1 size: 4200

New map Scene size: C850
New map Room0 size: 87A0
New map Room1 size: B990

As you can see, sizes are not matching between Goron City and the new map and you need to update the dmadata.
You can see size's file by saving binary and opening them in a hex editor.

How do I find my file in the dmadata?


The following table tells where the dmadata starts for each version of OoT

[Image: 6Qd52ss.png]

Each entry in the dmadata follow this form: XX XX XX XX YY YY YY YY XX XX XX XX 00 00 00 00

X: Start Offset of the file.
Y: End Offset of the file.

Finding the file in the data is pretty simple, for the next example I'll be using a hex editor (XVI32) and the Debug ROM.

Open your ROM.

[Image: rqGdJz1.png]

Use the "Find" tool and search for the Start offset and the End offset of the file you want to edit.


Goron City Scene start offset: 02A8F000
Goron City Scene end offset: 02A99450

That means you have to find the following hex string: 02 A8 F0 00 02 A9 94 50 02 A8 F0 00 00 00 00 00

[Image: G099rV4.png]

Here it is.

[Image: Ztp5GZ4.png]

Now edit the new Start offset and the new End offset.
Since I injected a new map at the same Start offset, I just need to edit the new End offset.

[Image: 1qTitiT.png]

Done! 

This was only the Goron City scene, repeat for each files you have modified (such as rooms).

Documentation:

File List Debug: https://wiki.cloudmodding.com/oot/File_List/Debug
File List 1.0: https://wiki.cloudmodding.com/oot/File_List/NTSC_1.0
Filesystem: https://wiki.cloudmodding.com/oot/Filesystem

dmadata table picture and quote from wiki.cloudmodding.com/

Thanks to Nokaubure.
by mendaix at 06-11-2018, 09:54 PM
When it was created: November/18th/2015


This topic's utility is to collect a large amount of documentation about every actor, the main goal is to find what each variable possibility do on all the actors.

You want to help?
Tell me which actor (a description or the Actor number), tell me the variable(s) that you know, I verify if they work like you told me and I will add your knowledge and then I will credit you in the Documentation Variables of Actor list.

Information about...
Switch flag:
In Majora's Mask and Ocarina of Time, the Switch flag is one of the most importants things in the game, how it works?
An actor can check if a Switch flag is on or off and the actor acts depending of that, in almost every actor, we can choose the Switch flag number but there is something to not forget, a Switch flag works within the whole scene, if you have an actor activating the Switch flag 00 in the Room 0 and a door in the Room 4 that is only opened when the Switch flag 00 is on it will works but the vast majority of Zelda games never does that.
Something that may be overlooked, the Switch flag acts differently if you choose its number in a precise way:
Permanent Switch flags, stay on until you turn them off = 00-3F in Majora's Mask (00-1F in Ocarina of Time)
Temporary Switch flags, stay on until you, have a game over, leave the scene, turn them off = 40-5F in Majora's Mask (20-37 in Ocarina of Time)
Local Switch flags, stay on until you, leave the room, turn them off = 60-7F in Majora's Mask (38-3F in Ocarina of Time)

Documentation Variables of Actor list:
...

Thanks for reading!
by Cado96 at 05-07-2018, 03:27 AM
This is meant to be a comprehensive guide on the usage of xdaniel's Sharp Ocarina, more recently updated by Nokabure.

First we're going to need to create a map to import of course.

[Image: Capture.png]

Once we have our map created, we're going to need to make everything one group. (Or object as Blender refers to them as), this should reduce lag in game.

In Blender it will look something like this.
[Image: Capture.png]

Now that that is done we are going to have to make groups for things that only actually need to be grouped. In Sharp Ocarina we will be able to make the water in this map transparent and animated, so that needs to be a separate group.


[Image: Capture.png]

Now that we have separated anything that strictly needs to be grouped, we need create a collision model. Basically the way OoT works is that there is one model that is loaded that is what the player actually sees, and another that is what the player can walk on and interact with, which is called the collision model. In this case if we were to import the same collision model and the same visual model Link would walk on top of the water, so this needs to be removed for our collision model.

Now that you have the two models you will need to export both as a Wavefront OBJ.

Make sure to triangulate all faces when exporting, if you're using Blender your settings should look like this.
[Image: Capture.png]

Also if you're using Sketchup they should look like this.

[Image: Capture.png]

Now that that is all done we're ready to import.

---------------------------------------------------------------------

Open Sharp Ocarina and go to File > New Scene

It should look something like this.

[Image: Capture.png]

First name the scene if you would like, then set the special object to Dungeon if you're creating a dungeon, or overworld if this is an overworld map.

Then import your collision model.

If you intend to have animated textures like water set the scene function to use animated textures.

Now go over to the room tab.

Rooms ---------------------

Now go over to the room tab.

Go over here to where it says "Add Room" and load the visual model.

[Image: Capture.png]

Now that you have imported your model you should see all the groups you created earlier.

[Image: Capture.png]

For our water group we can enable transparency by lowering the alpha value, and we can also make it animate by checking the "Animated" box.

Waterboxes ---------------------

Currently if we were to import our map into the game Link wouldn't actually swim in the water, so to fix this we need to go back to the general tab.

Here we can add a waterbox to our map.

[Image: Capture.png]

As you can probably tell, the waterbox is too large and is not in the correct place, so we need to adjust the X and Z size, while also changing the X, Y, and Z positions.

Once you have configured the waterbox how you like, set the "Room:" value to 00.

And there we go!
[Image: Capture.png]

Scene Environment---------------------

Now that we're done with that we can head over to the Scene Environment tab. Everything here is pretty self explanatory, set everything to be how you like.

[Image: Capture.png]

Here is what I ended up with.

Room Environment---------------------

Now let's take a lot at the Room Environment tab. Everything here also kind of explains itself. If you want time to be frozen in your map set "Time Speed:" to 00.

[Image: Capture.png]

And there we go.


Objects and Actors---------------------

Now time for the fun part, adding actors. Actors are going to be the enemies, NPCs, cuccos, Trees, you name it that will be in our map.

[Image: Capture.png]
To add an actor simply hit the "Add" button in the Actor section.

Now that our actor is added into the map we need to define what the actor actually is. To do so hit this button that kind of looks like a Mario pipe.

[Image: Capture.png]

This will open up a window where you can choose which actor you would like. Once you are done with that you can move the actor around by changing it's X, Y, and Z positions.

---------------------------------------------------------------------


Once you have finished adding actors in to your map you are finally ready to see your model in game! Go to File > Inject to ROM, and choose your OoT Debug ROM that you want to inject to. Sharp Ocarina will automatically add the objects that the actors need and inject your map into the ROM.

By default Sharp Ocarina will inject to Room 117 on the Map Select Screen.

[Image: Capture.png]
And here we are!
[Image: Capture.png]

[Image: Capture.png]

Hopefully this guide was useful, if you have any suggestions please let me know!
by mzxrules at 04-16-2018, 12:27 AM
Presenting Atom for Windows 10: 

http://www.mediafire.com/file/qg21vdiwv4...8-04-15.7z

Atom is intended to be the ultimate all in one tool for creating custom overlays for the Zelda64 engine. While it's not quite there yet, I'd like to release what I have right now.

Atom is capable of generating a complete disassembly of NTSC 1.0 and the Debug Rom, and a partial disassembly of Majora's Mask J 1.0. Overlay disassemblies generated by this program are compatible with gcc, unless you specify the more readable option.

More importantly, Atom is capable of converting an elf object file (.o) into an overlay. From my testing, a binary generated from converting an overlay -> assembly -> .o -> overlay is functionally identical to the original, with only small parts of relocation data shifted around.

In order to disassemble a rom, or disassemble a single overlay from a rom, you must use the path command to set up the location of the rom you want to disassemble. This will create/modify a file called rom_path.xml. Once that's done, you can re-run the program and simply provide the gameid and versionid parameters to reference the rom of your choice when using the other commands.

for the gameid parameter, use "oot" or "mm" to represent Ocarina of Time or Majora's Mask. 

for the versionid parameter, the following ids are supported for Ocarina of Time:

N0, //NTSC 1.0
N1, //NTSC 1.1
N2, //NTSC 1.2

P0, //PAL 1.0 
P1, //PAL 1.1

GCJ, //NTSC-J GCN
GCU, //NTSC-U GCN
GCP, //PAL GCN

MQJ, //NTSC-J GCN MQ
MQU, //NTSC-U GCN MQ
MQP, //PAL GCN MQ

DBGMQ, //PAL MQ Debug

For Majora's Mask, the following ids are supported:

J0,
J1,
U0,
P0,
P1,
GCJ,
GCU,
GCP,
DBG,

For converting elf object files into overlays, there are two commands: ovl and script.

ovl is pretty straightforward, but with the additional hidden feature in that if the symbol "initVars" appears in the object file, it will report back the address that the symbol was relocated to. 

script allows for the automatic conversion of an elf file and injection the resultant overlay file into a rom. There are no safety checks performed to make sure that you injection addresses are accurate, so backing up your rom before injection is highly recommended.

the script format itself is actually a very simple xml format. the newscript command will generate "dummy.xml" which contains an example of all the parameters needed for the injection process.

One feature of the elf -> ovl conversion is that in theory, you can define your own custom sections provided that they begin with .text, .data, .rodata, and possibly .bss
by Cember at 03-26-2018, 12:07 AM
Let's be real, game design has been a hot topic among games over the past couple years and the Legend of Zelda has been a big part of the discussion through it all. It's a series full of interesting puzzles and design quirks that's spanned, like, 30 years or something, so naturally it's gonna spark some opinions. 

So, what are your opinions? On the design of Zelda/Ocarina of Time?  Are there any things you like, or dislike, or are there certain aspects of the game/s where you think things could have been improved? 

Maybe you've even got a couple puzzle and design ideas of your own rolling around in your head? C'mon! I know you do! Even if OOT is a game we don't fully understand how to modify yet, it's still fun to just discuss and talk about these things and what we could possibly do with this ~20 year old game. Feel free to share!
by Rinku at 03-21-2018, 07:48 AM
Hey there,

Just wanted to ask, are there still people into mapping (as in, actively creating 3D maps/dungeons and importing them into the game)?
I used to make some maps back then when I was into Z64 hacking a few years ago. They weren't meant for a game though, I used them to test and document things to contribute to the wiki.

Now, I would like to try out that neat new SharpOcarina version. The thing is, I can't manage to import my map. Back then I was using the old SharpOcarina by xdaniel, and probably an old version of Sketchup, too, and some .obj exporter plugin.

Now, I have Sketchup 2015 and I tried a few free .obj plugins, but everytime I import it into SharpOcarina, nothing happens (checked for collision, too, but nothing's there, and when I add rooms with textures nothing happens either, the only visible thing is Link's spawnpoint).
I also tried to export .dae from Sketchup and import and convert it to .obj with blender (I can't use blender except for that conversion thing), which works wonder for Banjo-Kazooie hacking but here it's without results.
I don't want to buy Sketchup Pro to get that official .obj exporter, either.

Recently, I've seen some guy named JeddyDee on Youtube who seems to be quite active in mapping. So, I wanted to ask, if there's anyone around who's still into creating maps:

Which 3D modeling tool are you using?
If you are using Sketchup, which version are you using?
And do you recommend (and maybe mind to share) any good free .obj plugin that produces nice results compatible with the new SharpOcarina?

Thank you so much!
by Nokaubure at 03-11-2018, 01:07 PM
Just a reupload because I can't find it anywere on the internet

https://mega.nz/#!fchzzLiC!BJ0MuiE98s2jt4bmXnuD7_00LcbfcJB8_6hXJQriOeQ

Added an example of usage in launch.bat

This tool was made by Spinout
by Copen-08 at 02-23-2018, 12:24 AM
Hey, all. What are you guys working on outside of the Zelda Modding scene?

I'm working on a few cool projects myself. One of which is a free input library that hopes to make Unity3D not have bad Input systems. Here's a link if you guys want to check it out: https://github.com/Copen-08/ZeroInput

How about you guys? Working on anything cool?
Welcome, Guest
You have to register before you can post on our site.
Username/Email:

Password


Login
Search Forums

Forum Statistics
Members: 211
Latest member: SsjGodBeast
Forum threads: 47
Forum posts: 119
Online Users
There are currently 8 online users.
0 Member(s) | 8 Guest(s)