(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-24-24 11:15 PM
Acmlm's Board - I3 Archive - - Posts by cooliscool
User Post
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-17-06 12:37 AM, in Zelda 64 Map Editor Thread Link
The irony that englufs this thread and the deletion of my posts really is overwhelming!
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-17-06 10:42 PM, in Zelda Edit - Debug ROM "Mini Editor" Link
Been writing this for a while, it's constantly growing though admittedly a bit small right now. The source is open, so feel free to use it as you wish.

All info and downloads @ http://www.zso.krahs-emag.com/software/zedit.html .



cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-18-06 04:57 PM, in Zelda Edit - Debug ROM "Mini Editor" Link
I've always been under the impression that Stalfo is singular, Stalfos is plural. May be wrong though, and if so, I'll fix it.


(edited by cooliscool on 09-18-06 04:13 PM)
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-18-06 05:07 PM, in Zelda Edit - Debug ROM "Mini Editor" Link
I'm a veteran VB4/6/C++ programmer, and I actually like the .NET framework. I see it as a step in the right direction.. there's almost literally a class for everything you'll ever need for a windows application. The big downside of course being that users of your programs have to install the somewhat large runtime.. until it is standardized, which I hope will go through. Another bad thing is the overhead caused by the framework which can get pretty high as the project does.


(edited by cooliscool on 09-18-06 04:08 PM)
(edited by cooliscool on 09-18-06 04:10 PM)
(edited by cooliscool on 09-18-06 04:11 PM)
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-19-06 07:49 PM, in Zelda Edit - Debug ROM "Mini Editor" Link
Uploaded 0.8.7 (compiled and source code) to the link in my first post. A couple notes on the quick add feature:

A. I'm currently adding a feature to let users add to this. Currently it's predefined with actors I think are the most interesting to place.

B. "Link's New Shadow" option in Actor Replacement gives Link a much more detailed shadow for the level:

Before:



After:



I'll isolate a method to make the change permanent rather than having to replace an actor to make it appear.


(edited by cooliscool on 09-19-06 06:51 PM)
(edited by cooliscool on 09-19-06 07:06 PM)
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-21-06 05:32 PM, in Zelda Edit - Debug ROM "Mini Editor" Link
Oh for sure, Zelda Edit is really still very unfinished. I assure you the future is bright for it. It started out as a simple patcher (ROM Fixes) that I released after "leaking" the Debug ROM to the public, and has already evolved a lot.

rubixcuber: I can't change that. The shadow isn't a hack itself, it's actually in the game, just unused. Replacing a model with this specific one in the level triggers the shadow. I've isolated the actor that does it, which is named "en_elf" .. currently hacking out a method to keep it active at all times.


(edited by cooliscool on 09-21-06 04:34 PM)
(edited by cooliscool on 09-21-06 04:34 PM)
(edited by cooliscool on 09-21-06 04:35 PM)
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-21-06 09:27 PM, in Zelda64 Mapdata info? Link

2. I´m only able to edit the vertex data but not to edit the collisonsdata, where is the collisionsdata stored?


Collision data is stored in a seperate "scene file" which follows directly before the room's room file (in the Debug ROM.. in normal OoT ROMs, the scene and room files are stored in a single Yaz0 block). The first byte of the room's scene file is either 18 or 15, usually 150x. If it's 18, a few bytes after it there will be 2 bytes: 150x. The scene file will contain a pointer to the room file's ROM location, so you can use it to make sure you're at the right spot. HyperHacker is right, you can render OoT's collision without the room file loaded at all.


3.Can anybody give me some info about the mapdatas header?


Sure - here's 117's as an example:



The header can be any length, with a few exceptions which I'll note later.

The first word, 18000000, just denotes this as a map file. Can also be 16000000. The word 12000000 denotes data after it being environmental variables. +C after 12000000 is environment lighting (4 bytes, one word).

Any data after the word "14000000" is actor data (variable size, usually contains actor group with the number and variable somewhere else, not even in the header depending on appearance and repitition in the level. The actor group is defined once, and if the actor is repeated in the level, the number is defined as many times as necessary. Variable is always +E bytes after the actor group), as can be seen by Zelda Edit's source code. If there is no such word, the room doesn't have any actors. The 12 (4x3) bytes after the actor number (find this with ZE), are the actor's X-Y-Z locations in that order. They're stored as 16-bit signed integers, so use that for conversion of the hex data.

Most importantly, anything with "0300" as the first two bytes, the proceeding two are difference offsets which locate critical data in the room file. The last two (or one, depending on how many seperate sets of vertices there are in said room) "0300xxxx"s are locations of the room's model data in the file (origin plus whatever the last two bytes are), and that's the limitation: if you add bytes to to the room file at all, you must recalculate these values based on how many bytes you added. Say you added a new "14000000 + actor data" to the header to add a new actor: you would add that many bytes to every 0300xxxx value in the room file, not just the header. Yikes! Fortunately, it would only take a few lines of code to have a program do this for you.

Also, note how that room file is at 02D03000. Search that in the hex editor, and it'll take you to the main data pointer list. Handy!

In RAM, the word at 80223D14 holds the location in ROM of the currently loaded room, proceeded by a word which contains the room file's location in RAM.

Hope that made sense. If it didn't, or you need more info, let me know and I'll be glad to help.

Also, this info holds true for Majora's Mask. Nothing was changed between the two in the form of room/scene data loading. Obviously, though, room data in Majora's Mask is compressed, and the game won't read uncompressed rooms correctly. I'll touch on MM hacking later.

That reminds me of something.. http://youtube.com/watch?v=JwWzsxFMUv4


(edited by cooliscool on 09-21-06 08:28 PM)
(edited by cooliscool on 09-21-06 08:29 PM)
(edited by cooliscool on 09-21-06 08:35 PM)
(edited by cooliscool on 09-21-06 08:39 PM)
(edited by cooliscool on 09-21-06 08:41 PM)
(edited by cooliscool on 09-21-06 08:42 PM)
(edited by cooliscool on 09-21-06 08:43 PM)
(edited by cooliscool on 09-21-06 08:44 PM)
(edited by cooliscool on 09-21-06 08:47 PM)
(edited by cooliscool on 09-21-06 08:51 PM)
(edited by cooliscool on 09-21-06 08:53 PM)
(edited by cooliscool on 09-21-06 08:59 PM)
(edited by cooliscool on 09-21-06 09:26 PM)
(edited by cooliscool on 09-21-06 09:27 PM)
(edited by cooliscool on 09-21-06 09:27 PM)
(edited by cooliscool on 09-21-06 09:28 PM)
(edited by cooliscool on 09-21-06 09:30 PM)
(edited by cooliscool on 09-21-06 09:30 PM)
(edited by cooliscool on 09-21-06 09:35 PM)
(edited by cooliscool on 09-21-06 09:37 PM)
(edited by cooliscool on 09-21-06 09:47 PM)
(edited by cooliscool on 09-21-06 11:55 PM)
(edited by cooliscool on 09-21-06 11:56 PM)
(edited by cooliscool on 09-21-06 11:58 PM)
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-22-06 01:11 AM, in Zelda Edit - Debug ROM "Mini Editor" Link
Regardless of my involvement in the ROM's existence, I'll never host it on any of my webspace. I don't condone piracy (heh, ironic isn't it?), and will never, ever, host commercial files on my server.
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-22-06 05:15 PM, in Zelda64 Mapdata info? Link
For sure. Let me port the latest version to C# (0.8.8, now supports adding to the "quick add" actor list), and I'll gladly upload it.

Should have it done later on tonight (EST).

As far as the collision, I'll have to study it some. I haven't really dealt with editing it, rather just mapping things out.

Edit: 117's collision data begins at 02D00170. It doesn't correlate to vertex values in any way though, nor their locations.. hrm.


(edited by cooliscool on 09-22-06 04:40 PM)
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-22-06 11:02 PM, in Zelda Edit - Debug ROM "Mini Editor" Link
Nope. Sorry. Not a personal thing, you understand the illegality of your request.

Uploaded 0.8.8 to ZE's Page. Small changelog (almost nonexistent ), but the major addition should warrant this release.

Attachments




(edited by cooliscool on 09-23-06 01:04 AM)
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-24-06 12:55 AM, in Zelda Edit - Debug ROM "Mini Editor" Link
Even if you did somehow own this specific copy legally, downloading another copy would still be considered illegal. Fair use (for US people) technically permits backing up your own game, as its own individual entity.
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-24-06 07:08 PM, in Zelda Edit - Debug ROM "Mini Editor" Link
Why does anyone make editors? Because I do it doesn't mean I condone doing it, as in, will supply the means to do so.

My main reason for not condoning it in the first place is usually the rules of a said forum, attempting to avoid legal trouble. Take that as you will, heh.


(edited by cooliscool on 09-24-06 06:09 PM)
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-26-06 05:01 PM, in Need help with Destiny of an Emperor 2 hacking. Link
255 in hex (FF) would be fairly common in a ROM. If you found nothing, chances are you are searching for 255 rather than FF. Still, you should probably get that number to a less common one than FF.


(edited by cooliscool on 09-26-06 04:01 PM)
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-27-06 11:16 PM, in Zelda64 Mapdata info? Link
FYI uschghost - I've almost finished the complete port to C#. The first port was of an old version, and I had to nearly completely redo the app. Been busy, but I've been doing it on and off - when it's finished I'll let you know. Easier to understand to you C guys, but still uses some .NET conventions.

Here is the currently finished code. That's ZE in its entirety, now I have to migrate that code to a new C# project to make new designer files.. so it won't run, but you can use that code for reference.


(edited by cooliscool on 09-27-06 10:17 PM)
(edited by cooliscool on 09-27-06 10:18 PM)
(edited by cooliscool on 09-27-06 10:20 PM)
(edited by cooliscool on 09-27-06 10:21 PM)
(edited by cooliscool on 09-27-06 10:21 PM)
(edited by cooliscool on 09-27-06 10:28 PM)
(edited by cooliscool on 09-27-06 10:28 PM)
(edited by cooliscool on 09-27-06 10:29 PM)
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-28-06 05:18 PM, in Zelda64 Mapdata info? Link
What API/extension are you using to render those points? If you're using OGL, you can use "glVertex3f(x,y,z);" using "glBegin(GL_TRIANGLES)", and theoretically it should link them accordingly. If you aren't using OGL, I wouldn't know how to go about drawing triangles - OGL is all I've worked with.

may look like:


glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // clear color and depth buffers to avoid trailing
glBegin(GL_TRIANGLES); // starts an ogl instance in triangles mode as that's how these verts are stored (3 points), and runs the below instructions
{
glColor3f(r,g,b); // set a color for the below polygon
glVertex3f(x,y,z); // draw a triangle with these vertex points
}
glEnd(); // end the insance


Loop through that somewhere in your code, using the next vertex value in that glVertex3f.. so for example, glVertex3f(currentx,currenty,currentz), having that change on each loop to then next vert location in the file.

If you've tried that, don't take this as an insult. Just throwing out ideas.

As far as locations being stored in the room file, for the sake of the programmer's sanity I'm sure they're stored, it's just finding out where.


(edited by cooliscool on 09-28-06 04:18 PM)
(edited by cooliscool on 09-28-06 04:19 PM)
(edited by cooliscool on 09-28-06 04:19 PM)
(edited by cooliscool on 09-28-06 04:20 PM)
(edited by cooliscool on 09-28-06 04:24 PM)
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-28-06 07:48 PM, in Zelda64 Mapdata info? Link
Can you upload the source somewhere?
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 09-29-06 09:59 PM, in Announcement: F-Zero X Editor Link
Shut the VB naysayers up!
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 10-01-06 07:07 PM, in Zelda64 Mapdata info? Link
Okay, it seems they're stored like this:

06xxxxxx and 05xxxxxx values are polygons. For example, 05010203 is a polygon with vertices 1, 2, and 3 on the vertex list.
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 11-08-06 08:24 AM, in Request for approval... Link
Hmm.. a resume? Okay!

I co-run Zelda's Secret Ocarina, a site dedicated to Zelda (post Ocarina of Time) hacking, along with MNGoldenEagle and XDaniel.

I wrote Zelda Edit, a "hack assistant" of sorts for the Ocarina of Time Debug ROM. It can replace characters, edit level header variables (level music, lighting, etc), recalculate pointers in room files so users can add/remove bytes from them (for adding new actors to levels mostly), and apply some critical and non-critical fixes. It is also completely open source.

Aside from programming, I've done a lot of work reverse engineering Ocarina of Time and how it works.

I've been involved in the ROM hacking scene since about 2001 or so, and the emulation scene circa 1996.

Hmm.. that enough?


(edited by cooliscool on 11-08-06 07:29 AM)
cooliscool

Octorok








Since: 05-21-06
From: USA

Last post: 6405 days
Last view: 6309 days
Posted on 11-10-06 04:53 AM, in Zelda 64 Map Editor Thread Link
Download the latest version.
Acmlm's Board - I3 Archive - - Posts by cooliscool


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.062 seconds; used 439.75 kB (max 565.69 kB)