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 ... 202
1
Issues Help Desk / Re: Win32 Enigma missing ffi.h
« on: October 18, 2018, 06:17:00 AM »
I see, I am not surprised, this has already been reported by Hugar actually:
https://github.com/IsmAvatar/LateralGM/issues/377

I know what the issue is already actually. The sprite subframe list is being iterated on close and modifying the list while iterating it. That's what a concurrent modification is. You have to do special things, even in C++, when mutating any kind of data structure you happen to be iterating over at the same time. That said, I tried fixing it when hugar reported it, but Java sucks so badly none of the solutions for iterating the list and adding/removing from it at the same time that I sent to him worked. So I am sort of convinced it may actually be a Java bug, but can't say for certain. I am also on Windows 10 and have not encountered the issue myself.

I apologize that I do not have more time to invest in fixing this right now as I am trying to prioritize RadialGM which will be much better and solve a lot of our issues. I very strongly dislike Java after all of the experience developing for it that I have obtained. It's just a complete mess to write working applications for the Java platform when there's multiple JDKs with multiple Java API implementations just on a single platform. That and the fact that we can't control the dependencies (like Java Swing version) our users end up trying ENIGMA with, makes the situation all the more serious.

For these reasons, I believe that LateralGM is going to stop working soon to the point we won't be able to maintain it so I am focusing all my energy on RadialGM in order to save the project. The setup is going to be a lot easier as well, no installation of Java, just drag and drop RadialGM exe into your enigma-dev folder. Just yesterday I got compiling games working.


Anyway, sorry to divert from your issue, I just want to be clear why I can't offer much more help on any LGM issues right now. I hope you understand and that maybe I helped a little bit, and please stay tuned for more information about the upcoming IDE! :)

2
Issues Help Desk / Re: Win32 Enigma missing ffi.h
« on: October 17, 2018, 10:13:38 AM »
Hey thanks for letting us know about this, I need the MSYS2 setup to work flawlessly for the fast-approaching RadialGM beta. Please let me know if you find anything else out in regards to this. It could have been any number of things including a recent change/update to the MSYS2 packages or perhaps you skipped the package containing that header during setup. If you do find anymore info, I'll keep track and make an announcement if I think it will be helpful to people. That said, I'm glad you did get it working!

3
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.

4
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.
https://enigma-dev.org/docs/wiki/index.php?title=Install%3AWindows&action=historysubmit&diff=31854&oldid=31853

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.

5
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):

6
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.
https://github.com/msys2/msys2/wiki/Using-packages#installing-a-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.
https://github.com/msys2/msys2/wiki/Using-packages#avoiding-writing-long-package-names

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.

    Usage:
        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.
https://enigma-dev.org/docs/wiki/index.php?title=Install%3AWindows&action=historysubmit&diff=31845&oldid=31833

7
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.

Quote
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.
https://github.com/enigma-dev/enigma-dev/issues/743
https://github.com/enigma-dev/enigma-dev/issues/851

Quote
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.

Quote
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.

Quote
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:
https://github.com/enigma-dev/enigma-dev/issues/646

We draw the tiled backgrounds here:
https://github.com/enigma-dev/enigma-dev/blob/4e8ad7c3857794f490610c621ae64ae54b3456b0/ENIGMAsystem/SHELL/Graphics_Systems/General/GSscreen.cpp#L83

draw_background_tiled_ext is implemented here:
https://github.com/enigma-dev/enigma-dev/blob/4e8ad7c3857794f490610c621ae64ae54b3456b0/ENIGMAsystem/SHELL/Graphics_Systems/General/GSbackground.cpp#L217

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.

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

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:
https://github.com/enigma-dev/enigma-dev/commit/4e8ad7c3857794f490610c621ae64ae54b3456b0

The full details of these changes can be found in the original pull request comments:
https://github.com/enigma-dev/enigma-dev/pull/1396

9
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:
https://github.com/enigma-dev/RadialGM/releases

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:

10
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.
https://enigma-dev.org/forums/index.php?topic=2922.msg27250#msg27250
https://github.com/enigma-dev/enigma-dev/pull/1390

11
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.
https://github.com/enigma-dev/enigma-dev/issues/1375

I tracked the cause down to the pull request in which we generalized the main loop so we could add SDL support.
https://github.com/enigma-dev/enigma-dev/pull/1259

The solution was pretty simple, I just had to tweak the event handling slightly to make it correct again.
https://github.com/enigma-dev/enigma-dev/pull/1390

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

12
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)

13
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 https://github.com/enigma-dev/RadialGM.git 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 RadialGM.pro 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.

14
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!
https://www.patreon.com/bePatron?u=10889206


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: https://github.com/enigma-dev/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.
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads

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.

https://github.com/enigma-dev/enigma-dev/commit/8876f6141c575b7ee45dab3adea1fccfb7688331
https://github.com/enigma-dev/enigma-dev/commit/5fa7fcecbd0aaf493103149407c88a13105280a5
https://github.com/enigma-dev/enigma-dev/commit/21dce9bcc32963b788547db96c2215579970993a
https://github.com/enigma-dev/enigma-dev/commit/4e05f616fa7bb02b5d6c7c2d9eb589ada494deee
https://github.com/enigma-dev/enigma-dev/commit/c5a87764affa2fb9141aabfe0c711a859d06f45e
https://github.com/enigma-dev/enigma-dev/commit/d490b5067a8b6f256c135e21ea187705fa414c9e
https://github.com/enigma-dev/enigma-dev/commit/16807a76050455a379d2c434047dc7db12fb4bfc
https://github.com/enigma-dev/enigma-dev/commit/42b7d98efe9930acb3ade71205b3778108892730

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!

15
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.
https://github.com/IsmAvatar/LateralGM/issues

Pages: [1] 2 3 ... 202