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
1
Developing ENIGMA / make androidrun
« on: January 28, 2018, 08:07:21 am »
What makefile does this actually make (it's in Android.ey)? I'm looking into doing a cross compiler for the Onion Omega (it's a Raspberry Pi type thing) but I need it so it can automatically upload and run the program on it but I'm not sure how the Android export does this.
2
Off-Topic / The most efficient hashing function for the tags in .object.gmx files
« on: January 27, 2018, 04:29:08 pm »
I ran a little experiment to come up with the most efficient hashing algorithm I could for the XML tags use in .object.gmx files and I came up with this
If you only need a hashing algorithm that is specialised for its area, and its area is either object properties or action properties, this creates a unique hash and only needs 16-bits too, it also knocks off an operation as a bonus:
The code I used for testing is below, under the MIT licence:
https://gist.github.com/faissaloo/0c1dc4b8691f846249f0564f0e11bcf7
Enjoy!
Code: [Select]
<16-bit int> hash(string):
result=0
for i in string:
result<<=1
result^=i
return result
This algorithm has no collisions for any of the strings used for tags in .object.gmx files, only needs 16-bits and only uses the fastest operations on x86. You may be able to get better results if you were to pad out all strings read in and process them in chunks rather than character by character.If you only need a hashing algorithm that is specialised for its area, and its area is either object properties or action properties, this creates a unique hash and only needs 16-bits too, it also knocks off an operation as a bonus:
Code: [Select]
<16-bit int> hash(string):
result=0
for i in string:
result+=i
return result
The above however does have a collision if used for argument properties (and I mean, it's literally just one collision, between 'sprite' and 'string') or if used as a hashing algorithm for all tags in the file (this case has 2 collisions, 'sprite' with 'string' and 'script' with 'events').The code I used for testing is below, under the MIT licence:
https://gist.github.com/faissaloo/0c1dc4b8691f846249f0564f0e11bcf7
Enjoy!
3
Programming Help / Box2D callbacks?
« on: March 10, 2017, 10:26:59 am »
Is there a way to have a box2D collision cause code to execute?
4
Third Party / ECOE - In terminal Linux object editor
« on: June 13, 2016, 02:40:30 pm »
Why I made this:
- I needed an excuse to learn C
- There only seem to be IDEs for ENIGMA/GM and so I wanted to start breaking things up into smaller programs so that they could be easily swapped out
- I hate Java... But I hate proprietary software more, which meant I had to use LGM... But openJDK doesn't work with xmir so I still have to use X11 and that means I have to live with screen tearing, eugh...
- Every ENIGMA/GM IDE seems just horrible for my workflow
- I wanted code actions to open in a code editor of my choosing
https://github.com/faissaloo/ECOE
As it is my first C project I would very much appreciate anyone who could tell me how bad my code is
- I needed an excuse to learn C
- There only seem to be IDEs for ENIGMA/GM and so I wanted to start breaking things up into smaller programs so that they could be easily swapped out
- I hate Java... But I hate proprietary software more, which meant I had to use LGM... But openJDK doesn't work with xmir so I still have to use X11 and that means I have to live with screen tearing, eugh...
- Every ENIGMA/GM IDE seems just horrible for my workflow
- I wanted code actions to open in a code editor of my choosing
https://github.com/faissaloo/ECOE
As it is my first C project I would very much appreciate anyone who could tell me how bad my code is
5
General ENIGMA / Why the draw event types jump from 0 to 64
« on: June 09, 2016, 11:09:49 am »
So, someone wrote a certain comment ( https://github.com/IsmAvatar/LateralGM/blob/220dc7da6dc358bde0d691f52100c852283831a3/org/lateralgm/resources/sub/Event.java#L160 ) in the LateralGM source I think I found the reason:
Just thought someone might be interested.
Just thought someone might be interested.
6
Issues Help Desk / Help please, I can't run 'make' in enigma
« on: January 13, 2013, 04:11:46 am »
well, after some time I got enigma installed. But I kept getting this error from LGM:
please help thanks
Quote
org.lateralgm.file.GmFormatException: java.io.IOException: Cannot run program "make" (in directory "/Applications/enigma-dev-master"): error=2, No such file or directory
at org.enigma.EnigmaRunner.make(EnigmaRunner.java:254)
at org.enigma.EnigmaRunner$3.run(EnigmaRunner.java:148)
please help thanks
Pages: 1