diff options
author | Daniel Santos (javamonger) <daniel.santos@pobox.com> | 2010-11-01 00:42:24 +0000 |
---|---|---|
committer | Daniel Santos (javamonger) <daniel.santos@pobox.com> | 2010-11-01 00:42:24 +0000 |
commit | e5261663b34fc643bed75b59f8c0d298cfe1389c (patch) | |
tree | 3cba8d314a5fe42101cc29315ab0e6bc911695a3 /games-strategy/moo2 | |
parent | licenses/ Hasbro-EULA: Adding Hasbro-EULA license for games-strategy/moo2 (diff) | |
download | sunrise-reviewed-e5261663b34fc643bed75b59f8c0d298cfe1389c.tar.gz sunrise-reviewed-e5261663b34fc643bed75b59f8c0d298cfe1389c.tar.bz2 sunrise-reviewed-e5261663b34fc643bed75b59f8c0d298cfe1389c.zip |
sunrise/ games-strategy: New ebuild for bug #341859
svn path=/sunrise/; revision=11505
Diffstat (limited to 'games-strategy/moo2')
-rw-r--r-- | games-strategy/moo2/ChangeLog | 39 | ||||
-rw-r--r-- | games-strategy/moo2/Manifest | 14 | ||||
-rw-r--r-- | games-strategy/moo2/files/1.40.24/FAQ.html | 584 | ||||
-rw-r--r-- | games-strategy/moo2/files/1.40.24/backup.sh | 81 | ||||
-rwxr-xr-x | games-strategy/moo2/files/1.40.24/moo2 | 213 | ||||
-rw-r--r-- | games-strategy/moo2/files/1.40.24/moo2rc | 14 | ||||
-rwxr-xr-x | games-strategy/moo2/files/1.40.24/utils.sh | 97 | ||||
-rw-r--r-- | games-strategy/moo2/files/DIG.INI | 10 | ||||
-rw-r--r-- | games-strategy/moo2/files/MDI.INI | 10 | ||||
-rw-r--r-- | games-strategy/moo2/files/ORIONCD.INI | bin | 0 -> 50 bytes | |||
-rw-r--r-- | games-strategy/moo2/files/installList.txt | 79 | ||||
-rw-r--r-- | games-strategy/moo2/metadata.xml | 10 | ||||
-rw-r--r-- | games-strategy/moo2/moo2-1.40.24.ebuild | 202 |
13 files changed, 1353 insertions, 0 deletions
diff --git a/games-strategy/moo2/ChangeLog b/games-strategy/moo2/ChangeLog new file mode 100644 index 000000000..1d017cb85 --- /dev/null +++ b/games-strategy/moo2/ChangeLog @@ -0,0 +1,39 @@ +# ChangeLog for games-strategy/moo2 +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + + 01 Nov 2010; Daniel Santos (dansan) <daniel.santos@pobox.com> + +files/1.40.24/FAQ.html, +files/1.40.24/backup.sh, +files/1.40.24/moo2rc, + +moo2-1.40.24.ebuild, +files/1.40.24/moo2, +files/1.40.24/utils.sh, + +files/DIG.INI, +files/MDI.INI, +files/ORIONCD.INI, + +files/installList.txt, +metadata.xml: + * Bumped EAPI to 2 + * Moved lots of stuff from src_unpack to src_prepare + * Corrected spelling of Hasbro + * Added desktop entry + * Misc QA cleanup + + 21 Oct 2010; Daniel Santos (dansan) <daniel.santos@pobox.com> + +files/1.40.24/readme.html, moo2-1.40.24.ebuild: + Added readme.html which explains the possible options for your configuration. + + 21 Oct 2010; Daniel Santos (dansan) <daniel.santos@pobox.com> + +files/1.40.24/backup.sh, moo2-1.40.24.ebuild, files/1.40.24/moo2, + files/1.40.24/moo2rc, files/1.40.24/utils.sh: + * Reformatted to 80 cols + * Changed license to GPL-2 MicroProse-EULA, repoman can deal + * Added icon & make_desktop_entry + * Added prepgamesdirs to the end of src_install() which I forgot earlier! + * Added functionality for the moo2 script to backup your saved games (I + had this earlier, but it wasn't working yet). + +*moo2-1.40.24 (21 Oct 2010) + + 21 Oct 2010; Daniel Santos (dansan) <daniel.santos@pobox.com> + +files/1.40.24/moo2, +moo2-1.40.24.ebuild, +files/1.40.24/moo2rc, + +files/1.40.24/utils.sh, +files/DIG.INI, +files/MDI.INI, + +files/ORIONCD.INI, +files/installList.txt, +metadata.xml: + New ebuild for bug #341859. The "Lord Brazen" version is actually labled + 1.40b.23, but I'm omitting the "b" as it neither fits in Gentoo's + versioning convention or seems to make much sense. + diff --git a/games-strategy/moo2/Manifest b/games-strategy/moo2/Manifest new file mode 100644 index 000000000..bec0c5a9e --- /dev/null +++ b/games-strategy/moo2/Manifest @@ -0,0 +1,14 @@ +AUX 1.40.24/FAQ.html 24083 RMD160 9304cd803551d2c05de2c2855e6cf494bfc765ed SHA1 b43dea2e02c3a1630295fd766f26e0519fb9eaf3 SHA256 16f447f55891ba8b5b3752351900c92f3da1ed3bf4522237d061bbd0216ecc34 +AUX 1.40.24/backup.sh 2367 RMD160 9da9d47ca272d56b1812e07deb62fe275fb3e5d5 SHA1 630b3e883c26ee134df9ba761850ee0858c7fc05 SHA256 c9082c4ef4dcfa8fec8c1c616250979cdf746600f87ef13a6645912e82dbebfe +AUX 1.40.24/moo2 6741 RMD160 41fe01726a48959d2268b0bd0517d2e33ea41d08 SHA1 47d44524e94b31504fc502ff96e68c530146e874 SHA256 b4a366d24d940d68a51f083241031a872281728e9732db405b0e1b314a0bedba +AUX 1.40.24/moo2rc 554 RMD160 48faddc7331359e8b570773af42376e599d0df0b SHA1 2d5279bf0f6138bb623f7c4188ff239399f3b9d9 SHA256 cca002d5db7441bd77cc5283a1887c8f24cf56b77554916421f9a8d9a42bcc0a +AUX 1.40.24/utils.sh 2955 RMD160 9b3a4e4b6289d60b7234571e392c340fda5bbd1f SHA1 c59607ee21906f2a4bc35a9900030a43ba16bd73 SHA256 ce36d479496c6dfa20d642e24f0e3028290447dd50b67dc61e21a06d12b96b63 +AUX DIG.INI 207 RMD160 565def1d6423ca19de4723dc45698490352d6f29 SHA1 367e61fd8e4dbec2c8d05a77c5d20747a80e0a1f SHA256 26fa505f40f5fd67275d08d8d5b4cd6eafaebfe17c1736b21746560b490049b6 +AUX MDI.INI 204 RMD160 53d1fd0216335575cf3f5bda288ff77e431ddf53 SHA1 14105c50c5a505f85164397453803523c6874bec SHA256 e6f5a679fd4edfd24c4c3d6b7331383cd13438f5d7d1416dc9c676652474712b +AUX ORIONCD.INI 50 RMD160 58117d09aafeeb9d2625c7770702035c1d924e84 SHA1 11595b2e64bc5ea0c084224c913dc49366d956f9 SHA256 c35577d83cb314316d078b9957df8dbe88714fb242a4fa8f4fbfa1714d0c19b0 +AUX installList.txt 898 RMD160 f7f486d6440a3c11c251abcad524d7e77d63cc26 SHA1 a76663e1e596c3e200a4e0c43c71489daa83b04b SHA256 b9242f495758a236c96faf347fd5078f54e49b43098255e7f38a216b8d25e4a6 +DIST Moo2v140b24.zip 21949 RMD160 246e2efef8b691055c4aac8ab4b09971704091c7 SHA1 19194bf840d394def506c2dfb5ddeabe4a25aa58 SHA256 725b95756f2c5bd284226e6552564e650b04f6a24ea5d049c4d903ae8420ce37 +DIST moo2v131.zip 3429509 RMD160 a975e939e940df9d2144befeecfc160ae67356fa SHA1 d2e2d0cdc59a57afe76381ccb081fa8de6182e64 SHA256 60fff876ad0a68f7750972dda2195c16b04b28ea76db8ecf1f27dd19109f05b5 +EBUILD moo2-1.40.24.ebuild 5839 RMD160 da55c3aa8ba646e1cc50721330aff56c04e7e798 SHA1 544014a3f6380a00a645cafceb084eef4f72375b SHA256 8dbe50761d19cb72fec80d6c3869b7d7ec5a601d4177187c64e2ee484316570a +MISC ChangeLog 1302 RMD160 ac7266e987d6277c2e2f0fddd410236e4c7fb4f1 SHA1 d088501d354c4eae0eb17b5668c011b66abdb87d SHA256 2aaa1bb14d75db1135976438be4a6baadbd47b287b83ffaac5d9b8d4f86ad9c5 +MISC metadata.xml 436 RMD160 2ec95e07f53b5f39d67e038414515a03411412cb SHA1 40c17a958db403a24c7a1d46828eaed497817986 SHA256 8e5de5670266bf6316d3f63e42b09e9f8e18b203aa4c4d63120375143fb967e3 diff --git a/games-strategy/moo2/files/1.40.24/FAQ.html b/games-strategy/moo2/files/1.40.24/FAQ.html new file mode 100644 index 000000000..2d6680520 --- /dev/null +++ b/games-strategy/moo2/files/1.40.24/FAQ.html @@ -0,0 +1,584 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN"> + +<html> +<head> + <meta name="generator" content= + "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org"> + + <title>Moo2v140 Patch FAQ</title> +</head> + +<body> + <h1>Moo2v140 Patch FAQ</h1> + <p>Retrieved from <a href="http://lordbrazen.blogspot.com/2005/01/moo2v140-patch-faq.html">http://lordbrazen.blogspot.com/2005/01/moo2v140-patch-faq.html</a><br> + <p>(last updated September 09, 2006)<br> + <br> + <strong>Table of Contents</strong><br></p> + + <blockquote> + <p>Preface</p> + + <blockquote> + <p>1. Purpose and audience for this FAQ<br> + 2. Acknowledgments</p> + </blockquote> + + <p>1. Installation</p> + + <blockquote> + <p>1.1. What are the requirements of the patch?<br> + 1.2. How do I apply the patch?<br> + 1.3. How do I configuring the Moo2v140 desktop shortcut?<br> + 1.4. Why only the DOS version?<br> + 1.5. How do I launch Moo2v140 from Kali?<br> + 1.6. How do I launch Moo2v140 from DOSbox?</p> + </blockquote> + + <p>2. Bug fixes</p> + + <blockquote> + <p>2.1. What are the bugs in the latest (v1.31) official patch?<br> + 2.2. What bugs does the v1.40 patch fix?<br> + 2.3. What bugs do you plan to fix?</p> + </blockquote> + + <p>3. New command line switches</p> + + <blockquote> + <p>3.1. What command line switches are there already in v1.31?<br> + 3.2. What command line switches have been added in v1.40?<br> + 3.3. How do I use the command line switches?<br> + 3.4. Who needs to use the command line switches in a multiplayer + game?<br> + 3.5. What command line switches do you plan to add?<br> + 3.6. Why do the save games from v1.40 cause problems with the Map editor + / Leveler?<br> + 3.7. How do the home system switches interact with each other?<br> + 3.8. Why does the galaxy map seem different in v1.40?</p> + </blockquote> + + <p>4. Playing over the internet</p> + + <blockquote> + <p>4.1. How do I play Master of Orion 2 over the internet?<br> + 4.2. What is kali?<br> + 4.3. Where do I get kali?<br> + 4.4. What game server to people play Master of Orion 2 on?<br> + 4.5. Why cant I find the MOO2 server?</p> + </blockquote> + + <p>5. Cheat codes</p> + + <blockquote> + <p>5.1. What cheat codes are there in Master of Orion 2 ?<br> + 5.2. Why do you plan to disable cheat codes in multiplayer games + ?<br></p> + </blockquote> + + <p align="left"><strong>Preface</strong></p> + </blockquote> + + <blockquote> + <blockquote> + <p>1. Purpose and audience for this FAQ</p> + + <blockquote> + <p>This FAQ provides answers to frequently asked questions for the + Master of Orion II v1.40 patch which I began writing in December 2003. + The reason I wrote this FAQ is quite simple, a growing number of people + keep asking me the same questions about the patch.</p> + </blockquote> + + <p>2. Acknowledgments</p> + + <blockquote> + <p>Thanks go out to all those within the Moo2 kali community that have + very supportive of this project:<br> + <br> + INver, Cybersaber, 4381, Skybandit, PK, NightWolf, RedDog, Siron, + Alex-D and many others...</p> + </blockquote> + </blockquote> + </blockquote> + + <blockquote> + <p><strong>Questions and Answers</strong></p> + + <p>1. Installation</p> + + <blockquote> + <p>1.1. What are the requirements of the patch?</p> + + <blockquote> + <p>This patch requires the DOS v1.31 English version of Master of Orion + II. It will not work with earlier versions, other language versions, or + the windows version of the game. You should be able to patch a + non-english version of master of Orion II with the english v1.31 patch + and effectively convert it to the english version (which should allow + you to apply the v1.40 patch at that point).</p> + </blockquote> + + <p>1.2. How do I apply the patch?</p> + + <blockquote> + <p>Applying the patch is simple. Just put the patch exe file into the + orion2 game directory and run it. It will create a separate + orion2v140.exe file. This is the patched game executable. It will also + optionally create a desktop icon for you which you can use to launch + the game.</p> + </blockquote> + + <p>1.3. How do I configuring the Moo2v140 desktop shortcut?</p> + + <blockquote> + <p>I would recommend that you use the patch to create a desktop icon. + It is a shortcut.</p> + </blockquote> + + <p>1.4. Why only the DOS version?</p> + + <blockquote> + <p>I primarily play orion2 on the internet using kali. The windows + version of the game does not play very well over the internet (to much + lag).</p> + </blockquote> + + <p>1.5. How do I launch Moo2v140 from Kali?</p> + + <blockquote> + <p>Many players use a private server and the desktop shortcut to launch + the game. Game lobbies are also an option and very commonly used by new + players. Refer to the kali web site for instructions.</p> + </blockquote> + + <p>1.6. How do I launch Moo2v140 from DOSBox?</p> + + <blockquote> + <p>Setting up a DOSBox game can be more difficult than with Kali but + the players tend to experience less lag during game play. The host of + the game must use the 'ipxnet startserver' command in the dosbox window + prior to starting orion2. All other players must use the 'ipxnet + connect x.x.x.x' command (where x.x.x.x is the hosts ip address) in the + dosbox window prior to starting orion2.</p> + </blockquote> + </blockquote> + + <p>2. Bug fixes</p> + + <blockquote> + <p>2.1. What are the bugs in the latest (v1.31) official patch?</p> + + <blockquote> + <p><strong>Leaders bug</strong> - The game will instantly crash when + you attempt to view your ship leaders but have no ships.</p> + + <p><strong>Arti bug</strong> - This is a LAN game bug that occurs when + you are the first player to arrive an arti system. You will receive the + free technologies but the arti planet may permanently lose the arti + planet special on the next turn.</p> + + <p><strong>Last race bugs</strong> - LAN games crash when a player + presses the Last Race button. Also, it is possible to pick the same + race picture as an opponent in multiplayer games.</p> + + <p><strong>Credit cheat</strong> - Under certain circumstances a player + can both produce an item and receive trade goods (full amount) at a + single planet in a single turn. This is an exploit used to generate + large amounts of cash by some players.</p> + + <p><strong>Auto factory bug</strong> - The game can crash when you + mouse over a building in the colony screen. This often occurs when you + go to scrap an Auto Factory but can occur with other buildings + also.</p> + + <p><strong>Cloned monsters</strong> - Under certain circumstances the + combat round with a monster is ignored. Sometimes monsters or ships + which were destroyed in combat are still alive after combat. This seems + to be a network game problem only.</p> + + <p><strong>Cloned cship or opship</strong> - Sometimes a colony ship or + outpost ship is not deleted after it is used to make a colony or + outpost. It can be exploited to generate a very large empire in a very + short period of time.</p> + + <p><strong>Soils bug</strong> - Quite often in the round that you + produce a building which creates a food or production bonus, the bonus + is not applied properly to all workers that turn. Moving workers around + can result in all or part of the bonus being lost temporarily or even a + game crash.</p> + + <p><strong>Retreat from battle field</strong> - Retreating from a + battle sometimes can result in a game crash. It seems to only occur in + LAN games when you retreat from the edge of the combat area.</p> + + <p><strong>Retreat with navigator</strong> - Retreating from combat can + result in loss of your entire fleet if there is a black hole in the + retreat path even if you have a navigator.</p> + + <p><strong>Travel distance/ETA incorrect</strong> - Travel distance and + ETA are not calculated correctly in some situations.</p> + + <p><strong>Annihilation bug</strong> - Under certain circumstances, + annihilation can result in a planet with zero population. It is + impossible to invade or bomb. Also, if an invader remains in orbit of + this system it can prevent the invader from entering combat at other + systems as well. This can be exploited to create a permanent + outpost.</p> + + <p><strong>Overpopulation bug</strong> - Under certain circumstances, + it is possible to overpopulate a planet with androids or captured + races. This can be exploited to create a super planet.</p> + + <p><strong>Not asked to land opship when cship is present</strong> - + When a colony ship and outpost ship are present with your fleet, + sometimes you will not be given the option to land your outpost ship. + This seems to occur in systems with no habitable worlds.</p> + + <p><strong>Phantom missiles</strong> - Shooting down missiles can + result in a missile stack with a quantity of zero. The defender can + waste many defensive shots on them but these missiles cannot be shot + down. The missiles will proceed to target but they seem to do no + damage.</p> + + <p><strong>Stealth bug</strong> - Ships equipped with the stealth + technology are still visible on the galaxy map by your opponents. They + are visible at the same range as regular ships.</p> + + <p><strong>Cloaking and Phase Cloaking bugs</strong> - Ships equipped + with the Cloaking or Phase Cloaking technology are still visible on the + galaxy map by your opponents. Also, during combat only player #0 will + have his phase cloak revert to regular cloaking after 10 rounds.</p> + + <p><strong>System Specials not shared</strong> - When two players + arrive for the first time at a system with a system special, only one + player will receive the special (such as rescued leader, money, or + technology).</p> + + <p><strong>Evolutionary Mutation</strong> - It is possible to change + some race picks that you should not be able to once you have researched + Evolutionary Mutation.</p> + + <p><strong>Repeat build cheat</strong> - It is possible to cancel the + production of a repeat build item after it has been bought. This allows + money to be converted to stored production. It can be exploited to + purchase expensive items by canceling multiple cheaper repeat built + items over the course of several turns.</p> + + <p><strong>Tractors bug</strong> - Moving a ship while tractor beams + are engaged can often crash the game. The crashes occur most frequently + if one of the ships involved are off the screen.</p> + + <p><strong>Tech Trading bug</strong> - You cannot demand or trade + optronics computer technology.</p> + + <p><strong>Stolen Tech bug</strong> - Some stolen technologies do not + apply until you build a new colony or outpost.</p> + + <p><strong>Autobuild bug</strong> - Autobuild can be exploited to + produce an item and trade goods in the same turn. The exploit is very + simular to Credit Cheat.</p> + + <p><strong>Stategic outposts bug</strong> - Outposts are often + destroyed in strategic combat even when the defender wins combat.</p> + + <p><strong>Time Warp Facilitator bug</strong> - Ships equiped with + phasing cloak and time warp facilitator can re-cloak in the same combat + round in which they fire weapons. This make the ships impossible to + destroy.</p> + + <p><strong>Black Hole Generator bug</strong> - Black Hole Generator + does not destroy ships when ship initiative is enabled. The ships + remain immobilized rather than being destroyed on 3rd turn.</p> + + <p><strong>Immobilization bug</strong> - Ships are not immobilized by + tractor beams or blackhole generators until the beginning of the next + combat round. This allows them to move when they should not be able + to.</p> + </blockquote> + + <p>2.2. What bugs does the v1.40 patch fix?</p> + + <blockquote> + <p>At present only leaders, arti, credit cheat, stealth, cloned + op/cship, repeat build, cloak, phase cloak, tractors, blackhole + generators, VESA, and last race.</p> + </blockquote> + + <p>2.3. What bugs do you plan to fix?</p> + + <blockquote> + <p>Hopefully all of them.</p> + </blockquote> + </blockquote> + + <p>3. New command line switches</p> + + <blockquote> + <p>3.1. What command line switches are there already in v1.31?</p> + + <p>The command line switches that I am aware of are:</p> + + <blockquote> + <blockquote> + <p><strong>/skipintro</strong> Skips the intro movie.</p> + + <p><strong>/monsters = num</strong> Sets the preferred number of + monsters. Valid values are 0 to 255. Default is 255 which is random + seed.</p> + + <p><strong>/nolog</strong> Sets a flag in the game that seems to + never be used anyways.</p> + + <p><strong>/net = value</strong> Parsed but seems to do nothing.</p> + + <p><strong>/date</strong> Displays the version date and exits + game.</p> + + <p><strong>/maps = value</strong> Parsed but seems to do nothing.</p> + + <p><strong>/seed = num</strong> Seed for random number generator. + Valid values are signed long integer (-2147483648 to 2147483647). + Default is 0. Seems to only effect first galaxy map generated and + does not effect monster placement.</p> + + <p><strong>/saveset = value</strong> Something to do with autosave + but seems bugged.</p> + + <p><strong>/saveset</strong> Something to do with autosave but seems + bugged.</p> + + <p><strong>/quickstart</strong> Parsed but seems to do nothing.</p> + + <p><strong>/nosaves = value</strong> Parsed but seems to do + nothing.</p> + + <p><strong>/stats = value</strong> Parsed but seems to do + nothing.</p> + </blockquote> + </blockquote> + + <p>3.2. What command line switches have been added in v1.40?</p> + + <blockquote> + <blockquote> + <p><strong>/nowh</strong> No wormholes are generated on new maps</p> + + <p><strong>/nobh</strong> No black holes are generated on new + maps</p> + + <p><strong>/noorion</strong> Orion and Guardian are not generated on + new maps</p> + + <p><strong>/noreport</strong> The report button on the diplomacy + screen will be disabled preventing you from seeing what technology + your opponent has. Also, Technology demands and trades are greyed + out.</p> + + <p><strong>/droids</strong> All players start out with the ability to + build androids (all 3 types).</p> + + <p><strong>/minstart</strong> The unoccupied planet closest to the + sun in all home systems will be at least 2 production per worker and + its gravity will match that of the homeworld.</p> + + <p><strong>/hugestart</strong> The unoccupied planet closest to the + sun in all home systems will be huge and its gravity will match that + of the homeworld.</p> + + <p><strong>/richstart</strong> The unoccupied planet closest to the + sun in all home systems will be rich and its gravity will match that + of the homeworld (this switch is ignored if /goodstart is used).</p> + + <p><strong>/goodstart</strong> The unoccupied planet closest to the + sun in all home systems will be Ultra Rich and its gravity will match + that of the homeworld.</p> + + <p><strong>/nosplint</strong> No splinter worlds unless there is a + monster guarding it.</p> + + <p><strong>/planets = num</strong> Sets the minimum number of planets + in all home systems to num. This value includes the home world. Valid + values are<br> + 2-5 (default is 2). If you try a value outside of the valid range it + will use the default.</p> + + <p><strong>/picks = num</strong> Sets the starting race picks points + to num. Valid values are 10-14 (default is 10). If you try a value + outside of the valid range it will use the default. Note: some + screens in the game only show the first 11 race picks (it is possible + to pick more than 11).</p> + + <p><strong>/nonebula</strong> When used the map is generated without + any nebulas.</p> + + <p><strong>/nohousing</strong> The housing option will no longer be + available from the build list so housing production will not be + possible. Also, this switch adds +150% bonus to population growth. + The bonus will be added into the growth formula exactly the same way + that the bonus from universal antidote is.</p> + + <p><strong>/noscan</strong> This switch will disable the scan button + in combat so that detailed scans of ships will no longer be possible. + Only quick scans will be possible by mousing over the ships.</p> + </blockquote> + + <p>NOTE: the switches /minstart, /hugestart, /richstart, and /goodstart + all effect the same planet. The effect is cumulative. These switches + ONLY EFFECT ONE PLANET. ALL OTHERS ARE COMPLETELY RANDOM.</p> + </blockquote> + + <p>3.3. How do I use the command line switches?</p> + + <blockquote> + <p>You need to edit the properties of desktop shortcut. Just right + click the icon and pick properties. Go to the program tab. On the + command line add the switches you want at the end *(after /skipintro) + with spaces between each and click ok.</p> + + <p>NOTE: If you do not spell things correctly there will be no errors + when you start the game. Your misspelled switch will simply be ignored. + Also, Windows has a limit to the length of the command line. It will + not tell you that you have reached this limit. It will just chop off + some switches that are over the limit. You can reopen the shortcut + properties and look at the command line to verify that the switches are + not chopped off.<br></p> + </blockquote> + + <p>3.4. Who needs to use the command line switches in a multiplayer + game?</p> + + <blockquote> + <p>With the exception of the /picks switch, only the host needs to use + the command line switches. The switches from all other players are + ignored (except /picks).</p> + + <p>The /picks switch in a LAN game must be put on every players command + line (if you do not put it on your command line then you will receive + the default of 10 points). Each player can have a different number of + race pick points. This will allow people to play with a handicap if the + choose to.</p> + </blockquote> + + <p>3.5. What command line switches do you plan to add in the future?</p> + + <blockquote> + <p>Check my blog site. I usually post what I am working on.<br></p> + </blockquote> + + <p>3.6. Why do the save games from v1.40 cause problems with the Map + editor / Leveler?</p> + + <blockquote> + <p>This issue only effected old versions of the patch. Please upgrade + to v1.40b21 or later.</p> + </blockquote> + + <p>3.7. How do the home system switches interact with each other?</p> + + <blockquote> + <p>The home system switches effects add where possible, however they + only impact one planet in the home system. For example:</p> + + <p>/hugestart /goodstart gives a huge ultra rich planet</p> + + <p>/hugestart /minstart only gives a huge planet</p> + + <p>/richstart /goodstart only gives an ultra rich</p> + </blockquote> + + <p>3.8. Why does the galaxy map seem different in v1.40?</p> + + <blockquote> + <p>The /nobh switch converts black holes into stars. As a result, there + will be a slight change in the galaxy quality (a few extra planets) if + this switch is used.<br> + Also, the home systems are improved slightly. This obviously has an + effect on the overall galaxy quality.<br> + The /noorion switch prevents the game from generating Orion and instead + it generates a regular system in its place.<br> + Also, the /nosplint switch converts splinters into gold deposits. There + will be a slight increase in the number of gold deposit worlds if this + switch is used.</p> + </blockquote> + </blockquote> + + <p>4. Playing over the internet</p> + + <blockquote> + <p>4.1. How do I play Master of Orion 2 over the internet?</p> + + <blockquote> + <p>I recommend playing using Kali and Windows 98 as your operating + system. This is the best combination that I have tried so far. There + are also frequently several players on the Kali MOO2 server who enjoy + playing games regularly.</p> + </blockquote> + + <p>4.2. What is kali?</p> + + <blockquote> + <p>Kali is software that lets you play LAN games over the internet. It + supports DOS games well. There are many chat servers and game lobbies + for players to meet and organize games.</p> + </blockquote> + + <p>4.3. Where do I get kali?</p> + + <blockquote> + <p><a href="http://www.kali.net">http://www.kali.net</a></p> + </blockquote> + + <p>4.4. What game server do people play Master of Orion 2 on?</p> + + <blockquote> + <p>Come join us on the kali ->MOO2 chat server (currently #138 in + the server list). There are several regular players on this server to + play with.</p> + </blockquote> + + <p>4.5. Why cant I find the MOO2 server?<br></p> + + <blockquote> + <p>Sometime you do not get the full list of Kali chat servers when you + load kali. What you need to do is refresh the list. It may take several + refreshes to get all 300+ servers on the list.</p> + </blockquote> + </blockquote> + + <p>5. Cheat codes</p> + + <blockquote> + <p>5.1. What cheat codes are there in Master of Orion 2 ?</p> + + <blockquote> + <p>There are many cheat codes in Master of Orion II. The codes vary + from version to version of the game. These are the codes that are + scanned for in v1.31 and v1.40.</p> + + <p>From Galactic Map:</p> + + <p><strong>ALT + EINSTEIN</strong> All research technology<br> + <strong>ALT + MOOLA</strong> Add 1000BCs to your treasury<br> + <strong>ALT + MENLO</strong> Current research completes next turn<br> + <strong>ALT + ISEEALL</strong> Toggle omni race pick on / off<br> + <strong>ALT + SCORE</strong> Show your current score</p> + + <p>From the Colony Screen:</p> + + <p><strong>ALT + CRUNCH</strong> Finish current production item + immediately.<br> + <strong>ALT + TOGGLE</strong> All building will be available on the + Construction Orders screen. Even those not researched.</p> + </blockquote> + + <p>5.2. Why do you plan to disable cheat codes in multiplayer games ?</p> + + <blockquote> + <p>There is no reason to cheat in a multiplayer game. If you want to + cheat, do so in a single player game.<br></p> + </blockquote><br> + <br> + </blockquote> + </blockquote> +</body> +</html> diff --git a/games-strategy/moo2/files/1.40.24/backup.sh b/games-strategy/moo2/files/1.40.24/backup.sh new file mode 100644 index 000000000..386f0f266 --- /dev/null +++ b/games-strategy/moo2/files/1.40.24/backup.sh @@ -0,0 +1,81 @@ +# backup.sh - Library of functions for backing up moo2 saved games +# Copyright (C) 2010 Daniel Santos <daniel.santos@pobox.com> +# $Header: $ +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +#set -o functrace +shopt -s extdebug + +############################################################################# +# Function : backupInit +# Arguments : none +# Description : +############################################################################# +backupInit() { + cd "${moo2UserDir}" || die + + # Check for good config + test -z "${backupBaseDir}" && die "backupBaseDir not set in ${configFile}" + + # Get absolute path + backupDir="${PWD}/${backupBaseDir}" + + # Make sure backupDir is usable or can be created. + getOrCreateUsableDir "${backupDir}" +} + +setFileName() { + backupBaseName="$1" + backupFileName="${backupDir}/${backupBaseName}.tgz" +} + +getFileName() { + setFileName "$1" + typeset -i firstTime=1 + while true; do + # Name can't be empty + if [[ ${#backupBaseName} -eq 0 ]]; then + + # Don't complain because not supplied at command line + if [[ ${firstTime} -eq 0 ]]; then + echo "Name cannot be empty, try again." + fi + + # Make sure it doesn't already exist + elif [[ -e "${backupFileName}" ]]; then + echo "File '${backupFileName}' already exists. Please choose another." + + else + return + fi + + echo "Please enter a name for this saved set." + echo -e "Saved set name: \c " + read + echo + setFileName "${REPLY}" + firstTime=0 + done +} + +# Do backup +doBackup() { + backupInit + getFileName "$1" + pushd "${moo2UserDir}/MPS/ORION2" 1>/dev/null || die "Failed to enter directory MPS/ORION!" + echo "Backing up to '${backupFileName}'..." + tar czf "${backupFileName}" $(ls SR_R[0-9]* HOF.* LASTRACE.RAC MOX.SET SAVE[0-9]*.GAM 2>/dev/null) || die + echo "Done!" + popd 1>/dev/null +} diff --git a/games-strategy/moo2/files/1.40.24/moo2 b/games-strategy/moo2/files/1.40.24/moo2 new file mode 100755 index 000000000..089b48a1d --- /dev/null +++ b/games-strategy/moo2/files/1.40.24/moo2 @@ -0,0 +1,213 @@ +#!/bin/bash + +# moo2 - Master of Orion II lanuch & user setup script +# Copyright (C) 2010 Daniel Santos <daniel.santos@pobox.com> +# $Header: $ +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + + +moo2Dir="__MOO2DIR__" +. "${moo2Dir}/utils.sh" +. "${moo2Dir}/backup.sh" +moo2UserDir="${HOME}/.moo2" +configFile="${moo2UserDir}/moo2rc" +postRunMsg="" +postRunCmd="" + +############################################################################# +# Function : getSeed +# Arguments : none +# Description : Generates a signed 32-bit C-style random number. +############################################################################# +getSeed() { + # $RANDOM is a 15 bit random number so let's use a bunch of them to create + # a nasty 32 bit number + typeset -i i seed + #typeset -i seed + for (( i = 0; i < 18; ++i )); do + (( seed ^= ${RANDOM} << i )) + done + + # Since bash doesn't treat this as a 32-bit C signed int, we have to + # convert it. However, we must first make sure the resulting value will + # be within INT_MIN and INT_MAX from <limit.h> and compatibile with all C + # standards. + (( seed ^ 0x7fffffff )) && ((seed &= 0xfffffffe )) + + # Add sign if bit 31 is set + (( seed & 0x80000000 )) && echo -e "-\c" + echo $(( seed & 0x7fffffff )) +} + +############################################################################# +# Function : userInstall +# Arguments : none +# Description : Performs user-level install. This is only run once (for each +# user) and does the following: +# * Creates ${HOME}/.moo2 directory, both contain your config +# files & serve as the dosbox C drive (jail). +# * Copies default moo2rc from /opt/moo2/ +# * Generates dosboxrc, tweaks sound values and enables full +# screen +# * Creates symlink to /opt/moo2/cd, which will contain a copy +# of the CD if you installed with USE=nocd, or will yet +# another symlink to your CD-ROM drive where you had the +# Orion2 CD when you ran the ebuild). +# * Performs psudo-install into ${HOME}/.moo2/MPS/ORION2 +# * If you specified USE=lordbrazen, it will also run the +# unofficial patch which is pretty slow. +############################################################################# +userInstall() { + local src="${moo2Dir}/MPS/ORION2" + local dest="${moo2UserDir}/MPS/ORION2" + local -i lbpatch=0$(test -e "${moo2Dir}/MPS/ORION2/MOO2V140.EXE" && echo 1) + + getOrCreateUsableDir "${dest}" || die + + cd "${moo2UserDir}" || die + ln -s "${moo2Dir}/cd" . || die + cp "${moo2Dir}/moo2rc" . || die + + # DOS text management is a pain + local userMsg="@echo \ +Since this is your first time running Master of Orion II, we need to do some \ +user-level setup. Master of Orion II uses dosbox. See the Welcome box above for\ +help with that. Your dosbox config file is ${moo2UserDir}/dosboxrc." + + # Write the default dosbox config file + dosbox -conf /dev/null \ + -c "${userMsg}" \ + -c "@pause" \ + -c "config -writeconf dosboxrc" \ + -c "exit" + + sed -i -e 's/fullscreen=.*/fullscreen=true/g' \ + -e 's/oplrate=.*/oplrate=22050/g' \ + "${moo2UserDir}/dosboxrc" || die "sed failed" + + + # Setup the user's game directory + pushd "${src}" || die + + # Some files cannot be read only and must be copied + cp -L SOUND.LBX SR_R* *.INI "${dest}" || die + + # All the rest can be read-only symlinks + for f in *; do + test -e "${dest}/$f" || ln -s "${src}/$f" "${dest}" || die + done + + popd + + # if lordbrazen patch is installed, then we have to run it + if ((lbpatch)); then + # If you don't force dosbox to use 100% cpu, this can take a long time + echo -e "[cpu]\ncycles=max" >> dosboxrc.patch + dosbox -conf dosboxrc.patch \ + -c "@mount c ${moo2UserDir}" \ + -c "@c:" \ + -c "@cd MPS/ORION2" \ + -c "MOO2V140.EXE" \ + -c "exit" || die "dosbox exited with error" + rm dosboxrc.patch + fi +} + +############################################################################# +# Function : verifyEnv +# Arguments : none +# Description : Performs sanity checks: +# * Initates user install if needed +# * Corrects moo2exe if lordbrazen patch not installed +# * Warns if CD is not present +############################################################################# +verifyEnv() { + # If this is the 1st time to run, do user setup + if [ ! -e "${moo2UserDir}/MPS/ORION2/ORION2.EXE" ]; then + userInstall + fi + . "${configFile}" + + # If we have the unofficial patch specified in the config, but not + # installed, use the offical version + if [ ! -e "${moo2UserDir}/MPS/ORION2/M2V140.EXE" ]; then + moo2exe=ORION2.EXE + fi + + # Make sure the CD is still in + if [ ! -e "${moo2UserDir}/cd/ORION95.EXE" ]; then + postRunMsg="\ +You're Moo2 CD does not appear to be mounted. You can either put it in, \ +reinstall with the nocd USE option (while the CD in) or change the symlink \ +${moo2UserDir}/cd." + fi + + if ((${#postRunMsg})); then + postRunCmd="@echo ${postRunMsg}" + echo + warn ${postRunMsg} + echo + fi +} + +############################################################################# +# Function : runGame +# Arguments : none +# Description : (Attempts to) run the game. Function will not return. +############################################################################# +runGame() { + # Run the game + exec dosbox -conf "${moo2UserDir}/dosboxrc" \ + -c "mount c ${moo2UserDir}" \ + -c "c:" \ + -c "cd MPS/ORION2" \ + -c "${moo2exe} ${moo2args} /seed=$(getSeed)" \ + -c "${postRunCmd}" \ + -c "@pause" \ + -c "exit" || warn "dosbox exited with error" +} + +showUsage() { + echo "USAGE: $0 [backup|restore [file_name]]" + exit +} + +############################################################################# +# Function : main +# Arguments : none +# Description : Main function +############################################################################# +main() { + verifyEnv + + # I should probably just make a separate script for this, but screw it. + if [[ "$1" == "backup" ]]; then + shift + (($# <= 1)) || showUsage + doBackup "$@" + elif [[ "$1" == "restore" ]]; then + shift + (($# <= 1)) || showUsage + echo "Restore not yet supported, but your backups are in" \ + "${moo2UserDir}/${backupBaseDir}" + else + (($#)) && showUsage + runGame + fi +} + +main "$@" + +# vim:ts=4
\ No newline at end of file diff --git a/games-strategy/moo2/files/1.40.24/moo2rc b/games-strategy/moo2/files/1.40.24/moo2rc new file mode 100644 index 000000000..ba1f6bc60 --- /dev/null +++ b/games-strategy/moo2/files/1.40.24/moo2rc @@ -0,0 +1,14 @@ +# Base directory to backup saved games to, relative to ${moo2UserDir}. +backupBaseDir="saved-game-backups" + +# Which executable to run. M2V140.EXE is the unofficial, hacked-up executable +# and ORION2.EXE is the official one. +#moo2exe=ORION2.EXE +moo2exe=M2V140.EXE + +# The arguments to pass. Do not add /seed, as this is randomly generated for +# you each time. For a list of command-line options, see +# http://lordbrazen.blogspot.com/2005/01/moo2v140-patch-faq.html. +#moo2args="/picks=10 /hugestart /planets=3 /skipintro /monsters=3" +moo2args="/picks=10" + diff --git a/games-strategy/moo2/files/1.40.24/utils.sh b/games-strategy/moo2/files/1.40.24/utils.sh new file mode 100755 index 000000000..bc0b90747 --- /dev/null +++ b/games-strategy/moo2/files/1.40.24/utils.sh @@ -0,0 +1,97 @@ +# utils.sh - Library of general utility functions +# Copyright (C) 2010 Daniel Santos <daniel.santos@pobox.com> +# $Header: $ +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +#set -o functrace +#shopt -s extdebug + +# Steal pretty colors from /etc/init.d/functions +eval $(egrep '(GOOD|WARN|BAD|NORMAL|HILITE|BRACKET)=' /etc/init.d/functions.sh) + +warn() { + echo "${WARN}WARNING${NORMAL}: $*" >&2 +} + +die() { + echo "${BAD}ERROR${NORMAL}$(test $# -eq 0 || echo ": $*")" >&2 + backtrace + exit 1 +} + +assert() { + echo "${BAD}Internal Script Error${NORMAL}: $*" >&2 + backtrace + exit 1 +} + +############################################################################# +# Function : backtrace +# Arguments : none +# Description : Prints out a cute Bash call stack backtrace. For it to fully +# function, you must set -o functrace and shopt -s extdebug +############################################################################# +backtrace() { + typeset -i i frame=0 arg=0 + while caller $frame > /dev/null; do + echo "${HILITE}[${frame}]${NORMAL} $(caller $frame)" + + ((argsInFrame = BASH_ARGC[frame])) + + for ((i = 0; i < argsInFrame; ++i)); do + ((arg = totalArgs + argsInFrame - i - 1)) + echo " ${HILITE}\$$i${NORMAL}: ${BASH_ARGV[${arg}]}" + done + ((totalArgs += argsInFrame)) + ((++frame)) + done + + if set -o|egrep 'functrace.*off' > /dev/null; then + echo "backtrace will not work without set -o functrace" + fi + + if shopt|egrep 'extdebug.*off' >> /dev/null; then + echo "To see parameters in backtraces, use shopt -s extdebug" + fi +} + +############################################################################# +# Function : getOrCreateUsableDir +# Arguments : directory_name +# Description : Verifies that directory_name is fully usable (rwx) or creates +# it. +############################################################################# +getOrCreateUsableDir() { + (($#)) || assert "getOrCreateUsableDir takes one or more arguments" + + while (($#)); do + + # Make sure no non-directories are in the way + test -e "$1" -a ! -d "$1" && + die "A non-directory file named $1 is in the way" + + # Create if missing + test -d "$1" || mkdir -p "$1" || die + + # Verify fully usable + test -r "$1" || die "No read permissions to $1" + test -w "$1" || die "No write premissions to $1" + test -x "$1" || die "No execute (browse) premissions to $1" + shift + + done +} + +# vim:ts=4
\ No newline at end of file diff --git a/games-strategy/moo2/files/DIG.INI b/games-strategy/moo2/files/DIG.INI new file mode 100644 index 000000000..11807d138 --- /dev/null +++ b/games-strategy/moo2/files/DIG.INI @@ -0,0 +1,10 @@ +;
+;Miles Design Audio Interface Library V3.02 of 18-Jan-95
+;
+
+DEVICE Creative Labs Sound Blaster 16 or AWE32
+DRIVER SB16.DIG
+IO_ADDR 220h
+IRQ -1
+DMA_8_BIT -1
+DMA_16_BIT -1
diff --git a/games-strategy/moo2/files/MDI.INI b/games-strategy/moo2/files/MDI.INI new file mode 100644 index 000000000..1fda6d39c --- /dev/null +++ b/games-strategy/moo2/files/MDI.INI @@ -0,0 +1,10 @@ +;
+;Miles Design Audio Interface Library V3.02 of 18-Jan-95
+;
+
+DEVICE Creative Labs Sound Blaster(TM) 16
+DRIVER SBPRO2.MDI
+IO_ADDR 220h
+IRQ -1
+DMA_8_BIT -1
+DMA_16_BIT -1
diff --git a/games-strategy/moo2/files/ORIONCD.INI b/games-strategy/moo2/files/ORIONCD.INI Binary files differnew file mode 100644 index 000000000..c581a6d5e --- /dev/null +++ b/games-strategy/moo2/files/ORIONCD.INI diff --git a/games-strategy/moo2/files/installList.txt b/games-strategy/moo2/files/installList.txt new file mode 100644 index 000000000..aa827eca9 --- /dev/null +++ b/games-strategy/moo2/files/installList.txt @@ -0,0 +1,79 @@ +ADLIBG.MDI +ADLIB.MDI +ADRV688.DIG +AILDRVR.LST +BLDG0.LBX +BLDG1.LBX +BLDG2.LBX +BLDG3.LBX +BLDG4.LBX +BLDG5.LBX +BUFFER0.LBX +CMBTSFX.LBX +CMBTSHP.LBX +COLBLDG.LBX +COLGCBT.LBX +COLONY.LBX +COLROADS.LBX +COLSUM.LBX +COLVEGGI.LBX +COMBAT.LBX +CONFIRM.LBX +DESIGN.LBX +ENGMSG.LBX +FIREPTS.LBX +FLEET.LBX +FLTICONS.LBX +FONTS.LBX +INBOX.LBX +JAMMER.DIG +LOADSAVE.LBX +MAINMENU.LBX +MAINPUPS.LBX +MONSTER.LBX +MPU401.MDI +MT32MPU.MDI +NDATA.LBX +NEWGAME.LBX +NEXTPLYR.LBX +NULL.MDI +OCPOL.LBX +OFFICER.LBX +OPL3.MDI +PAS.MDI +PASPLUS.MDI +PCSPKR.MDI +PLANETS.LBX +PROAUDIO.DIG +RACENAME.LBX +RAP10.DIG +RKERNEL.COM +SAMPLE.AD +SAMPLE.BNK +SAMPLE.CAT +SAMPLE.MT +SAMPLE.OPL +SB16.DIG +SBAWE32.MDI +SBLASTER.DIG +SBLASTER.MDI +SBPRO1.MDI +SBPRO2.MDI +SBPRO.DIG +SETSOUND.EXE +SHIPS.LBX +SNDSCAPE.DIG +SNDSCAPE.MDI +SOUND.LBX +SPHERSFX.LBX +SR_RC_SC.LBX +SR_RC_SP.LBX +SR_RC_TR.LBX +STREAMHD.LBX +SYSDISP.LBX +TANDY.MDI +TEXTBOX.LBX +TURNSUM.LBX +ULTRA.DIG +ULTRA.MDI +WARNING.LBX diff --git a/games-strategy/moo2/metadata.xml b/games-strategy/moo2/metadata.xml new file mode 100644 index 000000000..6a1edac53 --- /dev/null +++ b/games-strategy/moo2/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>no-herd</herd> +<maintainer><email>maintainer-wanted@gentoo.org</email></maintainer> + <use> + <flag name="nocd">Install all files required to run the application without a CD mounted</flag> + <flag name="lordbrazen">Installs unofficial patch from lordbrazen.blogspot.com</flag> + </use> +</pkgmetadata> diff --git a/games-strategy/moo2/moo2-1.40.24.ebuild b/games-strategy/moo2/moo2-1.40.24.ebuild new file mode 100644 index 000000000..0265a6c19 --- /dev/null +++ b/games-strategy/moo2/moo2-1.40.24.ebuild @@ -0,0 +1,202 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=1 + +inherit eutils games + +OFFICIAL_PATCH="moo2v131.zip" +LB_PATCH="Moo2v140b24.zip" + +DESCRIPTION="A classic 4X turn-based space strategy game" +HOMEPAGE="http://lordbrazen.blogspot.com" +SRC_URI="ftp://ftp.infogrames.net/patches/moo2/${OFFICIAL_PATCH} + lordbrazen? ( http://www.spheriumnorth.com/blog-images/${LB_PATCH} )" + +LICENSE="GPL-2 Hasboro-EULA" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="nocd lordbrazen" + +DEPEND="|| ( media-gfx/graphicsmagick media-gfx/imagemagick )" +RDEPEND="games-emulation/dosbox" + +destDir="${GAMES_PREFIX_OPT}/${PN}" +fullGameName="Master of Orion II: Battle at Antares" +unsupportedMsg=" +Unfortunately, several differing versions of the Master of Orion II: Battle at +Antares CD-ROM have been released and this ebuild does not have specific +support yours and may fail. Please help out! Visit +http://bugs.gentoo.org/show_bug.cgi?id=341859 and post the result of this +ebuild along with a full directory listing of your CD-ROM, the contents of the +the README.TXT file and any other info you think might be helpful. +" + +pkg_setup() { + games_pkg_setup + cdrom_get_cds ORION95.EXE + + # Workaround to bug #342269 + test -e "${CDROM_ROOT}/ORION95.EXE" || + die "CD_ROOT does not point to the ${fullGameName} CD" + + # Try to determine Which version of the CD-ROM we have. These tests are + # far from perfect, but will work on the two currently known versions. + if [[ -e "${CDROM_ROOT}/Patch13.lbx" ]]; then + # Hasboro v1.31 minus DOS support + cdVersion=H1.31 + elif [[ -e "${CDROM_ROOT}/INSTALL.EXE" ]]; then + # Original MicroProse v1.2 + cdVersion=M1.2 + else + # There may be others out there + cdVersion=unknown + ewarn "${unsupportedMsg}" + fi +} + +src_unpack() { + local srcIcon + + sed "s:__MOO2DIR__:${destDir}:g" "${FILESDIR}/${PVR}/moo2" > moo2 || + die "sed failed" + + mkdir -p patches docs || die + pushd patches || die + + # First, unpack the MicroProse official 1.31 patch + unpack ${OFFICIAL_PATCH} || die + + # Add unofficial patch if use flag set, although it has to be run in dosbox, + # so it will actually run the first time the user lanuches the game. + if use lordbrazen; then + unpack ${LB_PATCH} || die + fi + popd + + # Move docs out of install dir + # Readme.txt from 1.31 patch + mv patches/Readme.txt docs/MicroProse-1.31-Readme.txt || die "mv failed" + + # Docs in unofficial patch + if use lordbrazen; then + mv patches/{MOO2v140_readme.txt,ChangeLog.txt} docs || die "mv failed" + fi + + # Find an icon and convert it to png + pushd "${CDROM_ROOT}" + + # Original MicroProse icon + if [ -e ORION2.ICO ]; then + srcIcon=ORION2.ICO + + # The only icon file on the Hasboro CD + elif [ -e SIMTEX.ICO ]; then + srcIcon=SIMTEX.ICO + + # Can we find any icon? + else + srcIcon="$(ls -1 *.ICO *.ico 2>/dev/null | awk '{print $1}')" + test -s "$srcIcon" || die "Can't find an icon on your CD-ROM to use." + fi + + convert "${srcIcon}" "${WORKDIR}/${PN}.png" || die "convert failed" +} + +src_install() { + local cdDir + + # Main launch script + dogamesbin "${WORKDIR}/moo2" || die + + # Supporting Bash function libs & default config file + insinto "${destDir}" + doins "${FILESDIR}/${PVR}/"{moo2rc,utils.sh,backup.sh} || die + + # Copy CD or create symlink. Having either a "cdfiles" directory or a + # "cdlink" symlink in addition to a "cd" symlink that points to one of them + # is really kinda stupid, but it's a work-around for problems that occur + # when remerging and changing the nocd option without unmerging first. If + # you remove this mechanism, retest! (portage may fix it one day) + if use nocd; then + cdDir=cdfiles + + # Copy the CD to disk + insinto "${destDir}/cdfiles" + pushd "${CDROM_ROOT}" || die + ebegin "Copying CD-ROM files to disk" + # ebuild complains about directx drivers, so omit them + doins -r $(ls -1 | egrep -v 'DIRECTX') || die + eend + popd + else + cdDir=cdlink + + # Create symlink to the CD. If the user has more than one CD-ROM drive + # or mount point, this can break later, but they can just re-install or + # fix it themselves. + dosym "${CDROM_ROOT}" "${destDir}/cdlink" || die + fi + + # Create universal symlink for CD + dosym "${destDir}/${cdDir}" "${destDir}/cd" || die + + # Simulate DOS INSTALL.EXE. + insinto "${destDir}/MPS/ORION2" + + # If USE=nocd, we use symlinks instead of copying files to save space. Hard + # links would work better, but dohard doesn't appear to work if the target + # does not already exist outside of the sandbox. (bug in dohard or intended + # functionality?) + if use nocd; then + for f in $(cat "${FILESDIR}/installList.txt"); do + dosym "${destDir}/cd/${f}" "${destDir}/MPS/ORION2/$f" || die + done + else + pushd "${CDROM_ROOT}" || die + # This step can be slow + ebegin "Simulating DOS INSTALL.EXE program" + doins $(cat "${FILESDIR}/installList.txt") || die + eend + popd + fi + + # Install patches. + doins patches/* || die + + # Install pre-configured .INI files (hardware is simulated, so it's all the + # same) + doins "${FILESDIR}/"*.INI || die + + # Icons & menu entries + doicon "${WORKDIR}/${PN}.png" || die + make_desktop_entry "${PN}" "${fullGameName}" || die + + # Documentation + dodoc "${WORKDIR}/docs/"* || die + + # FAQ covering both official and unofficial patched versions. + dodoc "${FILESDIR}/${PVR}/FAQ.html" || die + + # README.TXT on all CD-ROMs + dodoc "${CDROM_ROOT}/README.TXT" || die + + # Manual on Hasboro CD-ROM + if [[ $cdVersion == H1.31 ]]; then + dodoc "${CDROM_ROOT}/Manual/MOO2manual.pdf" || die + fi + + prepgamesdirs +} + +pkg_postinst() { + elog "\ +A user-level install will be performed the 1st time you run the game. To +change your startup options, edit your ~/.moo2/moo2rc file. See +file:///usr/share/doc/${PF}/FAQ.html for command-line options. +To change your dosbox environment, see the dosbox man page and edit +~/.moo2/dosboxrc. +" + games_pkg_postinst +}
\ No newline at end of file |