-
Notifications
You must be signed in to change notification settings - Fork 1
/
config.yml
441 lines (434 loc) · 11.5 KB
/
config.yml
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
notes: |
0x7faa4c: temp storage?
0x4039b0: fcn.handle_cli_opts?
0x668007: ?
comments:
0x6113f9: Check if Window exists
flags:
0x7fbfa0: P_HT_SaveVars
0x7fbe50: P_HT_Eng_Vars
0x8c8d60: P_Addr_master
0x8c8d50: P_Addr_client
0x7fa748: P_Socket
0x8045dc: P_Socket_Server
0x7FE944: P_World
0x792618: P_Eng3d_ver
0x853a24: P_gWorld
0x7FBE4C: P_Vars
0x79C698: Py_Mods
0x852914: P_D3D8_Dev
0x850258: P_D3D8_ZBuffer
0x850408: P_D3D8_BackBuffer
0x7FCC00: N_Paks_opened
0x7fcbec: Hash_Index_Size
0x7fcbf0: P_Hash_Index
0x7fcc08: Lst_File
0x7fcc04: Pak_Locked
0x7fc1b0: Pak_Index
0x84cb64: P_ConHandler
0x801e10: num_arrows
0x7fac84: P_Callbacks
0x80b2cc: P_ActClassList
0x807a20: P_Scorer
0x80a398: P_SoundSys
0x84cb58: H_RichEd
0x84cb4c: P_HWND_Console
0x80cb40: Console_Win_Buffer
0x84d400: Lib_preloaded
0x7fac1c: Activate_Viewer
0x8b18f0: P_Models
0x8b18f4: P_Scenes
0x8b18f8: P_ActiveModels
0x803bc0: net_is_server
0x8045e4: net_is_master
0x8038a8: net_is_client
0x7fadd8: is_python
0x7fc084: pak_lock
0x7fbe7c: current_language
0x7d2094: refcnt_Py_None
0x7fa830: P_Window
0x7fadd0: P_PyExecute
0x84d3ec: Py_Initialized
0x8c8f10: Py_Debug
0x84d3e8: Py_Verbose
0x84db38: Py_Optimize
0x84dd60: Py_interpr
0x7fae38: Debug_Level
0x7fae40: Console_Out_Buffer_132_23
0x7fbe20: Console_Curr_Line
0x84db30: Py_Dummy
0x8ca2c4: cmdline
0x8c6350: module_filename
0x8c6140: P_module_filename
0x853954: P_D3DApp
0x853091: N_Uniones
0x7faa4c: server_state
0x8039a8: client_data
0x8038a0: client_ship
# 0x7fbe24:
# 0x7fa778:
# 0x8c8d78:
VMTs:
0x78d4d8: Py_entity
0x78cc6c: World
0x78b680: FilePak_1
0x78b6a4: FilePak_2
0x78b638: AbstractFile
0x78b4d8: App
0x78b480: Window
0x78b5c0: File
0x78b65c: FileMem
0x78b6d0: IDevice_1
0x78b6f4: IDevice_2
0x78b6fc: IDevice_Kb
0x78b720: IDevice_Mouse
0x78b74c: IDevice_Joy
0x7933ac: 3d_Gfx
0x7933a0: NodeFX
classes:
World:
types:
- "struct PyMethodDef { char* ml_name; void* ml_meth; int ml_flags; char* ml_doc;};"
- "struct GameVar { struct GameVar* next; const char* name; const char* desc; uint64_t d_type; void* value; void* def_value; };"
- "struct HT_Entry { void* data; const char* key; struct HT_Entry* next;};"
- "struct PakEntry { unsigned char* filename; bool locked; void* data; uint32_t seek;};"
- "struct HashIndexEntry { uint32_t offset; uint32_t size; uint32_t status; const char* name; struct HashIndexEntry* next; };"
- "struct HashIndex { uint32_t size; struct HashIndexEntry** data; };"
- "struct HashTableEntry { void* data; const char* key; struct HashTableEntry* next; };"
- "struct HashTable { uint32_t size; struct HashTableEntry** data; };"
- "struct va_list { unsigned int gp_offset; unsigned int fp_offset; void *overflow_arg_area; void *reg_save_area; };"
functions:
0x5dadc0:
name: read_MAT_block
0x5daf10:
name: read_MAP_block
0x60d710:
name: read_INI_block
0x6155b0:
name: read_DUM_block
0x628760:
name: read_EMI_block
0x62c070:
name: read_AMC_block
0x62c580:
name: read_SUEL_block
0x631570:
name: read_CMSH_block
0x631940:
name: read_QUAD_block
0x64d380:
name: read_LUZ_block
0x650f80:
name: read_SCN_block
0x652480:
name: read_LFVF_block
0x658770:
name: read_CAM_block
0x6665a0:
name: read_CM3_block
0x666900:
name: read_SM3_block
0x6715e0:
name: read_PORT_block
0x675c90:
name: read_MD3D_block
0x6776d0:
name: read_NAM_block
0x6787a0:
name: read_ANI_block
0x6869b0:
name: read_SPR3_block
0x6875d0:
name: read_EVA_block
0x6283a0:
name: load_emi
0x4fa9f0:
name: send_pkt
0x5ca9e0:
signature: void* PyFrame_New(void* thread_state, void* code_object,void* globals, void* locals)
name: PyFrame_New
0x5bcae0:
signature: void PyErr_SetString(void* obj, const char* err_msg);
name: PyErr_SetString
0x5cb040:
signature: void* eval_code2(void* dict, const char* key, void* item);
name: eval_code2
0x5e3c50:
convention: cdecl-thiscall-ms
name: read_int
0x5e3b50:
convention: cdecl-thiscall-ms
name: read_block_header
0x5c66d0:
signature: void initerrors(void* dict);
name: initerrors
0x5bb370:
signature: int PyDict_SetItemString(void* dict, const char* key, void* item);
name: PyDict_SetItemString
0x5b9960:
signature: void* PyObject_NEW(void* type, void* typeobj);
name: PyObject_NEW
0x4145e0:
convention: cdecl-thiscall-ms
signature: bool get_config_var(char* name);
name: get_config_var
0x413470:
signature: void init_logging();
name: init_logging
0x5a8040:
signature: void Py_Initialize();
name: Py_Initialize
0x5bb4e0:
name: PyModule_GetDict
signature: void* PyModule_GetDict(void*);
0x5c6610:
name: _PyBuiltin_Init_1
signature: void* _PyBuiltin_Init_1();
0x5b5db0:
name: PyString_FromString
signature: void* PyString_FromString(const char*);
0x5ba3a0:
name: PyDict_New
signature: void* PyDict_New();
0x5c7bd0:
name: PyThreadState_Swap
signature: void* PyThreadState_Swap(void* new);
0x5c7870:
name: PyInterpreterState_New
signature: void* PyInterpreterState_New();
0x5c79b0:
name: PyThreadState_New
signature: void* PyThreadState_New(void* interp);
0x6ad1e9:
name: getenv
signature: char* getenv(char* var);
0x401180:
name: create_window
0x401240:
name: create_main_window
0x4016f0:
name: reg_get_val
signature: int reg_get_val(const char* value);
0x401770:
name: init
0x402190:
name: handle_console_input
signature: int handle_console_input(const char* input);
0x402510:
name: deinit_world
0x4026d0:
name: init_py
0x403370:
name: init_engine
0x4037e0:
name: init_debug
0x404280:
name: cPyFunction_set_func
0x404420:
name: clear_functions
0x404460:
name: register_c_callback
signature: int register_c_callback(const char* name,void* func);
0x404a50:
name: find_entity
0x404bb0:
name: ht_hash_ent
signature: int ht_hash_ent(const char* str);
0x405850:
name: check_is_python
0x405b40:
name: init_py_sub
0x405ca0:
name: close_py_subsys
0x4134c0:
signature: int write_log(unsigned int color, const char* msg);
name: write_log
0x4137e0:
signature: void write_html_log(const char* fmt,...);
name: write_html_log
0x413c10:
name: sprintf
0x413ee0:
name: dbg_log
signature: int dbg_log(const char* fmt,...);
0x414070:
name: throw_assertion_2
signature: void throw_assertion_2(const char* check,const char* file,const char* date, unsigned int line);
0x414280:
name: prepare_html_log
signature: int prepare_html_log(const char* filename);
0x414570:
name: setup_game_vars
0x414680:
name: load_config
0x414810:
name: save_config
0x417470:
name: load_game
0x417df0:
name: snprintf_1
0x417d80:
name: snprintf_2
0x418220:
name: get_version_info
0x419950:
name: fopen_2
signature: int fopen_2(const char* filename);
0x41ab50:
name: open_pak
signature: int open_pak(const char* filename, int unk_1,void* unk_ptr);
0x41c5a0:
name: has_lst_file
signature: int has_lst_file(void* unk_ptr);
0x474f80:
name: ent_list_get_set
signature: bool ent_list_get_set(const char* name);
0x479870:
name: make_world
0x479b20:
name: close_world
0x479b40:
name: init_world
0x47bf90:
convention: cdecl-thiscall-ms
name: create_ent_list
signature: bool create_ent_list(const char* name);
0x47c1e0:
name: ht_hash_ent_list
signature: int ht_hash_ent_list(const char* str);
0x4f42a0:
name: close_server_socket
0x4f48e0:
name: close_client
0x4f4a10:
name: is_client
0x4f4d10:
name: close_server
0x4f4fb0:
name: is_server
0x4fac50:
name: is_master
0x50b6a0:
name: get_scorer
0x50b9b0:
name: init_scorer
0x50bcb0:
name: close_scorer
0x50ea20:
name: scorer_parse_type
0x526520:
name: shutdown_sound_sys
0x5268d0:
name: try_init_sound_sys
0x526910:
name: close_sound_sys
0x528910:
name: init_sound_sys
0x582e10:
name: init_action_class_list
0x582e70:
name: close_action_class
0x5a7320:
name: close_window
0x5a73a0:
name: show_console
0x5a7440:
name: create_console_window
0x5a7f20:
name: get_console_wnd
0x5a8390:
name: PyRun_SimpleString
signature: int PyRun_SimpleString(const char* command);
0x5a8e90:
name: Py_FatalError
signature: void Py_FatalError(const char* msg);
0x5a8fb0:
name: Py_InitModule
signature: void* Py_InitModule(const char* name,void* methods);
0x5a90f0:
name: Py_BuildValue
signature: void* Py_BuildValue(const char* format, ...);
0x5a9890:
name: PyImport_GetModuleDict
signature: void* PyImport_GetModuleDict();
0x5aa140:
name: preload_lib
0x5b9e70:
name: PyObject_GetAttrString
signature: void* PyObject_GetAttrString(void* obj, const char* attr);
0x5bb9d0:
name: PyArg_ParseTuple
signature: int PyArg_ParseTuple(void* PyObj, char* format, ...);
0x5bc140:
name: convertsimple1
signature: static char* convertsimple1(void* arg, char** p_format, void* va_list);
0x5bc0f0:
name: convertsimple
signature: static char* convertsimple(void* arg, char** p_format, char* msgbuf);
0x5bbf60:
name: converttuple
signature: static char* converttuple(void* arg, char** p_format, void* va_list, int* levels, char* msgbuf, int toplevel);
0x5bbee0:
name: convertitem
signature: static char* convertitem(void* arg, char** p_format, void* va_list, int* levels, char* msgbuf);
0x5c7bb0:
name: PyThreadState_Get
signature: void* PyThreadState_Get();
0x5dd510:
name: init_engine_3d
0x5dd700:
name: close_3d_engine
0x5dff20:
name: set_exception_handler
0x5e3250:
name: read_stream
0x5e3500:
name: fopen
0x5e3800:
name: fopen_from_pak
signature: int fopen_from_pak(const char* filename,const char* mode);
0x5e3bb0:
name: read_stream_wrapper
0x5f7000:
name: read_ini
0x5f75e0:
name: init_d3d
0x5f9520:
name: handle_render_console_input
0x5fbc50:
name: throw_assertion_1
signature: void throw_assertion_1(const char* check,const char* file, unsigned int line);
0x5fc0a0:
name: engine_debug_log
0x5fc930:
name: printf
0x602a70:
name: render_frame
0x6114e0:
name: setup_window
0x636580:
name: list_models
0x63a2f0:
name: gdi_draw_line
0x6597d0:
name: read_ini_entry
signature: bool read_ini_entry(void* dest,const char* key, const char* section);
0x666c60:
name: read_m3d
0x6b1c70:
name: strcmp
signature: bool strcmp(const char* s1,const char* s2);
0x6b738c:
name: handle_exception
script: |
e asm.cmt.right = true
e scr.utf8 = true
e asm.describe = false
e graph.cmtright = true
e cfg.sandbox = false
e cfg.newtab = true
e cfg.fortunes.type = tips,fun,creepy,nsfw
e dbg.status = true
e pdb.autoload = true
e emu.str = true
e asm.flags.offset = true