zelda hacking




Subject: Breaking things
Date: 2018-03-22
Site went down for most of March 2018. Forgot to pay my host. Main page and news page were broken because I was still using ereg_replace instead of preg_replace. Oh how times change. All my old code uses old versions of libraries and programming languages (py 2.x, sdl, etc). If I get some serious time off of work maybe I'll get everything to compile and possibly be useful. Don't count on it! Forums and Wiki are updated and should be working.

Subject: Fixing things
Date: 2011-10-20
be warned: mini rant/blogging
I really dislike going back to fix things - weather it be a program or something else I am working on. The case that brings me to writing this is porting my other libraries and programs to libmem32. Today, among other things, I begun work on a fork of libobj to get it working with libmem32 and while it seems like most of the code is sound it is pretty ugly and doesn't adhere to the point of libmem32 - in fact, I added a function to libmem32 that parses an F3DEX2 display list looking for pointers. I then called this function after writing the display list to a buffer, instead of doing it the ideal way, which would be writing it using libmem32 functions and noting pointers as they come along. Due to the nature of the GBI macros, and how much code would have to be written, I did it the cheap way, as I also did in the [z64] collision generation function. Oh well. It all compiles cleanly with -Wall but I haven't gone and tested it yet... I bet there are tons of bugs in libmem32 ;_;

Subject: I cannot stand
Date: 2011-10-07
I mean really, isn't it easier to do getchar();? While on the topic of what not to do when writing C, un-tabbed C is the ultimate way to ensure a program will not be maintained or developed - you might as well not even release the source.

Aside from this rant, all is well. You may find my latest project, rsp-tools, interesting. It currently has a working disassembler based on the z64 RSP emulator, which I added labels to. I currently am working on an assembler which uses gperf. I also made a tiny library, libmem32, which I am planning on using in z64anim to make it possible to insert and remove bytes with ease. This most likely means making a fork in libbadRDP to make it work with libmem32 but I will get to that when the time comes.

Subject: bitbucket
Date: 2011-09-22
I signed up for bitbucket about a month ago and I seem to be using it. I'll try and do most of my software development and releases there from here on out - yee

Subject: z64anim, again
Date: 2011-07-28
z64anim is now an editor (well, it has been for a while). What I said before about threads being platform dependent was a lie, I found out that pthreads is supported in Win32. Exporting and importing of wavefront obj is implemented, and the editor thread has a growing number of options. Learning how to use it might end up being a hassle for users, though...

On an unrelated note, I begin classes at SF State University on the 23rd of next month, whoo?!

Subject: z64anim
Date: 2011-06-06
Animation viewer and eventually editor for Zelda 64 animated objects.
z64anim preview image
It uses SDL, GL, badrdp and, consequently, libpng. Nothing else - no GLU/GLUT, X, or Win32 stuff. The only platform-dependent code is for threads, and Win32 and POSIX systems are supported.

So far, there is a console interface (may change to a curses-based TUI), and a rendering window (pictured) which each run on their own thread. Selection of the rotation and translation axis, as seen in the image above, has been recently implemented.

Subject: SGUI
Date: 2011-04-19
I've been working on this for a little while. Way more complicated than I expected, but it's still fun to code. Major work in progress!
sgui test screenshot

Subject: Function Database
Date: 2011-02-13
I made a simple function database today which allows users to view and search for functions and to add functions or games if they have a developer key. If you are interested in having a developer key, contact me. Database can be found here.
In other news, I have been working away at a MIPS decompiler and have had partial success, though I am far from finished. I don't want to write about it right now, but you can find the source here and archived here.

Subject: Time passes...
Date: 2010-09-21
I did a similar hack to ZZT32's Yaz0->LZO/RC4 hack, except not quite. Unlike his hack, I did not change the format files are stored (he added a 8-byte header to each file, from what I can tell). My code is more naturally in the game - it's part of the 'boot' file. It still supports Yaz0, but it also supports LZO. Implementing this hack on other game versions would be rather simple, and for games like MM, it would make hacking them loads easier.

On another note, my z64porter re-write is nearly done, though I have no motivation to finish it. I'm tired, goodnight. Oh, wait, physics...

Subject: Bleh
Date: 2010-07-31
Somebody put a whole ton of salt into my strawberry jam, ruining my breakfast this morning. Then decides to stop working, making my site load until your browser gives up trying to get the valid CSS image. Until it decides to load, the footer of my site has been commented out. On a lighter note, I've been slowly adding more to my site in all sorts of places - the zelda page works differently now, and I added some more programs to the programs page. I've been working on ozmav2 recently, xdaniel and I got animations/actors to display, it's pretty cool, check it out. I've also been slowly re-writing z64porter in C, using ZZT32's libn64rom and libz64. I'm doing it on the vg64tools repository, as that's where the original z64porter is and it is also where ZZT32's libraries are. That being said, it's been a while since I've commited, I have quite a few uncommited changes/additions/fixes.
Edit: Fixed that stupid W3C validation image issue

Subject: What's up
Date: 2010-06-07
I just bought 15 N64s - I'm still wondering weather or not this was a good decision. In other news, I'm out of school for the summer, but don't expect me to be that busy with my site and related things. Mentioning my site, I have done some cleanup and written an experimental admin panel in php, but what's that to a visitor. I haven't done much that relates to Zelda recently - just a little here and there on some of xdaniel's projects. Oh, I don't think I ever linked to the MM Debug actor and object listings. Numbers in lists are only base 16 when addresses or in disassembly.

Subject: Videos Section
Date: 2010-04-06
The empty "etc" section has been replaced with a video section. I had to do a little fiddling with the embed html to get it w3 compliant and to have my own colors, but it's all done and working.
Also: I have a new hack I'm working on, playas. Basically, it hijacks an actor (after spawning it and it's object upon the level being loaded), and sets the actor's animation accordingly.

Subject: Remote Syntax Highlighter
Date: 2010-04-02
I made what I call a "remote syntax highlighter". It highlights a user-specified URL to a detected or specified filetype. Powered by SyntaxHighlighter.
Remote Syntax Highlighter

Subject: Password removal
Date: 2010-03-14
Removed password protection, having to pass out a password to everyone that emailed me was becoming a hassle.

Subject: Actor listing
Date: 2010-02-10
Same place, awesome disassembly.

Subject: Full PHP conversion
Date: 2009-10-07
I'm going to convert most of my website to PHP from HTML, more so than the current amount of little php that powers this news system. To track my progress, check here every now and then. Besides that, I've been away for a while, as RL has been treating me pretty well.

Update: Experimental new site layout is now here.

Update 2: Using new site layout. Some pages are still missing, but it's working, and it's rigid.

Subject: Added an information tree on MM
Date: 2009-08-18
This, except for MM. I only had to fiddle with the source a little bit to get it working.

Subject: Real news system!
Date: 2009-08-13
I wrote it myself in php \o/
feels good man

Subject: N64 Portable complete
Date: 2009-08-11
Click here to go to the portable N64 page.

portable N64 picture
Interested in purchasing it? My email is in this page's source.

UPDATE: I am installing internal batteries, and it is still for sale. I'm thinking around $450 USD, but I may put it on eBay since multiple people are interested in purchasing it. Still feel free to email me, though.

Subject: zappy
Date: 2009-06-05
ZAPPY: Zelda Actor Placement - Python

Places actors, changes objects
zappy modifying map

nemu running with modified map
Find zappy here.

You will also need (an older version of) vpython. (apt-get install python-visual)

Subject: Another change...
Date: 2009-05-11
The actor listing is going, and to replace it, I have made this. It also has a listing to replace ZZT32's page listing all of the Debug ROM's contents. Flotonic mentioned scenes, so I threw a scene listing in as well. Source is linked to at bottom of page.

Subject: Site updates/changes
Date: 2009-05-11
Slowly, they go. I am adding a portables section, and hooked up this page. The actors directory has now been made lowercase, just to make the page more "standard".

Subject: New ASM Hack: Play as Anything!
Date: 2009-01-22
Another ASM hack, this time it is play as anything you can Z-Target by pressing D-Up when it is Targeted. D-Down to deactivate.
See: ASM Hacks

Subject: ASM hacks
Date: 2009-01-20
I have started playing around with ASM recently, and I have had some good results. So far I have done a warp to arrow location hack (that actually works :P) and a hack where enemies cannot take damage while being Z-Targeted. The latter of the two was built off of false research, so it does not work 100% of the time. Neither of the two hacks will work in PJ64 1.6, but they should work in 1.7 and Nemu. Enjoy!
See: ASM Hacks

Subject: Detailed Actor Listing
Date: 2009-01-15
Detaled actor listing of every actor in OOT Debug. Sections in actor are taken apart and available for download. The .text section of each actor will soon be included dissasembled.

Subject: FD Link Sword ported.
Date: 2008-12-03
FD Sword Port
Click on picture to download patch