@database "XENON2"
@options "+g -i -s +z -t2 -d12"
@author "Rajah Lone"
@$VER: 2.1D
@subject "Xenon 2.1 manual"

@node "xenon_start" "Xenon 2.1 guide"

@image LOGOX2.IMG 3




  Xenon 2: Reloaded game

  @{"Project informations" LINK "xenon_info"}

  @{"Installation and requirements" LINK "xenon_install"}

  @{"Preferences" LINK "xenon_preferences"}

  @{"Keys" LINK "xenon_keys"}
  @{"Loots" LINK "xenon_loots"}

  @{"Changes log" LINK "xenon_versions"}

  @{"Greetings" LINK "xenon_merci"}
  
@endnode

@node "xenon_info" "Xenon 2.1: project informations"

 This project is a fanboy's old dream: rebuild a loved shoot-them-up,
 taking pleasure in retro-engineering, trying to be compatible and playable
 for GEM environment.
  
 The levels/maps provided with this game are for test. 
 Users can build their own levels/maps with the dedicated editor.
  
 The original authors are:

  ú Design: The Bitmap Brothers
  ú Graphics: Mark Coleman
  ú Original Coding: John Smith
  ú Original Music: BomB The Bass (not reused here)
  ú Sounds: David Whittaker

 The sprites set was found on the Amiga English Board (aeb.abimet.net),
 collected by Mavado.

 This game is written from scratch with GFA Basic and uses 
 the graphwork and sounds of the legendary game.

 This game uses legal system calls (pure AES and VDI) to run on
 modern Atari machines or emulators that can't run the original
 game. This program is not suited for old Atari machines.

 Please note that we deny any responsability concerning
 the use of this program. Use it at your own risk.
  
@endnode

@node "xenon_install" "Xenon 2.1: installation and system requirements"

 16 colors 640*400 pixels screen is the minimum required.

 A modern operating system such as MagiC or MiNT is strongly advised,
 with an optimized VDI like NVDI.

 Requires the "EdDI" cookie to display on graphic cards.
 Falcon and new machines such as Milan have this by nature.
 If you have a graphic card with an old operating system, you'll need NVDI.
 
 The program uses plenty of memory, moreover on high-colored screens.
 So if you have not enough space or if the game becomes slower, run
 it in 640*480 16 colors.

 ST-Guide installation is required if you want to call the
 documentation directly from the program. Make it as *.ACC or
 declare its path in the environment variable STGUIDE$.
 ie in MAGX.INF, #_ENV STGUIDE=C:\ST-GUIDE.ACX
  
@endnode

@node "xenon_preferences" "Xenon 2.1: preferences"

   @{"Paths" LINK "xenon_preferences1"}
   @{"Display" LINK "xenon_preferences2"}
   @{"Sound" LINK "xenon_preferences3"}
   @{"Controls" LINK "xenon_preferences4"}
   @{"Highscores" LINK "xenon_preferences5"}
   @{"Miscellaenous" LINK "xenon_preferences6"}
   @{"Debug" LINK "xenon_preferences7"}
  
@endnode

@node "xenon_preferences1" "Xenon 2.1: cache preferences"

 @{0U}Use cache for converted images to screen format@{0}
   This option is set by default. At first start, saves the cache
   after images loading and convertion. 
   Next start, if found and corresponding to the screen pixel format
   and bitplane number, the software will load the XIMAGES.nnn and
   XIMAGES.IDX instead of loading and converting (for a long time)
   the original DGX images files. If the screen format is the same.
   This speed up program start up.

 @{0U}Image cache@{0}
   The software will write the converted images in this folder.
  
@endnode

@node "xenon_preferences2" "Xenon 2.1: display preferences"

 @{0U}Use a desk background@{0}
   The software will install its own desk background.
   Can be nicer in the 16/256 colors modes and under 
   a multitasking environement.

 @{0U}Main window size@{0}
   A zoom can be applied on the view window.
   This option uses some enhancements appeared with NVDI (see NVDI4 docs).
   Unfortunatly, it's slow and does not work with graphics cards
   and some NVDI versions.
   If not available, a built-in function can zoom for True Color screens.

 @{0U}Hide mouse cursor if game windows ontop@{0}
   Mouse cursor may be not needed ingame, and its flickering may be annoying.
   Cursor is shown if game is paused.

 @{0U}Use Offscreen VDI functions@{0} (need restart)
   If available ("EdDI" cookie) and set, opens an offscreen VDI bitmap and
   uses this handle. May speed up animations on some configurations such as
   Milan+NVDI. 
   Carefull, it may also slow display on standard machines.
   Due to some bugs, text display uses the on-screen VDI handle.
              
 @{0U}Allocates in Video RAM@{0} (need restart)
   If available (Radeon card on PCI, SuperVidel), this option is unhidden 
   and set on to use ct60_vmalloc(). This relocates graphics datas in
   Video RAM to speed up animations.
   It this options appears disabled, the VRAM allocation has failed.
      
 You cannot yet use these display options together.           
 
 @{0U}Background stars@{0}
   Display will be quicker by disabling the display of the background stars.  
   Avoiding these little dots of several intensity means the drawing can
   discard clearing the background with a black raster and putting the mask
   of the vegetal/mineral raster.
   So disabling this option might help on mid-end Atari Systems such as Milan
   or Hades.
  
@endnode

@node "xenon_preferences3" "Xenon 2.1: sound preferences"

 @{0U}Enable (Falcon compatible) sound@{0}
   The software will use the XBIOS sound routines appeared with the
   Falcon TOS. If you want to enable the sound on other computer than a
   Falcon, you may install for:

   ú Atari STE or TT, or an Atari emulator which
     supports DMA Sound, then use Thomas Huth's XSound
     (put the XSND_DMA.PRG in the AUTO folder, see in
     the GOODIES folder of DGEM archive).

   ú Milan: use the MilanBlaster driver (commercial)

   ú Hades: use GSXB from Assemsoft (freeware)

   ú Aranym: use zmagxsnd.prg and use correct audio parameters 
     in Aranym config file
       
   ú V4SA: is capable of Falcon DMA Sound, use the AUDIODEV.XDD under MiNT
           
   Note: under MiNT with Memory Protection mode, set the program header flag
   to 'Super' or 'Global' for the DMA sounds to be played without crash.

 @{0U}Maximum volume@{0}
   The software will attenuate sound output.
 
 @{0U}SNDH music@{0}
   Need a Yamaha PSG or compatible. May be crashy.
   This feature is disable on ColdFire setup.

 @{0U}SNDH file@{0}
   Choose a *.SND file that will be played ingame.
  
@endnode

@node "xenon_preferences4" "Xenon 2.1: controls preferences"

 @{0U}Keyboard@{0}
   Arrow keys work + Insert (Up+Left) + ClrHome (Up+right).
   Numeric pad also work:
    
   7: Up+Left   8: Up     9: Up+Right
   4: Left                6: Right
   1: Down+Left 2: Bottom 3: Bottom+Right
    
   @{0U}Freeze key buffer when moving@{0}
     May be useful when display is slow and uses a lot of CPU.

 @{0U}Joystick 1@{0}
   Fire button is equal to right mouse click so in multitasking mode, point
   the mouse cursor on the program window to avoid other application or desk
   action.

 @{0U}Joypad A@{0}
   If you have STE Joypad ports (Jagpads ports).
   Routine by Simon Sunnyboy / Paradize
  
@endnode

@node "xenon_preferences5" "Xenon 2.1: scores preferences"

 @{0U}Local highscore@{0}
   The highest highscore is saved in a file in $HOME folder.
   It's specific to the current levels/maps id. If you change it, then
   the local highscore is reset.
    
 @{0U}Share highscore online@{0}
   Highscore is sent to a WebService @ptonthat.fr, 
   where the score is compared with other gamers'.
     
   If activated, the highscores list of the current levels/maps is
   automaticaly downloaded.
   If not, then use the update button to load it.
     
   You can select other levels/maps made by others with the editor.
    
   You must use a nickname and location. 
   A STinG or compatible TCP/IP layer is needed. 
   MiNTNet is used but GlueSTik must be there for the resolver function.
  
@endnode

@node "xenon_preferences6" "Xenon 2.1: miscellaneous preferences"

 @{0U}Confirm alerts@{0}
   Advised for beginners.

 @{0U}Slow down@{0}
   This value corresponds to an small pause in milliseconds added between
   screen refreshes. Inscrease this if game is too quick.
   Aranym needs 1 or 2 ms to tame the main timer.
   Value should be 0 ms, computation is done (Daroou's trick) to adapt main
   timer with display delays.
  
@endnode

@node "xenon_preferences7" "Xenon 2.1: debug preferences"

 @{0U}Use log file@{0}
   Enable this if you encounter sprite display or whatever problems.
     
 @{0U}Log file@{0}
   The traces will be written in this file,
   mainly errors while loading the datas at program start.
  
 @{0U}Calculate framerate@{0}
   Compute average framerate, and write it to log when "O" key is pressed.
   Wait some time in the scene to count significant amount of frames before
   write output. Remind that computing this may slow the display.
   Scenes: out of game, ingame, game paused, shopping, subspace sequence.
  
@endnode

@node "xenon_keys" "Xenon 2.1: keys"
@title "Xenon 2.1 manual"
@{0U}                                                                  Keys@{0}

 Control+Q: quit
 Control+N: new game
 Control+I: Informations window
 Control+P: Preferences window
 Control+H: Highscores window (if STinG compatible TCP/IP layer)
 Control+U: close top window
  
 Esc: pause game
 Help: call this ST-Guide documentation
  
 To end subspace starfield and start level: joystick fire or Shift
  
@endnode

@node "xenon_loots" "Xenon 2.1: loots"

 @{0U}Credits bubbles@{0}
  Small and large appear randomly after foe crash. Collect them to inscrease
  credits that will be used at Crispin's shop.
  
 @{0U}Health@{0}
  Small gives 50%, large gives 100%.
  Extra fife is not yet implemented.

 @{0U}Medals@{0}
  - A - Crispin's advise (not fully implemented).
  - Horse (Nashwan head) - Super Nashwan power, gives max power for 10 seconds.
  - S - add Side shot capability.
  - Z - Super Zapper - destroys all displayed foes, but gives no credits.
   
 @{0U}Spheres@{0} = Mod(ifications)s
  - D - Dive capability (no supported)
  - C - Celerity mod - inscrease speed to the ship.
  - F - auto-Fire feature.
  - P - Power up - inscrease power to one of ship's weapon.
  - S - Shield - reduce damages, consumable.
   
 @{0U}Capsules@{0}
  Contains one loot such as the items listed above. Can be also a weapon such
  as front double blaster, (front) laser, (front) launcher, (front) flamer,
  rear blaster, side canon, drone, electro ball, homers, small and large mines
  generator.
  Capsules appearance is planned in the map editor.
  
@endnode

@node "xenon_versions" "Xenon 2.1: history"

@{0B}2.1D@{0}
- fix: inappropriate Mfree()s while loading DGX rasters containors and
       DGW sounds, that could display bad images and/or sounds crashy.
- fix: randomize table max values.

@{0B}2.1C@{0}
- fix: crash under FalconTOS without NVDI, if image blitting exceeds right or
       bottom border.
- fix: missing C-String nullbyte-end when loading lonely image 
       (BMPBRTHR.DGI sometimes not loaded).
- fix: alert for 640x400 screenmode minimum needed (then continue).
- fix: preferences windows is width reduced for small screensize.
- fix: highscores window oversized screen under if screenmode < 480px height.
- fix: added Bconstat(2) to exit on subspace interlevel screen 
       (so you can use space to exist subspace, not effective on V4SA).
       Previously, exit only with Shift key or joystick fire. 
- add: control option: freeze keyboard buffer (function from DGEM),
       cleans buffer key. PC keyboard type is removed.
- chg: use of clean revamped EXIST() instead of old Fopen() trick.
- fix: add "u:" and convert slashes for $HOME value written in un*x format.
- fix: clipboard detection was not initialized (for edit fields in preferences).
- fix: wrong test of _SND (wrong bit 1, right bit 5) for XBIOS Falcon sound.

Thanks to Eero Tamminen

@{0B}2.1B@{0}
- fix: stop sound of doors when the shop has closed.
- fix: in shop, joystick moves on merchs was too quick on quick Ataris.
- fix: default slow_down& set to 2ms instead of 0ms for new Atari machines
       (_MCH cookie > 0x40000) such as Aranym and V4SA.
- fix: unlimited phase of untouchable new ship if starting upon boss or scenery.
- fix: blocked in subspace instead of continue in same level after shopping.
- fix: uncleared spaces in the subspace text ("GAMEROVER").

@{0B}2.1@{0}
- first release at project completion.
- for pre-history log, please read the update.txt of the sources archive
  where all the work in progress is written.
  
@endnode

@node "xenon_merci" "Xenon 2.1: greetings"

 Special dedicace to Daroou (for his Offscreen VDI test program).

 Greetings to Claude ATTARD for learning me GEM.

 Best regards to Lonny Pursell (helped with GBE and joystick routines).

 Best regards to STrider/MJJ, razaac/Supremacy, Hello and FroST of Sector1,
 JaceSTK, FanFan, BouB / PoPsY Team, Triple A team, Cooper / Paradize...
  
@endnode
