Subject: CVS commit: pkgsrc/emulators/raine
To: None <pkgsrc-changes@NetBSD.org>
From: Thomas Klausner <wiz@netbsd.org>
List: pkgsrc-changes
Date: 07/17/2006 20:21:35
Module Name:	pkgsrc
Committed By:	wiz
Date:		Mon Jul 17 20:21:35 UTC 2006

Modified Files:
	pkgsrc/emulators/raine: Makefile PLIST distinfo
	pkgsrc/emulators/raine/patches: patch-aa patch-ab patch-ac
Removed Files:
	pkgsrc/emulators/raine/patches: patch-ad patch-ae patch-af patch-ag
	    patch-ah patch-ai

Log Message:
Update to 0.43.3:

Changes (adapted from debian/changelog):

0.43.3

  * fix compilation errors in xorg, and with versions of allegro which don't
    define GFX_XWINDOWS_FULLSCREEN. Also this one works with gcc-4, no more
    errors about movl.
  * Apply patch from Antiriad which adds fix eight bootleg
  * Basic dependencies support in the makefile, so that at least the
    compilation doesn't stop with 2 pages of error messages just because
    we forgot to install a lib (liballeg, sdl and allegro tested).

0.43.2

  * Haze added diverboy, mugsmash, cross pang.
  * I added Jumping pop, and Tetris 2+ (or fixed it since there was a
    preliminary driver in raine since 0.28, but it was really the begining).
    I also added the esd16 driver from mame, with multi champ, multi champ
    deluxe, and head panic. All of these are using lots of colors !
  * A few fixes for extreme video modes situations (linux console). WARNING:
    if you want to play with the frame buffer in linux, use allegro 4.2.0,
    frame buffer support has been broken for a very long time in
    allegro-4.1.x.
  * Also some fixes to really prevent raine from changing the current video
    mode if the user forbids it or if the current video driver can't give
    the list of supported video modes by the monitor (which is the case of
    frame buffer driver for linux).
  * Bezel fixes : when the video mode is not automatically changed, the bezel
    now adapts to the current mode (instead of not displaying anything).
    Also if you load a 2nd game which also uses a bezel, the 2nd bezel is now
    correctly handled.
  * The buffer for the history.dat is doubled (for dkong for example), I
    should probably use a dynamic buffer for that... maybe later.
  * Now raine supports multiple layouts / gfx layers, and is automatically
    calling make_solid_mask for a region when a layout is defined for it.
    gfx[n] always contains the nth layer in the layouts list, and gfx_solid[n]
    is the result of the call of make_solid_mask on this region, and
    max_sprites[n] contains the number of sprites for this area.
    Also the driver's loading function is now called BEFORE the layouts are
    applied, which allows to decrypt/convert the sprites and still use
    automatically the layers. This should have been added a long time ago, it
    became obvious just recently with all these drivers which needed manual
    graphics decoding.
  * raine does its own tests for svgalib in linux now. If it does not detect
    vga.h at the standard places when compiling, then svgalib support is
    disabled.
  * Fixed the fg layer of the 2nd tc100scn not updated in thundfox (thundfox
    seems to be the only game which uses a 2nd fg layer, so it escaped me !)
  * while testing stuff with the eeproms, fixed pang3j which never worked (!),
    and added service mode controls for the pirates driver.
  * fine tune the music of the hammer in donkey kong so that the other sounds
    can be heared while it's playing.

0.43.1

  * Haze added these new games :
    hyperpac driver : twinkle, Xess - The New Revolution (Semicom 3-in-1),
    more more, final tetris.
    cookbib driver : Cookie and Bibi, Hatch Catch, Choky Choky.
    I fixed the dipswitches, and for final tetris the sound and the inputs.

0.43.0

  * Added new games : Pang, Super Pang, Poker ladies, Block Block.
    All of them playable with sound, adapted from mame.

  * Added sound support to these games based on the nmk004 findings in mame:
    macross, black heart, bio ship paladin, strahl, acrobat mission, mustang,
    thunder dragon, and even hacha mecha fighter but this one is still totally
    unplayable.

    For mustang, I switched to mustang original set instead of the bootleg
    version to avoid the infamous seibu sound system, so you'll have to update
    your romsets.
    Congratulations go to the mame team for that, everyone has been wondering
    how this sound emulation worked for YEARS !
  * Fixed the file size recorded in the wav files, when recording
    raine_soud.wav, and the alignement byte which prevented the sound to play
    in the microsoft media player ! The wav file format is probably one of the
    stupidest file formats ever invented !
  * add the ability to save screenshots in png (default now). You can set the
    compression level by editing the configuration file. Also you can now use
    a png file for the raine default background picture !
  * Add a new command to save a "video", or more exactly a sequence of
    screenshots (preferably in png), and at the same time a wav file. You will
    still need something like mplayer to merge everything together.
    See README.videos in the docs directory for the details.
  * fixed sound not starting when loading a saved game before qsound has been
    initalised in the capcom games (also fix a few stupid bank switches here
    and there).
  * When choosing the best video resolution if all the available resolutions
    where too small, then you got a ridiculously small resolution. Now you get
    the bigest one.
  * Added artwork bezel support - see README.bezels in the docs directory.
  * Fixed bad sound in bjtwin and sabotenb, now there are no cracks any more.
  * Fix a very old bug where the default directories for screen_dir
    (snapshots) and roms became "", translated to "/". I never noticed it
    because I always use the same config...
  * Fix a 1 pixel alignement issue for the text layer in do donpachi (I never
    noticed it before because I usually don't have time to read the text in
    dodonpachi ! I finally saw it because I recorded a video in dodonpachi!).
  * For windows choose a windowed default video mode to avoid any problem with
    weird setups which have vido sync problems. For the other OSes, choose a
    default resolution based on the video modes really available, take the 1st
    from 320x240.
  * dx2 emudx file format : graphics for emudx are now stored in .dx2 files,
    which should be available from rainemu.com. These files are smaller than
    the original .dx files (and it's more convinient to work with these). The
    emudx files can now be placed either in the main raine directory for
    compatibility or in the emudx sub directory. .dx files are not supported
    anymore for the graphics.
  * Added hammer music to donkey kong... It's generated from a midi file, oh
    well, if someone can do something better, let me know !
  * Unix behaviour : a long time ago I accepted a patch to make raine to use a
    personnal dir, and a system wide dir for its files in linux, but I never
    took the time to test this since I have always used only 1 dir for raine.
    Well, it didn't work, raine always used one of these 2 instead of trying
    the personnal dir first and then the system wide directory. It's now fixed
    for raine.dat, hiscore.dat, history.dat, the snapshots, the language
    files, and the bezels.

0.42.5

  * make raine gcc-4.0 compatible : still quite a few warnings in the end,
  especially when compiling the 6502 emulator, but most of them are gone now,
  and the build works.

0.42.4

  * add progear (cps2)
  * add pzloop2j (with speed hack)
  * Fixed 1944.

0.42.3

  * Fixed toki sound (ym3812)
  * Improved priority bitmap emulation (faster and more precise) for cps2 and
    the cave driver.
  * Add rom region switches for mshh and mpangj (translated), and vhunt2r1
    and vsav2 (only partially translated, but the service mode is translated
    at least).
  * Added a speed hack for mpangj
  * Fix bad color palette for snapshots in the gui in 16bpp sometimes

0.42.2

  * Handle priority bitmap for cps2 when needed, transparency effect in capcom
    sports club attract mode is emulated.
  * Fix annoying gui corrupted colors after loading some games.
  * Added the cps2 games from mame with a non working parent

0.42.1

  * Fixed REGION_EMPTY not supported anymore for games like arkanoid bootleg.
    This bug was probably due to the new way of handling clones when loading
    roms (added in 0.40.5) (helped from loading the rom).
  * Save a little more memory for cps1 & cps2 (on scroll1).
  * Try much harder to reset game hardware when a f3 game hangs after its
    eeprom has been reseted. With this we should definetely get rid of the
    "game xyz hangs when I launch it" messages in the forums.
  * Fix levels order in dkong us (this should be the last time !).
  * Add speed hacks for 19xx and dimahoo (not sure if it's usefull or not, but
    now these games won't be limited by the cpu power...).
  * Fix music speed for cps2 (it was slightly too slow, check sgemf when it
    displays "no mercy"...).
  * Fix a very old bug in the speed hack allocations for cps1 & cps2, it
    showed only in an sgemf background during attract mode afaik.
  * Try a new way of handling the priorities for cps2. This is not the mame
    way. It's faster, but I am not sure it works everywhere, it's much better
    than what we had in 0.42.0 anyway.
  * Fixed compilation with allegro-4.0.x for fedora core (linux).
  * Added new game : nostradamus, fully playable (it was to test the oddities
    of the mcatadv driver...).

0.42.0

  * Fixed the last sound issues in cps2 (in fact it was just the data bank of
    the z80 which was not loaded correctly), and added a few cps2 games to
    play with. Video priorities are still not emulated, but the result is
    quite good actually !!!
  * Improved the starscream patch for gigawing, and add all the real cps2
    games from mame (no clones).
  * Improve sprites decoding in cps1/cps2 to save memory. The memory saved is
    quite impressive, but 19xx and dimahoo still require about 70 Mb (120 Mb
    before !!!).
  * Fix a possible buffer overflow in history.dat handling (there was one for
    mvsc) and expand the history.dat buffer to 8kb.

0.41.4

  * Fix air gallet special bg2 layer (8x8 layer displayed as 16x16).
  * Fix layer alignement in air gallet
  * cps2 becomes runnable now (no video priorities yet, and still some
   sound synchronization issues on some games)

0.41.3

  * Fix the stupid forgoten bug in the patch of starscream (byte inversion).
    The fixes *LOTS* of problems especially with cps1 games.

0.41.2

  * Fixed flames glowing in dkong (quick fix, using the allegro alpha blending
    functions - can probably be improved).
  * Fixed sprites not showing in late stages of mazinger
  * Fixed sprites priorities in cave driver (in fact rewrote the whole
    priority code for the cave driver, now using only the priority bitmap).
    Now you can finally read the text in the end of dodonpachi and see
    some new gfx effects in the intro of dfeveron, and feversos, and there
    are probably some more changes...
  * Fixed inputs not working for player 2 in guwange (quite a shame that this
    one was never finden earlier !!!).
  * Fixed a crash when launching "Bobble Bobble" (not Bubble Bobble).
  * frogger samples updates :
     - coin sample is now louder
     - game over and all home sound now much better thanks to old original
     files found by Mike.
     - Added a new tune when you loose a life, from one of these old files.

0.41.1

  * When loading dkongjp after dkong, the levels were still drawn for dkong.
    It's fixed now.
  * pacman and mspacman now have big flashing power pills ! :)
  * pacman/mspacman : fruits on the bottom of screen match fruits in the
    level!
  * Applied patch from Ville Skytta to have language files in lower case
    (after all only dos/windows is case insensitive, all the serious OS in the
    world are case sensitive ! :))
  * Fixed the colour of the gun in opwolf and zombie raid (and every game
    actually using the gun) for color depths > 8 (bug related to changes for
    the sdl video driver).
  * Fixed sound card name (SDL <Not initialised yet> was displayed in the
    sound driver selection dialog).

0.41.0

  * Move the handling of dx samples to a new sound driver (dxsmp.c). It was
    necessary to have a precision of 1 frame with buggy windows sound drivers
    which must work with big sound buffers for the updates.
  * Fixed a bug when loading dkong after mspacmab.
  * Fixed the missing sprite of the purple frog in frogger
  * the roars at when the game starts and when a level ends are now emulated
    in dkong (2 roars instead of 3 because dx roars last longer !).
  * dx samples status is now saved in savegames, and they stop when you reset
    the game hardware.
  * added donkey kong (us and japan versions), with dx samples and dx graphics.
  * Fixed arpro search on games using a Z80 as cpu 0, and removed the
    obligation to have -1,-1 in the z80 memory map for the searches to work
    (-1,-1 serves nothing by itself, whereas 0,0xffff, DefBadReadByte is
    always there).
  * emudx samples now work in sdl, and I took back the musics from the dx
    samples with volume adustements.
  * Change the synchronisation method for the sdl sound driver. The new method
    uses more efficiently the callback, better results in windows and shorter
    and much easier code.
  * Fixed a problem with cheats/hiscore on games using exactly 2 z80s frogger,
    for example
  * Prevent emudx to change resolution when it's not necessary (related to
    color depth)
  * Finally converted the dx characters in frogger to retrieve their originol
    colours. Quite crazy !
  * Add a "Pac-man/Pengo" driver name in the driver selection menu for the
    game selection dialog (it allows to quickly spot the new pacman hacks).
  * Took back the fix for the allegro gui bug where the menu is frozen if
    raine is linked with allegro-4.0.x. But this time test allegro version we
    were compiled with before applying the work around (usefull in debian
    where they use allegro 4.0.x which is supposed to be stable).
    This work around disables dialog solid movements (no blits).
  * Frogger : fix layer alignement and replacement of layer tiles by big 32x32
    sprites.
  * Disable ansi sequences in windows (stupid windows still does not support
    ansi sequences natively, what a shame !!!).
  * Added emudx support for frogger (graphics and sound). Kept the ay8910 for
    music.
  * Added frogger, playable without sound (will try to add only emudx sound,
    these filters used by frogger for sound look like a real mess !)
  * Added sstriker, european translation of mahoudai (toaplan2)
  * Fixed a few default intialisations the first time raine is launched,
    especially for win32. Now :
     - the displayed video mode is correct in windows (there was a bug with
     the autodetect video driver...)
     - switch to 16bpp by default for xwindows and windows.
     - chooses allegmix sound driver by default in win32 (back to allegro)
     - the list of displayed games is "available" by default.
     - emudx init now always forces 16bpp (allegro was wrongly reporting 8bpp
     as the depth of the bitmaps in the archive if the current video mode was
     in 8bpp !)
     - Games which now request 16bpp switch color depth to 16bpp if they are
     currently in 32bpp (it's for emudx support which absolutely requires
     16bpp and can't work in 32bpp).
  * Added complete alpha blending support (mmx code based on an article found
    on the web). For now it works only for 32x32 sprites but it can easily be
    adapted to any size.
  * Put back windows to allegmix sound driver, and put the linux sound driver
    to its normal defaults as in 0.40.4. Windows sound drivers (at least those
    from creative) do not respect specs, which makes sdl sound delay
    corrections very hard. And on the other hand the allegro sound driver is
    unreliable in linux. So this is the easiest solution.
  * Bugs found : when raine is first installed in windows, it wrongly believes
    it's using the accelerated driver when it uses the autodetect driver which
    makes color depth changes impossible. I should really remove completely
    this autodetect thing one day. The autodetect driver in sdl is a miracle,
    and in allegro it's a nightmare !!! But this bug will probably stay where
    it is for quite a while, I hate windows, and I don't want to spend time on
    it.
  * Added some preliminary alpha blending drawing functions for the ghosts in
    pacman ! For now the alpha blending is locked at 50%, which makes the
    ghosts a little dark... but at least it's fast !!!

0.40.5

  * Added emudx support for pacman/puckman and mspacmab :-) !
  * Fixed pacman savestates to save irq status (it allows to load a game
    without having to wait for the machine to initialize).
  * added yet another hack : Xen's revenge (very hard !)
    Fixed pacman dsw, and improved the "2x speed cheat" from mame's idea
    (using button 1 to enable it or not, after having enabled the cheat from
    the dsw).
  * Added new game hacks : mspacpls, mspac6m, pacman3d, and namcosil.
    Also raine now uses clones of clones as it should always have (since it's
    the main purpose of the DIR_INFO struct : allowing recursion !). It makes
    the ROM_INFO structs even shorter now !
  * Applied patches from Ville Skytta (optional svgalib build in linux + ansi
    colors slightly different)
  * Try to detect when stdout is redirected to a file and disable ansi colors
    in this case (use isatty, but isatty does not seem to be available in
    windows... what a surprise !)
  * The clones do not repeat the regions of the parent anymore.
    When a region is the same it is simply not listed, and raine checks the
    parent automatically now. If you want the region to be empty, you have to
    tell it explicitely by using REGION_EMPTY (see arkanoid.c for an example).
    It makes shorter source code, and makes it easier to maintain too. It
    fixes the bad snowbros clones in 0.40.5 by the way.
  * Enough of fixes for raine-0.40.5

0.40.4

  * Lots of games which are requiring 8bpp now automtically set the screen to
    8bpp if it is in a different color depth when you load them.
  * Buble Boble is now playable in any color depth.
  * Running Pulirula and then loading rastan does not crash raine anymore.
    Also this fix will probably improve the stability when loading a few games
    which are using the tc100scn video chip.
  * Running a toaplan2 game like dogyuun, and then a cave game like donpachi
    works normally now.
  * Fix ym3812 timer. Now demon's world, snow bros and quite a few others are
    playable again... By the way snowbros now uses the new mame set.
  * Upgrade Chuka Taisen to use the latest mame set (b44.12 was changed to
    b44.12w, but I ignore the reason).
  * fixed ballbros/twinhawk when raine was compiled in debug mode (there was a
    ++ in a print_debug, what a shame !!!)
  * Fix tc0100scn emulation for "asuka & asuka", and opwolf.
  * Fixed c-chip for opwolf (ingame and reset game).
  * Fixed a few drivers with sound too loud in sdl (matmania, arkanoid...)
  * Fixed noise channel not working for the ay8910 (in matmania for example).
  * The SDL video is starting to work. No gui yet, but already hardware
    accelerated overlays when supported.
  * Raine now uses ANSI sequences to write text in color to the console.
    It allows to get RAINE in the colors of the old dos version in any linux
    or windows terminal !
  * Fixed cpu capabilities detection, and add rdtsc detection.
  * Forced sound buffer length to 2048 samples for sdl, since this is all
    what quite a few soundblaster windows drivers can handle (a pity).
    Anyway, it does not seem to create any bad delay, but it needs more
    testing.
  * Improved again sound synchronization for SDL (it's just more responsive,
    which can be helpfull on slow systems which drop frames). There is still a
    bug with some win2k versions though wich seem to require transfers of 4096
    bytes in my_callback, which represents about 6 sound frams, and which
    makes synchronization very hard. For now the only reliable solution with
    this win2k problem is to use the allegro sound driver.
  * Also improved sound emulation speed : the stream_update function in
    streams.c does not seem to make the emulation more precise, but it
    definetely makes it slower, so I just reverted to the old behaviour, it
    does nothing anymore.
  * Fixed controls in sf2ce clones (sf2m4, m5, m6, etc...).
  * Improved sound synchronization, it now can jump or drop more than 1 frame,
  and it can follow when one of the points is at the begin of the buffer while
  the other is at the end. It fixes the sound in all taito f3 games.

0.40.3

  * Unix version now uses its shared path (/usr/shar/games/raine) as the
    default location to load the hiscore.dat and history.dat file.
  * SDL sound support, bug fixes


To generate a diff of this commit:
cvs rdiff -r1.13 -r1.14 pkgsrc/emulators/raine/Makefile
cvs rdiff -r1.1.1.1 -r1.2 pkgsrc/emulators/raine/PLIST
cvs rdiff -r1.5 -r1.6 pkgsrc/emulators/raine/distinfo
cvs rdiff -r1.2 -r1.3 pkgsrc/emulators/raine/patches/patch-aa
cvs rdiff -r1.1.1.1 -r1.2 pkgsrc/emulators/raine/patches/patch-ab \
    pkgsrc/emulators/raine/patches/patch-ac
cvs rdiff -r1.2 -r0 pkgsrc/emulators/raine/patches/patch-ad
cvs rdiff -r1.1 -r0 pkgsrc/emulators/raine/patches/patch-ae \
    pkgsrc/emulators/raine/patches/patch-af \
    pkgsrc/emulators/raine/patches/patch-ag \
    pkgsrc/emulators/raine/patches/patch-ah \
    pkgsrc/emulators/raine/patches/patch-ai

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.