You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: .github/ISSUE_TEMPLATE/accuracy_bug_report.yaml
+6-5
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,13 @@
1
1
name: Accuracy bug report
2
-
description: Create a bug report to help us fix incorrect wordings
2
+
description: Create a bug report to help us fix incorrect wording in Path of Building for PoE2.
3
3
labels: ["bug:accuracy"]
4
4
body:
5
5
- type: markdown
6
6
attributes:
7
7
value: |
8
-
Thank you for reporting an issue.
9
-
Please try to fill in as much of the form below as you're able to. Some of the fields marked with an asterisk (*) are required.
8
+
Thank you for reporting an issue with PoB-**PoE2**.
9
+
[Issues with PoB-PoE1 go here.](https://github.com/PathOfBuildingCommunity/PathOfBuilding/issues)
10
+
Please try to fill in as much of the form below as you're able to. Fields marked with an asterisk (*) are required.
10
11
- type: checkboxes
11
12
id: version
12
13
attributes:
@@ -56,9 +57,9 @@ body:
56
57
- type: textarea
57
58
id: build_code
58
59
attributes:
59
-
label: Character build code
60
+
label: PoB for PoE2 build code
60
61
description: Always provide a build code that exhibits the bug you want to report, even if it is not specific to a particular build. This helps us greatly to reproduce bugs faster.
61
-
placeholder: This can be either a code copied from the "Import/Export Build" tab or a link to a shared build.
62
+
placeholder: This can be either a code copied from the "Import/Export Build" tab or a link to a PoB build.
Copy file name to clipboardexpand all lines: .github/ISSUE_TEMPLATE/application_bug_report.yaml
+6-5
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,13 @@
1
1
name: Application bug report
2
-
description: Create a bug report to help us fix an issue in Path of Building
2
+
description: Create a bug report to help us fix an issue in Path of Building for PoE2.
3
3
labels: [bug]
4
4
body:
5
5
- type: markdown
6
6
attributes:
7
7
value: |
8
-
Thank you for reporting an issue.
9
-
Please try to fill in as much of the form below as you're able to. Some of the fields marked with an asterisk (*) are required.
8
+
Thank you for reporting an issue with PoB-**PoE2**.
9
+
[Issues with PoB-PoE1 go here.](https://github.com/PathOfBuildingCommunity/PathOfBuilding/issues).
10
+
Please try to fill in as much of the form below as you're able to. Fields marked with an asterisk (*) are required.
10
11
- type: checkboxes
11
12
id: version
12
13
attributes:
@@ -65,9 +66,9 @@ body:
65
66
- type: textarea
66
67
id: build_code
67
68
attributes:
68
-
label: Character build code
69
+
label: PoB for PoE2 build code
69
70
description: Always provide a build code that exhibits the bug you want to report, even if it is not specific to a particular build. This helps us greatly to reproduce bugs faster.
70
-
placeholder: This can be either a code copied from the "Import/Export Build" tab or a link to a shared build.
71
+
placeholder: This can be either a code copied from the "Import/Export Build" tab or a link to a PoB build.
Copy file name to clipboardexpand all lines: .github/ISSUE_TEMPLATE/behaviour_bug_report.yaml
+6-5
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,13 @@
1
1
name: Behaviour bug report
2
-
description: Create a bug report to help us fix incorrect behaviour or logic
2
+
description: Create a bug report to help us fix incorrect behaviour or logic in Path of Building for PoE2.
3
3
labels: ["bug:behaviour"]
4
4
body:
5
5
- type: markdown
6
6
attributes:
7
7
value: |
8
-
Thank you for reporting an issue.
9
-
Please try to fill in as much of the form below as you're able to. Some of the fields marked with an asterisk (*) are required.
8
+
Thank you for reporting an issue with PoB-**PoE2**.
9
+
[Issues with PoB-PoE1 go here.](https://github.com/PathOfBuildingCommunity/PathOfBuilding/issues).
10
+
Please try to fill in as much of the form below as you're able to. Fields marked with an asterisk (*) are required.
10
11
- type: checkboxes
11
12
id: version
12
13
attributes:
@@ -71,9 +72,9 @@ body:
71
72
- type: textarea
72
73
id: build_code
73
74
attributes:
74
-
label: Character build code
75
+
label: PoB for PoE2 build code
75
76
description: Always provide a build code that exhibits the bug you want to report, even if it is not specific to a particular build. This helps us greatly to reproduce bugs faster.
76
-
placeholder: This can be either a code copied from the "Import/Export Build" tab or a link to a shared build.
77
+
placeholder: This can be either a code copied from the "Import/Export Build" tab or a link to a PoB build.
Copy file name to clipboardexpand all lines: .github/ISSUE_TEMPLATE/calculation_bug_report.yaml
+6-5
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,13 @@
1
1
name: Calculation bug report
2
-
description: Create a bug report to help us fix incorrect calculations
2
+
description: Create a bug report to help us fix incorrect calculations in Path of Building for PoE2.
3
3
labels: ["bug:calculation"]
4
4
body:
5
5
- type: markdown
6
6
attributes:
7
7
value: |
8
-
Thank you for reporting an issue.
9
-
Please try to fill in as much of the form below as you're able to. Some of the fields marked with an asterisk (*) are required.
8
+
Thank you for reporting an issue with PoB-**PoE2**.
9
+
[Issues with PoB-PoE1 go here.](https://github.com/PathOfBuildingCommunity/PathOfBuilding/issues)
10
+
Please try to fill in as much of the form below as you're able to. Fields marked with an asterisk (*) are required.
10
11
- type: checkboxes
11
12
id: version
12
13
attributes:
@@ -71,9 +72,9 @@ body:
71
72
- type: textarea
72
73
id: build_code
73
74
attributes:
74
-
label: Character build code
75
+
label: PoB for PoE2 build code
75
76
description: Always provide a build code that exhibits the bug you want to report, even if it is not specific to a particular build. This helps us greatly to reproduce bugs faster.
76
-
placeholder: This can be either a code copied from the "Import/Export Build" tab or a link to a shared build.
77
+
placeholder: This can be either a code copied from the "Import/Export Build" tab or a link to a PoB build.
Copy file name to clipboardexpand all lines: .github/ISSUE_TEMPLATE/crash_report.yaml
+6-5
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,13 @@
1
1
name: Crash report
2
-
description: Create a crash report to help us fix critical issues
2
+
description: Create a crash report to help us fix critical issues in Path of Building for PoE2.
3
3
labels: [bug, crash]
4
4
body:
5
5
- type: markdown
6
6
attributes:
7
7
value: |
8
-
Thank you for reporting a crash or severe graphical issue.
9
-
Please try to fill in as much of the form below as you're able to. Some of the fields marked with an asterisk (*) are required.
8
+
Thank you for reporting a crash or severe graphical issue in PoB-**PoE2**.
9
+
[Issues with PoB-PoE1 go here.](https://github.com/PathOfBuildingCommunity/PathOfBuilding/issues)
10
+
Please try to fill in as much of the form below as you're able to. Fields marked with an asterisk (*) are required.
10
11
- type: checkboxes
11
12
id: version
12
13
attributes:
@@ -70,10 +71,10 @@ body:
70
71
- type: textarea
71
72
id: build_code
72
73
attributes:
73
-
label: Character build code
74
+
label: PoB for PoE2 build code
74
75
description: Provide a build code if the crash/graphical issue is caused by a certain build.
75
76
placeholder: |
76
-
This can be either a code copied from the "Import/Export Build" tab or a link to a shared build.
77
+
This can be either a code copied from the "Import/Export Build" tab or a link to a PoB build.
77
78
In the case where Path of Building crashes/doesn't work on startup or when you open a build.
78
79
Go to your builds folder (default %userprofile%/Documents/Path of Building/Builds) and copy the problematic build's .xml contents into a pastebin and supply the link.
Copy file name to clipboardexpand all lines: CONTRIBUTING.md
+47-29
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@
23
23
* Please provide detailed instructions on how to reproduce the bug, if possible.
24
24
* Provide a build share code for a build that is affected by the bug, if possible.
25
25
In the "Import/Export Build" tab, click "Generate", then "Share" and add the link to your post.
26
-
26
+
27
27
Build share codes allow us to reproduce bugs much more quickly.
28
28
29
29
## Requesting features
@@ -48,7 +48,7 @@ Feature requests are always welcome. Note that not all requests will receive an
48
48
### When submitting a pull request:
49
49
***Pull requests must be created against the `dev` branch**, as all changes to the code are staged there before merging to `master`.
50
50
* 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.
52
52
* There are many more files in the `./src/Data` directory that are automatically generated. This is indicated by the header
53
53
`-- This file is automatically generated, do not edit!`. To change these, instead change the scripts in the `./src/Export` directory and rerun the exporter.
54
54
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
66
66
67
67
cd PathOfBuilding-PoE2
68
68
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`.
70
70
71
71
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:
72
72
*`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
158
158
-- This is the path to emmy_core.dll. The ?.dll at the end is intentional.
-- This port must match the Visual Studio Code configuration. Default is 9966.
161
+
-- This port must match the IDE configuration. Default is 9966.
162
162
dbg.tcpListen("localhost", 9966)
163
163
-- Uncomment the next line if you want Path of Building to block until the debugger is attached
164
164
--dbg.waitIDE()
@@ -196,38 +196,39 @@ Files in /Data /Export and /TreeData can be massive and cause the emmyLua langua
196
196
6. Attach the debugger
197
197
198
198
#### Miscellaneous tips
199
+
199
200
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.
200
201
201
202
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.
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.
207
212
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.
208
213
209
214
### 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
2. Run `docker-compose up -d` from the command line
218
-
3.View last results in `spec/test_results.log`
217
+
2. Run `docker-compose up` from the command line
218
+
3.Review the results in the terminal
219
219
220
-
### Creating new test builds or fixing an existing build
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.
221
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
226
-
227
-
Docker alternative:
228
-
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`:
-- 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.
231
232
232
233
## Path of Building development tutorials
233
234
@@ -236,6 +237,8 @@ Docker alternative:
236
237
*[How skills work in Path of Building](docs/addingSkills.md)
237
238
238
239
## Exporting GGPK data from Path of Exile
240
+
> [!WARNING]
241
+
> This will not work on files from the torrent that is released before league launches, as it contains no `Data` section.
239
242
240
243
Note: This tutorial assumes that you are already familiar with the GGPK and its structure. [poe-tool-dev/ggpk.discussion](https://github.com/poe-tool-dev/ggpk.discussion/wiki)
241
244
is a good starting point.
@@ -244,6 +247,9 @@ The `./src/Data` folder contains generated files which are created using the scr
244
247
If you change any logic/configuration in `./src/Export`, you will need to regenerate the appropriate `./src/Data` files. You can do so by running the `./src/Export` scripts using the `.dat` viewer at `./src/Export/Launch.lua`:
245
248
246
249
### Obtain an Oodle extractor
250
+
> [!TIP]
251
+
> Binaries are usually available at https://github.com/zao/ooz/releases.
252
+
247
253
Note: For this tutorial, you will need a working installation of [Visual Studio Community](https://visualstudio.microsoft.com/vs/community/)
248
254
as well as some familiarity with build tools such as [CMake](https://cmake.org).
249
255
1. In Visual Studio, clone the following repository using this command:
@@ -252,13 +258,25 @@ as well as some familiarity with build tools such as [CMake](https://cmake.org).
252
258
2. Configure CMake.
253
259
3. Build `bun_extract_file.exe`, `libbun.dll` and `libooz.dll`.
254
260
255
-
### Set up the exporter
256
-
1. Copy `bun_extract_file.exe`, `libbun.dll` and `libooz.dll` to `./src/Export/ggpk/`.
257
-
2. Create a shortcut to `./runtime/Path{space}of{space}Building.exe` with the path to `./src/Export/Launch.lua` as first argument. You should end up with something like: `"<path to repo>\runtime\Path{space}of{space}Building.exe" "<path to repo>\src\Export\Launch.lua"`.
258
-
3. Run the shortcut, and the GGPK data viewer UI will appear. If you get an error, be sure you're using the latest release of Path of Building Community.
259
-
4. Paste the path to `Content.ggpk` (or, for Steam users, `C:\Program Files (x86)\Steam\steamapps\common\Path of Exile`) into the text box in the top left, and hit `Enter` to read the GGPK. If successful, you will see a list of the data tables in the GGPK file. Note: This will not work on the GGPK from the torrent file released before league launches, as it contains no `Data` section.
260
-
5. 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.
261
-
6. If you run into any errors, update the code in `./src/Export` as necessary and try again.
261
+
### Set up the exporter
262
+
1. Copy `bun_extract_file.exe`, `libbun.dll` and `libooz.dll` to `.\src\Export\ggpk\`.
263
+
2. Create a shortcut to `.\runtime\Path{space}of{space}Building.exe` with the path to `.\src\Export\Launch.lua` as the first argument. You should end up with something like:
264
+
265
+
"<path to repo>\runtime\Path{space}of{space}Building.exe" "<path to repo>\src\Export\Launch.lua"
266
+
3. Run the shortcut. "Dat View", the GGPK data viewer UI, should appear. If you get an error, be sure you're using the latest release of Path of Building Community.
267
+
4. Click `Edit Sources...` to display the "New DAT Source" popup. Click `New` and enter a name.
268
+
5. Paste the full path to `Content.ggpk` into the "Source from GGPK/Steam PoE path" box and hit `Enter`. For the stand-alone client, the path must include the file-name. (Do not put anything in the "Source from DAT files" box unless you have already manually unpacked the relevant files.)
269
+
270
+
Example input for the stand-alone client:
271
+
272
+
C:\Path of Exile 2\Content.ggpk
273
+
Example input for Steam:
274
+
275
+
C:\Program Files (x86)\Steam\steamapps\common\Path of Exile 2
276
+
277
+
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.
278
+
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.
279
+
7. If you run into any errors, update the code in `./src/Export` as necessary and try again.
262
280
263
281
## Using the inbuilt profiler
264
282
The profiler is found at https://github.com/charlesmallah/lua-profiler and is written entirely in lua under a MIT license.
0 commit comments