gzdoom/game-music-emu
Randy Heit b7b9c72436 Merged in non-floatbobbing changes from trunk.
Merged revision(s) 3731-3734, 3736-3743, 3745-3751, 3754, 3756-3757, 3761-3766, 3774-3781, 3783-3787, 3791 from zdoom/trunk:
- Added support for Eternity Engine's function pointer ACS instructions.  (Note that an alternative ACS compiler is necessary to use these instructions properly.)
........
- Fixed: ACS function pointer instructions need to call GetFunction on the tagged module instead of the active behavior.
........
- Fixed: DDrawFB should not recreate all its resources when the palette changes if we were
  the one responsible for the palette change.
- Fixed: DDrawFB::CreateSurfacesComplex() starting tries at 2 instead of 0 is not "debugging cruft"
  since it counts down, not up. (Partially reverts r3195)
........
- Do not set the mouse pointer if the display is 8 bit, since such displays don't support color cursors.
........
- Added Hacx 2.0 detection.
........
- Do do not disable config writing before DoGameSetup() (introduced in r3653) if the config file
  does not already exist. This way, we can create a default config file without removing anything
  from an existing config file if things go wrong early during setup.
........
- Don't use abbreviations in exception descriptions.
........
- This was not supposed to be committed as part of r3737.
........
- Fixed: Editing the player (thing #1) with DeHacked would remove its MF2_PUSHWALL flag.
........
- Fixed: The action function version of ACS_NamedExecuteWithResult only accepted three script parameters.
........
- What I didn't have this saved? ugh
........
- We don't need to keep the FloatBobOffsets[] verison of DoWaggle around.
........
- Fixed: MF6_BUMPSPECIAL only worked when bumped from X/Y movement but not Z movement.
........
- Added UsePlayerStartZ MAPINFO option to cause P_SpawnPlayer() to offset the spawned player's
  Z position by the MapThing's Z, just like for any other MapThing.
- P_SpawnPlayer() now respects a player's SPAWNCEILING and SPAWNFLOAT flags.
........
- Fix some GCC 4.7.1 warnings.
........
- Pass playernum as a parameter to P_SpawnPlayer(). Now P_SpawnMapThing() is the only thing
  that uses the MapThing's type to determine the which player is spawning.
........
- Added MAPINFO flag RandomPlayerStarts. In this mode, no voodoo dolls are spawned. Instead, all
  player starts are added to a pool, and players spawn at a random spot.
........
- The complete FMapThing is overkill for storing player starts, so use a new minimal structure for them.
........
- Added the item flag IF_RESTRICTABSOLUTELY. When this is set, players of the wrong class cannot
  pickup an item at all. (For instance, normally players in Hexen can still pick up other players'
  weapons for ammo. With this flag set, they cannot do that either.)
........
- Fixed: PCD_SCRIPTWAITDIRECT had different semantics than PCD_SCRIPTWAIT.
........
- Added PCD_SCRIPTWAITNAMED p-code.
........
- Enumerate ZDaemon's ACSF_ values.
........
- Added compatibility options for Requiem map04 and Hell Revealed map19.
........
- Fixed type in A_Respawn.
........
- Fixed: Getting remorphed into a chicken should give you a Tome of Power so that you become a
  super chicken. Rawr! The PlayerPawn flag CANSUPERMORPH now enables this.
........
- Fixed: FListMenuItemPlayerDisplay could crash at various points if a class does not have a See state.
........
- Fixed: Toggling the automap could cancel out ending the level, among other things.
........
- Remove Item from StateCallData, since it isn't read anywhere.


........
- Added a 90 degree offset to all voxels, since Build's compass directions start at north
  rather than east.
........
- Fixed: R_ExtendSpriteFrames() would change spr.spriteframes even when it wasn't moving them around.
........
- Fixed: hud_scale is supposed use strictly integral scaling factors.
........
- Fix typo: MF6_SEEINVISIBLE is in flags6, not flags.
........
- Fixed typo: Midtextures with world panning replaced rw_midtexturemid with the rowoffset instead of adding them together.
........
- Fixed: Pain flashes were not inheritable.
........
- Fixed: player_t::settings_controller was not serialized.
........
- snd_midipatchset and fluid_patchset are now processed through NicePath() for variable
  substitution. In addition, on Windows, if they contain no path separator, they will
  automatically have $PROGDIR prepended to them.
........
- Fixed: DSBarInfo::ScreenSizeChanged() must call its supermethod.
........
- Fixed: FStateDefinitions::FinishStates() must ResolveGotoLabels before resolving labelled gotos. Otherwise, something like this fails:
      Goto State1
    State1:
      Goto State2
    State2:
  because when "Goto State1" is processed, State1 is still pointing at the string "State2" rather than State2's state, so the goto will end up pointing at a string (which will soon be
  freed from memory) instead of at an actual state.
........
- Fixed: The label offset has no business being involved in the positioning of the options menu cursor. Also put the cursor towards the bottom of tall small fonts.
........
- Remove LabelOffset from menus entirely and just compute things so that the console font and
  small font, when mixed on the same line, align at their baselines.
........
- Remove LabelOffset from menudef.txt.
........
- Fixed: menu_endgame showed no text during a netgame, nor did it block you from ending a netgame.
........
Merged revision(s) 3771, 3782 from zdoom/trunk:
- Draw 1 pixel of border at the edges of the status bar to prevent imprecision HOMs (only top and bottom for non-widescreen for now).
- The completeborder command is handled at the base statusbar now since it can do so more efficiently.
........
- Fixed: 1 pixel border was drawn when there was no status bar.
........



SVN r3793 (2.6)
2012-07-27 23:08:44 +00:00
..
gme Merged in non-floatbobbing changes from trunk. 2012-07-27 23:08:44 +00:00
changes.txt - Fixed compilation of i_keyboard.cpp with MinGW, because w32api still doesn't have 2009-06-03 03:05:02 +00:00
CMakeLists.txt - Revert r3214, which added some completely useless warnings for GCC. 2011-06-12 19:17:21 +00:00
design.txt - Fixed compilation of i_keyboard.cpp with MinGW, because w32api still doesn't have 2009-06-03 03:05:02 +00:00
game-music-emu.vcproj - Fixed compilation of i_keyboard.cpp with MinGW, because w32api still doesn't have 2009-06-03 03:05:02 +00:00
gme.txt - Fixed compilation of i_keyboard.cpp with MinGW, because w32api still doesn't have 2009-06-03 03:05:02 +00:00
license.txt - Fixed compilation of i_keyboard.cpp with MinGW, because w32api still doesn't have 2009-06-03 03:05:02 +00:00
readme.txt - Fixed compilation of i_keyboard.cpp with MinGW, because w32api still doesn't have 2009-06-03 03:05:02 +00:00

Game_Music_Emu 0.5.2: Game Music Emulators
------------------------------------------
Game_Music_Emu is a collection of video game music file emulators that
support the following formats and systems:

AY        ZX Spectrum/Amstrad CPC
GBS       Nintendo Game Boy
GYM       Sega Genesis/Mega Drive
HES       NEC TurboGrafx-16/PC Engine
KSS       MSX Home Computer/other Z80 systems (doesn't support FM sound)
NSF/NSFE  Nintendo NES/Famicom (with VRC 6, Namco 106, and FME-7 sound)
SAP       Atari systems using POKEY sound chip
SPC       Super Nintendo/Super Famicom
VGM/VGZ   Sega Master System/Mark III, Sega Genesis/Mega Drive,BBC Micro

Features:
* Can be used in C and C++ code
* High emphasis has been placed on making the library very easy to use
* One set of common functions work with all emulators the same way
* Several code examples, including music player using SDL
* Portable code for use on any system with modern or older C++ compilers
* Adjustable output sample rate using quality band-limited resampling
* Uniform access to text information fields and track timing information
* End-of-track fading and automatic look ahead silence detection
* Treble/bass and stereo echo for AY/GBS/HES/KSS/NSF/NSFE/SAP/VGM
* Tempo can be adjusted and individual voices can be muted while playing
* Can read music data from file, memory, or custom reader function/class
* Can access track information without having to load into full emulator
* M3U track listing support for multi-track formats
* Modular design allows elimination of unneeded emulators/features

This library has been used in game music players for Windows, Linux on
several architectures, Mac OS, MorphOS, Xbox, PlayStation Portable,
GP2X, and Nintendo DS.

Author : Shay Green <gblargg@gmail.com>
Website: http://www.slack.net/~ant/
Forum  : http://groups.google.com/group/blargg-sound-libs
License: GNU Lesser General Public License (LGPL)


Getting Started
---------------
Build a program consisting of demo/basics.c, demo/Wave_Writer.cpp, and
all source files in gme/. Be sure "test.nsf" is in the same directory.
Running the program should generate the recording "out.wav".

Read gme.txt for more information. Post to the discussion forum for
assistance.


Files
-----
gme.txt               General notes about the library
changes.txt           Changes made since previous releases
design.txt            Library design notes
license.txt           GNU Lesser General Public License

test.nsf              Test file for NSF emulator
test.m3u              Test m3u playlist for features.c demo

demo/
  basics.c            Records NSF file to wave sound file
  cpp_basics.cpp      C++ version of basics.c
  features.c          Demonstrates many additional features
  Wave_Writer.h       WAVE sound file writer used for demo output
  Wave_Writer.cpp

player/               Player using the SDL multimedia library
  player.cpp          Simple music player with waveform display
  Music_Player.cpp    Stand alone player for background music
  Music_Player.h
  Audio_Scope.cpp     Audio waveform scope
  Audio_Scope.h

gme/
  blargg_config.h     Library configuration (modify this file as needed)

  gme.h               C interface (also usable in C++, and simpler too)
  gme.cpp
  
  Gme_File.h          File loading and track information
  Music_Emu.h         Track playback and adjustments
  Data_Reader.h       Custom data readers
  
  Effects_Buffer.h    Sound buffer with stereo echo and panning
  Effects_Buffer.cpp
  
  M3u_Playlist.h      M3U playlist support
  M3u_Playlist.cpp

  Ay_Emu.h            ZX Spectrum AY emulator
  Ay_Emu.cpp
  Ay_Apu.cpp
  Ay_Apu.h
  Ay_Cpu.cpp
  Ay_Cpu.h

  Gbs_Emu.h           Nintendo Game Boy GBS emulator
  Gbs_Emu.cpp
  Gb_Apu.cpp
  Gb_Apu.h
  Gb_Cpu.cpp
  Gb_Cpu.h
  gb_cpu_io.h
  Gb_Oscs.cpp
  Gb_Oscs.h

  Hes_Emu.h           TurboGrafx-16/PC Engine HES emulator
  Hes_Apu.cpp
  Hes_Apu.h
  Hes_Cpu.cpp
  Hes_Cpu.h
  hes_cpu_io.h
  Hes_Emu.cpp
  
  Kss_Emu.h           MSX Home Computer/other Z80 systems KSS emulator
  Kss_Emu.cpp
  Kss_Cpu.cpp
  Kss_Cpu.h
  Kss_Scc_Apu.cpp
  Kss_Scc_Apu.h
  Ay_Apu.h
  Ay_Apu.cpp
  Sms_Apu.h
  Sms_Apu.cpp
  Sms_Oscs.h

  Nsf_Emu.h           Nintendo NES NSF/NSFE emulator
  Nsf_Emu.cpp
  Nes_Apu.cpp
  Nes_Apu.h
  Nes_Cpu.cpp
  Nes_Cpu.h
  nes_cpu_io.h
  Nes_Oscs.cpp
  Nes_Oscs.h
  Nes_Fme7_Apu.cpp
  Nes_Fme7_Apu.h
  Nes_Namco_Apu.cpp
  Nes_Namco_Apu.h
  Nes_Vrc6_Apu.cpp
  Nes_Vrc6_Apu.h
  Nsfe_Emu.h          NSFE support
  Nsfe_Emu.cpp

  Spc_Emu.h           Super Nintendo SPC emulator
  Spc_Emu.cpp
  Snes_Spc.cpp
  Snes_Spc.h
  Spc_Cpu.cpp
  Spc_Cpu.h
  Spc_Dsp.cpp
  Spc_Dsp.h
  Fir_Resampler.cpp
  Fir_Resampler.h

  Sap_Emu.h           Atari SAP emulator
  Sap_Emu.cpp
  Sap_Apu.cpp
  Sap_Apu.h
  Sap_Cpu.cpp
  Sap_Cpu.h
  sap_cpu_io.h

  Vgm_Emu.h           Sega VGM emulator
  Vgm_Emu_Impl.cpp
  Vgm_Emu_Impl.h
  Vgm_Emu.cpp
  Ym2413_Emu.cpp
  Ym2413_Emu.h
  Gym_Emu.h           Sega Genesis GYM emulator
  Gym_Emu.cpp
  Sms_Apu.cpp         Common Sega emulator files
  Sms_Apu.h
  Sms_Oscs.h
  Ym2612_Emu.cpp
  Ym2612_Emu.h
  Dual_Resampler.cpp
  Dual_Resampler.h
  Fir_Resampler.cpp
  Fir_Resampler.h
  
  blargg_common.h     Common files needed by all emulators
  blargg_endian.h
  blargg_source.h
  Blip_Buffer.cpp
  Blip_Buffer.h
  Gme_File.cpp
  Music_Emu.cpp
  Classic_Emu.h
  Classic_Emu.cpp
  Multi_Buffer.h
  Multi_Buffer.cpp
  Data_Reader.cpp


Legal
-----
Game_Music_Emu library copyright (C) 2003-2006 Shay Green.
SNES SPC DSP emulator based on OpenSPC, copyright (C) 2002 Brad Martin.
Sega Genesis YM2612 emulator copyright (C) 2002 Stephane Dallongeville.

-- 
Shay Green <gblargg@gmail.com>