Jean Privat [Thu, 18 Feb 2016 15:18:53 +0000 (10:18 -0500)]
tests: add ncurses and x11 to OSX toto
So tests pass with *todo* (instead of *fai*l)
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Feb 2016 15:07:10 +0000 (10:07 -0500)]
tests: enable testing cococa on OSX
What was to point to disable cocoa on OSX anyway?
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Feb 2016 06:23:03 +0000 (01:23 -0500)]
Merge: Use a subfolder `android` for Android related files like `res` and `libs`
Move Android specific files of each projects to a subfolder `android`. This includes the `res` folder with custom resources and icons, as well as the `libs` folder storing Android libraries (jar files). It is a followup to the iOS support where platform specific icons are stored in the subfolder `ios`.
Also remove the quiet option (`-q`) from the call to ant, because it often hid error messages. Besides, the call to ndk-build is already very verbose, so a longer output from ant is not that bad. In the future, for a cleaner output, we could try to replace ant with gradle.
Pull-Request: #1952
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 18 Feb 2016 06:23:00 +0000 (01:23 -0500)]
Merge: nitcc fix issue when a DFA node has only a single Any transition
Pull-Request: #1953
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Wed, 17 Feb 2016 21:26:17 +0000 (16:26 -0500)]
nitcc: add test/lexer-any.sablecc
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 17 Feb 2016 21:24:31 +0000 (16:24 -0500)]
nitcc: Handle case of DFA state with a unique Any transition
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Wed, 17 Feb 2016 14:13:53 +0000 (09:13 -0500)]
contrib & examples: update Android apps
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 17 Feb 2016 18:02:36 +0000 (13:02 -0500)]
nitc android: do not use quiet the call to ant as it hides some errors
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 17 Feb 2016 13:52:00 +0000 (08:52 -0500)]
nitc android: move android specific folders (res/libs) to an android folder
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Tue, 16 Feb 2016 19:52:37 +0000 (14:52 -0500)]
Merge: Revamp `Text::format`
Change the behavior of `Text::format` so it uses an index from 0 (instead of 1), and the escape sequence to a double percentage sign (ex, `%%4` to get `%4`). Also, now `format` ignores `%` that are not followed by a number.
There were problems with the previous escape sequence (using `\%`):
1. In literal strings, the `\` itself has to be escaped, so a whole escaped sequence look like `\\%4`.
2. The extra `\\` were not removed from the resulting string, so it was still impossible to produce a `%4` because `\\%4` resulted in `\\%4`.
These changes were prompted by an error in the code generated the i18n phase on a lone `%` not related to the `format` method. Also, the index beginning at 1 were always confusing to me, it was a different behavior than `Array` and other
@R4PaSs I would like your opinion on this.
Pull-Request: #1951
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Tue, 16 Feb 2016 19:52:35 +0000 (14:52 -0500)]
Merge: nitcorn: cache served files, custom JS for FileServer and do not depend on curl
This PR extends `FileServer` with caching of served files and custom JavaScript code for the header. The caching is set to 1h by default, but it can be customized.
Removing the default import of the `proxy` module with nitcorn, it depends on curl, and thus adds a (small) overhead to all nitcorn programs and need the library. This could be reverted when `proxy` is updated to use only libevent.
Pull-Request: #1950
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 16 Feb 2016 19:52:33 +0000 (14:52 -0500)]
Merge: iOS icon support and fix black bars on physical devices
This PR adds support for custom icons on iOS by adding an `Assets.xcassets` folder to the generated Xcode project. It is used to store a user provided icon specified in the `ios/AppIcon.appiconset` folder from the root of the Nit project. This is similar to the Android support where the icon files are stored in the `res` folder.
Also adds `LaunchScreen.storyboard` to the generated project. This file defines a kind of splash screen displayed while the app loads. The main advantage of this file is that it fixes a bug on physical devices where black bars were visible at the top and bottom of the screen.
The launch screen shows the app name in the center with _app.nit_ at the bottom. This is the default format provided by Xcode but it does not follow the official guidelines. In the future we may want an option for the user to provide a custom file.
To generete these icons, this PR update `svg_to_icons` with support for the icon formats expected by Xcode.
As examples and test, both Tnitter and calculator are updated with icons for iOS.
Pull-Request: #1949
Reviewed-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Tue, 16 Feb 2016 13:47:42 +0000 (08:47 -0500)]
tests: niti and nitvm don't support iOS
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 16 Feb 2016 04:54:05 +0000 (23:54 -0500)]
tests: update iOS tests with files generated from the LaunchScreen
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 16 Feb 2016 01:08:00 +0000 (20:08 -0500)]
nitc: add -Wno-trigraph to CFLAGS
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 13 Feb 2016 20:25:44 +0000 (15:25 -0500)]
contrib/tnitter: add icon for iOS
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 13 Feb 2016 03:35:29 +0000 (22:35 -0500)]
contrib/tnitter: convert font to path for portability
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 13 Feb 2016 18:55:48 +0000 (13:55 -0500)]
examples/calculator: intro icon for iOS
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 13 Feb 2016 21:29:38 +0000 (16:29 -0500)]
contrib/inkscape_tools: update README
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 13 Feb 2016 20:44:16 +0000 (15:44 -0500)]
contrib/inkscape_tools: create target folder if it does not exists
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 13 Feb 2016 03:23:48 +0000 (22:23 -0500)]
contrib/inkscape_tools: add iOS target format
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 13 Feb 2016 21:02:30 +0000 (16:02 -0500)]
lib/ios: document how to set an app icon
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 13 Feb 2016 20:33:34 +0000 (15:33 -0500)]
lib/ios: fix unicode whitespace, was reported as a warning by clang
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 15 Feb 2016 20:16:37 +0000 (15:16 -0500)]
frontend/i18n: escape % in internationalized strings
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 15 Feb 2016 20:15:50 +0000 (15:15 -0500)]
lib/text: `Text::format` harder to break and using `%%` as escape
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 15 Feb 2016 20:11:33 +0000 (15:11 -0500)]
lib/text: `Text::format` uses an index starting at 0, as `Array` does
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 15 Feb 2016 20:12:06 +0000 (15:12 -0500)]
lib/text: `FlatString::substring` returns "" on count == 0 or less
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 13 Feb 2016 18:59:59 +0000 (13:59 -0500)]
nitc/ios: add Assets.xcassets
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 15 Feb 2016 02:39:29 +0000 (21:39 -0500)]
lib/nitcorn: cache files served by `FileServer` for 1 hour
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sun, 14 Feb 2016 21:31:44 +0000 (16:31 -0500)]
lib/nitcorn: intro the attribute `FileServer::javascript_header`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sun, 14 Feb 2016 03:13:08 +0000 (22:13 -0500)]
lib/nitcorn: do not include `proxy` with nitcorn by default (it requires curl)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 13 Feb 2016 18:59:22 +0000 (13:59 -0500)]
nitc/ios: add LoadingScreen.storyboard
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 13 Feb 2016 18:57:52 +0000 (13:57 -0500)]
nitc/ios: remove superfluous content of the generated PBX project file
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Fri, 12 Feb 2016 20:47:52 +0000 (15:47 -0500)]
Merge: iOS: implement data_store and missing life cycle callbacks
Implement the main missing features of _app.nit_ on iOS: `data_store` and life-cycle hooks (like `on_save_state`). These changes can be seen on the calculator app, as it preserves its context using the `data_store`.
`data_store` is implemented with `NSUserDefaults` to store objects sertialized to Json. It is very similar to Android's implementation using shared preferences. This may be a bit limited as it is not meant to hold large strings, and some data objects (like game saves) should instead be saved to a file.
This PR also implements all life-cycle callbacks in iOS, until now only `on_create` was implemented. We may have to update _app.nit_ life-cycle to fit better with the life-cycle of iOS, the states between a running app and a fully stopped app are different between iOS and Android. I'm thinking of removing the two callbacks on_start/on_stop and keep only the more general callbacks on_create/on_destroy and on_resume/on_pause, and the services on_restore_state/on_save_state.
Pull-Request: #1947
Reviewed-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Fri, 12 Feb 2016 19:28:54 +0000 (14:28 -0500)]
lib/serialization: serialize all insances of Text as we did with srings
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 11 Feb 2016 20:25:15 +0000 (15:25 -0500)]
lib/ios: execute missing callbacks of app.nit on iOS
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 11 Feb 2016 20:24:44 +0000 (15:24 -0500)]
lib/ios: implement data_store using NSUserDefaults
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 11 Feb 2016 20:24:54 +0000 (15:24 -0500)]
lib/ios: wrap NSUserDefaults
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Fri, 12 Feb 2016 17:22:35 +0000 (12:22 -0500)]
Merge: Small cleanups related to constructors
Nothing fancy. Just small things extracted from a massive wip branch
Pull-Request: #1946
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Fri, 12 Feb 2016 05:15:06 +0000 (00:15 -0500)]
Merge: Android support: better doc and libgc compilation service support latest NDK
Update the doc of the Android package with better instructions on how to configure the host system before compiling Nit applications for Android. Also fix the libgc build script to support the latest NDKs.
@privat The change to the script may require to install the latest NDK on the test server. Current users of the Android compilation should not have to do anything, only new installations should require to also install the latest NDK.
Pull-Request: #1944
Jean Privat [Fri, 12 Feb 2016 05:15:03 +0000 (00:15 -0500)]
Merge: Intro support for async HTTP requests and ListLayout for iOS
This PR completes the implementation app::UI for iOS by implementing `ListLayout` using a `UITableView`. It also introduces the implementation of `http_request` using services from the foundation framework.
These features enable the Tnitter portable application to be compiled for iOS without modification.
The remaining API of app.nit still missing on IOS are `data_store`, `audio` and maybe `assets`. At this point, only `data_store` is required for fully featured portable applications using the native UI.
---
As with #1942, some generated code has been commented so it can be reactivated when useful and when the needed types are also wrapped.
Pull-Request: #1943
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 12 Feb 2016 02:54:32 +0000 (21:54 -0500)]
rta: improve code for methods of classes
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 12 Feb 2016 02:52:02 +0000 (21:52 -0500)]
niti: rename `args` as `arguments` in `call`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 12 Feb 2016 02:50:33 +0000 (21:50 -0500)]
nitc: remove the redundant property `mfree_init`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 12 Feb 2016 02:46:00 +0000 (21:46 -0500)]
sdl: remove old style init
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 12 Feb 2016 02:45:34 +0000 (21:45 -0500)]
dino: remove old style init
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Sun, 15 Nov 2015 16:10:29 +0000 (11:10 -0500)]
contrib/tnitter: add iOS app rule
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 14 Nov 2015 17:48:28 +0000 (12:48 -0500)]
lib/ios: implement `app::http_request`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 9 Feb 2016 04:51:47 +0000 (23:51 -0500)]
lib/ios: complete implementation of app::ui with support for ListLayout
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 16 Nov 2015 16:51:16 +0000 (11:51 -0500)]
lib/cocoa: intro wrappers for NSData, NSError and NSIndexPath
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 10 Feb 2016 23:26:27 +0000 (18:26 -0500)]
lib/cocoa: intro `NSString::nil
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 10 Feb 2016 23:27:53 +0000 (18:27 -0500)]
nitc: add permission for HTTP requests to iOS apps
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sun, 15 Nov 2015 16:10:55 +0000 (11:10 -0500)]
lib/pthreads: do not include libgc on iOS
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 11 Feb 2016 16:23:10 +0000 (11:23 -0500)]
share/libgc: update tools_dir to support the latest Android NDK
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Thu, 11 Feb 2016 16:22:34 +0000 (11:22 -0500)]
lib/android: better doc on how to configure the host system
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Wed, 10 Feb 2016 20:57:04 +0000 (15:57 -0500)]
Merge: Intro partial implementation of app::UI for iOS
This PR intro the support for portable graphical applications on the iOS platform. With enough features to compile and run the calculator example.
The most notable app UI features supported under iOS are buttons, labels, text fields and layouts. More work is needed for list views and for other abstractions such as `http_request` and `data_store`.
This required some fixes to the compiler when targeting iOS as well as updates for the latest version of Xcode. And some more documentation for both iOS and OS X.
---
As usual, I left some commented out code generated by objcwrapper for future use when all the needed types are available.
Pull-Request: #1942
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 10 Feb 2016 19:00:41 +0000 (14:00 -0500)]
Merge: lib: add new lib `event_queue` a data-structure to manage queue of events
The objective is to be simple to use, powerful, efficient and flexible.
* simple to use: no framework, only two public concrete classes, a lot of documentation
* powerful: instant, infinite and timed events, dynamic addition and removal of events, a lot of event information (time, duration, completion ration) , fluent-programming-capable
* efficient: internal use of heap and deadlines
* flexible: agnostic of time units, generic (use whatever you want in your events)
It initially targeted the management of the orchestration of graphical effects in a videogame, but become more general and useful.
Signed-off-by: Jean Privat <jean@pryen.org>
Pull-Request: #1939
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Fri, 5 Feb 2016 21:57:52 +0000 (16:57 -0500)]
lib: add new lib `event_queue` a data-structure to manage queue of events
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Fri, 13 Nov 2015 17:03:30 +0000 (12:03 -0500)]
examples/calculator: add rule to build iOS version
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 29 Jan 2016 15:14:47 +0000 (10:14 -0500)]
lib/ios: add README.md file
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 9 Nov 2015 19:36:10 +0000 (14:36 -0500)]
lib/ios: intro iOS implementation of `app::ui`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 16 Nov 2015 21:01:17 +0000 (16:01 -0500)]
lib/cocoa: add services to `NSString` to convert to Nit strings
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 16 Nov 2015 18:18:21 +0000 (13:18 -0500)]
lib: explicitly cast long to int to fix clang warnings
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 9 Feb 2016 13:33:29 +0000 (08:33 -0500)]
lib/ios: fix mising rootViewController in hello_ios
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 9 Nov 2015 17:55:37 +0000 (12:55 -0500)]
contrib/objcwrapper: add the UIKit example
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 18 Nov 2015 21:53:21 +0000 (16:53 -0500)]
nitc: fix casts from Objective-C to internal C
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 16 Nov 2015 17:51:48 +0000 (12:51 -0500)]
nitc: do not intercept signals on iOS either
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 27 Jan 2016 02:25:34 +0000 (21:25 -0500)]
README: add system configuration for OS X
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 29 Jan 2016 15:50:41 +0000 (10:50 -0500)]
misc/nit_env.sh: add support for zsh and fix fallback creating a file
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Mon, 8 Feb 2016 19:16:23 +0000 (14:16 -0500)]
Merge: Intro Action Nitro!
This PR intro our submission for the clibre gamejam. An action platformer where the goal is to jump from plane to plane and reach the ISS to kill the bad guys. It features explosion physics, randomly generated platforms, many weapons, a powerup system, blood, standing on helicopter rotors, an evil 3D ISS, and more!
This game uses both the sprites of gamnit flat and 3D models with gamnit depth. It has many particle effects and manipulates the camera to create custom animations.
Ping the cocreators @R4PaSs, @BlackMinou, @MehdiAit.
Pull-Request: #1938
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 8 Feb 2016 01:43:48 +0000 (20:43 -0500)]
Merge: flying numbers in memory
when playing, the number of the shape is shown.
![memory02](https://cloud.githubusercontent.com/assets/135828/
12864556/
d5f7d43e-cc5c-11e5-86f8-
3b0ed6146874.png)
Pull-Request: #1940
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Mon, 8 Feb 2016 01:43:45 +0000 (20:43 -0500)]
Merge: lib/core: use intern && ffi since it is now allowed by `c_src`
This is a cosmetic change, you should not see differences
Pull-Request: #1937
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Sat, 6 Feb 2016 21:23:22 +0000 (16:23 -0500)]
Merge: compiler: add a native implementation of NativeArray::memmove
This is a simple patch but it needed the regen of `c_src` for boostrap reason
Pull-Request: #1936
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Sat, 6 Feb 2016 21:22:35 +0000 (16:22 -0500)]
test: update sav based on kernel line numbers and content
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 6 Feb 2016 21:11:29 +0000 (16:11 -0500)]
contrib/memory: draw flying numbers when buttons are clicked
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 6 Feb 2016 03:52:55 +0000 (22:52 -0500)]
contrib/memory: use centered numbers
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 6 Feb 2016 03:52:22 +0000 (22:52 -0500)]
lib/mnit: add `centered` to blit_number
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Mon, 1 Feb 2016 16:40:19 +0000 (11:40 -0500)]
contrib: intro action_nitro, a game for the clibre gamejam 2016
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
Signed-off-by: Romain Chanoir <romain.chanoir@viacesi.fr>
Signed-off-by: Mehdi Ait Younes <overpex@gmail.com>
Alexis Laferrière [Mon, 1 Feb 2016 19:36:44 +0000 (14:36 -0500)]
contrib/asteronits & model_viewer: fix user for new Y direction and rotation
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 1 Feb 2016 19:35:52 +0000 (14:35 -0500)]
lib/gamnit flat: rotation follows the right hand rule on the Z axis
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 1 Feb 2016 16:42:18 +0000 (11:42 -0500)]
lib/gamnit: invert Y axis so higher values are higher on the screen
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Thu, 4 Feb 2016 02:02:08 +0000 (21:02 -0500)]
lib/core: use intern && ffi since it is now allowed by `c_src`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 4 Feb 2016 01:52:25 +0000 (20:52 -0500)]
compiler: add a native implementation of NativeArray::memmove
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 4 Feb 2016 01:20:50 +0000 (20:20 -0500)]
Merge: Introduction to Nit generators
Introduce the `yield` keyword in Nit grammar
@privat, @egagnon
Pull-Request: #1935
Reviewed-by: Jean Privat <jean@pryen.org>
Ait younes Mehdi Adel [Wed, 3 Feb 2016 21:38:37 +0000 (16:38 -0500)]
Introduction to Nit generators
Introduce the `yield` keyword in Nit grammar
Jean Privat [Wed, 3 Feb 2016 19:26:26 +0000 (14:26 -0500)]
Merge: gamnit: intro static particles, Sprite tint & invert_x, and fix a few bugs
Intro a few new features:
* `Sprite::tint` to tint the color of a sprite.
* `Sprite::invert_x` to draw a sprite with the X axis inverted.
* `App::static_program` a particle program to display simple static and long lived particles. Can be useful to display clouds.
Fix a few bugs:
* `svg_to_png_and_nit` generated invalid code for array of textures when the target was gamnit.
* `App::clock` was instantiated with `app`, this caused the first `dt` of `App::update` to be much larger than expected.
* Divide `frame_core_flat` in 2 to allow the depth framework to draw particles after the world sprites but before the UI sprites.
Pull-Request: #1934
Reviewed-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Mon, 1 Feb 2016 16:47:46 +0000 (11:47 -0500)]
lib/gamnit: fix clock starting at first usage, not with the program
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 1 Feb 2016 16:47:22 +0000 (11:47 -0500)]
lib/gamnit: intro `Sprite::invert_x`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 1 Feb 2016 16:45:35 +0000 (11:45 -0500)]
lib/gamnit: intro `Sprite::tint`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 1 Feb 2016 16:45:01 +0000 (11:45 -0500)]
lib/gamnit: divide frame_core_flat in 2 parts to draw particles in between
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 1 Feb 2016 16:43:56 +0000 (11:43 -0500)]
lib/gamnit: intro static particles, the default most simple particle program
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 1 Feb 2016 16:41:06 +0000 (11:41 -0500)]
contrib/inkscape_tools: fix generated code for arrays with gamnit
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Sun, 31 Jan 2016 19:47:23 +0000 (14:47 -0500)]
version 0.8
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 29 Jan 2016 22:41:20 +0000 (17:41 -0500)]
Merge: c_src: regenerate
Last regeneration was Wed Jun 10, 2015. Impressive.
Pull-Request: #1933
Jean Privat [Fri, 29 Jan 2016 21:37:13 +0000 (16:37 -0500)]
c_src: regenerate
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 29 Jan 2016 03:14:37 +0000 (22:14 -0500)]
Merge: src/Makefile: use peflags to bootstrap on windows
Inject automatically call to peflags on the 2 first steps of the bootstrap.
Other executables (those in bin/ and those compiled by the user) are not peflaged since it does not seems that useful in general.
Pull-Request: #1932
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Fri, 29 Jan 2016 02:57:50 +0000 (21:57 -0500)]
src/Makefile: use peflags to bootstrap on windows
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 28 Jan 2016 21:56:55 +0000 (16:56 -0500)]
Merge: Harden tests script
Improve the resilience of the tests.sh script if java is not found or if ulimit is limited
Pull-Request: #1930
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Thu, 28 Jan 2016 18:21:37 +0000 (13:21 -0500)]
Merge: Fix makefile of Tinks!
This PR fix the broken Android makefile rules of Tinks!, reported by @privat.
The duplicated calls to nitserial should be temporary until we find a cleaner way to manage it.
Pull-Request: #1931
Reviewed-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Thu, 28 Jan 2016 17:18:14 +0000 (12:18 -0500)]
contrib/tinks: remove the archive rule
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>