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.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 »
1666
Function Peer Review / Re: GML: All draw_text functions +(string_width, _height, _width_ext, _height_ext)
« on: July 07, 2011, 08:36:05 am »
Its funny that all of this was done already. At the beginning I opened module_write_fonts.cpp and added the necessary code so it would write the y2 position (which actually was texture coordinates and I wasn't paying attention). Then I opened fontstruct.h and added the necessary variable to the structure. Then I opened fontinit.cpp and noticed this:
Code: [Select]
if (fontstructarray[i]->glyphs[gi].y2 > ymax)
ymax = fontstructarray[i]->glyphs[gi].y2;
Which is EXACTLY what I wanted. So I just added this:Code: [Select]
fontstructarray[i]->yoffset = - ymin + 1;
(Its not ymax, because I needed height-ymax, which ymax - ymin -ymax = -ymin) And that's it. So Josh could of added thous 3 lines in total himself. I followed logical steps just to be lough at in the end. Thats not funny. :|
1667
Issues Help Desk / Re: enigma can't find 'make'
« on: July 07, 2011, 06:23:59 am »
Fixed it. The problem was a badly generated gcc.ey file. It missed several parts like:
Quote
Build-Extension: .exeAnd some other parts as well (I actually didn't compare, I just glanced at it and seeing that something is missing I just deleted it). Also, its weird that I actually deleted it and regenerated before, but that was before I recompiled compileEGMf.dll, after that I forgot. So after recompiling the dll I had to delete the .ey and regenerate it. After that it worked. Just something to remember for future reference (because the java error was quite useless (for me at least)) .
Run-Output: $tempfile
Run-Program: $game
Run-Params:
1668
Issues Help Desk / Re: enigma can't find 'make'
« on: July 06, 2011, 06:12:37 am »
Ok, I rebuild the dll (I thought Rebuild All did it..) with C::B and now that doesn't show. Thou the exception still happens and so I can't run any project. When I do ENIGMA>Run nothing happens and it trows this into the ENIGMA console:
edit: Also, Java has the funniest error reporting I have ever seen. Just look at that thing.
Quote
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at org.enigma.EnigmaRunner.compile(EnigmaRunner.java:519)
at org.enigma.EnigmaRunner.actionPerformed(EnigmaRunner.java:590)
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$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$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)
edit: Also, Java has the funniest error reporting I have ever seen. Just look at that thing.
1669
Issues Help Desk / Re: enigma can't find 'make'
« on: July 05, 2011, 12:15:22 pm »
I actually also have problems with r800, thou not necessarily connected to your problem.
edit: Also, if I delete gcc.ey from compilers/windows and let ENIGMA regenerate, then launching it shows the same error. But if I press Rebuild All it shows this:
Quote
Creating swap.I did try Rebuild All, but then its just:
Initializing global scope.
Undefining _GLIBCXX_EXPORT_TEMPLATE
Dumping whiteSpace definitions...Opening ENIGMA for parse...
Ignoring error in specialization expression at position 19: Expected operator at
this point
Ignoring error in specialization expression at position 19: Expected operator at
this point
Unable to locate member `var' in scope `::enigma::multifunction_variant' (::enig
ma::multifunction_variant)
In file included from ./ENIGMAsystem/SHELL/Collision_Systems/BBox/../../Universa
l_System/reflexive_types.h: Line 2, position 40: Expected '(' at this point
code snippet: \
using multifunction_variant::operator<<>>=;
Code snippet unavailable; possibly heavily buried in untraceable macros or insta
ntiations.
------------------------------------------------
ERROR in parsing engine file: this is the worst thing that could have happened w
ithin the first few seconds of compile.
/
| |
\ \
| | |
\ / / \
\ | | | |
| / /\ \ /
/ | /# \ | |
| \ * ` \
\ / = # ` |
| | # ___/ /
/ _`---^^^ `. |
| .* # = | \
| = # __/
.\____-------^^ `.
/ # # \
| = = |
\___ # #___--^
^^^^^^^^^^^
In file included from ./ENIGMAsystem/SHELL/Collision_Systems/BBox/../../Universa
l_System/reflexive_types.h: Line 2, position 40: Expected '(' at this point
code snippet: \
using multifunction_variant::operator<<>>=;
Code snippet unavailable; possibly heavily buried in untraceable macros or insta
ntiations.
------------------------------------------------
Quote
Rebuilding all...
Running make from `\MinGW\bin\mingw32-make.exe'
Done.
edit: Also, if I delete gcc.ey from compilers/windows and let ENIGMA regenerate, then launching it shows the same error. But if I press Rebuild All it shows this:
Quote
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at org.enigma.EnigmaRunner.compile(EnigmaRunner.java:519)
at org.enigma.EnigmaRunner.actionPerformed(EnigmaRunner.java:594)
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$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$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)
1670
Issues Help Desk / Re: just started
« on: July 03, 2011, 03:52:07 pm »Quote
By the way, how do I declare the type of variable I want to use? I only know how to program in GM...Josh already gave an example and datatypes, but I will show how they can be used for faster code. Consider this in GM:
Code: [Select]
var i;
for (i=0; i<10000000; i+=1){
}
This can be slow because "i" in GM would be double (so has floating point which is not needed in our case (because "i" can only be integer)). In ENIGMA this could be written as:Code: [Select]
for (int i=0; i<10000000; i++){
}
which is A LOT faster. The difference can be even measure in seconds and not in ms. Of course if you just need something ran several times you should use repeat (both in GM and ENIGMA), so this code is faster:Code: [Select]
int i=0;
repeat (10000000){
i++;
}
But I think you get the idea.
1671
Issues Help Desk / Re: just started
« on: July 03, 2011, 05:51:54 am »Quote
Now I see that there are dozens, maybe hundreds of functions that are not game maker's. I don't know what they do.ENIGMA isn't a GM ripoff. Yes, we plan to add every (or almost every) GM function so it would be easy just to take GM file and compile it with ENIGMA. But ENIGMA also extends on the GM's possibilities and speed. For example, ENIGMA has optional variable types (like int) which can improve speed considerably if used properly. So it won't only be faster off the bat than GM, but also allows additional optimizations which would increase the speed even more.
Quote
The problem with that is that enigma is quite slow.You mean what exactly? The compile time? That is slow only the first time, after that it takes a few seconds (no more than GM's). If you mean the engine itself then I don't know what you compared to. ENIGMA is several times faster than GM.
Quote
At least, I won't get caught by surprise trying to convert a game that is based on surfaces just to realise that enigma doesn't draw them.It won't compile if there are unknown functions. So you won't be able to compile with ENIGMA and not see surfaces.
Quote
Hm... the manual isn't opening. Was that expected?In LGM? There is no manual there. Later it will point to wiki which will have all the function information.
Quote
By the way... I still get only "executable files" while trying to compile. THIS is a problem. I need to, at least, play my games on mozilla.Enigma uses C++, so you can't run in a browser (mozzila). It creates (or will be able to create) executables for windows, linux, macos, android and Iphone.
1672
Off-Topic / Re: Will somebody please kill that damn protected keyword!?
« on: July 02, 2011, 05:27:58 pm »Quote
Besides, it doesn't matter if C++ offers a useless keyword here and there; we all know C++ is indisputably the best language known the man, if not the best language of all time.Yeah, and I am the supermans bastard son with his laser vision and balls of steel (or was it duke).
1673
Off-Topic / Re: Will somebody please kill that damn protected keyword!?
« on: July 02, 2011, 04:27:17 am »Quote
Why don't you just go program in PythonBecause python's syntax sucks ass. If a language is based on tabs, then no thanks.
1675
Proposals / Re: Function approval process
« on: June 28, 2011, 07:22:04 am »Quote
developers are unlikely to notice what new functions have been tagged on the wiki as under review,They should just visit this from time to time:
http://enigma-dev.org/docs/Wiki/Category:Function:To_Commit
http://enigma-dev.org/docs/Wiki/Category:Function:Testing
1676
Proposals / Re: Function approval process
« on: June 27, 2011, 04:51:36 pm »
So I see that finally all of the functions are added to the wiki. Now the question is will these pages also serve as the help for the specific function, or will we need to create separate page? Because now I have documented text, sprite and background functions and I want to know if we need these functions separated. One good way would be to keep the currently documented pages, but make function name clickable (thus link each function to its own page). So for example, a user is searching for "Drawing Text", the first page he will hit is this:
http://enigma-dev.org/docs/Wiki/Drawing_text
There he can see all of the drawing functions and also see a short description. Now if he clicks on one of the functions (like draw_text), he will be taken to a separate page:
http://enigma-dev.org/docs/Wiki/Draw_text
Here he could see a longer description, the code used to implement this function, and also examples on how to use this function. This would work great when (or if) LGM allows to open help from the editor. There you would see a search field and the help tree (something like GM's chm), and all of that could be achieved with the wiki.
http://enigma-dev.org/docs/Wiki/Drawing_text
There he can see all of the drawing functions and also see a short description. Now if he clicks on one of the functions (like draw_text), he will be taken to a separate page:
http://enigma-dev.org/docs/Wiki/Draw_text
Here he could see a longer description, the code used to implement this function, and also examples on how to use this function. This would work great when (or if) LGM allows to open help from the editor. There you would see a search field and the help tree (something like GM's chm), and all of that could be achieved with the wiki.
1677
Function Peer Review / Re: GML: All draw_text functions +(string_width, _height, _width_ext, _height_ext)
« on: June 17, 2011, 01:42:40 pm »
Checking the repository I am sure the fnt->baseoffset wasn't implemented... so I still can't 100% finish the text functions. I did try to add this myself, but the only place I found the font struct actually being populated was in the font_add_sprite function, but then it works only when the font is created from the sprite. So where is the code that does it for the included fonts? Somewhere in the plugin?
1679
Announcements / Re: Judgement Day Update
« on: May 22, 2011, 08:31:47 am »
Sooo do I add that "offset" param to the font struct myself?
1680
Function Peer Review / Re: GML: All draw_text functions +(string_width, _height, _width_ext, _height_ext)
« on: May 12, 2011, 01:24:27 pm »Quote
HaRRi: That's because the offsets I calculate in the texture are relative to the baseline rather than to the bottommost point on any glyph or the topmost. You are simply adding the height of the glyph to the supplied "y" coordinate of draw_text. You should instead be adding the difference between the topmost point of the tallest glyph and the baseline.I am fully aware of this. That is why I asked if a new value will be introduced to show the highest y coordinate of the bottom most point. So basically you are going to give me this value via the struct? So I will be able to just do this:
Code: [Select]
yy = y - fnt->baseoffset;
Or something similar? I can actually do all of this myself, but I wanted to ask if this is ok way to do it. Anyway, I will wait until the next rev. Is everything working correctly in the latest rev? That's the reason I still use 710. Time to update I guess.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 »