Jump to content

Actor AI Float Static Values


Airikita
 Share

Recommended Posts

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

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

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

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

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

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

 

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

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

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.