Coder Social home page Coder Social logo

oot_mapext's Introduction

OoT_Map_Extractor


This is a map extractor for Zelda: Ocarina of Time. It will extract the .zscene file and any associated .zmap files for the given location. It will also create a .txt file that contains the start and end offsets for each map, as well as the scene itself.

The extractChest program will also provide a list of every chest the extractor found in the maps listed by map. This probably won't be too useful to anyone else (I'm using it for an OoT Item Randomiser), but I figured I'd include it anyway incase anyone wanted to learn from it. I wouldn't use this as "exceptional code to learn from" though, It's probably a really dumb way to go about doing this.


Compiling (Mac/Linux) [Choose one] : g++ -o Extract [extract.cpp/extractChest.cpp]

Compiling (Windows) : g++ -o Extract [extract.cpp/extractChest.cpp] -l ws2_32

You'll probably want MinGW for this if you're on Windows. That's what I used anyway.

If you don't know how to compile stuff on Windows (I sure didn't), oput the extractor folder on your desktop to make it easier to find, open up a command prompt (Press Windows, then type CMD), type cd Desktop/extractor (or whatever the extractor folder is called), then type the command above.


Usage: Extract [Name of file you want to create (ex: KokiriForest)] [Starting offset] [Ending offset] [Indoor/Outdoor (only checks for i/o)]

Notes: The filename can't have a space in it, you'll want to look at this site ( https://wiki.cloudmodding.com/oot/Scene_Table/NTSC_1.0 ) to find the start and end offsets, and the indoor/outdoor thing is because of how the filesystem works, I haven't found a way around that yet. If you want to know why the indoor/outdoor thing is important, there's a page about it on the same site as before, just search for "Finding zmap offsets" or something like up in the top right of that site.


Some general notes:

This is primarily made to work with the Utility of Time, which is a modding tool for OoT that allows you to look at the game and modify it kinda like a game engine (such as unreal or unity). I use the older version that takes zmaps and zscenes, because that's the only one I could get to work. I can't remember where I got it, but I think it was linked in a YouTube video, so just watch literally all of YouTube, and click every link you see until you find it.

You'll need a NTSC v1.0 ROM of OoT, and you'll need a decoder to decode the ROM (I suggest this one: http://www.mediafire.com/file/od4y72l0r57d7tl/newdec.7z ). This won't work with an encoded copy. You’ll also need to either rename the ROM to “ZOOTDEC.z64” (without the quotes), or change a few lines in the code.. Basically anywhere you see “ZOOTDEC.z64”. There’s one near the top, and then a few more at the bottom. This is because I didn't want to type out the name of the file every time I went to extract a map, so I just hardcoded the name in.

If you're on a Mac, and g++ doesn't work for you, you may need to install it using "sudo get-apt g++", then it should ask you for an administrator password. I don't know if it works like that on Mac, I've never really used one, but I think that'll work.

Honestly, there's some much better extractors out there if you actually want to extract maps from the game, but the one I used named the files by their offsets, which made them a pain to use, so I wrote my own.

oot_mapext's People

Contributors

cmuncey avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

oot_mapext's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.