Jump to content

Twili

Member
  • Posts

    273
  • Joined

  • Last visited

  • Days Won

    45

Everything posted by Twili

  1. I knew of that. I couldn't compile it, which is why I rewrote it in C. Thanks anyway. It used at least one Linux gcc header, which annoyed me since it wasn't all set to compile without more work on my end. I looked at your C# version because it was easier to understand.
  2. I converted the LZSS decompressor that's part of N3DSCmbViewer to a standalone C program. #include <stdio.h> int main(int argc, char **argv) { FILE *arc, *out; unsigned int tag,length,decompressedSize,compressedSize; unsigned short writeidx=0xFEE,readidx,y; unsigned char data[4096],flags,byte,x; arc=fopen(argv[1],"rb"); out=fopen(argv[2],"wb"); tag=(unsigned int)((fgetc(arc)<<24)|(fgetc(arc)<<16)|(fgetc(arc)<<8)|fgetc(arc)); if(tag!=0x4C7A5301){printf("This isn't compressed!\n");return -1;} fseek(arc,4,SEEK_CUR); decompressedSize=(unsigned int)(fgetc(arc)|(fgetc(arc)<<8)|(fgetc(arc)<<16)|(fgetc(arc)<<24)); compressedSize=(unsigned int)(fgetc(arc)|(fgetc(arc)<<8)|(fgetc(arc)<<16)|(fgetc(arc)<<24)); fseek(arc,0,SEEK_END); length=ftell(arc); fseek(arc,0x10,SEEK_SET); if(length!=compressedSize+0x10){printf("Size mismatch.\n");return -1;} for(y=0;y<4096;y+=1){data[y]=0;} while(ftell(arc)<length) { flags=fgetc(arc); for(x=0;x<8;x+=1) { if((flags&1)!=0) { byte=fgetc(arc); fputc(byte,out); data[writeidx]=byte; writeidx+=1;writeidx%=4096; } else { readidx=fgetc(arc); byte=fgetc(arc); readidx|=(unsigned short)((byte&0xF0)<<4); for(y=0;y<(byte&0xF)+3;y+=1) { fputc(data[readidx],out); data[writeidx]=data[readidx]; readidx+=1;readidx%=4096; writeidx+=1;writeidx%=4096; } } flags>>=1; if(ftell(arc)>=length){break;} } } return 0; }
  3. BETA pause screen showing medallions on the item subscreen, with the elemental arrow and magic spell slots being linked together.
  4. I'm a big fan of cosplayers. This is for discussion of cosplays/posting ones you like. Cia from Hyrule Warriors. Aw yeah.
  5. I'm playing hit-and-run. Sorry. I'm a perfectionist. (Removing the contents of my opening post because I'm making a catch-all modding topic later with explanations that aren't lazy, and the aforementioned issue being fixed.)
  6. There's garbage text, though, so I was explaining to the viewers why it was there. I couldn't answer your question, but still had something to say in general.
  7. The reason for the garbage text, by the way, is because we aren't terminating any of the strings with 00. The space we're writing them to is filled with 00 bytes, but we're recycling 8 lines and rotating their pointers, so the first 8 strings will print fine no matter what, but we don't clear the lines, so what's left of the previous string on one will remain if the new string that it's being overwritten with is shorter.
  8. Going to make a better topic with ALL of my modding notes, etc. in the next few days. This was rushed, and not explained as best as it could be. Also, there was still the issue of not terminating the strings with 00, which is fixed now. Nothing to see here.
  9. Super Mario 64 disk version: http://bsxproj.superfamicom.org/64dd/dump/SM64Disk_jimmy.zip
  10. 'tis a false alarm. The issue happens if you try to batch-run it too many times in a row. Works fine in small doses. Also, C. The code is very ugly! http://pointblank.bz/pb/Nontondo_64/mm2oot.c
  11. I wrote a tool to convert Majora's Mask 3D models to Ocarina of Time 3D models: http://www.mediafire.com/download/je1vzk9e36zpx61/mm2oot.exe And here's the MM3D files all extracted and decompressed: https://mega.co.nz/#!88NWmYJA!IZ9i_k4D14qO4KZy0XzPVm3_oJNtQVcaxxAnA14AmxM Usage: mm2oot.exe model_in model_out Example .bat file to run it (goes in the folder with it): @echo off mm2oot.exe E:\Users\nick\MyStuff\3ds\extracted_mm3d_rom\actors\zelda2_link_boy_new.gar.lzs\link_demon.cmb E:\Users\nick\MyStuff\3ds\converted\link_demon.cmb xdaniel is going to hate me for using the old ETC1.dll, viewer, etc. If it doesn't close on its own, you must close it yourself ASAP. This means that it's stuck in a file that doesn't have all of the needed chunks and will keep eating disk space with the output file.
  12. https://mega.co.nz/#!mlIXiLpY!LLaay7YPWFYJmVZOs0jR48dniuyidkSvr7-EqGAGXw4 Here's the read-only filesystem of Majora's Mask 3D. The model format is still .cmb, but changes have been made, evidently, as they don't load in N3DSCmbViewer. Not much else to say...
  13. Thanks! And yes, I dumped Hyrule Warriors, but EVERY model is zlib-compressed, so uploading them will be a pain, since they don't compress well. But here's the models from the latest DLC: http://soneek.info/model.7z Etc.
  14. The following stages had these rooms removed in the HD version: M_NewD2: Room 9 PShip: Room 0 and 1 sea: Room 0, 1, 9, 13, 17, 23, 39, 41, and 44 TF_03: Room 1, 2, 3, 4, 5, and 6 And these stages were removed entirely: A_R00 Amos_T H_test I_TestM I_TestR KATA_HB KATA_RM K_Test2 K_Test3 K_Test4 K_Test5 K_Test6 K_Test8 K_Test9 K_Testa K_Testb K_Testc K_Testd K_Teste morocam Name sea_LOD01 - sea_LOD49 SubD45 TEST TF_05 TF_07 VrTest
  15. This part of the Iwata Asks is worth reading: http://iwataasks.nintendo.com/interviews/#/wiiu/wind-waker/0/3 Iwata: Three designers? Considering the deadline, even though it was a remake, correcting each bit of data by hand would be impossible. Dohta: Yeah. Actually, designers in-house that could work on this were limited since it needed to be people who were familiar with the data and direction of the original designs. We knew we weren’t able to rely on a workflow that employed a lot of people. So this time we used a special method. We devised a way to convert Nintendo GameCube data for the Wii U and to make visuals look better, while hardly laying our hands on the 3D modeling data. So it should be easy to write a viewer, it sounds like, by comparing files from both versions.
  16. Hey, look, I extracted Wind Waker HD: https://mega.co.nz/#!QV4GTRhB!ts8f0c1OVas375y-xpvKzuWouerMC1hkL1Hw9XMsOk8 And here's the file list: http://pastebin.com/raw.php?i=swA2i1aW Of note: [2C1] CID:0B Size:0013AD78 Offset:0x00026C5FE0 [content/Common/Stage/ITest61_Room0.szs] [2C2] CID:0B Size:0015316E Offset:0x0002800D60 [content/Common/Stage/ITest61_Room1.szs] [2C3] CID:0B Size:00136E54 Offset:0x0002953EE0 [content/Common/Stage/ITest61_Stage.szs] [2C4] CID:0B Size:00153080 Offset:0x0002A8AD40 [content/Common/Stage/ITest62_Room0.szs] [2C5] CID:0B Size:0000523C Offset:0x0002BDDDC0 [content/Common/Stage/ITest62_Stage.szs] [2C6] CID:0B Size:001BC3B8 Offset:0x0002BE3000 [content/Common/Stage/ITest63_Room0.szs] [2C7] CID:0B Size:0000523F Offset:0x0002D9F3C0 [content/Common/Stage/ITest63_Stage.szs] There's likely more interesting stuff, because I don't remember the filenames from the SD (GameCube) version all that well. Let's explore... For those with Wii U ISOs, I used this to extract the files: http://crediar.no-ip.com/DiscU_2.1b-cred.rar You may also need this to use it: http://www.dll-files.com/dllindex/dll-files.shtml?msvcr120 Click DOWNLOAD ZIP-FILE and download the 32bit one. It should go in the folder where DiscU is. For more information, ask me.
  17. I'm making this as a counterpart to the topic on GBAtemp. The Wii U common key has been leaked, so we have the ability to decrypt ISOs now, though the process hasn't been clearly defined yet. This means that the stage models from Hyrule Warriors that crediar didn't share with me can be gotten now, and that updated Zero Suit Samus and her alt costumes can be rigged once Smash 4's compression is figured out. Also curious to see if The Wind Waker HD has any test maps left in it. Edit: Use this to browse + extract .szs archives: https://www.dropbox.com/sh/tfg2nd6q809oqn3/AAAmO-UnYwuVOWhI30oWhX0ja/WiiUExplorer%20(new)/WiiUExplorer_v1.0.4.0.zip?dl=0
  18. I found all of the model data in Doshin the Giant. Here's some pics: You can download the files that contain model data here: http://www.mediafire.com/download/3u82tap5l7ttr4k/doshinstuff.zip You'll need xdaniel's DLViewer: https://ozmav.googlecode.com/files/DLViewer-v001.rar The first screenshot is from Doshin_0x738C0.dat, the second is from Doshin_0x1BFBE8.dat, and the third is from Doshin_0x5824D8.dat. For the first file, I had to convert the RAM pointers to regular segment pointers with the assistance of a tool I wrote. The other 2 files are completely untouched as they appeared in NUD-DKDJ-JPN.bin. Note that I didn't fix up every display list in the first file; only the ones that had static texture pointers. script.txt can be loaded by the viewer to execute the hand-picked display lists I converted the pointers for in the first file. Read the readme.txt included with DLViewer for instructions on using it. Protips: The first file needs to be loaded to segment 0x06, the other 2 need 0x01. Use the finddlists function on the other 2. One of them will lag a bit, so once everything is rendered, press the + key on your number pad to switch from rendering all display lists to individual ones. + and - browse through them. Super Mario 64 Disk Version is dumped now, by the way. I don't have it yet, however.
  19. Super Mario 64 will be dumped this month. A 64drive is already on its way to Jimmy130. Also, I wrote a tool to generate a document detailing the makeup of each disk type: #include <stdio.h> int main() { FILE *fzero; int table[16]={19720,18360,17680,16320,14960,13600,12240,10880,18360,17680,16320,14960,13600,12240,10880,9520},table2[7][9]={{0,0,0,1,1,1,1,1,1},{0,0,0,0,1,1,1,1,1},{0,0,0,0,0,1,1,1,1},{0,0,0,0,0,0,1,1,1},{0,0,0,0,0,0,0,1,1},{0,0,0,0,0,0,0,0,1},{0,0,0,0,0,0,0,0,0}},cum,lookup,offset,last,flag; short prev,value; char x,y,head; fzero=fopen("f-zero.z64","rb"); for(x=0;x<7;x+=1) { offset=0; last=0; cum=0; printf("Disk Type %d:\n\n",x); for(y=0;y<16;y+=1) { offset+=last; fseek(fzero,0x97948+0x20*x+2*y-2,SEEK_SET); prev=(short)((fgetc(fzero)<<8)|fgetc(fzero)); if(y==0){prev=0;} value=(short)((fgetc(fzero)<<8)|fgetc(fzero))-prev; fseek(fzero,0x97A48+0x10*x+y,SEEK_SET); lookup=fgetc(fzero); last=table[lookup]*value; printf("Offset: 0x%08X\nLBA range: 0x%04X - 0x%04X (0x%X bytes per block.)\nVZone: 0x%02X\n",offset,cum,cum+value-1,table[lookup],lookup); head=0; if(lookup>7){head=1;lookup-=7;} printf("PZone: 0x%02X Head: %d\n",lookup,head); flag=table2[x][lookup]; if(flag==0){printf("This is a ROM region.\n\n\n");} else{printf("This is a RAM region.\n\n\n");} cum+=value; } } return 0; } And the output:
  20. On EmuParadise, I made a topic about it. Packed size: 130 megabytes Unpacked size: 681 megabytes Individual disk size: 61.9 megabytes (64,931,840 bytes) NUD-DKDJ-JPN.bin = Kyojin no Doshin (Doshin the Giant) NUD-DKIJ-JPN.bin = Kyojin no Doshin demo NUD-DKKJ-JPN.bin = Kyojin no Doshin: Kaihou Sensen Chibikko Chikko Daishuugou (Doshin the Giant: Tinkling Toddler Liberation Front! Assemble!) NUD-DMBJ-JPN.bin = Mario Artist: Communication Kit NUD-DMGJ-JPN.bin = Mario Artist: Polygon Studio NUD-DMPJ-JPN.bin = Mario Artist: Paint Studio NUD-DMTJ-JPN.bin = Mario Artist: Talent Studio NUD-DPGJ-JPN.bin = Japan Pro Golf Tour 64 NUD-DRDJ-JPN.bin = Randnet Browser NUD-DSCJ-JPN.bin = Sim City 64 NUD-EFZJ-JPN.bin = F-Zero X Expansion Kit Find the topic and have fun.
  21. Twili

    Twili's piano videos

    Let's try this again.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.