Important steps to take before a release:

#1 Preparation
- Clean up the repository: Update the pinmame folder, remove sticky tags, commit tested changes.
- check "whatsnew.txt" if nobody was forgotten concerning contributions, bugs fixes, and so on.
- check the date, year and version in all .txt files!
  (bugs.txt, pinmame.text, visual pinmame.txt, whatsnew.txt, whatsnewVPM.txt)
- remove the DEBUG define in the makefile (which is probably not there anyway)!
- edit "src/version.c" for the correct version number
- edit "src/ui/PinMAME32.rc" for the correct version number and copyright years
- edit "src/win32com/VPinMAME.cpp" for the expiration date (=next desired release date) (currently: none)
- edit "src/win32com/VPinMAME.rc" for the correct version number, copyright years and build (MinDependency)
- edit "src/windows/fronthlp.c" for the YEAR_END definition and copyright years
- (Only necessary if the installer has changed)
   - edit "src/instvpm/InstallVPinMAME.rc" for the correct version number and build (Release)
   - build InstallVPinMAME.exe
- commit changes

#2 Build
- export EVERYTHING again in an empty(!) separate folder. Only this way you may ensure nothing was forgotten!
  (use "release_export_current_source.bat X:\Path\To\Empty\Folder" or just drag the empty folder onto it)
- execute "mingw32-make" to build PinMAME.
- Make sure to regenerate gamelist and include it (I believe it's regenerated automatically on a build)
- execute "mingw32-make WINUI=1 SUFFIX=32" to build PinMAME32.
- build VPinMAME.DLL (right now with VC++ .NET 2002)
- optionally: do revision tests for compilation with all supported environments (MinGW/GCC, etc.)

#3 Test
- MAKE SURE STERN GAMES CANNOT WORK, and that TEST_STERN_GAMES FLAG, NO_TIME_LIMIT are not defined!

#4 Tag repository
- Tag the new version

#4 Create zip packages
- Pack everything together nicely, using max. compression
- Make sure all default folders are included in the VPM zip
  (these are: artwork, cfg, hi, ini, inp, memcard, nvram, roms, samples, snap, sta, wave)
- Make sure MAME license is in all released zips

If anything of the above fails, forget about a release and correct the errors first!
If it worked out ok, however, do a release!

#5 Release
- Upload the zips to pinmame.com and sourceforge.net, update the news & download pages.
- Release it to VPForums' upload page, and tell all the forum people what has happened!
- Shut down your computer! Go and have a drink. You deserve one now!
- 12 hours later, check back the forum for the first terrible errors we forgot to fix!

:)


Revision tests for compilation:
* MinGW 2.0
* MinGW 5 with recent packages and GCC 4.4 (Maddes)
* Visual C++ 6.0
* Visual C++ 2002 .NET (RELEASE!!!)
* Visual C++ 2008 (Maddes)
