Views: 19,851,591 |
Home
| Forums
| Uploader
| Wiki
| Object databases
| IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search |
03-28-24 05:42 PM |
Guest: |
Main - Posts by Fiachra |
Fiachra |
| ||
Local moderator Level: 65 Posts: 61/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
Posted by Py_hacker It's not supposed to stop resonding, though it may stick on a large file for a while. You should get a progress dialogue box like this: Mario Galaxy 2 took me just over a minute to extract. Your ISO may be corrupt, if so, you'll need to try ripping it again or getting it from a different source. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 62/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
Posted by Skelux The collision data for each level is stored in the overlay as CLPS Data. I believe this maps collision types found in that level to some global table, so it should be possible to overwrite this CLPS data for JRB with that from another level. (https://kuribo64.net/get.php?id=rI4qqLy5iunw7ums) EDIT: I found the music table (for patched ROMS only): EUR: ROM Offset: (020)75768 ARM9 Offset: 71768 USA v1: ROM Offset: (020)73434 ARM9 Offset: 6F434 USA v2: ROM Offset: (020)74154 ARM9 Offset: 70154 JAP: ROM Offset: (020)739D8 ARM9 Offset: 6F9D8 The table is 156 bytes long, containing 52 entries - one for each level, where each entry is the track to be played in that level and is 3 bytes long. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 63/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
Posted by Mega-Mario Yes, I was able to replace the castle grounds music with JRB music by copying entry 9's data over entry 2's. I haven't tried to work out the individual bytes yet though. That sounds a bit complicated for me! I could patch it to copy the entry from the music table to the overlay but unfortunately I don't think I could patch the code to load from it. I'll still try to help as much as I can with it though. Edit: The 3rd byte is the (0 based) index of the SSEQ file in the SDAT file, however, changing just this byte doesn't change the music and may stop all sounds in the level. FF is no background music. I don't know what the 1st and second ones do, they increment between levels or related levels, eg. WF is 07, JRB is 08, JRB Ship is also 08. Same type of thing with second value. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 64/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
Posted by Skelux I'm pretty sure it's right, I was able to modify it. I'm not on my computer right now so I can't check that arm9 unfortunately. Is it definitely the patched one? If you open it in a hex editor you can find the table by searching for: 03 20 ff 03 20 ff (1st 2) or: 06 21 3a 07 22 3a (BOB and WF). Copying 08 23 3b to the 2nd entry will change castle grounds to JRB music for example. I haven't figured out what the individual bytes do yet. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 65/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
I got the EUR address looking at ROM in disassembler. Forgot to subtract 0x4000 for arm9.bin. I think the rest are for arm9.bin so add 0x02004000 to get their ROM address. I'll update the list later when I'm on the computer. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 66/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
Posted by natnew Just rename it or set xdelta to open 'All File Types'. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 67/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
I've managed to patch the game to store and read the music data from the individual level overlays and have added the ability to change their values via the Level Settings dialogues. I'm on holidays at the minute so I'll commit the code when I get back next week. Wanted to say in case anyone else started working on doing it. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 68/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
Have committed code:
-Music data stored in and loaded from level overlays. -Added option to copy CLPS data from another level, no more need to worry about levels having correct collision types. -Fixed problem with some punctuation characters in text editor. -Added editing 'Type 14' objects, just for completeness. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 69/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
Ok, have fixed that.
Edit: If you were asking how the game is patched: Originally, the game used this for loading the first byte: Multiply the level id by 3 and use that as an offset point R2 to music table address (stored as a dword nearby) load byte into register found at above table + calculated offset The second and third bytes were similar but loaded I got the locations at which the music table, music table + 1 and music table + 2 addresses were stored and replaced them all with the address the overlays are loaded into memory at + the offset of the first music byte (lvl_start + 0x7C), which very handily is the same for all the new overlays. I replaced the offset calculations with offset 0 for byte 1 (0x7C), offset 1 for byte 2 (0x7D) and offset 2 for byte 3 (0x7E). |
Fiachra |
| ||
Local moderator Level: 65 Posts: 70/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
Posted by Mega-Mario Not yet, I can only replace one completely with another I wonder if there's maybe another table that specifies a range of sounds that can be loaded for each level. The first byte, for example seems linked to the level id - it increments for each level or group of similar levels. Eg. JRB and JRB Ship both use 08 and although BOB and WF both play the same music, they use 06 and 07 as the first byte. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 71/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
Finished Noki Bay, including the underwater city, red coin bottle and of course, Nokis! Video/screenshots in first post. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 72/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
Sirena Beach is next, including Hotel Delfino. Then I'll have to make new levels to replace the secret/challenge levels which can't be ported. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 73/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
Posted by mariogalaxythree In order to get the rides to work you'd need to be able to import animation, which can't be done yet and without the rides, there's not really any point in Pinna Park.
That's ok, I'll need to add lots of secret levels, there's room for over 30 of them. Goomba Village sounds good. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 74/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
Posted by mariogalaxythree I don't think so. There'll probably an animation viewer with basic editing of existing animations though. Posted by HRËT Lava isn't an object, it's a collision type, like water, so having them side by side wouldn't cause any problems. It may be tricky however getting them both in the same level as no level contains collision data for both types, so I'll have to figure out and edit the CLPS data section within the overlays. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 75/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
Posted by mariogalaxythree Yes, as these are set by assigning collision types to each face. Also, this is getting a bit off-topic. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 76/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
It seems helmet.kafuka.org is gone.
I've uploaded the documention to Kuribo64's Uploader. Also included SM64DS Text Hacking topic from helmet.kafuka.org and GBAtek in PDF format. Edit: Uploaded updated version of SM64DS Level Format Documentation. |
Fiachra |
| ||
Local moderator Level: 65 Posts: 77/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
Very helpful. If you (or anyone) works it out I'll add a way to calculate the right values. I think byte 2 is related to sound effects somehow.
Disabling the intro is definitely something I want to add to the editor. I'll try looking into it as well. There's an AR code to do it, maybe that'll be helpful. I also want to allow changing starting level. |
(post in restricted forum) |
(post in restricted forum) |
Fiachra |
| ||
Local moderator Level: 65 Posts: 80/1065 EXP: 2231103 Next: 104525 Since: 12-15-12 From: Ireland Last post: 2132 days ago Last view: 81 days ago |
Rev. 43 (12/04/2013)
- Added support for editing paths. - Improved model exporting for custom models (Kd values) - Fixed rare bug with removing certain types of objects where minimap tile IDs were overwriting object parameters. (Probably what Skelux was referring to here) - CLPS entry editing - add, remove, edit and change position of entries Important note on paths: Adding and removing existing nodes won't work but I have no idea why, especially after fixing bug mentioned. You can edit nodes within existing paths and change their starting nodes and lengths. Objects that use paths store the path ID in Parameter 4 (offset + 0xF). When adding a new path, add the nodes first and then add the path and set the indices. Also, discovered why Shifting Sand Land has so many collision types - they used a unique collsion type and path for every single slope! |
Main - Posts by Fiachra |
Page rendered in 0.035 seconds. (2048KB of memory used) MySQL - queries: 21, rows: 141/141, time: 0.013 seconds. Acmlmboard 2.064 (2018-07-20) © 2005-2008 Acmlm, Xkeeper, blackhole89 et al. |