Post by dororo on Feb 1, 2010 18:23:27 GMT -5
Please post anything I may have missed, preferably with a summary and a link to download as well, thank you.
Global Pre-requisites: Zelda Debug ROM[/u][/i]
Types of modifications:
- Graphical
Model editing, texture editing, no program to edit animations yet..?
- Musical
Music importing, can't change instrument sets yet...?
- Levels
Level editing, Level importing (from Majora's Mask), Level addition, Actor replacement/addition
- Story
Text editing
- Misc cool stuff
Spinout's portals --- glitchkill.proboards.com/index.cgi?board=tuts2&action=display&thread=3764
Editing existing Ocarina songs --- glitchkill.proboards.com/index.cgi?board=tuts2&action=display&thread=3948
Shop Hacking --- glitchkill.proboards.com/index.cgi?board=tuts2&action=display&thread=3552
===Graphical===
Programs:
- Utility of Time
- Spinout's obj import python script
- 1964Video Plugin
Utility of Time
Features: Model editing (vertices), texture editing
Dependencies: None. objs/zmaps/zscenes ripped from debug ROM and can be re-injected at will.
DOWNLOAD: www.filefront.com/15479735/UoT_0.90b4.rar
Spinout's obj import python script
Features: Ability to import wavefront .obj files (e.g. from Google Sketch-Up) to Zelda.
Dependencies: Python, ZLE Collision Fixer.exe
DOWNLOAD: Broken - Spinout's website is down?
1964Video Plugin
Features: Hi-resolution textures. Texture dumping/injection; without messing with ROM.
Dependencies: Windows-based emulators with plugin support (e.g. 1964, Project 64)
DOWNLOAD: www.filefront.com/15480269/1964Video.dll
Additional Links: www.emutalk.net/showthread.php?p=427121 (can download the plugin from here too!)
===Musical===[/u]
Programs:
- mml2m64
- z64_insert_seq
- tinymm
- GZRT (CRC checks)
- Utility of Time
- Generic Hex Editor (HxD, XVI32)
Changing existing music in different levels
Utility of Time
Features: Ability to change the music played on a level.
Generic Hex Editor
Features: Ability to add music to levels without music.
1) open the zscene file in a hex editor
2) if the first byte is 15
a) change the 6th byte to 13 and the 7th byte to the song value (it may be the Fth byte for the song so
experiment)
3) if the first byte is 18
a) change the 7th byte to 70 and the 8th byte to 15 now edit the Fth byte to a song value
Back up your work just in case ppl. And try 02 for the music byte to start off with. Its Hyrule field and I figured it is one youll easily recognize.
Credit goes to Haddockd and DeathBasket.
Inserting new music into Zelda
Pre-requisites:
-A MIDI file of choice
-mml2m64 - DOWNLOAD: www.filefront.com/15480851/%5B589%5Dmml2m640.1b_fixed.zip
-z64_insert_seq DOWNLOAD: www.filefront.com/15480917/z64_insert_seq.zip
-tinymm - DOWNLOAD: www.filefront.com/15480867/tinymm.zip
-GZRT - DOWNLOAD: www.filefront.com/15480793/gzrt-win32-v0.3-pre.7z
1. Run the MIDI file through tinymm. (drag/drop file onto the .exe)
2. Run the .mml file through mmlfixer. (drag/drop file onto the .exe)
3. Open the .mml in Notepad and change the channel headers as specified in the readme for mml2m64. Adding instrument channels here using @1 for example is recommended.
4. Open cmd prompt, run mml2m64 with the .mml and the parameter -zelda to convert it to a .zseq file.
5. Run z64_insert_seq in cmd prompt, specifying the .zseq, rom file and sequence number to replace (get these numbers at: web.archive.org/web/20080213144845/http://zso.krahs-emag.com/codes/codeinfo.html#musicmod -- NOTE: When running z64_insert_seq, the number must be in DECIMAL, not hexadecimal so you will need to convert it!)
6. If prompted to by z64_insert_seq, run the ROM through GZRT.
7. Open GZRT, open the ROM, Tool > CRC Fix > Apply. Failure to do this will corrupt your ROM.
Note: Odds are it will sound horrible, you can change the instruments to get it sounding better, a list of known channels with instrument numbers will be needed in the future. The channels used by existing music can be found by extracting .zseqs from the ROM (see mml2m64 for instructions) then looking for the following hex at the start of the zseq:
Look for the differences in the red hex for the channel numbers. Once found, specify them in the .mml file before converting using @4 for example, as shown on the readme for mml2m64.
[/color]
===Level Editing===[/u]
Programs:
- Utility of Time
- Zelda Level Edit 2 - DOWNLOAD: www.filefront.com/15480819/ZLE2.zip
- Zelda Actor Replacement 2 (ZAP2) - DOWNLOAD: www.filefront.com/15480803/ZAP2.zip
All
Features: Texture editing as well as collision editing, actor editing/replacement/re-positioning, etc...
Majora's Mask Map Importing
glitchkill.proboards.com/index.cgi?board=ootmod&action=display&thread=2644
[/color]
===Story===[/u]
Text Editing
Programs:
- Any hex editor
Open up the ROM and crack away, search for text strings which meet the cutscene you want to edit. Hex codes are used to denote new lines, pauses in speech (with the blue arrow, etc..) a semi-full list is below:
Global Pre-requisites: Zelda Debug ROM[/u][/i]
Types of modifications:
- Graphical
Model editing, texture editing, no program to edit animations yet..?
- Musical
Music importing, can't change instrument sets yet...?
- Levels
Level editing, Level importing (from Majora's Mask), Level addition, Actor replacement/addition
- Story
Text editing
- Misc cool stuff
Spinout's portals --- glitchkill.proboards.com/index.cgi?board=tuts2&action=display&thread=3764
Editing existing Ocarina songs --- glitchkill.proboards.com/index.cgi?board=tuts2&action=display&thread=3948
Shop Hacking --- glitchkill.proboards.com/index.cgi?board=tuts2&action=display&thread=3552
===Graphical===
Programs:
- Utility of Time
- Spinout's obj import python script
- 1964Video Plugin
Utility of Time
Features: Model editing (vertices), texture editing
Dependencies: None. objs/zmaps/zscenes ripped from debug ROM and can be re-injected at will.
DOWNLOAD: www.filefront.com/15479735/UoT_0.90b4.rar
Spinout's obj import python script
Features: Ability to import wavefront .obj files (e.g. from Google Sketch-Up) to Zelda.
Dependencies: Python, ZLE Collision Fixer.exe
DOWNLOAD: Broken - Spinout's website is down?
1964Video Plugin
Features: Hi-resolution textures. Texture dumping/injection; without messing with ROM.
Dependencies: Windows-based emulators with plugin support (e.g. 1964, Project 64)
DOWNLOAD: www.filefront.com/15480269/1964Video.dll
Additional Links: www.emutalk.net/showthread.php?p=427121 (can download the plugin from here too!)
===Musical===[/u]
Programs:
- mml2m64
- z64_insert_seq
- tinymm
- GZRT (CRC checks)
- Utility of Time
- Generic Hex Editor (HxD, XVI32)
Changing existing music in different levels
Utility of Time
Features: Ability to change the music played on a level.
Generic Hex Editor
Features: Ability to add music to levels without music.
1) open the zscene file in a hex editor
2) if the first byte is 15
a) change the 6th byte to 13 and the 7th byte to the song value (it may be the Fth byte for the song so
experiment)
3) if the first byte is 18
a) change the 7th byte to 70 and the 8th byte to 15 now edit the Fth byte to a song value
Back up your work just in case ppl. And try 02 for the music byte to start off with. Its Hyrule field and I figured it is one youll easily recognize.
Credit goes to Haddockd and DeathBasket.
Inserting new music into Zelda
Pre-requisites:
-A MIDI file of choice
-mml2m64 - DOWNLOAD: www.filefront.com/15480851/%5B589%5Dmml2m640.1b_fixed.zip
-z64_insert_seq DOWNLOAD: www.filefront.com/15480917/z64_insert_seq.zip
-tinymm - DOWNLOAD: www.filefront.com/15480867/tinymm.zip
-GZRT - DOWNLOAD: www.filefront.com/15480793/gzrt-win32-v0.3-pre.7z
1. Run the MIDI file through tinymm. (drag/drop file onto the .exe)
2. Run the .mml file through mmlfixer. (drag/drop file onto the .exe)
3. Open the .mml in Notepad and change the channel headers as specified in the readme for mml2m64. Adding instrument channels here using @1 for example is recommended.
4. Open cmd prompt, run mml2m64 with the .mml and the parameter -zelda to convert it to a .zseq file.
5. Run z64_insert_seq in cmd prompt, specifying the .zseq, rom file and sequence number to replace (get these numbers at: web.archive.org/web/20080213144845/http://zso.krahs-emag.com/codes/codeinfo.html#musicmod -- NOTE: When running z64_insert_seq, the number must be in DECIMAL, not hexadecimal so you will need to convert it!)
6. If prompted to by z64_insert_seq, run the ROM through GZRT.
7. Open GZRT, open the ROM, Tool > CRC Fix > Apply. Failure to do this will corrupt your ROM.
Note: Odds are it will sound horrible, you can change the instruments to get it sounding better, a list of known channels with instrument numbers will be needed in the future. The channels used by existing music can be found by extracting .zseqs from the ROM (see mml2m64 for instructions) then looking for the following hex at the start of the zseq:
Credit: Messian
0x0: D3 20 --> Begin Header (known types: 80, 60, 20, E0)
0x2: D5 32 --> Intializes something (usual param = 32)
0x4: D7 09 31 --> Enable Channels: 0 4 5 8 11
0x7: 90 00 5b --> Load track from offset 0x5b (Channel 0)
0xa: 94 00 76 --> Load track from offset 0x76 (Channel 4)
0xd: 95 01 d1 --> Load track from offset 0x1d1 (Channel 5)
0x10: 98 03 90 --> Load track from offset 0x390 (Channel 8)
0x13: 9b 03 a5 --> Load track from offset 0x3a5 (Channel 11)
0x0: D3 20 --> Begin Header (known types: 80, 60, 20, E0)
0x2: D5 32 --> Intializes something (usual param = 32)
0x4: D7 09 31 --> Enable Channels: 0 4 5 8 11
0x7: 90 00 5b --> Load track from offset 0x5b (Channel 0)
0xa: 94 00 76 --> Load track from offset 0x76 (Channel 4)
0xd: 95 01 d1 --> Load track from offset 0x1d1 (Channel 5)
0x10: 98 03 90 --> Load track from offset 0x390 (Channel 8)
0x13: 9b 03 a5 --> Load track from offset 0x3a5 (Channel 11)
Look for the differences in the red hex for the channel numbers. Once found, specify them in the .mml file before converting using @4 for example, as shown on the readme for mml2m64.
[/color]
===Level Editing===[/u]
Programs:
- Utility of Time
- Zelda Level Edit 2 - DOWNLOAD: www.filefront.com/15480819/ZLE2.zip
- Zelda Actor Replacement 2 (ZAP2) - DOWNLOAD: www.filefront.com/15480803/ZAP2.zip
All
Features: Texture editing as well as collision editing, actor editing/replacement/re-positioning, etc...
Majora's Mask Map Importing
glitchkill.proboards.com/index.cgi?board=ootmod&action=display&thread=2644
[/color]
===Story===[/u]
Text Editing
Programs:
- Any hex editor
Open up the ROM and crack away, search for text strings which meet the cutscene you want to edit. Hex codes are used to denote new lines, pauses in speech (with the blue arrow, etc..) a semi-full list is below:
Credit: XDaniel
01 - Starts new line, like pressing enter.
02 - Press A, text after this will be in a new text box.
04 - End of text (press A). No more text displayed after this.
05 XX - Text colour, ended by 05 40 (white)
Values for XX:
40 - White
41 - Red
42 - Green
43 - Blue
44 - Light blue
45 - Pink
46 - Yellow
47 - Black
08 - Prints text instantly, ended by 09
0A - Keep text box open, doesn't react to button press.
0C XX - Prints XX slowly.
0E XX - Fade away text box, XX is the time it takes to fade.
0F - Shows player's name
10 - Start ocarina playing.
12 XXXX - Plays a sound
XXXX Values:
6863 - Saria giggle
3880 - Deku scrub
686D - Malon giggle
6855 - Carpenter
3882 - Deku scrub
4807 - Beeping (Accomplishment)
6844 - Navi "Hello!"
685F - Navi "Hey!"
28DF - Moo!
28E4 - Frog
28E3 - Frog
38EC - Poe disappearing
6852 - Talon noise
6867 - Cursed skulltulla
686B - Oh
686C - Mmph
686F - Gerudo sound
6869 - Surprised
These are the values you'll find in the ROM, try experimenting to give different effects.
13 XX - Print item icon, use any value up to CF
14 XX - Delay printing each letter by time XX
16 - Shows marathon time
17 - Shows horse race time.
18 - Shows archery points
19 - Shows how many gold skulltulas are destroyed
1A - Can't skip text with B button
1B - Two choice answer, choices separated by 01. Not sure how to work it.
1C - Three choice answer, choices separated by 01. Not sure how to work it.
1D - Shows weight of fish
1E XX - Minigame records, any value up to 06
1F - Shows current Hyrule time
Other characters:
9F - A button icon.
A0 - B button icon.
A1 - C button icon.
A2 - L button icon.
A3 - R button icon.
A4 - Z button icon.
A5 - Up button icon.
A6 - Down button icon.
A7 - Left button icon.
A8 - Right button icon.
A9 - Arrow pointing down. Used to describe z-targeting.
AA - Analog stick icon.
AB - D-pad icon.
01 - Starts new line, like pressing enter.
02 - Press A, text after this will be in a new text box.
04 - End of text (press A). No more text displayed after this.
05 XX - Text colour, ended by 05 40 (white)
Values for XX:
40 - White
41 - Red
42 - Green
43 - Blue
44 - Light blue
45 - Pink
46 - Yellow
47 - Black
08 - Prints text instantly, ended by 09
0A - Keep text box open, doesn't react to button press.
0C XX - Prints XX slowly.
0E XX - Fade away text box, XX is the time it takes to fade.
0F - Shows player's name
10 - Start ocarina playing.
12 XXXX - Plays a sound
XXXX Values:
6863 - Saria giggle
3880 - Deku scrub
686D - Malon giggle
6855 - Carpenter
3882 - Deku scrub
4807 - Beeping (Accomplishment)
6844 - Navi "Hello!"
685F - Navi "Hey!"
28DF - Moo!
28E4 - Frog
28E3 - Frog
38EC - Poe disappearing
6852 - Talon noise
6867 - Cursed skulltulla
686B - Oh
686C - Mmph
686F - Gerudo sound
6869 - Surprised
These are the values you'll find in the ROM, try experimenting to give different effects.
13 XX - Print item icon, use any value up to CF
14 XX - Delay printing each letter by time XX
16 - Shows marathon time
17 - Shows horse race time.
18 - Shows archery points
19 - Shows how many gold skulltulas are destroyed
1A - Can't skip text with B button
1B - Two choice answer, choices separated by 01. Not sure how to work it.
1C - Three choice answer, choices separated by 01. Not sure how to work it.
1D - Shows weight of fish
1E XX - Minigame records, any value up to 06
1F - Shows current Hyrule time
Other characters:
9F - A button icon.
A0 - B button icon.
A1 - C button icon.
A2 - L button icon.
A3 - R button icon.
A4 - Z button icon.
A5 - Up button icon.
A6 - Down button icon.
A7 - Left button icon.
A8 - Right button icon.
A9 - Arrow pointing down. Used to describe z-targeting.
AA - Analog stick icon.
AB - D-pad icon.