On Thursday, 5 May 2016 at 09:42:00 UTC, Benjamin Thaut wrote:
On Wednesday, 4 May 2016 at 17:53:32 UTC, cc wrote:
The OS is Win64 though the program is being compiled as 32-bit
and I'm using the 32-bit distributed DLL.
fmod.dll: PE32 executable (DLL) (GUI) Intel 80386, for MS
Windows
Tried int and long as the return type, same issue both ways.
Tried void too just in case, same thing though.
Could you please post the definition of FMOD_RESULT. Its
possible that the create sound function returns it on stack and
not inside a register. This is usually the case if FMOD_RESULT
is defined as a struct in C/C++. But its hard to say. In your
case I would actually look at the disassembly and step through
it to see where its going wrong and messing up the stack.
In fmod_common.h:
typedef enum
{
FMOD_OK, /* No errors. */
FMOD_ERR_ALREADYLOCKED, /* Tried to call lock a
second time before unlock was called. */
...
FMOD_RESULT_FORCEINT = 65536 /* Makes sure this enum is
signed 32bit. */
} FMOD_RESULT;
In D I defined it as enum FMOD_RESULT : int { ... }