Fenix Manual
Fenix Manual

Introduction
Command Reference
Language Reference
Dll Reference

Introduction
Last Modified: May 30, 2005 10:05AM
(Any)
Description

What is Fenix?

Fenix is an interpreted script programming language, specifically designed to develop and execute 2D games. Fenix has a full graphic library, sound engine and fully featured 2D game engine, making game developement extremely easy.

Fenix major features include:

  • Fast sprite blitting with rotation, scaling, animation and transparency
  • Pixel perfect collision check
  • Native PNG grahpic support
  • Parallax (2 planes) automated scroll routines
  • Multiple clipping regions with or without scroll support
  • MOD/XM/S3M/IT support through MIKMod
  • Keyboard, mouse and joystick controller support
  • 8 and 16 bits per pixel color depths
  • Win32 (all flavours), Linux, BeOS & MacOS X support, experimental support for DC and GP32
  • Basic Pathfind routines
  • Blendops in 16 bit color depth
  • OGG sound support
  • DLL interface for custom extensions
  • Easy to learn language


  • Fenix's language is specifically designed for game developement. A PROCESS (or function) can be created as a graphical object on screen. A single change in it's LOCAL variables and a call to the FRAME command will almost be enough to have it stay resident in cooperative multitasking mode, moving and interacting with other PROCESSES as it's variables are changed and the FRAME command is called within a loop. There's also a set of functions designed to kill, stop, freeze and search for active PROCESSES, also multiple instances of a process can be run at the same time allowing multiple objects with the same behaviour on screen at the same time.

    Even experienced coders will find in Fenix to be a practical tool. The language is powerful enough to match most other script procedural langauges (datatypes, pointers, multidimensional arrays, structs, loop and flow control statements...).

    Fenix is distributed under GNU General Public License, so it's source code is available to anyone who wants to get it, extend it or change it in any way fitting his/her own purpose.

    Is Fenix a DIV compiler?

    DIV Games Studio is a commercial product including an IDE, debugger, profiler, graphic editor and installer. Fenix is only a compiler and an interpreter. Although Fenix has many similitudes to DIV and most DIV code will be easy to port this is not the main target for Fenix. Remember, Fenix is NOT DIV.

    Many similitudes exists betwen DIV and Fenix, but so do many incompatibilities as well. DIV borrows features from C, Pascal and other languages, as well as Fenix borrows many from DIV. Some old simple DIV games compile almost without a single change in Fenix due to Fenix supporting most of the DIV syntax, but keep in mind many functions and the internal management within Fenix does not working like it's DIV counterpart, esspecially Mode 7, string manipulation and DIV 2's MODE8 features (which Fenix does not currently implement)

    What is the current state for Fenix developement?

    Fenix is still under heavy developement. Many bugs are waiting to be fixed, features come and go and many features are at a very early stage. Current official release is 0.84a.

    Even though it is not finished, Fenix is stable and powerful enough to allow you to gain a board range of developement experience. Give it a try and help us polish and fix the bugs.

    It is a good idea to have a look into the bugtrack section in the official website for a list of known bugs and keep an eye on the development status for new releases (the webiste can be found @ http://fenix.divsite.net)

    Where can I get Fenix?

    The current official site for Fenix is located @ Fenix.diviste. A CVS and a CVS-documentation site can be found @ http://cvs.jlceb.com and http://fenix.jlceb.com respectively. Fenix has also a sourceforge project, though the current state for this project is a bit outdated http://fenix.sourceforge.net/

    Who created Fenix?

    Fenix is the initial effort of Jose Luis Cebrian, and is currently maintained by the so called Fenix-Team. You can contact the team in the official website.

    How to use Fenix?

    Fenix is a command line utility. The base package includes a test program... to execute it just type in a console (dos-box, linux console, etc) using the following commands

    FXC TEST.PRG FXI TEST.DCB

    The first sentence invokes the compiler, the second one invokes the interpreter. If everything goes well the compiler will create the DCB file for the interpreter from the PRG source code. Check the documentation included with the package and in the site for further reference. It is also a good idea to have a look to the FAQs in the site.

    Is there any sample games developed with Fenix?

    The site has several demo games for you to check and test. Also Fenix has a big user community with a big load of game projects (complete or under developement) that you might find interesting.

    So, I am a coder... can I help develop Fenix in any way? Sure... take your time and have a look at the Fenix code. It is a not well commented ANSI C and not so ANSI C (sometimes... ) big code.

    If you're still in the mood, contact us, get the last CVS and you'll be on the run!

    License

    This program is only distributable under GNU General Public Licens, version 2.0 or higher.

    A License text should have been distributed along this program. If not contact us @ http://fenix.divsite.net.


    Contents
    1. Notes
    2. Considered Optimisations

    User Contributed Notes
    Introduction
    Add Notes About Notes
    There are no user contributed notes for this page.
    Last updated: Tue, 24 May 2005 - 6:06:02

    Manual © 2005 By Gary Moncrieff(Dazzy), Notes belong to their respective posters