haddockd Posted November 11, 2014 Share Posted November 11, 2014 I know how they work but cannot find the one for the Flare Dancer anywhere in the documentation. Does anybody have the address in ROM for it? Link to comment Share on other sites More sharing options...
0 Jason777 Posted November 12, 2014 Share Posted November 12, 2014 Well, I couldn't find any references to the damage table within either of the disassembled actors so I had to look at pointers to actor 0x00AB's damage table in RAM (located at 0x98 in the actor panel) and I got this: 00 02 01 02 01 02 02 02 01 02 04 04 04 04 00 00 00 04 00 00 00 00 01 02 04 02 04 08 00 00 00 00 Located at 0x00B94EC0. It's weird because only modifying the damage amount seems to do anything, unlike the damage effect. It would be worthwhile to investigate just where the damage table is set for this particular actor... Link to comment Share on other sites More sharing options...
0 mzxrules Posted November 17, 2014 Share Posted November 17, 2014 Actor panel is a dumb name. Should be called the common actor struct. Link to comment Share on other sites More sharing options...
0 haddockd Posted November 17, 2014 Author Share Posted November 17, 2014 Not to be a douche, but how does that add to the issue or conversation mxrules? Link to comment Share on other sites More sharing options...
0 Arcaith Posted November 17, 2014 Share Posted November 17, 2014 Naming conventions have always been a sticky issue. 'Objects' versus the older 'groups', 'path nodes' and 'waypoints'...etc. It helps to have a good naming convention from the beginning, but ultimately people are going to have their own terms. Having said that, it doesn't directly contribute to the issue at hand. I'd suggest trying much larger/smaller values. If nothing changes, there's something secondary that you're missing, or you're looking at the wrong data. Link to comment Share on other sites More sharing options...
0 mzxrules Posted November 17, 2014 Share Posted November 17, 2014 I intend to make a push for more comprehensive documentation of actor files and their instanced structures when I get the motivation, and I just don't like the "actor panel" term. More on topic: The references to damage charts are set via assembled code, and not stored as a pointer in the data block? Edit: Even more weird, 0x00B94EC0 should fall within code, not one of the Flare Dancer actors Link to comment Share on other sites More sharing options...
0 Three_Pendants Posted November 17, 2014 Share Posted November 17, 2014 Hmm, I wonder if that is a generic damage table, perhaps? I know when I was doing some disassembly research on enemies a while back several enemies lacked unique damage tables (Ghoma Larvae come distinctly to mind, hinting that they were originally supposed to be use uniquely in the boss fight.) which are also used by a fair amount of the bosses. I wonder if this damage table in code is something similar? Link to comment Share on other sites More sharing options...
0 Jason777 Posted November 17, 2014 Share Posted November 17, 2014 I intend to make a push for more comprehensive documentation of actor files and their instanced structures when I get the motivation, and I just don't like the "actor panel" term.Hey, don't look at me; I first saw the term used by DL-77 while reading a couple of IRC chat logs. You can call it RAM actor "instance", etc. More on topic: The references to damage charts are set via assembled code, and not stored as a pointer in the data block?They are initially set up by calling a function that takes a pointer to the data block that is the start of the damage chart. Afterward, it's almost like a standard that the pointer is stored to 0x98 within the actor's instance though. Actually, I think all data from the start of the actor instance in RAM up to a length of 0x140 bytes follows a "standard": http://wiki.spinout182.com/w/Actors#Actor_Instances That being said, I usually take advantage of this standard and look for code that directly sets where a pointer to the damage chart should be placed within the actor instance data. Edit: Even more weird, 0x00B94EC0 should fall within code, not one of the Flare Dancer actorsIndeed, very weird. I could not find known code ("jal 0x8005C364") that directly sets up the damage chart nor could I find anything that sets standard instance data related to the damage chart. So, I went in the game, targeted a Flare Dancer "core", used the pointer at 0x80213CEC to grab the RAM address of the z-targeted actor (Flare Dancer "core") and then looked at the pointer stored at 0x98 within the actor's instance data. Afrerwards, I tried modifying the damage effects within the damage chart via RAM but that seemed to have no effect. However, modifying the damage amount did produce the expected results. Link to comment Share on other sites More sharing options...
Question
haddockd
I know how they work but cannot find the one for the Flare Dancer anywhere in the documentation. Does anybody have the address in ROM for it?
Link to comment
Share on other sites
7 answers to this question
Recommended Posts