nit.git
8 years agoexamples/calculator: intro icon for iOS
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>

8 years agocontrib/inkscape_tools: update README
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>

8 years agocontrib/inkscape_tools: create target folder if it does not exists
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>

8 years agocontrib/inkscape_tools: add iOS target format
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>

8 years agolib/ios: document how to set an app icon
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>

8 years agolib/ios: fix unicode whitespace, was reported as a warning by clang
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>

8 years agonitc/ios: add Assets.xcassets
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>

8 years agonitc/ios: add LoadingScreen.storyboard
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>

8 years agonitc/ios: remove superfluous content of the generated PBX project file
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>

8 years agoMerge: iOS: implement data_store and missing life cycle callbacks
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>

8 years agolib/serialization: serialize all insances of Text as we did with srings
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>

8 years agolib/ios: execute missing callbacks of app.nit on iOS
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>

8 years agolib/ios: implement data_store using NSUserDefaults
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>

8 years agolib/ios: wrap NSUserDefaults
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>

8 years agoMerge: Small cleanups related to constructors
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>

8 years agoMerge: Android support: better doc and libgc compilation service support latest NDK
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

8 years agoMerge: Intro support for async HTTP requests and ListLayout for iOS
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>

8 years agorta: improve code for methods of classes
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>

8 years agoniti: rename `args` as `arguments` in `call`
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>

8 years agonitc: remove the redundant property `mfree_init`
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>

8 years agosdl: remove old style init
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>

8 years agodino: remove old style init
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>

8 years agocontrib/tnitter: add iOS app rule
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>

8 years agolib/ios: implement `app::http_request`
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>

8 years agolib/ios: complete implementation of app::ui with support for ListLayout
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>

8 years agolib/cocoa: intro wrappers for NSData, NSError and NSIndexPath
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>

8 years agolib/cocoa: intro `NSString::nil
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>

8 years agonitc: add permission for HTTP requests to iOS apps
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>

8 years agolib/pthreads: do not include libgc on iOS
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>

8 years agoshare/libgc: update tools_dir to support the latest Android NDK
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>

8 years agolib/android: better doc on how to configure the host system
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>

8 years agoMerge: Intro partial implementation of app::UI for iOS
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>

8 years agoMerge: lib: add new lib `event_queue` a data-structure to manage queue of events
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>

8 years agolib: add new lib `event_queue` a data-structure to manage queue of events
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>

8 years agoexamples/calculator: add rule to build iOS version
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>

8 years agolib/ios: add README.md file
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>

8 years agolib/ios: intro iOS implementation of `app::ui`
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>

8 years agolib/cocoa: add services to `NSString` to convert to Nit strings
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>

8 years agolib: explicitly cast long to int to fix clang warnings
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>

8 years agolib/ios: fix mising rootViewController in hello_ios
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>

8 years agocontrib/objcwrapper: add the UIKit example
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>

8 years agonitc: fix casts from Objective-C to internal C
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>

8 years agonitc: do not intercept signals on iOS either
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>

8 years agoREADME: add system configuration for OS X
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>

8 years agomisc/nit_env.sh: add support for zsh and fix fallback creating a file
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>

8 years agoMerge: Intro Action Nitro!
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>

8 years agoMerge: flying numbers in memory
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>

8 years agoMerge: lib/core: use intern && ffi since it is now allowed by `c_src`
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>

8 years agoMerge: compiler: add a native implementation of NativeArray::memmove
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>

8 years agotest: update sav based on kernel line numbers and content
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>

8 years agocontrib/memory: draw flying numbers when buttons are clicked
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>

8 years agocontrib/memory: use centered numbers
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>

8 years agolib/mnit: add `centered` to blit_number
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>

8 years agocontrib: intro action_nitro, a game for the clibre gamejam 2016
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>

8 years agocontrib/asteronits & model_viewer: fix user for new Y direction and rotation
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>

8 years agolib/gamnit flat: rotation follows the right hand rule on the Z axis
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>

8 years agolib/gamnit: invert Y axis so higher values are higher on the screen
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>

8 years agolib/core: use intern && ffi since it is now allowed by `c_src`
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>

8 years agocompiler: add a native implementation of NativeArray::memmove
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>

8 years agoMerge: Introduction to Nit generators
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>

8 years agoIntroduction to Nit generators
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

8 years agoMerge: gamnit: intro static particles, Sprite tint & invert_x, and fix a few bugs
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>

8 years agolib/gamnit: fix clock starting at first usage, not with the program
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>

8 years agolib/gamnit: intro `Sprite::invert_x`
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>

8 years agolib/gamnit: intro `Sprite::tint`
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>

8 years agolib/gamnit: divide frame_core_flat in 2 parts to draw particles in between
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>

8 years agolib/gamnit: intro static particles, the default most simple particle program
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>

8 years agocontrib/inkscape_tools: fix generated code for arrays with gamnit
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>

8 years agoversion 0.8 v0.8
Jean Privat [Sun, 31 Jan 2016 19:47:23 +0000 (14:47 -0500)]
version 0.8

Signed-off-by: Jean Privat <jean@pryen.org>

8 years agoMerge: c_src: regenerate
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

8 years agoc_src: regenerate
Jean Privat [Fri, 29 Jan 2016 21:37:13 +0000 (16:37 -0500)]
c_src: regenerate

Signed-off-by: Jean Privat <jean@pryen.org>

8 years agoMerge: src/Makefile: use peflags to bootstrap on windows
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>

8 years agosrc/Makefile: use peflags to bootstrap on windows
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>

8 years agoMerge: Harden tests script
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>

8 years agoMerge: Fix makefile of Tinks!
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>

8 years agocontrib/tinks: remove the archive rule
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>

8 years agocontrib/tinks: always generate client_serialize
Alexis Laferrière [Thu, 28 Jan 2016 17:17:57 +0000 (12:17 -0500)]
contrib/tinks: always generate client_serialize

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agohtcpcp_server: add .res file for tests
Jean Privat [Thu, 28 Jan 2016 13:55:40 +0000 (08:55 -0500)]
htcpcp_server: add .res file for tests

Signed-off-by: Jean Privat <jean@pryen.org>

8 years agoMerge: Implemented a htcpcp server
Jean Privat [Thu, 28 Jan 2016 13:54:24 +0000 (08:54 -0500)]
Merge: Implemented a htcpcp server

An attempt at: https://github.com/nitlang/nit/issues/1808, a fun little example.

As a first step I haven't implemented additions, and gave as best implementation of the protocol as I could interpret it.

It's mostly based on the `file_server.nit` file. If you want to test it locally a good way is to use `curl -X <METHOD> localhost:8080`

@xymus @Bl4ckb0ne @R4PaSs

Pull-Request: #1915
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agotests: avoid errors messages if java is not found
Jean Privat [Thu, 28 Jan 2016 01:49:02 +0000 (20:49 -0500)]
tests: avoid errors messages if java is not found

Signed-off-by: Jean Privat <jean@pryen.org>

8 years agotests: filter out ulimit error messages to avoid corruption of .res files
Jean Privat [Thu, 28 Jan 2016 01:38:56 +0000 (20:38 -0500)]
tests: filter out ulimit error messages to avoid corruption of .res files

Signed-off-by: Jean Privat <jean@pryen.org>

8 years agoMerge: Intro Tinks! 3D: A gamnit game with particles effects
Jean Privat [Mon, 25 Jan 2016 20:09:07 +0000 (15:09 -0500)]
Merge: Intro Tinks! 3D: A gamnit game with particles effects

Intro a 3D client for Tinks! built with _gamnit depth_. It uses the same logic as the 2D client so they are compatible for multiplayer games.

To support this client there was a few fix to gamnit and some new features, most notably:

* A customizable particle system with two implementations, one for smoke and one for explosions. This module is a first draft, a few features are lacking.

* The method `show_splash_screen` which displays a single texture centered on a cleared screen (by default black).This method should usually be called before loading textures and models and doing other slow work.

---

Sorry for the scary diff (once again) but there is actually little code added. The main commits are the intro of the particle system and of the new Tinks! client.

Pull-Request: #1928
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agocontrib/tinks: intro 3D client
Alexis Laferrière [Wed, 30 Dec 2015 05:15:57 +0000 (00:15 -0500)]
contrib/tinks: intro 3D client

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/tinks: extract common client code from the mnit client
Alexis Laferrière [Sun, 24 Jan 2016 15:59:00 +0000 (10:59 -0500)]
contrib/tinks: extract common client code from the mnit client

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/tinks: add `FeatureChangeEvent::old_feature`
Alexis Laferrière [Sat, 23 Jan 2016 16:44:04 +0000 (11:44 -0500)]
contrib/tinks: add `FeatureChangeEvent::old_feature`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/tinks: do not publish TankMoveEvents for dead tanks
Alexis Laferrière [Fri, 1 Jan 2016 23:06:34 +0000 (18:06 -0500)]
contrib/tinks: do not publish TankMoveEvents for dead tanks

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/model_viewer: fix Y offset, repeated clicks and tweak display
Alexis Laferrière [Fri, 22 Jan 2016 16:57:59 +0000 (11:57 -0500)]
contrib/model_viewer: fix Y offset, repeated clicks and tweak display

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/model_viewer: use `show_splash_screen`
Alexis Laferrière [Fri, 22 Jan 2016 16:58:30 +0000 (11:58 -0500)]
contrib/model_viewer: use `show_splash_screen`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/gamnit flat: intro `show_splash_screen`
Alexis Laferrière [Sun, 24 Jan 2016 16:02:34 +0000 (11:02 -0500)]
lib/gamnit flat: intro `show_splash_screen`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/gamnit depth: intro particle systems
Alexis Laferrière [Sat, 23 Jan 2016 22:20:50 +0000 (17:20 -0500)]
lib/gamnit depth: intro particle systems

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/gamnit depth: discard fragments with a low alpha value
Alexis Laferrière [Sun, 24 Jan 2016 06:37:34 +0000 (01:37 -0500)]
lib/gamnit depth: discard fragments with a low alpha value

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/gamnit depth: fix ambient color, multiply with texture
Alexis Laferrière [Fri, 22 Jan 2016 21:32:11 +0000 (16:32 -0500)]
lib/gamnit depth: fix ambient color, multiply with texture

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/gamnit depth: intro `Plane::repeat_x|y`
Alexis Laferrière [Fri, 22 Jan 2016 19:05:56 +0000 (14:05 -0500)]
lib/gamnit depth: intro `Plane::repeat_x|y`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/gamnit depth: make colors in SmoothMaterial writable
Alexis Laferrière [Thu, 21 Jan 2016 19:30:44 +0000 (14:30 -0500)]
lib/gamnit depth: make colors in SmoothMaterial writable

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/gamnit depth: TextureMaterial supports subtexture
Alexis Laferrière [Thu, 21 Jan 2016 16:28:08 +0000 (11:28 -0500)]
lib/gamnit depth: TextureMaterial supports subtexture

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/gamnit depth: solve the mysterious bug "Why is the Y axis inverted?"
Alexis Laferrière [Thu, 21 Jan 2016 11:12:16 +0000 (06:12 -0500)]
lib/gamnit depth: solve the mysterious bug "Why is the Y axis inverted?"

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/gamnit: intro `GamnitRootTexture::pixelated=`
Alexis Laferrière [Thu, 21 Jan 2016 19:31:47 +0000 (14:31 -0500)]
lib/gamnit: intro `GamnitRootTexture::pixelated=`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/gamnit: intro `EulerCamera::center`
Alexis Laferrière [Thu, 21 Jan 2016 11:11:41 +0000 (06:11 -0500)]
lib/gamnit: intro `EulerCamera::center`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/gamnit: solve the mysterious bug "camera is 2 times too far"
Alexis Laferrière [Sat, 23 Jan 2016 16:45:46 +0000 (11:45 -0500)]
lib/gamnit: solve the mysterious bug "camera is 2 times too far"

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/gamnit: fix `Subtexture::gl_texture` not being set
Alexis Laferrière [Thu, 21 Jan 2016 19:31:20 +0000 (14:31 -0500)]
lib/gamnit: fix `Subtexture::gl_texture` not being set

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>