feat: added README.md

This commit is contained in:
2025-11-05 22:24:18 +13:00
parent c181f44b52
commit 30a3f4ca8d

127
README.md Normal file
View File

@@ -0,0 +1,127 @@
# Simian
**Simian** is a Raylib + AngelScript test project on Windows.
It demonstrates how to integrate **Raylib** for graphics and **AngelScript** for scripting, including the `scriptstdstring` add-on.
---
## Requirements
- Windows 10/11 (tested)
- [Visual Studio 2022](https://visualstudio.microsoft.com/) with **Desktop development with C++** workload
- [CMake 3.25+](https://cmake.org/download/)
- Git
- Optional: VSCode for editing
---
## Getting Started
### 1. Clone the repository with submodules
```bash
git clone --recurse-submodules <your-repo-url>
cd Simian
````
If you forgot `--recurse-submodules`, run:
```bash
git submodule update --init --recursive
```
This will pull **Raylib** and **AngelScript** into `external/`.
---
### 2. Build with CMake
```bash
# Create build folder
mkdir build
cd build
# Generate Visual Studio solution (64-bit)
cmake -G "Visual Studio 17 2022" -A x64 ..
# Build Release version
cmake --build . --config Release
```
After building, the executable will be at:
```
build\Release\simian.exe
```
---
### 3. Run the project
```bash
build\Release\simian.exe
```
You should see a **Raylib window** open and the console will output:
```
[Script] Hello from AngelScript!
```
---
## Project Structure
```
Simian/
├─ external/
│ ├─ raylib/ # Git submodule
│ └─ angelscript/ # Git submodule (includes scriptstdstring add-on)
├─ scripts/ # Optional: .as scripts to be loaded at runtime
├─ main.cpp # Entry point (Raylib + AngelScript)
├─ CMakeLists.txt # Build configuration
└─ README.md
```
---
## Notes
* **AngelScript `string` support** is enabled via `scriptstdstring` add-on.
* **Hot-reloading scripts** can be implemented by loading `.as` files from the `scripts/` folder.
* Update submodules with:
```bash
cd external/raylib
git pull origin master
cd ../angelscript
git pull origin master
cd ../..
git add external/raylib external/angelscript
git commit -m "Update submodules"
```
---
## CMake Targets
* `simian` — main executable
* `raylib` — static library submodule
* `angelscript` — static library submodule
* `scriptstdstring` — static library add-on for AngelScript
---
## Tips
* Always use **VS2022 Developer Command Prompt** or VSCode terminal configured for MSVC.
* Pin submodules to specific commits for reproducible builds.
* To clean build: delete the `build/` folder and regenerate with CMake.
---
## License
* Raylib: [Zlib License](https://github.com/raysan5/raylib#license)
* AngelScript: [MIT License](https://github.com/angelcode/angelscript/blob/master/license.txt)
* Simian: Not open source (Yet)