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.
16
Proposals / File operations slow in ENIGMA!
« on: June 26, 2014, 04:39:09 pm »
Now I now this is same behaviour for another known game development software....... but how about making it actually different in ENIGMA, or adding some new file handling ?
writing or reading binary @ 10MB/20MB is slow when today,s hardware can handle 100MB-200MB+++.
IS there a way to implement more optimised faster file I/O in ENIGMA this is one area we don't need to match GMStudio.
writing or reading binary @ 10MB/20MB is slow when today,s hardware can handle 100MB-200MB+++.
IS there a way to implement more optimised faster file I/O in ENIGMA this is one area we don't need to match GMStudio.
17
Issues Help Desk / script threading does not work
« on: June 26, 2014, 03:01:52 pm »
Let's say I want to load some binary data in the background without the dreaded black screen freeze,
and having a loading and progress bar, it does not work.
Example script is write.
I tried thread = script_thread(write,1)
(passing value 1 to script write.
But it does not work.
and having a loading and progress bar, it does not work.
Example script is write.
I tried thread = script_thread(write,1)
(passing value 1 to script write.
But it does not work.
18
General ENIGMA / DX9 UPDATES: DX9 display reset fixed!
« on: June 21, 2014, 10:38:25 pm »
In case some of you missed it, whilst I was working on the last fix for font and scrolling glitches / testing, I announced that I had an idea for fixing the DX9 engine that cleared the display if you switched from window to full screen or full screen to window, or resize window, lose focus, etc.... I worked yesterday on a demo along with a custom made script that I coded to demonstrate the fix that solved the problem of the display not being reset and lost under the conditions mentioned above.
I was going to share this script and demo here but decided to check with Robert first just to be on the safe side and get his constructive feedback on what I had done, even though on my end it was working great. I wanted to know if there were maybe an alternative.
So basically to make a long story short, he acknowledged it was a good fix (in practice) and that I had found the problem, and basically came inside his trousers
So anyhow, to my surprise, he got back to me, saying that a light bulb went off inside his head, and managed to replace several lines of code I had written to a 5 byte fix LOL all this long DX9 was messed up over what was a 5 byte fix....... So anyhow, Robert (who initially did not believe me and thought I was lying !!!) decided to include this fix with some other general fixes that are not yet merged,
basically the depth buffer (ZENABLE) was set to true, and that is what was causing the display to vanish in thin air never to come back. I had made a script to automatically detect the conditions that causes display to clear and restore it.
But thanks to Robert now, my script won't be needed, so it's pointless to upload it. But since he wants to include this fix with other general fixes, I thought I'd share the display reset part of the fix since it is final and functional.
Until the general fixes get merged, here is the raw file (DX9screen.cpp) just copy that over your existing one, you will now be able to use DX9 and this will fix display reset issues - fully tested and works. (for lost devices / reset issues on surfaces, etc) you will have to wait for future fixes he is working on because I have never used surfaces and mangled with that aspect yet.
** UPDATE: These fixes are now merged, make sure you have the recent version.
I was going to share this script and demo here but decided to check with Robert first just to be on the safe side and get his constructive feedback on what I had done, even though on my end it was working great. I wanted to know if there were maybe an alternative.
So basically to make a long story short, he acknowledged it was a good fix (in practice) and that I had found the problem, and basically came inside his trousers
So anyhow, to my surprise, he got back to me, saying that a light bulb went off inside his head, and managed to replace several lines of code I had written to a 5 byte fix LOL all this long DX9 was messed up over what was a 5 byte fix....... So anyhow, Robert (who initially did not believe me and thought I was lying !!!) decided to include this fix with some other general fixes that are not yet merged,
basically the depth buffer (ZENABLE) was set to true, and that is what was causing the display to vanish in thin air never to come back. I had made a script to automatically detect the conditions that causes display to clear and restore it.
But thanks to Robert now, my script won't be needed, so it's pointless to upload it. But since he wants to include this fix with other general fixes, I thought I'd share the display reset part of the fix since it is final and functional.
** UPDATE: These fixes are now merged, make sure you have the recent version.
19
Issues Help Desk / Windows resize bug - can resize bigger but not smaller !
« on: June 09, 2014, 10:27:49 pm »
You can still keep on dragging the window bigger with your mouse, but never making it smaller as it "sticks"
This is pretty much self explanatory.
This is pretty much self explanatory.
20
General ENIGMA / Phase 2/2 - Final testing for the fonts and scrolling issues (RESOLVED)
« on: June 08, 2014, 04:20:38 pm »
This is a continuation of the other topic:
http://enigma-dev.org/forums/index.php?topic=2000.0
I have been so busy lately that I had to put this on hold for a while. Today I completed the 2nd and final version of a test project and an update to my fix. It was established that with the fix applied people with NVIDIA, AMD, INTEL, had no problems viewing fonts in my test project. However, I discovered an issue on my own when working on v2 of my test project, vertical scrolling had a 1px gap that flickered. this was not even caused by the fix as I saw it even with all offsets removed, so I updated the fix to address this issue as well.
After rigorous testing on my end with my 2 PCs plus old boards, the results were positive 100%, in theory this will fix all fonts problem, regardless of font and size used and will fix any issues with scrolling. For those that have graphic cards that had no problems before, the fix will not have any adverse effects and everything should work just fine.
I am submitting a new EXE file for people to try out. Same drill. I would please ask you to run the program and follow the instructions. I've added a menu and it's pretty much self explanatory. Please go through every menu option.
Here are some guidelines:
For fonts, after a lot of trial/error/testing I have cherry picked the most problematic fonts and combination of letters/numbers/sizes. You will see 3 sections for fonts, section A which is live render, which is what the engine is currently rendering on your screen. Section B is a pre-rendered sprite demonstrating what the font should NOT look like, and section C is a pre-rendered sprite showing what the font should look like. So section A should look like section C, if your section A looks like B, this is not good, so please take note.
Ignore the fact that each line is shifted slightly to the right. This was done intentionally for testing purposes. Also ignore any uneven spacing or thickness, again, this is not an issue with ENIGMA but scaling low res fonts on high resolution display + your monitor's upscaling. The issue to look for here is artifacts, as demonstrated in section B.
-------------------------------------
Scrolling, for this test, the program will switch to full screen mode, and show 2 scrolling backgrounds simultaneously, look closely for at least 30 seconds to a minute, for any 1px or more empty gap at the seams of the horizontal or vertical backgrounds. If there is a gap you will see a black flickering line at the seam. In theory this fix should NOT introduce scrolling glitches, but should fix one that was present even without the offsets.
-----------------------------------
Border test, this fix should cause any unwanted borders, but I included it just to be sure. Follow the instructions on screen.
---------------------------------------
Sprites testing, having different instances of sprites scroll in different directions at random positions and alpha settings. Again, the fix should not have any effect on this, but decided to include it to be sure
If you notice anything unusual such as lines at adges of sprites (such as seen with fonts before the fix) or flickering or you get abducted by aliens, take note
------------------------------------------------
Whether you have any issues or not please report with the following information:
1) As much details as possible as to what IS or IS NOT working for you (FONTS, SCROLLING, BORDERS, etc.) Please make sure you have understood and followed the instructions first.
2) Your OS, GPU type (NVIDIA, AMD, INTEL, etc) and model if possible along with driver revision (if possible).
3) Your monitor resolution used to run the test project.
If you test on many configurations you can make separate reports or include them in the same one.
I will start first as an example of a valid report:
multi configuration testing:
1) No issues at all with fonts, sprites, borders or scrolling on any setup.
2) Windows 7 64bit SP1
NVIDIA EVGA GTX 660Ti SC 2GB (337.88 WHQL)
INTEL HD4000 (iGPU)
Windows XP 32bit SP3
NVIDIA BFG 8800GTS OC 320MB (306.81)
3) Testing range 640x480 ~ 1920x1080 (Native)
(note that I have extensively tested this, so I am not asking you to test all resolutions).
--------------------------------------
Thanks once again. Once it is confirmed that people with different setups have successfully run my project and not noticed any anomalies as described herein, then we can go ahead and implement the fix inside ENIGMA. Test #1 worked for everyone, so I am anticipating #2 will work for everyone as all I have done is add Y offset .01, so now d3d projection ortho X/Y offsets are 0.01/0.01, this is likely helping with rounding issues on some GPUs. I have compiled this EXE with a modified source where I added my fixes to the source CPP. It is important that the fixes be included in the CPPs and not done yourself inside your projects as this can be problematic in certain situations. So I added the fix to GLMatrix.cpp and I can confirm that the fix also works for GL3, so I modified GL3Matrix.cpp as well.
When running this test I highly recommend you have the latest GPU drivers installed. DISCLAIMER: If you don't feel comfortable updating drivers, don't do it, or do so at your own risk and peril I am not responsible if your system crashes, fucks up, or anything deemed abnormal caused by updating your GPU drivers or any loss of sleep, alien abduction or otherwise.
Thanks for your help, and hopefully this can be merged and we can move on to other bugs This one was a real pain in the arse!
Current version of enigma contains erronous offsets in the GL matrix, I don't know why these have not been removed as it was established they did not work for everyone Anyhow.
I am including the EXE, zipped.
Now I don't give a shit who's fault it is and who has a better GPU this will not be a debate on who has a bigger penis ! The goal here is to make sure everyone who runs this test is seeing the same good results
Cheers
Download here:
https://www.dropbox.com/s/2i4ff9znwdad6tl/OpenGL1FixTesting-V2-Final.zip
//edit: Don't run the EXE from the other topic "Phase 1/2" The revision 2 is more advanced and includes all test, so for those who did not run v1, please don't and skip to this v2. Thanks.
http://enigma-dev.org/forums/index.php?topic=2000.0
I have been so busy lately that I had to put this on hold for a while. Today I completed the 2nd and final version of a test project and an update to my fix. It was established that with the fix applied people with NVIDIA, AMD, INTEL, had no problems viewing fonts in my test project. However, I discovered an issue on my own when working on v2 of my test project, vertical scrolling had a 1px gap that flickered. this was not even caused by the fix as I saw it even with all offsets removed, so I updated the fix to address this issue as well.
After rigorous testing on my end with my 2 PCs plus old boards, the results were positive 100%, in theory this will fix all fonts problem, regardless of font and size used and will fix any issues with scrolling. For those that have graphic cards that had no problems before, the fix will not have any adverse effects and everything should work just fine.
I am submitting a new EXE file for people to try out. Same drill. I would please ask you to run the program and follow the instructions. I've added a menu and it's pretty much self explanatory. Please go through every menu option.
Here are some guidelines:
For fonts, after a lot of trial/error/testing I have cherry picked the most problematic fonts and combination of letters/numbers/sizes. You will see 3 sections for fonts, section A which is live render, which is what the engine is currently rendering on your screen. Section B is a pre-rendered sprite demonstrating what the font should NOT look like, and section C is a pre-rendered sprite showing what the font should look like. So section A should look like section C, if your section A looks like B, this is not good, so please take note.
Ignore the fact that each line is shifted slightly to the right. This was done intentionally for testing purposes. Also ignore any uneven spacing or thickness, again, this is not an issue with ENIGMA but scaling low res fonts on high resolution display + your monitor's upscaling. The issue to look for here is artifacts, as demonstrated in section B.
-------------------------------------
Scrolling, for this test, the program will switch to full screen mode, and show 2 scrolling backgrounds simultaneously, look closely for at least 30 seconds to a minute, for any 1px or more empty gap at the seams of the horizontal or vertical backgrounds. If there is a gap you will see a black flickering line at the seam. In theory this fix should NOT introduce scrolling glitches, but should fix one that was present even without the offsets.
-----------------------------------
Border test, this fix should cause any unwanted borders, but I included it just to be sure. Follow the instructions on screen.
---------------------------------------
Sprites testing, having different instances of sprites scroll in different directions at random positions and alpha settings. Again, the fix should not have any effect on this, but decided to include it to be sure
If you notice anything unusual such as lines at adges of sprites (such as seen with fonts before the fix) or flickering or you get abducted by aliens, take note
------------------------------------------------
Whether you have any issues or not please report with the following information:
1) As much details as possible as to what IS or IS NOT working for you (FONTS, SCROLLING, BORDERS, etc.) Please make sure you have understood and followed the instructions first.
2) Your OS, GPU type (NVIDIA, AMD, INTEL, etc) and model if possible along with driver revision (if possible).
3) Your monitor resolution used to run the test project.
If you test on many configurations you can make separate reports or include them in the same one.
I will start first as an example of a valid report:
multi configuration testing:
1) No issues at all with fonts, sprites, borders or scrolling on any setup.
2) Windows 7 64bit SP1
NVIDIA EVGA GTX 660Ti SC 2GB (337.88 WHQL)
INTEL HD4000 (iGPU)
Windows XP 32bit SP3
NVIDIA BFG 8800GTS OC 320MB (306.81)
3) Testing range 640x480 ~ 1920x1080 (Native)
(note that I have extensively tested this, so I am not asking you to test all resolutions).
--------------------------------------
Thanks once again. Once it is confirmed that people with different setups have successfully run my project and not noticed any anomalies as described herein, then we can go ahead and implement the fix inside ENIGMA. Test #1 worked for everyone, so I am anticipating #2 will work for everyone as all I have done is add Y offset .01, so now d3d projection ortho X/Y offsets are 0.01/0.01, this is likely helping with rounding issues on some GPUs. I have compiled this EXE with a modified source where I added my fixes to the source CPP. It is important that the fixes be included in the CPPs and not done yourself inside your projects as this can be problematic in certain situations. So I added the fix to GLMatrix.cpp and I can confirm that the fix also works for GL3, so I modified GL3Matrix.cpp as well.
When running this test I highly recommend you have the latest GPU drivers installed. DISCLAIMER: If you don't feel comfortable updating drivers, don't do it, or do so at your own risk and peril I am not responsible if your system crashes, fucks up, or anything deemed abnormal caused by updating your GPU drivers or any loss of sleep, alien abduction or otherwise.
Thanks for your help, and hopefully this can be merged and we can move on to other bugs This one was a real pain in the arse!
Current version of enigma contains erronous offsets in the GL matrix, I don't know why these have not been removed as it was established they did not work for everyone Anyhow.
I am including the EXE, zipped.
Now I don't give a shit who's fault it is and who has a better GPU this will not be a debate on who has a bigger penis ! The goal here is to make sure everyone who runs this test is seeing the same good results
Cheers
Download here:
https://www.dropbox.com/s/2i4ff9znwdad6tl/OpenGL1FixTesting-V2-Final.zip
//edit: Don't run the EXE from the other topic "Phase 1/2" The revision 2 is more advanced and includes all test, so for those who did not run v1, please don't and skip to this v2. Thanks.
21
Issues Help Desk / keyboard_key does not work!
« on: June 07, 2014, 11:21:03 pm »
Yet the other keyboard_lastchar, keyboard_lastkey etc work
Here is I want to do
Does nothing. When debugging, I found out keyboard_key returns 0. IS it broken?
Here is I want to do
Code: (GML) [Select]
switch (keyboard_key)
{
case vk_left: direction -=3; break;
case vk_right: direction +=3; break;
}
speed=3;
image_angle=direction;
Does nothing. When debugging, I found out keyboard_key returns 0. IS it broken?
22
Issues Help Desk / Commands highlighted in LGM that are not supported
« on: June 07, 2014, 07:05:27 pm »
This is not really an issue but an observation.
In LGM when you type functions they change colours when they are recognised.
I noticed execute_string is recognised and listed in auto complete but this function is not available in ENIGMA.
There are other similar functions I found out are inactive, when I was just playing around / experimenting
In LGM when you type functions they change colours when they are recognised.
I noticed execute_string is recognised and listed in auto complete but this function is not available in ENIGMA.
There are other similar functions I found out are inactive, when I was just playing around / experimenting
23
General ENIGMA / Phase 1/2 - Help wanted - Please help me test a fix to ENIGMA's font problem
« on: June 03, 2014, 12:36:52 am »
Update June 8 2014
Please refer to this topic which is up to date:
http://enigma-dev.org/forums/index.php?topic=2022.0
=============================
Ok I decided to open a new topic so in case you were not following, this is concerning issue here:
http://enigma-dev.org/forums/index.php?topic=1976.0
I would like this topic to be strictly for testing of a project I am submitting, the rest can be discussed there. For some strange reason I am having issues with fonts rendering, and apparently now some other people too. Somehow neither official developers of ENIGMA want to implement a temporary fix to the problem for whatever reason, even though we all know this is only a temporary fix. Since the devs have clearly have no more time to devote for major fixing of ENIGMA and this issue won't be fixed in any short term, I see nothing wrong in patching things temporarily, but first I am submitting this test project for everyone interested to test, I would kindly appreciate as many people taking part in this, because if it works well for all I see no reason why not implement this for the time being until an official fix is found, in 10 years, 20 years, or 100 years.
Regardless if the official devs give a shite anymore or care, I DO...... in worst cases if they refuse to implement the changes, I will do them on my own inside my game, I don't need their approval or permission for that and it is my right to code the game I want.......
Meanwhile I tested the following fix on 3 different systems, including a very recent build I am using. Each system I tested it on has drastically different hardware and drivers / and different GPUs and drivers and all exhibit the same visual anomalies.
Here's what I would like ......
I have submitted an attached EGM file, please run it using OPENGL1.1. The EGM project is already set to default OGL1. The EGM is there just for reference, please run the EXE, this will avoid any modifications to the CPP just in case. You will see a screen with instructions and 15 lines of 11111111111's shifted 1px each line
along with a scrolling background.
By default it is using no fix. Press 1 to apply fix, press 0 to disable fix. (don't use numerical pad).
On my end, when I press 1 the 111's display properly.
when I press 0 they don't.
Picture below shows what I am seeing (the problem) without fix.
Picture below now shows fix applied
This is the desired result you want to see.
If using the EGM, please DO NOT CHANGE anything in my code, I would like everyone to test this unmodified as to not create a bias !
1) Press 1 to enable FIX
2) Please report back if the 1's are displayed like the 2nd image (correctly)
2b) Note any scrolling anomalies in the background image below text. This fix should NOT have any effect on scrolling. Please watch for any flickering vertical lines on the scrolling background and report them.
3) Include your graphic card model (AMD, NVIDIA, etc) brand and model, and driver version, and OS.
I've already tested this on many systems and it works with fix on.
Appreciate your help. If this fix works for every one testing this, I will go ahead and apply this fix internally in my projects, this way ENIGMA won't have to be modified in any way, and even if it does, 0.01 offset won't break anything !!!!
The FIX in question is this line:
d3d_set_projection_ortho(0.01,0,room_width,room_height,0)
in draw event. I don't care to hear if this is a disgusting fix or what not, if any of the devs have a better idea they can let me know, I've followed all their requests and tested all they have asked already.
The recent pull request to remove recent offsets from ENIGMA was not yet merged, so if you have updated ENIGMA you might have offsets present in your source which will bias the results.
Before running this test please make sure your
GLMatrix.cpp, GL3Matrix.cpp, and GL3ModelStruct.h
do not include any previous fixes that was applied during last merge.
Here are the 3 files
https://github.com/enigma-dev/enigma-dev/pull/736/files
IN red you will see the code you should remove
if present on these files and save. I would like to avoid any bias and everyone test with the same version of ENIGMA's source.
P.S. The changing of CPP only applies if you are using my EGM and compiling - this does not apply if you are running the EXE.
If you don't feel comfortable or know how to edit the CPP files, then use the EXE version which is compiled from the correct source code.
Please ignore any blurriness you might notice in the images, this is caused by resizing - the display is razor sharp and crisp originally. Ignore any unusual spacing as well, this is result of monitor upscaling.
Thank you very much for your help.
All these changes are opposed by the developers, yet all of them claim they have no time or obligation to fix anything, so whatever, I will take care of this shit once and for all and do so from inside my project, this way everyone is happy. Who are they kidding ? the real issue will require more work and time they don't bloody have so are we going to trail with this problem until it gets fixed in God knows when or are we going to apply a temporary fix that works for all until it gets addressed officially ?
Source project EGM is attached, otherwise compiled EXE is linked here (recommended)
The EGM is just for reference in case someone dares claim I am making it up or rigging. The EXE is a direct compile from this very EGM.
EXE here: https://www.dropbox.com/s/y0sdvfuxfv89nqo/TextAndScrollTesting.exe
Please refer to this topic which is up to date:
http://enigma-dev.org/forums/index.php?topic=2022.0
=============================
Ok I decided to open a new topic so in case you were not following, this is concerning issue here:
http://enigma-dev.org/forums/index.php?topic=1976.0
I would like this topic to be strictly for testing of a project I am submitting, the rest can be discussed there. For some strange reason I am having issues with fonts rendering, and apparently now some other people too. Somehow neither official developers of ENIGMA want to implement a temporary fix to the problem for whatever reason, even though we all know this is only a temporary fix. Since the devs have clearly have no more time to devote for major fixing of ENIGMA and this issue won't be fixed in any short term, I see nothing wrong in patching things temporarily, but first I am submitting this test project for everyone interested to test, I would kindly appreciate as many people taking part in this, because if it works well for all I see no reason why not implement this for the time being until an official fix is found, in 10 years, 20 years, or 100 years.
Regardless if the official devs give a shite anymore or care, I DO...... in worst cases if they refuse to implement the changes, I will do them on my own inside my game, I don't need their approval or permission for that and it is my right to code the game I want.......
Meanwhile I tested the following fix on 3 different systems, including a very recent build I am using. Each system I tested it on has drastically different hardware and drivers / and different GPUs and drivers and all exhibit the same visual anomalies.
Here's what I would like ......
along with a scrolling background.
By default it is using no fix. Press 1 to apply fix, press 0 to disable fix. (don't use numerical pad).
On my end, when I press 1 the 111's display properly.
when I press 0 they don't.
Picture below shows what I am seeing (the problem) without fix.
Picture below now shows fix applied
This is the desired result you want to see.
If using the EGM, please DO NOT CHANGE anything in my code, I would like everyone to test this unmodified as to not create a bias !
1) Press 1 to enable FIX
2) Please report back if the 1's are displayed like the 2nd image (correctly)
2b) Note any scrolling anomalies in the background image below text. This fix should NOT have any effect on scrolling. Please watch for any flickering vertical lines on the scrolling background and report them.
3) Include your graphic card model (AMD, NVIDIA, etc) brand and model, and driver version, and OS.
I've already tested this on many systems and it works with fix on.
Appreciate your help. If this fix works for every one testing this, I will go ahead and apply this fix internally in my projects, this way ENIGMA won't have to be modified in any way, and even if it does, 0.01 offset won't break anything !!!!
The FIX in question is this line:
d3d_set_projection_ortho(0.01,0,room_width,room_height,0)
in draw event. I don't care to hear if this is a disgusting fix or what not, if any of the devs have a better idea they can let me know, I've followed all their requests and tested all they have asked already.
The recent pull request to remove recent offsets from ENIGMA was not yet merged, so if you have updated ENIGMA you might have offsets present in your source which will bias the results.
Before running this test please make sure your
GLMatrix.cpp, GL3Matrix.cpp, and GL3ModelStruct.h
do not include any previous fixes that was applied during last merge.
Here are the 3 files
https://github.com/enigma-dev/enigma-dev/pull/736/files
IN red you will see the code you should remove
if present on these files and save. I would like to avoid any bias and everyone test with the same version of ENIGMA's source.
P.S. The changing of CPP only applies if you are using my EGM and compiling - this does not apply if you are running the EXE.
If you don't feel comfortable or know how to edit the CPP files, then use the EXE version which is compiled from the correct source code.
Please ignore any blurriness you might notice in the images, this is caused by resizing - the display is razor sharp and crisp originally. Ignore any unusual spacing as well, this is result of monitor upscaling.
Thank you very much for your help.
All these changes are opposed by the developers, yet all of them claim they have no time or obligation to fix anything, so whatever, I will take care of this shit once and for all and do so from inside my project, this way everyone is happy. Who are they kidding ? the real issue will require more work and time they don't bloody have so are we going to trail with this problem until it gets fixed in God knows when or are we going to apply a temporary fix that works for all until it gets addressed officially ?
Source project EGM is attached, otherwise compiled EXE is linked here (recommended)
The EGM is just for reference in case someone dares claim I am making it up or rigging. The EXE is a direct compile from this very EGM.
EXE here: https://www.dropbox.com/s/y0sdvfuxfv89nqo/TextAndScrollTesting.exe
24
Issues Help Desk / room_set functions not implemented in ENIGMA????
« on: May 26, 2014, 08:25:15 pm »
I noticed lot of simple functions are missing in ENIGMA.
You can set those in the IDE, but not in GML:
room_set_background
(compiles but does nothing).
and basically all room_set commands
You can set those in the IDE, but not in GML:
room_set_background
(compiles but does nothing).
and basically all room_set commands
25
Issues Help Desk / Fonts display glitch / Borders / Scrolling glitches
« on: May 25, 2014, 01:39:08 pm »
As I was testing the new changes since #732, I accidentally ran into the same issue I had with font rendering. I thought this was fixed with the 0.25/0.25 thing, but now it's back:
To reproduce create a project using OGL1 or OGL3, as both exhibit the problem:
Add to the draw code
Be it window or full screen mode, not displayed right.
In Direct3D window mode it's ok, but could not test full screen as Direct3D fullscreen is still broke, nothing gets displayed in D3D full screen.
To reproduce create a project using OGL1 or OGL3, as both exhibit the problem:
Add to the draw code
Code: [Select]
draw_text(10,10,"11111111111111111111");
Be it window or full screen mode, not displayed right.
In Direct3D window mode it's ok, but could not test full screen as Direct3D fullscreen is still broke, nothing gets displayed in D3D full screen.
26
Issues Help Desk / What's this half a second black screen in OGL before game starts ?
« on: May 23, 2014, 06:18:55 pm »
This might sound like a strange question, but I noticed something. When using DX9 gfx system and run the game, once the game window appears it is quick and already rendered.
In OGL mode, the game window appears but the area is blank (black) for about 1/2 second then room is displayed.
This is regardless of whether window or fullscreen is used.
Here is an example, (OGL)
create a project with an empty object, place it in a room, set background to blue.
Run the game....... The game window will appear but screen area will be be black 1/2 second before turning blue (which is the room display).
In OGL mode, the game window appears but the area is blank (black) for about 1/2 second then room is displayed.
This is regardless of whether window or fullscreen is used.
Here is an example, (OGL)
create a project with an empty object, place it in a room, set background to blue.
Run the game....... The game window will appear but screen area will be be black 1/2 second before turning blue (which is the room display).
27
Programming Help / sprite_add/sound_add/background_add from OTHER sources than files (raw/data).
« on: May 22, 2014, 12:18:04 am »
This might sound crazy, but as I am paving the way for my external resource engine, where I would use my created functions to extract a particular segment from a file.....
Currently you can use sound_add and sprite_add,
background_add, etc. but they all add from files.......
So in this case it means I would have to have my engine read bytes from a file and write them to another and invoke the *_add functions to read the newly written file.
In order to avoid 2 unnecessary steps such as writing and reading,what if there was a function to add sprite, sound, background from variable. As Harri suggested from data / raw, so it can take from content of a variable or buffer.
Here is an example:
This is just a quickly made draft, inside a create event,
will read 1024 bytes from graphics.res starting at position 16000 and store into variable data. Then it will write a file with the contents of data.
As you can see here I am invoking the sprite add which will read the newly created file.
What if there was a way to simply say:
sprite=sprite_add_from_string(data,1,0,0,0,0);
sprite=sprite_add_from_raw(data,1,0,0,0,0)
This way I could simply remove all code involved for writing ! All that would be needed is a file binary read storing it in data and fetching whatver is in data to sprite add.
Effectively loading resources directly to memory.
This would save disk space and speed things up.
Currently you can use sound_add and sprite_add,
background_add, etc. but they all add from files.......
So in this case it means I would have to have my engine read bytes from a file and write them to another and invoke the *_add functions to read the newly written file.
In order to avoid 2 unnecessary steps such as writing and reading,
Here is an example:
Code: [Select]
file=".\data\graphics.res";
file2=".\data\cache\intro.png";
file_bin_open(file,0);
file_bin_seek(file,16000);
repeat (1024)
{
data += chr((file_bin_read_byte(file)));
}
file_bin_close(file);
file_bin_open(file2,1);
repeat (size)
{
i++;
character=string_byte_at(data,i);
file_bin_write_byte(file2,character);
}
file_bin_close(file2);
sprite=sprite_add(file2,1,0,0,0,0);
obj_0.sprite_index=sprite;
This is just a quickly made draft, inside a create event,
will read 1024 bytes from graphics.res starting at position 16000 and store into variable data. Then it will write a file with the contents of data.
As you can see here I am invoking the sprite add which will read the newly created file.
What if there was a way to simply say:
sprite=sprite_add_from_raw(data,1,0,0,0,0)
This way I could simply remove all code involved for writing ! All that would be needed is a file binary read storing it in data and fetching whatver is in data to sprite add.
Effectively loading resources directly to memory.
This would save disk space and speed things up.
28
Issues Help Desk / ENIGMA crashing very frequently !
« on: May 20, 2014, 11:43:03 pm »
Ok I had made other topics before about this and thought the problem was resolved but it came back.
I was recommended to tweak settings.ini and use -xms 1000m which is the maximum. I thought this had helped as it crashed less frequently - however I spoke to soon
I found a way to reproduce a crash, here is the gay error message I get:
Now you must be wondering how the bloody fuck did I manage to do this, I must have been working on a really big project ....
No ! Here is how I did it, I don't know if it is relevant to the settings I used and have not tested with other fonts/gfx system yet.
New project, ogl1
no sprites
1 font resource arial, size 99 (which is the maximum allowed through LGM).
(font0)
1 object with code in draw event
draw_set_font(font0);
draw_text(0, 0, "Hello, world!");
draw_text(1.5,20.5, "Hello, world!");
1 room, 1 instance of this object.
That's it, nothing else.
Also tried build all / clean, same thing.
The crashing even occurs on font size 70,
worked on 50.
Tried this in GMS, not a problem, it handled it fine....of course in gaymaker studio the fonts even that big was ugly as fuck, 2nd one was blurry.
I hope this information can be useful.
The past days I have had ENIGMA crash on me with retarded errors of this sort at least 200 times.
I was recommended to tweak settings.ini and use -xms 1000m which is the maximum. I thought this had helped as it crashed less frequently - however I spoke to soon
I found a way to reproduce a crash, here is the gay error message I get:
Quote
java.lang.Error: Invalid memory access
at com.sun.jna.Native.invokeInt(Native Method)
at com.sun.jna.Function.invoke(Function.java:383)
at com.sun.jna.Function.invoke(Function.java:315)
at com.sun.jna.Library$Handler.invoke(Library.java:212)
at com.sun.proxy.$Proxy0.compileEGMf(Unknown Source)
at org.enigma.EnigmaRunner$CompilerThread.run(EnigmaRunner.java:679)
Now you must be wondering how the bloody fuck did I manage to do this, I must have been working on a really big project ....
No ! Here is how I did it, I don't know if it is relevant to the settings I used and have not tested with other fonts/gfx system yet.
New project, ogl1
no sprites
1 font resource arial, size 99 (which is the maximum allowed through LGM).
(font0)
1 object with code in draw event
draw_set_font(font0);
draw_text(0, 0, "Hello, world!");
draw_text(1.5,20.5, "Hello, world!");
1 room, 1 instance of this object.
That's it, nothing else.
Also tried build all / clean, same thing.
The crashing even occurs on font size 70,
worked on 50.
Tried this in GMS, not a problem, it handled it fine....of course in gaymaker studio the fonts even that big was ugly as fuck, 2nd one was blurry.
I hope this information can be useful.
The past days I have had ENIGMA crash on me with retarded errors of this sort at least 200 times.
29
Issues Help Desk / ENIGMA & LGM stability issues
« on: May 19, 2014, 09:40:07 pm »
This has been happening since latest update to LGM. Working itself with LGM is not so bad, but as you frequently run/test your project, modify things, run, etc. it crashes.
Out of memory I mean come on, this is with a simple white square sprite and 1 object
+ 3 lines of codes.
Quote
java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Unknown Source)
at javax.swing.plaf.basic.BasicDirectoryModel.validateFileCache(Unknown Source)
at javax.swing.plaf.basic.BasicDirectoryModel.propertyChange(Unknown Source)
at java.beans.PropertyChangeSupport.fire(Unknown Source)
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
at java.awt.Component.firePropertyChange(Unknown Source)
at javax.swing.JFileChooser.setFileFilter(Unknown Source)
at javax.swing.JFileChooser.resetChoosableFileFilters(Unknown Source)
at org.lateralgm.components.CustomFileChooser.setFilterSet(CustomFileChooser.java:60)
at org.lateralgm.main.FileChooser.saveNewFile(FileChooser.java:604)
at org.lateralgm.main.Listener.actionPerformed(Listener.java:367)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Out of memory I mean come on, this is with a simple white square sprite and 1 object
+ 3 lines of codes.
30
Programming Help / How to check instance count + other
« on: May 16, 2014, 12:47:08 am »
2 questions.
1)
I noticed there is only instance_count, which counts the total instances in a room. YET when you look in the D&D, the panel allows you to check instances only of particular objects. Same for GMS.
Since I cannot stand D&D anymore and do everything by code, could someone please tell me how I can do the equivalent of the action check instance count for a specific object ?
Example, I have a controller object in a room, what if I wanted it to check number of instances of a specific object in the room, how would I go about....
if I use the if (instance_count), that checks the total active instances in a room !
---------------------------------------------------
2) Destroying individual instances
Now I know how to do this by having the object itself detect collision with another and calling a destroy function, it will destroy self (the instance only, not all the object).
What if I want to control this from another object.
Example, object A shoots Objects B, but collision against object b is checked in A. B is a solid object.
So in Object A I would use
if (place_meeting(x,y,obj_b)
...
...
What should I do next ?
If I use
with (obj_b)
{
destroy_instance();
}
it will kill all instances of object b !
I want only the instance of object b that was hit by object a to be killed.
I can do this with the D&D object kill object, in the panel select other..... This will cause whatever object a was hit to be killed. How the hell can I replicate this with GML?
I tried using other,self, etc. does not work.
This is the same in GMS. I find it ridiculous I have
to use D&D and cannot do this in GML.
1)
I noticed there is only instance_count, which counts the total instances in a room. YET when you look in the D&D, the panel allows you to check instances only of particular objects. Same for GMS.
Since I cannot stand D&D anymore and do everything by code, could someone please tell me how I can do the equivalent of the action check instance count for a specific object ?
Example, I have a controller object in a room, what if I wanted it to check number of instances of a specific object in the room, how would I go about....
if I use the if (instance_count), that checks the total active instances in a room !
---------------------------------------------------
2) Destroying individual instances
Now I know how to do this by having the object itself detect collision with another and calling a destroy function, it will destroy self (the instance only, not all the object).
What if I want to control this from another object.
Example, object A shoots Objects B, but collision against object b is checked in A. B is a solid object.
So in Object A I would use
if (place_meeting(x,y,obj_b)
...
...
What should I do next ?
If I use
with (obj_b)
{
destroy_instance();
}
it will kill all instances of object b !
I want only the instance of object b that was hit by object a to be killed.
I can do this with the D&D object kill object, in the panel select other..... This will cause whatever object a was hit to be killed. How the hell can I replicate this with GML?
I tried using other,self, etc. does not work.
This is the same in GMS. I find it ridiculous I have
to use D&D and cannot do this in GML.