Airikita Posted May 21, 2013 Share Posted May 21, 2013 This is a list of static values referencing the rock actor (ovl_En_Ishi), which is undocumented on the wiki. Only certain values are listed, but not these ones... ovl_En_Ishi (example): 002D0028 00230000 B86CFB50 B870B1E0 B0F404B0 B0F80096 30FC0190 B86CF63C B870B1E0 B0F407D0 B0F800FA 30FC01F4 086A086C 80A7F8A0 80A7F8CC 00000000 1B5B3433 3B33306D 00000000 C3CFCCCC A4CBC9D5 C3E5BCBA C7D42825 73202564 290A0000 2E2E2F7A 5F656E5F 69736869 2E630000 1B5B6D00 2E2E2F7A 5F656E5F 69736869 2E630000 2E2E2F7A 5F656E5F 69736869 2E630000 2E2E2F7A 5F656E5F 69736869 2E630000 BF4CCCCD 3F4CCCCD BF666666 3F666666 BF4CCCCD 3F4CCCCD 3F333333 3E4CCCCD 3DCCCCCD 477FFF00 00001590 00007A00 00000090 00000000 format: 002D0028 00230000 aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg hhhhhhhh iiiiiiii jjjjjjjj 086A086C KKKKKKKK LLLLLLL 00000000 mmmmmmmm nnnnnnnn oooooooo pppppppp A4CBC9D5 C3E5BCBA C7D42825 73202564 290A0000 2E2E2F7A 5F656E5F 69736869 2E630000 1B5B6D00 2E2E2F7A 5F656E5F 69736869 2E630000 2E2E2F7A 5F656E5F 69736869 2E630000 2E2E2F7A 5F656E5F 69736869 2E630000 qqqqqqqq rrrrrrrr ssssssss tttttttt uuuuuuuu vvvvvvvv wwwwwwww xxxxxxxx yyyyyyyy zzzzzzzz 00001590 00007A00 00000090 00000000 aaaaaaaa = gravity or velocity of rock when thrown(?) bbbbbbbb = unknown cccccccc = unknown dddddddd = unknown eeeeeeee = unknown ffffffff = y-axis velocity speed of rubble gggggggg = relative x-axis or z-axis of rubble velocity/position (higher goes right) hhhhhhhh = Seems to affect dispersing of rubble iiiiiiii = unknown jjjjjjjj = unknown KKKKKKKK/LLLLLLLL = address pointers (vram of actor) mmmmmmmm = unknown nnnnnnnn = unknown (looked like the dust was affected?) oooooooo = unknown (looks like nothing) pppppppp = unknown qqqqqqqq = rubble velocity height (max y position the rubble flies to) rrrrrrrr = maximum outward radius/velocity of rubble ssssssss = unknown tttttttt = unknown uuuuuuuu = unknown vvvvvvvv = unknown wwwwwwww = unknown xxxxxxxx = ???? yyyyyyyy = ???? zzzzzzzz = ???? * List will be updated until it is complete Link to comment Share on other sites More sharing options...
john_smith_account Posted May 21, 2013 Share Posted May 21, 2013 I find this interesting. A heads up in case it's not documented yet, some actors are damaged by throwing actors 0110 crates at them, but I don't know if all actors are. You might want to check on this in your research. It would be nice if we could mod the rocks, and pots to damage foes like in lttp. Link to comment Share on other sites More sharing options...
Airikita Posted May 21, 2013 Author Share Posted May 21, 2013 It's a good thought too, that would be useful for my mod if I can figure that out... although I have moved on to something else for now. Link to comment Share on other sites More sharing options...
petrie911 Posted May 22, 2013 Share Posted May 22, 2013 Would it be possible to modify crates so that they do not break when thrown? It would allow for some fun puzzles. Link to comment Share on other sites More sharing options...
Airikita Posted May 22, 2013 Author Share Posted May 22, 2013 It is possible! I'm sure there's a condition or function that can be fixed to avoid the call for the breaking. Link to comment Share on other sites More sharing options...
Jason777 Posted May 22, 2013 Share Posted May 22, 2013 I'm guessing that these are the float values that show up in your Value Editor whenever you make a scan from 00E35030 to 00E3E250? Link to comment Share on other sites More sharing options...
Airikita Posted May 22, 2013 Author Share Posted May 22, 2013 I'm guessing that these are the float values that show up in your Value Editor whenever you make a scan from 00E35030 to 00E3E250? Unfortunately not really... the ones I found are loaded in the AI, but I did not program the changer to alter static float values because they are set to registers via a vram address to load during run time. I am looking at the code, but I have doubts I can get my value changer to work with static references. Link to comment Share on other sites More sharing options...
Jason777 Posted May 22, 2013 Share Posted May 22, 2013 The way I would check it is to look for the lwc1 opcodes that grab data from virtual addresses (virtual address > 0x807FFFFF) within the actor. Then, subtracting the start virtual address of the actor from the virtual address of the float would give me the offset of the static float within the actor file. Adding that offset to the start offset of the actor file would give me the ROM offset. Link to comment Share on other sites More sharing options...
Airikita Posted May 22, 2013 Author Share Posted May 22, 2013 The way I would check it is to look for the lwc1 opcodes that grab data from virtual addresses (virtual address > 0x807FFFFF) within the actor. Then, subtracting the start virtual address of the actor from the virtual address of the float would give me the offset of the static float within the actor file. Adding that offset to the start offset of the actor file would give me the ROM offset. Yeah, I just meant I haven't had time to gather the data. I could add it in as a separate window to view static values when the floats are being displayed. I've just been too busy with my mod to look into it. Link to comment Share on other sites More sharing options...
DeathBasket Posted May 22, 2013 Share Posted May 22, 2013 The way I would check it is to look for the lwc1 opcodes that grab data from virtual addresses (virtual address > 0x807FFFFF) within the actor. Then, subtracting the start virtual address of the actor from the virtual address of the float would give me the offset of the static float within the actor file. Adding that offset to the start offset of the actor file would give me the ROM offset. You know you can read and write float values in a hex editor, right? Not all the numbers will be loaded directly by the actor's code either, which is the reason not all the data appear as floats in the actor disassemblies even though that's what they actually are. Link to comment Share on other sites More sharing options...
Airikita Posted May 22, 2013 Author Share Posted May 22, 2013 The way I would check it is to look for the lwc1 opcodes that grab data from virtual addresses (virtual address > 0x807FFFFF) within the actor. Then, subtracting the start virtual address of the actor from the virtual address of the float would give me the offset of the static float within the actor file. Adding that offset to the start offset of the actor file would give me the ROM offset. You know you can read and write float values in a hex editor, right? Not all the numbers will be loaded directly by the actor's code either, which is the reason not all the data appear as floats in the actor disassemblies even though that's what they actually are. Well, I can still use the address values to find where the virtual memory is pointing to... I'm sure the addresses still reference to the values. Link to comment Share on other sites More sharing options...
Jason777 Posted May 22, 2013 Share Posted May 22, 2013 You know you can read and write float values in a hex editor, right?Yup, though I don't know how that relates to my post...Not all the numbers will be loaded directly by the actor's code either, which is the reason not all the data appear as floats in the actor disassemblies even though that's what they actually are.If anything, my method would help to easily find most (if not, some) static floats. Link to comment Share on other sites More sharing options...
Airikita Posted May 22, 2013 Author Share Posted May 22, 2013 I recently found that gravity is a static float value... like I said, it will be a while before I ever get around to editing my program. Link to comment Share on other sites More sharing options...
petrie911 Posted May 26, 2013 Share Posted May 26, 2013 Is gravity a global variable for all actors, or is it per actor? Link to comment Share on other sites More sharing options...
Jason777 Posted May 26, 2013 Share Posted May 26, 2013 Is gravity a global variable for all actors, or is it per actor?I would think it's per actor. If you recall the bubble actor, they have an entirely different downward acceleration speed then the actors around them. Link to comment Share on other sites More sharing options...
Recommended Posts