Airikita Posted November 5, 2012 Share Posted November 5, 2012 For weeks searching through the Iron Knuckle for actor #0015, it was apparent it was not in the Iron Knuckle's AI, but instead was found elsewhere, and is used by all actors that drop rupees, hearts, etc... Behold: This felt like forever to find... 2 Link to comment Share on other sites More sharing options...
john_smith_account Posted November 5, 2012 Share Posted November 5, 2012 This is potentially *VERY* useful. Care to share the details with us? Link to comment Share on other sites More sharing options...
Airikita Posted November 5, 2012 Author Share Posted November 5, 2012 This is potentially *VERY* useful. Care to share the details with us? Well, I know for now that the line of code is actually found in file code.zdata, which is ironic but not really... it seems to be a case of inheritance or composition in this case. Seems as though a function/method is used from code.zdata in order to create these things. It's possible that there's more than just this item spawner in code.zdata than meets the eye... Knowing this, it's possible to dig up more AI-related data if this is the case, since the file is very large. Link to comment Share on other sites More sharing options...
john_smith_account Posted November 5, 2012 Share Posted November 5, 2012 Well, I know for now that the line of code is actually found in file code.zdata, which is ironic but not really... it seems to be a case of inheritance or composition in this case. Seems as though a function/method is used from code.zdata in order to create these things. It's possible that there's more than just this item spawner in code.zdata than meets the eye... Knowing this, it's possible to dig up more AI-related data if this is the case, since the file is very large. So is that a no on the details? Link to comment Share on other sites More sharing options...
spinout Posted November 6, 2012 Share Posted November 6, 2012 This is potentially *VERY* useful. Care to share the details with us? Well, I know for now that the line of code is actually found in file code.zdata, which is ironic but not really... it seems to be a case of inheritance or composition in this case. Seems as though a function/method is used from code.zdata in order to create these things. It's possible that there's more than just this item spawner in code.zdata than meets the eye... Knowing this, it's possible to dig up more AI-related data if this is the case, since the file is very large. So is that a no on the details?This is exactly what I was thinking. It is quite a surprise that it didn't end up being in the actors, but like JSA said, details! Link to comment Share on other sites More sharing options...
Airikita Posted November 6, 2012 Author Share Posted November 6, 2012 It's in code.zdata... if you wish to take a look for yourself, search for 24060015 from the beginning of the rom. There are a few of them that don't do anything, but I'm pretty sure it's the 2nd one down the list that controls grass and enemy drops. Link to comment Share on other sites More sharing options...
haddockd Posted November 6, 2012 Share Posted November 6, 2012 I think that means Airikita wants to keep the info a secret from you JSA Link to comment Share on other sites More sharing options...
Airikita Posted November 6, 2012 Author Share Posted November 6, 2012 What details are you looking for? I don't quite understand? I gave all the information I thought would be helpful. I just used the actor spawn code from Gohma for heart container, and I just searched for collectables which is 0015. Gohma's heart container spawn starts with 2406, and I just added 0015 to it and searched for 24060015. All I did was I looked at the list of files here: http://wiki.spinout1...M:_File_Listing I just assumed that what I was looking for was somewhere else, and code.zdata was my first guess, so I tried that, and what do you know? It was in there! It could've been in anything, but I just tried searching for it in other files, and that just happened to be my first pick. I spent weeks trying to find it in the Iron Knuckle, and it just wasn't there. All it was was an educated guess really... how I tested it was just pure stab-in-the-dark testing, and assuming it would work out. I mean, it was obvious the game had it somewhere because it was being called, so it's not like I was just going to give up. Link to comment Share on other sites More sharing options...
DeathBasket Posted November 6, 2012 Share Posted November 6, 2012 Sounds like you went to a lot of trouble to find it... You would have been better off looking at the disassembled actor (or better, looking at it in RAM) and seeing what runs once the actor 'dies' or runs out of health. That would probably lead you straight to whatever is used for spawning items and such and would not take much time at all compared to what you have done. Well done for finding it anyway though. Link to comment Share on other sites More sharing options...
Airikita Posted November 6, 2012 Author Share Posted November 6, 2012 Sounds like you went to a lot of trouble to find it... You would have been better off looking at the disassembled actor (or better, looking at it in RAM) and seeing what runs once the actor 'dies' or runs out of health. That would probably lead you straight to whatever is used for spawning items and such and would not take much time at all compared to what you have done. Well done for finding it anyway though. Actually it was easier to find the item spawner, it was less work. I was looking through the disassembler with even less luck finding it. Link to comment Share on other sites More sharing options...
DeathBasket Posted November 7, 2012 Share Posted November 7, 2012 Okay, but more generally my point is that by having a little knowledge of how actors are set up in RAM and by using savestates, a memory editor and disabling or forcing different functions to run, you can figure out basically everything you need to know about how actors work without spending too much time or effort on it and giving yourself a major headache. I guess that's sort of beyond the scope of this topic though... Link to comment Share on other sites More sharing options...
john_smith_account Posted November 7, 2012 Share Posted November 7, 2012 Okay, but more generally my point is that by having a little knowledge of how actors are set up in RAM and by using savestates, a memory editor and disabling or forcing different functions to run, you can figure out basically everything you need to know about how actors work without spending too much time or effort on it and giving yourself a major headache. I guess that's sort of beyond the scope of this topic though... Well, regardless the method, it's a good find. Link to comment Share on other sites More sharing options...
Airikita Posted November 7, 2012 Author Share Posted November 7, 2012 I was messing with the spawn variable, and I found that this spawner doesn't generally affect all the items dropped even though the actor number does (with bizarre side-effects): I don't know what gives about this spawner, but if I can use it to my advantage somehow, I can just eliminate grass, keep pots, and have the Iron Knuckle spawn something else.. but there seems to be something missing to make this actor spawner complete. Link to comment Share on other sites More sharing options...
Arceny Posted November 7, 2012 Share Posted November 7, 2012 Too bad I have no idea what you guys are talking about.... :/ Link to comment Share on other sites More sharing options...
Three_Pendants Posted December 7, 2012 Share Posted December 7, 2012 Oh my heavens! This is very long in the coming! Incredible work Airikita! It only took... five years, but I'm glad that you finally found it after all of this time! The idea about having Iron Knuckle's (or really any enemy I would suppose) drop Golden Skulltula tokens is now a very close reality! Link to comment Share on other sites More sharing options...
Recommended Posts