If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!
Prerelease:The Legend of Zelda: Ocarina of Time/iQue
This is a sub-page of Prerelease:The Legend of Zelda: Ocarina of Time.
| To do: Sort and move content into subpages for better readability. |
On July 25, 2020, development resources for a number of first- and third-party Nintendo games, including Ocarina of Time, were leaked on 4chan. The files seem to have been resources sent by Nintendo to iQue in order to help them develop the iQue port of the game. Lucky us!
Contents
Subpages
| Player Abilities Various references to removed abilities. |
| Compass Display The remnants of an old patent still lurk in the source files... |
| Early Flag List Old plot progression and cut events ahoy! |
| Early Text Routine A much more cumbersome way of handling dialogue. |
Actors, Objects, and Animations
| Unused Actors & Objects Some of the earliest content ever made for the game. |
| Unused Textures Here lie the remnants of development past... |
| Removed Display Lists Various references to removed parts of model files. |
| Removed Link Animations 129 removed or duplicate animations. |
| Unused Cutscenes Grab some popcorn and watch! |
Maps
| 3D Maps Unused and alternate 3D maps. |
| File Select Map A very, very early Map Select. |
| Prerenders Unused and early versions of prerendered maps. |
| Alternate Scene Setups Lots of interesting actor and object setups. |
| Removed Maps Various references to removed maps. |
Text
| Text Comments Comments from the developers shine light on unused text. |
| Commit Logs Take a deep dive into the development history. |
| Early File List An early file list that looks to date from around May 1997. |
Early Fishing Experiment
| To do: Is it possible to get this working? |
The file z_actor.h in the folder z_ocarina2 contains the following commit log note:
* Revision 1.204 1998-04-09 23:36:13+09 morita * For those who want to know the secrets of the secret project I'm * working on, put 1 in SEX(69) (using controller 2, hold R and press * L 6 times), then select "79: Water Temple Boss".... * When you do... there are details on the control scheme in * /home/morita/JOY_FILES/secret.lst
The source code indicates that a memory register called SEX, known as "Rs" in the Debug ROM, was named by Kazuaki Morita. Morita is credited with the programming the bosses in Ocarina of Time. Additionally, according to an Iwata Asks interview celebrating the release of Ocarina of Time 3D, the Fishing Pond was also his side project and brain child.
Morita: The Water Temple is in Lake Hylia. Aonuma-san designed that dungeon. The boss that appears there is Morpha. Just when I was making that, there was a landform like a pool.
Iwata: Morpha rises up out of the pool and fights Link.
Morita: Right. When I was making that boss, I casually…
Iwata: "Casually"? (laughs) I doubt you had that kind of time!
Morita: But for some reason I did. (laughs)
Morita: I just happened to have a model of a fish, so…
Iwata: You "just happened" to have it? (laughs)
Morita: Yes! (laughs) A model of a fish for putting in an empty bottle. I borrowed that and had it swim in the pool in the dungeon, and when I saw it swimming around, I thought, "Oh! I can go fishing!"
Iwata: What did you do for a fishing pole?
Morita: I took the model for something and made it a cylinder, and then… (gestures as if casting a fishing pole)
Haruhana: You used the motion for Link swinging his sword.
The aforementioned note seems to be instructions from Morita to the other staff for checking out the in-progress version of the fishing functionality he was working on. Following the instructions in the note verbatim produces no noticeable results upon entering Morpha's boss room from the Map Select screen, regardless of Link's age. Even with SEX69 (Rs69) [no comment...] set to 1, the Morpha battle starts as normal. This may indicate that the "secret" that was accessible via this method may have been removed sometime in the 7 months between the commit log note and the game's release.
However, one additional point to keep in mind is that the Water Temple boss is now number 80 in the Map Select options, while the Water Temple is number 79. This may indicate that Morita's fishing preview was created at a time before the boss rooms were split off from their Temples into separate map files, as they are in the final game. As such, if one were to attempt to enter Room 0x16 of the Water Temple (the boss transition room) without automatically being loaded into the map file for Morpha's boss room in the final game, one could still see the intended effect.
Spawn An Arwing
| To do: Add the chest spawn stuff from Link's actor, too. |
The source code indicates that a memory register called KAZ, known as "RK" in the Debug ROM, was named after Kazuaki Morita. Morita is credited with the programming the bosses in Ocarina of Time.
A file called z_actor.c in the folder z_ocarina2 contains the following code used for spawning the Arwing.
#ifndef DEBUG_MODE_NOINPUT
if(KAZ(0) == -100) { /* Treasure Chest Fail Test */
Player_actor *pla = (Player_actor *)get_player_actor(game_play);
KAZ(0) = 0;
/* Secret Set */
Actor_info_make_actor(&game_play->actor_info,
(Game *)game_play,
En_Clear_Tag,
pla->actor.world.position.x,
pla->actor.world.position.y + 100.0f,
pla->actor.world.position.z,
0,
0,
0,
1);
}
#endif
As it suggests, setting KAZ00 (RK00) to -100 spawns an Arwing above the player, then rolls the value back around to 0.
Items
z_parameter_h.h contains early names for some items, as well as identifications for others that were dummied out of the final item list.
| z_parameter_h.h | ||||
|---|---|---|---|---|
| ID | Filename | Description | Translation | Final Name |
| 0A | H_S_hookshot | 10『ショート・フックショット』 | 10: "Short Hookshot" | Hookshot |
| 0B | H_L_hookshot | 11『ロング・フックショット』 | 11: "Long Hookshot" | Longshot |
| 0F | H_magicglass | 15『まことの虫メガネ』 | 15: "Magnifying Glass of Truth" | Lens of Truth |
| 1B | H_bottle_7 | 27『ルトの手紙』 | 27: "Ruto's Letter" | Letter |
| 1C | H_bottle_8 | 28『炎』 | 28: "Fire" | Blue Fire |
| 37 | H_reserve_30 | 55 大人『ゴロン刀引換券』 | 55: Adult "Goron's Sword Claim Check" | Claim Check |
| 3B | H_sword_0 | 59『ナイフ』 | 59: "Knife" | Kokiri Sword |
| 50 | H_bracelet | 80『銅のブレスレット』 | 80: "Bronze Bracelet" | Goron's Bracelet |
| 56 | H_purse_2 | 86『大人のがま口』 | 86: "Adult's Purse" | Adult's Wallet |
| 57 | H_purse_3 | 87『大金持ちがま口』 | 87: "Wealthy Man's Purse" | Giant's Wallet |
| 5A | H_melody_1 | 90『風のメヌエット』 | 90: "Minuet of Wind" | Minuet of Forest |
| 66 | H_seal_medal_1 | 102『サリアの封印』 | 102: "Saria's Seal" | Forest Medallion |
| 67 | H_seal_medal_2 | 103『ダルニアの封印』 | 103: "Darunia's Seal" | Fire Medallion |
| 68 | H_seal_medal_3 | 104『ルトの封印』 | 104: "Ruto's Seal" | Water Medallion |
| 69 | H_seal_medal_4 | 105『ナボールの封印』 | 105: "Nabooru's Seal" | Spirit Medallion |
| 6A | H_seal_medal_5 | 106『インパの封印』 | 106: "Impa's Seal" | Shadow Medallion |
| 6B | H_seal_medal_6 | 107『ラウルの封印』 | 107: "Rauru's Seal" | Light Medallion |
| 71 | H_N_coin | 113『Nコイン』 | 113: "N Coin" | Gold Skulltula |
| 76 | H_map | 118『マップ』 | 118: "Map" | Dungeon Map |
| 77 | H_key | 119『ダンジョンの鍵』*/ | 119: "Dungeon Key" | Small Key |
| 7A | H_heart_1 | 122『ハートの欠片(1/4)』 | 122: "Piece of Heart (1/4)" | Piece of Heart |
| 7B | H_heart_2 | 123『ハートの欠片(2/4)』 | 123: "Piece of Heart (2/4)" | [Removed] |
| 7C | H_heart_3 | 124『ハートの欠片(3/4)』 | 124: "Piece of Heart (3/4)" | [Removed] |
| 7D | H_note_1 | 125『音符:上』 | 125: "Note: Up" | [Removed] |
| 7E | H_note_2 | 126『音符:下』 | 126: "Note: Down" | [Removed] |
| 7F | H_note_3 | 127『音符:左』 | 127: "Note: Left" | [Removed] |
| 80 | H_note_4 | 128『音符:右』 | 128: "Note: Right" | [Removed] |
| 81 | H_note_5 | 129『音符:A』 | 129: "Note: A" | [Removed] |
| 87 | H_rupy03 | 135『大ルピー(50ルピー)』 | 135: "Big Rupee (50 Rupees)" | Purple Rupee |
| 89 | H_rupy05 | 137『銀のルピー(10ルピー)』 | 137: "Silver Rupee (10 Rupees)" | [Removed] |
Additionally, Silver Rupees are worth 5, not 10, in the final game.
Music
| To do: Volunteers with keen ears can help determine what is causing the byte differences in particular tracks. |
They're not new masterpieces from Koji Kondo, but near-final music sequences exist in z_ocarina/data/ZeldaAudio_music.o. Rather then having new melodies, small differences can be heard in the notes of a few tracks. These are very close to the final sequences used in z_ocarina/data/lib/ZeldaAudio_music.o.
Water Temple
Around 0:39 in the track, the dulcimer seems to be louder and more staccato.
Ura Zelda Leftovers
xxx
Lodgenet Gateway Build Info
| To do: Thoroughly research all references to GATEWAY_VERSION. |
Lodgenet was a service predominately used in North America that allowed hotel guests to play Nintendo 64 games from their rooms. Each game featured on Lodgenet had to follow a list of guidelines to be published to the service, namely remove the ability to save and remove multiplayer features (as can be seen in this Star Fox 64 video). The Ocarina of Time Gateway version is technically the only released version of OoT that has yet to be documented and analyzed. Thanks to build information found in the source listed as GATEWAY_VERSION, it offers insight of what was included in this undocumented build.
Here is a function to clear the saves for Lodgenet usersː
# endif /* GATEWAY_VERSION /
/ ゲーム前CLEAR─RAM /
ZCommonSet(game_info.restart_flag, 0);
ZCommonSet(game_info.restart_data[0].scene, -1);
ZCommonSet(old_bgm, 255);
ZCommonSet(old_env, 255);
ZCommonSet(game_info.name_display, ON);
ZCommonSet(game_info.dog_flag, 0);
ZCommonSet( event_fg, Event_MD0 );
ZCommonSet( total_event_fg, TEvent_MD0 );
ZCommonSet(event_inf[0], 0);
ZCommonSet(event_inf[1], 0);
ZCommonSet(event_inf[2], 0);
ZCommonSet(event_inf[3], 0);
ZCommonSet(last_time_type, 50);
ZCommonSet(game_info.shield_magic_timer, 0);
ZCommonSet(life_mode, 0);
ZCommonSet(magic_flag, 0);
ZCommonSet(keep_magic_flag, 0);
/[ファイル選択時 に お願いしたい物]*/
ZCommonSet( NottoriBgm, 0 );
ZCommonSet( kankyo_time, 0 );
ZCommonSet( next_wipe, 0xff );
ZCommonSet( next_daytime, 0xffef );
ZCommonSet( doukidemo, 0 );
ZCommonSet( Kenjya_no, 0 );
ZCommonSet( next_zelda_time, 0xffff );
ZCommonSet( game_info.next_walk, 0 );
According to the section "ロムヘッダ定義(仮)" (ROM Header Definition (Temporary)) in GNUmakefile,v the initialization for the PAL Gateway version is NZLL, while the default Gateway version is CZLG. In comparison, the codes for the other versions of the final game are CZLJ (Japan), CZLE (North America), and NZLP (PAL).
ROM Versions
- ROM_C: C++ ROM
- ROM_D: Debug ROM for use on an emulator board
- ROM_F: Final ROM
- ROM_S: Show ROM
- ROM_X: Debug ROM for use on real hardware
