Jungle Ide for Cerberus X

Martin

Active member
CX Code Contributor
3rd Party Module Dev
Tutorial Author
Joined
Jun 19, 2017
Messages
320
I'm back from vacation. Thanks ziggy, that looks already fantastic. You can probably imagine that many people here (including me) are very, very happy now. :)
 

Soap

New member
CX Code Contributor
Joined
Nov 3, 2017
Messages
44
Hades IDE might be a good rename for Jungle if you want a fresh start with the name and a more fitting theme.
 

Martin

Active member
CX Code Contributor
3rd Party Module Dev
Tutorial Author
Joined
Jun 19, 2017
Messages
320
Hey ziggy, just did a quick test with beta4 and so far no issues. Fantastic work! Will try more in detail now...
 

Martin

Active member
CX Code Contributor
3rd Party Module Dev
Tutorial Author
Joined
Jun 19, 2017
Messages
320
Ok, so far so good, but I have an issue compiling everything for GLFW.

With Ted my project compiles fine, which looks like:
Code:
"D:/Programme/Cerberus/bin/transcc_winnt" -target=Desktop_Game_(Glfw3) -config=Debug "D:/Leidel/Projekte/Offiziersskat/offiziersskat.cxs"

TRANS cerberus compiler V2017-10-24

Parsing...

Invalid UTF-8 in file: D:/Programme/Cerberus/modules_ext/fontmachine/fontinterface.cxs

Semanting...

Translating...

Building...

Copied openal32.dll to D:\Leidel\Projekte\Offiziersskat\offiziersskat.buildv2017-10-24\glfw3\gcc_winnt\Debug64

Copied openal32_COPYING to D:\Leidel\Projekte\Offiziersskat\offiziersskat.buildv2017-10-24\glfw3\gcc_winnt\Debug64

Copied openal32_LICENCE to D:\Leidel\Projekte\Offiziersskat\offiziersskat.buildv2017-10-24\glfw3\gcc_winnt\Debug64

Copied libcurl.dll to D:\Leidel\Projekte\Offiziersskat\offiziersskat.buildv2017-10-24\glfw3\gcc_winnt\Debug64

Copied libcrypto-1_1-x64.dll to D:\Leidel\Projekte\Offiziersskat\offiziersskat.buildv2017-10-24\glfw3\gcc_winnt\Debug64

Copied libssl-1_1-x64.dll to D:\Leidel\Projekte\Offiziersskat\offiziersskat.buildv2017-10-24\glfw3\gcc_winnt\Debug64

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/context.o ../glfw3/src/context.c

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/egl_context.o ../glfw3/src/egl_context.c

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/init.o ../glfw3/src/init.c

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/input.o ../glfw3/src/input.c

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/monitor.o ../glfw3/src/monitor.c

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/osmesa_context.o ../glfw3/src/osmesa_context.c

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/vulkan.o ../glfw3/src/vulkan.c

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/wgl_context.o ../glfw3/src/wgl_context.c

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/win32_init.o ../glfw3/src/win32_init.c

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/win32_joystick.o ../glfw3/src/win32_joystick.c

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/win32_monitor.o ../glfw3/src/win32_monitor.c

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/win32_time.o ../glfw3/src/win32_time.c

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/win32_thread.o ../glfw3/src/win32_thread.c

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/win32_window.o ../glfw3/src/win32_window.c

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/window.o ../glfw3/src/window.c

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/stb_vorbis.o ../stb/stb_vorbis.c

gcc -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/stb_image.o ../stb/stb_image.c

g++ -m64 -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/main.o ../main.cpp

g++ -m64 -LD:/Programme/Cerberus/libs/Win64 -Wl,--subsystem,windows -o Debug64/CerberusGame build/Debug64/context.o build/Debug64/egl_context.o build/Debug64/init.o build/Debug64/input.o build/Debug64/monitor.o build/Debug64/osmesa_context.o build/Debug64/vulkan.o build/Debug64/wgl_context.o build/Debug64/win32_init.o build/Debug64/win32_joystick.o build/Debug64/win32_monitor.o build/Debug64/win32_time.o build/Debug64/win32_thread.o build/Debug64/win32_window.o build/Debug64/window.o build/Debug64/stb_vorbis.o build/Debug64/stb_image.o build/Debug64/main.o -lcomdlg32 -lgdi32 -lopengl32 -lopenal32 -lcurldll -lws2_32

Done.
 

Martin

Active member
CX Code Contributor
3rd Party Module Dev
Tutorial Author
Joined
Jun 19, 2017
Messages
320
Using Jungle, I get an error, that the DLLs cannot be copied and that it cannot link against openal and curl:
Code:
Sending Kill signal...
Found process cmd
Found process cserver_winnt
Found process cserver_winnt
Connection properly closed.
Process ended with return code 0 at 11/7/2017 4:06:05 PM
D:\Programme\Cerberus\Bin\transcc_winnt.exe -run -config=debug -target=Desktop_Game_(Glfw3)   "D:/Leidel/Projekte/Offiziersskat/offiziersskat.cxs"
TRANS cerberus compiler V2017-10-24
Parsing...
Invalid UTF-8 in file: D:/Programme/Cerberus/modules_ext/fontmachine/fontinterface.cxs
Semanting...
Translating...
Building...
Failed to copy openal32 to D:\Leidel\Projekte\Offiziersskat\offiziersskat.buildv2017-10-24\glfw3\gcc_winnt\Debug64
Failed to copy libcurl to D:\Leidel\Projekte\Offiziersskat\offiziersskat.buildv2017-10-24\glfw3\gcc_winnt\Debug64
Failed to copy libcrypto-1_1-x64 to D:\Leidel\Projekte\Offiziersskat\offiziersskat.buildv2017-10-24\glfw3\gcc_winnt\Debug64
Failed to copy libssl-1_1-x64 to D:\Leidel\Projekte\Offiziersskat\offiziersskat.buildv2017-10-24\glfw3\gcc_winnt\Debug64
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/context.o ../glfw3/src/context.c
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/egl_context.o ../glfw3/src/egl_context.c
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/init.o ../glfw3/src/init.c
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/input.o ../glfw3/src/input.c
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/monitor.o ../glfw3/src/monitor.c
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/osmesa_context.o ../glfw3/src/osmesa_context.c
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/vulkan.o ../glfw3/src/vulkan.c
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/wgl_context.o ../glfw3/src/wgl_context.c
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/win32_init.o ../glfw3/src/win32_init.c
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/win32_joystick.o ../glfw3/src/win32_joystick.c
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/win32_monitor.o ../glfw3/src/win32_monitor.c
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/win32_time.o ../glfw3/src/win32_time.c
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/win32_thread.o ../glfw3/src/win32_thread.c
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/win32_window.o ../glfw3/src/win32_window.c
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/window.o ../glfw3/src/window.c
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/stb_vorbis.o ../stb/stb_vorbis.c
gcc  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/stb_image.o ../stb/stb_image.c
g++  -m64  -O0 -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Debug64/main.o ../main.cpp
g++ -m64  -LD:/Programme/Cerberus/Bin/transcc_winnt.exlibs/Win64 -Wl,--subsystem,windows -o Debug64/CerberusGame build/Debug64/context.o build/Debug64/egl_context.o build/Debug64/init.o build/Debug64/input.o build/Debug64/monitor.o build/Debug64/osmesa_context.o build/Debug64/vulkan.o build/Debug64/wgl_context.o build/Debug64/win32_init.o build/Debug64/win32_joystick.o build/Debug64/win32_monitor.o build/Debug64/win32_time.o build/Debug64/win32_thread.o build/Debug64/win32_window.o build/Debug64/window.o build/Debug64/stb_vorbis.o build/Debug64/stb_image.o build/Debug64/main.o -lcomdlg32 -lgdi32 -lopengl32 -lopenal32 -lcurldll -lws2_32
d:/programme/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lopenal32
d:/programme/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lcurldll
collect2.exe: error: ld returned 1 exit status
Makefile:53: recipe for target 'Debug64/CerberusGame' failed
mingw32-make: *** [Debug64/CerberusGame] Error 1
TRANS FAILED: Error executing 'mingw32-make CCOPTS=" -m64  -O0" LDOPTS=" -m64  -LD:/Programme/Cerberus/Bin/transcc_winnt.exlibs/Win64" LIBOPTS=" -lopenal32 -lcurldll" OUT="Debug64/CerberusGame"', return code=2
Abnormal program termination.
 Exit code: -1
 

Pierrou

Active member
Joined
Jul 6, 2017
Messages
186
Hi,
I've just downloaded Beta4, created a new solution, loaded the mak/smoothscroll.cxs banana - I mean example - and intellisense/highlighting is not working for the mojo keywords (SetUpdateRate, KeyHit...). Then, HTML5 / Desktop compiling is OK (Windows 10).
I'm using JungleIDE with MonkeyXStudio in case it makes a difference.
Thanks!!
 

MikeHart

Administrator
Joined
Jun 19, 2017
Messages
2,845
Hi,
I've just downloaded Beta4, created a new solution, loaded the mak/smoothscroll.cxs banana - I mean example - and intellisense/highlighting is not working for the mojo keywords (SetUpdateRate, KeyHit...). Then, HTML5 / Desktop compiling is OK (Windows 10).
I'm using JungleIDE with MonkeyXStudio in case it makes a difference.
Thanks!!

Does that mean you use MX instead of Cerberus?
 

Pierrou

Active member
Joined
Jul 6, 2017
Messages
186
Nope I had been able to switch to Cerberus X with the latest CX version and Martin's Jungle IDE patch (everything was fine but now I'm trying Ziggy's own patch, for now it is not 100% working*). Inside the MonkeyXStudio folder you can store several MonkeyX/CX folders and switch from one compiler to another in Jungle's preferences.

*so I'm now using MX Studio+CX 17/10/31 (without Martin's Jungle zip)+Jungle Beta4
 
Last edited:

ziggy

New member
3rd Party Tool Dev
Joined
Nov 3, 2017
Messages
13
If you want to use latest beta with non cerberus-x compiler, you need to add the .monkey extension in the list of cerberus-x additional file extensions. You can do so at Preferences /Cerberus X/Additional file extensions
Otherwise, Jungle Ide will ignore .Monkey documents.
also, be sure to update your cerberus-x modules database in the top menu.

@Martin I have no idea what can be blocking DLL copying. If you have any solution that replicates 100% of the time the isue, please, send it to my email so I can take a look
 

dawlane

Well-known member
CX Code Contributor
Joined
Jun 21, 2017
Messages
802
Last edited:

dawlane

Well-known member
CX Code Contributor
Joined
Jun 21, 2017
Messages
802
@ziggy: When you are constructing the path, are you hard coding the bin directory as Bin? I've finally got round to using Jungle with Cerberus.
 

Pierrou

Active member
Joined
Jul 6, 2017
Messages
186
@ziggy: When you are constructing the path, are you hard coding the bin directory as Bin? I've finally got round to using Jungle with Cerberus.
In the JungleIDE settings there is a field named "Compiler" and its content is "Bin\transcc_winnt.exe", another one named Docs Builder with "Bin\makedocs_winnt.exe", then Config File "Bin\config.winnt.txt". Capital Bs indeed there...
 

dawlane

Well-known member
CX Code Contributor
Joined
Jun 21, 2017
Messages
802
In the JungleIDE settings there is a field named "Compiler" and its content is "Bin\transcc_winnt.exe", another one named Docs Builder with "Bin\makedocs_winnt.exe", then Config File "Bin\config.winnt.txt". Capital Bs indeed there...
That would explain it.

When dealing with tool chains that are cross platform. You should avoid white space and keep all path names lower case.
 

FRedShift

New member
Joined
Dec 9, 2017
Messages
4
Thank you ziggy! After 3 years spent on 2Dark (Steam,ps4,x1,html5) done with Monkey/Mungo using Jungle IDE (and others Monkey projects before), I thought I have to leave Monkey and have been back to Blitzmax NG for some electronic toy projects. But now, I'm glad to join the CerberusX community thanks to your support and the great motivation of Cerberus team!
I'm playing with CX/mojo2 right now, I'm thinking about converting my old unfinished experiment named WireFred to CX... (www.ludoid.fr/WireFred (sorry, not https yet))
 

Pierrou

Active member
Joined
Jul 6, 2017
Messages
186
Good to see such talented people around! It's inspiring!
The JungleIDE beta 4 is fine, but intellisense is not always working. There is no autocompletion for a few Functions like Print or LoadImage, and everything in my IgnitionX folder... It used to work when using Martin's Jungle IDE fix... No big deal (and so glad to be able to go on coding with my favourite tool) but wondering if there is a way to fix it?
 

MikeHart

Administrator
Joined
Jun 19, 2017
Messages
2,845
Maybe ignition doc files still have the monkeydoc file extension?
 

Pierrou

Active member
Joined
Jul 6, 2017
Messages
186
I converted them using your (cool) tool but it didn't change and it also happen to the functions imported from cerberus.lang

Still very usable though and so far I don't have too much trouble switching to CX.
 

APC

Member
Joined
Aug 8, 2017
Messages
45
Ziggy, I am using Jungle jungle-ide-16-06-22-A-cerberus-BETA4.exe and it is working fine, I have no issues what so ever.
I imported a Monkey-X project and I am using Mojo2, Pyro and FontMachine.
 

wick

Member
3rd Party Module Dev
Tutorial Author
Patreon Bronze
Joined
Jul 17, 2017
Messages
71
I just started the switch from Monkey X to Cerberus, using the new Cerberus Jungle. It's now working for me, but I had a few hangups with the transition:
  • I had to rename "Bin/" -> "bin/" in Jungle's settings as mentioned here. This was a hard one to track down.
  • Using the conversion tool here didn't update the file names inside the Jungle project, so I had to manually open up my .JiProj and replace all ".monkey" with ".cxs".
Also, possibly: I tried installing the tools to build for Android for the first time from the "Cerberus X SDKs" dropdown, but kept getting weird incompatibility errors until I uninstalled the java and android sdks and reinstalled them manually as per Martin's instructions here. The "Open Android Development Tools" option still isn't able to find anything, but it builds OK.

(Thanks for making the Cerberus Jungle, Ziggy! It's an absolute lifesaver & is gonna enable me to keep working in this language.)
 
Top Bottom