User:HaRRiKiRi - hpgDesigns/hpgdesigns-dev.io GitHub Wiki
My name is Harijs and I am a contributor to ENIGMA project. My C++ skills are quite limited (but steadily growing) and so I mostly contribute separate functions.
Skills
- GML
- C++
- HTML, PHP, JS
- Python (a little, never saw the need for it so didn't put much effort)
Current known problems
- Text code can be optimized in several ways, but the gains would be minimal. I wont want to go trough all of that just for a few hundreds of a frame. Maybe someone else is willing to do that.
(Update a few months later: Dunno what optimization I meant... probably should write that down next time)
Contributions done
- Finished the surface system someone else started and wrote all of the surface functions. Also fixed so that screen_redraw() works on surfaces.
- Path system and functions.
- Motion planning system and functions.
- Some shape drawing functions and their documentation.
- All text drawing functions and their documentation.
- All curve drawing functions and their documentation.
- Almost all of the sprite and background drawing functions and their documentation.
- Made the datetime extension, that allows getting, well, date and time (also perform operations on them).
I have made some unpublished stuff as well. Notably:
- MIDI extension, that allows trough 2 simple functions (+1 init and +1 destruct function) to send and receive MIDI signals. So you can control MIDI synthesizer trough ENIGMA (via optional LOOPBE or similar).
- Touchscreen functions that allows making an optical touchscreen (FTIR, DI, etc.) and get position and size of blobs (when you press a finger on the surface you create a blob). This allows easy app development for a system like that. E.g.:
for (int i=0; i<blob_count(); ++i){
draw_circle(blob_x(i),blob_y(i),blob_area(i)/10,0);
}
That would just draw a circle at the position where you pressed.