|
1 | 1 | # Visual Pinball Engine - PinMAME Gamelogic Engine
|
2 | 2 | *Enables PinMAME to drive VPE*
|
| 3 | + |
| 4 | +[](https://registry.visualpinball.org/-/web/detail/org.visualpinball.engine.pinmame) |
| 5 | + |
| 6 | +## Structure |
| 7 | + |
| 8 | +This project contains two root folders: |
| 9 | + |
| 10 | +- `VisualPinball.Engine.PinMAME` wraps the [`pinmame-dotnet`](https://github.com/vpinball/pinmame-dotnet) |
| 11 | +library and extends it with some meta data. |
| 12 | +- `VisualPinball.Engine.PinMAME.Unity` is the Unity UPM package that plugs into |
| 13 | + VPE and implements the gamelogic engine. |
| 14 | + |
| 15 | +### Unity Package |
| 16 | + |
| 17 | +The goal of this repo is to use it within Unity. In order to do that, open the |
| 18 | +Package Manager in Unity, and add `org.visualpinball.engine.missionpinball` under |
| 19 | +*Add package from git URL*. |
| 20 | + |
| 21 | +The Unity package is build and published to our registry on every merge to master. |
| 22 | + |
| 23 | +## Development Setup |
| 24 | + |
| 25 | +In order to import the package locally instead from our registry, clone and |
| 26 | +compile it. This will copy the necessary binaries into the Unity folder. Only |
| 27 | +then, import the project into Unity. |
| 28 | + |
| 29 | +Since the Unity folder contains `.meta` files of the binaries, but not the |
| 30 | +actual binaries, `.meta` files of uncompiled platforms are cleaned up by Unity. |
| 31 | +In order to not accidentally commit those files, we recommend to ignore them: |
| 32 | + |
| 33 | +```bash |
| 34 | +git update-index --assume-unchanged VisualPinball.Engine.PinMAME.Unity/Plugins/linux-x64/PinMame.dll.meta |
| 35 | +git update-index --assume-unchanged VisualPinball.Engine.PinMAME.Unity/Plugins/linux-x64/VisualPinball.Engine.PinMAME.dll.meta |
| 36 | +git update-index --assume-unchanged VisualPinball.Engine.PinMAME.Unity/Plugins/linux-x64/libpinmame.so.3.4.meta |
| 37 | +git update-index --assume-unchanged VisualPinball.Engine.PinMAME.Unity/Plugins/osx-x64/PinMame.dll.meta |
| 38 | +git update-index --assume-unchanged VisualPinball.Engine.PinMAME.Unity/Plugins/osx-x64/VisualPinball.Engine.PinMAME.dll.meta |
| 39 | +git update-index --assume-unchanged VisualPinball.Engine.PinMAME.Unity/Plugins/osx-x64/libpinmame.3.4.dylib.meta |
| 40 | +git update-index --assume-unchanged VisualPinball.Engine.PinMAME.Unity/Plugins/win-x86/PinMame.dll.meta |
| 41 | +git update-index --assume-unchanged VisualPinball.Engine.PinMAME.Unity/Plugins/win-x86/VisualPinball.Engine.PinMAME.dll.meta |
| 42 | +git update-index --assume-unchanged VisualPinball.Engine.PinMAME.Unity/Plugins/win-x86/libpinmame-3.4.dll.meta |
| 43 | +``` |
| 44 | + |
| 45 | +## License |
| 46 | + |
| 47 | +This plugin is licensed under the [MIT license](LICENSE). However |
| 48 | +since we link against PinMAME, the [MAME/BSD-3-Clause](https://github.com/vpinball/pinmame/blob/master/LICENSE) |
| 49 | +must be honored as well. |
0 commit comments