Skip to content

Commit

Permalink
fix: Updating the 'Building Lampray' doc internetisaiah (#113)
Browse files Browse the repository at this point in the history
Since you're currently storing docs using the repo Wiki, feel free to
simply copy+paste my edits and dismiss this PR.

### Changes

- I removed `docs` from the `.gitignore` so I could store my files
there.
- I added `docs/building.md` which is an update to the existing building
doc. This includes:
    - Adding explicit minimum recommended for each dependency.
    - Reformatting dependencies into a simple table.
    - Separating each stem into it's own line for better reading.

---------

Co-authored-by: Charles Hollingworth <[email protected]>
  • Loading branch information
internetisaiah and CHollingworth authored Jan 18, 2024
1 parent af4af84 commit 51413c5
Show file tree
Hide file tree
Showing 12 changed files with 510 additions and 66 deletions.
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ ipch
*.VC.db
*.VC.VC.opendb

docs*/

## Commonly used CMake directories
build*/

Expand Down
24 changes: 13 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,36 @@
# How to Contribute
# Contributing to Lampray

## 1. **Fork the Repository**
> Thanks for helping make Lampray better! Follow this guide to learn how to contribute to Lampray.
## 1. Fork the Repository

Start by forking this repository to your GitHub account using the "Fork" button at the top right.

## 2. **Clone the Repository**
## 2. Clone the Repository

Clone your forked repository to your local machine.

## 3. **Create a New Branch**
## 3. Create a New Branch

Create a new branch for your work with a descriptive name.

## 4. **Make Changes**
## 4. Make Changes

Make your desired changes or improvements to the codebase.

## 5. **Test**
## 5. Test

Ensure that your changes work as expected and that they don't introduce any new issues.

## 6. **Commit**
## 6. Commit

Commit your changes with a clear and concise commit message.

## 7. **Push**
## 7. Push

Push your changes to your forked repository.

## 8. **Create a Pull Request**
## 8. Create a Pull Request

1. Go to the original repository and click on the "New Pull Request" button.
2. Fill in the pull request title with the following format
Expand All @@ -37,12 +39,12 @@ Push your changes to your forked repository.
3. for other kinds, see https://www.conventionalcommits.org/en/v1.0.0/#summary
3. Follow the pull request template and fill in detailed description of your changes.

## 9. **Discuss and Review**
## 9. Discuss and Review

💬 Engage in discussions with the maintainers and the community about your pull request.

🤔 Be prepared to make any necessary adjustments based on feedback.

## 10. **Merge**
## 10. Merge

🎉 Once your pull request is reviewed and approved, it will be merged into the main branch.
125 changes: 72 additions & 53 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,84 +1,103 @@

# ![alt text](https://cdn.discordapp.com/attachments/1160692058017763581/1175551711281168456/LMP-64.png?ex=656ba4d8&is=65592fd8&hm=ccaf321556119a09510514835ccadded74ee8bcc02fb48ec5697d5e9defcdd22&) Lampray
A Mod Manager for games, made for Linux! As an alternative to Vortex and MO2.

This tool is in its early days please see the contributing section to help add more to it!
Big thanks to airtonix & SnazzyPanda for their amazing work on Lampray.
Lampray is a mod manager for gaming on Linux! If you'd like to help improve Lampray, you can:

### Contributors discussion / Early Peeks
If you want early information about lamp, and how things are progressing join me on my very basic development discord.
[discord](https://discord.gg/5macMedevy)
- [Report an issue](https://github.com/CHollingworth/Lampray/issues/new?assignees=&labels=bug&projects=&template=-game--bug-report.md&title=)
- [Request a feature](https://github.com/CHollingworth/Lampray/issues/new?assignees=&labels=enhancement&projects=&template=feature_request.md&title=)
- [Join the Discord](https://discord.gg/5macMedevy)
- [Contribute](./CONTRIBUTING.md)

If you'd like to learn more about Lampray, see [Lampray Docs](./docs/lampray-docs.md).

## List of currently supported games
- Baldur's Gate 3
- Cyberpunk 2077
## Dependencies

## List of planned support
- [ ] Skyrim (SE & AE)
- [ ] Fallout 4
- [ ] Oblivion
- [ ] Morrowind
- [ ] The Sims 4
Lampray requires the following:

## List of currently supported archives
- zip
- 7z
- rar (No longer supported)
| Type | Name |
|-------------|----------------------|
| Build Tool | C++ |
| Build Tool | CMake |
| Build Tool | GCC |
| Build Tool | ninja-build |
| Library | libcurl4-openssl-dev |
| Library | pkg-config |
| Library | SDL2 |
| System Tool | 7-Zip |
| System Tool | Zenity |

## Current Goals
> **Note:** In most cases, Lampray can find your 7-zip installation. However, if it's located in a non-standard location, you'll need to [manually set the path to 7-Zip](./docs/customizing-lampray.md#setting-the-path-to-7-zip).
### Bethesda Support
- [ ] Loot Lib Integration
- [ ] FoMod Parsing
- [ ] BSA/ESP Archive Metadata collection
## Quick start

## Running Requirements
- SDL2
- Zenity
- p7zip-full & p7zip-rar
- Curl
> To build Lampray from source, see [Building from source](./docs/building-from-source.md).
## Building
See Wiki
Download the [latest release](https://github.com/CHollingworth/Lampray/releases) of Lampray, then move the executable to any location of your choice. For example:

## Support
If you wish to support the development of Lampray please consider contributing to the project directly with code or via [ko-fi](https://ko-fi.com/lampray)
```bash
mv ~/Downloads/Lampray ~
```

## Contributing
Give Lampray the execute permission.

I welcome contributions from the community to make this tool even better. Whether you're a developer, designer, or a passionate user, your input is valuable.
```bash
chmod +x ~/Lampray
```

### How to Contribute
Launch the Lampray application.

1. **Fork the Repository**: Start by forking this repository to your GitHub account using the "Fork" button at the top right.
```bash
~/Lampray/Build/Lampray
```

2. **Clone the Repository**: Clone your forked repository to your local machine.
The first time you run Lampray, the following files and directories will be created:

3. **Create a New Branch**: Create a new branch for your work with a descriptive name.
```bash
~
├── imgui.ini
├── Lamp_Data
│ ├── Archives
│ ├── Config
│ ├── Deployment
│ └── Mod_Lists
├── lamp.log
└── Lampray
```

4. **Make Changes**: Make your desired changes or improvements to the codebase.
Now you're ready to [mod your game](./docs/managing-mods.md).

5. **Test**: Ensure that your changes work as expected and that they don't introduce any new issues.
## Supported games

6. **Commit**: Commit your changes with a clear and concise commit message.
### Currently supported

7. **Push**: Push your changes to your forked repository.
> **Note:** At this time, mods using `.rar` files are not supported.
8. **Create a Pull Request**: Go to the original repository and click on the "New Pull Request" button. Provide a descriptive title and detailed description of your changes in the pull request.
- Baldur's Gate 3
- Cyberpunk 2077

9. **Discuss and Review**: Engage in discussions with the maintainers and the community about your pull request. Be prepared to make any necessary adjustments based on feedback.
### Planned support

- The Elder Scrolls V: Skyrim (SE and AE)
- Elder Scrolls IV: Oblivion
- Elder Scrolls III: Morrowind
- Fallout 4
- The Sims 4

## Current goals

### Bethesda support

- [ ] Loot Lib Integration
- [ ] FoMod Parsing
- [ ] BSA/ESP Archive Metadata collection

10. **Merge**: Once your pull request is reviewed and approved, it will be merged into the main branch.
## Become a donor

### Issues and Feature Requests
If you love using Lampray, consider supporting the project by donating to the development team. For more information, see [our page on Ko-fi](https://ko-fi.com/lampray).

If you encounter any issues, bugs, or have ideas for new features, please open an issue on the Issue Tracker.
## Special thanks

Thank you for your contributions and support in making this tool better!
Special thanks to [airtonix](https://github.com/airtonix) and [SnazzyPanda](https://github.com/SnazzyPanda) and the following members of our community:

### Special Thanks
Id like to take a moment to thank these lovely people for helping me fix issue i wouldnt of known existed without their input:
- alterNERDtive
- Azurion42
- LT-Batman
Expand All @@ -90,4 +109,4 @@ Id like to take a moment to thank these lovely people for helping me fix issue i
- Jinxtaposition
- w0rldbuilder

Thank you all for your time, input, and help. May this list continue to grow!
Your contributions have been invaluable. May this list continue to grow!
91 changes: 91 additions & 0 deletions docs/building-from-source.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Building from source

> Learn how to build Lampray from source. When you're finished, you'll be able to [mod your games using Lampray](./managing-mods.md).
## Step 1: Clone the repository

To clone the Lampray repository into your home directory, run the following command:

```
git clone [email protected]:CHollingworth/Lampray.git ~
```

## Step 2: Install dependencies

Lampray requires the following:

| Type | Name |
|-------------|----------------------|
| Build Tool | C++ |
| Build Tool | CMake |
| Build Tool | GCC |
| Build Tool | ninja-build |
| Library | libcurl4-openssl-dev |
| Library | pkg-config |
| Library | SDL2 |
| System Tool | 7-Zip |
| System Tool | Zenity |

> **Note:** In most cases, Lampray can find your 7-zip installation. However, if it's located in a non-standard location, you'll need to [manually set the path to 7-Zip](./customizing-lampray.md#setting-the-path-to-7-zip).
You can either these dependencies manually or use the included setup script. To use the setup script, run the following command:

```bash
~/Lampray/setup.sh
```

If your setup is successful, you'll see the following output:

```bash
==> 💁 [ASDF] Done ✅
```

## Step 3: Build from source

You can build Lampray by [using the Lampray build script](#build-script-recommended) or by [manually running commands](#manual).

### Build script (recommended)

To build Lampray using the included build script, run the following command:

```bash
~/Lampray/build.sh
```

If your build is successful, you'll see the following output:

```
📦 Build complete
```

Finally, launch Lampray.

```bash
~/Lampray/Build/Lampray
```

### Manual

To generate and configure Lampray's build files manually, run the following command:

```bash
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=ninja -G Ninja -S ./ -B ./Build
```

Open the newly created `Build` directory.

```bash
cd Build
```

Build the Lampray executable.

```bash
ninja
```

Finally, launch Lampray.

```bash
~/Lampray/Build/Lampray
```
Loading

0 comments on commit 51413c5

Please sign in to comment.