-
Posts
143 -
Joined
-
Last visited
-
Days Won
10
Content Type
Profiles
Forums
Downloads
Calendar
Bug Tracker
Everything posted by Strati
-
I can't even beat the computer highest score! There's some kind of subconcious conditioning within me that keeps pushing me to form L-shaped jewel connections in the hope they'll combine and pop. If you ever get that Megaman X3 challenge up again, I'm in.
-
With the proper aiming stuff settled, this could allow a new type of puzzle, using a "ricocheting" arrow mechanic.I'm not sure whether those arrows will only damage link or they can actually trigger switches, though.
-
Amazing. I could take some proper texturing lessons from you
-
From my notes, that type is 012 for easy reference: When importing the map in Sharp Ocarina, at the desired collision set, select "Killing Quicksand" and change the Raw Data "18" to "12."
-
Good story so far.I have a small observation, though. Back at chapter 1, Sheik's essence mentions this:"You must not waste time, Link. You are Hyrule's last hope. I will remain here. Once you have provided aid to the Sages of Forest, Flames and Water, return to me. Good luck, Hero of Time."That's the thing Navi wouldn't let pass... or maybe Link just decided not to press C^ this time and managed to endure the "Hey!" all along the way.If Zelda is dead, that would mean the Triforce of Wisdom is up for grabs. I wonder if that's related with all the Sage killing.If this were an actual game, I could totally picture Zelda being still alive, hiding in the Temple of Light, just waiting for Link to assemble the Prelude of Light, with some ready excuse for how she couldn't have told you the truth right away, so you had to visit the temples all over.
-
If someone makes a crap video like that and despite it all, still posts on youtube for all to see, how can you expect anything good? Low standards FTW.
-
The problem is: a hardcore zelda fan doesn't make a hardcore programmer/designer.
-
is there a specific way to export from blender to sharpocarina?
Strati replied to Agnostic Priest's question in Q & A
I'll try to help, step by step. First let's test blender exporting on its own, with a simple mesh. 1) Add a plane: Add >> Mesh >> Plane; 2) Assign a Material: At the properties panel, go to the Material tab and click New; (This might be automatic, but to be sure, change the 3d view to Edit Mode and with the plane selected, click assign in the Material tab); 3) Scale it to a reasonable size: in "Edit Mode" press S at the 3d view, then input 100, to scale x100; 4) Unwrap the UVmap: still in Edit Mode, press U and choose Unwrap; 5) Choose a texture: Change any panel to UV/Image Editor view. There, select Image >> Open Image and select any image within the OoT texture standards (.bmp images may not work, though) ; 6) Exporting: File >> Export >> Wavefront (.obj) 7) At the exporting options, check only 'Include Normals', 'Include UVs', 'Write Materials', 'Triangulate Faces' and 'Objects as OBJ Groups' 8) Try Importing with SharpOcarina. This may help with importing and testing ingame maps, too: https://code.google.com/p/sods-blender-plugins/ If the problem is with Sketchup exporting only, please upload a .obj export for me to test in blender. -
Water Temple = WoodenBox Temple.
-
Some months ago I have slowly started to re-learn blender and make 3d maps for the alltp world, my first idea being to make a remake using the most I could from the OoT engine. I never intended to do anything grandious, rather I decided to use a already created world concept as a way to have a easier direction to follow and learn. I knew that messing with a classic game like this would, in a certain way, give my little humble project a bigger proportion than I ever intended, so I refrained from talking about it. After working a bit on the maps, I learned that I would have to change a few things in the 2d to 3d transition. The 3d maps need to have a visual edge you must respect. If you look at OoT itself, you can notice how most locations are dug in. There's always huge walls setting regions apart and you rarely see the horizon. On the contrary, alttp world has a vast, field format with little division, so I had to create some mountains and cliffs here and there, together with 'tree-texture walls', that I particularly dislike, but that's how most n64 games go with. Around this week I learned nintendo themselves remade the alttp world for a new game to be released and just now that an accomplished hacker was to undertake this same idea of recreating alttp in 3d. I confess this demotivated me quite a bit. That and hating how bad my maps are coming out lately that I can't take any decent screenshot. So far I'll keep my shallow objective of completing the light world outdoor maps and see where I go from there. I'll be posting visuals here sooner or later. Here's what once was my "proportion control" map, with simplified versions of meshes and coloring. Progress Bar: ██████████████████████ nothing yet - primary mesh size-leveled mesh - details added collision set - primary actors added environment set - revised mesh
- 72 replies
-
- 17
-
-
I'm willing to do a number of rooms per scene list, do you still need it done or you're going on your own?
-
Post any screenshot of Zelda models, dungeons or mods you´ve done.
Strati replied to pkjoan's topic in Randomness
A primary mesh for the swamp from alltp -
Thought of this one:
-
But it's there...The usual procedure for any program would be File->Open: There is only one XML on the Demo folder. Just open it and you have the demo in for a start.
-
Functions to add from the top of my head: An option to chose the time flow, static day or static night. Creating different object sets (I don't really know how the game chooses which one to load, so maybe it goes beyond info on scenes/maps) The main problem is the need for external databases. I remember constantly having to open the wiki then converting between hex/decimal to get the BGM I wanted. Or go through a battery of testing to find out the value that would make the floor ice-slippery or what each of the 12 basic environment lighting sets stand for. Having the values to use being more accessible, in dropdown lists would save a good deal of time. There is also something with alpha textures and skybox outlines. To be honest, I think I read a thread about this a while ago, but I don't know if there were any solution: On the topic of intuitive interfaces, I think it's very straightforward if you know what you're going to do. The idea that someone shouldn't read the readme to use a program doesn't seem fair. For me it's very important that the person insterested in hacking a game do some research on how things work. The dungeon demo that comes together with the program serves as an example to most of the program functions, if you care to open it and study it a bit.
-
By the way, didn't the 2nd form of the last boss had some dance moves too? I wonder if it shares any animation with the Kamaro's mask.
-
PPF Studio
-
Sorry for double-posting. It's for a good reason though. I had to fix yet another thing in the patch - blame my lack of attention. Hopefully now, it will work as it should. If it still doesn't work for you, giadrosich, tell me and I'll post the all the places for Hex editing, step by step. Lastly, I've been testing with a custom map and unfortunately, the sword grabbing/dropping animation is relative to the 0,0,0 coordinate of the map, so wherever the sword is, Link will appear grabbing a air-made sword near the 0,0,0 spot. With much luck, those positions are relative to rooms, but most probably it's for the whole scene/collision map.
-
Almost that. The value you want for Deku Tree is 0000. You'll find the list says: 0000 Child: Day : Entrance 00 : 0000 Deku Tree0001 Child: Night : Entrance 00 : 0000 Deku Tree0002 Adult: Day : Entrance 00 : 0000 Deku Tree0003 Adult: Night : Entrance 00 : 0000 Deku TreeBut you don't need to consider time and age, just take first value. Example: Ice Cavern, values 88 to 8C These codes obey a pattern: 0088 Child: Day0089 Child: Night008A Adult: Day008B Adult: Night008C Cutscene --> has age predeterminedAs I said, take the first value, 88. Let's say you just arrived from the future, nighttime. So, you should appear as child by night. How it works internally: The game takes the 0088 value you put into the variable and adds another value according to the new situation: 0088 = 0088 + 0 >> Child: Day0089 = 0088 + 1 >> Child: Night008A = 0088 + 2 >> Adult: Day008B = 0088 + 3 >> Adult: NightIn this case it would be +1, but you shouldn't worry because the game handles that change on its own. Possible reasons why it's not working: 1) It's interferring with another change you made, so the ideal proof test would be trying it into an clean rom; 2) The ROM I used to make the patch is different from yours. I don't know how to identify that, though. 3) I haven't tested it outside of the Temple of Time.
-
Updated that post above with an updated patch. Now if you leave the variable as it is (default FFFF) it will work normally. I'll also fixed a small problem that made the game glitch with child Link. Messing with the Master Sword: The Story After investigating the cutscene exits, thanks to the wiki I could find the address of the redirection table. Both cutscenes pointed to entry 8. At first I thought there were separate tables for child cutscenes and adult ones, but after breakpointing I found out the obvious - they point to the same table, thus, the same function. I used a breakpoint in a JAL to the Spawn Area function and backtracked the values until I identified the address where the scene entrance offset is kept. From there, I needed to figure out how to access the actor's variable. With the hint from Jason, I went to work into the first patch. My first problem was to find empty space so I could write the new code. Near the end of the file, there were 3 instances of the same ascii data, which were accessed by the draw method. After a brief test, I confirmed I could overwrite the repeated data without breaking the game. That gave me the space for around 8 instructions to work with - more than enough. 9601001C lhu at = (s0 + 0x1C) //s0 is the virtual address start3C198006 lui t9 = 8006273955AE addiu t9 + 55AE //RAM address for the entrance offsetAF210000 sh *(t9) = at03E00008 jr raThe hard part - that ended being very easy - was to find a breach in the normal code where I could insert the JAL to the new function. My luck was to find one right at the actor loading part so the extra code would run just once instead of each iteration of the main loop.OLD CODE NEW CODE26050150 addiu a1 = s0 + 0x150 0C22F112 //JAL to my code55C00003 bnel if t6 = 0 go to Label 0 26050150 //addiu in delay slot8C4F1360 lw t7 = *(t6) 15C00003 //bne replaces the bnelAE000134 sw *(s0 + 0x134) = 0 8C4F1360 //lw in delay slot8C4F1360 lw t7 = *(t6) AE000134 //swLabel 0After struggling a bit to learn how to write MIPS in hex code and calculating the JAL offsets, I went to test it. It failed heavily - my new JAL wasn't realocated to reflect the virtual address, so the code was thrown in a blank range of the memory, bringing the game to a crawl. Eventually, I found the info I needed in the Actor page from the wiki: The last lines of the actor code hold an array for instructions that need the offsets they'll work with adjusted. There I found just the space I needed, a word worth of 00s at the end of the array. Instead of writing the entry fix for my JAL at the end, I "pushed" the code over those 00s and wrote the entry where it would be given the natural order. Tested the game, adult Link pulled the sword, child Link appeared at the Deku Tree. Ok, It works, I'm tired, gonna post the patch... Patch 2: So, the deal was if you don't mess with the MS variable, it should work normally, not take you back to the Title Screen. With a few free spaces left from before I added the test and branch instructions, relocated the JAL target for a few lines above and tested it with child Link. FINAL CODE9601001C lhu at = (s0 + 0x1C) //s0 is the virtual address start3419FFFF ori t9 = R0 OR 0xFFFF //t9 = FFFF13210003 beq at,t9; (PC + 16) //if at = FFFF, branch to jr3C198006 lui t9 = 8006 //delay slot273955AE addiu t9 + 55AE //address for the entrance offsetAF210000 sh *(t9) = at03E00008 jr raThe game slowed to a crawl, just like before. It came to me I never tested the first patch as a child and went back to see if the game was crashing without the new additions to the code. It did crash. After some thinking, I found out my mistake: When I added that entry to the relocation array, I counted 21 entries, just as the header said. Forgot the basic rule that arrays start counting from 0, so the last instruction I pushed to the place of those 00s wasn't being parsed to the virtual address and sending the game to a derelict area of the RAM where NOPs are kings. Finally, 21 becomes a 22 and that settles the score.
-
Done! http://depositfiles.org/files/5n62gq8dh You must change the MS variable to the exit number you want (check the exit table). That includes the Temple of Time itself, because I was too tired to do the extra "IF x = FFFF, branch out". If everything goes right, I'll fix that soon. That will put you at an entrance, so the idea would be to add an entry point in front of the pedestal. Still, it will be as you just entered, without the animation when you arrive from time travel. It's far from be the ideal solution, but for now it will do. Jason, thanks to your info I found that one of those numbers that kept appearing within the actor actually stood for the start of file, actor table address. By the way, I updated the disassembled MS document, so it's slightly less confusing.
-
Some questions: Although the user guide says it's possible to add frames to Link's animations, the program doesn't seem to change the number of frames when the button is clicked. Is this just with me or does it happen for any of you? Could a way to manually enter the animation offset be implemented? Navigating through Link's animations is often a clicking hell. This one may not relate to the program function at all, but it's something I would like to know: Do one, while changing parts of Link's clothes need any specific caution so the different tunic coloring works correctly?
-
Thank you, Three Pendants. I actually was reading this topic earlier, but haven't looked yet into the MS aquisition code. My major concern now is finding how to retrieve the actor variable value. The spawn actor has it as an argument in T2, but it is soon overwritten without being read. The stupid reasoning is that it's used somewhere earlier in the code, but it still doesn't explain why the function receives it. I thought of retrieving the address directly from the map data, but I think that would require a big control over actor indexes and offsets if we were to implement a function that runs from different maps. By the way, I have a maybe n00b question on that: Is there any way we can find where virtual addresses will be? Or at least a reference address, maybe a table with pointers?
-
I've been studying the Master Sword code these last days and translated the code into something a bit more understandable. There's a lot of notes that may or not make sense. Here it is: http://depositfiles.org/files/y0nauhzpm WARNING: A good deal of addresses and values may work only by determined conditions. To Do: Find the external function for adding the MS to the inventory and search deeper into the exit routine to get how the child / adult changing works exactly. I think that idea to implement the variable => entrance could be done, I am just not so sure about how to handle the age switch.
-
No, I meant "asking for things" as in "being a lazy leech and demanding people to do things for me instead of doing them myself". Like you, I would like to adjust the Master Sword actor to be used with Adult Link and I have a good idea on how things work, I just can't locate the proper data. So, as for asking questions, yes, if you know the proper approach to locate the data relative for the code you want to change, please share it.