8000 N31: Vach (#955) · nicopap/rust-gamedev.github.io@b8d39d9 · GitHub
[go: up one dir, main page]

Skip to content

Commit b8d39d9

Browse files
zeskeertweesokorototo17cupsofcoffeeAngelOnFira
authored
N31: Vach (rust-gamedev#955)
* N31: vach * make sure there are no super-long lines * some minor things * Made some changes to the entry * Edits to the `vach` in the library updates setion * Apply suggestions from code review * fix lints * Update content/news/031/index.md Co-authored-by: Newton Toto <53893043+sokorototo@users.noreply.github.com> Co-authored-by: Joe Clay <27cupsofcoffee@gmail.com> Co-authored-by: Forest Anderson <forestkzanderson@gmail.com>
1 parent 01bcc87 commit b8d39d9

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

content/news/031/index.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,37 @@ Syn9's [Rust Mini Game Framework][mgfw].
125125

126126
## Library Updates
127127

128+
### [vach]
129+
130+
[vach] is an archiving file format developed from the ground up for games and
131+
other realtime applications by [@zeskeertwee] and [@sokorototo]. It is
132+
written in pure Rust.
133+
134+
Its primary objectives (in no particular order) are:
135+
136+
- Have a simple, yet complete API.
137+
- Fine control over each individual entry in an archive, i.e. neighbouring
138+
entries can have vastly different compression schemes.
139+
- Support compression (with multiple compression schemes), encryption,
140+
and signatures for data authentication
141+
- Efficient fetching of data by avoiding unnecessary traversal of the file.
142+
Once a file is parsed, locations of every entry are known to the loader.
143+
- Be as compact as possible - the smallest valid archive is only 13 bytes.
144+
- Each entry has some metadata attached to it - this is implemented using
145+
bitflags and up to 8 bits are free to the user.
146+
- Has mutlithreaded implementations of both the loader and the writer.
147+
148+
A [CLI][vach-cli] is allowing one to use vach as a general purpose archive
149+
format. The CLI is fully multithreaded, allowing for insane un/packing speeds.
150+
151+
Feel free to drop into the [repo][vach] and open an issue, pull request or
152+
drop a star 🌟. It helps maintain momentum in the project.
153+
154+
[vach]: https://github.com/zeskeertwee/vach
155+
[vach-cli]: https://crates.io/crates/vach-cli
156+
[@zeskeertwee]: https://github.com/zeskeertwee
157+
[@sokorototo]: https://github.com/sokorototo
158+
128159
## Popular Workgroup Issues in Github
129160

130161
<!-- Up to 10 links to interesting issues -->

0 commit comments

Comments
 (0)
0