ScrapHacks/NOTES.md

65 lines
1.9 KiB
Markdown
Raw Normal View History

2017-10-07 23:13:42 +00:00
# Infos
- Engine: ScrapEngine
- Ingame Scripting Language: Python 1.5.2
2019-02-28 16:50:52 +00:00
# Ingame-Console (Ctrl+\^ or right click on titlebar and select "switch console") (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):
* `listar luces`
* `listar`
2019-02-28 16:50:52 +00:00
* `arbol` (Patch Scrap.exe@offset 0x314bc9 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:
- `imbecil`
- `idiota`
- `capullo`
# Python Stuff
2019-02-28 16:50:52 +00:00
- Modules List @ 0x79C698 (Module Name as `char*` followed by Pointer to Init Function)
- InitPyMod @ 0x5A8FB0
- PyExec @ 0x5A8390
2017-10-07 23:13:42 +00:00
2019-02-28 16:50:52 +00:00
## m3d.ini loader @ 0x05f7000
2017-10-07 23:13:42 +00:00
2019-02-28 16:50:52 +00:00
## SM3 Scene Loader @ 0x650f80 (?)
2017-10-09 19:11:08 +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:
2019-02-28 16:50:52 +00:00
```
Header:
"BFPK\0\0\0\0"
Int32ul: number of files
for each file:
Int32ul: path length
String: path
Int32ul: size
Int32ul: offset in file
```
## Loading Custom Content (not really working)
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`
2019-02-28 16:50:52 +00:00
2. in m3d.ini uncomment (remove `;`) "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"
2019-02-28 16:50:52 +00:00
or Use a custom Content Pack (**untested!**)
2017-10-07 23:13:42 +00:00
2017-10-09 19:11:08 +00:00
# Misc. Interesting things
2019-02-28 16:50:52 +00:00
- sys.path contains "./lib" so you can load your own Python Modules