From CloudModding OoT Wiki
Actor 0x0018
ovl_En_Elf
Version VRom VRam Size
Debug 00DB8820 00DBD310 {{{ram-start}}} {{{ram-end}}} 4AF0
NTSC 1.0 00C233D0 00C27D90 {{{ram-start}}} {{{ram-end}}} 49C0
PAL MQ 00D5E210 00D62BD0 {{{ram-start}}} {{{ram-end}}} 49C0

ovl_En_Elf is the actor file for Navi and Small Fairies.

NTSC 1.0 Notes

80886284 - Assigns a random edging color to generic fairies
//A0 = Randomization type for color channel, 0-2. Data within byte array located at off 0x43D4?
//F0 = Returns color channel intensity

//Starts with jump table to set what randomization to use

62A0 // Type 0. Simply returns 0 as current color channel

62AC // Type 1.
//Randomly generates number between 0 and 55 exclusive, adds 200, returns as color channel

62D0 // Type 2. 
//Randomly generates number between 0 and 255 exclusive, returns as color channel

Data Block

Offset Type Description
file off
0x4494
float number of randomized "Kokiri" style fairy color types. Value = 11.99f. Used to generate a random number between 0-11.99f, then result is incremented by 1, cast to int, and used to index the edge color table.
file off
0x43D4
byte Randomized "Kokiri" style fairy edge "colors".

13 records (index 0 unused), 3 bytes per record. Each byte sets how the color channels will be randomized:

  • 0 = color channel is 0
  • 1 = color channel is randomized to 200-255
  • 2 = color channel is randomized to 0-255

Instance

0x244 float[3] = RGB color of outer edge of fairies
0x2B2 short = Timer until fairy disappears
0x2BC ptr = Instance Start Addr


Console Output Strings

Original Text
../z_en_elf.c0
../z_en_elf.c
../z_en_elf.c
z_common_data.memory.information.room_inf[127][ 0 ] = %d
../z_en_elf.c
../z_en_elf.c

Navi Timer Thing

Navi's appear timer is located at address 11A608 [NTSC 1.0].
It takes 600 frames for Navi to appear (30 seconds). 
It takes 3000 frames for the Navi Icon to disappear (2.5 minutes).
It takes 25800 frames for the Navi Icon to roll over to 0 (21.5 minutes). This means that it will take 19.5 minutes for Navi to re-appear without resetting the game, unless you talk to Navi.

The timer pauses whenever the Start Menu is open, or on touching an exit from the current scene.
If the timer is less than 3000 frames, it will reset to 0 on entering the next scene.
If you talk to Navi, the timer advances to 3000. If you do not leave the scene, the timer will freeze when it hits 25800 frames. 
The timer continues to count up even while in a scene that the Navi Icon will not normally pop up in.