Skip to content

Commit

Permalink
[SYNC] Updated docs to link book instead of describing everything in …
Browse files Browse the repository at this point in the history
…main repo. (#24)
  • Loading branch information
Neloreck committed Sep 1, 2023
2 parents 333dd94 + 7a30628 commit 4e4a50c
Show file tree
Hide file tree
Showing 15 changed files with 27 additions and 388 deletions.
113 changes: 25 additions & 88 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# 🎮 [Stalker XRF](README.md)

![status](https://github.com/xray-forge/stalker-xrf-template/actions/workflows/build_and_test.yml/badge.svg)
[![language-ts](https://img.shields.io/badge/language-typescript-blue.svg?style=flat)](https://github.com/xray-forge/stalker-xrf-template/search?l=typescript)
[![book](https://img.shields.io/badge/docs-book-blue.svg?style=flat)](https://xray-forge.github.io/stalker-xrf-book)
[![types](https://img.shields.io/badge/docs-types-blue.svg?style=flat)](https://xray-forge.github.io/xray-16-types/index.html)
[![language-ts](https://img.shields.io/badge/language-typescript-blue.svg?style=flat)](https://github.com/xray-forge/stalker-xrf-template/search?l=typescript)
[![license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://github.com/Neloreck/dreamstate/blob/master/LICENSE)
<br/>
![status](https://github.com/xray-forge/stalker-xrf-template/actions/workflows/build_and_test.yml/badge.svg)

<p>
Fully rewritten stalker script engine with typescript. <br/>
Expand All @@ -12,15 +14,17 @@ Template for stalker mods and modded game packages. <br/>

## 📦 In short

- Scripts engine rewritten with typescript
- Custom build pipeline
- Generation UI forms from JSX
- Game configs from dynamic typescript
- Simple translations generation
- Game profiling / debugging tools
- Creation of custom modded game package
- Unit tests coverage
- [WIP] [Modular extensions](./src/engine/extensions/README.md)
- [Faster development](https://xray-forge.github.io/stalker-xrf-book/xrf/developing/developing.html)
- Custom [CLI](https://xray-forge.github.io/stalker-xrf-book/xrf/cli/cli.html) and [build pipeline](https://xray-forge.github.io/stalker-xrf-book/xrf/building/building.html)
- Scripts engine rewritten with typescript ([tstl](https://typescripttolua.github.io/docs/getting-started))
- [Generation UI forms from JSX](https://xray-forge.github.io/stalker-xrf-book/xrf/building/building_forms.html)
- [Game configs from dynamic typescript](https://xray-forge.github.io/stalker-xrf-book/xrf/building/building_configs.html)
- [Simple translations generation](https://xray-forge.github.io/stalker-xrf-book/xrf/building/building_translations.html)
- [Creation of custom modded game packages](https://xray-forge.github.io/stalker-xrf-book/xrf/packaging.html)
- [Modular extensions](https://xray-forge.github.io/stalker-xrf-book/extensions/extensions.html)
- [Debugging tools](https://xray-forge.github.io/stalker-xrf-book/xrf/debugging.html)
- [Unit testing](https://xray-forge.github.io/stalker-xrf-book/xrf/testing.html)
- [Consistent formatted and linted codebase](https://xray-forge.github.io/stalker-xrf-book/xrf/formatting_and_linting.html)

## 📍 Purpose

Expand All @@ -30,10 +34,12 @@ Template for stalker mods and modded game packages. <br/>

---

## 📦 Main differences from original
## 🌓 Links

The intention of this engine template is to allow easier mod development without introducing breaking changes to the original plot. <br/>
Optimizations, quality and logics updates are welcome.
- [Starting work](https://xray-forge.github.io/stalker-xrf-book/xrf/installation.html)
- [CLI commands](https://xray-forge.github.io/stalker-xrf-book/xrf/cli/commands.html)
- [Docs](https://xray-forge.github.io/stalker-xrf-book/general/general.html)
- [Types](https://xray-forge.github.io/xray-16-types/modules.html), [source](https://github.com/xray-forge/xray-16-types)

## 📌What is used

Expand All @@ -44,82 +50,13 @@ Optimizations, quality and logics updates are welcome.
- [Fengari Lua VM](https://github.com/fengari-lua/fengari)
- [Open-X-Ray](https://github.com/OpenXRay/xray-16)

# 🌓 Starting work

## 🧰 Pre-requirements

- [NodeJS](https://nodejs.org/en/) 14 or later
- [Stalker-COP](https://store.steampowered.com/app/41700/STALKER_Call_of_Pripyat/) game

## 💿 Start development

- DOWNLOAD [the game](https://store.steampowered.com/app/41700/STALKER_Call_of_Pripyat/)
- RUN `git clone https://github.com/xray-forge/stalker-xrf-template.git` - clone repository
- RUN `cd stalker-xrf-template` - cd to project folder
- RUN `npm install` - install all the dependencies
- RUN `npm run setup` - set up the project, install submodules
- RUN `npm run cli link` - link gamedata to the game folder
- RUN `npm run cli engine use release` - link open xray with game
- RUN `npm run cli build` - build gamedata to the destination
- RUN `npm run cli start_game` - start game and test changes

## 🧰 Check issues

`$ npm run cli verify` - will check whether project is set up and ready to start developing

## 🏗️ Project scripts

`$ npm run COMMAND_NAME`

- [cli](cli/README.md) - run cli scripts
- [setup](cli/info/README.md) - setup project and submodules
- [verify](cli/verify/README.md) - verify project configuration and integrity
- [build](cli/build/README.md) - build project gamedata with all assets
- [pack:mod](cli/pack/README.md) - build complete mod package in target/mod_package folder
- [watch:scripts](cli/build/README.md) - build scripts in watch mode, recompile on changes
- [test](cli/test/README.md) - run jest tests
- `typecheck` - verify typescript types
- `format` - reformat TS code and lint it
- `lint` - lint TS code with eslint utils

`$ npm run cli COMMAND_NAME`

- [verify](cli/verify/README.md) - verify project settings and readiness
- [link](cli/link/README.md) - link target/gamedata and logs folder and stalker folder for faster development
- [unlink](cli/build/README.md) - unlink target/gamedata and logs folder and stalker folder
- [engine](cli/build/README.md) - engine management commands to use open-xray
- [open_game_folder](cli/build/README.md) - open game folder in explorer
- [start_game](cli/build/README.md) - start game with debug flag
- [build](cli/build/README.md) - build project gamedata with all assets
- [pack](cli/pack/README.md) - build complete mod or game package depending on provided arguments
- [clone](cli/clone/README.md) - clone additional resources
- [parse](cli/parse/README.md) - parsing utils to collect documentation or JSON summaries
- `help` - print list of commands and information about them

## 💿 Build

Script engine can be packaged and built into custom game package.<br/>
Detailed description: [link](doc/BUILDING_CUSTOM_GAME_PACKAGE.md)

---

## 🧰 Docs

- Development and game documentation: [docs](doc/README.md)
- Types and game bindings: [source](https://github.com/xray-forge/xray-16-types), [docs](https://xray-forge.github.io/xray-16-types/modules.html)

## 🏗️ Assets

Additional assets repository can be cloned manually or with shortcut command: <br/>
`npm run cli clone *name*` (`extended`, `locale-eng`, `locale-ukr`, `locale-rus`)
## 📦 Main differences from original

- Extended assets: [https://gitlab.com/xray-forge/stalker-xrf-resources-extended](https://gitlab.com/xray-forge/stalker-xrf-resources-extended)
- EN locale assets: [https://gitlab.com/xray-forge/stalker-xrf-resources-locale-eng](https://gitlab.com/xray-forge/stalker-xrf-resources-locale-eng)
- UA locale assets: [https://gitlab.com/xray-forge/stalker-xrf-resources-locale-ukr](https://gitlab.com/xray-forge/stalker-xrf-resources-locale-ukr)
- RU locale assets: [https://gitlab.com/xray-forge/stalker-xrf-resources-locale-rus](https://gitlab.com/xray-forge/stalker-xrf-resources-locale-rus)
The intention of this engine template is to allow easier mod development without introducing breaking changes to the original plot. <br/>
Optimizations, quality and logics updates are welcome.

## 🧰 Bugs
## 🧰 State / bugs

It took 3 months just to rewrite all the 20 years LUA codebase to typescript and create custom transformers to support luabind. <br/>
It took 3 months just to migrate all the 20 years of LUA codebase to typescript and create custom transformers to support luabind. <br/>
Further game testing and re-architecture produces new bugs and issues which are easier to prevent with unit tests. <br/>
As for now, main focus is separation and clarification of logics and unit testing coverage.
44 changes: 0 additions & 44 deletions doc/BUILDING_CUSTOM_GAME_PACKAGE.md

This file was deleted.

12 changes: 0 additions & 12 deletions doc/BUILDING_UI.md

This file was deleted.

17 changes: 0 additions & 17 deletions doc/CHECKING_GAME_LOGS.md

This file was deleted.

6 changes: 0 additions & 6 deletions doc/CODESTYLE.md

This file was deleted.

15 changes: 0 additions & 15 deletions doc/DEBUGGING_GAME.md

This file was deleted.

28 changes: 0 additions & 28 deletions doc/DEVELOP_FASTER.md

This file was deleted.

14 changes: 0 additions & 14 deletions doc/GAMEDATA_STRUCTURE.md

This file was deleted.

29 changes: 0 additions & 29 deletions doc/PROJECT_STRUCTURE.md

This file was deleted.

21 changes: 0 additions & 21 deletions doc/README.md

This file was deleted.

20 changes: 0 additions & 20 deletions doc/SCRIPTS_EXECUTION_FLOW.md

This file was deleted.

25 changes: 0 additions & 25 deletions doc/TODO.md

This file was deleted.

Loading

0 comments on commit 4e4a50c

Please sign in to comment.