-
Notifications
You must be signed in to change notification settings - Fork 0
/
Injector.h
137 lines (92 loc) · 3.9 KB
/
Injector.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/* Copyright (c) 2023 Dreamy Cecil
This program is free software; you can redistribute it and/or modify
it under the terms of version 2 of the GNU General Public License as published by
the Free Software Foundation
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
/* NOTE: This header can be used for linking the injector library */
#ifndef SE1_INJECTOR_INCL_INJECTOR_H
#define SE1_INJECTOR_INCL_INJECTOR_H
/* Null pointer */
#define INJECTOR_NULL (0)
/* Library interface */
#ifdef SE1_INJECTOR_EXPORTS
#define INJECTOR_API __declspec(dllexport)
#else
#define INJECTOR_API __declspec(dllimport)
#endif
/* Vorbis file callbacks structure */
typedef struct {
void *read_func;
void *seek_func;
void *close_func;
void *tell_func;
} ov_callbacks;
/* Use C interface in C++ */
#ifdef __cplusplus
extern "C" {
#endif
/* Path to the original library for hooking original methods */
INJECTOR_API extern char INJ_strOriginalLib[256];
/* Load original library */
INJECTOR_API void INJ_LoadLibrary(void);
/* Free original library */
INJECTOR_API int INJ_FreeLibrary(void);
/* Hook methods from the original library */
INJECTOR_API void INJ_HookOriginalMethods(void);
/* Declare methods per library */
/* BOOL Imm_CreateDevice(HINSTANCE &, HWND &) */
INJECTOR_API int Imm_CreateDevice(void *, void *);
INJECTOR_API void Imm_DeleteDevice(void);
INJECTOR_API int Imm_GetProductName(char *, int);
INJECTOR_API int Imm_LoadFile(const char *);
INJECTOR_API void Imm_UnLoadFile(void);
INJECTOR_API void immUnloadFile(void); /* Wrong symbol for "Imm_UnLoadFile" */
INJECTOR_API void Imm_PlayEffect(const char *);
INJECTOR_API void Imm_StopEffect(const char *);
INJECTOR_API void Imm_ChangeGain(const float);
/* e3_API *InitExploration3D(e3_INIT *) */
INJECTOR_API void *InitExploration3D(void *);
INJECTOR_API void alInitLibrary(void);
INJECTOR_API void alEndLibrary(void);
/* ALhandle alOpenInputFile(const char *) */
INJECTOR_API int alOpenInputFile(const char *);
/* ALhandle alOpenDecoder(ALhandle) */
INJECTOR_API int alOpenDecoder(int hFile);
/* ALhandle alOpenSubFile(ALhandle, ALsize, ALsize) */
INJECTOR_API int alOpenSubFile(int hFile, int sOffset, int sSize);
/* ALbool alGetMPXHeader(ALhandle, ALsint32 *, ALsint32 *, ALsint32 *, ALbool *, ALsint32 *) */
INJECTOR_API int alGetMPXHeader(int hFile, int *, int *, int *, int *, int *);
/* void alClose(ALhandle) */
INJECTOR_API void alClose(int);
/* ALsize alRead(ALhandle, void *, ALsize) */
INJECTOR_API int alRead(int, void *, int);
/* void alDecSeekAbs(ALhandle, ALfloat) */
INJECTOR_API void alDecSeekAbs(int, float);
/* ALfloat alDecGetLen(ALhandle) */
INJECTOR_API float alDecGetLen(int);
/* int ov_clear(OggVorbis_File *) */
INJECTOR_API int ov_clear(void *);
/* int ov_open(FILE *, OggVorbis_File *, char *, long) */
INJECTOR_API int ov_open(void *f, void *, char *, long);
/* int ov_open_callbacks(void *, OggVorbis_File *, char *, long, ov_callbacks) */
INJECTOR_API int ov_open_callbacks(void *, void *, char *, long, ov_callbacks);
/* long ov_read(OggVorbis_File *, char *, int, int, int, int, int *) */
INJECTOR_API long ov_read(void *, char *, int, int, int, int, int *);
/* vorbis_info *ov_info(OggVorbis_File *, int) */
INJECTOR_API void *ov_info(void *, int);
/* int ov_time_seek(OggVorbis_File *, double) */
INJECTOR_API int ov_time_seek(void *, double);
/* CGame *GAME_Create(void) */
INJECTOR_API void *GAME_Create(void);
/* GameGUI_interface *GAMEGUI_Create(void) */
INJECTOR_API void *GAMEGUI_Create(void);
#ifdef __cplusplus
};
#endif
#endif /* SE1_INJECTOR_INCL_INJECTOR_H */