Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interesting podracer related function #25

Open
JayFoxRox opened this issue May 13, 2018 · 1 comment
Open

Interesting podracer related function #25

JayFoxRox opened this issue May 13, 2018 · 1 comment

Comments

@JayFoxRox
Copy link
Member

JayFoxRox commented May 13, 2018

(Patched US version offsets)

sub_475AD0 seems to handle pods.

Cases are:

    case 1282368364: // 'Locl'
[...]
    case 1380273487: // 'REMO'
[...]
    case 1094797641: // 'AAII'

This function also seems to handle LOD selection, or even drawing:

  int v51; // [esp+5Ch] [ebp-20h]
  int v52; // [esp+60h] [ebp-1Ch]
[...]
  v27 = -(dword_EC86BC != 1); // This checks the model distance setting
  LOBYTE(v27) = v27 & 0xFE;
  v51 = 1934380868; // 'sLOD'
  v52 = v27 + 2;
  sub_450C00(v10, (int)&v51);

In turn, sub_450C00 is a function which resolves a handler for an object type (of a1; not a2).
The types are pointed to by off_4BFEC0 which points at off_4BFE98 which points at an element at dword_4BFD30 ['Test'], then dword_4BFD58 ['Toss'], etc. - These handlers also seem to be tightly packed. The DWORD[9] is a function to a handler which does something.

I assume the handler for the podracer (only Test seems to handle sLOD), will then handle the sLOD somehow.

@JayFoxRox
Copy link
Member Author

(Patched US version)

sub_475AD0 seems to initialize the podracer statistics from the handling data table?!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant