Kuribo64
Views: 14,036,520 Home | Forums | Uploader | Wiki | Object databases | IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search
04-05-21 11:31 PM
Guest:

Main - Posts by Phantom Wings

Pages: 1 2 3
Phantom Wings
Posted on 01-25-13 05:37 PM, in Adding SMG1 Objects Link | #9860
Alright, I'm going to remove a possible source of error, but I have a feeling that we may be stuck if we don't have someone who can use Gecko. Try this patch:



<memory offset="0x803B6E80" value="38800003"/>
<memory offset="0x803C84F8" value="60000000"/>
<memory offset="0x803C84E8" value="3BFE15083BBE1518"/>
<memory offset="0x803C8568" value="4800005C"/>
<memory offset="0x803C9BA8" value="389F1624"/>
<memory offset="0x803C9BD8" value="389F163C"/>


Phantom Wings
Posted on 01-26-13 03:19 PM, in Adding SMG1 Objects Link | #10172
Quite the contrary actually. I simply changed the setup_IceMario routine to load regardless of the flagstate. This means that the game will attempt to load IceMario even in the hub. The freezing is caused by the code that creates Ice Mario - it's most likely a read or write to a null address. Dolphin doesn't catch those and simply lets the game continue running. Most of the time, the game is programmed will enough to handle invalid return values and the like, so it actually works using Dolphin without any problems.

Phantom Wings
Posted on 01-26-13 07:31 PM, in Adding SMG1 Objects (rev. 4 of 01-27-13 02:50 AM) Link | #10181
The other lines skip loading the IceStep objects and replace all references to IceMario's files to InvincibleMario's files. I needed to make sure the game wasn't crashing due the differences between SMG1 and 2's files - I know for sure that making the game load up InvincibleMario's files works for IceMario.

Anyways, I'm going to give this one last try. I've gotten rid of the loading routine for IceMario all together and substituted normal Mario's already loaded model in for it. I'm still loading up InvincibleMarioHandL and R, but there's not much of a way around that; if you want to have it load up the original files, remove the last two lines. The base functionality for IceMario is still there, but there's not much left that could cause it to crash - hopefully.



<memory offset="0x803B6E80" value="38800003"/>
<memory offset="0x803C84F8" value="4800002C"/>
<memory offset="0x803C8524" value="939C0E9C"/>
<memory offset="0x803C8530" value="7F85E378"/>
<memory offset="0x803C8540" value="48000098"/>
<memory offset="0x803C9BA8" value="389F1624"/>
<memory offset="0x803C9BD8" value="389F163C"/>


Edit:

What's the deal? I've spent all this time on making Ice Mario work and it turns out that brkirch has beaten me by 2 years. T_T


Phantom Wings
Posted on 02-05-13 02:16 AM, in Moving Bosses To Other Galaxies Link | #13644
Anarchy is corrupting the object count value inside the bcsv. If you set the first 4 bytes of the file to whatever the original number of objects inside the bcsv was then you should be fine. The Anarchy2 library's archive reader and bcsv editor don't corrupt bcsv data, so you could consider using them instead.

Phantom Wings
Posted on 02-05-13 02:26 AM, in Intro Cameras (rev. 2 of 02-05-13 02:50 AM) Link | #13646
I've made a small app for editing the keyed cameras. It's just a basic implementation, so don't expect anything fancy.

download

source

Phantom Wings
Posted on 02-05-13 02:54 AM, in Intro Cameras Link | #13656
Extract the camera animation (.canm) files from any of the GalaxyZone.arc files and open them using the program. Details on the data is in the earlier posts of this thread.



I've added the source code download to the post above.

Phantom Wings
Posted on 02-13-13 12:40 AM, in Adding SMG1 Objects Link | #15179
I'm limited in what I can do with Dolphin. Seeing as how brkirch managed to get it working so easily so long ago, I doubt it's anything serious. Unfortunately, whatever it is that is causing it to crash could be just about anything. You may not realize just how unreasonable it is to try to continue searching for it using guess-and-check, but doing so would be far more work than it is worth. I have an .iso of SMG2, so I'll see about installing USBLoaderGX on my Wii the next time I get a chance. That will allow me to use WiiRD which will make finding the problem trivial.

Phantom Wings
Posted on 02-13-13 01:06 AM, in Adding SMG1 Objects Link | #15181
It's not as much as I got rid of it as much as I don't live with it anymore. That, and its disk drive failed a long time ago.

Phantom Wings
Posted on 02-19-13 05:21 PM, in We really need a Maya tutorial for Planetmaking Link | #16037
You don't actually need too many tools to make good looking 3D models. I made this one using Autodesk Max, but I didn't use anything more than vertex, edge, and face dragging; face subdivision; and occasionally face extrusion. I initially started out with a simple cube and mostly improvised my way up to this (hence the completely random teacup).

[image]

Obviously it needs a bit of work, but I've never actually done a lot of modelling - let alone trying to make planets or levels in particular. However, by applying simple modelling concepts it's pretty easy to make just about anything you like.

I understand that you want SMG hacking to keep proceeding forward, but why not try to be the one who learns how to use these tools and then creates a guide for it instead of being the one asking for the guide to be made for you. You said that anything is possible for us hackers if we just try, but now it's your turn - Just start with some basic tutorials and I'm sure you'll be able to get the hang of it soon enough.

Phantom Wings
Posted on 03-30-13 01:11 PM, in Adding SMG1 Objects Link | #18828
Flying Mario is actually always loaded in SMG2 because it only consists of a palette swap of Mario and some basic effects. The only reason you can't access him normally is because of a lack of an entry for it in the game's event table. The event table is used to determine what special in game events you have triggered. This includes the mini events that occur when you obtain a powerup for the first time. Because there's no entry for the "GetRedStar" event (internally called フライアマリオ初変身) the game returns a bogus index when trying to read the event flag and it crashes (on consoles, but not on Dolphin which doesn't report memory errors).

Oddly enough, while the Red Star doesn't have an event entry, Ice Mario does. However, because the InformationMessage.msbt file contained in SystemMessage.arc doesn't contain the InformationObserverIce label, the game still crashes just after Mario has transformed (once again, not on Dolphin).

I made up some codes to try them out, but I can't use Riivolution, so I haven't made a .xml to patch them in yet.


RedStar Event Disable
E0000000 80008000
04024104 48000010
04024584 60000000


IceFlower Event Disable
E0000000 80008000
040240C4 48000010
04024544 60000000


FireFlower Grants Flight
E0000000 80008000
042D340C 41820040


FireFlower Grants Ice
E0000000 80008000
042D340C 41820030
043EE32C 8863001A



FireFlower is RedStar
E0000000 80008000
042D4780 38600006

FireFlower is IceFlower
E0000000 80008000
042D4780 38600004
043EE32C 8863001A



They should work just fine as long as you have the appropriate files loaded up. The only thing Flying Mario needs is PowerupFoo.arc and you don't even need that if you use the FireFlower Grants Flight code. Ice Mario needs IceMario.arc, IceMarioHandL.arc, IceMarioHandR.arc, IceStep.arc and PowerupIce.arc.

Overall, there wasn't too much that needed to be tweaked to get them working, but as I said before, trying to find this blindly would have been a futile waste of time.

Also, Happy Birthday Mega-Mario.

Phantom Wings
Posted on 03-30-13 01:58 PM, in Adding SMG1 Objects (rev. 3 of 03-30-13 02:03 PM) Link | #18830
I've been looking into the whole Ice Mario thing. I'm guessing that it's not possible to use a direct copy of the SMG1 files for Ice Mario in SMG2. All this time I've been using a slightly modified set of files to better match the changes in SMG2.

Try them out and see what happens:

Download

Also, here's an interesting tip: the code for using Ice Mario includes a tweak to the resource loader function making it load when a Fire Flower is in the level. It's a dirty fix, so a better way to do this would be to place a MorphItemNeoIce object in the level. While the actual object wont show up, it will still call the preload function for it which will in turn activate the resource loader function and load Ice Mario.

Phantom Wings
Posted on 03-30-13 02:26 PM, in Adding SMG1 Objects Link | #18832
if you haven't already, could you try it with the FireFlower Grants Ice code? I just want to make sure that the PowerUpIce.arc which I didn't include isn't the problem.

Phantom Wings
Posted on 03-30-13 02:53 PM, in Adding SMG1 Objects Link | #18835
Alright then. The only other thing I can guess is that it's something to do with the IceStep.arc or IceMarioHand files. I've just checked IceMario.arc and it checks out for either version. Testing is a pain using a backup loader because you can't patch things like in Riivolution - you have to rebuild the .iso to make any changes.

You mentioned a while ago further up the thread that one of the patch revisions caused something to load, but crashed the game when the message box appeared. Can you try that patch again and see if it works with the message fix?

Phantom Wings
Posted on 03-30-13 04:16 PM, in Adding SMG1 Objects Link | #18840
Alright... Well, there's not much more I can do to help on this end. There's also a possibility that the problem has to do with Riivolution itself - I've heard that it performs differently from both .iso patching and using Dolphin.

I'm going to move on and go pay my regards to the Brawl community. I don't have a lot of time this weekend and there's a few things there they want me to help out with. I hope you manage to get it working.

If you want to try and add something to the BCSV lookup table without removing something else, it might be possible to relocate the whole table to a place with more space for the additional entries. The three assembly instructions that dictate the address and size of the table are located at 0x80342F9C in memory. However, the biggest problem you will probably have will be finding a suitable memory location to relocate it to.

Phantom Wings
Posted on 08-30-13 02:51 AM, in Shadows on Custom Models in SMG 1/2 Link | #31378
If you're looking for a simple solution to the coloring problem blank, then an easy way to do it would be to tweak obj2bdl to take 2 models as input. Process the second mesh in parallel with the first, and for each vertex in the first mesh, assign the texture color of the corresponding vertex in the second mesh to be its vertex color. It's a bit of a crude solution, but I don't think it would be too hard to implement. (of course, you may have a bit of extra work to do if obj2bdl doesn't currently export the vertex color info...)

As far as workflow for modellers is concerned, all you'd need to do is develop your model like usual, texture it, then create a vertex color texture. Then, just export the model once with regular textures and once with vertex color textures. Put both models into the tweaked version of obj2bdl and you're good to go.

In anycase, SM64DS, try to remember that all hacking communities start out small and often don't immediately have access to all the "nice stuff" you've come to expect. The Smash hacking community - as big as it is - originally started with a small texture modding group called ]Syntax Error[. The first texture mods were manually hexed and in order to preview the texture on the model you'd need to burn a whole new DVD of the game. Despite these limitations (couldn't modify shaders, couldn't modify normals, couldn't modify lighitng), they still managed to make some pretty badass mods such as the original Fierce Diety Link and Phazon Samus textures. It would be nearly a full year before the SD based file patching was released and another year after that before anything remotely resembling any of the current existing SMG tools would be released.

Phantom Wings
Posted on 08-30-13 08:49 PM, in Tools recomended for doing 'this' Link | #31417
Perhaps this may be on a slight tangent from what has already been discussed, but a large majority of low level hacking - assembly or otherwise - is done using a remote debugger. Moreover, the early stages of most mods are more often than not established using neither the games source code or a compiler/decompiler.

Effective hacking is usually done in steps. The first and most important being analysis. Most remote debuggers (in this case, either WiiRD or Dolphin Debug) will come with a code search feature to allow you to search for patterns in memory that reflect the happenings in the game. Memory searching - sometimes referred to as code searching - can reveal a lot about the game data - basic things like the world coordinates of in game objects and player health can usually be found fairly easily using a code search. After you have discovered a couple of values of interest, it is possible to create Ocarina codes to manipulate these values to create unique and interesting effects.

There's more to hacking than just searching randomly for values of interest. If you are familiar with C++, then you are familiar with both pointers and structures. Often times, discovering a good data pointer will reveal a lot about how data structures are stored in the game's memory. Understanding these structures in turn allows you to create more complicated codes.

Once you have a fair understanding of in game structures, it might be a good idea to place a few debugger breakpoints on some of the values of interest to view the assembly code that controls them. In understanding the game's assembly code, you may also come to understand some of the data files that the game utilizes to store content. This knowledge can be used to create editing tools allowing others to create customized content for the game.

Only once you have a reasonably concrete understanding of internal assembly should you start trying to write assembly patches. For simple things it isn't so hard, but as the complexity of your idea grows, so too do the factors that need to be taken into consideration. Simple assembly hacks can be made using an assembler and regular assembly injections. Only if you want to build a large scale hack requiring one or more modules do you really need a compiler.



Anyways, hopefully you found this quick summary useful. I'm not sure if you can still buy WiiRD units, but you should still be able to get by using Dolphin Debug - it just doesn't have as many features as WiiRD.

Phantom Wings
Posted on 08-30-13 10:42 PM, in The project's current stability Link | #31437
Perhaps I'm not qualified to comment on any of this, but my opinion of all this? I think the SMG hacking community here is missing something. I think it is missing this:



[img=http://i40.tinypic.com/rw6tm1.png][/img]


That's the custom stages sub-forum of the Smash hacking community kc-mm.com. It's a forum where people can show off the custom stages they've made whatever they may be. There are other sub-forums for characters and movesets, but I'd like to draw your attention to the guy named Mewtwo2000 here. He's one of the lead stage developers for one of Smash's biggest mod projects - Project M. But he doesn't just work for Project M. He makes a ton of other stages and character models just because he wants to be able to show them off. The reason for his work isn't because he wants to advance Project M, but more that he likes making those models and likes to show them to people - even if they aren't used in some big project.

Those sub-forums are more than just a place for people to show off. It's a place for people to practice. More importantly, it's a place for people to motivate both themselves and others. It's a place where even hackers like me can become motivated just by seeing what people are capable of.



Observing things as they are, this kind of thing does not exist in Kuribo - in fact, it is somewhat discouraged. A few months ago StarLight made a comment regarding the lack of tutorials for him when it comes to using Maya to make stages. Me - being a bit over critical - told him that he should try to make his own attempts at stage creation instead of expecting there to be a tutorial telling him how to do it. To his credit, he did just that. However when he tried to show off his progress, the first response he recieved was: "Shouldn't really need a thread."

It is here where I think the problem is. Efforts like Starlight's should absolutely need a thread. Those kinds of threads are training grounds, they are motivators, and they are places that hold the potential to attract new members to the community. I'm not really an expert at communities, but at places like kc-mm, there is always some kind of activity and it's not just the big projects either. Everyday there is always some new blood willing to give modelling or moveset creation a shot because they have a place that they can immediately go to show it off and be appreciated.



I wouldn't say that this would fix all of the community's current problems, but surely it wouldn't hurt to have a place where people can take pride in their own work?

Phantom Wings
Posted on 09-07-13 12:32 PM, in New HUB/ Starship Mario Link | #32044
There isn't really any "makes sense" and "doesn't make sense" in the Mario series if you ask me. SM64's castle had portals to other worlds in the castle's paintings with absolutely no explanation as to why besides that it made for a cool hub mechanic.

On the Peach's Castle in space thing, my spin on it would be to have Peach's Castle as the hub, but it would sort of be a twisted scattering of space debris (think of how the MatterSplatter indoor areas looked). As you complete areas, parts of the castle would be restored allowing you to proceed to other areas.

Concept model:



[image]
(this is just a concept model, nothing is to scale and it probably isn't useable as it is.)


The layout would be similar to the Comet Observatory, but it would feel a bit different due to the state of the castle.



On the topic of the domes, I'm reasonably sure that it would not be too hard to take the logic of the control pad from Spaceship Mario and parameterize it with an object_arg to determine which map gets shown when you step on the pad. One reskin later, and you can have multiple pads scattered throughout the hub which take you to different maps of in the game.

Phantom Wings
Posted on 11-17-13 05:36 PM, in New to Level Creation? Click here! [Complete] [Guide] [To Everything] Link | #35049
Nice job MrRean.

I'm curious about that debug screen you mentioned. This is the first I've heard of it.

On another note, shouldn't there be a level creation sub-forum here somewhere? Sure, there's the SMG2.5 subforum and there's a bit of experimentation going on in General SMG Hacking, but I think it would go a long way to have a section that new and curious level hackers can flock to - especially if it had helpful threads like this one pinned to it.

Phantom Wings
Posted on 11-17-13 06:02 PM, in New to Level Creation? Click here! [Complete] [Guide] [To Everything] Link | #35053
Posted by Luigi
More information can be found on the Debug Screen in the ASM Subforum in General SMG Hacking. If the game crashes, it's just like a debug.It tells you where it went wrong in the game and code.

Level Creation? General SMG Hacking is based off of level making, in a way.


Good point. :)

On the other hand, a lot of level creation threads get buried under the more "General" threads related to SMG hacking. I'm thinking more along the lines of a section where threads like this, this, this, and this one can live without being buried under a few pages of non-level related theads.

Think of it as a place to showcase this community's level creation cred.
Pages: 1 2 3

Main - Posts by Phantom Wings

Page rendered in 0.025 seconds. (2048KB of memory used)
MySQL - queries: 21, rows: 138/138, time: 0.019 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2018-07-20)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.