-
Posts
286 -
Joined
-
Last visited
-
Days Won
6
Content Type
Profiles
Forums
Downloads
Calendar
Bug Tracker
Everything posted by Antidote
-
Twilight Princess and Skyward Sword hacking thread.
Antidote replied to Armos's topic in Modifications
Go home Link, you're drunk -
SceneNavi - A simple Ocarina of Time level editor
Antidote replied to xdaniel's topic in Modifications
I got the same error, but i can say that it seems to work with mono on linux. -
AHAHAHHAHA
-
Ahahha yeah, i should really be more active on Unseen64, Thanks, I actually enjoy working with file formats so i'm pretty comfortable with a Hex editor, I'm still learning PPC Assembly so it can be a bit difficult sometimes.
-
To be entirely honest, I didn't even look at the board location XD
-
Yeah, it's pretty dead over there though, Star and MG pretty much killed it.
-
The moment i read "highly compressed" and "7zip" i called BS, didn't even get to the 128MB part.
-
As some of you are probably already aware, I'm a hacker who likes to figure out how formats work and tend to spend copious amounts of time staring at either PPC assembly or a hex editor. That being said I just hope I'm of use to you guys.
-
Twilight Princess and Skyward Sword hacking thread.
Antidote replied to Armos's topic in Modifications
Actor data in Twilight princess is handled by two or three separate files, one is a PLC file which i'm working on right now. If you're looking for logic then you need to look no further than the REL files located in /rel/<entity_name>.rel, the entities go by their Japanese names for obvious reasons. You can also use the model names to some extent as well. EDIT: Been working on this little puppy, it's by no means complete but it's starting to shape up. You only need 010 Hex Editor and an STB file from Skyward Sword, WW or TP and it should work fine. It seems to work on all files but there may be a few that don't work. //--------------------------------------//--- 010 Editor v4.0.4 Binary Template//// File:// Author:// Revision:// Purpose://-------------------------------------- BigEndian(); struct vec3{ float x; float y; float z;}; struct Node{ int dataLen; union { struct { char magic[4]; if (magic == "JFVB") // Vertex buffer? { char magic2[4]; short BOM <format = hex>; short unk; int dataLen; vec3 coords[(dataLen / (sizeof(float)*3)) - 1]; } else if (magic == "JACT") { int strLen; char str[(strLen + 3) & ~3]; } else if (magic == "JPTC") { int strLen; char str[(strLen + 3) & ~3]; ushort unk; ushort unk; uchar unk; //short len; uchar len; ushort unk; char data[(len + 3) & ~3]; short len1; short unk; char data2[(len1 + 3) & ~3]; } else if (magic == "JCMR") // Camera { int nameLen; char cameraName[(nameLen + 3) & ~3]; int unk1; short unk2; short unk3; struct { short cmd1 <format = hex>; short cmd2 <format = hex>; switch (cmd1) { case 0x0004: { switch (cmd2) { case 0x04C2: float camRot; break; case 0x04D2: int fvbIndex; break; case 0x04E2: float fov; break; case 0x04F2: int fvbStartIndex; break; } } break; case 0x000C: { switch (cmd2) { case 0x0302: case 0x0308: vec3 camPos; break; case 0x0312: case 0x0392: int fvbIndex[3]; } } break; } } commands [unk] <optimize = false>; } } nodeData <optimize = false>; char data[dataLen - 4]; }crap <optimize = false>;;}; struct JStudio{ char magic[8]; int unk; int unk; // Node Type? Node nodes[file.numNodes] <optimize=false>;}; struct STBFile{ char magic[4]; // 'STB0' short BOM <format = hex>; short unk; // version? int dataLength; int numNodes; JStudio jstudioData;}file; -
Any way you can help is much appreciated. Whether it be documenting formats, coding, QA, or simply donating to the project. I may extend this to other formats as well depending on the interest level. Wouldn't it be cool to have a single program that can modify files from all zelda games? Of course this would be done using plugins. Sent from my Amazon Kindle Fire using Tapatalk 2
-
Looks really good xdan
-
That came off to be rather patronizing, here in the US, mobile and cell phone is used interchangeably. But otherwise nice topic.
-
Hello everyone, I'm the developer of the Skyward Sword Save Editor known as Wiiking2 Editor (internally known as Zeldasav), and it's companion libraries, libZelda and libWiisave. The development of all three of these projects is going pretty well, but I'm a lone programmer and hacker, so reversing the wiiking2.sav format is a bit slow going (it's MASSIVE compared to all of the other save formats I've reversed), and help would be greatly appreciated. Eventually I would like to support all zelda save formats in one convenient, cross platform application. When I started Wiiking2 Editor I was still new to Qt, so it's a huge mess and largely hacked together, right now I'm working hard to clean up the code and abstract everything out. It may be easier to just rewrite, and I've been contemplating that. libZelda is, as of right now, a generic IO library designed with speed, and extensibility in mind, eventually I will merge libWiiSave into it, move the SkywardSword format code over to it. It's extremely useful for cross endian use, as it automatically determines the endianess and swaps depending on platform, and buffer settings. As I already mentioned, it's designed with speed in mind, to put that into perspective, it read 54 4125 character long lines (TextStream) in less than a millisecond!, it took ~.25 us to read, that's lightning fast. libWiiSave was a library i wrote during libZelda infancy so it's a bit of a mess, and not properly coded, but it was written in response to WiiQt which was WAY to slow for me, it took almost 3 seconds to load a file, now it only takes about half a second to load a save file. To see the source of these projects you can go to my github repositories and check them out! They've all been released under GPLv3 so fork them, and use them if you so desire. http://github.com/Antidote I also have a website setup for help and support if you need anything: http://wiiking2.com The documentation for libZelda is publicly available at: http://libzelda.wiiking2.com And if you like my project please donate! Donations are what keep these projects going.
-
Twilight Princess and Skyward Sword hacking thread.
Antidote replied to Armos's topic in Modifications
Ah, well it's still useful to know. -
Twilight Princess and Skyward Sword hacking thread.
Antidote replied to Armos's topic in Modifications
Don't know if anyone figured this out yet, but Twilight princess uses KCL for collision. Forest Temple collision for proof: https://dl.dropbox.c...stTempleKCL.png I decoded it to obj with wiimm's wkclt utility, so proof that KCL predates MKW >:3 -
Twilight Princess and Skyward Sword hacking thread.
Antidote replied to Armos's topic in Modifications
Thanks, I'm working on the bzs files right now, and the format seems pretty simple structurally. -
Twilight Princess and Skyward Sword hacking thread.
Antidote replied to Armos's topic in Modifications
Well I've been reverse engineering the Save format for Skyward Sword over the past year, and in that time I've also put some effort into a few of the other files, one of them being the zev.dat file that accompanies each room in the game, I've only figured out the primary structure of it and haven't actually decompiled the routines responsible for dealing with it, but it's a start. Here it is: //-------------------------------------- //--- 010 Editor v4.0.2 Binary Template // // File: // Author: // Revision: // Purpose: //-------------------------------------- struct Entry { char name[0x20]; short unk[4]; }; struct Entry2 { char name[0x12]; short unk[5]; }; struct Entry3 { char name[0x04]; short unk[4]; }; struct ZEV { short magic; short section1Count; short section2Count; short section3Count; short section4Count; short section5Count; short unk; // This appears to be static short section6Count; short section7Count; short section8Count; Entry entries1[section1Count]; Entry entries2[section2Count]; Entry2 entries3[section3Count]; Entry3 entries4[section4Count]; Entry3 entries5[section5Count]; int unkArray[section6Count]; int unkArray2[section7Count]; char unkArray3[section8Count]; }file; -
Well, .dae is xml iirc, so it'll be trivial to implement with C#, infact i think there is a library for it.... Yep, this one uses SlimDX, but it shouldn't be too difficult to use it with OpenGL. http://sourceforge.n.../slimdxcollada/ EDIT: It's not 100% complete but it's better than nothing, and it's at least a good example of how to do it. The code is pretty clean and easy to understand.
-
Twilight Princess and Skyward Sword hacking thread.
Antidote replied to Armos's topic in Modifications
It's funny you link that thread. I'm actually the creator of the SS Save Editor, and I'd be more than willing to delve into BOTH games. As a few people on kbfail.net's #zfgc know, i love documenting obscure formats :3 -
Wow, thats incredibly interesting. Zeth I can see the resemblances, even without the reference images you provided at the bottom. Even the final Fado looks a bit like Saria in the final game.