From: <je...@us...> - 2007-05-18 19:51:34
|
Revision: 1377 http://cs-sdl.svn.sourceforge.net/cs-sdl/?rev=1377&view=rev Author: jendave Date: 2007-05-18 12:51:25 -0700 (Fri, 18 May 2007) Log Message: ----------- Added Paths: ----------- trunk/scsharp/ trunk/scsharp/AUTHORS trunk/scsharp/COPYING trunk/scsharp/ChangeLog trunk/scsharp/HACKING trunk/scsharp/INSTALL trunk/scsharp/NEWS trunk/scsharp/README trunk/scsharp/SCSharp.sln trunk/scsharp/SCSharp.suo trunk/scsharp/credits.txt trunk/scsharp/docs/ trunk/scsharp/docs/Makefile.am trunk/scsharp/docs/Makefile.in trunk/scsharp/docs/NOTES trunk/scsharp/docs/bin-files trunk/scsharp/docs/cmdbtns trunk/scsharp/docs/directory-layout trunk/scsharp/docs/got-files trunk/scsharp/docs/images.dat trunk/scsharp/docs/spk-file trunk/scsharp/docs/sprites.dat trunk/scsharp/docs/tilesets trunk/scsharp/docs/wireframes trunk/scsharp/lib/ trunk/scsharp/lib/net-2.0/ trunk/scsharp/lib/net-2.0/ICSharpCode.SharpZipLib.dll trunk/scsharp/lib/net-2.0/SdlDotNet.dll trunk/scsharp/lib/net-2.0/SdlDotNet.xml trunk/scsharp/lib/net-2.0/Tao.Sdl.dll trunk/scsharp/lib/net-2.0/Tao.Sdl.xml trunk/scsharp/lib/net-2.0/nunit.framework.dll trunk/scsharp/monodev.sh trunk/scsharp/nantfiles.bat trunk/scsharp/nantfiles.sh trunk/scsharp/prebuild.xml trunk/scsharp/scsharp.FxCop trunk/scsharp/sharpdev2.bat trunk/scsharp/src/ trunk/scsharp/src/SCSharp/ trunk/scsharp/src/SCSharp/App.config trunk/scsharp/src/SCSharp/App.ico trunk/scsharp/src/SCSharp/Properties/ trunk/scsharp/src/SCSharp/Properties/AssemblyInfo.cs trunk/scsharp/src/SCSharp/Properties/Resources.Designer.cs trunk/scsharp/src/SCSharp/Properties/Resources.resx trunk/scsharp/src/SCSharp/Properties/Settings.Designer.cs trunk/scsharp/src/SCSharp/Properties/Settings.cs trunk/scsharp/src/SCSharp/Properties/Settings.settings trunk/scsharp/src/SCSharp/SCSharp.cs trunk/scsharp/src/SCSharp/SCSharp.csproj trunk/scsharp/src/SCSharp/SCSharp.csproj.user trunk/scsharp/src/SCSharp/bin/ trunk/scsharp/src/SCSharp/bin/Debug/ trunk/scsharp/src/SCSharp/bin/Debug/App.config trunk/scsharp/src/SCSharp/bin/Debug/ICSharpCode.SharpZipLib.dll trunk/scsharp/src/SCSharp/bin/Debug/SCSharp.vshost.exe trunk/scsharp/src/SCSharp/bin/Debug/SCSharpLib.dll trunk/scsharp/src/SCSharp/bin/Debug/SCSharpLib.pdb trunk/scsharp/src/SCSharp/bin/Debug/SCSharpLib.xml trunk/scsharp/src/SCSharp/bin/Debug/SdlDotNet.dll trunk/scsharp/src/SCSharp/bin/Debug/SdlDotNet.xml trunk/scsharp/src/SCSharp/bin/Debug/Tao.Sdl.dll trunk/scsharp/src/SCSharp/bin/Debug/Tao.Sdl.xml trunk/scsharp/src/SCSharp/bin/Debug/scsharp.exe trunk/scsharp/src/SCSharp/bin/Debug/scsharp.exe.config trunk/scsharp/src/SCSharp/bin/Debug/scsharp.pdb trunk/scsharp/src/SCSharp/bin/Debug/scsharp.vshost.exe.config trunk/scsharp/src/SCSharp/obj/ trunk/scsharp/src/SCSharp/obj/Debug/ trunk/scsharp/src/SCSharp/obj/Debug/Refactor/ trunk/scsharp/src/SCSharp/obj/Debug/ResolveAssemblyReference.cache trunk/scsharp/src/SCSharp/obj/Debug/SCSharp.App.ico trunk/scsharp/src/SCSharp/obj/Debug/SCSharp.Properties.Resources.resources trunk/scsharp/src/SCSharp/obj/Debug/SCSharp.csproj.GenerateResource.Cache trunk/scsharp/src/SCSharp/obj/Debug/TempPE/ trunk/scsharp/src/SCSharp/obj/Debug/scsharp.exe trunk/scsharp/src/SCSharp/obj/Debug/scsharp.pdb trunk/scsharp/src/SCSharp/obj/SCSharp.csproj.FileList.txt trunk/scsharp/src/SCSharp/scsharp.snk trunk/scsharp/src/SCSharpLib/ trunk/scsharp/src/SCSharpLib/App.ico trunk/scsharp/src/SCSharpLib/MpqLib/ trunk/scsharp/src/SCSharpLib/MpqLib/Bin.cs trunk/scsharp/src/SCSharpLib/MpqLib/BinElement.cs trunk/scsharp/src/SCSharpLib/MpqLib/BitStream.cs trunk/scsharp/src/SCSharpLib/MpqLib/Chk.cs trunk/scsharp/src/SCSharpLib/MpqLib/FlingyDat.cs trunk/scsharp/src/SCSharpLib/MpqLib/Fnt.cs trunk/scsharp/src/SCSharpLib/MpqLib/Glyph.cs trunk/scsharp/src/SCSharpLib/MpqLib/Got.cs trunk/scsharp/src/SCSharpLib/MpqLib/Grp.cs trunk/scsharp/src/SCSharpLib/MpqLib/IMpqResource.cs trunk/scsharp/src/SCSharpLib/MpqLib/ImagesDat.cs trunk/scsharp/src/SCSharpLib/MpqLib/LinkedNode.cs trunk/scsharp/src/SCSharpLib/MpqLib/MapDataDat.cs trunk/scsharp/src/SCSharpLib/MpqLib/Mpq.cs trunk/scsharp/src/SCSharpLib/MpqLib/MpqArchive.cs trunk/scsharp/src/SCSharpLib/MpqLib/MpqArchiveContainer.cs trunk/scsharp/src/SCSharpLib/MpqLib/MpqBlock.cs trunk/scsharp/src/SCSharpLib/MpqLib/MpqContainer.cs trunk/scsharp/src/SCSharpLib/MpqLib/MpqDirectory.cs trunk/scsharp/src/SCSharpLib/MpqLib/MpqHash.cs trunk/scsharp/src/SCSharpLib/MpqLib/MpqHeader.cs trunk/scsharp/src/SCSharpLib/MpqLib/MpqHuffman.cs trunk/scsharp/src/SCSharpLib/MpqLib/MpqStream.cs trunk/scsharp/src/SCSharpLib/MpqLib/MpqWavCompression.cs trunk/scsharp/src/SCSharpLib/MpqLib/PKLibDecompress.cs trunk/scsharp/src/SCSharpLib/MpqLib/ParallaxLayer.cs trunk/scsharp/src/SCSharpLib/MpqLib/ParallaxObject.cs trunk/scsharp/src/SCSharpLib/MpqLib/ScriptBin.cs trunk/scsharp/src/SCSharpLib/MpqLib/SfxDataDat.cs trunk/scsharp/src/SCSharpLib/MpqLib/Smk.cs trunk/scsharp/src/SCSharpLib/MpqLib/Spk.cs trunk/scsharp/src/SCSharpLib/MpqLib/SpritesDat.cs trunk/scsharp/src/SCSharpLib/MpqLib/Tbl.cs trunk/scsharp/src/SCSharpLib/MpqLib/Trigger.cs trunk/scsharp/src/SCSharpLib/MpqLib/TriggerAction.cs trunk/scsharp/src/SCSharpLib/MpqLib/TriggerCondition.cs trunk/scsharp/src/SCSharpLib/MpqLib/TriggerData.cs trunk/scsharp/src/SCSharpLib/MpqLib/UnitInfo.cs trunk/scsharp/src/SCSharpLib/MpqLib/UnitsDat.cs trunk/scsharp/src/SCSharpLib/Properties/ trunk/scsharp/src/SCSharpLib/Properties/AssemblyInfo.cs trunk/scsharp/src/SCSharpLib/Properties/Resources.Designer.cs trunk/scsharp/src/SCSharpLib/Properties/Resources.resx trunk/scsharp/src/SCSharpLib/Properties/Settings.Designer.cs trunk/scsharp/src/SCSharpLib/Properties/Settings.settings trunk/scsharp/src/SCSharpLib/SCSharpLib.csproj trunk/scsharp/src/SCSharpLib/SCSharpLib.csproj.user trunk/scsharp/src/SCSharpLib/SCSharpLib.xml trunk/scsharp/src/SCSharpLib/UI/ trunk/scsharp/src/SCSharpLib/UI/BriefingRunner.cs trunk/scsharp/src/SCSharpLib/UI/Builtins.cs trunk/scsharp/src/SCSharpLib/UI/ButtonElement.cs trunk/scsharp/src/SCSharpLib/UI/Cinematic.cs trunk/scsharp/src/SCSharpLib/UI/ComboBoxElement.cs trunk/scsharp/src/SCSharpLib/UI/ConnectionScreen.cs trunk/scsharp/src/SCSharpLib/UI/CreditsScreen.cs trunk/scsharp/src/SCSharpLib/UI/CursorAnimator.cs trunk/scsharp/src/SCSharpLib/UI/DialogBoxElement.cs trunk/scsharp/src/SCSharpLib/UI/EndMissionDialog.cs trunk/scsharp/src/SCSharpLib/UI/EntryDialog.cs trunk/scsharp/src/SCSharpLib/UI/EstablishingShot.cs trunk/scsharp/src/SCSharpLib/UI/ExitConfirmationDialog.cs trunk/scsharp/src/SCSharpLib/UI/FFmpeg.cs trunk/scsharp/src/SCSharpLib/UI/Game.cs trunk/scsharp/src/SCSharpLib/UI/GameMenuDialog.cs trunk/scsharp/src/SCSharpLib/UI/GameModeDialog.cs trunk/scsharp/src/SCSharpLib/UI/GameScreen.cs trunk/scsharp/src/SCSharpLib/UI/GlobalResources.cs trunk/scsharp/src/SCSharpLib/UI/GuiUtil.cs trunk/scsharp/src/SCSharpLib/UI/HelpDialog.cs trunk/scsharp/src/SCSharpLib/UI/ImageElement.cs trunk/scsharp/src/SCSharpLib/UI/KeystrokeDialog.cs trunk/scsharp/src/SCSharpLib/UI/LabelElement.cs trunk/scsharp/src/SCSharpLib/UI/ListBoxElement.cs trunk/scsharp/src/SCSharpLib/UI/LoadSavedScreen.cs trunk/scsharp/src/SCSharpLib/UI/LoginScreen.cs trunk/scsharp/src/SCSharpLib/UI/MainMenu.cs trunk/scsharp/src/SCSharpLib/UI/MapRenderer.cs trunk/scsharp/src/SCSharpLib/UI/MarkupScreen.cs trunk/scsharp/src/SCSharpLib/UI/NetworkDialog.cs trunk/scsharp/src/SCSharpLib/UI/ObjectivesDialog.cs trunk/scsharp/src/SCSharpLib/UI/OkCancelDialog.cs trunk/scsharp/src/SCSharpLib/UI/OkDialog.cs trunk/scsharp/src/SCSharpLib/UI/OptionsDialog.cs trunk/scsharp/src/SCSharpLib/UI/Painter.cs trunk/scsharp/src/SCSharpLib/UI/Pcx.cs trunk/scsharp/src/SCSharpLib/UI/PlayCustomScreen.cs trunk/scsharp/src/SCSharpLib/UI/ProtossReadyRoomScreen.cs trunk/scsharp/src/SCSharpLib/UI/QuitMissionDialog.cs trunk/scsharp/src/SCSharpLib/UI/Race.cs trunk/scsharp/src/SCSharpLib/UI/RaceSelectionScreen.cs trunk/scsharp/src/SCSharpLib/UI/ReadyRoomScreen.cs trunk/scsharp/src/SCSharpLib/UI/Resources.cs trunk/scsharp/src/SCSharpLib/UI/RestartConfirmationDialog.cs trunk/scsharp/src/SCSharpLib/UI/SmackerPlayer.cs trunk/scsharp/src/SCSharpLib/UI/SoundDialog.cs trunk/scsharp/src/SCSharpLib/UI/SpeedDialog.cs trunk/scsharp/src/SCSharpLib/UI/Sprite.cs trunk/scsharp/src/SCSharpLib/UI/SpriteManager.cs trunk/scsharp/src/SCSharpLib/UI/SwooshPainter.cs trunk/scsharp/src/SCSharpLib/UI/TerranReadyRoomScreen.cs trunk/scsharp/src/SCSharpLib/UI/TextBoxElement.cs trunk/scsharp/src/SCSharpLib/UI/TitleScreen.cs trunk/scsharp/src/SCSharpLib/UI/UIDialog.cs trunk/scsharp/src/SCSharpLib/UI/UIElement.cs trunk/scsharp/src/SCSharpLib/UI/UIPainter.cs trunk/scsharp/src/SCSharpLib/UI/UIScreen.cs trunk/scsharp/src/SCSharpLib/UI/Unit.cs trunk/scsharp/src/SCSharpLib/UI/Utilities.cs trunk/scsharp/src/SCSharpLib/UI/VideoDialog.cs trunk/scsharp/src/SCSharpLib/UI/ZergReadyRoomScreen.cs trunk/scsharp/src/SCSharpLib/bin/ trunk/scsharp/src/SCSharpLib/bin/Debug/ trunk/scsharp/src/SCSharpLib/bin/Debug/ICSharpCode.SharpZipLib.dll trunk/scsharp/src/SCSharpLib/bin/Debug/SCSharpLib.dll trunk/scsharp/src/SCSharpLib/bin/Debug/SCSharpLib.pdb trunk/scsharp/src/SCSharpLib/bin/Debug/SCSharpLib.xml trunk/scsharp/src/SCSharpLib/bin/Debug/SdlDotNet.dll trunk/scsharp/src/SCSharpLib/bin/Debug/SdlDotNet.xml trunk/scsharp/src/SCSharpLib/bin/Debug/Tao.Sdl.dll trunk/scsharp/src/SCSharpLib/bin/Debug/Tao.Sdl.xml trunk/scsharp/src/SCSharpLib/obj/ trunk/scsharp/src/SCSharpLib/obj/Debug/ trunk/scsharp/src/SCSharpLib/obj/Debug/Refactor/ trunk/scsharp/src/SCSharpLib/obj/Debug/Refactor/SCSharp.dll trunk/scsharp/src/SCSharpLib/obj/Debug/Refactor/SCSharp.dll.dll trunk/scsharp/src/SCSharpLib/obj/Debug/Refactor/SCSharpLib.dll trunk/scsharp/src/SCSharpLib/obj/Debug/SCSharp.App.ico trunk/scsharp/src/SCSharpLib/obj/Debug/SCSharp.Properties.Resources.resources trunk/scsharp/src/SCSharpLib/obj/Debug/SCSharpLib.csproj.GenerateResource.Cache trunk/scsharp/src/SCSharpLib/obj/Debug/SCSharpLib.dll trunk/scsharp/src/SCSharpLib/obj/Debug/SCSharpLib.pdb trunk/scsharp/src/SCSharpLib/obj/Debug/TempPE/ trunk/scsharp/src/SCSharpLib/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll trunk/scsharp/src/SCSharpLib/obj/SCSharpLib.csproj.FileList.txt trunk/scsharp/src/SCSharpLib/scsharp.snk trunk/scsharp/tests/ trunk/scsharp/tests/Bmp.cs trunk/scsharp/tests/DumpChk.cs trunk/scsharp/tests/DumpGrp.cs trunk/scsharp/tests/DumpIScript.cs trunk/scsharp/tests/DumpTbl.cs trunk/scsharp/tests/FontFoo.cs trunk/scsharp/tests/Makefile.am trunk/scsharp/tests/Makefile.in trunk/scsharp/tests/Properties/ trunk/scsharp/tests/Properties/AssemblyInfo.cs trunk/scsharp/tests/SCSharpTests.nunit trunk/scsharp/tests/TestTesult.xml trunk/scsharp/tests/Tests.csproj trunk/scsharp/tests/Tests.csproj.user trunk/scsharp/tests/Tga.cs trunk/scsharp/tests/bin/ trunk/scsharp/tests/bin/Debug/ trunk/scsharp/tests/bin/Debug/ICSharpCode.SharpZipLib.dll trunk/scsharp/tests/bin/Debug/SCSharpLib.dll trunk/scsharp/tests/bin/Debug/SCSharpLib.pdb trunk/scsharp/tests/bin/Debug/SCSharpLib.xml trunk/scsharp/tests/bin/Debug/SCSharpTests.dll trunk/scsharp/tests/bin/Debug/SCSharpTests.pdb trunk/scsharp/tests/bin/Debug/SdlDotNet.dll trunk/scsharp/tests/bin/Debug/SdlDotNet.xml trunk/scsharp/tests/bin/Debug/Tao.Sdl.dll trunk/scsharp/tests/bin/Debug/Tao.Sdl.xml trunk/scsharp/tests/bin/Debug/nunit.framework.dll trunk/scsharp/tests/obj/ trunk/scsharp/tests/obj/Debug/ trunk/scsharp/tests/obj/Debug/Refactor/ trunk/scsharp/tests/obj/Debug/SCSharpTests.dll trunk/scsharp/tests/obj/Debug/SCSharpTests.pdb trunk/scsharp/tests/obj/Debug/TempPE/ trunk/scsharp/tests/obj/Tests.csproj.FileList.txt trunk/scsharp/tests/scsharp.snk trunk/scsharp/vs2005.bat Added: trunk/scsharp/AUTHORS =================================================================== --- trunk/scsharp/AUTHORS (rev 0) +++ trunk/scsharp/AUTHORS 2007-05-18 19:51:25 UTC (rev 1377) @@ -0,0 +1 @@ +Chris Toshok <to...@hu...> \ No newline at end of file Added: trunk/scsharp/COPYING =================================================================== --- trunk/scsharp/COPYING (rev 0) +++ trunk/scsharp/COPYING 2007-05-18 19:51:25 UTC (rev 1377) @@ -0,0 +1,28 @@ +StormLib is released under an unknown (to me) license. It has +multiple copyright holders. + +All of the SCSharp specific code is released under an X11 license. +Use it as you see fit. The license text is included below. + + +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + Added: trunk/scsharp/ChangeLog =================================================================== --- trunk/scsharp/ChangeLog (rev 0) +++ trunk/scsharp/ChangeLog 2007-05-18 19:51:25 UTC (rev 1377) @@ -0,0 +1,505 @@ +2006-05-29 Chris Toshok <to...@hu...> + + * Makefile.am (release): fix this target so that it works again. + + * NEWS: include news for the first time. + + * configure.ac: bump to 0.0000008. + + * HACKING: fix up the .smk entry, with various options for + projects, and remove the managed stormlib project since Foole's is + working. + + * RELEASE_README: s/starcraft/scsharp + + * src/scsharp.exe.config-example: add the new options. + + * src/scsharp.exe.config: can't put -- in the middle of comments. + +2006-05-29 Chris Toshok <to...@hu...> + + * SCSharp/Makefile.am (MCSFLAGS): define USE_STORM_DLL if + ENABLE_STORMLIB == true. + + * src/scsharp.exe.config: add some comments about the debugging + options, and add a new one to enable the unmanaged mpq library. + + * Tests/dump-iscript.cs (DumpIScript.ctor): we assume the mpq + passed in is the stardat.mpq. + + * SCSharp/SCSharp.UI/Painter.cs (.ctor): add back in a constructor + taking a Surface so the font-foo test continues to work. + + * SCSharp/SCSharp.Mpq/Mpq.cs: USE_STORM_DLL no longer switches + between managed/unmanaged implementations, but compiles in the + optional unmanaged version as well. + + * Makefile.am (SUBDIRS): only build in StormLib if ENABLE_STORMLIB + == true. + + * configure.ac: add AC_ARG_ENABLE for --enable-stormlib. If it's + left out, only the managed version is built. + +2006-05-29 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.UI/Game.cs (CreateWindow): switch to new Painter + ctor. + (KeyboardDown): add handling for Ctrl-F to switch between + fullscreen and windowed mode. + + * SCSharp/SCSharp.UI/UIDialog.cs: s/Game/Painter for the screen + nres constants. + + * SCSharp/SCSharp.UI/Sprite.cs: same. + + * SCSharp/SCSharp.UI/Cinematic.cs: same. + + * SCSharp/SCSharp.UI/GameScreen: same. + + * SCSharp/SCSharp.UI/UIScreen.cs (FirstPaint): revert to this + the non-disgusting hack version. + + * SCSharp/SCSharp.UI/Painter.cs: move the SCREEN_RES_X/Y constants + here, from Game.cs. + (Fullscreen): new property, allow switching between fullscreen and + not. + +2006-05-26 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.Mpq/Chk.cs (ReadFromStream): change the loop so + that it'll work with both StormLib and the managed .mpq stuff. + +2006-05-24 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.UI/GuiUtil.cs (RenderGlyph): add a hack to + antialias the fonts. of course this is yet another hack on top of + the already hackish nature of font rendering. + +2006-05-24 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.UI/GameScreen.cs: track the Unit currently under + the cursor, and when we click on it, spew a little info about it. + +2006-05-24 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.UI/Game.cs (DisplayTitle): use the FirstPainted + event to determine when the title screen is shown, rather than the + Ready event (which is emitted when it finishes loading.) + (TitleScreenReady): pass in both stardatMpq and broodatMpq to the + GlobalResources ctor so it can load both sets of resources. + + * SCSharp/SCSharp.UI/Builtins.cs: add mapdata.dat and mapdata.tbl. + + * SCSharp/SCSharp.UI/GlobalResources.cs: rework things in this + class to handle loading both the broodwar and starcraft assets. + Use Game.PlayingBroodwar to implicitly switch between the + different versions when using just the resource name, but allow + explicit access to each version when necessary. + + * SCSharp/SCSharp.Mpq/Mpq.cs (GetTypeFromResourcePath): handle + mapdata.dat. + + * SCSharp/SCSharp.Mpq/MapDataDat.cs: new class, just a set of + indices into mapdata.tbl. + + * SCSharp/SCSharp.UI/GameModeDialog.cs (LoadResources): explicitly + use broodat's gluAll.tbl to get the dialog title. This keeps us + from crashing if we select "Original", then exit back to the main + menu and open this dialog again. + + * SCSharp/SCSharp.UI/Painter.cs (Tick): rename "Animate" to this. + (DrawText): remove unused, empty function. + + * SCSharp/SCSharp.UI/RaceSelectionScreen.cs + (BroodwarCampaigns_MapDataStart): stop hardcoding the strings + here. instead, hardcode the indices into the mapdata.dat file. + (StarcraftCampaigns_MapDataStart): same. + (LoadResources): in the campaign element activate delegates, just + call SelectCampaign. + (SelectCampaign): factor out a lot of shared code here. Use the + campaign indices to determine the correct prefix. Also, switch to + the establishing shot for the given scenario. It'll take care of + starting up the ready room. + + * SCSharp/SCSharp.UI/ReadyRoomScreen.cs (LoadResources): in the + start_element activate delegate, stop the briefing before + switching to the game screen. + (StopBriefing): remove our Events.Tick handler. + (FirstPaint): remove the AddToPainter/RemoveFromPainter + runner.Tick hack, and just hook up to Events.Tick. + (BriefingRunner.Tick): change this to a Tick event handler from a + painter. Keep track of total elapsed, and change sleepUntil to an + int from a DateTime. + (EstablishingShot): new markup screen, used for showing the + establishing shot/text before the ready room is displayed. + + * SCSharp/SCSharp.UI/MarkupScreen.cs (Paint): add handling for + PageLocation.LowerLeft. + (AddMarkup): add handling for </SCREENLOWERLEFT>. + (AddToPainter): remove the FirstPainted stuff from here. we'll + just use UIScreen's. + (RemoveFromPainter): same. + (FirstPaint): change FirstPainted to this, overriding UIScreen's. + + * SCSharp/SCSharp.UI/UIScreen.cs (FirstPaint): emit our + FirstPainted event and remove the painter delegate. + (AddToPainter): add the FirstPaint delegate. + (RemoveFromPainter): remove the FirstPaint delegate. + + * SCSharp/SCSharp.UI/MainMenu.cs (LoadResources): in the + intro_element delegate, remove the ifdefs. Just switch to the + cinematic. If it fails to play we'll return to the main menu. + + * SCSharp/SCSharp.UI/SmackerPlayer.cs: catch the + DllNotFoundException if we couldn't load ffmpegglue.dll, and just + finish immediately in that case whenever someone plays a movie. + +2006-05-15 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.UI/ReadyRoomScreen.cs (FirstPaint): remove + unused function. + (UnhighlightPortrait): only set the background if the portrait is + still visible. + (ShowPortrait): set the portrait's background to the unhighlighted + frame. + (HidePortrait): clear the portrait's background. + + * SCSharp/SCSharp.UI/Game.cs: better handle the differentiation + between "what mpqs do i have installed?" and "which version + (original/expansion) am i playing?" GlobalResources still doesn't + load both sets, however. + +2006-05-14 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.UI/ReadyRoomScreen.cs: why do i insist on + writing threaded code? there's no need for it here. Also, make + things work a lot better. highlight the current speaker, set the + background/font/effects/cursor stuff correctly. + + * SCSharp/SCSharp.UI/RaceSelectionScreen.cs: use the tutorials for + protoss/terran. zerg doesn't work for some reason. there are no + triggers. + + * SCSharp/SCSharp.UI/UIElement.cs: kind of a hack, but allow a + "background .pcx" to be supplied. it's used to highlight the + current speaker in the mission briefings. + +2006-05-14 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.UI/GameScreen.cs (.ctor): add a constructor + that's useful from the readyroom. + (PlaceInitialUnits): deal with a null template, which happens with + campaigns. + + * SCSharp/SCSharp.UI/RaceSelectionScreen.cs: make this work for + both broodwar and original race selection screens. Hardcode the + first scenarios for each campaign here as well - eventually + they'll come from mapdata.dat/tbl. + + * SCSharp/SCSharp.UI/Game.cs (.ctor): don't add anything to the + mpq container - let the PlayingBroodWar setter do that. + (set_PlayingBroodWar): clean this up a bit. + (set_Race): add setter. + + * SCSharp/SCSharp.UI/ReadyRoomScreen.cs: subclass ReadyRoomScreen + for each race, since at least the zerg screen has different + element indices. Write an initial pass of the briefing runner, + which displays text and plays .wav files. There are definite + threading + Sdl audio issues here. + + * SCSharp/SCSharp.UI/Builtins.cs: replace the race specific ready + room strings with a formatable string. + + * SCSharp/SCSharp.Mpq/IScriptBin.cs (GetScriptEntryOffset): don't + throw an exception here, just return 0. the caller can handle + that. + + * SCSharp/SCSharp.Mpq/Chk.cs: add mission briefing support (add + trigger, condition, action classes). + + * SCSharp/SCSharp.Mpq/Mpq.cs (Add): return if mpq == null. + (Remove): same. + (Clear): new function, call mpqs.Clear. + (GetStreamForResource): spew something if we're going to return + null. + +2006-05-13 Chris Toshok <to...@hu...> + + * src/scsharp.cs (Main): switch from just 1 CD directory setting + to 2. + + * src/scsharp.exe.config: add the new CD directory settings. + + * SCSharp/SCSharp.UI/RaceSelectionScreen.cs (.ctor): load the + correct resource depending on if we're BW or SC. + + * SCSharp/SCSharp.UI/Game.cs (.ctor): change the way we look for + and load mpq's. Keep track of both BW and SC install.exe's. + (PlayingBroodWar): this property is initialized to true if + broodat.mpq is found, and causes either the bw or sc cd to become + available for resource lookups. + + * SCSharp/SCSharp.UI/MainMenu.cs (ShowGameDialog): add some code + to display a dialog if the user is missing the correct CD + install.exe. + + * SCSharp/SCSharp.UI/LoginScreen.cs (ResourceLoader): we don't + cache the race selection screen anymore, as it changes depending + on whether you pick BW/SC. + + * SCSharp/SCSharp.UI/PlayCustomScreen.cs (ResourceLoader): no more + cached race selection screen. + + * SCSharp/SCSharp.UI/LoadSavedScreen.cs: same. + + * SCSharp/SCSharp.UI/Builtins.cs: add the original campaign ui. + + * SCSharp/SCSharp.UI/ButtonElement.cs (MouseEnter): only play the + sound if the button is sensitive -- maybe we shouldn't even get + called if we're insensitive? + + * SCSharp/SCSharp.UI/MarkupScreen.cs (ResourceLoader): call + LoadMarkup, and add it as an abstract method. + + * SCSharp/SCSharp.UI/CreditsScreen.cs (LoadMarkup): rename + ResourceLoader to this. + + * SCSharp/SCSharp.UI/UIElement.cs (.ctor): cache x1/y1 here so the + setters so we don't keep modifying the BinElement's coordinates + each time we display a dialog, shifting it further and further + down and to the right. + (X1): use the cached value. + (Y1): same. + +2006-05-13 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.dll.sources: add the MpqReader sources. + + * SCSharp/Makefile.am (MCSFLAGS): add -d:USE_STORM_DLL + + * SCSharp/SCSharp.Mpq/Mpq.cs: add a series of USE_STORM_DLL ifdefs + to choose between libStorm.so and Foole's managed MpqReader. + + * SCSharp/SCSharp.Mpq/MpqStructs.cs, + SCSharp/SCSharp.Mpq/MpqArchive.cs, + SCSharp/SCSharp.Mpq/MpqStream.cs, + SCSharp/SCSharp.Mpq/PKLibDecompress.cs: add 0.02 of Foole's + managed Mpq reading code. It doesn't work quite yet, but this way + we can test it with scsharp. + +2006-05-10 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.Mpq/Mpq.cs (GetResource): don't cache .smk files + (the cinematics at least are enormous). + (GetTypeFromResourcePath): make .smk files use a Stream instead of + our Smk class. + + * SCSharp/SCSharp.UI/SmackerPlayer.cs: use FFmpeg to display .smk + files. This works on my machine, but lacks audio and the glue + code is in general pretty ugly. Going to take a look at using + gstreamer tonight. With this in mind, I'm not adding + SmackerPlayer.cs+Cinematic.cs to the build, and I'm not going to + check in the ffmpegglue code. + + * SCSharp/SCSharp.UI/Cinematic.cs: new file, basically takes over + the screen and runs a SmackerPlayer. + + * SCSharp/SCSharp.UI/ButtonElement.cs (MouseEnter): rename + MouseOver to this. + + * SCSharp/SCSharp.UI/GuiUtil.cs (CreateSurface): make this public. + + * SCSharp/SCSharp.UI/RaceSelectionScreen.cs (ResourceLoader): add + delegates for MouseEnter/MouseLeave to display the incomplete + messages. we always show them at the moment, instead of getting + that information from the .spc file. + + * SCSharp/SCSharp.UI/MainMenu.cs (ShowGameModeDialog): factor this + code out from both the single/multiplayer delegates. + (ResourceLoader): add ifdef'ed code for the intro cinematic, and + use ShowGameModeDialog for single/multiplayer. + + * SCSharp/SCSharp.UI/UIElement.cs: switch from MouseOver to + MouseEnter+MouseLeave. + + * SCSharp/SCSharp.UI/UIScreen.cs: switch from MouseOver to + MouseEnter+MouseLeave so we can implement things like the strings + on the race selection screen where they tell you previous + campaigns haven't been completed yet. + (KeyboardDown): guard against Elements being null. + +2006-05-08 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.UI/GuiUtil.cs (CreateSurface): refactor the + duplicated code from + CreateSurfaceFromRGBAData/CreateSurfaceFromRGBData here. + (CreateSurfaceFromRGBAData): call CreateSurface + (CreateSurfaceFromRGBData): call CreateSurface + +2006-05-01 Chris Toshok <to...@hu...> + + * Tests/Makefile.am (font_foo_exe_REFS): more build fixes. + + * configure.ac: add a check for mono >= 1.1.14 + +2006-05-01 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.Mpq/Mpq.cs: Make GetStreamForResource public so + it can be used to extract files from mpq archives. + +2006-04-30 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.UI/Unit.cs (CreateSprite): implement. + + * SCSharp/SCSharp.UI/GameScreen.cs (PlaceInitialUnits): use Unit + everywhere. + + * SCSharp/SCSharp.UI/Sprite.cs (.ctor): add a little more info to + the spew. + + * SCSharp/SCSharp.UI/GlobalResources.cs (ResourceLoader): remove + spew. + (LoadSingleThreaded): load without spawning off a worker thread. + useful in tools and tests. + +2006-04-10 Chris Toshok <to...@hu...> + + * Makefile (VERSION): bump to 0.0000002. + +2006-04-10 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.UI/OkCancelDialog.cs: use 254,0 for + translucent,transparent. + + * SCSharp/SCSharp.UI/OkDialog.cs: same. + + * SCSharp/SCSharp.UI/EntryDialog.cs: same. + +2006-04-10 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.UI/GameModeDialog.cs (.ctor): set + background_path to null, as we'll load it in ResourceLoader. + (ResourceLoader): manually load the background, using its specific + translucent/transparent indices. + + * SCSharp/SCSharp.UI/GuiUtil.cs (SurfaceFromStream): always + use our managed Pcx loader. + (SurfaceFromStream): for the Stream,bool overload, pass in 252,0 + for translucent,transparent, respectively. + (SurfaceFromStream): for the Stream overload, pass -1,-1. + + * SCSharp/SCSharp.UI/UIScreen.cs (ResourceLoader): pass -1,-1 + to the Pcx.ReadFromStream calls. + + * SCSharp/SCSharp.UI/CreditsScreen.cs (ResourceLoader): pass + -1,-1 to the Pcx.ReadFromStream calls. + + * SCSharp/SCSharp.UI/Pcx.cs (ReadFromStream): allow the + passing in of translucent/transparent indices. + + * SCSharp/SCSharp.Mpq/Bin.cs (ElementFlags): include the + unknown flages as Unknown/Unused. + +2006-04-10 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.UI/ReadyRoomScreen.cs: first pass. + + * SCSharp/SCSharp.UI/Builtins.cs: add ready room builtins. + +2006-04-10 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.UI/ListBoxElement.cs: track cursor when + list becomes empty/non-empty. Set it initially to -1. + + * SCSharp/SCSharp.UI/LoginScreen.cs (OkElement delegate): if + we don't have a selected id, return immediately. This should only + happen if the list is empty. + + * SCSharp/SCSharp.UI/ConnectionScreen.cs: add Ok dialog when + people select Battle.net. + + * SCSharp/SCSharp.UI/credits.txt: thank the + mono/sdl/sdldotnet projects. + +2006-04-10 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.UI/ConnectionScreen.cs: populate the + ListBox element with our choices, and handle the cursor moving + properly. Ifdef this for the time being to only display + Battle.net. + + * SCSharp/SCSharp.UI/GameModeDialog.cs: insert the title + string in the dialog, and change Canceled/Activated to + Cancel/Activate. + + * SCSharp/SCSharp.UI/UIDialog.cs: keep track of the parent + UIScreen that popped us up. + (ShowDialog): overload this so we can remove ourselves from the + painter before showing the new dialog. In a better world we'd + just show the new popup at a higher layer. + (DismissDialog): overload to add ourselves back to the painter. + + * SCSharp/SCSharp.UI/GuiUtil.cs: add another ComposeText + overload. + + * SCSharp/SCSharp.UI/MainMenu.cs: pop up Ok dialogs with + messages about missing functionality (no cinematics and no + campaign editor.) + + * SCSharp/SCSharp.UI/LoginScreen.cs (ResourceLoader): for the + ok button pop up a dialog saying what we should do in this case. + Also add functionality for the new button (pops up an entry + dialog) and delete button (pops up an ok/cancel dialog). + (KeyboardDown): forward on UpArrow/DownArrow to the list box + element. + (NameAlreadyExists): pop up an OkDialog. + + * SCSharp/SCSharp.UI/UIPainter.cs: clean up warnings, and + make it compile with -define:SHOW_ELEMENT_BORDERS. + + * SCSharp/SCSharp.UI/CreditsScreen.cs: clean up some + warnings. + + * SCSharp/SCSharp.UI/Builtins.cs: add some more strings for + the login screen dialogs. + + * SCSharp/SCSharp.UI/UIElement.cs (Mpq): add getter. + (Text): use ClearSurface. + (Sensitive): same. + (Palette): new getter/setter. + (Font): new getter/setter. + (ClearSurface): new protected method. + (CreateSurface): provider base class implementation that handles + the types we don't provider subclasses for. + + * SCSharp/SCSharp.UI/UIScreen.cs (HandleKeyboardUp): return + immediately for keypresses corresponding to modifier keys. + (HandleKeyboardDown): same. + (ActivateElement): if the element isn't sensitive, don't activate + it. + (ResourceLoader): create different UIElement subclasses depending + on the BinElement's type. + + * SCSharp/SCSharp.UI/TextBoxElement.cs: new UIElement, + allowing text editing. No flashing cursor displayed yet. + + * SCSharp/SCSharp.UI/OkCancelDialog.cs: a question dialog, + containing a message and Ok/Cancel buttons. + + * SCSharp/SCSharp.UI/OkDialog.cs: a simple message dialog, + containing a message and Ok button. + + * SCSharp/SCSharp.UI/EntryDialog.cs: new Dialog containing a + title, text entry, and Ok/Cancel buttons. + + * SCSharp/SCSharp.UI/ImageElement.cs: new UIElement + displaying an image. + + * SCSharp/SCSharp.UI/ListBoxElement.cs: new UIElement, + displaying a list. doesn't do scrolling yet. + +2006-04-09 Chris Toshok <to...@hu...> + + * SCSharp/SCSharp.UI/GameModeDialog.cs (ResourceLoader): add + title text. + Added: trunk/scsharp/HACKING =================================================================== --- trunk/scsharp/HACKING (rev 0) +++ trunk/scsharp/HACKING 2007-05-18 19:51:25 UTC (rev 1377) @@ -0,0 +1,78 @@ +Things are obviously in a tremendous state of flux. There are +numerous pieces of code that are undergoing large amounts of changes, +and I periodically commit upwards of 20 files at a time with super +helpful commit messages like "sync". Even with this current state of +affairs, I'd like people looking at the code, and if they feel moved +to contribute, so much the better. + +Please contact me if you're interested in working in a specific area +so we can try to avoid stepping on each others' toes. + +There are a couple of large, well contained tasks that could be done +largely independently of everything else. I'll get to them +eventually, but they're all free for the taking. I've ordered them in +terms of size/difficulty/coolness, from hardest to easiest (and +therefore coolest to least cool): + + 1. Smacker player: + + There are format docs up at: + + http://wiki.multimedia.cx/index.php?title=Smacker + + Clearly I don't understand the docs (and video codecs and + huffman trees in general) and couldn't get it to work. + This is of course assuming the spec itself is valid. I + don't know that it is. + + This task would result in all of the animated portraits, + the cut scenes, the animations in the main menu and race + selection screen (pretty much anything that's animated + that's not a unit/flingy) being visible. It's not strictly + necessary for the game, but it's definitely got eyecandy + value. + + A couple of possible options are available here: + + One would be porting/wrapping the ffmpeg[1] .smk codec so + that we can use it. I've done some preliminary work for + this, enough to get cinematics working without audio. the + ffmpeg codec seems to have problems with the portrait and + main menu smk's, though (possibly because they loop?) so it + doesn't work for those yet. I don't think this is a good + long-term solution though, as maintaining a player that can + deal with framerate/audio sync stuff seems like a pain in + the ass. + + The second solution would be to take the gstreamer bindings + being worked on for this year's Mono Project SoC and use + them to build up a playback engine. This would probably + require some native coding as well. There's a sdl sink in + gstreamer now, but it appears to only target the YUV + overlays, not RGB surfaces, which is what we'd need to + integrate it into our painter. + + Given that scsharp *should* run on windows as well, and + there's already a native .dll for decoding smacker video on + windows, an interesting side project would be p/invoke into + that library for doing playback when on the windows + platform. Anyone up for it? + + 3. Figure out font rendering so that we can operate with either SC + or BW assets. the best solution would enable us to render + fonts from the data contained in the + Stardat.mpq/Broodat.mpq archives, but I'd settle for a + solution that works with either CD's install.exe. + + 4. The parallax (SPK) renderer used for the starfield + background on platform levels renders a 2x2 white rectangle + for each star. apparently the .spk file contains bitmap + data for the stars. Figure out the format and render the + stars correctly. + +Email me if you're interested in any of the above tasks, and I'll get +some more info to you regarding where in the code changes will be +likely, and answer any other questions you might have. + +welcome, +toshok \ No newline at end of file Added: trunk/scsharp/INSTALL =================================================================== --- trunk/scsharp/INSTALL (rev 0) +++ trunk/scsharp/INSTALL 2007-05-18 19:51:25 UTC (rev 1377) @@ -0,0 +1,236 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free +Software Foundation, Inc. + +This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + +These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + +Some systems require unusual options for compilation or linking that the +`configure' script does not know about. Run `./configure --help' for +details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + +You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + +By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + +Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + +There may be some features `configure' cannot figure out automatically, +but needs to determine by the type of machine the package will run on. +Usually, assuming the package is built to be run on the _same_ +architectures, `configure' can figure that out, but if it prints a +message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + +If you want to set default values for `configure' scripts to share, you +can create a site shell script called `config.site' that gives default +values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + +Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). Here is a another example: + + /bin/bash ./configure CONFIG_SHELL=/bin/bash + +Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent +configuration-related scripts to be executed by `/bin/bash'. + +`configure' Invocation +====================== + +`configure' recognizes the following options to control how it operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + Added: trunk/scsharp/NEWS =================================================================== --- trunk/scsharp/NEWS (rev 0) +++ trunk/scsharp/NEWS 2007-05-18 19:51:25 UTC (rev 1377) @@ -0,0 +1,19 @@ +Changes from 0.0000007 to 0.0000008. + + * inclusion of Foole's managed port of StormLib. The + unmanaged version is still included, but is no longer built + by default. Additionally, to use the unmanaged version even + after building it, you have to enable a configuration + option. Look at scsharp.exe.config for more details. + + * The ready room code is now in. Barring glitches in audio + playback which seem legion, the mission briefings should + proceed as normal, including establishing shots. + + * Text rendering is now (more or less) anti-aliased and + pretty. + + * The code handles the distinction between "broodwar is + installed" and "user selected broodwars" better now. + + * lots of misc fixes. Added: trunk/scsharp/README =================================================================== --- trunk/scsharp/README (rev 0) +++ trunk/scsharp/README 2007-05-18 19:51:25 UTC (rev 1377) @@ -0,0 +1,27 @@ +Things you need to do to make this work: + +1) You need mono version 1.1.14 or newer. + +2) Make your "Program Files\Starcraft" directory available on your + linux box. Either copy it or mount your windows volume. + +3) Do the same with the "install.exe" file from the Broodwars CD. + This release requires that file be present. It can live on the CD, + or you can copy it to the local filesystem. It must be the Broodwars + CD at the moment, due to the fact that the font code only works + with the files on the BW cd for some reason. + +4) Edit the scsharp.exe.config file and point it at the directories + from 1) and 2). + +5) Make sure you have the following SDL packages installed (these + versions should work, as well as newer ones.): + + SDL-1.2.9 (http://www.libsdl.org/download-1.2.php) + SDL_gfx-2.0.13 (http://www.ferzkopp.net/Software/SDL_gfx-2.0/) + SDL_mixer-1.2.6 (http://www.libsdl.org/projects/SDL_mixer/release/) + SDL_image-1.2.4 (http://www.libsdl.org/projects/SDL_image/release/) + +7) That's it. The following should be enough: + + $ mono scsharp.exe Added: trunk/scsharp/SCSharp.sln =================================================================== --- trunk/scsharp/SCSharp.sln (rev 0) +++ trunk/scsharp/SCSharp.sln 2007-05-18 19:51:25 UTC (rev 1377) @@ -0,0 +1,36 @@ +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SCSharpLib", "src\SCSharpLib\SCSharpLib.csproj", "{1A51DB16-582A-4231-98DB-E4622F79D208}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SCSharp", "src\SCSharp\SCSharp.csproj", "{7D4C7304-8496-4F1C-8FDF-9AF647FE199C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "tests\Tests.csproj", "{29C81049-8557-4D06-B187-EF52765DB46E}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{468F1D07-AD17-4CC3-ABD0-2CA268E4E1A6}" + ProjectSection(SolutionItems) = preProject + prebuild.xml = prebuild.xml + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1A51DB16-582A-4231-98DB-E4622F79D208}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1A51DB16-582A-4231-98DB-E4622F79D208}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1A51DB16-582A-4231-98DB-E4622F79D208}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1A51DB16-582A-4231-98DB-E4622F79D208}.Release|Any CPU.Build.0 = Release|Any CPU + {7D4C7304-8496-4F1C-8FDF-9AF647FE199C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7D4C7304-8496-4F1C-8FDF-9AF647FE199C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7D4C7304-8496-4F1C-8FDF-9AF647FE199C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7D4C7304-8496-4F1C-8FDF-9AF647FE199C}.Release|Any CPU.Build.0 = Release|Any CPU + {29C81049-8557-4D06-B187-EF52765DB46E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {29C81049-8557-4D06-B187-EF52765DB46E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {29C81049-8557-4D06-B187-EF52765DB46E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {29C81049-8557-4D06-B187-EF52765DB46E}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal Added: trunk/scsharp/SCSharp.suo =================================================================== (Binary files differ) Property changes on: trunk/scsharp/SCSharp.suo ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/scsharp/credits.txt =================================================================== --- trunk/scsharp/credits.txt (rev 0) +++ trunk/scsharp/credits.txt 2007-05-18 19:51:25 UTC (rev 1377) @@ -0,0 +1,46 @@ +</COMMENT credits for SCSharp> +</FADESPEED 100> + +</COMMENT #############################################################> +</BACKGROUND glue\palmm\backgnd.pcx> +</FONTCOLOR glue\palmm\tfont.pcx> +</SCREENCENTER> +SCSharp Programming + +Chris Toshok +</PAGE> + +</COMMENT #############################################################> +</BACKGROUND glue\palzv\backgnd.pcx> +</FONTCOLOR glue\palmm\tfont.pcx> + +</SCREENLEFT> +Special Thanks To + +Justin Olbrantz +Ladislav Zezula +</PAGE> + +</SCREENLEFT> +Special Thanks To + +The folks at Campaign Creations +</PAGE> + +</SCREENLEFT> +Thanks To + +The Starcraft Modding Community. +</PAGE> + +</SCREENLEFT> +Thanks To + +The Mono Project +The SDL Project +The SdlDotNet Project +</PAGE> + +</SCREENCENTER> +Credits for Starcraft Brood War +</PAGE> \ No newline at end of file Property changes on: trunk/scsharp/credits.txt ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/scsharp/docs/Makefile.am =================================================================== --- trunk/scsharp/docs/Makefile.am (rev 0) +++ trunk/scsharp/docs/Makefile.am 2007-05-18 19:51:25 UTC (rev 1377) @@ -0,0 +1,2 @@ + +EXTRA_DIST=bin-files cmdbtns directory-layout got-files images.dat NOTES spk-file sprites.dat tilesets wireframes \ No newline at end of file Added: trunk/scsharp/docs/Makefile.in =================================================================== --- trunk/scsharp/docs/Makefile.in (rev 0) +++ trunk/scsharp/docs/Makefile.in 2007-05-18 19:51:25 UTC (rev 1377) @@ -0,0 +1,317 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = docs +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ENABLE_STORMLIB_FALSE = @ENABLE_STORMLIB_FALSE@ +ENABLE_STORMLIB_TRUE = @ENABLE_STORMLIB_TRUE@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +mono_CFLAGS = @mono_CFLAGS@ +mono_LIBS = @mono_LIBS@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +EXTRA_DIST = bin-files cmdbtns directory-layout got-files images.dat NOTES spk-file sprites.dat tilesets wireframes +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_bu... [truncated message content] |