shin
shin copied to clipboard
A reimplementation of VN engine primarily used by 07-th expansion releases on consoles (and some other entergram games)
Want to have the [kinsoku](https://en.wikipedia.org/wiki/Line_breaking_rules_in_East_Asian_languages) system as in the original engine, as well as word-wrapping for western languages as an extension
I have spent some time carefully reverse-engineering how the rendering pipeline _actually_ works in the engine, and what we have right now is very different from the game. I want...
I tried `sdu` on the game D.C.4 ~ダ・カーポ4~ (title id `0100D8500EE14000`), and got an issue with the scenario. Everything else is fine. ``` $ ./sdu scenario dump-info output/main.snr Error: ╺━━━━━━━━━━━━━━━━━━━━┅...
The new kira update [exposes the `Decoder` trait](https://github.com/tesselode/kira/issues/40#issuecomment-1558384851), possibly (?) allowing us to duplicate less code. The feasibility should be investigated
thread 'main' panicked at 'assertion failed: (left == right)' left: '14473847' right: '14473848' ;, shin-core\src\format\audio\mod.rs:199:5 
I think game treats them like EVs (#20), allowing to skip them by pressing B
So, apparently, entergram has fucked up gamma correctness in their engine...  They do not mark textures as being in sRGB space (but they are!) and therefore all computations happen...
It doesn't make sense to load full videos to even start playing, they should be streamable. For other assets it probably isn't beneficial though. We should support both use-cases.
Currently, `LAYERLOAD` requires a yield to game loop, effectively making minimum load time 1 tick. I believe we can do better.
Those are started with `EVBEGIN` and ended with `EVEND` commands They do not allow fast-forwarding They can be skipped as a whole (jump to `EVEND`) by pressing B Questions: -...