2017-10-07 23:13:42 +00:00
|
|
|
# Infos
|
|
|
|
- Engine: ScrapEngine
|
|
|
|
- Ingame Scripting Language: Python 1.5.2
|
|
|
|
|
2018-12-22 03:24:34 +00:00
|
|
|
# Ingame-Console (Ctrl+\^) (Handler@0x402190):
|
|
|
|
* `<Command>`: Try to evaluate Command as Python expression
|
|
|
|
* `:<Var>`: Get Game Engine Global Variable
|
|
|
|
* `:<Var> <Val>`: Set Game Engine Global Variable
|
|
|
|
* `?`: Show all Global Variable
|
|
|
|
* `?<String>`: Show all Global Variable matching <String>
|
|
|
|
* `/<command>`: Run Command defined in QuickConsole.py(c) 'import quickconsole;quickconsole.%s()'
|
|
|
|
* `/<command> <arg>,<arg>`: Run function in QuickConsole.py(c) with argument(s) 'import quickconsole;quickconsole.%s(%s)'
|
2017-10-07 23:13:42 +00:00
|
|
|
|
|
|
|
# External Console (Scenegraph Debugging?) (Handler@0x5f9520):
|
2018-12-22 03:24:34 +00:00
|
|
|
* `listar luces`
|
|
|
|
* `listar`
|
|
|
|
* `arbol` (Patch Scrap.exe@offset 0x314bc0 replace 0x20 with 0x00 (or just type `arbol ` with the space at the end))
|
|
|
|
* `mem`
|
|
|
|
* `ver uniones`
|
2017-10-07 23:13:42 +00:00
|
|
|
* Easter Eggs:
|
2018-12-22 03:24:34 +00:00
|
|
|
- `imbecil`
|
|
|
|
- `idiota`
|
|
|
|
- `capullo`
|
|
|
|
|
|
|
|
# Python Stuff
|
|
|
|
- Modules List @ 0x0079C698 (char* to Module Name followed by Pointer to Init Function)
|
|
|
|
- InitPyMod @ 0x005A8FB0
|
|
|
|
- PyExec @ 0x005A8390
|
2017-10-07 23:13:42 +00:00
|
|
|
|
|
|
|
## m3d.ini loader @0x05f7000
|
|
|
|
|
2018-12-22 03:24:34 +00:00
|
|
|
## SM3 Secene Loader @ 0x650f80 (?)
|
2017-10-09 19:11:08 +00:00
|
|
|
|
2018-12-22 03:24:34 +00:00
|
|
|
## M3D File Loader @ 0x6665a0 (??)
|
2017-10-09 19:11:08 +00:00
|
|
|
|
2017-10-07 23:13:42 +00:00
|
|
|
## *.packed File Format:
|
|
|
|
Header:
|
|
|
|
"BFPK\0\0\0\0"
|
|
|
|
Int32ul: number of files
|
|
|
|
for each file:
|
|
|
|
Int32ul: path length
|
|
|
|
String: path
|
|
|
|
Int32ul: size
|
|
|
|
Int32ul: offset in file
|
|
|
|
|
2018-12-22 03:24:34 +00:00
|
|
|
## Loading Custom Content
|
|
|
|
1. Create a folder `mods`
|
|
|
|
2. Drop a `*.packed` file into it
|
|
|
|
|
2017-10-07 23:13:42 +00:00
|
|
|
## Interesting file:
|
|
|
|
* m3d.ini: Rendering Engine Configuration
|
|
|
|
* scripts/: Game Engine Scripts
|
2017-10-09 19:11:08 +00:00
|
|
|
|
2017-10-07 23:13:42 +00:00
|
|
|
|
|
|
|
# How to enable External Console:
|
|
|
|
1. exctract `Data.packed`
|
|
|
|
2. in m3d.ini uncomment "ConsolaWnd" (GUI Console) or "ConsolaTxt" (Text Console) and set the value to "SI"
|
2017-10-08 01:10:40 +00:00
|
|
|
3. repack "Data.packed"
|
2018-12-22 03:24:34 +00:00
|
|
|
or Use a custom Content Pack
|
2017-10-07 23:13:42 +00:00
|
|
|
|
2017-10-09 19:11:08 +00:00
|
|
|
# Misc. Interesting things
|
2017-10-07 23:13:42 +00:00
|
|
|
- sys.path contains "./lib" so you can load your own Python Modules
|