Contributing¶
PSXSplash and SplashEdit are open-source projects. The codebase has grown significantly as a one-person project and pull requests are very welcome.
Share your creations!
If you build something with SplashEdit, please share it on the PSX.Dev or Bandwidth Discord servers. It would mean a lot to see what people make with this tool.
Repositories¶
| Repository | Contents |
|---|---|
| psxsplash | C++ PS1 runtime engine (built on PSYQo) |
| splashedit | Unity editor package (C# exporters, inspectors, build pipeline) |
Areas Where Help Is Needed¶
High Priority¶
- Exterior BVH rendering - The frustum culling system for exterior scenes needs a complete rewrite. Interior room/portal culling works well, but the BVH path is broken.
- Navigation code cleanup - The nav mesh generation works but the code needs refactoring for maintainability.
- Fog implementation - Distance fog is partially implemented but has visual bugs.
- Nav Cell Height fix - The setting is broken and needs debugging.
Medium Priority¶
- Polygon subdivision stitching - Seam artifacts appear between subdivided polygons.
- Camera.LookAt implementation - Needs proper atan2 math to correctly orient the camera.
- Camera.GetRotation - Rotation decomposition from the internal matrix.
- Jump collision - Jumping is currently visual only with no environment interaction.
- Dynamic collision AABB updates - Rotated objects don't update their collision bounds.
- Portal close-range visibility - Portals don't render the connected room when standing very close.
Nice to Have¶
- macOS support - The developer doesn't have a Mac, so contributions here are especially welcome.
- Texture size validation - SplashEdit should warn when textures aren't power-of-two or exceed 256x256.
- Additional Lua API functions - New convenience functions, math utilities, or system capabilities.
- Bug fixes - Any bug fix, no matter how small, is appreciated.
- Documentation improvements - Corrections, clarifications, additional examples.
Getting Started¶
- Fork the repository
- Clone your fork
- Set up the development environment (see Installation)
- Make your changes
- Test thoroughly
- Submit a pull request