User Tools

Site Tools


iceclient:code

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
iceclient:code [2014/01/23 18:31]
rockfire
iceclient:code [2014/01/26 10:27] (current)
rockfire [Icechat]
Line 16: Line 16:
 ==== Icenet ==== ==== Icenet ====
  
-Basic library for talking to a PF server. Deals with all the low-level message handling, providing objects for each message and it's replies. ​+Basic library for talking to a PF server. Deals with all the low-level message handling, providing objects for each message and it's replies. For example, this library is already used in [[iceclient:​icechat:​introduction|Icechat - A Planet Forever Chat Client]].
  
 This is based on [[http://​netty.io/​|Netty]],​ for high performance non-blocking I/O. It depends on :- This is based on [[http://​netty.io/​|Netty]],​ for high performance non-blocking I/O. It depends on :-
Line 22: Line 22:
   * Netty   * Netty
  
 +==== Iceassets ====
 +
 +Just a library that contains all user interface / 3d assets. This is separated to allow sharing across multiple projects that need assets (e.g. I intend to have a tool that will help with clothing design, this will need the same assets as the game).
 +
 +==== Iceui ====
 +
 +The game UI (and in the future other 3d tools), is built on [[http://​hub.jmonkeyengine.org/​wiki/​doku.php/​jme3:​contributions:​tonegodgui|Tonegodgui]]. This provides the basic UI system and a suite of controls. However, in the course of writing Iceclient, I have made a bunch of new and extended controls that would be useful in other projects too. 
 +
 +Iceui is in two parts. Firstly, a //​[[http://​en.wikipedia.org/​wiki/​Layout_manager|Layout Manager]]// that sits on top of Tonegodgui. This allows much faster layout design as absolute positions and sizes do not have to be used. Secondly, the custom controls themselves that make use of the layout manager.
 +
 +These include :-
 +  * Fancy windows. I.e. large EE style window headers with close buttons etc.
 +  * Image chooser.
 +  * Improved color chooser with mulitple palette views.
 +  * Alert dialogs
 +  * Vector3f property component.
 +  * Color property component.
 +  * Flexible tooltips (Tonegod only has text ones).
 +  * Various button extensions.
 +  * More featured Chat component. This is used more or less as is in the game.
 +
 +Depends on :-
 +  * Icelib
 +  * [[http://​jmonkeyengine.org/​|JME3]]
 +  * [[http://​hub.jmonkeyengine.org/​wiki/​doku.php/​jme3:​contributions:​tonegodgui|Tonegodgui]]
 +  * [[http://​commons.apache.org/​proper/​commons-lang/​|commons-lang]].
 +  * [[http://​www.miglayout.com/​|Miglayout]]
 +
 +==== Icescene ====
 +
 +Contains (or rather will) all of the basic classes for handling high level EE scene elements, such as //Bipeds// and other //​Creatures//,​ or //​Terrain//​. By separating these elements I can build other 3d PF related applications that share code with the client. For example, a standalone Creature Tweak, or a standalone Terrain Editor.
 +
 +Depends on :-
 +  * Icelib
 +  * Iceui
  
 ===== Applications ===== ===== Applications =====
Line 30: Line 65:
   * Icelib   * Icelib
   * Icenet   * Icenet
-  * JMonkeyEngine3+  * [[http://​jmonkeyengine.org/​|JME3]]
  
 ==== Icechat ===== ==== Icechat =====
Line 41: Line 76:
   * Icelib   * Icelib
   * Icenet   * Icenet
-  * MigLayout+  * [[http://​www.miglayout.com/​|Miglayout]]
  
  
  
iceclient/code.1390501868.txt.gz ยท Last modified: 2014/01/23 18:31 by rockfire