Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better READMEs #101

Merged
merged 7 commits into from
Sep 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ version = "0.1.16"
authors = ["AstroTechies", "localcc", "konsti219"]
license = "MIT"
description = "Tools for making and loading Unreal Engine Mods."
homepage = "https://github.com/AstroTechies/unrealmodding"
repository = "https://github.com/AstroTechies/unrealmodding"

[workspace.dependencies]
dll_injector = { path = "./dll_injector", version = "0.1.16" }
Expand Down
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2023 AstroTechies

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
50 changes: 49 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,50 @@
# unrealmodding
Tools for making and loading Unreal Engine Mods. Developed for Astroneer

[![Build status](https://github.com/AstroTechies/unrealmodding/workflows/CI/badge.svg)](https://github.com/AstroTechies/unrealmodding/actions?query=workflow%3ACI)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE-MIT)

Tools for creating and loading Unreal Engine Mods. Developed for Astroneer.

## Crates

This repo contrains multiple user facing crates for working with Unreal Engine file formats and creating Mods.

### [unreal_asset](./unreal_asset/)

[![Documentation](https://docs.rs/unreal_asset/badge.svg)](https://docs.rs/unreal_asset/)
[![Crates.io](https://img.shields.io/crates/v/unreal_asset.svg)](https://crates.io/crates/unreal_asset)

This core crate allows for parsing of Unreal asset binary files. It is internally split into multiple sub-crates to
improve compile times.

### [unreal_mod_manager](./unreal_mod_manager/)

[![Documentation](https://docs.rs/unreal_mod_manager/badge.svg)](https://docs.rs/unreal_mod_manager/)
[![Crates.io](https://img.shields.io/crates/v/unreal_mod_manager.svg)](https://crates.io/crates/unreal_mod_manager)

Crate that allows creating Modmanagers/Modloaders for individual games. Typically used together with
[unreal_mod_integrator](./unreal_mod_integrator/) and [unreal_asset](./unreal_asset/) (both reexported) to create
asset transformation logic for specific games.

### [unreal_pak](./unreal_pak/)

[![Documentation](https://docs.rs/unreal_pak/badge.svg)](https://docs.rs/unreal_pak/)
[![Crates.io](https://img.shields.io/crates/v/unreal_pak.svg)](https://crates.io/crates/unreal_pak)

Library crate for working with Unreal Engine .pak files. The CLI tool [unreal_pak_cli](./unreal_pak_cli/) is built on
this crate to provide a simple way to use this library.

### [unreal_helpers](./unreal_helpers/)

[![Documentation](https://docs.rs/unreal_helpers/badge.svg)](https://docs.rs/unreal_helpers/)
[![Crates.io](https://img.shields.io/crates/v/unreal_helpers.svg)](https://crates.io/crates/unreal_helpers)

Core crate that provides utilities for wotking with Unreal Engine binary files. It is relied on by all the other binary
parsing crates in this repo.

## License

Licensed under [MIT license](./LICENSE).

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion by you, shall be licensed
as above, without any additional terms or conditions.
3 changes: 3 additions & 0 deletions dll_injector/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ version.workspace = true
authors.workspace = true
description.workspace = true
license.workspace = true
repository.workspace = true
homepage = "https://github.com/AstroTechies/unrealmodding/tree/main/dll_injector"
documentation = "https://docs.rs/dll_injector"
edition = "2021"

[target.'cfg(windows)'.dependencies]
Expand Down
5 changes: 3 additions & 2 deletions github_helpers/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ version.workspace = true
authors.workspace = true
description.workspace = true
license.workspace = true
repository.workspace = true
homepage = "https://github.com/AstroTechies/unrealmodding/tree/main/github_helpers"
documentation = "https://docs.rs/github_helpers"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
reqwest.workspace = true
serde.workspace = true
Expand Down
3 changes: 2 additions & 1 deletion unreal_asset/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ version.workspace = true
authors.workspace = true
description = "Unreal Engine 4/5 game asset serialization library."
license.workspace = true
homepage.workspace = true
repository.workspace = true
homepage = "https://github.com/AstroTechies/unrealmodding/tree/main/unreal_asset"
documentation = "https://docs.rs/unreal_asset"
edition = "2021"
exclude = ["tests/*"]
Expand Down
17 changes: 11 additions & 6 deletions unreal_asset/README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
# unreal_asset

The unreal_asset crate is a Rust library that allows parsing of Unreal Engine binary asset files.
[![Documentation](https://docs.rs/unreal_asset/badge.svg)](https://docs.rs/unreal_asset/)
[![Crates.io](https://img.shields.io/crates/v/unreal_asset.svg)](https://crates.io/crates/unreal_asset)
[![Build status](https://github.com/AstroTechies/unrealmodding/workflows/CI/badge.svg)](https://github.com/AstroTechies/unrealmodding/actions?query=workflow%3ACI)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

The `unreal_asset` crate is a Rust library that allows parsing of Unreal Engine binary asset files.

## Documentation

Crate documentation is published to
[docs.rs/unreal_asset](https://docs.rs/unreal_asset/).
Crate documentation is published to [docs.rs/unreal_asset](https://docs.rs/unreal_asset/).

## Unreal Engine binary asset files

Unreal Engine binary asset files are usually stored with the following extensions:
* `.uasset` - The file that has asset metadata as well as some information, if the game is built without split bulk data files, then it also contains all of asset data.

* `.uasset` - The file that has asset metadata as well as some information, if the game is built without split bulk
data files, then it also contains all of asset data.
* `.uexp` - If the game is built with split bulk data files, it contains binary data related to components, etc.
* `.umap` - Same as `.uasset` but for maps/levels.
* `.usmap` - Mapping files for reading unversioned assets.
Expand All @@ -19,8 +25,7 @@ These files are what stores most of the game's assets and what you might want to

## Usage

The crate can be added to a Rust project as a dependency by running the command
`cargo add unreal_asset`.
The crate can be added to a Rust project as a dependency by running the command `cargo add unreal_asset`.

## Features

Expand Down
3 changes: 2 additions & 1 deletion unreal_asset/unreal_asset_base/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ version.workspace = true
authors.workspace = true
description = "Base unreal_asset implementations"
license.workspace = true
homepage.workspace = true
repository.workspace = true
homepage = "https://github.com/AstroTechies/unrealmodding/tree/main/unreal_asset/unreal_asset_base"
documentation = "https://docs.rs/unreal_asset_base"
edition = "2021"

Expand Down
3 changes: 2 additions & 1 deletion unreal_asset/unreal_asset_exports/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ version.workspace = true
authors.workspace = true
description = "Exports implementations for unreal_asset"
license.workspace = true
homepage.workspace = true
repository.workspace = true
homepage = "https://github.com/AstroTechies/unrealmodding/tree/main/unreal_asset/unreal_asset_exports"
documentation = "https://docs.rs/unreal_asset_exports"
edition = "2021"

Expand Down
3 changes: 2 additions & 1 deletion unreal_asset/unreal_asset_kismet/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ version.workspace = true
authors.workspace = true
description = "Kismet implementations for unreal_asset"
license.workspace = true
homepage.workspace = true
repository.workspace = true
homepage = "https://github.com/AstroTechies/unrealmodding/tree/main/unreal_asset/unreal_asset_kismet"
documentation = "https://docs.rs/unreal_asset_kismet"
edition = "2021"

Expand Down
5 changes: 3 additions & 2 deletions unreal_asset/unreal_asset_proc_macro/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ version.workspace = true
authors.workspace = true
description = "Proc macro implementations for unreal_asset"
license.workspace = true
homepage.workspace = true
documentation = "https://docs.rs/unreal_asset"
repository.workspace = true
homepage = "https://github.com/AstroTechies/unrealmodding/tree/main/unreal_asset/unreal_asset_proc_macro"
documentation = "https://docs.rs/unreal_asset_proc_macro"
edition = "2021"

[lib]
Expand Down
3 changes: 2 additions & 1 deletion unreal_asset/unreal_asset_properties/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ version.workspace = true
authors.workspace = true
description = "Properties implementations for unreal_asset"
license.workspace = true
homepage.workspace = true
repository.workspace = true
homepage = "https://github.com/AstroTechies/unrealmodding/tree/main/unreal_asset/unreal_asset_properties"
documentation = "https://docs.rs/unreal_asset_properties"
edition = "2021"

Expand Down
3 changes: 2 additions & 1 deletion unreal_asset/unreal_asset_registry/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ version.workspace = true
authors.workspace = true
description = "Asset registry implementations for unreal_asset"
license.workspace = true
homepage.workspace = true
repository.workspace = true
homepage = "https://github.com/AstroTechies/unrealmodding/tree/main/unreal_asset/unreal_asset_registry"
documentation = "https://docs.rs/unreal_asset_registry"
edition = "2021"

Expand Down
3 changes: 3 additions & 0 deletions unreal_cpp_bootstrapper/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ version.workspace = true
authors.workspace = true
description.workspace = true
license.workspace = true
repository.workspace = true
homepage = "https://github.com/AstroTechies/unrealmodding/tree/main/unreal_cpp_bootstrapper"
documentation = "https://docs.rs/unreal_cpp_bootstrapper"
edition = "2021"

[dependencies]
Expand Down
3 changes: 2 additions & 1 deletion unreal_helpers/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ version.workspace = true
authors.workspace = true
description.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
homepage = "https://github.com/AstroTechies/unrealmodding/tree/main/unreal_helpers"
documentation = "https://docs.rs/unreal_helpers"
edition = "2021"

Expand Down
23 changes: 15 additions & 8 deletions unreal_helpers/README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,29 @@
# unreal_helpers

The unreal_helpers crate is a Rust library that implements common functionality for reading Unreal Engine files.
[![Documentation](https://docs.rs/unreal_helpers/badge.svg)](https://docs.rs/unreal_helpers/)
[![Crates.io](https://img.shields.io/crates/v/unreal_helpers.svg)](https://crates.io/crates/unreal_helpers)
[![Build status](https://github.com/AstroTechies/unrealmodding/workflows/CI/badge.svg)](https://github.com/AstroTechies/unrealmodding/actions?query=workflow%3ACI)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](../LICENSE)

The `unreal_helpers` crate is a Rust library that implements common functionality for reading Unreal Engine files.

## Documentation

Crate documentation is published to
[docs.rs/unreal_helpers](https://docs.rs/unreal_helpers/).
Crate documentation is published to [docs.rs/unreal_helpers](https://docs.rs/unreal_helpers/).

## Usage

The crate can be added to a Rust project as a dependency by running the command
`cargo add unreal_helpers`.
The crate can be added to a Rust project as a dependency by running the command `cargo add unreal_helpers`.

## Features

* `read_write` - enables read/write extensions for unreal binary files
* `bitvec` - enables bitvec extensions commonly used when working with unreal bitvecs
* `path` - enables path conversion extensions used to convert paths in pak files
All content in this crate is hidden behind feature flags. Enabling most features will also enable further dependencies.

* `read_write`: Enables extension Traits `UnrealReadExt` and `UnrealWriteExt` which help with parsing Unreal data formats.
* `path`: Enables `game_to_absolute` function.
* `guid`: Enables `Guid` type.
* `serde`: Enables `serde` support for `Guid` type.
* `bitvec`: Enables extension Trait `BitVecExt`.

## Examples

Expand Down
5 changes: 4 additions & 1 deletion unreal_mod_integrator/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@ version.workspace = true
authors.workspace = true
description.workspace = true
license.workspace = true
repository.workspace = true
homepage = "https://github.com/AstroTechies/unrealmodding/tree/main/unreal_mod_integrator"
documentation = "https://docs.rs/unreal_mod_integrator"
edition = "2021"

[features]
no_bulk_data = []
# Ue versions
# UE versions
# If you want support for other ue versions, you can make a pull request with the support added,
# or make an issue asking for a specific ue version to be supported.
ue4_23 = []
Expand Down
5 changes: 5 additions & 0 deletions unreal_mod_integrator/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# unreal_mod_integrator

[![Documentation](https://docs.rs/unreal_mod_integrator/badge.svg)](https://docs.rs/unreal_mod_integrator/)
[![Crates.io](https://img.shields.io/crates/v/unreal_mod_integrator.svg)](https://crates.io/crates/unreal_mod_integrator)
[![Build status](https://github.com/AstroTechies/unrealmodding/workflows/CI/badge.svg)](https://github.com/AstroTechies/unrealmodding/actions?query=workflow%3ACI)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](../LICENSE)

Library crate for "integrating" Unreal Engine game mods.

## Build setup
Expand Down
3 changes: 3 additions & 0 deletions unreal_mod_manager/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ version.workspace = true
authors.workspace = true
description.workspace = true
license.workspace = true
repository.workspace = true
homepage = "https://github.com/AstroTechies/unrealmodding/tree/main/unreal_mod_manager"
documentation = "https://docs.rs/unreal_mod_manager"
edition = "2021"

[features]
Expand Down
7 changes: 6 additions & 1 deletion unreal_mod_manager/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# unreal_modloader
# unreal_mod_manager

[![Documentation](https://docs.rs/unreal_mod_manager/badge.svg)](https://docs.rs/unreal_mod_manager/)
[![Crates.io](https://img.shields.io/crates/v/unreal_mod_manager.svg)](https://crates.io/crates/unreal_mod_manager)
[![Build status](https://github.com/AstroTechies/unrealmodding/workflows/CI/badge.svg)](https://github.com/AstroTechies/unrealmodding/actions?query=workflow%3ACI)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](../LICENSE)

Library crate for building Modloaders for Unreal Engine games. Developed for Astroneer.

Expand Down
3 changes: 3 additions & 0 deletions unreal_mod_metadata/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ version.workspace = true
authors.workspace = true
description.workspace = true
license.workspace = true
repository.workspace = true
homepage = "https://github.com/AstroTechies/unrealmodding/tree/main/unreal_mod_metadata"
documentation = "https://docs.rs/unreal_mod_metadata"
edition = "2021"

[dependencies]
Expand Down
5 changes: 5 additions & 0 deletions unreal_mod_metadata/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# unreal_mod_metadata

[![Documentation](https://docs.rs/unreal_mod_metadata/badge.svg)](https://docs.rs/unreal_mod_metadata/)
[![Crates.io](https://img.shields.io/crates/v/unreal_mod_metadata.svg)](https://crates.io/crates/unreal_mod_metadata)
[![Build status](https://github.com/AstroTechies/unrealmodding/workflows/CI/badge.svg)](https://github.com/AstroTechies/unrealmodding/actions?query=workflow%3ACI)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](../LICENSE)

Simpe library crate for parsing the the data inside metadata.json files.
3 changes: 3 additions & 0 deletions unreal_pak/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ version.workspace = true
authors.workspace = true
description.workspace = true
license.workspace = true
repository.workspace = true
homepage = "https://github.com/AstroTechies/unrealmodding/tree/main/unreal_pak"
documentation = "https://docs.rs/unreal_pak"
edition = "2021"

[dependencies]
Expand Down
Loading
Loading