![]() Register - Login |
||
| Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users Ranks - Rules/FAQ - JCS - Stats - Latest Posts - Color Chart - Smilies |
||
| Jul - Posts by messiaen |
| Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 45 46 47 48 49 50 51 52 53 54 |
| messiaen Catgirl Level: 61 Posts: 253/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
VL-Tone, why don't you pack a few more features (ie, background editing and texture descriptions) and release this as a public 0.6 since it seems to make a huge difference for Vista users? This way you could save 0.7 for the first polygon importer version .-------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 254/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
| Ops, I deleted it because I finished a much better version: http://www.youtube.com/watch?v=KMkJWkRRBak And here is the "source" in MIPS and Pseudo-C. I also updated the site with some parsed music files. The music events itself aren't included, just the basic data layout and commands. Hopefully this will be of help for figuring out more music commands. -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 255/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
| If you "zoom in" enough, you can actually see when objects start to collide because the texture will flicker. The game actually don't care if you collide two solid objects, so I'm not sure if it's worth working on this. About camera positions, this is something we know very little. So far, the only hardcoded camera setting I've found (almost by accident) was the initial castle grounds position. I guess we'll have to see how the game will handle a imported level (camera-wise) before choosing the best option to deal with it. As for bosses star coordinates, if somebody is willing to help I have a working method for finding them using Nemu. It's just a matter of sitting at the computer, beating the bosses and collecting some numbers from the debugger. If anybody is interested in helping so this can get implemented soon on TT64 I can work out a detailed guide with screenshots. No ASM knowledge is required. -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 256/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
|
Here is a little tool that may help discovering more about the music format: Mario 64 Sequenced Music Parser v0.01alpha. It reads the raw data of a 'sequence file' (refer to first post in this thread for offsets) and outputs a parsed .txt file. I posted a few sample files at the URL above (not the same that were posted two days ago). This is something I programmed quickly for myself, however since other people might be interested (rstewart are you still there ?) I'm releasing it.The output quality (especially for the specific music data) varies a lot, but the purpose of this is to help discovering about the format itself. I recommend reading first the "koopa.txt" file, because it's almost 100% correct, except for a bug with the 0xC0 command (which I think has a variable lenght, sometimes 1 byte sometimes 2.). Sample output for the Title Screen SMB1 music:
-------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 257/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
| The link is to a folder which contains the program (m64parser003.zip) and also a few already processed files. Edit: Big update! Download link for v0.03 and a specification of the format. The current version can decode about 5 or 6 tracks 100% ! Edit 3000: Here is another retro music hack .-------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 258/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
| Blaster: Regarding your suggestion no. 4, I posted something about it in the bugs report thread. VL-Tone replied and asked for a few specific details (which I haven't tested yet), so take a look at this post and if possible try to test them out. As for performance, the only thing that has slowed down for me is when selecting a 0x24/0x43 object. When I click it, either on the object itself or in the object listing, it takes about a second to select it. After this slight delay, everything is normal again. -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 259/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
Ah, you are the Zeld guy from Kodewerx . Awesome stuff!Just out of curiosity, since you use the 'expanded' (after 0x400000) memory, how do you plan to turn this into a ROM hack? Find some unused space in memory/ROM and .ORG everything there? I ask this because I'm experimenting with some complex ASM codes (for ROM Hacks) in Mario 64, but I've been mostly replacing unused functions or using 'level-specific' (dynamically assigned) memory. Again, amazing work! -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 260/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
| This is a very old N64 trainer-howto but it has some interesting information about how to use standard ultralib functions as hooks. -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 261/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
| I used a bit the script dumper and looked at some of the functions called the 0x18 Geo Layout command. I think I got some pointers for polygon data, all of them in Bank 0x07: I see some 0xBF triangle commands in these areas, however the other data doesn't seem RSP commands. These pointers are loaded from the Checksum area (the waterfall is at 0xEBFDC and the lava pointers are nearby pointers, including the lava ones). -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 262/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
| That's a really great start, Celux! You have clever ideas, especially on the Castle Grounds. The Fly Guy worked very well with the Toad behavior. -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 263/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
| Me-me posted this on the suggestions threads and, as he pointed out, maybe this is a better topic for it: "The camera anchors [Behavior 0x3C7C]" are in fact, static sound effects. In castle grounds, the one close to the waterfall, for an example, makes the waterfall noise. The other ones makes those insect and bird noises. In shifting sand land there's one object wich makes the sandfall sound. " Nice find! I looked at this object ASM, and there are three possible arguments (Param 2): 0, 1 and 2. Each one will play a different "bird-related" sound.. Try this code for a different sound (enable it in the title screen):812F08FA 2028 812F090E 2028 812F0922 2028 Actually, the waterfall noice isn't produced by this behavior, it's probably something more complex because it takes in account mario distance's to set the volume. Also, I don't know how much has been experiented with this, but if you disable "Warp (Mario Start 1)" for some act and enable this act for "Warp (Mario Start 2)" you can set different starting points in the same level. Me-me, what are the behaviors of the objects in the Shifting Sand Land level? I might as well take a look at those. -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 264/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
| As you may know, Toad's Tool 64 saves all object, geo layout and behavior descriptions in three main text files. These are objects_labels.txt, main_labels.txt, bparams_labels.txt, found in your TT64 folder. Any description can be changed inside Toad's Tool 64 interface by clicking on it while holding the "Alt" key [Screenshots will be provided later showing the process]. Changes are automatically saved. I propose an update of the original files so we can integrate some of the things we discovered since Toad's Tool 64 was released. If you have better description for behaviors, discovered the meaning of some object param or what an "unknown" object does, post it here so that the descriptions can be updated. I'm starting by providing a first update. I haven't added yet some behaviors from "Unused" objects because I still have to test the bug that happens when you add new behaviors. Rev. 001 (24/09/2008) Change Log: ---------------------------------- - Behavior 0x3C7C renamed from "Camera Anchor?" to "Procudes Bird Sound when near it". Geo Layout Combo updated to "Bird Sounds". Valid Params also were added. - Behavior 0x1F3C renamed to "Ridable Koopa Shell". - All level meshes Geo Layouts are now labeled as Level Mesh (level area #) instead of Unknown, to make it easier when using the Script Dumper. Download. Unpack into your main TT64 folder and overwrite the files. -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 265/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
| I didn't see you post, but this is the problem, if you don't use the behaviors they end up not showing up on the list. Some interesting behaviors aren't used directly in the 0x24 objects and thus won't show up in TT64. This is the case for most "Unused" behaviors. For instance, the wing cap and metal cap are usually spawned by [!] Boxes, but if you assign the correct behavior you can have it directly on your level. -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 266/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
Nice mini-game , I applaud your creativity!I think you should start a thread showing your mods, they are very interesting. The only thing that bothered me is that I couldn't see Mario, I think a tiny jumping Mario would be more fun. You can actually patch the ROM to skip Peach's intro (even on a new game). I was writing a program that did that and many other general changes but its on hold for now. If you are interested I can patch your ROM so that Peach doesn't get on the way .I'm looking forward to see more from you. If you are interested, I have a mod called Platform Battlefield which adds some custom platforms to Flatworld so you can build some simple levels from it. -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 267/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
| It gets more messy than that! I looked at this other "water" function found in the Castle Grounds Level Mesh Geo Layout: 1800 1601 802D 104C <-- Loads two water polygons areas (under the bridge and near the start) It seems to be a very general water function, and the "1601" is an argument which leads to a hardcoded pointer (not loaded from the checksum area but as immediate instructions) value 0x07011738. Here is what is found at 0x11738 of Castle Grounds: 00FD8F3F 0000 0000 0701 16F8 0001 0000 0701 1718 00FD8F4F FFFF Two more (numbered) pointers, which seems logical because there are two water area polygons loaded by the 0x18 command above. Subtracting 0x11718 - 0x116F8 = 20, so that's probably the lenght of each command. Look at the data: 0x116F8: 0001 0000 0014 000F E427 E3CA E427 FFC6 203D FFC6 203D E3CA 0001 0096 0000 0000 Hmm, are these coordinates of some type? [Rememer the water polygons are a simple rectangle] 0x11718: 0001 0000 000F 000A 0400 FFC6 0400 1FC9 2026 1FC9 2026 FFC6 0000 0096 0000 0000 The value pointed by the "Waterfall" function is 0x11750. I'll just paste everything from this point to the end of the Bank 0x07: Edit: It's been a long time since I read this thread, so I just realized now that this is the same data found by VL-Tone on the first post, I just found the pointers which calls them. With some ASM work, these can probably be flexibilized to create new water areas (in custom levels). Waterfall data, however, seems to be different. -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 268/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
| Here it is, a conditional collision command that will detect the model ID used by an object and assign the right collision pointer from a pointer list in the ROM! It was possible thanks to Yoshielectron warning me that there is a "graphic pointer" list stored in the RAM, so I just made it compare all entries of that list with the current graphical pointer stored at the RAM Object. When there's a match, it loads the appropriate collision. Here is how it works: Universal Solid Behavior 0009 0000 1200 0000 0B00 1000 # segmented address of collision pointer list 0800 0000 0C00 0000 8038 39CC 0900 0000 At 0x1000 of Bank 0x0B there should be a list of segmented collision pointers. It must be word aligned (multiple of 4) and its lenght should be 0x400, enough to hold 0x100 collision pointers. The first entry will be unused, because there isn't a Model ID 0x00. To find the the right spot for a pointer, just do [Model_id * 4]. Here's the source as well as compiled code to be patched into the ROM. Later I will insert comments in the code. I tested it a lot in Nemu and then in one of my "Platform Battlefield" patches by assigning all objects the same "master" solid behavior and seeing if the appropriate collision was loaded. There is, however, a small problem. Some bigger objects needs to have their collision loaded from a greater distance from Mario than the usual setting. That's what the "0E 43 xx xx" command does. To avoid problems, I guess the pointer list could also contain another argument indicating this setting. I'll take a look to see how it works, maybe TT64 could calculate a safe value (object size + x) from the imported object polygon data? -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 269/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
| It's probably related to the "collision distance" setting which I removed from v0.4 because of possible slowdowns. Since the collision gets loaded when Mario is too close the object, it may cause some glitches. However, I'm experimenting a radically different approach to the collision problem by using a custom "solid" behavior which can be used on any model (that is, which has its own individual collision). This way you don't have to change the behavior when you choose a different model, and if you want for instance a "rotating platform", you won't need a unique behavior for each model, you can just assign it to any object and the right collision will be used. So, I may release a v0.5 of this patch so that this system can be tested. It's really practical, as it uses only two behaviors for the entire level: one for general solid objects and the other one to be used only on platforms which have enemies standing on them. -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 270/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
| Celux: I'm not a moderator or anything, but if you expand a bit your mods and finish a few levels I think it may be worth its own thread. Perhaps you could try to blend these short mods you have done? Your "arena" Castle Grounds is very nice, you could use it as a hub for a few levels. Blaster: I did a quick playthrough of your mod, it's nice however on the "Rocky Mountain" act I found the platform after the 4th screenshot you posted a bit too hard (but then, I'm not a good SM64 player!). -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 271/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
Blaster: The idea is that if you use selectively, it probably won't slowdown the level. The problem is that if I wanted to do something like this before I would need about 15 extra behaviors (one for each model), now I just need one, so it's a LOT less work .Stevoisiak: Good idea, I will try to include the Lethal Lava Land patch in it. In fact, the same general "solid" behavior used in the Bob-omb Battlefield levels will also work on this one. If there's request for it, I can also make it compatible with v0.4 so that you don't lose your work if you started something. My idea is something like a simple patch utility that will copy your objects from one ROM to another. -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| messiaen Catgirl Level: 61 Posts: 272/1085 EXP: 1795237 For next: 81359 Since: 11-20-07 Since last post: 197 days Last activity: 183 days |
|
||
| I'm not sure, it has to be tested. It depends on the complexity of the model, ie, you can have a lot of very simple platforms with this setting without having slowdowns, however the "hexagonal" platform is much more complex so it can't be used many times for this purpose. -------------------- Mario 64 notes @ http://sites.google.com/site/messiaen64/ |
| Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ... 45 46 47 48 49 50 51 52 53 54 |
| Jul - Posts by messiaen |
![]() |
Acmlmboard - 07/23/2013 b378.03 ©2000-2013 Acmlm, Xkeeper, Inuyasha, et al. |
| Query execution time: | 0.081518 seconds |
| Script execution time: | 0.086178 seconds |
| Total render time: | 0.167696 seconds |