armory3d / armory

3D Engine with Blender Integration
https://armory3d.org
zlib License
3.05k stars 317 forks source link

The kha and krom vs code extensions to debug armory games don't work anymore #1796

Closed SeleDreams closed 4 years ago

SeleDreams commented 4 years ago

It seems like iron is having issues building on the latest version of the kha vs code extension with the latest armory3d sdk image

meanwhile my game builds properly from the blender editor when using armory3d

luboslenco commented 4 years ago

Can you paste the whole build output? It looks like your kha vs code extension points to some old Kha version? In the latest Kha you can see the colorAttachmentCount at: https://github.com/Kode/Kha/blob/master/Sources/kha/graphics4/PipelineStateBase.hx#L89

SeleDreams commented 4 years ago

This is the entire output, I used the official kha extension from the extension manager of vs code

Executing task: node c:\Users\lamci\.vscode\extensions\kodetech.kha-20.4.0\Kha\make.js krom --debug <

Using Kha (unversioned) from c:\Users\lamci\.vscode\extensions\kodetech.kha-20.4.0\Kha
Creating Kha project.
Exporting asset 1 of 1 (ammo.wasm.js).  
Exporting asset 1 of 1 (ammo.wasm.wasm).
Exporting asset 1 of 1 (brdf.png).
Exporting asset 1 of 1 (hosek_radiance.hdr).  
Exporting asset 1 of 1 (hosek_radiance_0.hdr).
Exporting asset 1 of 1 (hosek_radiance_1.hdr).
Exporting asset 1 of 1 (hosek_radiance_2.hdr).
Exporting asset 1 of 1 (hosek_radiance_3.hdr).
Exporting asset 1 of 1 (hosek_radiance_4.hdr).
Exporting asset 1 of 1 (hosek_radiance_5.hdr).
Exporting asset 1 of 1 (hosek_radiance_6.hdr).
Exporting asset 1 of 1 (hosek_radiance_7.hdr).
Exporting asset 1 of 1 (smaa_area.png).       
Exporting asset 1 of 1 (smaa_search.png). 
Exporting asset 1 of 1 (font_default.ttf).
Compiling shader 1 of 3 (line.frag.glsl).

Compiling shader 2 of 3 (line.vert.glsl).

Compiling shader 3 of 3 (line_deferred.frag.glsl).

Compiling shader 1 of 8 (painter-colored.frag.glsl).

Compiling shader 2 of 8 (painter-colored.vert.glsl).

Compiling shader 3 of 8 (painter-image.frag.glsl).

Compiling shader 4 of 8 (painter-image.vert.glsl).

Compiling shader 5 of 8 (painter-text.frag.glsl).

Compiling shader 6 of 8 (painter-text.vert.glsl).

Compiling shader 7 of 8 (painter-video.frag.glsl).

Compiling shader 8 of 8 (painter-video.vert.glsl).

C:\Users\lamci\OneDrive\Documents\ArmorySDK\iron\Sources/iron/data/ShaderData.hx:133: characters 14-34 : kha.graphics4.PipelineState has no field colorAttachmentCount
C:\Users\lamci\OneDrive\Documents\ArmorySDK\iron\Sources/iron/data/ShaderData.hx:134: characters 58-74 : kha.graphics4.PipelineState has no field colorAttachments    

Haxe compiler error.
The terminal process "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command node c:\Users\lamci\.vscode\extensions\kodetech.kha-20.4.0\Kha\make.js krom --debug" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.
SeleDreams commented 4 years ago

https://github.com/Kode/vscode-kha looking at the repository it looks like the extension hasn't been updated in 4 months making both vs code and kode outdated

I'm downloading the source of the extension to see if I could update the kha submodule

SeleDreams commented 4 years ago

image so, the good news is that manually updating the kha version of the extension works, the bad news is that it doesn't fix everything, while it builds the project still is not debuggable because it looks like the krom version used is lower than the one supported by the vs code debugger and manually updating krom in the krom extension also doesn't work as it seems like the krom debugger is kind of messed up after doing that (it works but it seems to crash pretty quickly on a random line and the debugger returns garbage)

MoritzBrueckner commented 4 years ago

Hi, you can set the correct Kha and Krom paths in the under Settings > Extensions > Kha/Krom. Just point it to the directories inside the Armory SDK folder as described in the wiki.

SeleDreams commented 4 years ago

Hi, you can set the correct Kha and Krom paths in the under Settings > Extensions > Kha/Krom. Just point it to the directories inside the Armory SDK folder as described in the wiki.

ah thanks I didn't realize there were settings for this, also it may be good to specify that to debug it requires to build the game in html5 mode as krom mode doesn't trigger breakpoints