Skip to content

Commit 2201aac

Browse files
PaliakLocalIdentity
andauthored
Update readme.md, contributing.md (#622)
* docs: update readme.md, contributing.md * Change position --------- Co-authored-by: LocalIdentity <localidentity2@gmail.com>
1 parent 3ba2d18 commit 2201aac

File tree

3 files changed

+38
-65
lines changed

3 files changed

+38
-65
lines changed

CONTRIBUTING.md

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Feature requests are always welcome. Note that not all requests will receive an
4848
### When submitting a pull request:
4949
* **Pull requests must be created against the `dev` branch**, as all changes to the code are staged there before merging to `master`.
5050
* Make sure that the changes have been thoroughly tested!
51-
* If you're updating mod parsing logic, make sure to reload PoB with `Ctrl` + `F5` to regenerate `./src/Data/ModCache.lua`. This is a very large, automatically generated file that can be used to verify your changes didn't affect any other mods inadvertently.
51+
* If you're updating mod parsing logic, make sure to reload PoB with `Ctrl` + `F5` to regenerate `./src/Data/ModCache.lua`. This is a very large, automatically generated file that can be used to verify your changes didn't affect any other mods inadvertently. Make sure to commit `./src/Data/ModCache.lua` if your changes cause it to differ.
5252
* There are many more files in the `./src/Data` directory that are automatically generated. This is indicated by the header
5353
`-- This file is automatically generated, do not edit!`. To change these, instead change the scripts in the `./src/Export` directory and rerun the exporter.
5454
For your PR, please include all relevant changes to both the scripts and data files.
@@ -66,7 +66,7 @@ The easiest way to make and test changes is by setting up a development installa
6666

6767
cd PathOfBuilding-PoE2
6868

69-
3. Start Path of Building from the repository by running `./runtime/Path{space}of{space}Building.exe`.
69+
3. Start Path of Building from the repository by running `./runtime/Path{space}of{space}Building-PoE2.exe`.
7070

7171
You can now use the shortcut to run the program from the repository. Running the program in this manner automatically enables "Dev Mode", which has some handy debugging feature:
7272
* `F5` restarts the program in-place (this is what usually happens when an update is applied).
@@ -158,7 +158,7 @@ To do this in VSCode find the Java installation folder on your computer as displ
158158
-- This is the path to emmy_core.dll. The ?.dll at the end is intentional.
159159
package.cpath = package.cpath .. ";C:/Users/someuser/.vscode/extensions/tangzx.emmylua-0.5.19/debugger/emmy/windows/x64/?.dll"
160160
local dbg = require("emmy_core")
161-
-- This port must match the Visual Studio Code configuration. Default is 9966.
161+
-- This port must match the IDE configuration. Default is 9966.
162162
dbg.tcpListen("localhost", 9966)
163163
-- Uncomment the next line if you want Path of Building to block until the debugger is attached
164164
--dbg.waitIDE()
@@ -196,38 +196,39 @@ Files in /Data /Export and /TreeData can be massive and cause the emmyLua langua
196196
6. Attach the debugger
197197

198198
#### Miscellaneous tips
199+
199200
If you're on windows, consider downloading [git for windows](https://git-scm.com/downloads) and installing git bash. Git bash comes with a variety of typical linux tools such as grep that can make navigating the code base much easier.
200201

201202
If you're using linux you can run the ./runtime/Path{space}of{space}Building.exe executable with wine. You will need to provide a valid wine path to the emmy lua debugger directory.
202203

204+
```bash
205+
# winepath -w ~/.vscode/extensions/tangzx.emmylua-0.8.20-linux-x64/debugger/emmy/windows/x64/
206+
Z:\home\dev\.vscode\extensions\tangzx.emmylua-0.8.20-linux-x64\debugger\emmy\windows\x64\
207+
```
203208

204209
## Testing
205210

206-
PoB uses the [Busted](https://olivinelabs.com/busted/) framework to run its tests. Tests are stored under `spec/System` and run automatically when a PR is modified.
211+
PoB uses the [Busted](https://olivinelabs.com/busted/) framework to run its tests. Tests are stored under `spec/System` and run automatically when a PR is modified.
207212
More tests can be added to this folder to test specific functionality, or new test builds can be added to ensure nothing changed that wasn't intended.
208213

209214
### Running tests
210-
1. Install [LuaRocks](https://luarocks.org/)
211-
2. Run `luarocks install busted`
212-
3. Run `busted --lua=luajit` from the command line. You may need to add `luajit` to your PATH
213-
214-
Docker alternative:
215215

216216
1. Install [Docker](https://www.docker.com/get-started)
217-
2. Run `docker-compose up -d` from the command line
218-
3. View last results in `spec/test_results.log`
219-
220-
### Creating new test builds or fixing an existing build
221-
222-
Sometimes a change will be made that intends to change the stats garnered by PoB, which will break our tests.
223-
1. Add the new build XML (if applicable) to the `TestBuilds` folder
224-
2. Run `busted --lua=luajit -r generate` to generate a LUA file that contains the current stats of that build
225-
3. Run `busted --lua=luajit` and the tests should pass
217+
2. Run `docker-compose up` from the command line
218+
3. Review the results in the terminal
226219

227-
Docker alternative:
220+
Please try to include tests for your new features in your pull request. Additionally, if your pr breaks a test that should be passing please update it accordingly.
228221

229-
1. Add the new build XML (if applicable) to the `TestBuilds` folder
230-
2. Run `docker-compose up -d` to generate a LUA file that contains the current stats of that build and run the tests
222+
### Debugging tests
223+
When running tests with a docker container it is possible to use emmylua for debugging. Paste in the following right under `function launch:OnInit()` in `./src/Launch.lua`:
224+
```lua
225+
package.cpath = package.cpath .. ";/usr/local/bin/?.so"
226+
local dbg = require("emmy_core")
227+
-- This port must match the IDE Code configuration. Default is 9966.
228+
dbg.tcpListen("localhost", 9966)
229+
dbg.waitIDE()
230+
```
231+
After running `docker-compose up` the code will wait at the `dbg.waitIDE()` line until a debugger is attached. This will allow stepping through any code that is internal to POB but will not work for busted related code. Note that this only works for unit tests described above.
231232

232233
## Path of Building development tutorials
233234

@@ -272,6 +273,7 @@ as well as some familiarity with build tools such as [CMake](https://cmake.org).
272273
Example input for Steam:
273274

274275
C:\Program Files (x86)\Steam\steamapps\common\Path of Exile 2
276+
275277
If successful, you should see some cmd windows pop up as the files are unpacked, and then a list of the data tables in the GGPK file should appear.
276278
6. Click `Scripts >>` to show the list of available export scripts. Double-clicking a script will run it, and the box to the right will show any output from the script.
277279
7. If you run into any errors, update the code in `./src/Export` as necessary and try again.

README.md

Lines changed: 15 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,14 @@
1-
# Path of Building Community Fork
2-
## Formerly known as LocalIdentity Fork
1+
# Path of Building 2 Community
2+
## Welcome to Path of Building 2, an offline build planner for Path of Exile 2!
33

4-
This is a fork of Openarl's Path Of Building that includes many extra features not in the base version of PoB
5-
* Adds support for new and updated uniques from league 3.8 onwards
6-
* Pantheon support
7-
* Impale DPS support
8-
* Enemy armour and physical damage reduction calculations
9-
* Catalysts
10-
* Dual influence crafting
11-
* Search for all dropdown boxes
12-
* Barrage Support skill gem
13-
* Ensnaring Arrow support
14-
* Thread of Hope support
15-
* Crimson Dance support
16-
* Void Shot support
17-
* Delve helmet mod support
18-
* Breakdown for aura and curse effect
19-
* List of recently imported accounts to the Import/Export Build tab
20-
* More tree highlighting options for node power
21-
* Support for fossil mods in the crafting window. Including correct parsing for some mods that previously didn't work (e.g., 60% chance to deal 100% more poison/bleed damage)
22-
* Add parsing for more nodes on the tree (i.e., Slayer, Champion, Berserker, Chieftain, Hierophant, Trickster, Assassin, Necromancer and Elementalist ascendancy nodes)
23-
* Add oil combinations to notables on the passive tree
24-
* Support for Elusive and Nightblade support gem
25-
* Incremental shock values (not a locked 50%)
26-
* Fixed Close Combat and Multistrike to have their correct damage values
27-
* Logic for melee distance scaling attack multipliers (Close Combat and Slayer's Impact node)
28-
* Withered now shows on the configuration screen
29-
* Support for Ryslatha's Coil, Vaal Arc Lucky Buff, Perquil's Toe and more
4+
<p float="middle">
5+
<img alt="Tree tab" src="https://github.com/user-attachments/assets/225bf25f-1ac4-4639-b280-565a24d2a2fc" width="48%" />
6+
<img alt="Items tab" src="https://github.com/user-attachments/assets/de8e6dc0-1e1a-46c5-b8a4-18877e67d48d" width="48%" />
7+
</p>
308

319
## Download
3210
Head over to the [Releases](https://github.com/PathOfBuildingCommunity/PathOfBuilding-PoE2/releases) page to download the install wizard or portable zip.
3311

34-
## Contribute
35-
You can find instructions on how to contribute code and bug reports [here](CONTRIBUTING.md).
36-
37-
## Changelog
38-
You can find the full version history [here](CHANGELOG.md).
39-
40-
Welcome to Path of Building, an offline build planner for Path of Exile!
4112
## Features
4213
* Comprehensive offence + defence calculations:
4314
* Calculate your skill DPS, damage over time, life/mana/ES totals and much more!
@@ -47,8 +18,9 @@ Welcome to Path of Building, an offline build planner for Path of Exile!
4718
* Supports all skills and support gems, and most passives and item modifiers
4819
* Throughout the program, supported modifiers will show in blue and unsupported ones in red
4920
* Full support for minions
21+
* Support for party play and support builds
5022
* Passive skill tree planner:
51-
* Support for jewels including most radius/conversion jewels
23+
* Support for jewels including most radius/conversion and timeless jewels
5224
* Features alternate path tracing (mouse over a sequence of nodes while holding shift, then click to allocate them all)
5325
* Fully integrated with the offence/defence calculations; see exactly how each node will affect your character!
5426
* Can import PathOfExile.com and PoEPlanner.com passive tree links; links shortened with PoEURL.com also work
@@ -60,6 +32,7 @@ Welcome to Path of Building, an offline build planner for Path of Exile!
6032
* Item planner:
6133
* Add items from in game by copying and pasting them straight into the program!
6234
* Automatically adds quality to non-corrupted items
35+
* Search the trade site for the most impactful items
6336
* Fully integrated with the offence/defence calculations; see exactly how much of an upgrade a given item is!
6437
* Contains a searchable database of all uniques that are currently in game (and some that aren't yet!)
6538
* You can choose the modifier rolls when you add a unique to your build
@@ -71,20 +44,19 @@ Welcome to Path of Building, an offline build planner for Path of Exile!
7144
* Also contains a database of rare item templates:
7245
* Allows you to create rare items for your build to approximate the gear you will be using
7346
* Choose which modifiers appear on each item, and the rolls for each modifier, to suit your needs
74-
* Has templates that should cover the majority of builds (inb4 'why is there no coral amulet?')
47+
* Has templates that should cover the majority of builds
7548
* Other features:
7649
* You can import passive tree, items, and skills from existing characters
7750
* Share builds with other users by generating a share code
7851
* Automatic updating; most updates will only take a couple of seconds to apply
79-
* Somewhat more open source than usual (look in "%ProgramData%\Path of Building" if you're interested)
8052

81-
## Screenshots
82-
![ss1](https://user-images.githubusercontent.com/23911/153694681-cbc7b83a-970c-4020-b9e3-2a09f0808e38.png)
83-
![ss2](https://user-images.githubusercontent.com/23911/153694692-0309bab1-6776-43ac-bb5a-6cc40265c7c7.png)
84-
![ss3](https://user-images.githubusercontent.com/23911/153694693-2471e491-6ed9-47ae-abcc-a3bff81cdc7c.png)
53+
## Changelog
54+
You can find the full version history [here](CHANGELOG.md).
8555

86-
## Licence
56+
## Contribute
57+
You can find instructions on how to contribute code and bug reports [here](CONTRIBUTING.md).
8758

59+
## Licence
8860
[MIT](https://opensource.org/licenses/MIT)
8961

9062
For 3rd-party licences, see [LICENSE](LICENSE.md).

docker-compose.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ services:
55
environment:
66
HOME: /tmp
77
container_name: pathofbuilding-tests
8-
user: nobody:nobody
98
command: busted --lua=luajit
109
security_opt:
1110
- no-new-privileges:true

0 commit comments

Comments
 (0)