Code: Select all
function FPlayerHUD _H_CreateRainDroplet(FPlayerHUD playerHUD_, int type, int x, int y)
{
FPlayerHUD playerHUD[1] = {playerHUD};
// etc
return playerHUD[0];
}
The more technical explanation, for anyone curious, is that the compiler sees the address of playerHUD being used dynamically and changes it to be stored on the automatic storage stack. But the calling convention for ACS functions does not have a stack pointer, which makes the resulting IR code impossible to translate to ZDACS bytecode. The exact error occurring when it tries to determine which register index holds the stack pointer. To which I should probably improve the error message to something other than just the name of the function.
