Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Goombert

Pages: 1 [2] 3 4 ... 202
Issues Help Desk / Re: Addressed variable doesn't get refreshed
« on: October 09, 2018, 10:01:40 PM »
You're welcome and yeah, just like you did was what I was suggesting. Sorry I can't look into it deeper right now because I am trying to direct all my focus and attention at rapidly getting the new RGM IDE to beta with fundies help. With Java going the way that it is, we simply can't keep up with it fast enough for me to even attempt maintaining LGM and if it continues we'll soon be out of an IDE altogether, hence my attention to RGM. I promise when we get into a better position, I will be devoting more time back to fixing engine bugs for people again and as I linked we already have an issue filed for the backgrounds issue.

The background tiling I don't believe has anything to do with it, we are just bounding the draw background in our screen_redraw to the room area. That needs fixed and so do the other draw_background tiled functions but I need time to test all of those. Sorry, but I will get to it at some point. Feel free to try working around the issue for now or if somebody else wants, send the pull request to GitHub.

Announcements / Re: MSYS2, Pacboy, and Virtual Packages
« on: October 09, 2018, 08:16:24 PM »
Sorry, Turbine, you are in fact correct that there are still some issues there. This revelation came to me thanks to HitCoder over Discord who was having trouble setting up a 32 bit installation.

The issue here is that there are actually 3 separate make packages that can be installed. There is a global MSYS one and two MinGW ones (one for each architecture). The MSYS one happens to be a virtual package just like git is and must be installed accordingly. So I have updated the Wiki instructions again.

To install the needed make packages you actually need to do:
Code: (Bash) [Select]
# 64 bit
pacboy -S toolchain:x make:
# 32 bit
pacboy -S toolchain:i make:

The toolchain group includes the MinGW make and the make: virtual package includes the MSYS one. Sorry about all the confusion, and I think this should finally resolve this issue.

Announcements / Re: MSYS2, Pacboy, and Virtual Packages
« on: October 04, 2018, 03:51:41 PM »
Edit: This post is incorrect slightly, please read my second reply below!!!

Hi Turbine! There's actually no need because the toolchain:x package that is in the list already includes make.

Quote from: MinGW64 Pacboy
$ pacboy -S toolchain:x
:: There are 17 members in group mingw-w64-x86_64-toolchain:
:: Repository mingw64
   1) mingw-w64-x86_64-binutils  2) mingw-w64-x86_64-crt-git
   3) mingw-w64-x86_64-gcc  4) mingw-w64-x86_64-gcc-ada
   5) mingw-w64-x86_64-gcc-fortran  6) mingw-w64-x86_64-gcc-libgfortran
   7) mingw-w64-x86_64-gcc-libs  8) mingw-w64-x86_64-gcc-objc
   9) mingw-w64-x86_64-gdb  10) mingw-w64-x86_64-headers-git
   11) mingw-w64-x86_64-libmangle-git  12) mingw-w64-x86_64-libwinpthread-git
   13) mingw-w64-x86_64-make  14) mingw-w64-x86_64-pkg-config
   15) mingw-w64-x86_64-tools-git  16) mingw-w64-x86_64-winpthreads-git
   17) mingw-w64-x86_64-winstorecompat-git
Enter a selection (default=all):

Announcements / MSYS2, Pacboy, and Virtual Packages
« on: October 01, 2018, 07:53:45 PM »
I want to take a quick minute to explain a little bit about Pacboy because Hugar brought a user's installation issues to my attention over Discord. You can consider this post to be a sort of technical explanation and not really an announcement, but I want to try to clarify this for everybody and not just the one person.

The user was having a problem installing git using Pacboy because I forgot a colon on the install page for Windows. The git package in MSYS2 is actually what's called a "virtual" package.

Because the package is virtual, when you install it with Pacman, you only need to specify git without any x86_64 or i686 suffix. Now what Pacboy is, is it's a bash script written by the MSYS2 people that makes it easier to install Pacman packages so you don't have to specify the long package suffixes.

Long story short, with Pacboy the :x is for x86_64 (64 bit) and :i is for i686 (32 bit) just as our instructions said before, but a plain : after the package name, like git:, should be used for virtual packages.

Quote from: Pacboy Terminal Prompt
    Pacboy 2016.6.24
    Copyright (C) 2015, 2016 Renato Silva
    Licensed under BSD

    This is a pacman wrapper for MSYS2 which handles the package prefixes
    automatically, and provides human-friendly commands for common tasks.

        pacboy [command] [arguments]
        Arguments will be passed to pacman or pkgfile after translation:

        For 64-bit MSYS2, name:i means i686-only
        For 64-bit MSYS2, name:x means x86_64-only
        For MSYS shell, name:m means mingw-w64
        For all shells, name: disables any translation for name
        For all shells, repository::name means repository/name

I've updated our Windows installation instructions to clarify all of this.

Issues Help Desk / Re: Addressed variable doesn't get refreshed
« on: October 01, 2018, 01:06:33 AM »
Hi, Woffelson! Allow me to address some of the points of your post here. ENIGMA, being open source, understandably has some differences from GM. In recent months though, we've been taking a lot of steps to address this including the addition of continuous integration, engine cleanup, abstraction, and additional testing. There is much work to be done still but things have demonstrably been improving.

Deactivation/activation codes weren't working as they should.
I am not surprised, we have some open issues in regards to instance activation and deactivation.

It seems that the activated region was locked to its beginning position.
Your bug is interesting and sounds as if it could be related to the persistent rooms issue I linked above.

Maybe setting the variables in create event has something to do with this lockdown of id variables?
Using show_message(str) to verify all of your assumptions would be a great start if you really think that is the cause. It would also help with getting the bug fixed too, since finding the actual issue in a way that's reproducible is half the task of fixing it.

Oh, and other small thing: backgrounds doesn't seem to tile outside the room. (Quite annoying when trying to generate endless rooms.)
Ah, I was curious about this one myself while going through the graphics code sometime recently. Luckily, we are actually in a much better position to fix this now that all of our background drawing code has been generalized (meaning we have only 1 version of the functions used by all graphics systems; D3D no longer has its own function different from GL).

I actually already apparently have an issue open for this that we haven't closed yet:

We draw the tiled backgrounds here:

draw_background_tiled_ext is implemented here:

If you want to experiment with the code in your local copy, changes to ENIGMA's source code take effect as soon as you save the source file and run the game again.

Announcements / New Dependency on OpenGL Mathematics (GLM) Library
« on: October 01, 2018, 12:16:25 AM »

We've made it to yet another massive cleanup of ENIGMA's graphics. This one is a pretty big deal that I wanted to make sure to let everyone know about. I've rewritten all the old transform and matrix code using a single dependency, GLM, to eliminate all of the old duplication. This is not only less code but also brings improved consistency across the four graphics systems that ENIGMA currently provides. There were several reasons for choosing GLM over various other alternatives that exist, but I'm fairly certain we've made the right decision.

You can see in the above table that the transforms in the Animation Platform Example sent to me by DarkAceZ are consistent in all four graphics systems. Direct3D11 does still have noticeable rendering bugs, but this is unrelated to the transforms and has to do with render states and unfinished D3D11 features we will need to take care of later. But regardless, the game does perform more consistently as a result of these changes.

You will now need to download GLM through your package manager when setting up ENIGMA or pulling the latest master on all platforms.
Code: (Bash) [Select]
# Ubuntu
sudo apt-get install libglm-dev

# MSYS2 32-bit
pacboy -S glm:i

# MSYS2 64-bit
pacboy -S glm:x

You can see that the changes have already been merged:

The full details of these changes can be found in the original pull request comments:

Sorry, I think I forgot about this one. I am not sure if you have already witnessed from being present on Discord or not but:

We've already setup the AppVeyor build for RGM and it's already pushing releases regularly there. There's no depends and only Windows is built right now, it's just download and use. However, there's no compiling games yet and we clearly have a lot of work to do too. I'm working on room editor functionality as well as helping fundies with the new EGM format. I'll make a bigger announcement when we're more ready for actual testing so consider any of these releases to be very early alphas.

And absolutely, sorry if I sometimes sound off, I don't always have the full context when replying to forum posts. But regardless, I appreciate your enthusiasm and your interest in helping the others in that way, you're absolutely right. If there's ever anything else I can clarify, always ask me in a reply so I can make anything ambiguous clear to everyone (even those not registered here).

Cheers!  :smileycat:

Issues Help Desk / Re: Lag in Keyboard Movement
« on: September 17, 2018, 09:57:30 PM »
Thanks Hpg678!  :)

That's right everybody, I do have the fix ready for review and am sure it's the correct fix. I did a very complicated bisect to find the regression. Please read my other forum post or my GitHub pull request for more details.

Programming Help / Re: Implementing WASD Movement
« on: September 17, 2018, 09:41:50 PM »
Hey guys, sorry for my late response here. I finally got around to this issue not only because I keep getting more reports about it but I also continue to have the issue myself, so it was getting really annoying. Regardless, I've got good news and we do have a fix!

As you can see on the GitHub issue posted oh-so-kindly by HitCoder, I first documented my findings while looking for the issue.

I tracked the cause down to the pull request in which we generalized the main loop so we could add SDL support.

The solution was pretty simple, I just had to tweak the event handling slightly to make it correct again.

I am hoping to get that reviewed and we'll have it merged into the repo soon. Thanks for your patience!

Announcements / Re: RadialGM Releases, MSVC, Vertex Buffers, and EGM
« on: September 04, 2018, 03:11:13 AM »
That'd be good Sam, and that's a really smart idea too. I don't want to jump on that train yet until we have more editors working though, but let's definitely do that.  (Y)

Announcements / Re: RadialGM Releases, MSVC, Vertex Buffers, and EGM
« on: September 03, 2018, 12:39:39 PM »
Quote from: hpg678
I'm just bursting with excitement
Woah, easy cowboy, ENIGMA is #1 best of the best we have all the best engineers, you don't need to worry it'll be stable soon  (Y)  :eng101:

Quote from: Wendigo
Can it already be built on Linux?
Yes it can, but like I said it's still highly experimental, we're hard at work. I just merged in the start to the preferences dialog and was designing an updated room editor this morning. If you get on Discord we can help you build it on Linux, fundies is still on Linux remember.

You just need to recursively clone the RadialGM repo with git clone --recursive then cd into the enigma-dev submodule and make all the libEGM depends the same as you do for the main ENIGMA setup right now. Then you go back to the top-level RadialGM folder and open qtcreator to build. Fundies uses qmake though, so that way should work also. I still have to review the Linux CMake pull request he just sent the other day, we don't support CMake build on Linux just yet.

Also, instead of building it, there's something much simpler you can do if you just want to test. Run the Win32 release in WINE, I am told by people on Discord that it works. I wasn't even expecting it but people tried it on their own. I am also told that GMS stopped working in WINE a long time ago.

Announcements / RadialGM Releases, MSVC, Vertex Buffers, and EGM
« on: September 02, 2018, 10:26:30 AM »
RadialGM is currently

If you like the progress we've been making, please consider supporting us on Patreon!

It's been a while since I've updated everyone on the current progress around here. I am going to cover a couple of different topics, some related and some not.

First, I want to talk about how we've added MSVC & CMake building support for the enigma-dev command line tools as well as RadialGM. This is in huge part thanks to fundies whose proved himself to be a master of build systems once again. This has allowed us to create a static build of Qt using vcpkg and use it to deploy RadialGM on the GitHub releases page. Some of you watching us on GitHub may have already noticed you can download 4 builds of RadialGM already (permutations of x86, x64, Debug, and Release).

Please consider this an early alpha as we are still hard at work to bring our other ideas to fruition. Only GMK and GMX loading work right now and some editors are incomplete. Functionality is basically equivalent to the current emake used in CI testing. Actually running a project also does not work yet out of the box and I'm not going to bother explaining yet how to integrate it with your enigma-dev setup.

RadialGM Releases:

You may or may not need to download and install the MSVC 2017 runtime as the only prerequisite dependency, everything else is statically linked into the release and ABSOLUTELY NO Java is required.

From here on, we are hoping that later we can spread CMake & MSVC support to the engine as well as provide static releases and installers for additional platforms. This is just the start of many great things to come.

The next topic I want to cover is vertex buffers and recent graphics changes in the engine. I've been doing a massive overhaul to a lot of the sprite/primitive batching and model code to make it more abstract and eliminate duplication in the engine. I have also been benchmarking, regression testing, and fine tuning the API to perform well. You will find that tiles now work in Direct3D9 the same as they do in the OpenGL systems. You will also notice that the vertex_* API of GMS is now 100% supported in ENIGMA. It is used as the basis of our new 3D model class and used to implement the tiles generically so they work the same in all systems. This has led to not just better performance and less code but improved consistency across the graphics systems.

There will be even more graphics changes to come. The next thing that I am working on is using GLM for matrices in all of the graphics systems. This will fix all of the current transform issues we have and may also improve performance. I already have Direct3D11 using GLM in private tests to pass various rendering tests.

Finally, I want to close by covering some of the things we are doing with the new EGM format that RadialGM will be using for serialization. We only know a few things for sure at this point in time. One thing we do know is that the format will still be based on YAML for the serialization. This time, the entire format will be YAML, and there will be no mix like having binary rooms and yaml objects like the old EGM format did. This will make projects much less likely to be corrupted and easier to recover.

We have already adopted a code-only model that converts the old drag and drop format to GML for backwards compatibility and will later work on a new Drag & Drop action interface. Events of objects will be stored in separate *.edl script files where objects and timelines will be a directory. We hope that this will make it easier to edit the projects externally as well as add to git revision. RadialGM will facilitate external editing by detecting changes to the code files on the filesystem and reload them accordingly.

That said, I hope you are as excited as I am for RadialGM to reach the stability we want it to be so we can start making games with it. Now I am off to work with fundies on the EGM, please stay tuned for more updates!

Sorry I didn't get to this sooner, this is probably a bug in LGM. Are you using OpenJDK or Oracle JDK? We've documented on several occasions where OpenJDK seems to have more bugs, especially with Java Swing apps (which LGM is). I wrote the copy and paste between events mechanism, and the issue could be as simple as the fact that I used a shallow instead of deep copy (programming mistake). I am still trying to focus on other things and we're still focusing on the new IDE, so if you can just ignore it for now, please do so.

Also, if you want, you can file an issue on LGM's tracker, but don't expect a response. It's unlikely I'll find time to do it, and nobody else is interested in developing LGM further. It may still be useful so other people at least know it's an issue. Totally going to leave this up to your decision.

General ENIGMA / Re: Installing ENIGMA
« on: August 15, 2018, 11:22:28 PM »
The gtest errors are normal actually, make all includes make test-harness which is what we run in Travis CI to run regression tests. I get the same error myself, technically instead of make all just make -j4 will make CompilerSource for you, that's all that you need. Hence, why the wiki page doesn't say make all. I haven't clarified this to people until now.

You can just ignore the test-harness errors, it's a false positive in this case. We haven't ported the test-harness to Windows yet and you don't even need to run it locally, it's for the integration tests. We'll probably end up removing test-harness from the all target to avoid this confusion, I don't know why fundies added it there.

General ENIGMA / Re: Installing ENIGMA
« on: August 15, 2018, 11:11:24 PM »
Are you sure the dll is 64 bit? That's what causes this communication error. 64 Java can only load 64 bit dlls with JNI, and extension JNA. This is actually a Windows restriction that a 64 bit process can not load 32 bit dlls. ENIGMA uses JNA.

It's strange that reopening LGM did not rebuild the dll.

I would suggest looking in the terminal for G++ errors, because LGM calls make itself as soon as you open it. You can also remake the the dll yourself with make all -j4.

Again, make sure you are doing all of this from the Mingw64 version of the terminal. There are 3 versions in the start menu, one is MSYS2, one is MinGW32, and the one we use is MinGW64.

Pages: 1 [2] 3 4 ... 202