53 lines
1.6 KiB
C#
53 lines
1.6 KiB
C#
![]() |
using System;
|
||
|
using System.Runtime.InteropServices;
|
||
|
|
||
|
public unsafe static class LibMednahawkDll
|
||
|
{
|
||
|
public enum eProp : int
|
||
|
{
|
||
|
GetPtr_FramebufferPointer,
|
||
|
GetPtr_FramebufferPitchPixels,
|
||
|
GetPtr_FramebufferWidth,
|
||
|
GetPtr_FramebufferHeight,
|
||
|
SetPtr_FopenCallback,
|
||
|
SetPtr_FcloseCallback,
|
||
|
SetPtr_FopCallback
|
||
|
}
|
||
|
|
||
|
public enum FOP: int
|
||
|
{
|
||
|
FOP_fread,
|
||
|
FOP_fwrite,
|
||
|
FOP_fflush,
|
||
|
FOP_fseeko,
|
||
|
FOP_ftello,
|
||
|
FOP_ferror,
|
||
|
FOP_clearerr,
|
||
|
FOP_size
|
||
|
};
|
||
|
|
||
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||
|
public delegate IntPtr t_FopenCallback(string fname, string mode);
|
||
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||
|
public delegate int t_FcloseCallback(IntPtr fp);
|
||
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||
|
public delegate long t_FopCallback(int op, IntPtr ptr, long a, long b, IntPtr fp);
|
||
|
|
||
|
[DllImport("libmednahawk.dll", CallingConvention = CallingConvention.Cdecl)]
|
||
|
public static extern IntPtr dll_GetPropPtr(eProp prop);
|
||
|
|
||
|
[DllImport("libmednahawk.dll", CallingConvention = CallingConvention.Cdecl)]
|
||
|
public static extern void dll_SetPropPtr(eProp prop, IntPtr val);
|
||
|
|
||
|
[DllImport("libmednahawk.dll", CallingConvention = CallingConvention.Cdecl)]
|
||
|
[return: MarshalAs(UnmanagedType.U1)]
|
||
|
public static extern bool dll_Initialize();
|
||
|
|
||
|
[DllImport("libmednahawk.dll", CallingConvention = CallingConvention.Cdecl)]
|
||
|
public static extern void psx_FrameAdvance();
|
||
|
|
||
|
[DllImport("libmednahawk.dll", CallingConvention = CallingConvention.Cdecl)]
|
||
|
[return: MarshalAs(UnmanagedType.U1)]
|
||
|
public static extern bool psx_LoadCue(string path);
|
||
|
}
|