From: <av...@us...> - 2011-04-24 19:47:29
|
Revision: 3586 http://sc2.svn.sourceforge.net/sc2/?rev=3586&view=rev Author: avolkov Date: 2011-04-24 19:47:22 +0000 (Sun, 24 Apr 2011) Log Message: ----------- Cannot communicate with Ilwrath via caster when they are dead (bug #850); some pOrbitalDesc usage cleanup Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/src/uqm/planets/devices.c Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-04-24 14:01:34 UTC (rev 3585) +++ trunk/sc2/ChangeLog 2011-04-24 19:47:22 UTC (rev 3586) @@ -1,4 +1,5 @@ Changes towards version 0.7: +- Fixed 'caster comm with Ilwrath after they die off (bug #850) - Alex - Fixed Syreen Vault lander report infinite loop (bug #1118) - Alex - Same captain names are used on both net sides (bug #989) - Alex - Fixed sync loss in netplay games having duplicate ships (bug #1081) - Alex Modified: trunk/sc2/src/uqm/planets/devices.c =================================================================== --- trunk/sc2/src/uqm/planets/devices.c 2011-04-24 14:01:34 UTC (rev 3585) +++ trunk/sc2/src/uqm/planets/devices.c 2011-04-24 19:47:22 UTC (rev 3586) @@ -231,8 +231,9 @@ || !playerInSolarSystem ()) return FALSE; - if (pSolarSysState->pOrbitalDesc == &pSolarSysState->PlanetDesc[1] - && playerInPlanetOrbit () + if (playerInPlanetOrbit () + && matchWorld (pSolarSysState, pSolarSysState->pOrbitalDesc, + 1, MATCH_PLANET) && CurStarDescPtr->Index == CHMMR_DEFINED && !GET_GAME_STATE (CHMMR_UNLEASHED)) { @@ -254,8 +255,9 @@ BOOLEAN FoundIlwrath; HIPGROUP hGroup; - FoundIlwrath = (BOOLEAN)(CurStarDescPtr->Index == ILWRATH_DEFINED); - // In the Ilwrath home system? + FoundIlwrath = (CurStarDescPtr->Index == ILWRATH_DEFINED) + && ActivateStarShip (ILWRATH_SHIP, SPHERE_TRACKING); + // In the Ilwrath home system and they are alive? if (!FoundIlwrath && (hGroup = GetHeadLink (&GLOBAL (ip_group_q)))) @@ -328,8 +330,9 @@ SleepThreadUntil (FadeScreen (FadeAllToWhite, ONE_SECOND * 1) + (ONE_SECOND * 2)); if (CurStarDescPtr->Index != CHMMR_DEFINED - || pSolarSysState->pOrbitalDesc != - &pSolarSysState->PlanetDesc[1]) + || !matchWorld (pSolarSysState, + pSolarSysState->pOrbitalDesc, + 1, MATCH_PLANET)) { FadeScreen (FadeAllToColor, ONE_SECOND * 2); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-04-26 04:26:11
|
Revision: 3590 http://sc2.svn.sourceforge.net/sc2/?rev=3590&view=rev Author: avolkov Date: 2011-04-26 04:26:05 +0000 (Tue, 26 Apr 2011) Log Message: ----------- Obsolete resource package include removed Modified Paths: -------------- trunk/sc2/build/msvc6/UrQuanMasters.dsp Removed Paths: ------------- trunk/sc2/src/uqm/respkg.h Modified: trunk/sc2/build/msvc6/UrQuanMasters.dsp =================================================================== --- trunk/sc2/build/msvc6/UrQuanMasters.dsp 2011-04-26 04:21:29 UTC (rev 3589) +++ trunk/sc2/build/msvc6/UrQuanMasters.dsp 2011-04-26 04:26:05 UTC (rev 3590) @@ -3374,10 +3374,6 @@ # End Source File # Begin Source File -SOURCE=..\..\src\uqm\respkg.h -# End Source File -# Begin Source File - SOURCE=..\..\src\uqm\restart.c # End Source File # Begin Source File Deleted: trunk/sc2/src/uqm/respkg.h =================================================================== --- trunk/sc2/src/uqm/respkg.h 2011-04-26 04:21:29 UTC (rev 3589) +++ trunk/sc2/src/uqm/respkg.h 2011-04-26 04:26:05 UTC (rev 3590) @@ -1,312 +0,0 @@ -//Copyright Paul Reiche, Fred Ford. 1992-2002 - -/* - * 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 2 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, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -enum -{ - INIT_PACKAGE = 1, - TITLE_PACKAGE, - ARILOU_SHIP_PACKAGE, - CHMMR_SHIP_PACKAGE, - EARTHLING_SHIP_PACKAGE, - ORZ_SHIP_PACKAGE, - PKUNK_SHIP_PACKAGE, - SHOFIXTI_SHIP_PACKAGE, - SPATHI_SHIP_PACKAGE, - SUPOX_SHIP_PACKAGE, - THRADD_SHIP_PACKAGE, - UTWIG_SHIP_PACKAGE, - VUX_SHIP_PACKAGE, - YEHAT_SHIP_PACKAGE, - MELNORME_SHIP_PACKAGE, - DRUUGE_SHIP_PACKAGE, - ILWRATH_SHIP_PACKAGE, - MYCON_SHIP_PACKAGE, - SLYLANDRO_SHIP_PACKAGE, - UMGAH_SHIP_PACKAGE, - URQUAN_SHIP_PACKAGE, - ZOQFOTPIK_SHIP_PACKAGE, - SYREEN_SHIP_PACKAGE, - BLACKURQ_SHIP_PACKAGE, - ANDROSYN_SHIP_PACKAGE, - CHENJESU_SHIP_PACKAGE, - MMRNMHRM_SHIP_PACKAGE, - KERNEL_PACKAGE, - SC2KERNEL_PACKAGE, - MICROFONT_PACKAGE, - SC2DATA_PACKAGE, - MENU_SOUND_PACKAGE, - SOUND_PACKAGE, - SPACE_PACKAGE, - AMBIENT_HYPER_PACKAGE, - HYPER_PACKAGE, - ARISPACE_PACKAGE, - HYPERSPACE_MUSIC_PACKAGE, - QUASISPACE_MUSIC_PACKAGE, - INIT_PACKAGE, - IP_PACKAGE, - LANDER_PACKAGE, - ORBIT_VIEW_PACKAGE, - EARTH_PACKAGE, - CANNISTER_PACKAGE, - LIFE00_PACKAGE, - LIFE01_PACKAGE, - LIFE02_PACKAGE, - LIFE03_PACKAGE, - LIFE04_PACKAGE, - LIFE05_PACKAGE, - LIFE06_PACKAGE, - LIFE07_PACKAGE, - LIFE08_PACKAGE, - LIFE09_PACKAGE, - LIFE10_PACKAGE, - LIFE11_PACKAGE, - LIFE12_PACKAGE, - LIFE13_PACKAGE, - LIFE14_PACKAGE, - LIFE15_PACKAGE, - LIFE16_PACKAGE, - LIFE17_PACKAGE, - LIFE18_PACKAGE, - LIFE19_PACKAGE, - LIFE20_PACKAGE, - LIFE21_PACKAGE, - LIFE22_PACKAGE, - LIFE23_PACKAGE, - LIFE24_PACKAGE, - LIFE25_PACKAGE, - OOLITE_PACKAGE, - YTTRIC_COLOR_PACKAGE, - YTTRIC_XLAT_PACKAGE, - QD_COLOR_PACKAGE, - QD_XLAT_PACKAGE, - LANTHANIDE_COLOR_PACKAGE, - TREASURE_COLOR_PACKAGE, - UREA_COLOR_PACKAGE, - UREA_XLAT_PACKAGE, - METAL_PACKAGE, - RADIOACTIVE_COLOR_PACKAGE, - OPALESCENT_COLOR_PACKAGE, - OPALESCENT_XLAT_PACKAGE, - CYANIC_COLOR_PACKAGE, - ACID_COLOR_PACKAGE, - ALKALI_COLOR_PACKAGE, - HALIDE_COLOR_PACKAGE, - GREEN_COLOR_PACKAGE, - COPPER_COLOR_PACKAGE, - CARBIDE_COLOR_PACKAGE, - ULTRAMARINE_COLOR_PACKAGE, - NOBLE_COLOR_PACKAGE, - AZURE_COLOR_PACKAGE, - CHONDRITE_PACKAGE, - PURPLE_COLOR_PACKAGE, - SUPER_DENSE_COLOR_PACKAGE, - PELLUCID_COLOR_PACKAGE, - DUST_COLOR_PACKAGE, - MAROON_COLOR_PACKAGE, - CIMMERIAN_COLOR_PACKAGE, - INFRARED_COLOR_PACKAGE, - SELENIC_COLOR_PACKAGE, - AURIC_COLOR_PACKAGE, - FLUORESCENT_COLOR_PACKAGE, - ULTRAVIOLET_COLOR_PACKAGE, - PLUTONIC_COLOR_PACKAGE, - RAINBOW_COLOR_PACKAGE, - SHATTERED_PACKAGE, - SAPPHIRE_COLOR_PACKAGE, - SAPPHIRE_XLAT_PACKAGE, - ORGANIC_COLOR_PACKAGE, - XENOLITHIC_COLOR_PACKAGE, - REDUX_PACKAGE, - PRIMORDIAL_COLOR_PACKAGE, - EMERALD_COLOR_PACKAGE, - CHLORINE_COLOR_PACKAGE, - CHLORINE_XLAT_PACKAGE, - MAGNETIC_COLOR_PACKAGE, - WATER_COLOR_PACKAGE, - TELLURIC_COLOR_PACKAGE, - HYDROCARBON_COLOR_PACKAGE, - IODINE_COLOR_PACKAGE, - VINYLOGOUS_COLOR_PACKAGE, - RUBY_COLOR_PACKAGE, - MAGMA_COLOR_PACKAGE, - CRIMSON_COLOR_PACKAGE, - GAS_XLAT_PACKAGE, - BLU_GAS_CT_PACKAGE, - CYA_GAS_CT_PACKAGE, - GRN_GAS_CT_PACKAGE, - GRY_GAS_CT_PACKAGE, - ORA_GAS_CT_PACKAGE, - PUR_GAS_CT_PACKAGE, - RED_GAS_CT_PACKAGE, - VIO_GAS_CT_PACKAGE, - YEL_GAS_CT_PACKAGE, - REPORT_PACKAGE, - MOONBASE_PACKAGE, - MAIDENS_PACKAGE, - CHMMR_BASE_PACKAGE, - AQUA_PACKAGE, - BURV_BCS_PACKAGE, - TAALO_DEVICE_PACKAGE, - SUN_DEVICE_PACKAGE, - VAULT_PACKAGE, - WRECK_PACKAGE, - BOMB_PACKAGE, - BEAST_PACKAGE, - EGG_CASE_PACKAGE, - SPAPLUTO_PACKAGE, - BURV_RUINS_PACKAGE, - ANDROSYNTH_RUINS_PACKAGE, - DRUUGE_RUINS_PACKAGE, - PKUNK_RUINS_PACKAGE, - RACE_RUINS_PACKAGE, - RACE_RUINS_TEXT_PACKAGE, - UMGAH_BCS_PACKAGE, - IP_MUSIC_PACKAGE, - ORBIT_MUSIC_PACKAGE, - MELEE_BGROUND_PACKAGE, - MELEE_PICK_PACKAGE, - SC2_SEGUE_PACKAGE, - SC2_PICK_PACKAGE, - ARILOU_CONVERSATION_PACKAGE, - CHMMR_CONVERSATION_PACKAGE, - COMMANDER_CONVERSATION_PACKAGE, - ORZ_CONVERSATION_PACKAGE, - PKUNK_CONVERSATION_PACKAGE, - SHOFIXTI_CONVERSATION_PACKAGE, - SPATHI_CONVERSATION_PACKAGE, - SUPOX_CONVERSATION_PACKAGE, - THRADD_CONVERSATION_PACKAGE, - UTWIG_CONVERSATION_PACKAGE, - VUX_CONVERSATION_PACKAGE, - YEHAT_CONVERSATION_PACKAGE, - MELNORME_CONVERSATION_PACKAGE, - DRUUGE_CONVERSATION_PACKAGE, - ILWRATH_CONVERSATION_PACKAGE, - MYCON_CONVERSATION_PACKAGE, - SLYLANDRO_CONVERSATION_PACKAGE, - UMGAH_CONVERSATION_PACKAGE, - URQUAN_CONVERSATION_PACKAGE, - ZOQFOTPIK_CONVERSATION_PACKAGE, - SYREEN_CONVERSATION_PACKAGE, - BLACKURQ_CONVERSATION_PACKAGE, - TALKING_PET_CONVERSATION_PACKAGE, - SLYLANDRO_HOME_CONVERSATION_PACKAGE, - PLAYER_CONVERSATION_PACKAGE, - SIS_PACKAGE, - SAMATRA_PACKAGE, - URQUAN_PROBE_PACKAGE, - RESTART_PACKAGE, - MODULE_PACKAGE, - OUTFIT_PACKAGE, - OUTFIT_MUSIC_PACKAGE, - BLUEPRINT_PACKAGE, - SHIPYARD_MUSIC_PACKAGE, - STARBASE_PACKAGE, - SAMATRA_BATTLE_PACKAGE, - SHIELDED_BATTLE_PACKAGE, - PLANET00_PACKAGE, - PLANET01_PACKAGE, - PLANET02_PACKAGE, - PLANET03_PACKAGE, - PLANET04_PACKAGE, - PLANET05_PACKAGE, - PLANET06_PACKAGE, - PLANET07_PACKAGE, - PLANET08_PACKAGE, - PLANET09_PACKAGE, - PLANET10_PACKAGE, - PLANET11_PACKAGE, - PLANET12_PACKAGE, - PLANET13_PACKAGE, - PLANET14_PACKAGE, - PLANET15_PACKAGE, - PLANET16_PACKAGE, - PLANET17_PACKAGE, - PLANET18_PACKAGE, - PLANET19_PACKAGE, - PLANET20_PACKAGE, - PLANET21_PACKAGE, - PLANET22_PACKAGE, - PLANET23_PACKAGE, - PLANET24_PACKAGE, - PLANET25_PACKAGE, - PLANET26_PACKAGE, - PLANET27_PACKAGE, - PLANET28_PACKAGE, - PLANET29_PACKAGE, - PLANET30_PACKAGE, - PLANET31_PACKAGE, - PLANET32_PACKAGE, - PLANET33_PACKAGE, - PLANET34_PACKAGE, - PLANET35_PACKAGE, - PLANET36_PACKAGE, - PLANET37_PACKAGE, - PLANET38_PACKAGE, - PLANET39_PACKAGE, - PLANET40_PACKAGE, - PLANET41_PACKAGE, - PLANET42_PACKAGE, - PLANET43_PACKAGE, - PLANET44_PACKAGE, - PLANET45_PACKAGE, - PLANET46_PACKAGE, - PLANET47_PACKAGE, - PLANET48_PACKAGE, - PLANET49_PACKAGE, - PLANET50_PACKAGE, - PLANET51_PACKAGE, - PLANET52_PACKAGE, - PLANET53_PACKAGE, - PLANET54_PACKAGE, - PLANET55_PACKAGE, - PLANET56_PACKAGE, - PLANET57_PACKAGE, - PLANET58_PACKAGE, - BATTLE_MUSIC_PACKAGE, - CREDITBKGD_PACKAGE, - UNUSED_01_PACKAGE_, - UNUSED_02_PACKAGE_, - UNUSED_03_PACKAGE_, - UNUSED_04_PACKAGE_, - UNUSED_05_PACKAGE_, - UNUSED_06_PACKAGE_, - UNUSED_07_PACKAGE_, - UNUSED_08_PACKAGE_, - UNUSED_09_PACKAGE_, - UNUSED_10_PACKAGE_, - UNUSED_11_PACKAGE_, - UNUSED_12_PACKAGE_, - UNUSED_13_PACKAGE_, - UNUSED_14_PACKAGE_, - UNUSED_15_PACKAGE_, - UNUSED_16_PACKAGE_, - UNUSED_17_PACKAGE_, - UNUSED_18_PACKAGE_, - UNUSED_19_PACKAGE_, - CREDIT_MUSIC_PACKAGE, - SISSKEL_PACKAGE, - ORBENTER_PACKAGE, - MENUBKG_PACKAGE, - INTRO_PACKAGE, - FINAL_PACKAGE, - CREDIT_FONTS_PACKAGE, - CREDITS_PACKAGE, - JOYSTICK_ALPHA_PACKAGE, -}; - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-05-07 00:29:45
|
Revision: 3597 http://sc2.svn.sourceforge.net/sc2/?rev=3597&view=rev Author: avolkov Date: 2011-05-07 00:29:39 +0000 (Sat, 07 May 2011) Log Message: ----------- Added Supox ruins/Ultron reports text from TFB; bug #1120 Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/content/base/lander/energy/ultron.txt Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-05-04 20:19:27 UTC (rev 3596) +++ trunk/sc2/ChangeLog 2011-05-07 00:29:39 UTC (rev 3597) @@ -1,4 +1,6 @@ Changes towards version 0.7: +- Added lander reports for Supox ruins and Ultron. The reports text + is new content from TFB. (bug #1120) - Alex - Fixed 'caster comm with Ilwrath after they die off (bug #850) - Alex - Fixed Syreen Vault lander report infinite loop (bug #1118) - Alex - Same captain names are used on both net sides (bug #989) - Alex Modified: trunk/sc2/content/base/lander/energy/ultron.txt =================================================================== --- trunk/sc2/content/base/lander/energy/ultron.txt 2011-05-04 20:19:27 UTC (rev 3596) +++ trunk/sc2/content/base/lander/energy/ultron.txt 2011-05-07 00:29:39 UTC (rev 3597) @@ -1,16 +1,24 @@ #(ULTRON 1) ---- REPORT FROM SURFACE ---- -THE ORBITAL BOMBARDMENT WAS RATHER COMPLETE HERE, CAPTAIN. NOT MUCH HAS SURVIVED OF THE SUPOX CIVILIZATION. +IT'S PRETTY GRIM DOWN HERE, CAPTAIN -- THERE IS NOTHING LEFT OF THE SUPOX CIVILIZATION BUT SMOKING PILES OF STEMS AND SEEDS. -LUCKILY, WHILE DIGGING IN A RANDOM PILE OF FERTILIZER, ENSIGN MARTIN FOUND A CRATE CONTAINING A STRANGE DEVICE. THE SHIPPING MANIFEST STATES THIS 'ULTRON' WAS RECEIVED FROM A NEARBY RACE IN THE AQUARII CLUSTER. THE DEVICE APPEARS TO BE BROKEN AND MISSING SOME PARTS, BUT MAYBE THE TECHS BACK AT THE BASE CAN TAKE A WHACK AT IT. +HOWEVER, BURIED DEEP BENEATH A SOLID GRANITE MASSIF, WE FOUND AN INTACT VAULT OF PURE IMPREGNIUM. THE SUPOX WANTED TO PROTECT SOMETHING, CAPTAIN, THAT'S FOR SURE. -WE ARE RETURNING TO THE SHIP WITH THE DEVICE. +INSIDE THE VAULT WE FOUND TWO THINGS: A STRANGE GOLDEN DEVICE -- APPARENTLY BROKEN -- AND A NOTE WHICH READS... + WE THE SUPOX SEE THAT OUR ETERNAL + WINTER IS AT HAND, BUT WE'VE MADE + A PROMISE TO OUR UTWIG FRIENDS TO + PROTECT THEIR BELOVED ULTRON... + AND WE SHALL KEEP THAT PROMISE. + +RETURNING TO THE SHIP WITH THE DEVICE. + ---- END OF REPORT ---- #(ULTRON 2) ---- REPORT FROM SURFACE ---- -CAPTAIN, WE HAVE DUG THROUGH THE MANURE-ENCRUSTED SUPOX RUINS ONCE AGAIN, BROKEN THREE SHOVELS, AND FOUND NOTHING MORE OF VALUE. +WE THOUGHT WE FOUND A SIGNAL, CAPTAIN, BUT IT WAS NOTHING -- JUST THE WIND KNOCKING SOME WINDOW SHADES AGAINST A TRANSCEIVER. ---- END OF REPORT ---- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-05-07 17:40:52
|
Revision: 3598 http://sc2.svn.sourceforge.net/sc2/?rev=3598&view=rev Author: avolkov Date: 2011-05-07 17:40:45 +0000 (Sat, 07 May 2011) Log Message: ----------- Added an alternate Umgah Caster lander report for when Spathi do not slave-shield selves; bug #1122 Modified Paths: -------------- trunk/sc2/content/base/lander/energy/umgahcaster.txt trunk/sc2/src/uqm/planets/generate/genspa.c Modified: trunk/sc2/content/base/lander/energy/umgahcaster.txt =================================================================== --- trunk/sc2/content/base/lander/energy/umgahcaster.txt 2011-05-07 00:29:39 UTC (rev 3597) +++ trunk/sc2/content/base/lander/energy/umgahcaster.txt 2011-05-07 17:40:45 UTC (rev 3598) @@ -45,3 +45,18 @@ MAYBE YOU'D LIKE TO HAVE IT. ---- END OF TRANSMISSION ---- +#(UMGTRANS 2) + ---- REPORT FROM SURFACE ---- + +CAPTAIN. THIS IS LIEUTENANT ROBINSON, SIR. WE HAVE LOCATED AN ALIEN ARTIFACT DOWN HERE. WE WERE INVESTIGATING THIS LARGE BLUE MACHINE WHEN OFFICER TALBOT DISCOVERED A NOTE GLUED TO THE SIDE OF THE DEVICE. I'LL READ IT TO YOU... + + THIS MACHINE IS THE SUPER- + POWERFUL HYPERWAVE CASTER THAT + THE UMGAH USED TO TRICK US INTO + BELIEVING THAT THE `GRAND MASTER + PLANET EATERS' WERE COMING TO + DESTROY SPATHIWA. WE THOUGHT + MAYBE SOMEONE WOULD LIKE TO HAVE + IT. + + ---- END OF TRANSMISSION ---- Modified: trunk/sc2/src/uqm/planets/generate/genspa.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genspa.c 2011-05-07 00:29:39 UTC (rev 3597) +++ trunk/sc2/src/uqm/planets/generate/genspa.c 2011-05-07 17:40:45 UTC (rev 3598) @@ -166,6 +166,14 @@ CaptureDrawable (LoadGraphic (UMGAH_BCS_MASK_PMAP_ANIM)); solarSys->SysInfo.PlanetInfo.DiscoveryString = CaptureStringTable (LoadStringTable (UMGAH_BCS_STRTAB)); + if (!GET_GAME_STATE (SPATHI_SHIELDED_SELVES)) + { // The first report talks extensively about Spathi + // slave-shielding selves. If they never did so, the report + // makes no sense, so use an alternate. + solarSys->SysInfo.PlanetInfo.DiscoveryString = + SetAbsStringTableIndex ( + solarSys->SysInfo.PlanetInfo.DiscoveryString, 1); + } } LoadPlanet (NULL); return true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-05-07 18:07:08
|
Revision: 3599 http://sc2.svn.sourceforge.net/sc2/?rev=3599&view=rev Author: avolkov Date: 2011-05-07 18:07:00 +0000 (Sat, 07 May 2011) Log Message: ----------- The lander does not lift off upon discovery of Syreen Vault, so RETURNING TO THE FLAGSHIP makes no sense. Changed to LANDER Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/content/base/lander/energy/syreenvault.txt Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-05-07 17:40:45 UTC (rev 3598) +++ trunk/sc2/ChangeLog 2011-05-07 18:07:00 UTC (rev 3599) @@ -1,4 +1,5 @@ Changes towards version 0.7: +- Fixed lander report at the Syreen Vault inconsistency (bug #1121) - Alex - Added lander reports for Supox ruins and Ultron. The reports text is new content from TFB. (bug #1120) - Alex - Fixed 'caster comm with Ilwrath after they die off (bug #850) - Alex Modified: trunk/sc2/content/base/lander/energy/syreenvault.txt =================================================================== --- trunk/sc2/content/base/lander/energy/syreenvault.txt 2011-05-07 17:40:45 UTC (rev 3598) +++ trunk/sc2/content/base/lander/energy/syreenvault.txt 2011-05-07 18:07:00 UTC (rev 3599) @@ -5,7 +5,7 @@ THE VAULT'S METAL ALLOY IS IMPERVIOUS TO OUR WEAPONS, AND APPEARS TO BE SIMILAR TO THE UR-QUAN'S `ETERNA-TECH' METAL THEY USE TO REINFORCE THEIR DREADNOUGHT SUPER-STRUCTURES. -THERE IS SOME KIND OF COMPUTER ENTRY SYSTEM, BUT WE CANNOT FATHOM ITS DESIGN. FRUSTRATED AND DISAPPOINTED, WE ARE RETURNING TO THE FLAGSHIP. +THERE IS SOME KIND OF COMPUTER ENTRY SYSTEM, BUT WE CANNOT FATHOM ITS DESIGN. FRUSTRATED AND DISAPPOINTED, WE ARE RETURNING TO THE LANDER. ---- END OF REPORT ---- #(SYRVAULT 2) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-05-08 00:49:55
|
Revision: 3600 http://sc2.svn.sourceforge.net/sc2/?rev=3600&view=rev Author: avolkov Date: 2011-05-08 00:49:48 +0000 (Sun, 08 May 2011) Log Message: ----------- Do not reset Syreen HELLO stack when discovering the vault; fixes bug #891 Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/src/uqm/comm/syreen/syreenc.c trunk/sc2/src/uqm/planets/generate/genvault.c Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-05-07 18:07:00 UTC (rev 3599) +++ trunk/sc2/ChangeLog 2011-05-08 00:49:48 UTC (rev 3600) @@ -1,4 +1,6 @@ Changes towards version 0.7: +- Syreen dialog tree no longer resets after visiting the Syreen Vault + for the very first time (bug #891) - Alex - Fixed lander report at the Syreen Vault inconsistency (bug #1121) - Alex - Added lander reports for Supox ruins and Ultron. The reports text is new content from TFB. (bug #1120) - Alex Modified: trunk/sc2/src/uqm/comm/syreen/syreenc.c =================================================================== --- trunk/sc2/src/uqm/comm/syreen/syreenc.c 2011-05-07 18:07:00 UTC (rev 3599) +++ trunk/sc2/src/uqm/comm/syreen/syreenc.c 2011-05-08 00:49:48 UTC (rev 3600) @@ -694,6 +694,7 @@ NPCPhrase (OK_FOUND_VAULT); SET_GAME_STATE (MYCON_AMBUSH, 1); + // This is redundant but left here for clarity SET_GAME_STATE (SYREEN_HOME_VISITS, 0); Response (whats_my_reward, Foreplay); @@ -818,6 +819,12 @@ else if (GET_GAME_STATE (SHIP_VAULT_UNLOCKED)) { PlanAmbush ((RESPONSE_REF)0); + // XXX: PlanAmbush() sets SYREEN_HOME_VISITS=0, but then this value + // is immediately reset to NumVisits just below. The intent was to + // reset the HELLO stack so that is what we will do here as well. + // Note that it is completely redundant because genvault.c resets + // SYREEN_HOME_VISITS when it sets SHIP_VAULT_UNLOCKED=1. + NumVisits = 0; } else { Modified: trunk/sc2/src/uqm/planets/generate/genvault.c =================================================================== --- trunk/sc2/src/uqm/planets/generate/genvault.c 2011-05-07 18:07:00 UTC (rev 3599) +++ trunk/sc2/src/uqm/planets/generate/genvault.c 2011-05-08 00:49:48 UTC (rev 3600) @@ -118,7 +118,6 @@ if (!GET_GAME_STATE (KNOW_SYREEN_VAULT)) { SET_GAME_STATE (KNOW_SYREEN_VAULT, 1); - SET_GAME_STATE (SYREEN_HOME_VISITS, 0); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-05-13 19:21:34
|
Revision: 3607 http://sc2.svn.sourceforge.net/sc2/?rev=3607&view=rev Author: avolkov Date: 2011-05-13 19:21:24 +0000 (Fri, 13 May 2011) Log Message: ----------- Add the missing bits to the no-voice version of Mycon, Syreen and Utwig dialogue; correct the misspoken word 'psychically' in the no-voice Arilou version Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/content/addons/3dovoice/3dovoice.rmp trunk/sc2/content/base/comm/arilou/arilou.txt trunk/sc2/content/base/comm/mycon/mycon.txt trunk/sc2/content/base/comm/syreen/syreen.txt trunk/sc2/content/base/comm/utwig/utwig.txt Added Paths: ----------- trunk/sc2/content/addons/3dovoice/arilou/arilou.txt trunk/sc2/content/addons/3dovoice/mycon/mycon.txt trunk/sc2/content/addons/3dovoice/syreen/syreen.txt trunk/sc2/content/addons/3dovoice/utwig/utwig.txt Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-05-13 16:50:50 UTC (rev 3606) +++ trunk/sc2/ChangeLog 2011-05-13 19:21:24 UTC (rev 3607) @@ -1,4 +1,6 @@ Changes towards version 0.7: +- Added the missing bits to the no-voice versions of Mycon, Syreen and + Utwig dialogue (bug #327) - Alex - Syreen dialog tree no longer resets after visiting the Syreen Vault for the very first time (bug #891) - Alex - Fixed lander report at the Syreen Vault inconsistency (bug #1121) - Alex Modified: trunk/sc2/content/addons/3dovoice/3dovoice.rmp =================================================================== --- trunk/sc2/content/addons/3dovoice/3dovoice.rmp 2011-05-13 16:50:50 UTC (rev 3606) +++ trunk/sc2/content/addons/3dovoice/3dovoice.rmp 2011-05-13 19:21:24 UTC (rev 3607) @@ -1,11 +1,11 @@ -comm.arilou.dialogue = CONVERSATION:base/comm/arilou/arilou.txt:addons/3dovoice/arilou/:addons/3dovoice/arilou/arilou.ts +comm.arilou.dialogue = CONVERSATION:addons/3dovoice/arilou/arilou.txt:addons/3dovoice/arilou/:addons/3dovoice/arilou/arilou.ts comm.chmmr.dialogue = CONVERSATION:base/comm/chmmr/chmmr.txt:addons/3dovoice/chmmr/:addons/3dovoice/chmmr/chmmr.ts comm.commander.dialogue = CONVERSATION:base/comm/commander/commander.txt:addons/3dovoice/commander/:addons/3dovoice/commander/commander.ts comm.druuge.dialogue = CONVERSATION:base/comm/druuge/druuge.txt:addons/3dovoice/druuge/:addons/3dovoice/druuge/druuge.ts comm.ilwrath.dialogue = CONVERSATION:base/comm/ilwrath/ilwrath.txt:addons/3dovoice/ilwrath/:addons/3dovoice/ilwrath/ilwrath.ts comm.kohrah.dialogue = CONVERSATION:base/comm/kohrah/kohrah.txt:addons/3dovoice/kohrah/:addons/3dovoice/kohrah/kohrah.ts comm.melnorme.dialogue = CONVERSATION:base/comm/melnorme/melnorme.txt:addons/3dovoice/melnorme/:addons/3dovoice/melnorme/melnorme.ts -comm.mycon.dialogue = CONVERSATION:base/comm/mycon/mycon.txt:addons/3dovoice/mycon/:addons/3dovoice/mycon/mycon.ts +comm.mycon.dialogue = CONVERSATION:addons/3dovoice/mycon/mycon.txt:addons/3dovoice/mycon/:addons/3dovoice/mycon/mycon.ts comm.orz.dialogue = CONVERSATION:base/comm/orz/orz.txt:addons/3dovoice/orz/:addons/3dovoice/orz/orz.ts comm.pkunk.dialogue = CONVERSATION:base/comm/pkunk/pkunk.txt:addons/3dovoice/pkunk/:addons/3dovoice/pkunk/pkunk.ts comm.probe.dialogue = CONVERSATION:base/comm/probe/probe.txt:addons/3dovoice/probe/:addons/3dovoice/probe/probe.ts @@ -15,12 +15,12 @@ comm.spathi.dialogue = CONVERSATION:base/comm/spathi/spathi.txt:addons/3dovoice/spathi/:addons/3dovoice/spathi/spathi.ts comm.starbase.dialogue = CONVERSATION:addons/3dovoice/starbase/starbase.txt:addons/3dovoice/starbase/:addons/3dovoice/starbase/starbase.ts comm.supox.dialogue = CONVERSATION:base/comm/supox/supox.txt:addons/3dovoice/supox/:addons/3dovoice/supox/supox.ts -comm.syreen.dialogue = CONVERSATION:base/comm/syreen/syreen.txt:addons/3dovoice/syreen/:addons/3dovoice/syreen/syreen.ts +comm.syreen.dialogue = CONVERSATION:addons/3dovoice/syreen/syreen.txt:addons/3dovoice/syreen/:addons/3dovoice/syreen/syreen.ts comm.talkingpet.dialogue = CONVERSATION:base/comm/talkingpet/talkingpet.txt:addons/3dovoice/talkingpet/:addons/3dovoice/talkingpet/talkingpet.ts comm.thraddash.dialogue = CONVERSATION:base/comm/thraddash/thraddash.txt:addons/3dovoice/thraddash/:addons/3dovoice/thraddash/thraddash.ts comm.umgah.dialogue = CONVERSATION:base/comm/umgah/umgah.txt:addons/3dovoice/umgah/:addons/3dovoice/umgah/umgah.ts comm.urquan.dialogue = CONVERSATION:base/comm/urquan/urquan.txt:addons/3dovoice/urquan/:addons/3dovoice/urquan/urquan.ts -comm.utwig.dialogue = CONVERSATION:base/comm/utwig/utwig.txt:addons/3dovoice/utwig/:addons/3dovoice/utwig/utwig.ts +comm.utwig.dialogue = CONVERSATION:addons/3dovoice/utwig/utwig.txt:addons/3dovoice/utwig/:addons/3dovoice/utwig/utwig.ts comm.vux.dialogue = CONVERSATION:base/comm/vux/vux.txt:addons/3dovoice/vux/:addons/3dovoice/vux/vux.ts comm.yehat.dialogue = CONVERSATION:base/comm/yehat/yehat.txt:addons/3dovoice/yehat/:addons/3dovoice/yehat/yehat.ts comm.yehat.rebel.dialogue = CONVERSATION:base/comm/yehatrebels/yehatrebels.txt:addons/3dovoice/yehatrebels/:addons/3dovoice/yehatrebels/yehatrebels.ts Copied: trunk/sc2/content/addons/3dovoice/arilou/arilou.txt (from rev 3605, trunk/sc2/content/base/comm/arilou/arilou.txt) =================================================================== --- trunk/sc2/content/addons/3dovoice/arilou/arilou.txt (rev 0) +++ trunk/sc2/content/addons/3dovoice/arilou/arilou.txt 2011-05-13 19:21:24 UTC (rev 3607) @@ -0,0 +1,512 @@ +#(INIT_HELLO) arilou-000.ogg +Hello my little one. I am so pleased to see you! +You have done well for yourself. +It is gratifying. + +#(confused_by_hello) +You sound as if you know me. Have we met? + +#(CONFUSED_RESPONSE) arilou-001.ogg +I forget myself. Of course you don't know me. You are from Unzervalt, not Earth. +We are, however, how shall I say, related. +It has been many of your years since I have been to our planet Earth. +We are known among your kind by many names... some of them flattering, some of them not. +The one we use most often was given to us by the children of the Celts. A wonderful culture! +They called us the Arilou... the Arilou Lalee'lay. +More recently we were part of the Alliance of Free Stars, along with your kind +until we decided to return to our own....oh, how would you say... reality +when it became clear that your people would be safe enough under the Ur-Quan slave shield. + +#(happy_by_hello) +I know who you are! You're Arilou!! We've wondered what happened to your people for a long time. + +#(HAPPY_RESPONSE) arilou-002.ogg +You are very clever! +Yes, I am Arilou Lalee'lay and I suppose it has been a very long time since you've met one of my kind. +I imagine you humans are still very short lived. How sad. +Ah well. To answer your question, we chose to cease our efforts with the Alliance of Free Stars +when it seemed that there was no longer any threat to our Earthlings. +I am pleased to see that you, from outside the slave shield, survived. You seem healthy. + +#(miffed_by_hello) +I'll be. It's the Arilou. Why the hell did you run out on the Alliance of Free Stars? What happened? + +#(MIFFED_RESPONSE) arilou-003.ogg +You're annoyed. How interesting. +It has been so long since I dealt with Humans. I had forgotten what it was like. +Now let's see, how shall I best appease you? Yes, if I remember, an honest answer would help. +We didn't exactly 'run out' on the Alliance. +We chose to leave when there was no longer a reason to stay. +You humans seemed safe enough under the Ur-Quan slave shield. +In fact, we rather liked the idea and wished we had thought of it ourselves. +For your safety of course. + +#(FRIENDLY_SPACE_HELLO_1) arilou-004.ogg +Ah... our human friend. Please, let us chat a while. +It has been so many years since I last visited your Earth +so long since I glided across your open fields under the light of a full moon. +Tell me of Earth. Tell me what I have... oh, I forget myself... how silly. +You were born on the distant world Unzervalt. +I have visited there much more recently. + +#(FRIENDLY_SPACE_HELLO_2) arilou-005.ogg +Hello my clever child. We have met again and I am pleased. +Your people are so beautiful... so unspoiled. +Your instincts are like perfume... your motives a shimmering crystal. + +#(FRIENDLY_SPACE_HELLO_3) arilou-006.ogg +Last night as you slept, I touched your face and you smiled!... +but now you frown. A pity. Smiling is healthier. + +#(FRIENDLY_SPACE_HELLO_4) arilou-007.ogg +Did you desire this meeting, Captain, or did we? + +#(FRDLY_HOMEWORLD_HELLO_1) arilou-008.ogg +Ha-ha! Our clever ward has found our nook in *time*! +You are the first, brave human! No others have made the trip. +This is our homeworld, Falayalaralfali, nestled safe in this TrueSpace eddy. +The portal you passed through is a rarity, a natural point of interdimensional fatigue. +We use these phenomena to speed our transit through the realities. +We are wondering, have you met with the Umgah recently? +We entrusted an injured Talking Pet into their care +and we were curious about its progress. + +#(FRDLY_HOMEWORLD_HELLO_2) arilou-009.ogg +Welcome back to Falayalaralfali, Captain. +Perhaps, in the fullness of time we will let you visit the surface of our world. +There are many beauties here unmatched anywhere... the Mountain Clouds of Thought +the Tangible Wish... the Dark. Unfortunately, you are not yet... acclimated. +Premature exposure to these would render you... numb. + +#(FRDLY_HOMEWORLD_HELLO_3) arilou-010.ogg +Hello. We are pleased to see you again. Have you any numbness yet? +Good. It should be too soon for that. Too soon by far. + +#(FRDLY_HOMEWORLD_HELLO_4) arilou-011.ogg +Yes, Captain? What can the Arilou Lalee'lay of Falayalaralfali do for you this day? + +#(whats_up_1) +What exactly IS your connection with Earth and Humans, anyway? + +#(whats_up_2) +I'm still confused about our relationship. Please elaborate. + +#(GENERAL_INFO_1) arilou-012.ogg +You are curious. That is a promising quality. +How can I describe our relation to Humans?... +Never doubt our motives, Captain. Your well-being is of paramount concern to every Arilou. +Surely you know, that it was the day after Humanity joined the Alliance Of Free Stars +that we appeared in the open for the first time. This was no coincidence. +We wanted to protect you. Once we saw that you were...well, safe +we decided to tend to other business for a short while. +Believe me, Captain, we have known each other for a very long time. +You might even say that we knew the first human. + +#(GENERAL_INFO_2) arilou-013.ogg +You have painted our pictures on cave walls, erected standing stones and pyramids for us. +You have wondered at our signs to each other in your wheat fields +and written books about our more personal endeavors +when we allowed you to recall our examinations. +We have a history together, Captain, and you have come a long way. +But I must tread carefully. You are not ready for everything +and I fear that you would not understand what was best for you. + +#(GENERAL_INFO_3) arilou-014.ogg +As you know, we never revealed where in the galaxy one could find our homeworld. +There was a good reason. We are not from your space, or your... *time*. +Some of your more broad thinkers refer to such realms as other dimensions. +Though trivialized, this is a suitable metaphor for your intellect. +Perhaps you know of the Orz. Like us, they are dimensional travellers +but that is where our similarity ends. +Do not trust the Orz, my Human Captain. They are dangerous. +But as to your question... our relationship +To call our interaction with your kind an experiment would be much too simple and impersonal. +Let us just say that we have a vested interest in your... development. +You are one of our... extended family, just as other sentients in other dimensions +have their extended families. +We are proud of you as you would be of your children, and some day +well, I have said too much already. + +#(GENERAL_INFO_4) arilou-015.ogg +You already know more than is appropriate. In fact, you may represent an unfortunate complication. +You have been in the stars for much time. Do you seek the doorway, or are you just passing through? +Remember, you can only go over naturally for the three days it is open. +How to find it? Look on your starmap from 17 through 20. The variable star shall be your guide. + +#(why_you_here) +What are you doing here, in this region of space? + +#(LEARN_THINGS) arilou-016.ogg +We are many places, at many *times*. This place is an easy place... one of the ten easy places. +At different times, we explore different easy places. That is our way. +Oh! I can see from the look in your eyes that I have confused you. I am silly. +Please disregard my words. + +#(what_things) +What are you exploring for in these `easy places'? + +#(THESE_THINGS) arilou-017.ogg +We seek to trap *Nnngn*, but they dart and leap. +YOU cannot trap *Nnngn*... do not even try. +I do not think you can even touch them; you are not quite solid enough. + +#(why_do_it) +Okay, you trap these nungy things. Then what? + +#(DO_IT_BECAUSE) arilou-018.ogg +Why we let them go, of course! *Nnngn* do not like to be confined! +Captain, these things we talk about... they are unimportant to you... they are as dreams. +Our words should address your universe... not ours. + +#(give_me_info_1) +We still struggle against the Ur-Quan. Can you help us? + +#(ARILOU_HINTS_1) arilou-019.ogg +With ships and weapons... blood and bones... no. +Too many shipmates were forcibly... discorporated.. in the last conflict. +Our cooperation is not necessary. You are the focus. +However, knowledge transcends reality perimeters, and this we can share with you. +An example: to discover the nature of the red probes +seek creatures who inhabit a world with no surface. + +#(give_me_info_2) +Can you give us any more information? + +#(ARILOU_HINTS_2) arilou-020.ogg +The Mycon change and reform worlds with their Deep Children. +These changes affect others unfortunately. +The fate of your world and your heart relate to these matters. + +#(ARILOU_HINTS_3) arilou-021.ogg +The carnate forces of Ur-Quan and Kohr-Ah are twined about the memory of pain. +They respond to these words: +`Hold! What you are doing to us is wrong! Why do you do this thing?' + +#(ARILOU_HINTS_4) arilou-022.ogg +The enemy of your enemy is your friend... at least for a time. + +#(bye_friendly_space) +Goodbye Arilou. + +#(GOODBYE_FRIENDLY_SPACE) arilou-023.ogg +Farewell child. + +#(GOT_PART_YET_1) arilou-024.ogg +The prospect of sharing the easy way with you excites us. +If you have found the Ur-Quan Warp Pod, this prospect can be made a reality. + +#(GOT_PART_YET_2) arilou-025.ogg +We are so eager to give you our means to traverse reality. +Have you obtained the Warp Pod yet? + +#(INIT_ANGRY_HWLD_HELLO) arilou-026.ogg +You have found our world. We did not see this +and now it is too late to adjust without damage +but perhaps the situation can be resolved in another way. +The answer lies within your next statement. + +#(invaders_from_mars) +You guys are like... invaders from Mars! Weird evil monsters! + +#(HAD_OUR_REASONS) arilou-027.ogg +No. We seek not to invade, but to pervade. There is a difference. +Your stories of evil creatures... these are just... side effects. +Pay them no heed. + +#(bug_eyed_fruitcakes) +No-no-no-no-no! I'll stop you! You bug-eyed fruitcakes have mutilated your last cow! + +#(WE_NEVER_FRIENDS) arilou-028.ogg +We have sought amiable companionship with you, Captain +when we just as easily could have performed such experiments on you. +We shall not fight with our children. Goodbye. + +#(ok_lets_be_friends) +Look, I'm sorry. I made some mistakes. We need you as allies, not as enemies. + +#(NO_ALLY_BUT_MUCH_GIVE) arilou-029.ogg +We have never been your enemy, though your people may once have thought so. +But we are also not your ally. That would require a degree of involvement in this *time* +which is not presently permissible. +For now, we are simply your friends... who have much to give. + +#(why_should_i_trust) +Why should I trust you? You did funny things to that horror writer a while ago, right? + +#(TRUST_BECAUSE) arilou-030.ogg +We do many things, few of them funny... at least by our standards. +You do not, CANNOT understand some of what we do, or why. +Therefore, it may be best if you simply consider us... quirky. + +#(what_about_interference) +What gives your people the right to interfere with mine? + +#(INTERFERENCE_NECESSARY) arilou-031.ogg +What gives you the right to move, the right to fall? +Some acts are motivated, others are automatic. +Do not presume that you can decide which is which for anyone but yourself +or you will be... disappointed. + +#(i_just_like_to_leave) +Ok, fine, whatever. Just let me leave now, okay? + +#(SORRY_NO_LEAVE) arilou-032.ogg +This matter must be resolved, or many event strands will grow... more complicated. +Your presence is required. + +#(what_about_war) +So what DID happen at the end of the War? + +#(ABOUT_WAR) arilou-033.ogg +Forgive us if we forget the importance you attach to such events as this. +Our... context, is infinitely broader than yours in scope, both in space and *time*. +Nevertheless, to please you I shall try to recall. +Yes, now I remember. Here is the sequence: +The Ur-Quan fleets have moved through your solar system and you are defeated. +Your people make the choice not to fight with and for the Ur-Quan. +A shield is cast about your world. Your people are now safe. This makes us happy. +The Armada departs your star system and moves toward the remaining Alliance members +ourselves, the Syreen, the Yehat and their adopted Shofixti. +The Yehat and Shofixti withdraw to Delta Gorno, but they do not permit the Syreen to follow. +We are content with the flow of events and leave the area to return here. +From our perspective, this sequence of events ends here. + +#(what_about_urquan) +Well what about the Ur-Quan? What are they up to? + +#(ABOUT_URQUAN) arilou-034.ogg +Soon after the Ur-Quan defeated the Yehat and imprisoned the Syreen in Betelgeuse +their siblings arrived to initiate the Doctrinal Conflict. +This battle continues as we speak. + +#(best_if_i_killed_you) +I think it would be best if I killed you now. + +#(WICKED_HUMAN) arilou-035.ogg +Instinct. Instinct. Instinct. Always the instinct. + +#(what_did_on_earth) +What, exactly, have you been doing on Earth? + +#(DID_THIS) arilou-036.ogg +You desire honesty. It is given. +We have visited your world for many thousands of years into your species' past. +We have changed things... made modifications. + +#(why_did_this) +What did you change and modify on Earth, AND WHY?! + +#(IDF_PARASITES) arilou-037.ogg +Our motives are multiple, our desires complex. +Part of what we do on Earth is for your own protection. +There are parasites. Creatures who dwell Beyond. +They have names, but you do not know them. They would like to find you +but they are blind to your presence... unless you show yourselves. +The Androsynth showed themselves, and something noticed them. +There are no more Androsynth now. Only Orz. + +#(tell_more) +This sounds creepy. Please go on. + +#(NOT_NOW) arilou-038.ogg +No. In a way, ignorance is your armor, your best protection. +They cannot see you now. They cannot smell you. +Much of our work with your people involved making you invisible... changing your smell. +If I tell you more, you will look where you could never look before +and while you are looking you can and will be seen. +You do not want to be seen. + +#(umgah_acting_weird) +We have met the Umgah, and they are acting extremely weird, like zombie-blobbies! + +#(learned_about_umgah) +Have you learned anything about the Umgah yet? + +#(WELL_GO_CHECK) arilou-039.ogg +Hmmm... this is disturbing news. They are normally rambunctious to an extreme. +We will send ships to Umgah space to investigate. +We should have some answers in a few days time. + +#(NO_NEWS_YET) arilou-040.ogg +Our exploration skiffs have not returned. We are concerned. +Perhaps if you ask later, we will know then. + +#(UMGAH_UNDER_COMPULSION) arilou-041.ogg +We have discovered something strange and frightening about the Umgah +When we approached their vessels, we were instantly attacked +and the Umgah made no attempts to contact our ships or respond to our hails. +Using our own psionic sensitivities, we determined that they are under some form of psychic compulsion. +The source of psionic control commands appears to be Beta Orionis, the Umgah's home star. +We sent vessels to investigate this location, but none have returned... we fear they are destroyed. + +#(what_do_now) +So what can we do about the psychically zombified blobbies? + +#(GO_FIND_OUT) arilou-042.ogg +We have had no success with our own investigations. +Whatever controls the Umgah is a threat, but we seem unprepared to deal with it. +Perhaps you and your crew are better suited to this mission. +If you choose to go to Beta Orionis, take care, child. +Whatever controls the Umgah now knows of our presence +and it may take measures against us. + +#(tell_arilou_about_tpet) +The source of the Umgah's compulsion is the Talking Pet you gave the Umgah, +but now it is intelligent and exhibits strange powers. + +#(BAD_NEWS_ABOUT_TPET) arilou-043.ogg +That is very bad news. This creature, a super-intelligent, physically coercive creature +is very similar to a race of beings which was thought to have vanished over 20,000 years ago. +They were called the Dnyarri, and history tells that they ruled a wide region of this galaxy +for many thousands of years. The Dnyarri were cruel and devious +and when they were finally overthrown by one of their slave-races +they were supposedly exterminated. +Perhaps this Talking Pet is the degenerate product of the Dnyarri. + +#(what_do_about_tpet) +So what should we do about this Dnyarri creature? + +#(DANGEROUS_BUT_USEFUL) arilou-044.ogg +The Dnyarri were the most inimical race this galaxy has known. +In other dimensions, other *times*, there are far, far worse beings +but they do not threaten you at the present time. +During their reign, the Dnyarri possessed absolute power over all intelligent species in this region. +They used their slaves for all menial tasks and many forms of depraved entertainment. +If the Talking Pet we gave to the Umgah has attained the coercive abilities of its ancestors +we must assume that other Talking Pets can do likewise. +Therefore the creature must be considered the most dangerous being in the galaxy. +Its destruction is necessary... unless +you can find some way to gain control over the creature! +If you could do this you would have a powerful weapon against the Ur-Quan. +Of course, if you made one mistake, you would be the Dnyarri's slave forever. + +#(what_give_me) +You said you had much to give my people. Can you be more specific? + +#(ABOUT_PORTAL) arilou-045.ogg +As you know, we live in a dimension adjacent to HyperSpace which we call QuasiSpace. +Our ships move between these dimensions through weaknesses in the inter-dimensional fabric. +Although many such weaknesses, or Portals, exist which lead from our dimension, QuasiSpace +to various locations in HyperSpace, there is only one naturally occurring Portal +which will transport a ship from HyperSpace to QuasiSpace. +We therefore find it convenient to generate our own Portals artificially +with focused dimensional fatigue rays. +As a sign of our long-standing relationship with your species +we would happily fit your vessel with a Portal Spawner of its own +but your ship is so massive, our units would be ineffective. However +we suspect you may find a sufficiently powerful warp pod, the key element in a Portal Spawner +in the wreck of the Ur-Quan Dreadnought on the seventh world at Alpha Pavonis. +Bring that warp pod back here, and we will prepare a Portal Spawner for your vessel. + +#(what_about_tpet) +You mentioned a Talking Pet. How did you find one? + +#(ABOUT_TPET) arilou-046.ogg +We are an endlessly curious species, and we spend much of our time on +how should I say, reconnaissance missions. +During one such trip, we witnessed the crash landing of an Ur-Quan Dreadnought +on the surface of Alpha Pavonis VII. +Normally, when an Ur-Quan vessel is disabled, it automatically engages self-annihilation circuits +to prevent other species from learning the Ur-Quan's technological secrets. +In this case, however, these circuits must have failed. The Dreadnought did not disintegrate on impact. +We landed to explore the wreckage, and were amazed to find a survivor... a Talking Pet! +As you may know, the Ur-Quan use these non-sentient creatures for the task of inter-species translation +a task the Ur-Quan find ultimately demeaning. +The Talking Pet was severely injured, and we did what we could for the poor creature +but it grew clear that without superior measures, the Talking Pet would die. +We turned to the Umgah, whom we have known for many centuries. +Their bioscience skills are far superior to our own. +The Umgah promised to do what they could, and let us know how the Pet fared. +We have not heard from the Umgah since. +Perhaps, if you are travelling through their stars, you can ask them for us. + +#(about_portal_again) +Can you tell me about that Portal Spawner thing again? + +#(PORTAL_AGAIN) arilou-047.ogg +Certainly. As a sign of our long-standing friendship with your species +we would be happy to fit your vessel with a Portal Spawner +allowing you to jump from place to place in HyperSpace, without travelling the intervening distance. +However, your ship is so massive, our normal warp pod units are insufficient +but you will find a sufficiently powerful warp pod in the wreck of the Ur-Quan Dreadnought +on Alpha Pavonis VII. Bring that warp pod back here, and we will prepare a Portal Spawner for your vessel. + +#(got_it) +I have obtained the Warp Pod unit from the Ur-Quan wreck. + +#(CLEVER_HUMAN) arilou-048.ogg +What a surprise! +As we have always said, Humans are a MOST resourceful and clever species. +We are so proud of you! But don't worry that you shall have to wait. + +#(GIVE_PORTAL) arilou-049.ogg +We are prepared. Even now our technical personnel are equipping your ship +with a custom version of our Portal Spawner device. +The device is useable only in HyperSpace. Whenever it is activated +the Spawner will focus several inter-dimensional fatigue beams adjacent to your vessel +opening a temporary hole into QuasiSpace. Move quickly through the Portal! +After your ship has passed into QuasiSpace, you can choose any of the nearby Portals +which lead back to HyperSpace, thus saving you needless transit time. +Be keenly aware of this fact! The Spawner requires a great deal of energy to function. +We estimate that each time you use the device, it will consume ten of your fuel units. + +#(bye_friendly_homeworld) +Goodbye my Arilou friends. + +#(GOODBYE_FRDLY_HOMEWORLD) arilou-050.ogg +Goodbye clever child. + +#(HOSTILE_GOODBYE_1) arilou-051.ogg +We have said all there is to be said. +We would prefer your immediate departure, but are prepared for your attack. + +#(HOSTILE_GOODBYE_2) arilou-052.ogg +Your behavior is clearly inimical. We resist discorporation. +Further contact between ourselves is pointless. + +#(HOSTILE_GOODBYE_3) arilou-053.ogg +Seek death in other corners. Leave us. + +#(HOSTILE_GOODBYE_4) arilou-054.ogg +Seek death in other corners. Leave us. + +#(ANGRY_SPACE_HELLO_1) arilou-055.ogg +We cannot fathom your reason, therefore you must be acting upon simple instinct. +Perhaps this is our fault. We have always loved instinct +even though we possess none ourselves. +Do you have too much instinct, human? Does your species? We shall see. + +#(ANGRY_SPACE_HELLO_2) arilou-056.ogg +Human. You flail at the wind. Cease your violence. +Would you hurt your pet? Your child? Your beast? +Please... rethink your posture. + +#(lets_fight) +C'mon, let's fight... Freak Face! + +#(NO_FIGHT) arilou-057.ogg +We will never choose to fight you, child. + +#(im_sorry) +Aughhh! I am sorry! WHAT WAS I THINKING?!! + +#(APOLOGIZE_AT_HOMEWORLD) arilou-058.ogg +If you wish to make atonement... seek a strangely shaped rock or plant. +However, should you wish to change the nature of our relationship +seek the Arilou in QuasiSpace. You can make the transit at 43.8 : 637.2 +but only when the door is open. + +#(bye_angry_space) +G'bye. + +#(GOODBYE_ANGRY_SPACE) arilou-059.ogg +When you have resolved your conflict, we shall speak again. + +#(OUT_TAKES) arilou-060.ogg +Do you really believe Project Bluebook revealed EVERYTHING the Army Air Corps knew? +Do you know what REALLY happened at Roswell, New Mexico in the late 1940's? +Have you even heard about the Men in Black? +Do you have any friends who have `missing days'? +Do you sleep with your window unlocked? +Be seeing you... + Copied: trunk/sc2/content/addons/3dovoice/mycon/mycon.txt (from rev 3605, trunk/sc2/content/base/comm/mycon/mycon.txt) =================================================================== --- trunk/sc2/content/addons/3dovoice/mycon/mycon.txt (rev 0) +++ trunk/sc2/content/addons/3dovoice/mycon/mycon.txt 2011-05-13 19:21:24 UTC (rev 3607) @@ -0,0 +1,418 @@ +#(TELL_US_ABOUT_WORLD) mycon-000.ogg +Your suggestion is appropriate. +Acceptable new worlds are a priority for the rapid and complete spread of Juffo-Wup. +We wish to know more for our suitability assessment. +Tell us of this world. + +#(BYE_AND_DIE_HOMEWORLD) mycon-001.ogg +You impede the flow of Juffo-Wup through the Universe. +We will now remove this clog. +We will now aid Juffo-Wup by eliminating you! + +#(RAMBLE_1) mycon-002.ogg +A single spore lands, finds nourishment in decay and soon attains maturity.. +In turn it exhales a cloud of new life, a thousand spores, each lands, finds nourishment in decay +so progresses Juffo-Wup. + +#(RAMBLE_2) mycon-003.ogg +Our bodies seethe with the passion of our genes. +A thousand of your species do not possess the richness in one of my cells. + +#(RAMBLE_3) mycon-004.ogg +I fill with my parents' parents' parents' parents' parents +I am they -- and they are us. Then, and now. + +#(RAMBLE_4) mycon-005.ogg +The Deep Children are part of Juffo-Wup -- home builders. +The dwellers in the Mohorovichic. + +#(RAMBLE_5) mycon-006.ogg +I am Dugee +I am the purity monitor +I choose what buds are permitted to mature +and which must be eradicated. +I died of general misfunction 57,283 years ago. + +#(RAMBLE_6) mycon-007.ogg +A cold rock, spinning silently in the Void, a womb for the Children. + +#(RAMBLE_7) mycon-008.ogg +Pulsing hot liquid flows through my outstretched tendrils, sending thrills into my interior. +The moment has come. I swell and burst. +Above me a cloud of whispering life whirls through the air. +I am content. + +#(RAMBLE_8) mycon-009.ogg +The Juffo-Wup is strong in this place. + +#(RAMBLE_9) mycon-010.ogg +Your simple sexual process produces random mosaics of genetic instructions +yet with the simplicity of breath, I modify my own patterns. +You humans improve a tool and double your capabilities. +We Mycon improve ourselves and increase a thousand-fold. + +#(RAMBLE_10) mycon-011.ogg +The Deep Children! +Spears of light in the darkness! +Their discarded husks speak of joy to come. + +#(RAMBLE_11) mycon-012.ogg +I have chosen my offsprings' memories carefully from my set of remembrances +the sweet and warm times of my existence and those of my parents' parents' parents +the bits of a million lifetimes coalesced into a birth gift of complete awareness. + +#(RAMBLE_12) mycon-013.ogg +In the dark they grow, the deep fire feeds the Children. +Their birth breathes warmth across a cold world. + +#(RAMBLE_13) mycon-014.ogg +`...the system requires more energy. A convenient source lies beneath the crust...' + +#(RAMBLE_14) mycon-015.ogg +We look to Juffo-Wup for direction, and it provides the pattern +endless expansion with purity of achievement and intolerance of error. + +#(RAMBLE_15) mycon-016.ogg +I am Shloosh +I was incinerated fourteen thousand Earth years ago +I live now, for but a moment +and then, I am gone. + +#(RAMBLE_16) mycon-017.ogg +`...incorporation of dense amphibole fibers ensure survival in environmental extremes...' + +#(RAMBLE_17) mycon-018.ogg +I yearn for magma +the flowing warm basalts +the red glow of the lava pools. + +#(RAMBLE_18) mycon-019.ogg +When we encounter the Non, we must absorb the Non or reject the Non so that it is no longer Non. + +#(RAMBLE_19) mycon-020.ogg +`...entry of noise into the signal is unavoidable. We must include a filtering mechanism...' + +#(RAMBLE_20) mycon-021.ogg +Cessation of an individual is unavoidable +a consequence of existence +yet with the birth of life, individuality is transferred in part +and may occasionally gain dominance for an interval +achieving a kind of shared immortality. + +#(RAMBLE_21) mycon-022.ogg +`...Survival is a priority. Expansion is a priority. Processing is a priority...' + +#(RAMBLE_22) mycon-023.ogg +Juffo-Wup acknowledges the existence of un-Voidable Non +when we are faced with such, we join, absorb and wait for our opportunity +to learn the weakness that will allow us to Void the Non. + +#(RAMBLE_23) mycon-024.ogg +At times, I meet another, who shares with me the life of a parent inside the mind +and if we speak this fragment becomes predominant in the both of us +and self meets self with occasionally enlightening results. + +#(RAMBLE_24) mycon-025.ogg +The Podships thrum with the plasma containment field +whose offspring seek to transform the Non to Void +the fields grow tighter, and tighter +the bass rumble of the generators rises gradually to a high burning scream +sudden silence and a flash of light announce release +the hot pulsing subsides slowly. + +#(RAMBLE_25) mycon-026.ogg +The Deep Children fall from the Void, gathering speed for the penetration +The tough casing warms as it passes through the atmosphere, glowing white as it hits the surface +solid rock flows like liquid, and the child slips into the warm, safe depths beneath the crust. + +#(RAMBLE_26) mycon-027.ogg +`...look... think... act... look... learn... remember... teach... repeat...' + +#(RAMBLE_27) mycon-028.ogg +The implantation fleet has assembled in orbit above the green world +the patterns of weakness reveal the point of introduction. +The Child is prepared for its birthing trip. +Release! + +#(RAMBLE_28) mycon-029.ogg +I am Gussh +I attend the birthing nodes +I died 343 Earth years ago +I do not know how. + +#(RAMBLE_29) mycon-030.ogg +When Juffo-Wup is complete +when at last there is no Void, no Non +when the Creators return +then we can finally rest. + +#(RAMBLE_30) mycon-031.ogg +Darkness is Void +Juffo-Wup is light. + +#(RAMBLE_31) mycon-032.ogg +`... planetary transformer biot 94-18: take your place at the transporter dais...' + +#(RAMBLE_32) mycon-033.ogg +You are the Non. You must go now, and never return. + +#(question_1) +What can you tell me about your species? + +#(question_2) +Well then, what can you tell us of your history? + +#(question_3) +Why are you unwilling to address my questions? + +#(question_4) +You're not paying any attention to me, are you? + +#(question_5) +You're not paying any attention to me, are you? + +#(question_6) +You're not paying any attention to me, are you? + +#(question_7) +You're not paying any attention to me, are you? + +#(question_8) +You're not paying any attention to me, are you? + +#(question_9) +You're not paying any attention to me, are you? + +#(question_10) +You're not paying any attention to me, are you? + +#(question_11) +You're not paying any attention to me, are you? + +#(question_12) +You're not paying any attention to me, are you? + +#(question_13) +You're not paying any attention to me, are you? + +#(question_14) +You're not paying any attention to me, are you? + +#(question_15) +You're not paying any attention to me, are you? + +#(question_16) +You're not paying any attention to me, are you? + +#(bye_space) +Don't trouble yourself. I'll see myself out. + +#(BYE_AND_DIE_SPACE) mycon-034.ogg +Juffo-Wup fills in my fibers and I grow turgid. Violent action ensues. + +#(gonna_die) +Time to die. + +#(insult_1) +I wonder how you would taste, fried in butter? + +#(insult_2) +You know, I probably have some of your relatives between my toes! + +#(insult_3) +Is that a rock you're sitting on, or do you just have a big butt? + +#(insult_4) +I don't suppose there's a chance that you'll actually respond to what I am saying, is there? + +#(insult_5) +I can't believe I'm trying to have a conversation with a hot fungus. + +#(insult_6) +Stop wiggling those... those... whatever they are! + +#(insult_7) +Where's the Absorbine Junior when you need it? + +#(insult_8) +Helloo? Ugly! Can you hear me? + +#(come_in_peace) +Mycon. Please try to understand. We wish peace between our peoples. + +#(HELLO_HOMEWORLD_1) mycon-035.ogg +Juffo-Wup is All... omni-existent, spreading and changing the Non into Juffo-Wup. +You are Non, who must become Juffo-Wup or Void. +We are the agents of Juffo-Wup. +We are the Mycon. + +#(HELLO_HOMEWORLD_2) mycon-036.ogg +We are the Mycon. + +#(HELLO_HOMEWORLD_3) mycon-037.ogg +We are the Mycon. + +#(HELLO_HOMEWORLD_4) mycon-038.ogg +We are the Mycon. + +#(HELLO_HOMEWORLD_5) mycon-039.ogg +We are the Mycon. + +#(HELLO_HOMEWORLD_6) mycon-040.ogg +We are the Mycon. + +#(HELLO_HOMEWORLD_7) mycon-041.ogg +We are the Mycon. + +#(HELLO_HOMEWORLD_8) mycon-042.ogg +We are the Mycon. + +#(HELLO_SPACE_1) mycon-043.ogg +We are part of Juffo-Wup. +Juffo-Wup is the hot light in the darkness. +All else is unfulfilled Void. +We are the Mycon. + +#(HELLO_SPACE_2) mycon-044.ogg +We are the Mycon. + +#(HELLO_SPACE_3) mycon-045.ogg +We are the Mycon. + +#(HELLO_SPACE_4) mycon-046.ogg +We are the Mycon. + +#(HELLO_SPACE_5) mycon-047.ogg +We are the Mycon. + +#(HELLO_SPACE_6) mycon-048.ogg +We are the Mycon. + +#(HELLO_SPACE_7) mycon-049.ogg +We are the Mycon. + +#(HELLO_SPACE_8) mycon-050.ogg +We are the Mycon. + +#(lets_be_friends) +Let's be friends. + +#(came_to_homeworld) +We have come to your homeworld to seek a truce. + +#(submit_to_us) +Heinous fungus! Submit to our will! + +#(bye_sun_device) +We'll just be going now. + +#(GOODBYE_SUN_DEVICE) mycon-051.ogg +You are the Non. You must go now, and never return. + +#(RESPONSE_1) mycon-052.ogg +This is good. + +#(RESPONSE_2) mycon-053.ogg +This is good. + +#(RESPONSE_3) mycon-054.ogg +This is good. + +#(clue_1) +Its air is pure and sweet. + +#(clue_2) +Abundant life covers its surface. + +#(clue_3) +The sun gently warms the surface. + +#(what_about_shattered) +Why are the Shattered Worlds found only in your region of space? + +#(ABOUT_SHATTERED) mycon-055.ogg +These are the homes of the Deep Children. + +#(HELLO_SUN_DEVICE_WORLD_1) mycon-056.ogg +This is a special place +filled with Juffo-Wup. +We must not allow it to be soiled by the Non. +You must go. Now. + +#(HELLO_SUN_DEVICE_WORLD_2) mycon-057.ogg +You have returned to our special place. +This is not permissible. +Leave. + +#(whats_up_sun_device) +What makes this world so special to you? + +#(GENERAL_INFO_SUN_DEVICE) mycon-058.ogg +Juffo-Wup is the power of life... hot warmth in the cold Void. +It flows through all things, binding them together, making them one. +You are Non-Juffo-Wup, you cannot understand. +Below is the pod of Juffo-Wup -- there for a thousand centuries. +When we are cold, the pod opens and warms us. +When it is dark, the pod clenches and lo, there is light. +You are the Non. The pod is not for you. You must leave. + +#(like_to_land) +I have business on this world. Move aside. + +#(NEVER_LET_LAND) mycon-059.ogg +Juffo-Wup flows through Time and Space. It cannot be stopped by mere energy blasts. +However, you are Non -- not part of Juffo-Wup. +You CAN be destroyed by energy blasts. +Let us demonstrate. + +#(bye_homeworld) +Goodbye fungus-boys! + +#(i_have_a_cunning_plan) +There is a world at the star Organon. I believe it is perfect for your Deep Children. + +#(DIE_LIAR) mycon-060.ogg +You are an obstruction to Juffo-Wup. +You must be removed. + +#(how_goes_implanting) +Have you visited the planet I told you about? + +#(UNFORSEEN_DELAYS) mycon-061.ogg +We have experienced unforeseen delays implanting Deep Children beneath the crust of Organon 1. +However, Juffo-Wup is inevitable. The Deep Children WILL be born. + +#(DIE_THIEF) mycon-062.ogg +You have taken something from us which we value... which is important to Juffo-Wup. +Return the Solar Manipulator immediately. + +#(DIE_THIEF_AGAIN) mycon-063.ogg +You have taken something from us which we value... which is important to Juffo-Wup. +Return the Solar Manipulator immediately. + +#(GOODBYE_AND_DIE) mycon-064.ogg +Juffo-Wup is All +but you are not a part of Juffo-Wup +therefore you must cease existence. +We shall make you cease to exist, for Juffo-Wup. + +#(AMBUSH_TAIL) + + +#(RAMBLE_TAIL) + + +#(WE_GO_TO_IMPLANT) mycon-065.ogg +If your words are true, we will gladly spread Juffo-Wup to a new world! +We will assemble the Birthing Fleet and send them to this planet. +We will send many ships to protect the Children as they grow. +You have been of service to us. +Your insight into the ineffable Juffo-Wup is encouraging. +Perhaps, if we were to plant spore sacs in your brain organ +and let its tendrils spread through your flesh +then you would truly understand Juffo-Wup... become part of Juffo-Wup. +You WOULD be happier and more fulfilled. Consider our offer. + +#(WONT_FALL_FOR_TRICK) mycon-066.ogg +This is a special place. +You must go. Now. Copied: trunk/sc2/content/addons/3dovoice/syreen/syreen.txt (from rev 3605, trunk/sc2/content/base/comm/syreen/syreen.txt) =================================================================== --- trunk/sc2/content/addons/3dovoice/syreen/syreen.txt (rev 0) +++ trunk/sc2/content/addons/3dovoice/syreen/syreen.txt 2011-05-13 19:21:24 UTC (rev 3607) @@ -0,0 +1,679 @@ +#(HELLO_BEFORE_AMBUSH_1) syreen-000.ogg +Attention unidentified space vessel! +Be warned! This slave world and its inhabitants belong to the Ur-Quan. +I am Starbase Commander Talana of the slave planet Gaia. +Your ship is not responding to standard Hierarchy identification sequences. +You are therefore classed as Independent and... WHAT?! +Is my monitor display correct?! +Is that a human commanding that vessel? +Who are you? + +#(HELLO_BEFORE_AMBUSH_2) syreen-001.ogg +Hello again, pleasant Human. +It warms me to greet you again. + +#(HELLO_BEFORE_AMBUSH_3) syreen-002.ogg +Welcome back, Earthling. +What do you wish of us? + +#(HELLO_BEFORE_AMBUSH_4) syreen-003.ogg +Yes, Captain? + +#(we_are_vice_squad) +We're the Ethics Police. Justify that costume... Immediately! + +#(OK_VICE) syreen-004.ogg +Huh? What ARE you talking about? +This is the uniform of a Syreen Commander. +The climate aboard this starbase is maintained at a constant 22 degrees C. +What are we supposed to wear in here... parkas? + +#(we_are_the_one_for_you_baby) +I am the right one for you, baby! + +#(MAYBE_CAPTAIN) syreen-005.ogg +Ah, yes... I had almost forgotten the sophistication of human social graces. +Manners were never the Earthlings' strong point, were they? +Your species' undeniable appeal can be found... elsewhere. + +#(we_are_vindicator0) +I am Captain + +#(we_are_vindicator1) + of the flagship + +#(we_are_vindicator2) +. + +#(WELCOME_VINDICATOR0) syreen-006.ogg +Hello, Captain + +#(WELCOME_VINDICATOR1) + from the Starship + +#(WELCOME_VINDICATOR2) +. + +#(we_are_impressed) +We're... we're.. we're greatly impressed! + +#(SO_AM_I_CAPTAIN) syreen-007.ogg +So am I, Captain. So am I. +Earthlings are so... so... earthy! + +#(HOW_CAN_YOU_BE_HERE) syreen-008.ogg +But you haven't answered my question fully. +Why are you here? Where are you from? +Has the slave shield been lifted from Earth? +Are the Ur-Quan finally defeated? +Simply put, Captain...what do you want from us? + +#(we_here_to_help) +We have come here to free you from slavery to the Ur-Quan! + +#(NO_NEED_HELP) syreen-009.ogg +Look friend, I appreciate your offer, but we don't want your help. +Why? I'll tell you why +because we're not going to do anything to antagonize the Ur-Quan. That's why. +We may not like slavery, but it's a damn sight better than our alternatives. +Below us we have a beautiful world... maybe it's not Syra, but at least it's a home. +That's a lot more than we ever had before the War... before the Ur-Quan became our masters. + +#(we_need_help) +To be honest, we need your help to destroy the Ur-Quan. + +#(CANT_GIVE_HELP) syreen-010.ogg +Look Captain... I like you... even though you're an obnoxious human... I like you. +In another time, we might have become good friends... perhaps more +but that's a fantasy, and my job is dealing with reality. +We're not going to do anything to jeopardize what we've got here. +We've come too far... lost too much, to ever risk losing Gaia, our new home. +Don't get all judgmental on me, Captain... you don't know what we've been through. + +#(i_need_you) +Hey, baby... what I need is you! + +#(OK_NEED) syreen-011.ogg +Look. Human. Get this through your head. +Under other circumstances, I might be interested in your antics, you're kind of cute +but we've got a serious situation here and we don't have time to fool around. +Our lives are at stake, and so are yours. If the Ur-Quan discover that you have been here +I don't know what they will do to us... much less you! +Now get serious... please. + +#(i_need_touch_o_vision) +What I need right now, is a Touch-o-Vision. + +#(TOUCH_O_VISION) syreen-012.ogg +Look. Human. Get this through your head. +Under other circumstances, I might be interested in your antics, you're kind of cute +but we've got a serious situation here and we don't have time to fool around. +Our lives are at stake, and so are yours. If the Ur-Quan discover that you have been here +I don't know what they will do to us... much less to you! +Now get serious... please. + +#(know_about_deep_children) +Talana, have you ever heard of the `Deep Children?' + +#(WHAT_ABOUT_DEEP_CHILDREN) syreen-013.ogg +Yes, I think so. Aren't they part of the Mycon religion somehow? +We have recordings of Mycon HyperWave transmissions from the War... pretty weird stuff. +The Mycons just kind of.. rambled, never making much sense. +They talked a lot about `Deep Children', and `Spears of Light', +but we couldn't ever understand what they were talking about. + +#(mycons_involved) +What if I told you that Mycon Deep Children shatter planet crusts... like your Syra? + +#(WHAT_PROOF) syreen-014.ogg +What?! What did you say?! +Human, you had better not be joking. Syra is not a subject for Earth humor. +Now what do you mean, shatter planet crusts? How? +That IS what happened to Syra, yes, but we presumed it was a natural cataclysm... a meteor. +Do you have proof that it was something else... these Deep Children? + +#(have_no_proof) +I don't have proof YET, but I am certain the Mycons destroyed your world. + +#(NEED_PROOF) syreen-015.ogg +Captain, if what you say is true, it would turn my world upside down. +You have no sorrow to match what each of us Syreen feels every day of our lives +when we remember what we have lost... Syra... our Eden. +The very idea that the Mycons, or any alien race, may have been responsible for Syra's destruction +fills me with BURNING RAGE! +If it were true, none of us here would rest until we had avenged ourselves on the perpetrators. +We would find some way to leave this starbase, locate our starships, and hunt down the evil monsters! +Captain, if you ever gather proof of what you say, you MUST inform us immediately. +But until then... do not mention the subject again. It is too painful. + +#(have_proof) +Talana. I have brought proof that the Mycon Deep Children destroyed your world Syra. + +#(SEE_PROOF) syreen-016.ogg +Let me see this proof, Captain! + +#(look_at_egg_sacks) +Look at these fungal egg sacks. We found them near a crustal puncture on a shattered world. + +#(HORRIBLE_TRUTH) syreen-017.ogg +Great gods! These fragments... they are IDENTICAL to the debris we found near the punctures on Syra! +We never guessed that the fragments might be organic! +To have survived re-entry!... nothing organic would remain!... unless +UNLESS, it was genetically constructed for this purpose! +AND ONLY THE MYCONS POSSESS THIS CAPABILITY!! +THE MYCONS WILL PAY DEARLY FOR THEIR CRIMES!!! +We will not sit here and do nothing while the Mycon fiends are free to roam the galaxy, perpetrating their evil. +You wanted our cooperation in fighting the Ur-Quan. You've got it... +provided you first help us seek our revenge against the Mycon race... help us to destroy them! + +#(what_doing_here) +So, Commander Talana, what are you doing here? + +#(OUR_NEW_WORLD) syreen-018.ogg +When the Ur-Quan conquered us, over twenty years ago +I was only a young girl living in Habitat Thirty-One. +My older sister, Diani, was a starship officer in the Space Patrol +she was part of the final defense at Raynet... she didn't make it back. +When the Ur-Quan caught us in open space, we all thought we were going to die +but then, instead of killing us, the Ur-Quan offered us a choice: +we could join the ranks of their combat thralls, or we could be slave-shielded in our homeworld. +Like the people of Earth, we chose peace. We became fallow slaves. +When the Ur-Quan told us to return to our homeworld, we explained that we had none. +Ur-Quan Master Nine explained that they had encountered this situation before +and if we would provide them with a list of our requirements +they would use their extensive astronomical datastores to find a planet for us! +So we told them about Syra... about the color of its sky... about the abundant lifeforms, +about the fertility of the soil and seas. +Less than an hour later, we received a terse message from Master Nine +we were to proceed to these coordinates and disembark. This was to be our new home. +But our new world, Gaia, was everything we described. +We'd been searching for a home planet for seventy-five years +and in the end, it was our enemies who gave one to us. +I grew up on a small island off the main continent, and like all of my people +we lived each day under the sick, red glow of the slave shield. +When the Ur-Quan arrived seven years ago to refurbish and recrew this starbase +I was selected as the new commander. + +#(what_about_war) +So what happened to you at the end of the war? + +#(ABOUT_WAR) syreen-019.ogg +When we first met your people, we'd been wandering through the stars for almost seventy-five years, +ever since the death of Syra... our home planet. +We joined your Alliance, and I use the word `joined' loosely, because we had no other choice. +The VUX were raiding our slow Habitat columns, and we had nowhere else to go. +We fought for survival, Captain. Nothing more. +When your people on Earth were defeated, the Alliance just plain fell apart. +The Yehat and Shofixti retreated to their native stars and didn't want us to follow. +The Arilou, those creepy little weasels, just plain bugged out -- vanished +leaving us alone, with nowhere to go, smack in the path of the oncoming Ur-Quan Armada. +What were we supposed to do? Fight? Two-thirds of our Habitat fleet was unarmed! +Many aren't even super-luminal. +We were going to be annihilated if we resisted, and we knew it. +When the Ur-Quan surrounded us and started giving orders that all ended with, `Or Die!' +we took them at face value. We obeyed. +In exchange they gave us Gaia, the planet below. +It's a beautiful world, Captain. I wish I could show it to you. +So don't misunderstand me. We love our freedom as much as anybody else +but we've got a good life here, and we don't want to lose it. + +#(help_us) +If you love freedom and hate the Ur-Quan, why won't you help us? + +#(WONT_HELP) syreen-020.ogg +Like I said before, Captain, we would like to help +but we are unwilling to risk losing Gaia. +Unless you can find a much more compelling reason for us to get involved +you are on your own. + +#(what_about_history) +Would you tell me a bit about your people and your culture? + +#(BEFORE_WAR) syreen-021.ogg +Our species are almost identical, almost too close a match to be just a coincidence. +Our bodies are very similar, Captain. +Ha! ha! Except for... certain parts... +Our cultural development is also mostly parallel. +Like you Earthlings, we evolved a society from primitive tribes +whose main function were to protect themselves from the large reptiles native to our old world. +The main difference between our two sets of cultures... the split in the paths of our development +occurred in what would have been your prehistory, say 5000 BCE. +In your world, the agricultural communities were conquered by the more primitive but also more aggressive, migratory herding peoples. +This led to a particular kind of sexual and political dominance structure +which pervaded almost all of your Earth Cultures until the early Twenty First century. +On Syra, our only primitive migratory tribes were confined to our mountainous regions. +Their herd beasts, the Yma, did not do well in the agricultural basins and plains. +The two cultures were isolated until much later +when the technological superiority of the farmers curtailed any major conflict. + +#(what_about_homeworld) +What was Syra like? + +#(ABOUT_HOMEWORLD) syreen-022.ogg +It was our paradise, Captain, our Eden. +Earth is the only world we know of whose variety and richness of life even comes close to Syra. +Again, like so many other things about our two species, our worlds were very much the same +at least before you began encasing yours in concrete and plastic. +Syra's gravity was a bit lighter than Earth's, and its day was fifty percent longer. +Our diurnal cycle is therefore different from yours. +We spend twenty hours awake, followed by ten hours... horizontal. + +#(what_happened) +What happened to Syra? + +#(DONT_KNOW_HOW) syreen-023.ogg +This subject is very difficult for us, Captain, +but I will try to recount those sad days. +Like your solar system, ours had a large population of comets and asteroids. +Large meteor impacts, though rare, were not unheard of on our planet. +So it was not a total shock when an asteroid penetrated our atmosphere and hit the surface. +What was odd was that unlike most other meteors, this one was not pulverized on impact. +It penetrated the crust, and indeed went all the way through to the mantle +causing a `super volcano'. +The earthquakes caused by the impact were severe. +The magma pumped out of the caldera wreaked significant damage on the nearby terrain +but within a few weeks, it had cooled, forming a solid rock bandage over the wound. +Within a few months we had cleaned up the mess, the caldera was calming down nicely +and things were pretty much back to normal. +Then, just over a year after the impact, all hell broke loose on the surface of Syra. +Huge calderas were opening all over... not just around the meteor impact, but everywhere! +The scope of the disaster is impossible to imagine +Entire cities sliding into oceans of molten lava +kilometer-wide sections of land pulverized by a cataclysmic explosion +and clouds of poison gas and superheated steam created a death shroud around Syra. + +#(what_about_outfit) +Come on now, isn't that outfit, knife included, a bit absurd? + +#(HOPE_YOU_LIKE_IT) syreen-024.ogg +Maybe some other time, Captain, I can show you the hidden functionality of my uniform +knife included! + +#(where_mates) +What happened to the males of your species? + +#(MATES_KILLED) syreen-025.ogg +When Syra was destroyed, the only people who survived were in orbit +and most of them were members of our newly established, mostly female, Space Patrol. +From their ships, their orbital platforms and their lunar outposts they watched Syra die. +Within three days after the cataclysm began, the surface temperature of Syra had risen by almost 75 degrees +to above the boiling point of water. +It became clear that Syra, our paradise, our Eden, was gone. +The survivors spent years in orbit. They made a few missions to the surface +and actually found a handful of survivors, but their main activity was to make preparations for departure. +The Space Patrol fitted makeshift drive units to anything that could hold air: +orbital factories, research pods, even hotels. When the fleet was ready, they left orbit and never looked back. +The final population of our species was less than ten thousand, with only five hundred males +but they were the best and the brightest. +For the next seventy-five years, our people wandered at sub-light speed through the stars +looking for a new home. + +#(get_lonely) +Don't you ever get... lonely? Hmmm? + +#(MAKE_OUT_ALL_RIGHT) syreen-026.ogg +Ha! ha! ha! Don't worry about us, Captain! +We make out all right. + +#(bye) +Goodbye, Commander Talana. I will be back. + +#(GOODBYE) syreen-027.ogg +Until then, Earthling. + +#(MUST_ACT) +Captain. The secret of the Mycon's monstrous murder of our planet has changed the attitudes of many of my people. +We will not sit here and do nothing while the Mycon fiends are free to roam the galaxy, perpetrating their evil. +You wanted our cooperation in fighting the Ur-Quan. You've got it... provided +you first help us seek our revenge against the Mycon race... help us to destroy them! + +#(whats_next_step) +Okay. So what do you want us to do? + +#(OPEN_VAULT) syreen-028.ogg +Our first step is to get some mobility. +We have some fine starship officers on board, and they are all eager to go after the Mycons, +but without our Penetrator starships, we're totally ineffectual. +So our first step HAS to be recovering our Space Patrol combat fleet. +We know that the Ur-Quan didn't destroy them... they never waste anything +but we believe they have sealed them in some kind of deep vault in the surface of an alien planet. + +#(where_is_it) +Do you know where your ships are? + +#(DONT_KNOW_WHERE) syreen-029.ogg +No, that's your job. +But maybe we have some clues to help you find them. +The starship officers who flew the Penetrators to the vault did so with total sensor black-out. +The only thing they could use for navigation was the presence of the Dreadnought fleet surrounding them. +When they arrived at their destination and lowered their ships into the immense vault +they were transported to the Dreadnoughts and only caught a split-second glimpse of the outside world. +As far as they could tell, the sun was either red or orange. Based on their trip-time calculations +the farthest they could have travelled is about 200 HyperSpace distance units. + +#(been_there) +I've already been there. The vault is on the moon of Epsilon Camelopardalis I, but I couldn't open it. + +#(GREAT) syreen-030.ogg +Wonderful! Then the job is already almost complete! + +#(GIVE_SHUTTLE) syreen-031.ogg +Captain! We have assembled a small team of our most skilled officers. +we will send them to your ship on board their own small shuttle. +We feel that in the interests of efficiency, we keep our officers away from your crew +at least until the mission is over. +As soon as you arrive at the vault, our people will take over, figure out a way to open the vault +and bring our Penetrators back here. + +#(im_on_my_way) +Very well then, Commander Talana. I'm on my way. + +#(doing_this_for_you) +Just remember, I'm doing this for you Sweet Cakes! + +#(if_i_die) +If I die... just remember that I... I... really like you! + +#(GOOD_LUCK) syreen-032.ogg +Good luck, brave Earthling. When your mission is successful +maybe then we can... get to know each other better. + +#(OK_FOUND_VAULT) syreen-033.ogg +Good, now we can proceed with our plan for REVENGE against the Mycon! +From our analysis of the Deep Child fragments you showed to us +and a review of the recorded Mycon transmissions from the War +we have established the kind of world the Mycons desire for their hideous Deep Children. +They need a planet like your Earth... or our Syra... one rich in water and oxygen +and possessing a molten, active mantle. +Our plan is to lure the Mycons to such a planet, and then attack them when they least expect it. +We know of just such a world. +When the Ur-Quan were analyzing their mass of planetary data to find a new home for my people +one of the close candidates, ranked just below Gaia, was a blue world orbiting close to the star, Organon. +Captain, we need your services again. Here is what you must do. +You must go to the M... [truncated message content] |
From: <av...@us...> - 2011-05-15 20:45:14
|
Revision: 3610 http://sc2.svn.sourceforge.net/sc2/?rev=3610&view=rev Author: avolkov Date: 2011-05-15 20:45:07 +0000 (Sun, 15 May 2011) Log Message: ----------- Added spoken Slylandro probe coordinates; bug #732 Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/content/addons/3dovoice/probe/probe-019.ogg trunk/sc2/content/addons/3dovoice/probe/probe-030.ogg trunk/sc2/content/addons/3dovoice/probe/probe.ts trunk/sc2/content/base/comm/probe/probe.txt trunk/sc2/src/uqm/comm/druuge/druugec.c trunk/sc2/src/uqm/comm/melnorm/melnorm.c trunk/sc2/src/uqm/comm/slyland/slyland.c trunk/sc2/src/uqm/comm/slyland/strings.h trunk/sc2/src/uqm/commglue.c trunk/sc2/src/uqm/commglue.h trunk/sc2/src/uqm/globdata.h Added Paths: ----------- trunk/sc2/content/addons/3dovoice/probe/probe-031.ogg trunk/sc2/content/addons/3dovoice/probe/probe-032.ogg trunk/sc2/content/addons/3dovoice/probe/probe-033.ogg trunk/sc2/content/addons/3dovoice/probe/probe-034.ogg trunk/sc2/content/addons/3dovoice/probe/probe-035.ogg trunk/sc2/content/addons/3dovoice/probe/probe-036.ogg trunk/sc2/content/addons/3dovoice/probe/probe-037.ogg trunk/sc2/content/addons/3dovoice/probe/probe-038.ogg trunk/sc2/content/addons/3dovoice/probe/probe-039.ogg trunk/sc2/content/addons/3dovoice/probe/probe-040.ogg trunk/sc2/content/addons/3dovoice/probe/probe-041.ogg trunk/sc2/content/addons/3dovoice/probe/probe-042.ogg trunk/sc2/content/addons/3dovoice/probe/probe-043.ogg trunk/sc2/content/addons/3dovoice/probe/probe-044.ogg trunk/sc2/content/addons/3dovoice/probe/probe-045.ogg trunk/sc2/content/addons/3dovoice/probe/probe-046.ogg trunk/sc2/content/addons/3dovoice/probe/probe-047.ogg trunk/sc2/content/addons/3dovoice/probe/probe-048.ogg trunk/sc2/content/addons/3dovoice/probe/probe-049.ogg trunk/sc2/content/addons/3dovoice/probe/probe-050.ogg trunk/sc2/content/addons/3dovoice/probe/probe-051.ogg trunk/sc2/content/addons/3dovoice/probe/probe-052.ogg trunk/sc2/content/addons/3dovoice/probe/probe-053.ogg trunk/sc2/content/addons/3dovoice/probe/probe-054.ogg trunk/sc2/content/addons/3dovoice/probe/probe-055.ogg trunk/sc2/content/addons/3dovoice/probe/probe-056.ogg trunk/sc2/content/addons/3dovoice/probe/probe-057.ogg trunk/sc2/content/addons/3dovoice/probe/probe-058.ogg trunk/sc2/content/addons/3dovoice/probe/probe-059.ogg trunk/sc2/content/addons/3dovoice/probe/probe-060.ogg trunk/sc2/content/addons/3dovoice/probe/probe-061.ogg trunk/sc2/content/addons/3dovoice/probe/probe-062.ogg trunk/sc2/content/addons/3dovoice/probe/probe-063.ogg trunk/sc2/content/addons/3dovoice/probe/probe-064.ogg Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-05-14 17:27:36 UTC (rev 3609) +++ trunk/sc2/ChangeLog 2011-05-15 20:45:07 UTC (rev 3610) @@ -1,4 +1,5 @@ Changes towards version 0.7: +- Added spoken Slylandro probe coordinates (bug #732) - Nic, Alex - Added the missing bits to the no-voice versions of Mycon, Syreen and Utwig dialogue (bug #327) - Alex - Syreen dialog tree no longer resets after visiting the Syreen Vault Modified: trunk/sc2/content/addons/3dovoice/probe/probe-019.ogg =================================================================== (Binary files differ) Modified: trunk/sc2/content/addons/3dovoice/probe/probe-030.ogg =================================================================== (Binary files differ) Added: trunk/sc2/content/addons/3dovoice/probe/probe-031.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-031.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-032.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-032.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-033.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-033.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-034.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-034.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-035.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-035.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-036.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-036.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-037.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-037.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-038.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-038.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-039.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-039.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-040.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-040.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-041.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-041.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-042.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-042.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-043.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-043.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-044.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-044.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-045.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-045.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-046.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-046.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-047.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-047.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-048.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-048.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-049.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-049.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-050.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-050.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-051.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-051.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-052.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-052.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-053.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-053.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-054.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-054.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-055.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-055.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-056.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-056.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-057.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-057.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-058.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-058.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-059.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-059.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-060.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-060.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-061.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-061.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-062.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-062.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-063.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-063.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Added: trunk/sc2/content/addons/3dovoice/probe/probe-064.ogg =================================================================== (Binary files differ) Property changes on: trunk/sc2/content/addons/3dovoice/probe/probe-064.ogg ___________________________________________________________________ Added: svn:mime-type + application/ogg Modified: trunk/sc2/content/addons/3dovoice/probe/probe.ts =================================================================== --- trunk/sc2/content/addons/3dovoice/probe/probe.ts 2011-05-14 17:27:36 UTC (rev 3609) +++ trunk/sc2/content/addons/3dovoice/probe/probe.ts 2011-05-15 20:45:07 UTC (rev 3610) @@ -51,3 +51,36 @@ #(HOSTILE) 3785 #(DESTRUCT_SEQUENCE) #(destruct_code) +#(COORD_PLUS) +#(COORD_MINUS) +#(COORD_POINT) +#(ENUMERATE_HUNDRED) +#(ENUMERATE_THOUSAND) +#(ENUMERATE_ZERO) +#(ENUMERATE_ONE) +#(ENUMERATE_TWO) +#(ENUMERATE_THREE) +#(ENUMERATE_FOUR) +#(ENUMERATE_FIVE) +#(ENUMERATE_SIX) +#(ENUMERATE_SEVEN) +#(ENUMERATE_EIGHT) +#(ENUMERATE_NINE) +#(ENUMERATE_TEN) +#(ENUMERATE_ELEVEN) +#(ENUMERATE_TWELVE) +#(ENUMERATE_THIRTEEN) +#(ENUMERATE_FOURTEEN) +#(ENUMERATE_FIFTEEN) +#(ENUMERATE_SIXTEEN) +#(ENUMERATE_SEVENTEEN) +#(ENUMERATE_EIGHTEEN) +#(ENUMERATE_NINETEEN) +#(ENUMERATE_TWENTY) +#(ENUMERATE_THIRTY) +#(ENUMERATE_FOURTY) +#(ENUMERATE_FIFTY) +#(ENUMERATE_SIXTY) +#(ENUMERATE_SEVENTY) +#(ENUMERATE_EIGHTY) +#(ENUMERATE_NINETY) Modified: trunk/sc2/content/base/comm/probe/probe.txt =================================================================== --- trunk/sc2/content/base/comm/probe/probe.txt 2011-05-14 17:27:36 UTC (rev 3609) +++ trunk/sc2/content/base/comm/probe/probe.txt 2011-05-15 20:45:07 UTC (rev 3610) @@ -94,12 +94,12 @@ THIS IS PROBE 2418-B. WE REPLICATE SO THAT WE MAY EXPAND THE SCOPE OF MISSION. #(THIS_IS_PROBE_40) probe-019.ogg -THIS IS PROBE 2418-B. +THIS IS PROBE 2418-B. COORDINATES ARE: #(THIS_IS_PROBE_41) probe-030.ogg -COORDINATES ARE: +, -#(THIS_IS_PROBE_42) +#(THIS_IS_PROBE_42) probe-031.ogg . #(why_attack_1) @@ -177,3 +177,102 @@ #(destruct_code) Transmit destruct sequence! + +#(COORD_PLUS) probe-032.ogg ++ + +#(COORD_MINUS) probe-033.ogg +- + +#(COORD_POINT) probe-034.ogg +. + +#(ENUMERATE_HUNDRED) probe-035.ogg +hundred + +#(ENUMERATE_THOUSAND) probe-036.ogg +thousand + +#(ENUMERATE_ZERO) probe-037.ogg +zero + +#(ENUMERATE_ONE) probe-038.ogg +one + +#(ENUMERATE_TWO) probe-039.ogg +two + +#(ENUMERATE_THREE) probe-040.ogg +three + +#(ENUMERATE_FOUR) probe-041.ogg +four + +#(ENUMERATE_FIVE) probe-042.ogg +five + +#(ENUMERATE_SIX) probe-043.ogg +six + +#(ENUMERATE_SEVEN) probe-044.ogg +seven + +#(ENUMERATE_EIGHT) probe-045.ogg +eight + +#(ENUMERATE_NINE) probe-046.ogg +nine + +#(ENUMERATE_TEN) probe-047.ogg +ten + +#(ENUMERATE_ELEVEN) probe-048.ogg +eleven + +#(ENUMERATE_TWELVE) probe-049.ogg +twelve + +#(ENUMERATE_THIRTEEN) probe-050.ogg +thirteen + +#(ENUMERATE_FOURTEEN) probe-051.ogg +fourteen + +#(ENUMERATE_FIFTEEN) probe-052.ogg +fifteen + +#(ENUMERATE_SIXTEEN) probe-053.ogg +sixteen + +#(ENUMERATE_SEVENTEEN) probe-054.ogg +seventeen + +#(ENUMERATE_EIGHTEEN) probe-055.ogg +eighteen + +#(ENUMERATE_NINETEEN) probe-056.ogg +nineteen + +#(ENUMERATE_TWENTY) probe-057.ogg +twenty + +#(ENUMERATE_THIRTY) probe-058.ogg +thirty + +#(ENUMERATE_FOURTY) probe-059.ogg +fourty + +#(ENUMERATE_FIFTY) probe-060.ogg +fifty + +#(ENUMERATE_SIXTY) probe-061.ogg +sixty + +#(ENUMERATE_SEVENTY) probe-062.ogg +seventy + +#(ENUMERATE_EIGHTY) probe-063.ogg +eighty + +#(ENUMERATE_NINETY) probe-064.ogg +ninety Modified: trunk/sc2/src/uqm/comm/druuge/druugec.c =================================================================== --- trunk/sc2/src/uqm/comm/druuge/druugec.c 2011-05-14 17:27:36 UTC (rev 3609) +++ trunk/sc2/src/uqm/comm/druuge/druugec.c 2011-05-15 20:45:07 UTC (rev 3610) @@ -476,7 +476,7 @@ UnlockMutex (GraphicsLock); NPCPhrase (FUEL0); - NPCPhrase (-(int)f); + NPCNumber (f, NULL); NPCPhrase (FUEL1); if (f >= 250) Modified: trunk/sc2/src/uqm/comm/melnorm/melnorm.c =================================================================== --- trunk/sc2/src/uqm/comm/melnorm/melnorm.c 2011-05-14 17:27:36 UTC (rev 3609) +++ trunk/sc2/src/uqm/comm/melnorm/melnorm.c 2011-05-15 20:45:07 UTC (rev 3610) @@ -39,7 +39,7 @@ #define NUM_ALIEN_RACE_ITEMS 16 #define NUM_TECH_ITEMS 13 -static NUMBER_SPEECH_DESC melnorme_numbers_english; +static const NUMBER_SPEECH_DESC melnorme_numbers_english; static LOCDATA melnorme_desc = { @@ -159,7 +159,7 @@ ENUMERATE_NINETY }; -static NUMBER_SPEECH_DESC melnorme_numbers_english = +static const NUMBER_SPEECH_DESC melnorme_numbers_english = { 5, /* NumDigits */ { @@ -1183,9 +1183,9 @@ added_credit = GLOBAL_SIS (TotalBioMass) * BIO_CREDIT_VALUE; NPCPhrase (SOLD_LIFE_DATA1); - NPCPhrase (-(int)GLOBAL_SIS (TotalBioMass)); + NPCNumber (GLOBAL_SIS (TotalBioMass), NULL); NPCPhrase (SOLD_LIFE_DATA2); - NPCPhrase (-(int)added_credit); + NPCNumber (added_credit, NULL); NPCPhrase (SOLD_LIFE_DATA3); // queue WHAT_TO_SELL before talk-segue if (num_new_rainbows) @@ -1231,9 +1231,9 @@ added_credit = num_new_rainbows * (250 * BIO_CREDIT_VALUE); NPCPhrase (SOLD_RAINBOW_LOCATIONS1); - NPCPhrase (-(int)num_new_rainbows); + NPCNumber (num_new_rainbows, NULL); NPCPhrase (SOLD_RAINBOW_LOCATIONS2); - NPCPhrase (-(int)added_credit); + NPCNumber (added_credit, NULL); NPCPhrase (SOLD_RAINBOW_LOCATIONS3); num_new_rainbows += GET_GAME_STATE (MELNORME_RAINBOW_COUNT); Modified: trunk/sc2/src/uqm/comm/slyland/slyland.c =================================================================== --- trunk/sc2/src/uqm/comm/slyland/slyland.c 2011-05-14 17:27:36 UTC (rev 3609) +++ trunk/sc2/src/uqm/comm/slyland/slyland.c 2011-05-15 20:45:07 UTC (rev 3610) @@ -17,6 +17,7 @@ */ #include "../commall.h" +#include <math.h> #include "resinst.h" #include "strings.h" @@ -25,6 +26,8 @@ #include "uqm/setup.h" +static const NUMBER_SPEECH_DESC probe_numbers_english; + static LOCDATA slylandro_desc = { NULL, /* init_encounter_func */ @@ -110,13 +113,97 @@ 0, 0, /* RestartRate */ 0, /* BlockMask */ }, - NULL, /* AlienNumberSpeech - none */ + &probe_numbers_english, /* AlienNumberSpeech - default */ /* Filler for loaded resources */ NULL, NULL, NULL, NULL, NULL, }; +static COUNT probe_digit_names[] = +{ + ENUMERATE_ZERO, + ENUMERATE_ONE, + ENUMERATE_TWO, + ENUMERATE_THREE, + ENUMERATE_FOUR, + ENUMERATE_FIVE, + ENUMERATE_SIX, + ENUMERATE_SEVEN, + ENUMERATE_EIGHT, + ENUMERATE_NINE, +}; + +static COUNT probe_teen_names[] = +{ + ENUMERATE_TEN, + ENUMERATE_ELEVEN, + ENUMERATE_TWELVE, + ENUMERATE_THIRTEEN, + ENUMERATE_FOURTEEN, + ENUMERATE_FIFTEEN, + ENUMERATE_SIXTEEN, + ENUMERATE_SEVENTEEN, + ENUMERATE_EIGHTEEN, + ENUMERATE_NINETEEN, +}; + +static COUNT probe_tens_names[] = +{ + 0, /* invalid */ + 0, /* skip digit */ + ENUMERATE_TWENTY, + ENUMERATE_THIRTY, + ENUMERATE_FOURTY, + ENUMERATE_FIFTY, + ENUMERATE_SIXTY, + ENUMERATE_SEVENTY, + ENUMERATE_EIGHTY, + ENUMERATE_NINETY, +}; + +static const NUMBER_SPEECH_DESC probe_numbers_english = +{ + 5, /* NumDigits */ + { + { /* 1000-999999 */ + 1000, /* Divider */ + 0, /* Subtrahend */ + NULL, /* StrDigits - recurse */ + NULL, /* Names - not used */ + ENUMERATE_THOUSAND /* CommonIndex */ + }, + { /* 100-999 */ + 100, /* Divider */ + 0, /* Subtrahend */ + probe_digit_names, /* StrDigits */ + NULL, /* Names - not used */ + ENUMERATE_HUNDRED /* CommonIndex */ + }, + { /* 20-99 */ + 10, /* Divider */ + 0, /* Subtrahend */ + probe_tens_names, /* StrDigits */ + NULL, /* Names - not used */ + 0 /* CommonIndex - not used */ + }, + { /* 10-19 */ + 1, /* Divider */ + 10, /* Subtrahend */ + probe_teen_names, /* StrDigits */ + NULL, /* Names - not used */ + 0 /* CommonIndex - not used */ + }, + { /* 0-9 */ + 1, /* Divider */ + 0, /* Subtrahend */ + probe_digit_names, /* StrDigits */ + NULL, /* Names - not used */ + 0 /* CommonIndex - not used */ + } + } +}; + static RESPONSE_REF threat, something_wrong, we_are_us, @@ -124,6 +211,19 @@ bye; static void +sayCoord (int coord) +{ + int ac; + + ac = abs (coord); + + NPCPhrase_splice (coord < 0 ? COORD_MINUS : COORD_PLUS); + NPCNumber (ac / 10, "%03d"); + NPCPhrase_splice (COORD_POINT); + NPCNumber (ac % 10, NULL); +} + +static void CombatIsInevitable (RESPONSE_REF R) { if (R == 0) @@ -266,13 +366,6 @@ else if (PLAYER_SAID (R, we_are_us)) { NumVisits = GET_GAME_STATE (SLYLANDRO_PROBE_ID); - if (NumVisits == 3 && !optSubtitles) - { - /* If playing without subtitles, don't use the - * last item in the conversation tree, which mentions - * coordinates which can't be spoken. */ - NumVisits--; - } switch (NumVisits++) { case 0: @@ -286,9 +379,16 @@ break; case 3: { + SIZE dx, dy; + + // Probe's coordinate system is {-Y,X} relative to B Corvi + dx = LOGX_TO_UNIVERSE (GLOBAL_SIS (log_x)) - 333; + dy = 9812 - LOGY_TO_UNIVERSE (GLOBAL_SIS (log_y)); + NPCPhrase (THIS_IS_PROBE_40); - NPCPhrase (THIS_IS_PROBE_41); - NPCPhrase (GLOBAL_PLAYER_LOCATION); + sayCoord (dy); + NPCPhrase_splice (THIS_IS_PROBE_41); + sayCoord (dx); NPCPhrase (THIS_IS_PROBE_42); --NumVisits; Modified: trunk/sc2/src/uqm/comm/slyland/strings.h =================================================================== --- trunk/sc2/src/uqm/comm/slyland/strings.h 2011-05-14 17:27:36 UTC (rev 3609) +++ trunk/sc2/src/uqm/comm/slyland/strings.h 2011-05-15 20:45:07 UTC (rev 3610) @@ -75,6 +75,39 @@ HOSTILE, DESTRUCT_SEQUENCE, destruct_code, + COORD_PLUS, + COORD_MINUS, + COORD_POINT, + ENUMERATE_HUNDRED, + ENUMERATE_THOUSAND, + ENUMERATE_ZERO, + ENUMERATE_ONE, + ENUMERATE_TWO, + ENUMERATE_THREE, + ENUMERATE_FOUR, + ENUMERATE_FIVE, + ENUMERATE_SIX, + ENUMERATE_SEVEN, + ENUMERATE_EIGHT, + ENUMERATE_NINE, + ENUMERATE_TEN, + ENUMERATE_ELEVEN, + ENUMERATE_TWELVE, + ENUMERATE_THIRTEEN, + ENUMERATE_FOURTEEN, + ENUMERATE_FIFTEEN, + ENUMERATE_SIXTEEN, + ENUMERATE_SEVENTEEN, + ENUMERATE_EIGHTEEN, + ENUMERATE_NINETEEN, + ENUMERATE_TWENTY, + ENUMERATE_THIRTY, + ENUMERATE_FOURTY, + ENUMERATE_FIFTY, + ENUMERATE_SIXTY, + ENUMERATE_SEVENTY, + ENUMERATE_EIGHTY, + ENUMERATE_NINETY, }; #endif /* _STRINGS_H */ Modified: trunk/sc2/src/uqm/commglue.c =================================================================== --- trunk/sc2/src/uqm/commglue.c 2011-05-14 17:27:36 UTC (rev 3609) +++ trunk/sc2/src/uqm/commglue.c 2011-05-15 20:45:07 UTC (rev 3610) @@ -26,12 +26,12 @@ #include <assert.h> #include "libs/log.h" -int NPCNumberPhrase (int number, UNICODE **ptrack); +static int NPCNumberPhrase (int number, const char *fmt, UNICODE **ptrack); void NPCPhrase_cb (int index, TFB_TrackCB cb) { - UNICODE *pStr, numbuf[400]; + UNICODE *pStr, buf[400]; void *pClip, *pTimeStamp; switch (index) @@ -46,54 +46,25 @@ pClip = 0; pTimeStamp = 0; break; - case GLOBAL_PLAYER_LOCATION: - { - SIZE dx, dy; - COUNT adx, ady; - - dx = LOGX_TO_UNIVERSE (GLOBAL_SIS (log_x)) - 333; - adx = dx >= 0 ? dx : -dx; - dy = 9812 - LOGY_TO_UNIVERSE (GLOBAL_SIS (log_y)); - ady = dy >= 0 ? dy : -dy; - sprintf (numbuf, - "%+04d.%01u,%+04d.%01u", - (SIZE)(dy / 10), (COUNT)(ady % 10), - (SIZE)(dx / 10), (COUNT)(adx % 10)); - pStr = numbuf; - pClip = 0; - pTimeStamp = 0; - break; - } case 0: { return; } default: if (index < 0) - { - if (index > UNREASONABLE_NUMBER) - { - if (CommData.AlienNumberSpeech) - { - NPCNumberPhrase (-index, NULL); - return; - } - sprintf (numbuf, "%d", -index); - } - else - { - COUNT i; - STRING S; + { // One of the alliance name variants + COUNT i; + STRING S; - index -= GLOBAL_ALLIANCE_NAME; + index -= GLOBAL_ALLIANCE_NAME; - i = GET_GAME_STATE (NEW_ALLIANCE_NAME); - S = SetAbsStringTableIndex (CommData.ConversationPhrases, (index - 1) + i); - strcpy (numbuf, (UNICODE *)GetStringAddress (S)); - if (i == 3) - strcat (numbuf, GLOBAL_SIS (CommanderName)); - } - pStr = numbuf; + i = GET_GAME_STATE (NEW_ALLIANCE_NAME); + S = SetAbsStringTableIndex (CommData.ConversationPhrases, (index - 1) + i); + strcpy (buf, (UNICODE *)GetStringAddress (S)); + if (i == 3) + strcat (buf, GLOBAL_SIS (CommanderName)); + + pStr = buf; pClip = 0; pTimeStamp = 0; } @@ -115,9 +86,57 @@ SpliceTrack (pClip, pStr, pTimeStamp, cb); } -int -NPCNumberPhrase (int number, UNICODE **ptrack) +// Special case variant: prevents page breaks. +void +NPCPhrase_splice (int index) { + UNICODE *pStr; + void *pClip; + + assert (index >= 0); + if (index == 0) + return; + + pStr = (UNICODE *)GetStringAddress ( + SetAbsStringTableIndex (CommData.ConversationPhrases, index - 1)); + pClip = GetStringSoundClip ( + SetAbsStringTableIndex (CommData.ConversationPhrases, index - 1)); + + if (!pClip) + { // Just appending some text + SpliceTrack (NULL, pStr, NULL, NULL); + } + else + { // Splicing in some voice + UNICODE *tracks[] = {NULL, NULL}; + + tracks[0] = pClip; + SpliceMultiTrack (tracks, pStr); + } +} + +void +NPCNumber (int number, const char *fmt) +{ + UNICODE buf[32]; + + if (!fmt) + fmt = "%d"; + + if (CommData.AlienNumberSpeech) + { + NPCNumberPhrase (number, fmt, NULL); + return; + } + + // just splice in the subtitle text + snprintf (buf, sizeof buf, fmt, number); + SpliceTrack (NULL, buf, NULL, NULL); +} + +static int +NPCNumberPhrase (int number, const char *fmt, UNICODE **ptrack) +{ #define MAX_NUMBER_TRACKS 20 NUMBER_SPEECH speech = CommData.AlienNumberSpeech; COUNT i; @@ -125,6 +144,7 @@ int toplevel = 0; UNICODE *TrackNames[MAX_NUMBER_TRACKS]; UNICODE numbuf[60]; + const SPEECH_DIGIT* dig = NULL; if (!speech) return 0; @@ -132,15 +152,17 @@ if (!ptrack) { toplevel = 1; - sprintf (numbuf, "%d", number); + if (!fmt) + fmt = "%d"; + sprintf (numbuf, fmt, number); ptrack = TrackNames; } for (i = 0; i < speech->NumDigits; ++i) { - SPEECH_DIGIT* dig = speech->Digits + i; int quot; + dig = speech->Digits + i; quot = number / dig->Divider; if (quot == 0) @@ -166,7 +188,7 @@ } else { - int ctracks = NPCNumberPhrase (quot, ptrack); + int ctracks = NPCNumberPhrase (quot, NULL, ptrack); ptrack += ctracks; queued += ctracks; } @@ -181,9 +203,7 @@ { *ptrack++ = GetStringSoundClip ( SetAbsStringTableIndex ( - CommData.ConversationPhrases, - (COUNT) (name->StrIndex - 1) - )); + CommData.ConversationPhrases, name->StrIndex - 1)); queued++; break; } @@ -192,9 +212,7 @@ else if (dig->CommonNameIndex != 0) { *ptrack++ = GetStringSoundClip (SetAbsStringTableIndex ( - CommData.ConversationPhrases, - (COUNT) (dig->CommonNameIndex - 1) - )); + CommData.ConversationPhrases, dig->CommonNameIndex - 1)); queued++; } @@ -205,11 +223,9 @@ { if (queued == 0) { // nothing queued, say "zero" + assert (number == 0); *ptrack++ = GetStringSoundClip (SetAbsStringTableIndex ( - CommData.ConversationPhrases, - speech->Digits[speech->NumDigits - 1].StrDigits[0] - )); - + CommData.ConversationPhrases, dig->StrDigits[number] - 1)); } *ptrack++ = NULL; // term Modified: trunk/sc2/src/uqm/commglue.h =================================================================== --- trunk/sc2/src/uqm/commglue.h 2011-05-14 17:27:36 UTC (rev 3609) +++ trunk/sc2/src/uqm/commglue.h 2011-05-15 20:45:07 UTC (rev 3610) @@ -74,10 +74,7 @@ { GLOBAL_PLAYER_NAME = -1000000, GLOBAL_SHIP_NAME, - GLOBAL_PLAYER_LOCATION, - GLOBAL_ALLIANCE_NAME, - UNREASONABLE_NUMBER = GLOBAL_ALLIANCE_NAME + 1000, }; typedef COUNT RESPONSE_REF; @@ -90,6 +87,8 @@ extern void NPCPhrase_cb (int index, TFB_TrackCB cb); #define NPCPhrase(index) NPCPhrase_cb ((index), NULL) +extern void NPCPhrase_splice (int index); +extern void NPCNumber (int number, const char *fmt); #define ALLIANCE_NAME_BUFSIZE 256 extern void GetAllianceName (UNICODE *buf, RESPONSE_REF name_1); Modified: trunk/sc2/src/uqm/globdata.h =================================================================== --- trunk/sc2/src/uqm/globdata.h 2011-05-14 17:27:36 UTC (rev 3609) +++ trunk/sc2/src/uqm/globdata.h 2011-05-15 20:45:07 UTC (rev 3610) @@ -82,7 +82,7 @@ // 0-9, 10-19, ..20-90, ..100-900, etc. SPEECH_DIGIT Digits[MAX_SPEECH_DIGITS]; } NUMBER_SPEECH_DESC; -typedef NUMBER_SPEECH_DESC *NUMBER_SPEECH; +typedef const NUMBER_SPEECH_DESC *NUMBER_SPEECH; typedef DWORD LDAS_FLAGS; #define LDASF_NONE ((LDAS_FLAGS) 0 ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-05-17 21:49:09
|
Revision: 3616 http://sc2.svn.sourceforge.net/sc2/?rev=3616&view=rev Author: avolkov Date: 2011-05-17 21:48:59 +0000 (Tue, 17 May 2011) Log Message: ----------- Updated documentation for 0.7 release Modified Paths: -------------- trunk/sc2/Contributing trunk/sc2/INSTALL trunk/sc2/INSTALL.macosx trunk/sc2/INSTALL.mingw trunk/sc2/INSTALL.msvc trunk/sc2/README trunk/sc2/build/unix_installer/USAGE trunk/sc2/build/unix_installer/template trunk/sc2/doc/devel/checklist trunk/sc2/doc/devel/versions trunk/sc2/doc/users/unixinstall Modified: trunk/sc2/Contributing =================================================================== --- trunk/sc2/Contributing 2011-05-17 18:58:06 UTC (rev 3615) +++ trunk/sc2/Contributing 2011-05-17 21:48:59 UTC (rev 3616) @@ -115,7 +115,6 @@ - General issues Michael Martin (mcmartin at stanford.edu), McMartin at #sc2 - Threading - - Alien communications code - Graphics - Input system - In-game configuration @@ -123,6 +122,7 @@ Alex Volkov (codepro at usa.net), fOSSiL at #sc2 - Graphics - Sound (particularly MixSDL) + - Alien communications code - General issues - Only submit code that can be used under the GPL. By submitting code you hold the copyright to, you agree that it can be used under the term of Modified: trunk/sc2/INSTALL =================================================================== --- trunk/sc2/INSTALL 2011-05-17 18:58:06 UTC (rev 3615) +++ trunk/sc2/INSTALL 2011-05-17 21:48:59 UTC (rev 3616) @@ -10,7 +10,7 @@ Debian package: make For Windows: -Microsoft Visual C++ 6 or 7 (or MinGW+MSYS, see INSTALL.mingw for that) +Microsoft Visual C++ 6 or newer (or MinGW+MSYS, see INSTALL.mingw for that) Visual C++ 6.0 Processor Pack (if using VC6, to build MMX-accelerated code) http://msdn.microsoft.com/vstudio/downloads/tools/ppack/ @@ -21,7 +21,7 @@ http://developer.apple.com/tools/macosxtools.html Additionally, The Ur-Quan Masters requires the following libraries: -Note that dependancies can differ between different OS's. +Note that dependencies can differ between different OS's. OpenGL v1.2 (if HAVE_OPENGL is defined, which is the default) Win32 users should have all by default, following is for Linux version: @@ -45,12 +45,12 @@ Download: http://www.libsdl.org/projects/SDL_image/release/ Debian packages: libsdl-image1.2 libsdl-image1.2-dev -OpenAL (Win32 only) +OpenAL (optional) A cross-platform spatialized audio library. Homepage: http://www.openal.org/ - SDK download: http://developer.creative.com/articles/article.asp?aid=45&file=OpenAL11CoreSDK.exe + Windows SDK download: http://connect.creativelabs.com/openal/Downloads/OpenAL11CoreSDK.zip -libogg and libvorbis +libogg and libvorbis (optional but highly recommended) Audio codec to play Ogg Vorbis files, used for music and speech. Homepage: http://www.xiph.org/ogg/vorbis/index.html Download: @@ -68,10 +68,10 @@ Homepage: http://www.xiph.org/vorbis/ Download: http://svn.xiph.org/trunk/Tremor (Subversion) -Libmikmod - Audio codec to play .mof files, used for the original PC music. +Libmikmod (also included with UQM source) + Audio codec to play .mod files, used for the original PC music. Homepage: http://mikmod.raphnet.net/ - Download: http://sourceforge.net/project/showfiles.php?group_id=40531 + Download: https://sourceforge.net/projects/mikmod/files/ Zlib v1.2 Data compression / decompression library Modified: trunk/sc2/INSTALL.macosx =================================================================== --- trunk/sc2/INSTALL.macosx 2011-05-17 18:58:06 UTC (rev 3615) +++ trunk/sc2/INSTALL.macosx 2011-05-17 21:48:59 UTC (rev 3616) @@ -7,6 +7,9 @@ Only the Runtime is truly necessary, but the devel extras are nice. SDL_image: http://www.libsdl.org/projects/SDL_image/ +The last version of stock framework that can be used is v1.2.7. +Starting with v1.2.8, the stock framework uses ImageIO by default +to load PNG files, which strips out the PNG palettes. Ogg Vorbis: http://www.xiph.org/downloads/ Theoretically optional, but necessary if you're using the 3DO music Modified: trunk/sc2/INSTALL.mingw =================================================================== --- trunk/sc2/INSTALL.mingw 2011-05-17 18:58:06 UTC (rev 3615) +++ trunk/sc2/INSTALL.mingw 2011-05-17 21:48:59 UTC (rev 3616) @@ -4,18 +4,18 @@ First, download and install the latest version of MinGW and then MSYS. (You can get them from <http://www.mingw.org/>). -You'll need all the libraries described in the INSTALL file in CVS. +You'll need all the libraries described in the INSTALL file in SVN. You should get the 'mingw' development build for SDL, and follow the instructions to install it into mingw. All others will be either for win32 or VC. These are the files you need to download: -http://www.libsdl.org/release/SDL-devel-1.2.8-mingw32.tar.gz -http://www.libsdl.org/projects/SDL_image/release/SDL_image-devel-1.2.4-VC6.zip -ftp://opensource.creative.com/pub/sdk/OpenALSDK.zip -http://www.vorbis.com/files/1.0/windows/OggVorbis-win32sdk-1.0.zip -http://www.gzip.org/zlib/zlib122-dll.zip +http://www.libsdl.org/release/SDL-devel-1.2.14-mingw32.zip +http://www.libsdl.org/projects/SDL_image/release/SDL_image-devel-1.2.10-VC.zip +http://connect.creativelabs.com/openal/Downloads/OpenAL11CoreSDK.zip (optional) +http://www.vorbis.com/files/1.0.1/windows/OggVorbis-win32sdk-1.0.1.zip +http://www.gzip.org/zlib/zlib125-dll.zip You can now do either of the following: @@ -28,8 +28,8 @@ respective include and library dirs where you installed them. i.e. something like: - export C_INCLUDE_PATH=/mingw/include/SDL:/c/VClibs/SDL_image-1.2.4/include/:/c/VClibs/OpenAL\ 1.0\ SDK/Include/:/c/VClibs/oggvorbis-win32sdk-1.0/include/:c/VClibs/zlib/include/ - export LIBRARY_PATH=/c/VClibs/SDL_image-1.2.4/lib/:/c/VClibs/OpenAL\ 1.0\ SDK/libs/:/c/VClibs/oggvorbis-win32sdk-1.0/lib/:c/VClibs/zlib/lib/ + export C_INCLUDE_PATH=/mingw/include/SDL:/c/VClibs/SDL_image-1.2.10/include/:/c/VClibs/OpenAL\ 1.1\ SDK/Include/:/c/VClibs/oggvorbis-win32sdk-1.0.1/include/:c/VClibs/zlib/include/ + export LIBRARY_PATH=/c/VClibs/SDL_image-1.2.10/lib/:/c/VClibs/OpenAL\ 1.1\ SDK/libs/:/c/VClibs/oggvorbis-win32sdk-1.0.1/lib/:c/VClibs/zlib/lib/ NOTE: If you use the 2nd method above, you need to include the path to SDL in C_INCLUDE_PATH (but not in LIBRARY_PATH) @@ -38,6 +38,12 @@ this file, download <http://sc2.sourceforge.net/misc/_G_config.h> and put it to \[MinGW]\include. +If you want to build with OpenAL support, you need to modify the OpenAL SDK +installation somewhat: +- Create a directory "AL" in "C:\VClibs\OpenAL 1.1 SDK\include" +- Copy all the .h files from "C:\VClibs\OpenAL 1.1 SDK\include" + into the newly created "AL" directory. + Now you're ready to build. Start up MSYS (the installer put an icon in your Start Menu and on the desktop). Modified: trunk/sc2/INSTALL.msvc =================================================================== --- trunk/sc2/INSTALL.msvc 2011-05-17 18:58:06 UTC (rev 3615) +++ trunk/sc2/INSTALL.msvc 2011-05-17 21:48:59 UTC (rev 3616) @@ -10,14 +10,16 @@ 1. Install the Microsoft development environment -1.1. Install Microsoft Visual C++ 2005 Express Edition: -- Download the installer from http://msdn.microsoft.com/vstudio/express/visualc/ +1.1. Install Microsoft Visual C++ 2008 Express Edition: +- Download the installer from + http://www.microsoft.com/downloads/details.aspx?familyid=94de806b-e1a1-4282-abc5-1f7347782553 - Run the installer, and follow the instructions. There's no need to register your copy of MSVC++ to use it for compiling UQM. 1.2. Install the Microsoft Windows Platform SDK: - Download the installer from http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB + or a newer version of the SDK - Run the installer, and follow the instructions. @@ -28,7 +30,7 @@ - Download the installer from http://tortoisesvn.net/downloads - Run the installer, and follow the instructions -2.2. Install WinZip, which we use to extract the compressed .zip files. +2.2. Install WinZip, if you cannot open .zip files natively: - Download WinZip from http://www.winzip.com/downwzeval.htm - Run the installer, and follow the instructions @@ -42,26 +44,26 @@ 3.2 Install the SDL SDK: - Download SDL-devel-1.2.14-VC6.zip from http://www.libsdl.org/download-1.2.php -- Use WinZip to Extract the .zip file in "C:\Build" +- Unzip ("Extract" in WinZip) the file in "C:\Build" A folder "SDL-1.2.14" will be created. 3.3 Install the SDL_image SDK: - Download SDL_image-devel-1.2.10-VC.zip from http://www.libsdl.org/projects/SDL_image/ -- Use WinZip to Extract the .zip file in "C:\Build" +- Unzip ("Extract" in WinZip) the file in "C:\Build" A folder "SDL_image-1.2.10" will be created. 3.4 Install the Ogg Vorbis SDK - Download http://www.vorbis.com/files/1.0.1/windows/OggVorbis-win32sdk-1.0.1.zip -- Use WinZip to Extract the .zip file in "C:\Build" +- Unzip ("Extract" in WinZip) the file in "C:\Build" A folder "oggvorbis-win32sdk-1.0.1" will be created. 3.5 Install zlib: - Download zlib123-dll.zip ("zlib compiled DLL") from http://www.gzip.org/zlib/ -- Create a folder "zlib-1.2.3" in "C:\Build\" -- Extract "zlib123-dll.zip" in C:\Build\zlib-1.2.3\" +- Create a folder "zlib-1.2.5" in "C:\Build\" +- Unzip "zlib125-dll.zip" in C:\Build\zlib-1.2.5\" 3.6 Install OpenAL - Download http://connect.creativelabs.com/openal/Downloads/OpenAL11CoreSDK.zip @@ -106,8 +108,7 @@ 5.1. Import the VC6 .dsp file: - Open C:\Build\sc2\build\msvc6\ and double-click on "UrQuanMasters.dsp". - Visual C++ 2005 Express Edition will start. Confirm when it asks to - convert the VC6 .dsp file. + Visual C++ will start. Confirm when it asks to convert the VC6 .dsp file. 5.2. Setup the additional include locations for the project: - Still in MSVC++, right click on 'UrQuanMasters' in the Solution Explorer, @@ -123,7 +124,7 @@ - "C:\Build\SDL_image-1.2.10\include" - "C:\Build\oggvorbis-win32sdk-1.0.1\include" - "C:\Program Files\OpenAL 1.1 SDK\include" - - "C:\Build\zlib-1.2.3\include" + - "C:\Build\zlib-1.2.5\include" 5.3. Setup the additional library locations for the project: - Still in the project properties pages, in the left part of the screen, @@ -137,7 +138,7 @@ - "C:\Build\SDL_image-1.2.10\lib" - "C:\Build\oggvorbis-win32sdk-1.0.1\lib" - "C:\Program Files\OpenAL 1.1 SDK\libs\Win32" - - "C:\Build\zlib-1.2.3\lib" + - "C:\Build\zlib-1.2.5\lib" 5.4. Remove unnecessary dependencies - Still in the "Linker" part of the project properties pages, in the left Modified: trunk/sc2/README =================================================================== --- trunk/sc2/README 2011-05-17 18:58:06 UTC (rev 3615) +++ trunk/sc2/README 2011-05-17 21:48:59 UTC (rev 3616) @@ -7,8 +7,13 @@ their permission and encouragement. If you've got this file from the source tree, you can find everything -you need to get started in INSTALL (INSTALL.mingw for MinGW) and -doc/users/unixinstall. +you need to get started in INSTALL. Additionally and depending on your +platform, please see: + INSTALL.mingw for MinGW build instructions + INSTALL.msvc for MSVC++ build instructions + INSTALL.macosx for MacOS X build instructions + INSTALL.symbian for Symbian build instructions + doc/users/unixinstall The home page of the project is located at http://sc2.sourceforge.net/ You can find links to downloads, our bug database, and our forum there. Modified: trunk/sc2/build/unix_installer/USAGE =================================================================== --- trunk/sc2/build/unix_installer/USAGE 2011-05-17 18:58:06 UTC (rev 3615) +++ trunk/sc2/build/unix_installer/USAGE 2011-05-17 21:48:59 UTC (rev 3616) @@ -4,7 +4,7 @@ - Change build/unix_installer/template to suit your needs. -- From the top of the cvs tree, run the following command, changing +- From the 'sc2' dir of the svn tree, run the following command, changing the arguments if necessary. The first one is the name of the final executable, the second the template to use. Modified: trunk/sc2/build/unix_installer/template =================================================================== --- trunk/sc2/build/unix_installer/template 2011-05-17 18:58:06 UTC (rev 3615) +++ trunk/sc2/build/unix_installer/template 2011-05-17 21:48:59 UTC (rev 3616) @@ -1,23 +1,23 @@ # Template file for building the UQM installer for unix Systems. # By Serge van den Boom, 2003-02-23 -UQM_VERSION="0.2" +UQM_VERSION="0.7" UQM_LICENSE_FILE="COPYING" UQM_PACKAGES="content voice 3domusic" UQM_PACKAGE_content_NAME="content" UQM_PACKAGE_content_TITLE="General game data" -UQM_PACKAGE_content_LOCATION="share/uqm/content/" +UQM_PACKAGE_content_LOCATION="share/uqm/content/packages/" UQM_PACKAGE_content_OPTIONAL="FALSE" UQM_PACKAGE_content_DEFAULT="TRUE" UQM_PACKAGE_voice_NAME="voice" UQM_PACKAGE_voice_TITLE="Spoken alien communication" -UQM_PACKAGE_voice_LOCATION="share/uqm/content/" +UQM_PACKAGE_voice_LOCATION="share/uqm/content/addons/" UQM_PACKAGE_voice_OPTIONAL="TRUE" UQM_PACKAGE_voice_DEFAULT="TRUE" UQM_PACKAGE_3domusic_NAME="3domusic" UQM_PACKAGE_3domusic_TITLE="Music from the 3DO version" -UQM_PACKAGE_3domusic_LOCATION="share/uqm/content/" +UQM_PACKAGE_3domusic_LOCATION="share/uqm/content/addons/" UQM_PACKAGE_3domusic_OPTIONAL="TRUE" UQM_PACKAGE_3domusic_DEFAULT="TRUE" Modified: trunk/sc2/doc/devel/checklist =================================================================== --- trunk/sc2/doc/devel/checklist 2011-05-17 18:58:06 UTC (rev 3615) +++ trunk/sc2/doc/devel/checklist 2011-05-17 21:48:59 UTC (rev 3616) @@ -13,19 +13,16 @@ - doc/users/unixinstall - Contributing - AUTHORS - - INSTALL + - INSTALL (and platform variants) - unix man pages (in the future) Building the release: -- make a new tag for the cvs repository - make a final build in release mode - for the source archive: - - use a clean cvs dir. - Just using 'cvs update' and watching the output will not be - enough, as some files like those beginning with '.#'will be ignored. - Make sure it is the most recent version (check out using authenticated - cvs), but modify the CVS/Root files to refer to anonymous CVS. + - use a clean subversion checkout. + Just using 'svn update' and watching the output will not be + enough, as the files not in repository will be ignored. - be sure to include content/version - Building the content packages: - make sure the permissions in the .zip files are ok (0644 for data files @@ -50,5 +47,5 @@ Moving on to the next version: - update the snapshots page so that content diffs are generated to the most recent release +- update doc/devel/versions with the release revision - Modified: trunk/sc2/doc/devel/versions =================================================================== --- trunk/sc2/doc/devel/versions 2011-05-17 18:58:06 UTC (rev 3615) +++ trunk/sc2/doc/devel/versions 2011-05-17 21:48:59 UTC (rev 3616) @@ -35,3 +35,8 @@ Version 0.6.3: Revision 2828 Version 0.6.4: Revision 2869 Version 0.6.5: Revision 3110 +Version 0.6.6: Revision 3143 +Version 0.6.7: Revision 3276 +Version 0.6.8: Revision 3334 +Version 0.6.9: Revision 3537 +Version 0.7.0-rc1: Revision 3574 Modified: trunk/sc2/doc/users/unixinstall =================================================================== --- trunk/sc2/doc/users/unixinstall 2011-05-17 18:58:06 UTC (rev 3615) +++ trunk/sc2/doc/users/unixinstall 2011-05-17 21:48:59 UTC (rev 3616) @@ -9,12 +9,13 @@ 2. If you haven't done so already, download the content .uqm files packages that you want, from where you got this source package. -You'll need uqm-0.6.0-content.uqm; uqm-0.6.0-3domusic.uqm (music from the 3DO -version) and uqm-0.6.0-voice.uqm (spoken alien dialogs) are optional. +You'll need uqm-0.7.0-content.uqm; uqm-0.7.0-3domusic.uqm (music from the 3DO +version) and uqm-0.7.0-voice.uqm (spoken alien dialogs) are optional. -Put these .uqm files in the directory content/packages/ which exists +Put the uqm-0.7.0-content.uqm in the directory content/packages/ which exists in the top directory of the source tree (the dir with (among others) COPYING, src/, and build.var.in). +Put the optional music and voice packages in the content/addons/ directory. 3. @@ -35,7 +36,7 @@ Done. You can start the game now with the command 'uqm'. You may also delete the source (with the .uqm files you put in -content/packages) if you want. +content/) if you want. If you want to recompile with other options, you can use This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-06-24 17:38:18
|
Revision: 3624 http://sc2.svn.sourceforge.net/sc2/?rev=3624&view=rev Author: avolkov Date: 2011-06-24 17:38:12 +0000 (Fri, 24 Jun 2011) Log Message: ----------- Actually build a debug exe in strict-debug mode; bug #1127; from Scott A. Colcord Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/build/unix/build.config trunk/sc2/doc/devel/versions Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-06-01 18:55:48 UTC (rev 3623) +++ trunk/sc2/ChangeLog 2011-06-24 17:38:12 UTC (rev 3624) @@ -1,4 +1,5 @@ Changes towards version 0.7: +- Build with debug info in strict-debug mode (bug #1127), from Scott A. Colcord - Added spoken Slylandro probe coordinates (bug #732) - Nic, Alex - Added the missing bits to the no-voice versions of Mycon, Syreen and Utwig dialogue (bug #327) - Alex Modified: trunk/sc2/build/unix/build.config =================================================================== --- trunk/sc2/build/unix/build.config 2011-06-01 18:55:48 UTC (rev 3623) +++ trunk/sc2/build/unix/build.config 2011-06-24 17:38:12 UTC (rev 3624) @@ -151,7 +151,7 @@ ;; *) CFLAGS="$CFLAGS -O1" # This is needed for -Wunitialized - CFLAGS="$CFLAGS -W -Wall \ + CFLAGS="$CFLAGS -g -DDEBUG -W -Wall \ -Wbad-function-cast -Wcast-qual -Wmissing-prototypes \ -Wstrict-prototypes -Wmissing-declarations \ -Wwrite-strings -Wimplicit -Wreturn-type -Wformat \ @@ -179,6 +179,7 @@ CFLAGS=`echo $CFLAGS` # Remove all the unnecessary spaces from $CFLAGS, # for more readable messages. + LDFLAGS="$LDFLAGS -O0" ;; esac DEBUG=1 Modified: trunk/sc2/doc/devel/versions =================================================================== --- trunk/sc2/doc/devel/versions 2011-06-01 18:55:48 UTC (rev 3623) +++ trunk/sc2/doc/devel/versions 2011-06-24 17:38:12 UTC (rev 3624) @@ -39,4 +39,4 @@ Version 0.6.7: Revision 3276 Version 0.6.8: Revision 3334 Version 0.6.9: Revision 3537 -Version 0.7.0-rc1: Revision 3574 +Version 0.7.0-rc2: Revision 3622 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-07-08 20:37:10
|
Revision: 3634 http://sc2.svn.sourceforge.net/sc2/?rev=3634&view=rev Author: avolkov Date: 2011-07-08 20:37:02 +0000 (Fri, 08 Jul 2011) Log Message: ----------- Added the MetaChron story to the no-voice Melnorme script; bug #43 Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/content/addons/3dovoice/3dovoice.rmp trunk/sc2/content/base/comm/melnorme/melnorme.txt Added Paths: ----------- trunk/sc2/content/addons/3dovoice/melnorme/melnorme.txt Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-07-07 19:25:08 UTC (rev 3633) +++ trunk/sc2/ChangeLog 2011-07-08 20:37:02 UTC (rev 3634) @@ -1,4 +1,7 @@ -Changes towards version 0.7: +Changes towards version 0.8: +- Added the MetaChron story to the no-voice Melnorme script (bug #43) - Alex + +0.7.0: - Build with debug info in strict-debug mode (bug #1127), from Scott A. Colcord - Added spoken Slylandro probe coordinates (bug #732) - Nic, Alex - Added the missing bits to the no-voice versions of Mycon, Syreen and Modified: trunk/sc2/content/addons/3dovoice/3dovoice.rmp =================================================================== --- trunk/sc2/content/addons/3dovoice/3dovoice.rmp 2011-07-07 19:25:08 UTC (rev 3633) +++ trunk/sc2/content/addons/3dovoice/3dovoice.rmp 2011-07-08 20:37:02 UTC (rev 3634) @@ -4,7 +4,7 @@ comm.druuge.dialogue = CONVERSATION:base/comm/druuge/druuge.txt:addons/3dovoice/druuge/:addons/3dovoice/druuge/druuge.ts comm.ilwrath.dialogue = CONVERSATION:base/comm/ilwrath/ilwrath.txt:addons/3dovoice/ilwrath/:addons/3dovoice/ilwrath/ilwrath.ts comm.kohrah.dialogue = CONVERSATION:base/comm/kohrah/kohrah.txt:addons/3dovoice/kohrah/:addons/3dovoice/kohrah/kohrah.ts -comm.melnorme.dialogue = CONVERSATION:base/comm/melnorme/melnorme.txt:addons/3dovoice/melnorme/:addons/3dovoice/melnorme/melnorme.ts +comm.melnorme.dialogue = CONVERSATION:addons/3dovoice/melnorme/melnorme.txt:addons/3dovoice/melnorme/:addons/3dovoice/melnorme/melnorme.ts comm.mycon.dialogue = CONVERSATION:addons/3dovoice/mycon/mycon.txt:addons/3dovoice/mycon/:addons/3dovoice/mycon/mycon.ts comm.orz.dialogue = CONVERSATION:base/comm/orz/orz.txt:addons/3dovoice/orz/:addons/3dovoice/orz/orz.ts comm.pkunk.dialogue = CONVERSATION:base/comm/pkunk/pkunk.txt:addons/3dovoice/pkunk/:addons/3dovoice/pkunk/pkunk.ts Copied: trunk/sc2/content/addons/3dovoice/melnorme/melnorme.txt (from rev 3633, trunk/sc2/content/base/comm/melnorme/melnorme.txt) =================================================================== --- trunk/sc2/content/addons/3dovoice/melnorme/melnorme.txt (rev 0) +++ trunk/sc2/content/addons/3dovoice/melnorme/melnorme.txt 2011-07-08 20:37:02 UTC (rev 3634) @@ -0,0 +1,1388 @@ +#(HELLO_NOW_DOWN_TO_BUSINESS_1) melnorme-000.ogg +I am Trade Master Greenish in command of the Melnorme starship +`Inevitably Successful in All Circumstances.' +I bid you a formal welcome, Captain. +Though we Melnorme have just recently arrived in this region of space +we have long desired to make contact with your species +and look forward to an extended profitable relationship. + +#(HELLO_NOW_DOWN_TO_BUSINESS_2) melnorme-001.ogg +As a master trader in the Melnorme merchant fleet, I greet you, Captain. +News of your species and your unusual vessel has travelled quickly. +I need not say how eager we are to trade with you and your kind! +Now, how can I be of service to you? + +#(HELLO_NOW_DOWN_TO_BUSINESS_3) melnorme-002.ogg +Hello again, human space captain. +Perhaps during this encounter, we will be able to establish a successful, businesslike relationship. + +#(KNOW_OF_YOU) melnorme-003.ogg +Even before our first meeting, we knew of you, Captain. +Though your struggle to free Earth shall be a long and difficult challenge +fraught with great danger and mystery +we have great confidence in you and your abilities. + +#(how_know) +How did you know about us before meeting us? + +#(KNOW_BECAUSE) melnorme-004.ogg +We gather information from a thousand secret sources in space and time. +Our charge for revealing even one of these sources would be so high +that your species would be in debt to us for centuries. + +#(what_about_yourselves) +What can you tell us about yourselves? + +#(NO_TALK_ABOUT_OURSELVES) melnorme-005.ogg +Our origins and purposes are, frankly, mysterious and due to several unavoidable factors +we are unable to discuss ourselves in any great detail. + +#(what_factors) +What are these 'unavoidable factors'? + +#(FACTORS_ARE) melnorme-006.ogg +First and foremost among these factors +is our unwillingness to GIVE away information +about our history, psychology and mental powers, +our unique physiology, +the exact locations of homeworlds, +or our potentially ominous, long-range plans. +However, these important and relevant pieces of information +ARE available, for a nominal sum of Credits. + +#(what_about_universe) +Do you have any information which might be useful to us? + +#(NO_FREE_LUNCH) melnorme-007.ogg +Absolutely. +Our primary trade good IS information. +Why, right here on my display screen, I have something +which I am certain would be of incalculable value to you! +We can discuss the details of this VERY significant information +later, when we have established normal trading procedures +at which time we shall also discuss the nature of our fees. + +#(giving_is_good_1) +Fees! Surely your culture is far beyond such pettiness as money? + +#(GIVING_IS_BAD_1) melnorme-008.ogg +You are of course correct. +We long ago abandoned currency, +and now only deal with commodities that have intrinsic value, such as valuable information. + +#(giving_is_good_2) +But our cause is just! Isn't altruism the highest pinnacle of morality? + +#(GIVING_IS_BAD_2) melnorme-009.ogg +No, it is not. +In fact, in our culture, `giving' +with no fair exchange of goods or services, +is considered vulgar and inappropriate. +Please do not mention this subject again. + +#(get_on_with_business) +Shall we begin trading now? + +#(trade_is_for_the_weak) +`Trade' is for the weak. We TAKE what we want! + +#(WERE_NOT_AFRAID) melnorme-010.ogg +We reel with inchoate fear, and are thrown into a sudden panic. +Being peaceful by nature +we would no doubt be unprepared for your sudden hostility +were it not for the excellent weapon system we bought from the Keel-Verezy just last month. +A weapon system which is fully locked on your command bridge, by the way. + +#(no_trade_now) +We cannot continue this conversation. Goodbye. + +#(OK_NO_TRADE_NOW_BYE) melnorme-011.ogg +When you wish to trade with us, seek any supergiant star system. +We shall be there. + +#(HELLO_AND_DOWN_TO_BUSINESS_1) melnorme-012.ogg +Yes, let us get down to business. + +#(HELLO_AND_DOWN_TO_BUSINESS_2) melnorme-013.ogg +How nice to see you again, Captain. + +#(HELLO_AND_DOWN_TO_BUSINESS_3) melnorme-014.ogg +I had itchy pods this morning, Captain, and here you are! + +#(HELLO_AND_DOWN_TO_BUSINESS_4) melnorme-015.ogg +What a coincidence! I was just talking about you with a Keel-Verezy captain. +They expressed great interest in your explorations and struggles against the Ur-Quan +but, like all Verezy, I'm afraid they were hesitant to introduce themselves for fear of +well, frightening you. +In any event, it is our pleasure to meet you once again. + +#(HELLO_AND_DOWN_TO_BUSINESS_5) melnorme-016.ogg +Once again we meet to exchange valuable tangibles. +Isn't this fun?! + +#(HELLO_AND_DOWN_TO_BUSINESS_6) melnorme-017.ogg +Your arrival was predicted by our Tzo crystal's vibrations. +We already know why you are here and what you need from us; however +etiquette requires that we act as though we are ignorant of your desires. + +#(HELLO_AND_DOWN_TO_BUSINESS_7) melnorme-018.ogg +This very morning, I was just saying to subordinate Ochre +`Fe-Fi-Fo-Fum! I smell the feet of a Hu-Hu-Man!' +We laughed and laughed. What a synchronicity! + +#(HELLO_AND_DOWN_TO_BUSINESS_8) melnorme-019.ogg +I must warn you, Captain +this is the time of the month we Melnorme drive exceptionally hard bargains. +Beware! + +#(HELLO_AND_DOWN_TO_BUSINESS_9) melnorme-020.ogg +LOOK OUT! +Hoy! What a close call! +Captain, why did you try to run down that Keel-Verezy vessel!? +You almost smashed it into flinders! +What!? You didn't see it? Surely you -- oh +Never mind. + +#(HELLO_AND_DOWN_TO_BUSINESS_10) melnorme-021.ogg +Welcome back, Captain! You are our favorite customer. + +#(whats_my_credit) +What's my Credit balance, if you please? + +#(HELLO_SLIGHTLY_ANGRY_1) melnorme-022.ogg +So, the violent one has returned. +Have you come back to seek our forgiveness +or to attack our defenseless vessel once more? + +#(HELLO_SLIGHTLY_ANGRY_2) melnorme-023.ogg +You have disappointed us +though to be truthful +we had some hints that our relationship would be difficult at first +due to your species' emotional immaturity. + +#(HELLO_SLIGHTLY_ANGRY_3) melnorme-024.ogg +We require a formal apology. + +#(explore_relationship) +Can we discuss establishing an alliance? + +#(EXAMPLE_OF_RELATIONSHIP) melnorme-025.ogg +Your question reveals a certain lack of understanding +about the nature of friendly, inter-species relationships. +We shall clarify the situation. +If you wish to be friends with someone +never, EVER +shoot wads of super-heated plasma at them. +Is this clear? + +#(excuse_1) +Look, mistakes happen. Don't get so bent out of shape! + +#(NO_EXCUSE_1) melnorme-026.ogg +The Spathi once used a similar excuse +after an unfortunate incident at their base on Algol IV. +They didn't like the climate there +so they decided to make `just a few minor, climatic adjustments.' +Their equipment went haywire, they panicked and fled +and the entire atmosphere was stripped off the planet +much to the native Algolites sincere, +though short-lived, regret. + +#(excuse_2) +Let's just forget our battle ever happened, ok? + +#(NO_EXCUSE_2) melnorme-027.ogg +No. + +#(excuse_3) +What do you want from me, a formal apology? + +#(NO_EXCUSE_3) melnorme-028.ogg +There is a small possibility that an apology would set things right. +But it would have to be genuine. + +#(we_apologize) +I apologize. I'm sorry. Please forgive me, I beg you. + +#(APOLOGY_ACCEPTED) melnorme-029.ogg +Well, since you put it so nicely +you seem so genuinely repentant +we'll give you another chance to become trading partners with us. +But don't ever attack us again +Or the next time we won't be such nice guys. + +#(so_we_can_attack) +This seems like a great opportunity to attack you again. + +#(DECEITFUL_HUMAN) melnorme-030.ogg +Deceitful human! + +#(bye_melnorme_slightly_angry) +I'm leaving now. Goodbye. + +#(MELNORME_SLIGHTLY_ANGRY_GOODBYE) melnorme-031.ogg +Farewell, violent human. + +#(HELLO_HATE_YOU_1) melnorme-032.ogg +We thought you were a nice guy. +Boy, were we wrong! +Now go away and leave us alone. + +#(HELLO_HATE_YOU_2) melnorme-033.ogg +So, the jerk is back. +What do you want from us this time? +Never mind, we don't want to know. + +#(HELLO_HATE_YOU_3) melnorme-034.ogg +We will hate you forever. +It is no use coming back here in the hopes that we will ever change our minds. +We won't! + +#(well_if_thats_the_way_you_feel) +Die, eye-freak. + +#(you_hate_us_so_we_go_away) +Goodbye. + +#(HATE_YOU_GOODBYE) melnorme-035.ogg +Don't ever come back! + +#(WE_FIGHT_AGAIN) melnorme-036.ogg +This time you shall pay for your transgressions! + +#(RESCUE_EXPLANATION) melnorme-037.ogg +According to our scanners and other sensitive devices +you are immobile in HyperSpace with no fuel reserves. +This is a serious situation. +Without fuel you shall drift here until your batteries exhaust themselves +then your life-support will fail +and you will expire +unless, of course +a hostile alien vessel finds you here helpless +and annihilates you mercilessly. +This has been known to happen. + +However +as a gesture of good will, and in the spirit of friendship, we offer our assistance! +For a nominal fee. + +#(RESCUE_AGAIN_1) melnorme-038.ogg +Once more we find ourselves in a position to help you. +How wonderful. + +#(RESCUE_AGAIN_2) melnorme-039.ogg +Have you ever considered buying more fuel tanks? +Just a friendly suggestion, Captain. + +#(RESCUE_AGAIN_3) melnorme-040.ogg +We have come to help you once more, Captain. + +#(RESCUE_AGAIN_4) melnorme-041.ogg +We MUST stop meeting like this, Captain! +Ha, ha, ha! + +#(RESCUE_AGAIN_5) melnorme-042.ogg +Out of fuel again, eh, Captain? + +#(CHANGED_MIND) melnorme-043.ogg +Have you changed your mind +and decided to accept our offer of assistance? + +#(no_changed_mind) +No thanks, I don't need your help right now. + +#(yes_changed_mind) +Perhaps I was hasty in refusing your offer. What was it again? + +#(SHOULD_WE_HELP_YOU) melnorme-044.ogg +Would you like us to help you at this time? + +#(yes_help) +Yes, I would appreciate your assistance. What is your fee? + +#(no_help) +I don't need your help at this time. Maybe later, though. + +#(RESCUE_OFFER) melnorme-045.ogg +You have no Credit balance in our mercantile computer +and our scanners show that you possess no useful trade goods +but, perhaps we can work out a special deal. +In exchange for our giving you enough fuel to + +#(RESCUE_TANKS) melnorme-046.ogg +fill your tanks, we will take: + +#(RESCUE_HOME) melnorme-047.ogg +get you home, we will take: + +#(take_it) +I find I have no choice. I accept your offer... grudgingly. + +#(leave_it) +This offer is absurd! I refuse. + +#(HAPPY_TO_HAVE_RESCUED) melnorme-048.ogg +The exchange of fuel for equipment is complete. +As always, it is a pleasure doing business with you. +Goodbye, Captain. + +#(MAYBE_SEE_YOU_LATER) melnorme-049.ogg +Well then, we bid you farewell. +We hope to see you again +though with you sitting here, dead in space +vulnerable and alone +we won't hold our breath. + +#(GOODBYE_AND_GOODLUCK) melnorme-050.ogg +Good luck, Captain. + +#(GOODBYE_AND_GOODLUCK_AGAIN) melnorme-051.ogg +Until we meet again, Captain. + +#(HELLO_PISSED_OFF_1) melnorme-052.ogg +The Human has returned. +He hopes to either convince us of his sorrow over his past wrong-doings +or he intends to compel us to give/render unreasonable bargains by force. + +#(HELLO_PISSED_OFF_2) melnorme-053.ogg +Ahhh-YING!! Ahhh-YING! Ahhh-YING! Ahhh-Y +Oh sorry, Captain. I was just meditating on the sorry state of your consciousness. +Do you perceive any improvement? + +#(HELLO_PISSED_OFF_3) melnorme-054.ogg +Perhaps I can be of some assistance to you in this time of confusion and travail +either make a sincere apology to us, or depart. + +#(beg_forgiveness) +We beg your forgiveness for our unwarranted aggression. + +#(LOTS_TO_MAKE_UP_FOR) melnorme-055.ogg +Even if we were to accept your words as truth +you have a lot to make up for. + +#(you_are_so_right) +We stand prepared to make reparations for our previous conduct. + +#(ONE_LAST_CHANCE) melnorme-056.ogg +Hmm +hmm... hmm... hmm. +Oh, very well then. +We will give you a single opportunity to compensate us +for the damages you have inflicted upon our mercantile fleet +with your unreasonable attacks in the past. +We will not make this offer a second time. +You will give us all non-essential hardware from your vessel +immediately! +Do you accept? + +#(ok_strip_me) +Ok, it's a deal, but ONLY the non-essentials! + +#(no_strip_now) +What kind of sucker do you think I am? Forget it! + +#(NOT_WORTH_STRIPPING) melnorme-057.ogg +It's not worth stripping. + +#(FAIR_JUSTICE) melnorme-058.ogg +Removal of non-essential equipment is complete. +We are satisfied with the exchange, and believe that we can now pursue +a productive business relationship. +We shall forget the mistakes you made in the past. Mostly. + +#(bye_melnorme_pissed_off) +Goodbye. + +#(MELNORME_PISSED_OFF_GOODBYE) melnorme-059.ogg +Good riddance. + +#(fight_some_more) +Prepare to be destroyed. + +#(OK_FIGHT_SOME_MORE) melnorme-060.ogg +No, YOU prepare to be destroyed! + +#(why_blue_light) +Why did your bridge just turn blue? + +#(BLUE_IS_MAD) melnorme-061.ogg +To us, blue ambience signifies a response to an unexpected threat +it shows that we are under emotional distress +and not incidentally +it also lets us see our weapon consoles more clearly. + +#(we_strong_1) +We have no fear of you, Melnorme! + +#(YOU_NOT_STRONG_1) melnorme-062.ogg +Oh, you should. +Once the Dramya thought they could steal from us. +You don't see too many Dramya around these days, do you? + +#(we_strong_2) +We have the most powerful ship in this part of the galaxy. + +#(YOU_NOT_STRONG_2) melnorme-063.ogg +Perhaps that is true, but you have only one ship. + +#(we_strong_3) +Why shouldn't we just take what we want from you by force? + +#(YOU_NOT_STRONG_3) melnorme-064.ogg +Because it's against the law, and besides +if you steal from us, the other Melnorme ships will have to raise their prices +and other innocent space aliens will have to pay for your wrong-doing. +Now that's not fair, is it? + +#(just_testing) +Look, we were just testing your intentions. We're actually peaceful and friendly. + +#(REALLY_TESTING) melnorme-065.ogg +You have an odd way of making friends, Captain. +Are you certain that you aren't just tricking us +so that you can attack us the moment our back is turned? + +#(yes_really_testing) +I promise, we won't do anything sneaky like that. + +#(TEST_RESULTS) melnorme-066.ogg +We believe you. + +#(youre_on) +Let's just test out that weapon system, shall we?... IN COMBAT! + +#(YOU_GIVE_US_NO_CHOICE) melnorme-067.ogg +You give us no choice. + +#(TRADING_INFO) melnorme-068.ogg +Since this is your first time trading with us, let me explain how our system works. +We are interested in purchasing certain items, specifically +biological data on alien life forms +and the coordinates of certain strange worlds whose radiant energies defy all scanners +producing a rainbow-like image. +In exchange, we have many interesting and valuable commodities, such as +fuel compatible with your starship's HyperDrive thrusters, +technological specifications, allowing you to build new devices for your ship +and many important secrets which may help you in your travels. +To facilitate trade, we translate all your sales into Interstar Credits +with which you may make purchases. +If you have any questions, don't hesitate to ask. + +#(BUY_OR_SELL) melnorme-069.ogg +Now, what can we do for you today? + +#(goodbye) +Goodbye, Trade Master. + +#(why_turned_purple) +Why did your bridge turn purple? + +#(buy) +I would like to make some purchases. + +#(sell) +I have some items I would like to sell. + +#(TURNED_PURPLE_BECAUSE) melnorme-070.ogg +That's a good question with a very interesting answer! +The fee for this information is 12,000,000 Credits. + +#(NOTHING_TO_SELL) melnorme-071.ogg +We appreciate your intentions, but you have nothing we wish to buy. + +#(WHAT_TO_SELL) melnorme-072.ogg +What would you like to sell, Captain? + +#(OK_DONE_SELLING) melnorme-073.ogg +As you wish. + +#(sell_life_data) +I have some data on alien lifeforms. + +#(SOLD_LIFE_DATA1) melnorme-074.ogg +The + +#(SOLD_LIFE_DATA2) melnorme-203.ogg + units of biological data we downloaded from your ship earn you + +#(SOLD_LIFE_DATA3) melnorme-204.ogg + Credits. + +#(sell_rainbow_locations) +I wish to sell you Rainbow world locations. + +#(SOLD_RAINBOW_LOCATIONS1) melnorme-075.ogg +Your ship's log indicates that you discovered the whereabouts of + +#(SOLD_RAINBOW_LOCATIONS2) melnorme-205.ogg + of the Rainbow worlds which so fascinate us. +In exchange, we will give you + +#(SOLD_RAINBOW_LOCATIONS3) melnorme-204.ogg + Credits. + +#(sell_precursor_find) +We found a Precursor artifact. Do you want it? + +#(SOLD_PRECURSOR_FIND) melnorme-076.ogg +Always! Absolutely! +In exchange we will give you +N Credits + +#(changed_mind_no_sell) +On second thought, I don't think I want to sell anything. + +#(done_selling) +I am done selling, for now. + +#(NEED_CREDIT) melnorme-077.ogg +You need Credits to purchase our trade items. +To earn Credits you must sell us the items we desire, which are: +biological data on alien lifeforms +and the coordinates of certain strange worlds whose radiant energies defy all scanners +producing a rainbow-like image. + +#(WHAT_TO_BUY) melnorme-078.ogg +What trade items would you like to buy today? + +#(WHAT_MORE_TO_BUY) melnorme-079.ogg +Would you like to purchase anything else? + +#(OK_DONE_BUYING) melnorme-080.ogg +Very well then. + +#(buy_fuel) +I'd like to buy some fuel. + +#(done_buying) +I am done buying, for now. + +#(be_leaving_now) +I shall be leaving now. + +#(HOW_MUCH_FUEL) melnorme-081.ogg +How much fuel do you wish to purchase? + +#(buy_1_fuel) +1 unit of fuel. + +#(GOT_FUEL) melnorme-082.ogg +Fuel transferred to your vessel. + +#(buy_5_fuel) +5 units of fuel. + +#(buy_10_fuel) +10 units of fuel. + +#(buy_25_fuel) +25 units of fuel. + +#(done_buying_fuel) +I am done buying fuel. + +#(FRIENDLY_GOODBYE) melnorme-083.ogg +It has been a pleasure dealing with you, Captain. +We look forward to your next visit. + +#(CREDIT_IS0) +Your present balance is +#(CREDIT_IS1) + Credits. + +#(NEED_MORE_CREDIT0) melnorme-084.ogg +Unfortunately this purchase requires +#(NEED_MORE_CREDIT1) melnorme-206.ogg + additional Credits. + +#(BUY_FUEL_INTRO) melnorme-085.ogg +As you know, we carry a large supply of fuel on board which is compatible with your engine system. +We will be happy to sell this substance to you at a cost of 1 Credit per fuel unit. + +#(NO_ROOM_FOR_FUEL) melnorme-086.ogg +Your ship's capacity is insufficient to hold that much fuel. + +#(buy_info) +I wish to buy information. + +#(buy_technology) +I am interested in purchasing new technology. + +#(buy_current_events) +I wish to buy information about current events. + +#(buy_alien_races) +I will pay for useful data on alien races. + +#(buy_history) +Please sell us historical information. + +#(done_buying_info) +I am done buying information. + +#(no_buy_info) +I do not wish to buy information at this time. + +#(BUY_INFO_INTRO) melnorme-087.ogg +As you know, in our many centuries of star-trading +we Melnorme have come to learn much about what happens in our galaxy +both now and in the ancient past. +We have also kept records on the diverse alien races in your region of space. +We will share this crucial knowledge with you for a fee of 75 Credits per informative fact. +No refunds. + +#(OK_BUY_INFO) melnorme-088.ogg +How wonderful, Captain! + +#(OK_NO_BUY_INFO) melnorme-089.ogg +What else would you like to buy? + +#(OK_DONE_BUYING_INFO) melnorme-090.ogg +What else would you like to buy? + +#(OK_BUY_EVENT_1) melnorme-091.ogg +While you probably believe that the Shofixti are extinct +having caused their sun to flare with a device identical to the Utwig's super-bomb +the truth is not so simple. +There yet exists a chance to resuscitate this meta-marsupial species, though it will not be easy. +The problem at hand seems simple: bring together two Shofixti of different sexes +and the carnal gymnastics proceed. Given the short gestation and maturation time of the Shofixti +you will have thousands of the creatures in ten years, and millions in twenty. +Finding a male of the species is easier than flup +simply visit the Shofixti's blasted star system at Delta Gorno. +Captain Tanaka or its sibling Katana shall greet you on your arrival. +A warning! -- These warriors are old and fly in barely functional ships. +If they mistakenly identify you as the enemy, do not return fire! +Retreat and try to talk with them on their own level. +The females of the species will be more difficult to obtain. +The only supply of such remaining in the galaxy is at Alpha Cerenkov I +included as part of General ZEX's bizarre and beloved menagerie. +Fortunately for you, Captain, ZEX is considered... well... perverse, by his fellow VUX. +This is because ZEX actually enjoys the presence of human beings. +To acquire the Shofixti females, you will have to appease ZEX, or kill him. + +#(OK_BUY_EVENT_2) melnorme-092.ogg +The Ur-Quan are presently at war with a race called the Kohr-Ah. +They are fighting within a large spherical region of space centered around the Crateris star group. +Although it is probably too early to tell, it would appear that the Kohr-Ah are winning. + +#(OK_BUY_EVENT_3) melnorme-093.ogg +No doubt you are familiar with an alien race called the Umgah who live in the Orionis constellation. +While they are renowned for their potent and often cruel sense of humor +they have outdone themselves in recent years. +Specifically, they have used an unusual HyperWave `Caster +to impersonate the Ilwrath gods Dogar and Kazon. +When the Ilwrath began tuning-in to `the voices of their gods' on their HyperWave receivers +their priest caste was understandably skeptical +and counselled their many followers to ignore the blasphemous signals. +However, in a surprise move, the majority of the Ilwrath then rose up +and slaughtered the entire priest caste. +Their reasons for this ghastly move included over-taxation, lack of `quality death in ceremony' +and the general feeling that the priests had made Dogar and Kazon's pronouncements overly complex. + +#(OK_BUY_EVENT_4) melnorme-094.ogg +As you know, there are weaknesses in the division between dimensions. +For example, your vessel uses such weaknesses to enter HyperSpace. +However, there are other weak spots in the galaxy which lead to yet different dimensions. +One such portal exists nearby, between the Chandrasekhar and Columbae constellations. +The portal opens only a short time each month starting on the 17th. +Since we have never entered the portal, we can give no more information on this subject. + +#(OK_BUY_EVENT_5) melnorme-095.ogg +As you are probably aware, Ur-Quan starships -- you call them `Dreadnoughts', I believe +possess effective self-annihilation circuits which prevent other races +from reverse-engineering Ur-Quan technological secrets. +However, we have become aware of a shipwrecked dreadnought which has remained largely intact. +You will find the remains of the ship on the surface of a blue world orbiting Alpha Pavonis. +We suspect you will find at least one item of interest there, possibly two. + +#(OK_BUY_EVENT_6) melnorme-096.ogg +You may have noticed the presence of an increasingly large number of red probe vessels +which move with great speed and attack relentlessly. +We are sorry to say that this is our catalog item 2418-B. +Do not blame us! We are not responsible for this violent folly! +The product is not being used in a correct manner. +Should you wish to confront the actual wrong-doers +we suggest you search the planets in Beta Corvi for the probes' owners. + +#(OK_BUY_EVENT_7) melnorme-097.ogg +Not more than fifty years ago +the Druuge were informed by the now-extinct Burvixese race +of a powerful alien nation called the Utwig. +The Utwig, the Burvixese explained, were pleasant, sophisticated creatures +but they were also terminally depressed and often spoke about ending their lives +by activating a super-weapon, some kind of gigantic bomb +which they had found on one of their worlds -- Zeta Hyades VI-B I think it was. +The Druuge recognized the description of the bomb as a Precursor planeteering tool +which indeed was an explosive device of unrivaled power, and they set out to make it their own. +Though the revolting, criminal, insidious Druuge rarely leave their sphere of influence +(it encompasses Algol, Almagest, and the Persei stars) +they made a special trip on this occasion to the Aquarii constellation, where they made contact with the Utwig. +There is a device commonly known as the `Ultron'. +Is it now in your possession? Ah... I see. +The Druuge sold this device to the Utwig, explaining that it was a Precursor `Personal Magnifier' +which would enrich the lives of their entire culture in too many ways to describe specifically. +The Utwig, I am sorry to say, fell for the Druuge's foul ruse, and snapped up the Ultron immediately. +Fortunately for us all, the Utwig did not pay the Druuge's requested price -- the super-bomb +and instead gave them a collection of `historical oddments and genuine artifacts' +which to this day, the Druuge are trying to unload on unwary buyers. + +#(OK_BUY_EVENT_8) melnorme-098.ogg +The Utwig, who live in the Aquarii constellation, have grown very depressed of late. +They accidentally broke the supposed `Ultron' sold to them by the felonious Druuge. +As a consequence, they are morose and melancholic +and will probably be unwilling to help you fight the Ur-Quan. +If you wish to gain them as allies, we recommend that you acquire the broken Ultron +(as if it EVER worked) +and find some suitable replacement parts. +Our information indicates that you can find these items in three different places: +a Rosy Sphere at the Druuge trade world +an Aqua Helix somewhere in Thraddash space +and a Clear Spindle, which is currently in the possession of the Pkunk. +Captain, that was the last current event we have for sale. + +#(OK_BUY_ALIEN_RACE_1) melnorme-099.ogg +The Zoq-Fot-Pik are a friendly co-op of three alien species all native to the same world. +They are presently suffering severe collateral damage +from the ritual combat between the Ur-Quan and the Kohr-Ah. +While this is unfortunate for the Zoq-Fot-Pik -- they have been forced to abandon many of their worlds +this close proximity to the inter-Ur-Quan war will give them insights into the conflict +which will be of great use to you. +In addition, the Zoq-Fot-Pik met the Chenjesu early on in the war, and are eager to make allies +who can protect them from their enemies. +In case you are interested, the Zoq-Fot-Pik homeworld is at coordinates 400.0:543.7, planet I. + +#(OK_BUY_ALIEN_RACE_2) melnorme-100.ogg +The Ilwrath are presently attacking the Pkunk in the Lacaille and Krueger constellations. +These beings have slavish devotion to their dark gods Dogar and Kazon +which in the past few years has been used against them by the Umgah. +If you need to manipulate the Ilwrath, we suggest you discover the Umgah's technique +and duplicate it. + +#(OK_BUY_ALIEN_RACE_3) melnorme-101.ogg +The Pkunk are a mystical off-shoot of the Yehat species +who left their bird-brothers long ago to found a peaceful enclave in the Krueger and Giclas stars. +At the present time, the Pkunk are defending themselves against the Ilwrath +who have been commanded to attack the happy birds by Dogar and Kazon. +The Pkunk may be unwilling to make a formal alliance with you +but we have confidence that if you explain yourself honestly +they will help your efforts against the Ur-Quan. + +#(OK_BUY_ALIEN_RACE_4) melnorme-102.ogg +The creatures presently fighting the Ur-Quan are called the Kohr-Ah. +They are an Ur-Quan sub-species who split off from the main species many thousands of years ago. +Their present fight is a ritual reenacting of a major difference of opinion +between two, rival Ur-Quan leaders after the Ur-Quan overwhelmed their slave-masters, the Dnyarri. +The Kohr-Ah are immune to reason, having long ago lost the ability to see their situation objectively. +They live in a self-maintained paradox: to ensure their safety and security +the Kohr-Ah fight an endless battle against all other sentient species. + +#(OK_BUY_ALIEN_RACE_5) melnorme-103.ogg +I must warn you about some very bad people. +`Is this worth so many credits?' you ask yourself. +I assure you, it is! +The creatures are called the `Druuge' and they are a callous and evil race. +They care for nothing but profit and personal gain through unfair mercantile exchanges.. +Why are you looking at me like that, Captain? It is not appropriate. +As I was saying, these wicked creatures will try to sell you commodities at unreasonably low prices. +Hoy! -- they almost give away fuel! +Do not fall for their tricks! There are hidden costs -- secret tariffs! +So that you may avoid them, I will tell you that their main trade world is Zeta Persei I. +Why are you smiling, Captain? + +#(OK_BUY_ALIEN_RACE_6) melnorme-104.ogg +The Burvixese race evolved on the planet Arcturus I. +They lived there in a relatively benevolent manner +until the Kohr-Ah came and destroyed them during the course of 2 or 3 unfortunate days. +The Druuge were largely responsible for the Kohr-Ah finding the Burvixese. +You see, the Burvixese were in long-distance HyperWave contact +with a race known simply as the Gg. +For decades the Gg and the Burvixese traded much valuable information +until the Gg came under attack by an invading race who you may know as the Kohr-Ah. +The Gg warned the Burvixese that the Kohr-Ah located races by their HyperWave transmissions +and that they had already discovered the radiations from the Druuge. +When the Burvixese were kind enough to warn the Druuge that a hostile alien race +was homing in on their HyperWave radiations, the Druuge shut down all their transmitters +and erected a powerful HyperWave beacon on the surface of the Burvixese moon. +The Kohr-Ah changed course, attacked the poor Burvixese and sadly, destroyed them all. + +#(OK_BUY_ALIEN_RACE_7) melnorme-105.ogg +The Thraddash are an arrogant, stubborn, and thick-skinned species +who reside in the Draconis and Apodis star systems. +They have little or no respect for anything but force, which they admire greatly. +To make the Thraddash your friends, you should consider killing most, but not all of them. +In addition, they guard some kind of sacred relic at the star system Zeta Draconis +though we do not know the true nature of this artifact. +The Thraddash homeworld is at Delta Draconis. + +#(OK_BUY_ALIEN_RACE_8) melnorme-106.ogg +After the war, the Chenjesu and the Mmrnmhrm chose to be slave-shielded +on the Chenjesu's homeworld at Procyon. +We suspect that they are melding their two species to form some kind of new, hybrid race +a race which may well be powerful enough to destroy the Ur-Quan single-handedly. +However, by our calculations, this process will take many decades, if not centuries. +Should you wish to talk to them, we recommend you invest in a +HyperWave broadcasting system which is powerful enough to penetrate the shield around their world. + +#(OK_BUY_ALIEN_RACE_9) melnorme-107.ogg +The Mycon are using this time while the Ur-Quan have their attention elsewhere +to expand their sphere of influence as fast as possible. +The Mycon colonize planets by launching tough spore-pods from orbit +and injecting them under the planet's surface. +Months later, after the spores have grown hundreds of thick, fibrous tendrils under the planet's crust +the tendrils suddenly thrust up out of the planet and create huge calderas +not incidentally filling the planet's atmosphere with the Mycon's preferred gases +clouds of super-heated steam and sulphuric acid. + +#(OK_BUY_ALIEN_RACE_10) melnorme-108.ogg +Following the end of the War, the Androsynth began experimenting with Inter-Dimensional Fatigue +a process which is related to your faster-than-light drive +but involves dimensions far more alien than HyperSpace. +They had just made a major breakthrough when they were suddenly wiped out by a race called the Orz +who appeared seemingly out of nowhere. +Actually, we don't know what the Orz did to the Androsynth -- they're just all gone. + +#(OK_BUY_ALIEN_RACE_11) melnorme-109.ogg +The Arilou Lalee'lay are a mysterious race of IDF beings +IDF meaning, Inter-Dimensional Fatigue. +They do not reside in this galaxy, or in fact, anywhere in this universe. +While it is true that the Arilou are rarely seen far from the Columbae star group +they do make regular, secret visits to your world, and have done so for centuries. +Ever since Earth was slave-shielded, they have focused their attention +on the humans aboard the starbase, many of whom are now members of your crew. +Though the Arilou Lalee'lay always smile and are never overtly hostile +we believe that they have a secret agenda which somehow involves your planet, Earth. +These secret plans may or may not cause grief and woe to you Earthlings. + +#(OK_BUY_ALIEN_RACE_12) melnorme-110.ogg +Just under 20 years ago, the brave and suicidal Shofixti annihilated their species +by exploding a Precursor device -- some kind of bomb -- in the interior of their sun. +The resulting storm of solar flares cooked the life off the Shofixti homeworld +and incinerated over a hundred Ur-Quan Dreadnoughts +which had just entered the system to conquer the Shofixti. +In actuality, there are still at least a dozen Shofixti left alive in the galaxy. +One or two are at Delta Gorno, guarding the dead hulk of their once beautiful world. +Others can be found in VUX space. + +#(OK_BUY_ALIEN_RACE_13) melnorme-111.ogg +The Slylandro are a mostly non-solid, sentient race who live in a gas giant at Beta Corvi. +We recently sold them a self-replicating exploration probe +which has somehow turned hostile and attacks everything it detects. +If such encounters have angered you, Captain, please do NOT address your concerns to us. +We possess a formal Waiver of Damages, authorized by a Slylandro Speaker +and are in no way responsible for the situation. + +#(OK_BUY_ALIEN_RACE_14) melnorme-112.ogg +The cowardly Spathi live at the single planet orbiting Epsilon Gruis. +They do not actually live on their world, rather they reside on its airless moon. +The reason? A xenomorphic species, which craves the sweet-flavored flesh of the Spathi +has been transported to the surface of their planet +and makes every attempt to devour the poor Spathi. +I am certain that the Spathi would be forever in your debt +if you were to eliminate these creatures from their planet. +What? You fear the alien creatures will find you a treat also? +Fear not. Our data reveals the beasts are not interested in your species. +Should you wish to consult with the Spathi Ruling Council +you will need to know the Secret Spathi Cypher -- a password, which is +`Huffi-Muffi-Guffi'. + +#(OK_BUY_ALIEN_RACE_15) melnorme-113.ogg +Like you Earthlings, when the war with the Ur-Quan was lost +the Syreen chose to be slave-shielded. Their new world is at Betelgeuse. +The Syreen's starbase is crewed by the starship commanders and crew +who were decommissioned at the end of the war. +Though the Syreen hate the Ur-Quan with a vengeance, they are unlikely to offer you assistance +unless you reveal to them the truth behind the tragedy of their original homeworld, Syra +which was destroyed by the birth of a Mycon `Deep Child' a century ago. + +#(OK_BUY_ALIEN_RACE_16) melnorme-114.ogg +When the Ur-Quan entered Gamma Serpentis -- the home star of the Yehat +their Queen made a sudden change of allegiance and allied with the Ur-Quan Hierarchy. +They became Ur-Quan combat thralls. +This act was viewed by most Yehat starship officers as ultimately dishonorable +the desperate act of a corrupt regent to maintain her throne. +The Yehat's shame was greatly magnified by the Shofixti's show of courage +when they destroyed their own star system to slow down the Ur-Quan Armada. +Captain, you have heard all that we have to say about aliens indigenous to this region. +Should we learn more in the near future, we shall be certain to sell it to you. + +#(OK_BUY_HISTORY_1) melnorme-115.ogg +Almost twenty-five thousand of your years ago, there existed near this region of space +an association of starfaring races called the `Sentient Milieu'. +This group formed over several thousand years to mutually enrich their respective cultures +to provide a safe creche for emerging sentient species +and to afford themselves a degree of protection from external hostilities via military alliance. +Of the seven most active Milieu members, the most famous race -- indeed you know them well, Captain +were the Ur-Quan. + +#(OK_BUY_HISTORY_2) melnorme-116.ogg +The Ur-Quan evolved on a harsh planet orbiting a star outside this region of space. +They were solitary predators, like your praying mantis, Captain, or polar bear +who had a very limited set of social behaviors, most of which dealt with sex. +Since they had to compete for survival against many physically superior species +the Ur-Quan evolved intelligence and tool use, in much the same way as your own species. +The Ur-Quan also learned to master their fierce territoriality to build a cooperative planetary culture. +When the Ur-Quan were discovered by the Taalo, they had just begun exploring their solar system +in crude atomic vehicles. +Although the Ur-Quan attacked what they thought to be an invader, the Taalo were patient. +They explained the purpose of the Sentient Milieu, and offered the Ur-Quan membership. +The Ur-Quan recognized the benefits that such a system provided +and once more conquered the hunting beast within themselves +to become cooperative, productive members of the Milieu. This lasted for several thousands of years. + +#(OK_BUY_HISTORY_3) melnorme-117.ogg +Just over twenty thousand years ago +when your ancestors were learning to chart the course of the moon and stars on animal horns +the Sentient Milieu spanned five hundred light years and included the membership of a hundred worlds. +Like all other star-travellers, they had discovered ruins and relics of a far more ancient culture +which your species calls the `Precursors'. +Explorers from many species spent their lives trying to piece together this ancient mystery +but of all races, the Ur-Quan were the most bold adventurers. +Their scouts, flying single-ships, penetrated far into uncharted space, and landed on a million worlds. +On one such mission, a young Ur-Quan made planetfall on a small, life-bearing alien world +to identify some anomalous energy readings, occasionally a sign of Precursor installations. +Instead the Ur-Quan found a small, hideous creature -- a Dnyarri. +Before the scout was able to defend itself, the Dnyarri creature took control of the Ur-Quan's mind +and commanded the scout to place the Dnyarri aboard the Ur-Quan's ship, along with hundreds of its evil brood. +Then the Ur-Quan returned to the heart of the Milieu, landing on its capital planet. +Within hours, every resident of the planet was a Dnyarri slave. +Within a month, Dnyarri-compelled starships had spread the evil, psychic creatures across the entire Milieu. + +#(OK_BUY_HISTORY_4) melnorme-118.ogg +When the Dnyarri took control over the Milieu, one race fought back -- the Taalo. +These slow, quiet creatures were silicon-based life forms +but bore little resemblance to the modern Chenjesu. +The Taalo were natural immunes to the Dnyarri psychic compulsion; they were unaffected by the creatures' power +and the Dnyarri would not permit anyone to exist outside their control +so they ordered the remaining races of the Milieu to attack and destroy the Taalo home planet. +This planet was one of the few Milieu worlds located in this region of space. +I believe you call their star Delta Vulpeculae. Their home was a moon revolving about the second planet. +I am sad to say that the Taalo were, indeed, eliminated. +However, at the time of their devastation they had completed a device +which they thought would give other races psychic immunity like their own. +What happened to this device, this shield? It's hard to say. +Maybe it was destroyed in the attack on their homeworld, maybe not. + +#(OK_BUY_HISTORY_5) melnorme-119.ogg +In the Dnyarri's new empire, the Ur-Quan were the favored slaves. +This is probably because the Ur-Quan were the most psychically sensitive, the most easily compelled. +As the centuries of Dnyarri dominance passed, what was once the Sentient Milieu +deteriorated and degenerated into a great galactic gulag. +Alien races which did not serve with the efficiency and speed demanded by the Dnyarri +were ruthlessly burned from the faces of their worlds. +The agents of this genocide were inevitably the Dnyarri's favored pet, the Ur-Quan. +After almost twenty-five hundred years of unrelenting Dnyarri control +there were only four living member races of the once-great Sentient Milieu. +By this point, the Dnyarri had used genetic manipulation to split the Ur-Quan into two sub-species: +the Green Ur-Quan -- scientists, technicians, and administrators +who were responsible for maintaining the limited infrastructure of the Dnyarri civilization +and the Black Ur-Quan, who filled the ranks of basic laborer and combat soldier. +Then, a chance discovery by an Ur-Quan named Kzer-Za +led to the violent overthrow of the Dnyarri Slave Empire. + +#(OK_BUY_HISTORY_6) melnorme-120.ogg +The Ur-Quan named Kzer-Za was a Green, a researcher specializing in repairing the mental damage +inflicted by long-term exposure to the Dnyarri's psychic compulsion. +By this point in history, the Dnyarri had grown lax in their dominance +and on occasion accidentally permitted their slaves moments of self-direction. +Kzer-Za was able to use those few scattered minutes to compose a theory. +From its observations, Kzer-Za realized that when a slave died +the Dnyarri `disconnected' from the slave's mind, lest it too be dragged down to death. +Further, the Ur-Quan scientist uncovered the fact that when a slave underwent great pain +the Dnyarri temporarily disconnected -- but that the degree of pain had to be extreme, nearly lethal. +Kzer-Za chose its moment carefully -- it waited until it was near an open transmission unit. +Then, in a short moment of mental freedom, the Ur-Quan injected itself with a dose of acidic poison +sending incredible waves of pain through its long body. +In the few moments before its death, Kzer-Za was able to wrest control of the transmitter +to send word of its discovery across the planet, and into space as well. +Before the Dnyarri knew what was happening +Ur-Quan everywhere were hacking at their own bodies with chunks of glass, burning themselves horribly +doing anything that would give them the few seconds of freedom necessary to find the nearest Dnyarri +and crush the bleating creature. +As they gained longer and longer periods of control, the Ur-Quan developed new tools and weapons +to destroy their evil masters. The most gruesome of these devices was the Excruciator +a mechanism which was inserted directly into the brain, and generated a constant stream of agony. +The Dnyarri could not bring themselves to make the necessary mental connection with these tortured Ur-Quan. +They were slaughtered by the thousands. +The Ur-Quan Slave revolt was won. + +#(OK_BUY_HISTORY_7) melnorme-121.ogg +When the last Ur-Quan was free of psychic compulsion -- when the last free Dnyarri was dead +the combined might of the Ur-Quan star fleets met in orbit above the Dnyarri homeworld. +They had come together to make two important decisions. +First -- how to punish the few frightened Dnyarri left below on the planet's surface. +Second -- how to ensure that never again would the Ur-Quan be made slaves. +The first decision was made swiftly. The Dnyarri would not be allowed to die; +ah, that was too kind a fate. +Instead, the creatures would be genetically modified into sub-sentience +they would become dumb animals. +These low creatures would be further debased by serving the Ur-Quan for all eternity +in the most demeaning way the Ur-Quan could imagine +acting as translators, making physical contact with other species +whom the Ur-Quan now considered grossly inferior to themselves and revolting. +The second decision -- how to ensure their freedom permanently -- caused great turmoil. + +#(OK_BUY_HISTORY_8) melnorme-122.ogg +Following the successful Ur-Quan slave revolt +the Ur-Quan met to decide how to ensure their freedom. +The Green Ur-Quan, who called themselves the Kzer-Za in honor of the Ur-Quan who triggered the revolt +wished to establish the `Path of Now and Forever' +which required that all other sentient species must become slaves of the Ur-Quan +or be forever imprisoned beneath an impenetrable force shield. +Leading the opposition to this plan was Kohr-Ah, a charismatic fleet officer. +Kohr-Ah proposed a simpler alternative, the `Eternal Doctrine.' +Simply put, this scheme called for the systematic eradication of all sentient life in the universe +aside from the Ur-Quan. +Captain, if these positions seem to you extreme or unwarranted +you must remember that the Ur-Quan had been unwilling slaves for millenia +and that each of them had to remain in agony for years in order to defeat the Dnyarri. +The followers of Kzer-Za and Kohr-Ah were all on the brink of madness +but neither side would submit, and so they fought a bloody civil war. + +#(OK_BUY_HISTORY_9) melnorme-123.ogg +This is the last historical item we have for sale. +The civil war between the Green Ur-Quan, the followers of Kzer-Za +and their opponents, the death-dealing Kohr-Ah, lasted for decades. +It is likely that they would have annihilated each other +were it not for a chance discovery by a Kzer-Za -- a Precursor Battleship! +The vessel was huge, many times the size of the Ur-Quan's vessels. +The Precursor ship sliced through the Kohr-Ah forces in days -- the Kohr-Ah were defeated. +However, in their victory the Kzer-Za were humble +they realized that there was a chance that they were wrong, and the Kohr-Ah were right. +Instead of destroying the Kohr-Ah, the Kzer-Za let them go +directing them to make their way through the stars, travelling against the spin of the galaxy. +The Kzer-Za would travel in the opposite direction +and when the two Ur-Quan forces met, they would fight again in ritual combat +with the Precursor Battleship given to the winner. +Captain, this is happening here and now. +The Kzer-Za, the Ur-Quan who enslaved Earth, are fighting their ritual battle against the Kohr-Ah +in a large area centered near the Crateris constellation. +If the Kohr-Ah win this battle, Captain, the Kzer-Za will stand aside and let them kill us all. +We believe it is your destiny to prevent this from happening. + +#(INFO_ALL_GONE) melnorme-124.ogg +We regret to say that you have exhausted our supply of genuinely valuable information. +However we DO have many thousands of useless facts and that we will gladly sell you +at a substantial discount. Are you interested? +Hmm, we thought not. + +#(buy_new_tech) +I would like to buy the technology you described. + +#(no_buy_new_tech) +I do not want to purchase any more technology. + +#(done_buying_new_tech) +I do not want to purchase any more technology. + +#(fill_me_up) +Fill all my fuel tanks to maximum capacity. + +#(OK_FILL_YOU_UP) melnorme-125.ogg +Yes sir, fill 'er up, right away! + +#(BUY_NEW_TECH_INTRO) melnorme-126.ogg +Investment! Ah yes, you are so right. +These technological breakthroughs don't cost you Credit +they EARN you Credit! +Of course... there is an initial charge +but each technological system item is GUARANTEED +to be useful for something important +somewhere in the galaxy +at some point in the future. +All technologies cost 150 Credits. + +#(OK_BUY_NEW_TECH) melnorme-127.ogg +Right now we are offering + +#(OK_NO_BUY_NEW_TECH) melnorme-128.ogg +What else would you like to buy? + +#(OK_DONE_BUYING_NEW_TECH) melnorme-129.ogg +Would you like to purchase anything else? + +#(OK_DONE_BUYING_FUEL) melnorme-130.ogg +Would you like to purchase anything else? + +#(NEW_TECH_1) melnorme-131.ogg +The technology we are now offering includes plans for building +blaster weapons twice as powerful as your ion-bolt guns. + +#(NEW_TECH_2) melnorme-132.ogg +The technology we are now offering includes specifications for constructing +modifications to your planet landers which will double their speed. + +#(NEW_TECH_3) melnorme-133.ogg +The technology we are now offering includes details on how to add +'point-defense' laser defense systems for your flagship. + +#(NEW_TECH_4) melnorme-134.ogg +The technology we are now offering includes plans for building +improvements to your planet landers which make them resistant to hostile alien lifeforms. + +#(NEW_TECH_5) melnorme-135.ogg +The technology we are now offering includes blueprints +which show how to increase your lander's cargo space +to double its present volume. + +#(NEW_TECH_6) melnorme-136.ogg +The technology we are now offering includes blueprints which show how to add +double-capacity fuel tanks. + +#(NEW_TECH_7) melnorme-137.ogg +The technology we are now offering includes plans for improving the rate of fire +on your lander's stunray bolt-beamer gun. + +#(NEW_TECH_8) melnorme-138.ogg +The technology we are now offering includes details for building +modifications to your planet landers which make them resistant to earthquakes. + +#(NEW_TECH_9) melnorme-139.ogg +The technology we are now offering includes plans for adding +auto-tracking modules which improve the aim of all your weapons. + +#(NEW_TECH_10) melnorme-140.ogg +The technology we are now offering includes plans for adding +improvements to your planet landers which make them resistant to inclement planet weather. + +#(NEW_TECH_11) melnorme-141.ogg +The technology we are now offering is everything you need to know to assemble +modifications to your planet landers which make them resistant to planetary hot-spots. + +#(NEW_TECH_12) melnorme-142.ogg +The technology we are now offering is plans for building +'Hellbore Cannons', a weapon much more destructive than a simple blaster. + +#(NEW_TECH_13) melnorme-143.ogg +The technology we are now offering includes details on how to develop +Shiva Furnace modules which generate energy for your combat batteries +twice as fast as your standard dynamos. + +#(OK_BUY_NEW_TECH_1) melnorme-144.ogg +Please remember that these weapons consume energy from your combat batteries +faster than your familiar ion-bolt guns. +You may wish to compensate for this by building additional dynamo modules for your flagship. + +#(OK_BUY_NEW_TECH_2) melnorme-145.ogg +Ah yes, speed! An excellent choice for the relentless hunter +and craven coward as well. +These modifications are simple enough to be put in place immediately. +Your landers should be properly equipped in no time. + +#(OK_BUY_NEW_TECH_3) melnorme-146.ogg +These little babies are great for defense, but because of their limited range +they may not make a good offensive weapon. +However, the more you build for your vessel the more damage each laser strike will do. + +#(OK_BUY_NEW_TECH_4) melnorme-147.ogg +Our reinforcement procedures on your landers are complete. +Now, provided your crew will stop putting their hands out the windows +they will be much better protected against hostile lifeforms. + +#(OK_BUY_NEW_TECH_5) melnorme-148.ogg +I hope this makes your resource gathering more cost-effective, Captain. + +#(OK_BUY_NEW_TECH_6) melnorme-149.ogg +We hope that these improved tanks will make more module slots available on your flagship +which you can fill with other, more useful equipment. + +#(OK_BUY_NEW_TECH_7) melnorme-150.ogg +After some wild game, hmmm? Well, the changes we made should really make a difference! +Unless of course that wiring went in backwards +in which case you won't be able to shoot at all, or take off for that matter. +Don't worry, Captain. We stand behind our work. If something goes wrong +just bring it back to us, and we'll fix it pronto! + +#(OK_BUY_NEW_TECH_8) melnorme-151.ogg +With the addition of these safety belts and heavy-duty shock absorbers +your lander occupants should be much safer when an untimely earthquake strikes. +The job is complete. Your landers are ready. + +#(OK_BUY_NEW_TECH_9) melnorme-152.ogg +You are preparing for a mighty battle, eh? +Well, let me give you some advice. +You should consider using multiple Tracking modules, since this will greatly improve your aim +however, never add more than three to your ship. Any more would be useless. + +#(OK_BUY_NEW_TECH_10) melnorme-153.ogg +A little superconductive spray-paint and Presto! +Your lander can sustain a direct hit by a lightning bolt +without crisping the passengers inside... usually. +Since the job is so easy that a nymph could do it +I expect all your landers will be treated in less than an hour. + +#(OK_BUY_NEW_TECH_11) melnorme-154.ogg +With these new ablative-plasma heat shields, your crew will be substantially safer on hot worlds +but like all our lander modifications, this protection is not perfect, so remain cautious. +Since the changes to your landers are straightforward +your landers should be fitted with the heat shields by the time you return to your ship. + +#(OK_BUY_NEW_TECH_12) melnorme-155.ogg +Captain, just a suggestion! +Hellbore Cannon are energy gulpers, so unless you want to have a long delay between shots +I would suggest you add Dynamos or even Shiva Furnaces to your ship. + +#(OK_BUY_NEW_TECH_13) melnorme-156.ogg +I am certain you will appreciate this new module, Captain! +With it you should be able to destroy and devastate twice as fast as before. + +#(CHARITY) melnorme-157.ogg +Since you have no useful, easily removeable equipment on your vessel +we have decided to provide you with fuel at no cost. +Please do not make the mistake of thinking of this as a `gift' or act of altruism +we are merely investing in our relationship with you, the customer. +We are certain that in the long run, this will prove to be a most profitable investment. + +#(NEW_TECH_ALL_GONE) melnorme-158.ogg +Commander, that is the limit of the new technology we can offer you. +If I may say so, you have been an excellent customer. +Thank you! + +#(we_are_from_alliance0) +We come in peace, representing + +#(STRIP_HEAD) melnorme-159.ogg +We will take + +#(LANDERS) melnorme-160.ogg + of your Planet Landers + +#(THRUSTERS) melnorme-161.ogg + of your Fusion Thrusters + +#(JETS) melnorme-162.ogg + of your Turning Jets + +#(PODS) melnorme-163.ogg + of your empty Crew Pods + +#(BAYS) melnorme-164.ogg + of your empty Storage Bays + +#(DYNAMOS) melnorme-165.ogg + of your Dynamo modules + +#(FURNACES) melnorme-166.ogg + of your Shiva Furnaces + +#(GUNS) melnorme-167.ogg + of your Ion-Bolt Guns + +#(BLASTERS) melnorme-168.ogg + of your Blasters + +#(CANNONS) melnorme-169.ogg + of your Hellbore Cannons + +#(TRACKERS) melnorme-170.ogg + of your Auto-Tracking Modules + +#(DEFENSES) melnorme-171.ogg + of your Point-Defense Lasers + +#(name_1) +The New Alliance of Free Stars! + +#(name_2) +The Concordance of Alien Nations! + +#(name_3) +The United Federation of Worlds! + +#(name_40) +The Empire of +#(name_41) +! + +#(ENUMERATE_ONE) melnorme-172.ogg +one + +#(ENUMERATE_TWO) melnorme-173.ogg +two + +#(ENUMERATE_THREE) melnorme-174.ogg +three + +#(ENUMERATE_FOUR) melnorme-175.ogg +four + +#(ENUMERATE_FIVE) melnorme-176.ogg +five + +#(ENUMERATE_SIX) melnorme-177.ogg +six + +#(ENUMERATE_SEVEN) melnorme-178.ogg +seven + +#(ENUMERATE_EIGHT) melnorme-179.ogg +eight + +#(ENUMERATE_NINE) melnorme-180.ogg +nine + +#(ENUMERATE_TEN) melnorme-181.ogg +ten + +#(ENUMERATE_ELEVEN) melnorme-182.ogg +eleven + +#(ENUMERATE_TWELVE) melnorme-183.ogg +twelve + +#(ENUMERATE_THIRTEEN) melnorme-184.ogg +thirteen + +#(ENUMERATE_FOURTEEN) melnorme-185.ogg +fourteen + +#(ENUMERATE_FIFTEEN) melnorme-186.ogg +fifteen + +#(ENUMERATE_SIXTEEN) melnorme-187.ogg +sixteen + +#(END_LIST_WITH_AND) melnorme-188.ogg +and + +#(ENUMERATE_ZERO) +zero + +#(ENUMERATE_SEVENTEEN) melnorme-190.ogg +seventeen + +#(ENUMERATE_EIGHTEEN) melnorme-191.ogg +eighteen + +#(ENUMERATE_NINETEEN) melnorme-192.ogg +nineteen + +#(ENUMERATE_TWENTY) melnorme-193.ogg +twenty + +#(ENUMERATE_THIRTY) melnorme-194.ogg +thirty + +#(ENUMERATE_FOURTY) melnorme-195.ogg +fourty + +#(ENUMERATE_FIFTY) melnorme-196.ogg +fifty + +#(ENUMERATE_SIXTY) melnorme-197.ogg +sixty + +#(ENUMERATE_SEVENTY) melnorme-198.ogg +seventy + +#(ENUMERATE_EIGHTY) melnorme-199.ogg +eighty + +#(ENUMERATE_NINETY) melnorme-200.ogg +ninety + +#(ENUMERATE_HUNDRED) melnorme-201.ogg +hundred + +#(ENUMERATE_THOUSAND) melnorme-202.ogg +thousand Modified: trunk/sc2/content/base/comm/melnorme/melnorme.txt =================================================================== --- trunk/sc2/content/base/comm/melnorme/melnorme.txt 2011-07-07 19:25:08 UTC (rev 3633) +++ trunk/sc2/content/base/comm/melnorme/melnorme.txt 2011-07-08 20:37:02 UTC (rev 3634) @@ -105,6 +105,22 @@ #(HELLO_AND_DOWN_TO_BUSINESS_2) melnorme-013.ogg How nice to see you again, Captain. +Before we go on, I have a small announcement. +As you may know, in our travels throughout the galaxy +we Melnorme have found many strange and interesting alien artifacts. +One of these devices is the MetaChron, a kind of trans-time alarm system. +In a nutshell, it warns me of future dangers by predicting its own demise +which is most likely linked to my own well being, since I keep it under my pillow. +The unit is a small pyramid and, when all is well, white in color. +B... [truncated message content] |
From: <av...@us...> - 2011-07-09 02:29:16
|
Revision: 3637 http://sc2.svn.sourceforge.net/sc2/?rev=3637&view=rev Author: avolkov Date: 2011-07-09 02:29:10 +0000 (Sat, 09 Jul 2011) Log Message: ----------- Added 'speech' config value which controls loading of 3dovoice addon; decoupled user option from actual presence of speech Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/content/base/ui/setupmenu.txt trunk/sc2/src/libs/sound/stream.c trunk/sc2/src/libs/sound/stream.h trunk/sc2/src/options.c trunk/sc2/src/options.h trunk/sc2/src/uqm/comm/starbas/starbas.c trunk/sc2/src/uqm/comm/syreen/syreenc.c trunk/sc2/src/uqm/comm.c trunk/sc2/src/uqm/oscill.c trunk/sc2/src/uqm/setup.c trunk/sc2/src/uqm/setup.h trunk/sc2/src/uqm/setupmenu.c trunk/sc2/src/uqm/setupmenu.h trunk/sc2/src/uqm.c Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-07-08 22:23:28 UTC (rev 3636) +++ trunk/sc2/ChangeLog 2011-07-09 02:29:10 UTC (rev 3637) @@ -1,4 +1,6 @@ Changes towards version 0.8: +- Added speech option which controls loading of 3dovoice addon (no need + to set speech volume to 0 anymore) - Alex - Added the MetaChron story to the no-voice Melnorme script (bug #43) - Alex 0.7.0: Modified: trunk/sc2/content/base/ui/setupmenu.txt =================================================================== --- trunk/sc2/content/base/ui/setupmenu.txt 2011-07-08 22:23:28 UTC (rev 3636) +++ trunk/sc2/content/base/ui/setupmenu.txt 2011-07-09 02:29:10 UTC (rev 3637) @@ -34,6 +34,7 @@ Player Two Control Set UQM Remixes +Speech #(CAT_0_OPTS) 320x240 @@ -421,6 +422,20 @@ modern soundtrack written by The Precursors. Requires a restart of UQM to take effect. +#(CAT_22_OPTS) +Disabled +Enabled + +#(CAT_22_OPT_0_DESC) +Do not load the 3DO Speech Pack. +Uses script closer to PC version. +Requires a restart of UQM to take effect. + +#(CAT_22_OPT_1_DESC) +Use 3DO speech. The script is closer to 3DO +version where there are differences. +Requires a restart of UQM to take effect. + #(SLIDERS) Music Volume SFX Volume Modified: trunk/sc2/src/libs/sound/stream.c =================================================================== --- trunk/sc2/src/libs/sound/stream.c 2011-07-08 22:23:28 UTC (rev 3636) +++ trunk/sc2/src/libs/sound/stream.c 2011-07-09 02:29:10 UTC (rev 3637) @@ -593,7 +593,8 @@ // We use AGC because different pieces of music and speech can easily be // at very different gain levels, because the game is moddable. int -GraphForegroundStream (uint8 *data, sint32 width, sint32 height) +GraphForegroundStream (uint8 *data, sint32 width, sint32 height, + bool wantSpeech) { int source_num; TFB_SoundSource *source; @@ -634,7 +635,7 @@ source_num = SPEECH_SOURCE; source = &soundSource[source_num]; LockMutex (source->stream_mutex); - if (speechVolumeScale != 0.0f && (!source->sample || + if (wantSpeech && (!source->sample || !source->sample->decoder || !source->sample->decoder->is_null)) { // Use speech waveform, since it's available // Step is picked experimentally. Using step of 1 sample at 11025Hz, @@ -642,9 +643,10 @@ // better this way. step = 1; } - else if (musicVolumeScale != 0.0f) + else { // We do not have speech -- use music waveform UnlockMutex (source->stream_mutex); + source_num = MUSIC_SOURCE; source = &soundSource[source_num]; LockMutex (source->stream_mutex); @@ -653,11 +655,6 @@ // It looks better this way. step = 4; } - else - { // We do not have anything usable - UnlockMutex (source->stream_mutex); - return 0; - } if (!PlayingStream (source_num) || !source->sample || !source->sample->decoder || !source->sbuffer Modified: trunk/sc2/src/libs/sound/stream.h =================================================================== --- trunk/sc2/src/libs/sound/stream.h 2011-07-08 22:23:28 UTC (rev 3636) +++ trunk/sc2/src/libs/sound/stream.h 2011-07-09 02:29:10 UTC (rev 3637) @@ -28,7 +28,8 @@ void SeekStream (uint32 source, uint32 pos); BOOLEAN PlayingStream (uint32 source); -int GraphForegroundStream (uint8 *data, sint32 width, sint32 height); +int GraphForegroundStream (uint8 *data, sint32 width, sint32 height, + bool wantSpeech); // returns TRUE if the fade was accepted by stream decoder bool SetMusicStreamFade (sint32 howLong, int endVolume); Modified: trunk/sc2/src/options.c =================================================================== --- trunk/sc2/src/options.c 2011-07-08 22:23:28 UTC (rev 3636) +++ trunk/sc2/src/options.c 2011-07-09 02:29:10 UTC (rev 3637) @@ -54,6 +54,7 @@ BOOLEAN opt3doMusic; BOOLEAN optRemixMusic; +BOOLEAN optSpeech; BOOLEAN optSubtitles; BOOLEAN optStereoSFX; BOOLEAN optKeepAspectRatio; Modified: trunk/sc2/src/options.h =================================================================== --- trunk/sc2/src/options.h 2011-07-08 22:23:28 UTC (rev 3636) +++ trunk/sc2/src/options.h 2011-07-09 02:29:10 UTC (rev 3637) @@ -40,6 +40,7 @@ extern BOOLEAN opt3doMusic; extern BOOLEAN optRemixMusic; +extern BOOLEAN optSpeech; extern BOOLEAN optSubtitles; extern BOOLEAN optStereoSFX; extern BOOLEAN optKeepAspectRatio; Modified: trunk/sc2/src/uqm/comm/starbas/starbas.c =================================================================== --- trunk/sc2/src/uqm/comm/starbas/starbas.c 2011-07-08 22:23:28 UTC (rev 3636) +++ trunk/sc2/src/uqm/comm/starbas/starbas.c 2011-07-09 02:29:10 UTC (rev 3637) @@ -28,7 +28,6 @@ #include "libs/graphics/gfx_common.h" #include "libs/mathlib.h" #include "libs/inplib.h" -#include "libs/sound/sound.h" static void TellMission (RESPONSE_REF R); @@ -214,7 +213,7 @@ } NPCPhrase (pStr0); - if (speechVolumeScale == 0.0f) + if (!usingSpeech) { NPCPhrase (SPACE); NPCPhrase (GLOBAL_PLAYER_NAME); @@ -900,7 +899,7 @@ else if (PLAYER_SAID (R, tell_me_about_crew)) { NPCPhrase (ABOUT_CREW0); - if (speechVolumeScale > 0.0f) + if (usingSpeech) NPCPhrase (YOUR_FLAGSHIP_3DO2); else { NPCPhrase (YOUR_FLAGSHIP_PC); @@ -1646,14 +1645,14 @@ if (GET_GAME_STATE (MOONBASE_ON_SHIP)) { NPCPhrase (STARBASE_IS_READY_A); - if (speechVolumeScale > 0.0f) + if (usingSpeech) NPCPhrase (YOUR_FLAGSHIP_3DO1); else { NPCPhrase (YOUR_FLAGSHIP_PC); NPCPhrase (GLOBAL_SHIP_NAME); } NPCPhrase (STARBASE_IS_READY_B); - if (speechVolumeScale > 0.0f) + if (usingSpeech) NPCPhrase (YOUR_FLAGSHIP_3DO0); else NPCPhrase (GLOBAL_SHIP_NAME); @@ -1711,7 +1710,7 @@ break; } NPCPhrase (pStr0); - if (speechVolumeScale == 0.0f) + if (!usingSpeech) { NPCPhrase (SPACE); NPCPhrase (GLOBAL_PLAYER_NAME); @@ -1914,7 +1913,7 @@ } NPCPhrase (pStr1); - if (speechVolumeScale == 0.0f) + if (!usingSpeech) { NPCPhrase (SPACE); NPCPhrase (GLOBAL_PLAYER_NAME); Modified: trunk/sc2/src/uqm/comm/syreen/syreenc.c =================================================================== --- trunk/sc2/src/uqm/comm/syreen/syreenc.c 2011-07-08 22:23:28 UTC (rev 3636) +++ trunk/sc2/src/uqm/comm/syreen/syreenc.c 2011-07-09 02:29:10 UTC (rev 3637) @@ -20,8 +20,8 @@ #include "resinst.h" #include "strings.h" -#include "libs/sound/sound.h" #include "uqm/build.h" +#include "uqm/setup.h" static LOCDATA syreen_desc = @@ -652,7 +652,7 @@ else if (PLAYER_SAID (R, we_are_vindicator0)) { NPCPhrase (WELCOME_VINDICATOR0); - if (speechVolumeScale == 0.0f) + if (!usingSpeech) { NPCPhrase (GLOBAL_PLAYER_NAME); NPCPhrase (WELCOME_VINDICATOR1); Modified: trunk/sc2/src/uqm/comm.c =================================================================== --- trunk/sc2/src/uqm/comm.c 2011-07-08 22:23:28 UTC (rev 3636) +++ trunk/sc2/src/uqm/comm.c 2011-07-09 02:29:10 UTC (rev 3637) @@ -46,8 +46,7 @@ #include <ctype.h> #define MAX_RESPONSES 8 -#define BACKGROUND_VOL \ - (speechVolumeScale == 0.0f ? NORMAL_VOLUME : (NORMAL_VOLUME >> 1)) +#define BACKGROUND_VOL (usingSpeech ? (NORMAL_VOLUME / 2) : NORMAL_VOLUME) #define FOREGROUND_VOL NORMAL_VOLUME // Oscilloscope frame rate Modified: trunk/sc2/src/uqm/oscill.c =================================================================== --- trunk/sc2/src/uqm/oscill.c 2011-07-08 22:23:28 UTC (rev 3636) +++ trunk/sc2/src/uqm/oscill.c 2011-07-09 02:29:10 UTC (rev 3637) @@ -79,7 +79,8 @@ assert ((size_t)scopeSize.width <= sizeof scope_data); assert (scopeSize.height < 256); - if (GraphForegroundStream (scope_data, scopeSize.width, scopeSize.height)) + if (GraphForegroundStream (scope_data, scopeSize.width, scopeSize.height, + usingSpeech)) { int i; CONTEXT oldContext; Modified: trunk/sc2/src/uqm/setup.c =================================================================== --- trunk/sc2/src/uqm/setup.c 2011-07-08 22:23:28 UTC (rev 3636) +++ trunk/sc2/src/uqm/setup.c 2011-07-09 02:29:10 UTC (rev 3637) @@ -72,7 +72,9 @@ uio_Repository *repository; uio_DirHandle *rootDir; +BOOLEAN usingSpeech; + static void InitPlayerInput (void) { @@ -119,9 +121,11 @@ loadAddon ("3domusic"); } - /* Always try to use voice data */ - if (!loadAddon ("3dovoice")) - speechVolumeScale = 0.0f; // XXX: need better no-speech indicator + usingSpeech = optSpeech; + if (optSpeech && !loadAddon ("3dovoice")) + { + usingSpeech = FALSE; + } if (optRemixMusic) { Modified: trunk/sc2/src/uqm/setup.h =================================================================== --- trunk/sc2/src/uqm/setup.h 2011-07-08 22:23:28 UTC (rev 3636) +++ trunk/sc2/src/uqm/setup.h 2011-07-09 02:29:10 UTC (rev 3637) @@ -58,6 +58,10 @@ extern BYTE PlayerControl[]; +extern BOOLEAN usingSpeech; + // Actual speech presence indicator which decouples reality from + // the user option, thus the user option remains as pure intent + BOOLEAN InitContexts (void); void UninitPlayerInput (void); BOOLEAN InitGameKernel (void); Modified: trunk/sc2/src/uqm/setupmenu.c =================================================================== --- trunk/sc2/src/uqm/setupmenu.c 2011-07-08 22:23:28 UTC (rev 3636) +++ trunk/sc2/src/uqm/setupmenu.c 2011-07-09 02:29:10 UTC (rev 3637) @@ -73,7 +73,7 @@ #endif #define MENU_COUNT 8 -#define CHOICE_COUNT 22 +#define CHOICE_COUNT 23 #define SLIDER_COUNT 3 #define BUTTON_COUNT 10 #define LABEL_COUNT 4 @@ -96,7 +96,7 @@ static int choice_widths[CHOICE_COUNT] = { 3, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 3, 3, 2, 3, 3, - 3, 2 }; + 3, 2, 2 }; static HANDLER button_handlers[BUTTON_COUNT] = { quit_main_menu, quit_sub_menu, do_graphics, do_engine, @@ -104,7 +104,7 @@ do_keyconfig }; static int menu_sizes[MENU_COUNT] = { - 7, 5, 7, 9, 2, 5, + 7, 5, 8, 9, 2, 5, #ifdef HAVE_OPENGL 5, #else @@ -140,6 +140,7 @@ (WIDGET *)(&choices[14]), (WIDGET *)(&choices[9]), (WIDGET *)(&choices[21]), + (WIDGET *)(&choices[22]), (WIDGET *)(&buttons[1]) }; static WIDGET *engine_widgets[] = { @@ -387,6 +388,7 @@ choices[19].selected = opts.player2; choices[20].selected = 0; choices[21].selected = opts.musicremix; + choices[22].selected = opts.speech; sliders[0].value = opts.musicvol; sliders[1].value = opts.sfxvol; @@ -418,6 +420,7 @@ opts.player1 = choices[18].selected; opts.player2 = choices[19].selected; opts.musicremix = choices[21].selected; + opts.speech = choices[22].selected; opts.musicvol = sliders[0].value; opts.sfxvol = sliders[1].value; @@ -1093,6 +1096,7 @@ /* These values are read in, but won't change during a run. */ opts->music3do = opt3doMusic ? OPTVAL_ENABLED : OPTVAL_DISABLED; opts->musicremix = optRemixMusic ? OPTVAL_ENABLED : OPTVAL_DISABLED; + opts->speech = optSpeech ? OPTVAL_ENABLED : OPTVAL_DISABLED; switch (snddriver) { case audio_DRIVER_OPENAL: opts->adriver = OPTVAL_OPENAL; @@ -1312,6 +1316,7 @@ optSmoothScroll = (opts->scroll == OPTVAL_3DO) ? OPT_3DO : OPT_PC; optWhichShield = (opts->shield == OPTVAL_3DO) ? OPT_3DO : OPT_PC; optMeleeScale = (opts->meleezoom == OPTVAL_3DO) ? TFB_SCALE_TRILINEAR : TFB_SCALE_STEP; + optSpeech = (opts->speech == OPTVAL_ENABLED); optWhichIntro = (opts->intro == OPTVAL_3DO) ? OPT_3DO : OPT_PC; PlayerControls[0] = opts->player1; PlayerControls[1] = opts->player2; @@ -1324,6 +1329,7 @@ res_PutBoolean ("config.3domusic", opts->music3do == OPTVAL_ENABLED); res_PutBoolean ("config.remixmusic", opts->musicremix == OPTVAL_ENABLED); + res_PutBoolean ("config.speech", opts->speech == OPTVAL_ENABLED); res_PutBoolean ("config.3domovies", opts->intro == OPTVAL_3DO); res_PutBoolean ("config.showfps", opts->fps == OPTVAL_ENABLED); res_PutBoolean ("config.smoothmelee", opts->meleezoom == OPTVAL_3DO); Modified: trunk/sc2/src/uqm/setupmenu.h =================================================================== --- trunk/sc2/src/uqm/setupmenu.h 2011-07-08 22:23:28 UTC (rev 3636) +++ trunk/sc2/src/uqm/setupmenu.h 2011-07-09 02:29:10 UTC (rev 3637) @@ -74,7 +74,8 @@ OPT_DRIVERTYPE driver; OPT_ADRIVERTYPE adriver; OPT_AQUALITYTYPE aquality; - OPT_ENABLABLE fullscreen, subtitles, scanlines, fps, stereo, music3do, musicremix; + OPT_ENABLABLE fullscreen, subtitles, scanlines, fps, stereo; + OPT_ENABLABLE music3do, musicremix, speech; OPT_CONSOLETYPE menu, text, cscan, scroll, intro, meleezoom, shield; CONTROL_TEMPLATE player1, player2; int speechvol, musicvol, sfxvol; Modified: trunk/sc2/src/uqm.c =================================================================== --- trunk/sc2/src/uqm.c 2011-07-08 22:23:28 UTC (rev 3636) +++ trunk/sc2/src/uqm.c 2011-07-09 02:29:10 UTC (rev 3637) @@ -114,6 +114,7 @@ DECL_CONFIG_OPTION(int, soundQuality); DECL_CONFIG_OPTION(bool, use3doMusic); DECL_CONFIG_OPTION(bool, useRemixMusic); + DECL_CONFIG_OPTION(bool, useSpeech); DECL_CONFIG_OPTION(int, whichCoarseScan); DECL_CONFIG_OPTION(int, whichMenu); DECL_CONFIG_OPTION(int, whichFonts); @@ -247,6 +248,7 @@ INIT_CONFIG_OPTION( soundQuality, audio_QUALITY_MEDIUM ), INIT_CONFIG_OPTION( use3doMusic, true ), INIT_CONFIG_OPTION( useRemixMusic, false ), + INIT_CONFIG_OPTION( useSpeech, true ), INIT_CONFIG_OPTION( whichCoarseScan, OPT_PC ), INIT_CONFIG_OPTION( whichMenu, OPT_PC ), INIT_CONFIG_OPTION( whichFonts, OPT_PC ), @@ -368,6 +370,7 @@ // Fill in global variables: opt3doMusic = options.use3doMusic.value; optRemixMusic = options.useRemixMusic.value; + optSpeech = options.useSpeech.value; optWhichCoarseScan = options.whichCoarseScan.value; optWhichMenu = options.whichMenu.value; optWhichFonts = options.whichFonts.value; @@ -620,19 +623,13 @@ getBoolConfigValue (&options->use3doMusic, "config.3domusic"); getBoolConfigValue (&options->useRemixMusic, "config.remixmusic"); + getBoolConfigValue (&options->useSpeech, "config.speech"); getBoolConfigValueXlat (&options->meleeScale, "config.smoothmelee", TFB_SCALE_TRILINEAR, TFB_SCALE_STEP); - if (getListConfigValue (&options->soundDriver, "config.audiodriver", - audioDriverList)) - { - // XXX: I don't know if we should turn speech off in this case. - // This affects which version of the alien script will be used. - if (options->soundDriver.value == audio_DRIVER_NOSOUND) - options->speechVolumeScale.value = 0.0f; - } - + getListConfigValue (&options->soundDriver, "config.audiodriver", + audioDriverList); getListConfigValue (&options->soundQuality, "config.audioquality", audioQualityList); getBoolConfigValue (&options->stereoSFX, "config.positionalsfx"); @@ -971,17 +968,9 @@ } break; case SOUND_OPT: - if (setListOption (&options->soundDriver, optarg, + if (!setListOption (&options->soundDriver, optarg, audioDriverList)) { - // XXX: I don't know if we should turn speech off in - // this case. This affects which version of the alien - // script will be used. - if (options->soundDriver.value == audio_DRIVER_NOSOUND) - options->speechVolumeScale.value = 0.0f; - } - else - { InvalidArgument (optarg, "--sound"); badArg = true; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-07-09 16:12:27
|
Revision: 3641 http://sc2.svn.sourceforge.net/sc2/?rev=3641&view=rev Author: avolkov Date: 2011-07-09 16:12:21 +0000 (Sat, 09 Jul 2011) Log Message: ----------- Added aspect ratio option to the setup menu Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/content/base/ui/setupmenu.txt trunk/sc2/src/uqm/setupmenu.c trunk/sc2/src/uqm/setupmenu.h Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-07-09 05:27:47 UTC (rev 3640) +++ trunk/sc2/ChangeLog 2011-07-09 16:12:21 UTC (rev 3641) @@ -1,4 +1,5 @@ Changes towards version 0.8: +- Added aspect ratio option to the setup menu - Alex - Added speech option which controls loading of 3dovoice addon (no need to set speech volume to 0 anymore) - Alex - Added the MetaChron story to the no-voice Melnorme script (bug #43) - Alex Modified: trunk/sc2/content/base/ui/setupmenu.txt =================================================================== --- trunk/sc2/content/base/ui/setupmenu.txt 2011-07-09 05:27:47 UTC (rev 3640) +++ trunk/sc2/content/base/ui/setupmenu.txt 2011-07-09 16:12:21 UTC (rev 3641) @@ -35,6 +35,7 @@ Control Set UQM Remixes Speech +Aspect Ratio #(CAT_0_OPTS) 320x240 @@ -436,6 +437,20 @@ version where there are differences. Requires a restart of UQM to take effect. +#(CAT_23_OPTS) +Any +Force 4:3 + +#(CAT_23_OPT_0_DESC) +Allow any aspect ratio. The game may be +stretched in windows that are not 4:3. +Currently only meaningful in OpenGL mode. + +#(CAT_23_OPT_1_DESC) +Display the game with 4:3 aspect even when +the window is not. +Currently only meaningful in OpenGL mode. + #(SLIDERS) Music Volume SFX Volume Modified: trunk/sc2/src/uqm/setupmenu.c =================================================================== --- trunk/sc2/src/uqm/setupmenu.c 2011-07-09 05:27:47 UTC (rev 3640) +++ trunk/sc2/src/uqm/setupmenu.c 2011-07-09 16:12:21 UTC (rev 3641) @@ -73,7 +73,7 @@ #endif #define MENU_COUNT 8 -#define CHOICE_COUNT 23 +#define CHOICE_COUNT 24 #define SLIDER_COUNT 3 #define BUTTON_COUNT 10 #define LABEL_COUNT 4 @@ -96,7 +96,7 @@ static int choice_widths[CHOICE_COUNT] = { 3, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 3, 3, 2, 3, 3, - 3, 2, 2 }; + 3, 2, 2, 2 }; static HANDLER button_handlers[BUTTON_COUNT] = { quit_main_menu, quit_sub_menu, do_graphics, do_engine, @@ -117,6 +117,7 @@ static WIDGET *graphics_widgets[] = { (WIDGET *)(&choices[0]), + (WIDGET *)(&choices[23]), (WIDGET *)(&choices[10]), (WIDGET *)(&choices[2]), (WIDGET *)(&choices[3]), @@ -399,6 +400,7 @@ choices[20].selected = 0; choices[21].selected = opts.musicremix; choices[22].selected = opts.speech; + choices[23].selected = opts.keepaspect; sliders[0].value = opts.musicvol; sliders[1].value = opts.sfxvol; @@ -431,6 +433,7 @@ opts.player2 = choices[19].selected; opts.musicremix = choices[21].selected; opts.speech = choices[22].selected; + opts.keepaspect = choices[23].selected; opts.musicvol = sliders[0].value; opts.sfxvol = sliders[1].value; @@ -1121,6 +1124,7 @@ opts->music3do = opt3doMusic ? OPTVAL_ENABLED : OPTVAL_DISABLED; opts->musicremix = optRemixMusic ? OPTVAL_ENABLED : OPTVAL_DISABLED; opts->speech = optSpeech ? OPTVAL_ENABLED : OPTVAL_DISABLED; + opts->keepaspect = optKeepAspectRatio ? OPTVAL_ENABLED : OPTVAL_DISABLED; switch (snddriver) { case audio_DRIVER_OPENAL: opts->adriver = OPTVAL_OPENAL; @@ -1343,6 +1347,7 @@ optSpeech = (opts->speech == OPTVAL_ENABLED); optWhichIntro = (opts->intro == OPTVAL_3DO) ? OPT_3DO : OPT_PC; optStereoSFX = (opts->stereo == OPTVAL_ENABLED); + optKeepAspectRatio = (opts->keepaspect == OPTVAL_ENABLED); PlayerControls[0] = opts->player1; PlayerControls[1] = opts->player2; @@ -1360,6 +1365,7 @@ res_PutBoolean ("config.smoothmelee", opts->meleezoom == OPTVAL_3DO); res_PutBoolean ("config.positionalsfx", opts->stereo == OPTVAL_ENABLED); res_PutBoolean ("config.pulseshield", opts->shield == OPTVAL_3DO); + res_PutBoolean ("config.keepaspectratio", opts->keepaspect == OPTVAL_ENABLED); res_PutInteger ("config.player1control", opts->player1); res_PutInteger ("config.player2control", opts->player2); Modified: trunk/sc2/src/uqm/setupmenu.h =================================================================== --- trunk/sc2/src/uqm/setupmenu.h 2011-07-09 05:27:47 UTC (rev 3640) +++ trunk/sc2/src/uqm/setupmenu.h 2011-07-09 16:12:21 UTC (rev 3641) @@ -76,6 +76,7 @@ OPT_AQUALITYTYPE aquality; OPT_ENABLABLE fullscreen, subtitles, scanlines, fps, stereo; OPT_ENABLABLE music3do, musicremix, speech; + OPT_ENABLABLE keepaspect; OPT_CONSOLETYPE menu, text, cscan, scroll, intro, meleezoom, shield; CONTROL_TEMPLATE player1, player2; int speechvol, musicvol, sfxvol; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-07-13 17:29:49
|
Revision: 3644 http://sc2.svn.sourceforge.net/sc2/?rev=3644&view=rev Author: avolkov Date: 2011-07-13 17:29:42 +0000 (Wed, 13 Jul 2011) Log Message: ----------- Refactor Melnorme comm code to make modding easier, step 1; bug #1128; from Scott A. Colcord Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/src/uqm/comm/melnorm/melnorm.c trunk/sc2/src/uqm/globdata.h Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-07-09 21:52:21 UTC (rev 3643) +++ trunk/sc2/ChangeLog 2011-07-13 17:29:42 UTC (rev 3644) @@ -1,4 +1,6 @@ Changes towards version 0.8: +- Refactor Melnorme comm code to make modding easier; step 1 (bug #1128), + from Scott A. Colcord - Added aspect ratio option to the setup menu - Alex - Added speech option which controls loading of 3dovoice addon (no need to set speech volume to 0 anymore) - Alex Modified: trunk/sc2/src/uqm/comm/melnorm/melnorm.c =================================================================== --- trunk/sc2/src/uqm/comm/melnorm/melnorm.c 2011-07-09 21:52:21 UTC (rev 3643) +++ trunk/sc2/src/uqm/comm/melnorm/melnorm.c 2011-07-13 17:29:42 UTC (rev 3644) @@ -34,11 +34,6 @@ #include "uqm/sis.h" -#define NUM_HISTORY_ITEMS 9 -#define NUM_EVENT_ITEMS 8 -#define NUM_ALIEN_RACE_ITEMS 16 -#define NUM_TECH_ITEMS 13 - static const NUMBER_SPEECH_DESC melnorme_numbers_english; static LOCDATA melnorme_desc = @@ -201,6 +196,294 @@ } }; +#define ARRAY_SIZE(array) (sizeof(array) / sizeof (*array)) + + +//////////////Technology System/////////////////////// +// This section deals with enabling and checking for +// various technologies. It should probably be +// migrated to its own file. + +// Identifiers for the various technologies +typedef enum +{ + TECH_MODULE_BLASTER, + TECH_LANDER_SPEED, + TECH_MODULE_ANTIMISSILE, + TECH_LANDER_SHIELD_BIO, + TECH_LANDER_CARGO, + TECH_MODULE_BIGFUELTANK, + TECH_LANDER_RAPIDFIRE, + TECH_LANDER_SHIELD_QUAKE, + TECH_MODULE_TRACKING, + TECH_LANDER_SHIELD_LIGHTNING, + TECH_LANDER_SHIELD_HEAT, + TECH_MODULE_CANNON, + TECH_MODULE_FURNACE, +} TechId_t; + +// Group the technologies into three subtypes +typedef enum +{ + TECH_TYPE_MODULE, // Flagship modules + // subtype = moduleId, info = cost + // Cost will be scaled by MODULE_COST_SCALE. + TECH_TYPE_LANDER_SHIELD, // Lander shield enhancements + // subtype = disaster type, info = unused + TECH_TYPE_STATE // Other game state changes + // subtype = stateId, info = state value +} TechType_t; + + +// Define the information specifying a particular technology +typedef struct +{ + TechId_t id; // ID of the technology + TechType_t type; // Type of the technology + int subtype; // Subtype of the technology + int info; // Supplemental information +} TechData; + + +// A table of the available technologies. +// This should really be an associative map of TechIds to tech data records, +// but implementing that would be excessive. +static const TechData tech_data_table[] = +{ + // Tech ID Tech Type, Supplemental info + { TECH_MODULE_BLASTER, TECH_TYPE_MODULE, BLASTER_WEAPON, 4000 }, + { TECH_LANDER_SPEED, TECH_TYPE_STATE, IMPROVED_LANDER_SPEED, 1 }, + { TECH_MODULE_ANTIMISSILE, TECH_TYPE_MODULE, ANTIMISSILE_DEFENSE, 4000 }, + { TECH_LANDER_SHIELD_BIO, TECH_TYPE_LANDER_SHIELD, BIOLOGICAL_DISASTER, -1 }, + { TECH_LANDER_CARGO, TECH_TYPE_STATE, IMPROVED_LANDER_CARGO, 1 }, + { TECH_MODULE_BIGFUELTANK, TECH_TYPE_MODULE, HIGHEFF_FUELSYS, 1000 }, + { TECH_LANDER_RAPIDFIRE, TECH_TYPE_STATE, IMPROVED_LANDER_SHOT, 1 }, + { TECH_LANDER_SHIELD_QUAKE, TECH_TYPE_LANDER_SHIELD, EARTHQUAKE_DISASTER, -1 }, + { TECH_MODULE_TRACKING, TECH_TYPE_MODULE, TRACKING_SYSTEM, 5000 }, + { TECH_LANDER_SHIELD_LIGHTNING, TECH_TYPE_LANDER_SHIELD, LIGHTNING_DISASTER, -1 }, + { TECH_LANDER_SHIELD_HEAT, TECH_TYPE_LANDER_SHIELD, LAVASPOT_DISASTER, -1 }, + { TECH_MODULE_CANNON, TECH_TYPE_MODULE, CANNON_WEAPON, 6000 }, + { TECH_MODULE_FURNACE, TECH_TYPE_MODULE, SHIVA_FURNACE, 4000 }, +}; +const size_t NUM_TECHNOLOGIES = ARRAY_SIZE (tech_data_table); + +// Lookup function to get the data for a particular tech +static const TechData* +GetTechData (TechId_t techId) +{ + size_t i = 0; + for (i = 0; i < NUM_TECHNOLOGIES; ++i) + { + if (tech_data_table[i].id == techId) + return &tech_data_table[i]; + } + return NULL; +} + + +// We have to explicitly switch on the state ID because the xxx_GAME_STATE +// macros use preprocessor stringizing. +static bool +HasStateTech (int stateId) +{ + switch (stateId) + { + case IMPROVED_LANDER_SPEED: + return GET_GAME_STATE (IMPROVED_LANDER_SPEED); + case IMPROVED_LANDER_CARGO: + return GET_GAME_STATE (IMPROVED_LANDER_CARGO); + case IMPROVED_LANDER_SHOT: + return GET_GAME_STATE (IMPROVED_LANDER_SHOT); + } + return false; +} + +static void +GrantStateTech (int stateId, BYTE value) +{ + switch (stateId) + { + case IMPROVED_LANDER_SPEED: + SET_GAME_STATE (IMPROVED_LANDER_SPEED, value); + return; + case IMPROVED_LANDER_CARGO: + SET_GAME_STATE (IMPROVED_LANDER_CARGO, value); + return; + case IMPROVED_LANDER_SHOT: + SET_GAME_STATE (IMPROVED_LANDER_SHOT, value); + return; + } +} + +static bool +HasTech (TechId_t techId) +{ + const TechData* techData = GetTechData (techId); + if (!techData) + return false; + + switch (techData->type) + { + case TECH_TYPE_MODULE: + return GLOBAL (ModuleCost[techData->subtype]) != 0; + case TECH_TYPE_LANDER_SHIELD: + return (GET_GAME_STATE (LANDER_SHIELDS) & (1 << techData->subtype)) != 0; + case TECH_TYPE_STATE: + return HasStateTech (techData->subtype); + } + return false; +} + +static void +GrantTech (TechId_t techId) +{ + const TechData* techData = GetTechData (techId); + if (!techData) + return; + + switch (techData->type) + { + case TECH_TYPE_MODULE: + GLOBAL (ModuleCost[techData->subtype]) = techData->info / MODULE_COST_SCALE; + return; + case TECH_TYPE_LANDER_SHIELD: + { + COUNT state = GET_GAME_STATE (LANDER_SHIELDS) | (1 << techData->subtype); + SET_GAME_STATE (LANDER_SHIELDS, state); + return; + } + case TECH_TYPE_STATE: + GrantStateTech (techData->subtype, techData->info); + return; + } +} + + +////////////Melnorme Sales System/////////// +// This section contains code related to Melnorme sales + +// Many of the conversation lines in strings.h fall into groups +// of sequential responses. These structures allow those +// responses to be interated through. +static const int ok_buy_event_lines[] = +{ + OK_BUY_EVENT_1, OK_BUY_EVENT_2, OK_BUY_EVENT_3, OK_BUY_EVENT_4, + OK_BUY_EVENT_5, OK_BUY_EVENT_6, OK_BUY_EVENT_7, OK_BUY_EVENT_8 +}; +const size_t NUM_EVENT_ITEMS = ARRAY_SIZE (ok_buy_event_lines); + +static const int ok_buy_alien_race_lines[] = +{ + OK_BUY_ALIEN_RACE_1, OK_BUY_ALIEN_RACE_2, OK_BUY_ALIEN_RACE_3, + OK_BUY_ALIEN_RACE_4, OK_BUY_ALIEN_RACE_5, OK_BUY_ALIEN_RACE_6, + OK_BUY_ALIEN_RACE_7, OK_BUY_ALIEN_RACE_8, OK_BUY_ALIEN_RACE_9, + OK_BUY_ALIEN_RACE_10, OK_BUY_ALIEN_RACE_11, OK_BUY_ALIEN_RACE_12, + OK_BUY_ALIEN_RACE_13, OK_BUY_ALIEN_RACE_14, OK_BUY_ALIEN_RACE_15, + OK_BUY_ALIEN_RACE_16 +}; +const size_t NUM_ALIEN_RACE_ITEMS = ARRAY_SIZE (ok_buy_alien_race_lines); + +static const int ok_buy_history_lines[] = +{ + OK_BUY_HISTORY_1, OK_BUY_HISTORY_2, OK_BUY_HISTORY_3, + OK_BUY_HISTORY_4, OK_BUY_HISTORY_5, OK_BUY_HISTORY_6, + OK_BUY_HISTORY_7, OK_BUY_HISTORY_8, OK_BUY_HISTORY_9 +}; +const size_t NUM_HISTORY_ITEMS = ARRAY_SIZE (ok_buy_history_lines); + +static const int hello_and_down_to_business_lines[] = +{ + HELLO_AND_DOWN_TO_BUSINESS_1, HELLO_AND_DOWN_TO_BUSINESS_2, + HELLO_AND_DOWN_TO_BUSINESS_3, HELLO_AND_DOWN_TO_BUSINESS_4, + HELLO_AND_DOWN_TO_BUSINESS_5, HELLO_AND_DOWN_TO_BUSINESS_6, + HELLO_AND_DOWN_TO_BUSINESS_7, HELLO_AND_DOWN_TO_BUSINESS_8, + HELLO_AND_DOWN_TO_BUSINESS_9, HELLO_AND_DOWN_TO_BUSINESS_10 +}; +const size_t NUM_HELLO_LINES = ARRAY_SIZE (hello_and_down_to_business_lines); + +static const int rescue_lines[] = +{ + RESCUE_EXPLANATION, RESCUE_AGAIN_1, RESCUE_AGAIN_2, + RESCUE_AGAIN_3, RESCUE_AGAIN_4, RESCUE_AGAIN_5 +}; +const size_t NUM_RESCUE_LINES = ARRAY_SIZE (rescue_lines); + +// How many lines are available in the given array? +static size_t +GetNumLines (const int array[]) +{ + if (array == ok_buy_event_lines) + return NUM_EVENT_ITEMS; + else if (array == ok_buy_alien_race_lines) + return NUM_ALIEN_RACE_ITEMS; + else if (array == ok_buy_history_lines) + return NUM_HISTORY_ITEMS; + else if (array == hello_and_down_to_business_lines) + return NUM_HELLO_LINES; + else if (array == rescue_lines) + return NUM_RESCUE_LINES; + return 0; +} + +// Get the line, with range checking. +// Returns the last line if the desired one is out of range. +static int +GetLineSafe (const int array[], size_t linenum) +{ + const size_t array_size = GetNumLines (array); + assert (array_size > 0); + if (linenum >= array_size) + linenum = array_size - 1; + return array[linenum]; +} + +// Data structure to hold the Melnorme's info on a technology +typedef struct +{ + TechId_t techId; // ID of technology + int price; // Melnorme's price to sell + int sale_line; // Sales pitch line ID + int sold_line; // Post-sale line ID +} TechSaleData; + +// Right now, all techs have the same price. +#define TECHPRICE (75 * BIO_CREDIT_VALUE) + +static const TechSaleData tech_sale_catalog[] = +{ + { TECH_MODULE_BLASTER, TECHPRICE, NEW_TECH_1, OK_BUY_NEW_TECH_1 }, + { TECH_LANDER_SPEED, TECHPRICE, NEW_TECH_2, OK_BUY_NEW_TECH_2 }, + { TECH_MODULE_ANTIMISSILE, TECHPRICE, NEW_TECH_3, OK_BUY_NEW_TECH_3 }, + { TECH_LANDER_SHIELD_BIO, TECHPRICE, NEW_TECH_4, OK_BUY_NEW_TECH_4 }, + { TECH_LANDER_CARGO, TECHPRICE, NEW_TECH_5, OK_BUY_NEW_TECH_5 }, + { TECH_MODULE_BIGFUELTANK, TECHPRICE, NEW_TECH_6, OK_BUY_NEW_TECH_6 }, + { TECH_LANDER_RAPIDFIRE, TECHPRICE, NEW_TECH_7, OK_BUY_NEW_TECH_7 }, + { TECH_LANDER_SHIELD_QUAKE, TECHPRICE, NEW_TECH_8, OK_BUY_NEW_TECH_8 }, + { TECH_MODULE_TRACKING, TECHPRICE, NEW_TECH_9, OK_BUY_NEW_TECH_9 }, + { TECH_LANDER_SHIELD_LIGHTNING, TECHPRICE, NEW_TECH_10, OK_BUY_NEW_TECH_10 }, + { TECH_LANDER_SHIELD_HEAT, TECHPRICE, NEW_TECH_11, OK_BUY_NEW_TECH_11 }, + { TECH_MODULE_CANNON, TECHPRICE, NEW_TECH_12, OK_BUY_NEW_TECH_12 }, + { TECH_MODULE_FURNACE, TECHPRICE, NEW_TECH_13, OK_BUY_NEW_TECH_13 }, +}; +const size_t NUM_TECH_ITEMS = ARRAY_SIZE (tech_sale_catalog); + +// Return the next tech for sale that the player doesn't already have. +// Returns NULL if the player has all the techs. +static const TechSaleData* +GetNextTechForSale (void) +{ + size_t i = 0; + for (i = 0; i < NUM_TECH_ITEMS; ++i) + { + if (!HasTech (tech_sale_catalog[i].techId)) + return &tech_sale_catalog[i]; + } + + return NULL; +} + +///////////End Melnorme Sales Section////////////////// + static StatMsgMode prevMsgMode; static void DoFirstMeeting (RESPONSE_REF R); @@ -247,6 +530,34 @@ static COUNT rescue_fuel; static SIS_STATE SIS_copy; +// Extract method to return the response string index +// for stripping a given module. +static int +GetStripModuleRef (int moduleID) +{ + switch (moduleID) + { + case PLANET_LANDER: return LANDERS; + case FUSION_THRUSTER: return THRUSTERS; + case TURNING_JETS: return JETS; + case CREW_POD: return PODS; + case STORAGE_BAY: return BAYS; + case DYNAMO_UNIT: return DYNAMOS; + case SHIVA_FURNACE: return FURNACES; + case GUN_WEAPON: return GUNS; + case BLASTER_WEAPON: return BLASTERS; + case CANNON_WEAPON: return CANNONS; + case TRACKING_SYSTEM: return TRACKERS; + case ANTIMISSILE_DEFENSE: return DEFENSES; + // If a modder has added new modules, should it really + // be a fatal error if the Melnorme don't know about + // them? + default: + assert (0 && "Unknown module"); + } + return 0; +} + static BOOLEAN StripShip (COUNT fuel_required) { @@ -414,54 +725,10 @@ { if (module_count[i]) { - RESPONSE_REF pStr = 0; - - switch (i) - { - case PLANET_LANDER: - pStr = LANDERS; - break; - case FUSION_THRUSTER: - pStr = THRUSTERS; - break; - case TURNING_JETS: - pStr = JETS; - break; - case CREW_POD: - pStr = PODS; - break; - case STORAGE_BAY: - pStr = BAYS; - break; - case DYNAMO_UNIT: - pStr = DYNAMOS; - break; - case SHIVA_FURNACE: - pStr = FURNACES; - break; - case GUN_WEAPON: - pStr = GUNS; - break; - case BLASTER_WEAPON: - pStr = BLASTERS; - break; - case CANNON_WEAPON: - pStr = CANNONS; - break; - case TRACKING_SYSTEM: - pStr = TRACKERS; - break; - case ANTIMISSILE_DEFENSE: - pStr = DEFENSES; - break; - default: - assert (0 && "Unknown module"); - } - if (i == end_mod && i != beg_mod) NPCPhrase (END_LIST_WITH_AND); NPCPhrase (ENUMERATE_ONE + (module_count[i] - 1)); - NPCPhrase (pStr); + NPCPhrase (GetStripModuleRef (i)); } } } @@ -569,183 +836,110 @@ } } -static COUNT +// Extract method for getting the player's current credits. +static COUNT +GetAvailableCredits (void) +{ + return MAKE_WORD (GET_GAME_STATE (MELNORME_CREDIT0), + GET_GAME_STATE (MELNORME_CREDIT1)); +} + +// Extract method for setting the player's current credits. +static void +SetAvailableCredits (COUNT credits) +{ + SET_GAME_STATE (MELNORME_CREDIT0, LOBYTE (credits)); + SET_GAME_STATE (MELNORME_CREDIT1, HIBYTE (credits)); +} + +// Now returns whether the purchase succeeded instead of the remaining +// credit balance. Use GetAvailableCredits() to get the latter. +static bool DeltaCredit (SIZE delta_credit) { - COUNT Credit; + COUNT Credit = GetAvailableCredits (); - Credit = MAKE_WORD ( - GET_GAME_STATE (MELNORME_CREDIT0), - GET_GAME_STATE (MELNORME_CREDIT1) - ); + // Can they afford it? if ((int)delta_credit >= 0 || ((int)(-delta_credit) <= (int)(Credit))) { Credit += delta_credit; - SET_GAME_STATE (MELNORME_CREDIT0, LOBYTE (Credit)); - SET_GAME_STATE (MELNORME_CREDIT1, HIBYTE (Credit)); + SetAvailableCredits (Credit); LockMutex (GraphicsLock); DrawStatusMessage (NULL); UnlockMutex (GraphicsLock); + return true; } - else - { - NPCPhrase (NEED_MORE_CREDIT0); - NPCNumber (-delta_credit - Credit, NULL); - NPCPhrase (NEED_MORE_CREDIT1); - } + + // Fail + NPCPhrase (NEED_MORE_CREDIT0); + NPCNumber (-delta_credit - Credit, NULL); + NPCPhrase (NEED_MORE_CREDIT1); - return (Credit); + return false; } + +// Extract methods to process the giving of various bits of information to the +// player. Ideally, we'd want to merge these three into a single parameterized +// function, but the nature of the XXX_GAME_STATE() code makes that tricky. static void CurrentEvents (void) { - BYTE stack; - - stack = GET_GAME_STATE (MELNORME_EVENTS_INFO_STACK); - switch (stack++) - { - case 0: - NPCPhrase (OK_BUY_EVENT_1); - break; - case 1: - NPCPhrase (OK_BUY_EVENT_2); - break; - case 2: - NPCPhrase (OK_BUY_EVENT_3); - break; - case 3: - NPCPhrase (OK_BUY_EVENT_4); - break; - case 4: - NPCPhrase (OK_BUY_EVENT_5); - break; - case 5: - NPCPhrase (OK_BUY_EVENT_6); - break; - case 6: - NPCPhrase (OK_BUY_EVENT_7); - break; - case 7: - NPCPhrase (OK_BUY_EVENT_8); - break; - } - SET_GAME_STATE (MELNORME_EVENTS_INFO_STACK, stack); + BYTE stack = GET_GAME_STATE (MELNORME_EVENTS_INFO_STACK); + const int phraseId = GetLineSafe (ok_buy_event_lines, stack); + NPCPhrase (phraseId); + SET_GAME_STATE (MELNORME_EVENTS_INFO_STACK, stack + 1); } static void AlienRaces (void) { - BYTE stack; - - stack = GET_GAME_STATE (MELNORME_ALIEN_INFO_STACK); - switch (stack++) + BYTE stack = GET_GAME_STATE (MELNORME_ALIEN_INFO_STACK); + const int phraseId = GetLineSafe (ok_buy_alien_race_lines, stack); + // Two pieces of alien knowledge trigger state changes. + switch (phraseId) { - case 0: - NPCPhrase (OK_BUY_ALIEN_RACE_1); - break; - case 1: - NPCPhrase (OK_BUY_ALIEN_RACE_2); - break; - case 2: - NPCPhrase (OK_BUY_ALIEN_RACE_3); - break; - case 3: - NPCPhrase (OK_BUY_ALIEN_RACE_4); - break; - case 4: - NPCPhrase (OK_BUY_ALIEN_RACE_5); - break; - case 5: - NPCPhrase (OK_BUY_ALIEN_RACE_6); - break; - case 6: - NPCPhrase (OK_BUY_ALIEN_RACE_7); - break; - case 7: - NPCPhrase (OK_BUY_ALIEN_RACE_8); - break; - case 8: - NPCPhrase (OK_BUY_ALIEN_RACE_9); - break; - case 9: - NPCPhrase (OK_BUY_ALIEN_RACE_10); - break; - case 10: - NPCPhrase (OK_BUY_ALIEN_RACE_11); - break; - case 11: - NPCPhrase (OK_BUY_ALIEN_RACE_12); - break; - case 12: - NPCPhrase (OK_BUY_ALIEN_RACE_13); - break; - case 13: - NPCPhrase (OK_BUY_ALIEN_RACE_14); + case OK_BUY_ALIEN_RACE_14: if (!GET_GAME_STATE (FOUND_PLUTO_SPATHI)) { SET_GAME_STATE (KNOW_SPATHI_PASSWORD, 1); SET_GAME_STATE (SPATHI_HOME_VISITS, 7); } break; - case 14: - NPCPhrase (OK_BUY_ALIEN_RACE_15); + case OK_BUY_ALIEN_RACE_15: if (GET_GAME_STATE (KNOW_ABOUT_SHATTERED) < 2) { SET_GAME_STATE (KNOW_ABOUT_SHATTERED, 2); } SET_GAME_STATE (KNOW_SYREEN_WORLD_SHATTERED, 1); break; - case 15: - NPCPhrase (OK_BUY_ALIEN_RACE_16); - break; } - SET_GAME_STATE (MELNORME_ALIEN_INFO_STACK, stack); + NPCPhrase (phraseId); + SET_GAME_STATE (MELNORME_ALIEN_INFO_STACK, stack + 1); } static void History (void) { - BYTE stack; + BYTE stack = GET_GAME_STATE (MELNORME_HISTORY_INFO_STACK); + const int phraseId = GetLineSafe (ok_buy_history_lines, stack); + NPCPhrase (phraseId); + SET_GAME_STATE (MELNORME_HISTORY_INFO_STACK, stack + 1); +} - stack = GET_GAME_STATE (MELNORME_HISTORY_INFO_STACK); - switch (stack++) - { - case 0: - NPCPhrase (OK_BUY_HISTORY_1); - break; - case 1: - NPCPhrase (OK_BUY_HISTORY_2); - break; - case 2: - NPCPhrase (OK_BUY_HISTORY_3); - break; - case 3: - NPCPhrase (OK_BUY_HISTORY_4); - break; - case 4: - NPCPhrase (OK_BUY_HISTORY_5); - break; - case 5: - NPCPhrase (OK_BUY_HISTORY_6); - break; - case 6: - NPCPhrase (OK_BUY_HISTORY_7); - break; - case 7: - NPCPhrase (OK_BUY_HISTORY_8); - break; - case 8: - NPCPhrase (OK_BUY_HISTORY_9); - break; - } - SET_GAME_STATE (MELNORME_HISTORY_INFO_STACK, stack); +// extract method to tell if we have any information left to sell to the player. +static bool AnyInfoLeftToSell (void) +{ + return GET_GAME_STATE (MELNORME_EVENTS_INFO_STACK) < NUM_EVENT_ITEMS + || GET_GAME_STATE (MELNORME_ALIEN_INFO_STACK) < NUM_ALIEN_RACE_ITEMS + || GET_GAME_STATE (MELNORME_HISTORY_INFO_STACK) < NUM_HISTORY_ITEMS; } static void NatureOfConversation (RESPONSE_REF R); static BYTE AskedToBuy; + static void DoBuy (RESPONSE_REF R) { @@ -754,10 +948,7 @@ BYTE slot; DWORD capacity; - credit = MAKE_WORD ( - GET_GAME_STATE (MELNORME_CREDIT0), - GET_GAME_STATE (MELNORME_CREDIT1) - ); + credit = GetAvailableCredits (); capacity = FUEL_RESERVE; slot = NUM_MODULE_SLOTS - 1; @@ -774,6 +965,7 @@ } } while (slot--); + // If they're out of credits, educate them on how commerce works. if (credit == 0) { AskedToBuy = TRUE; @@ -856,224 +1048,44 @@ else if (PLAYER_SAID (R, buy_technology) || PLAYER_SAID (R, buy_new_tech)) { - BYTE stack; + // Note that this code no longer uses the MELNORME_TECH_STACK state + // buts, as they're not needed; we can tell what technologies the + // player has by using the technology API above. This opens the + // possibility of the player acquiring tech from someplace other than + // the Melnorme. + const TechSaleData* nextTech; - needed_credit = 0; - if (PLAYER_SAID (R, buy_technology)) + // If it's our first time, give an introduction. + if (!GET_GAME_STATE (MELNORME_TECH_PROCEDURE)) { - if (!GET_GAME_STATE (MELNORME_TECH_PROCEDURE)) - { - NPCPhrase (BUY_NEW_TECH_INTRO); - SET_GAME_STATE (MELNORME_TECH_PROCEDURE, 1); - } - stack = 0; + NPCPhrase (BUY_NEW_TECH_INTRO); + SET_GAME_STATE (MELNORME_TECH_PROCEDURE, 1); } - else + + // Did the player just attempt to buy a tech? + if (PLAYER_SAID (R, buy_new_tech)) { - RESPONSE_REF pStr = 0; + nextTech = GetNextTechForSale (); + if (!nextTech) + goto BuyBuyBuy; // No tech left to buy - stack = GET_GAME_STATE (MELNORME_TECH_STACK); - switch (stack) - { - case 0: - pStr = OK_BUY_NEW_TECH_1; - needed_credit = 75 * BIO_CREDIT_VALUE; - break; - case 1: - pStr = OK_BUY_NEW_TECH_2; - needed_credit = 75 * BIO_CREDIT_VALUE; - break; - case 2: - pStr = OK_BUY_NEW_TECH_3; - needed_credit = 75 * BIO_CREDIT_VALUE; - break; - case 3: - pStr = OK_BUY_NEW_TECH_4; - needed_credit = 75 * BIO_CREDIT_VALUE; - break; - case 4: - pStr = OK_BUY_NEW_TECH_5; - needed_credit = 75 * BIO_CREDIT_VALUE; - break; - case 5: - pStr = OK_BUY_NEW_TECH_6; - needed_credit = 75 * BIO_CREDIT_VALUE; - break; - case 6: - pStr = OK_BUY_NEW_TECH_7; - needed_credit = 75 * BIO_CREDIT_VALUE; - break; - case 7: - pStr = OK_BUY_NEW_TECH_8; - needed_credit = 75 * BIO_CREDIT_VALUE; - break; - case 8: - pStr = OK_BUY_NEW_TECH_9; - needed_credit = 75 * BIO_CREDIT_VALUE; - break; - case 9: - pStr = OK_BUY_NEW_TECH_10; - needed_credit = 75 * BIO_CREDIT_VALUE; - break; - case 10: - pStr = OK_BUY_NEW_TECH_11; - needed_credit = 75 * BIO_CREDIT_VALUE; - break; - case 11: - pStr = OK_BUY_NEW_TECH_12; - needed_credit = 75 * BIO_CREDIT_VALUE; - break; - case 12: - pStr = OK_BUY_NEW_TECH_13; - needed_credit = 75 * BIO_CREDIT_VALUE; - break; - default: - assert (0 && "Unknown tech"); - } - if ((int)needed_credit > (int)credit) - { - DeltaCredit (-needed_credit); - goto BuyBuyBuy; - } - else - { - ++stack; - NPCPhrase (pStr); - DeltaCredit (-needed_credit); - } + if (!DeltaCredit (-nextTech->price)) + goto BuyBuyBuy; // Can't afford it + + // Make the sale + GrantTech (nextTech->techId); + NPCPhrase (nextTech->sold_line); } - switch (stack) + nextTech = GetNextTechForSale (); + if (!nextTech) { - case 0: - if (GLOBAL (ModuleCost[BLASTER_WEAPON]) == 0) - { - NPCPhrase (NEW_TECH_1); - break; - } - ++stack; - case 1: - GLOBAL (ModuleCost[BLASTER_WEAPON]) = - 4000 / MODULE_COST_SCALE; - if (!GET_GAME_STATE (IMPROVED_LANDER_SPEED)) - { - NPCPhrase (NEW_TECH_2); - break; - } - ++stack; - case 2: - SET_GAME_STATE (IMPROVED_LANDER_SPEED, 1); - if (GLOBAL (ModuleCost[ANTIMISSILE_DEFENSE]) == 0) - { - NPCPhrase (NEW_TECH_3); - break; - } - ++stack; - case 3: - GLOBAL (ModuleCost[ANTIMISSILE_DEFENSE]) = - 4000 / MODULE_COST_SCALE; - if (!(GET_GAME_STATE (LANDER_SHIELDS) - & (1 << BIOLOGICAL_DISASTER))) - { - NPCPhrase (NEW_TECH_4); - break; - } - ++stack; - case 4: - credit = GET_GAME_STATE (LANDER_SHIELDS) - | (1 << BIOLOGICAL_DISASTER); - SET_GAME_STATE (LANDER_SHIELDS, credit); - if (!GET_GAME_STATE (IMPROVED_LANDER_CARGO)) - { - NPCPhrase (NEW_TECH_5); - break; - } - ++stack; - case 5: - SET_GAME_STATE (IMPROVED_LANDER_CARGO, 1); - if (GLOBAL (ModuleCost[HIGHEFF_FUELSYS]) == 0) - { - NPCPhrase (NEW_TECH_6); - break; - } - ++stack; - case 6: - GLOBAL (ModuleCost[HIGHEFF_FUELSYS]) = - 1000 / MODULE_COST_SCALE; - if (!GET_GAME_STATE (IMPROVED_LANDER_SHOT)) - { - NPCPhrase (NEW_TECH_7); - break; - } - ++stack; - case 7: - SET_GAME_STATE (IMPROVED_LANDER_SHOT, 1); - if (!(GET_GAME_STATE (LANDER_SHIELDS) - & (1 << EARTHQUAKE_DISASTER))) - { - NPCPhrase (NEW_TECH_8); - break; - } - ++stack; - case 8: - credit = GET_GAME_STATE (LANDER_SHIELDS) - | (1 << EARTHQUAKE_DISASTER); - SET_GAME_STATE (LANDER_SHIELDS, credit); - if (GLOBAL (ModuleCost[TRACKING_SYSTEM]) == 0) - { - NPCPhrase (NEW_TECH_9); - break; - } - ++stack; - case 9: - GLOBAL (ModuleCost[TRACKING_SYSTEM]) = - 5000 / MODULE_COST_SCALE; - if (!(GET_GAME_STATE (LANDER_SHIELDS) - & (1 << LIGHTNING_DISASTER))) - { - NPCPhrase (NEW_TECH_10); - break; - } - ++stack; - case 10: - credit = GET_GAME_STATE (LANDER_SHIELDS) - | (1 << LIGHTNING_DISASTER); - SET_GAME_STATE (LANDER_SHIELDS, credit); - if (!(GET_GAME_STATE (LANDER_SHIELDS) - & (1 << LAVASPOT_DISASTER))) - { - NPCPhrase (NEW_TECH_11); - break; - } - ++stack; - case 11: - credit = GET_GAME_STATE (LANDER_SHIELDS) - | (1 << LAVASPOT_DISASTER); - SET_GAME_STATE (LANDER_SHIELDS, credit); - if (GLOBAL (ModuleCost[CANNON_WEAPON]) == 0) - { - NPCPhrase (NEW_TECH_12); - break; - } - ++stack; - case 12: - GLOBAL (ModuleCost[CANNON_WEAPON]) = - 6000 / MODULE_COST_SCALE; - if (GLOBAL (ModuleCost[SHIVA_FURNACE]) == 0) - { - NPCPhrase (NEW_TECH_13); - break; - } - ++stack; - case 13: - GLOBAL (ModuleCost[SHIVA_FURNACE]) = - 4000 / MODULE_COST_SCALE; - NPCPhrase (NEW_TECH_ALL_GONE); - SET_GAME_STATE (MELNORME_TECH_STACK, stack); - goto BuyBuyBuy; + NPCPhrase (NEW_TECH_ALL_GONE); + goto BuyBuyBuy; // No tech left to buy } - SET_GAME_STATE (MELNORME_TECH_STACK, stack); + NPCPhrase (nextTech->sale_line); + Response (buy_new_tech, DoBuy); Response (no_buy_new_tech, DoBuy); } @@ -1082,44 +1094,35 @@ || PLAYER_SAID (R, buy_alien_races) || PLAYER_SAID (R, buy_history)) { - needed_credit = 0; - if (PLAYER_SAID (R, buy_info)) + if (!GET_GAME_STATE (MELNORME_INFO_PROCEDURE)) { - if (GET_GAME_STATE (MELNORME_INFO_PROCEDURE)) - NPCPhrase (OK_BUY_INFO); - else - { - NPCPhrase (BUY_INFO_INTRO); - SET_GAME_STATE (MELNORME_INFO_PROCEDURE, 1); - } + NPCPhrase (BUY_INFO_INTRO); + SET_GAME_STATE (MELNORME_INFO_PROCEDURE, 1); } + else if (PLAYER_SAID (R, buy_info)) + { + NPCPhrase (OK_BUY_INFO); + } else { #define INFO_COST 75 - needed_credit = INFO_COST; - if ((int)credit >= (int)needed_credit) - { - if (PLAYER_SAID (R, buy_current_events)) - CurrentEvents (); - else if (PLAYER_SAID (R, buy_alien_races)) - AlienRaces (); - else /* if (R == buy_history) */ - History (); - } - - DeltaCredit (-needed_credit); - if (GET_GAME_STATE (MELNORME_EVENTS_INFO_STACK) < NUM_EVENT_ITEMS - || GET_GAME_STATE (MELNORME_ALIEN_INFO_STACK) < NUM_ALIEN_RACE_ITEMS - || GET_GAME_STATE (MELNORME_HISTORY_INFO_STACK) < NUM_HISTORY_ITEMS) - { - } - else - { - NPCPhrase (INFO_ALL_GONE); + if (!DeltaCredit (-INFO_COST)) goto BuyBuyBuy; - } + + if (PLAYER_SAID (R, buy_current_events)) + CurrentEvents (); + else if (PLAYER_SAID (R, buy_alien_races)) + AlienRaces (); + else if (PLAYER_SAID (R, buy_history)) + History (); } + if (!AnyInfoLeftToSell ()) + { + NPCPhrase (INFO_ALL_GONE); + goto BuyBuyBuy; + } + if (GET_GAME_STATE (MELNORME_EVENTS_INFO_STACK) < NUM_EVENT_ITEMS) Response (buy_current_events, DoBuy); if (GET_GAME_STATE (MELNORME_ALIEN_INFO_STACK) < NUM_ALIEN_RACE_ITEMS) @@ -1142,12 +1145,11 @@ BuyBuyBuy: if (GLOBAL_SIS (FuelOnBoard) < capacity) Response (buy_fuel, DoBuy); - if (GET_GAME_STATE (MELNORME_TECH_STACK) < NUM_TECH_ITEMS) + if (GetNextTechForSale ()) Response (buy_technology, DoBuy); - if (GET_GAME_STATE (MELNORME_ALIEN_INFO_STACK) < NUM_ALIEN_RACE_ITEMS - || GET_GAME_STATE (MELNORME_HISTORY_INFO_STACK) < NUM_HISTORY_ITEMS - || GET_GAME_STATE (MELNORME_EVENTS_INFO_STACK) < NUM_EVENT_ITEMS) + if (AnyInfoLeftToSell ()) Response (buy_info, DoBuy); + Response (done_buying, NatureOfConversation); Response (be_leaving_now, ExitConversation); } @@ -1267,6 +1269,7 @@ } } + static void NatureOfConversation (RESPONSE_REF R) { @@ -1280,46 +1283,15 @@ R = 0; } - Credit = DeltaCredit (0); + // Draw credits display + DeltaCredit (0); + Credit = GetAvailableCredits (); if (R == 0) { - BYTE stack; - - stack = (BYTE)(GET_GAME_STATE (MELNORME_YACK_STACK2) - 5); - switch (stack++) - { - case 0: - NPCPhrase (HELLO_AND_DOWN_TO_BUSINESS_1); - break; - case 1: - NPCPhrase (HELLO_AND_DOWN_TO_BUSINESS_2); - break; - case 2: - NPCPhrase (HELLO_AND_DOWN_TO_BUSINESS_3); - break; - case 3: - NPCPhrase (HELLO_AND_DOWN_TO_BUSINESS_4); - break; - case 4: - NPCPhrase (HELLO_AND_DOWN_TO_BUSINESS_5); - break; - case 5: - NPCPhrase (HELLO_AND_DOWN_TO_BUSINESS_6); - break; - case 6: - NPCPhrase (HELLO_AND_DOWN_TO_BUSINESS_7); - break; - case 7: - NPCPhrase (HELLO_AND_DOWN_TO_BUSINESS_8); - break; - case 8: - NPCPhrase (HELLO_AND_DOWN_TO_BUSINESS_9); - break; - default: - --stack; - NPCPhrase (HELLO_AND_DOWN_TO_BUSINESS_10); - break; - } + BYTE stack = GET_GAME_STATE (MELNORME_YACK_STACK2) - 5; + NPCPhrase (GetLineSafe (hello_and_down_to_business_lines, stack)); + if (stack < (NUM_HELLO_LINES - 1)) + ++stack; SET_GAME_STATE (MELNORME_YACK_STACK2, stack + 5); } @@ -1352,11 +1324,11 @@ { /* Melnorme reports any news and turns purple */ NPCPhrase (BUY_OR_SELL); - AlienTalkSegue(1); + AlienTalkSegue (1); XFormColorMap (GetColorMapAddress ( SetAbsColorMapIndex (CommData.AlienColorMap, 1) ), ONE_SECOND / 2); - AlienTalkSegue((COUNT)~0); + AlienTalkSegue ((COUNT)~0); } else if (PLAYER_SAID (R, why_turned_purple)) { @@ -1394,33 +1366,11 @@ } else { - BYTE num_rescues; + BYTE num_rescues = GET_GAME_STATE (MELNORME_RESCUE_COUNT); + NPCPhrase (GetLineSafe (rescue_lines, num_rescues)); - num_rescues = GET_GAME_STATE (MELNORME_RESCUE_COUNT); - switch (num_rescues) + if (num_rescues < NUM_RESCUE_LINES - 1) { - case 0: - NPCPhrase (RESCUE_EXPLANATION); - break; - case 1: - NPCPhrase (RESCUE_AGAIN_1); - break; - case 2: - NPCPhrase (RESCUE_AGAIN_2); - break; - case 3: - NPCPhrase (RESCUE_AGAIN_3); - break; - case 4: - NPCPhrase (RESCUE_AGAIN_4); - break; - case 5: - NPCPhrase (RESCUE_AGAIN_5); - break; - } - - if (num_rescues < 5) - { ++num_rescues; SET_GAME_STATE (MELNORME_RESCUE_COUNT, num_rescues); } Modified: trunk/sc2/src/uqm/globdata.h =================================================================== --- trunk/sc2/src/uqm/globdata.h 2011-07-09 21:52:21 UTC (rev 3643) +++ trunk/sc2/src/uqm/globdata.h 2011-07-13 17:29:42 UTC (rev 3644) @@ -595,6 +595,7 @@ ADD_GAME_STATE (MELNORME_INFO_PROCEDURE, 1) ADD_GAME_STATE (MELNORME_TECH_STACK, 4) + /* MELNORME_TECH_STACK is now unused */ ADD_GAME_STATE (MELNORME_EVENTS_INFO_STACK, 5) ADD_GAME_STATE (MELNORME_ALIEN_INFO_STACK, 5) ADD_GAME_STATE (MELNORME_HISTORY_INFO_STACK, 5) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-07-14 21:36:43
|
Revision: 3645 http://sc2.svn.sourceforge.net/sc2/?rev=3645&view=rev Author: avolkov Date: 2011-07-14 21:36:36 +0000 (Thu, 14 Jul 2011) Log Message: ----------- Added gamma correction option to the setup menu; bug #977; some work from Nic Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/content/base/ui/setupmenu.txt trunk/sc2/src/libs/graphics/gfx_common.h trunk/sc2/src/libs/graphics/sdl/sdl_common.c trunk/sc2/src/options.c trunk/sc2/src/options.h trunk/sc2/src/uqm/setupmenu.c trunk/sc2/src/uqm/setupmenu.h trunk/sc2/src/uqm.c Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-07-13 17:29:42 UTC (rev 3644) +++ trunk/sc2/ChangeLog 2011-07-14 21:36:36 UTC (rev 3645) @@ -1,4 +1,5 @@ Changes towards version 0.8: +- Added gamma correction to the setup menu (bug #977) - Alex, Nic - Refactor Melnorme comm code to make modding easier; step 1 (bug #1128), from Scott A. Colcord - Added aspect ratio option to the setup menu - Alex Modified: trunk/sc2/content/base/ui/setupmenu.txt =================================================================== --- trunk/sc2/content/base/ui/setupmenu.txt 2011-07-13 17:29:42 UTC (rev 3644) +++ trunk/sc2/content/base/ui/setupmenu.txt 2011-07-14 21:36:36 UTC (rev 3645) @@ -455,6 +455,7 @@ Music Volume SFX Volume Speech Volume +Gamma Correction #(SLIDER_0_DESC) Sets the music volume. @@ -465,6 +466,10 @@ #(SLIDER_2_DESC) Sets the speech volume. +#(SLIDER_3_DESC) +Sets the gamma correction. +May not work on all hardware. + #(BUTTONS) Quit Setup Menu Return to Main Menu Modified: trunk/sc2/src/libs/graphics/gfx_common.h =================================================================== --- trunk/sc2/src/libs/graphics/gfx_common.h 2011-07-13 17:29:42 UTC (rev 3644) +++ trunk/sc2/src/libs/graphics/gfx_common.h 2011-07-14 21:36:36 UTC (rev 3645) @@ -67,7 +67,7 @@ int TFB_ReInitGraphics (int driver, int flags, int width, int height); void TFB_UninitGraphics (void); void TFB_ProcessEvents (void); -void TFB_SetGamma (float gamma); +bool TFB_SetGamma (float gamma); void TFB_UploadTransitionScreen (void); // This function should not be called directly void TFB_SwapBuffers (int force_full_redraw); Modified: trunk/sc2/src/libs/graphics/sdl/sdl_common.c =================================================================== --- trunk/sc2/src/libs/graphics/sdl/sdl_common.c 2011-07-13 17:29:42 UTC (rev 3644) +++ trunk/sc2/src/libs/graphics/sdl/sdl_common.c 2011-07-14 21:36:36 UTC (rev 3645) @@ -592,16 +592,8 @@ #endif } -void +bool TFB_SetGamma (float gamma) { - if (SDL_SetGamma (gamma, gamma, gamma) == -1) - { - log_add (log_Warning, "Unable to set gamma correction."); - } - else - { - log_add (log_Info, "Gamma correction set to %1.4f.", gamma); - } + return (SDL_SetGamma (gamma, gamma, gamma) == 0); } - Modified: trunk/sc2/src/options.c =================================================================== --- trunk/sc2/src/options.c 2011-07-13 17:29:42 UTC (rev 3644) +++ trunk/sc2/src/options.c 2011-07-14 21:36:36 UTC (rev 3645) @@ -58,6 +58,9 @@ BOOLEAN optSubtitles; BOOLEAN optStereoSFX; BOOLEAN optKeepAspectRatio; + +float optGamma; + uio_DirHandle *contentDir; uio_DirHandle *configDir; uio_DirHandle *saveDir; @@ -584,3 +587,14 @@ } } } + +bool +setGammaCorrection (float gamma) +{ + bool set = TFB_SetGamma (gamma); + if (set) + log_add (log_Info, "Gamma correction set to %.4f.", gamma); + else + log_add (log_Warning, "Unable to set gamma correction."); + return set; +} Modified: trunk/sc2/src/options.h =================================================================== --- trunk/sc2/src/options.h 2011-07-13 17:29:42 UTC (rev 3644) +++ trunk/sc2/src/options.h 2011-07-14 21:36:36 UTC (rev 3645) @@ -45,6 +45,9 @@ extern BOOLEAN optStereoSFX; extern BOOLEAN optKeepAspectRatio; +#define GAMMA_SCALE 1000 +extern float optGamma; + extern uio_DirHandle *contentDir; extern uio_DirHandle *configDir; extern uio_DirHandle *saveDir; @@ -76,5 +79,7 @@ BOOLEAN loadAddon (const char *addon); int loadIndices (uio_DirHandle *baseDir); +bool setGammaCorrection (float gamma); + #endif Modified: trunk/sc2/src/uqm/setupmenu.c =================================================================== --- trunk/sc2/src/uqm/setupmenu.c 2011-07-13 17:29:42 UTC (rev 3644) +++ trunk/sc2/src/uqm/setupmenu.c 2011-07-14 21:36:36 UTC (rev 3645) @@ -37,7 +37,9 @@ #include "libs/memlib.h" #include "resinst.h" #include "nameref.h" +#include <math.h> + static STRING SetupTab; typedef struct setup_menu_state { @@ -74,7 +76,7 @@ #define MENU_COUNT 8 #define CHOICE_COUNT 24 -#define SLIDER_COUNT 3 +#define SLIDER_COUNT 4 #define BUTTON_COUNT 10 #define LABEL_COUNT 4 #define TEXTENTRY_COUNT 1 @@ -119,6 +121,7 @@ (WIDGET *)(&choices[0]), (WIDGET *)(&choices[23]), (WIDGET *)(&choices[10]), + (WIDGET *)(&sliders[3]), (WIDGET *)(&choices[2]), (WIDGET *)(&choices[3]), (WIDGET *)(&buttons[1]), @@ -202,6 +205,18 @@ {NULL, 0} }; +// Start with reasonable gamma bounds. These will get updated +// as we find out the actual bounds. +static float minGamma = 0.4f; +static float maxGamma = 2.5f; +// The gamma slider uses an exponential curve +// We use y = e^(2.1972*(x-1)) curve to give us a nice spread of +// gamma values 0.11 < g < 9.0 centered at g=1.0 +#define GAMMA_CURVE_B 2.1972f +static float minGammaX; +static float maxGammaX; + + static int quit_main_menu (WIDGET *self, int event) { @@ -405,6 +420,7 @@ sliders[0].value = opts.musicvol; sliders[1].value = opts.sfxvol; sliders[2].value = opts.speechvol; + sliders[3].value = opts.gamma; } static void @@ -438,6 +454,7 @@ opts.musicvol = sliders[0].value; opts.sfxvol = sliders[1].value; opts.speechvol = sliders[2].value; + opts.gamma = sliders[3].value; SetGlobalOptions (&opts); } @@ -594,7 +611,136 @@ return TRUE; // event handled } +static inline float +gammaCurve (float x) +{ + // The slider uses an exponential curve + return exp ((x - 1) * GAMMA_CURVE_B); +} + +static inline float +solveGammaCurve (float y) +{ + return log (y) / GAMMA_CURVE_B + 1; +} + +static int +gammaToSlider (float gamma) +{ + const float x = solveGammaCurve (gamma); + const float step = (maxGammaX - minGammaX) / 100; + return (int) ((x - minGammaX) / step + 0.5); +} + +static float +sliderToGamma (int value) +{ + const float step = (maxGammaX - minGammaX) / 100; + const float x = minGammaX + step * value; + const float g = gammaCurve (x); + // report any value that is close enough as 1.0 + return (fabs (g - 1.0f) < 0.001f) ? 1.0f : g; +} + static void +updateGammaBounds (bool useUpper) +{ + float g, x; + int slider; + + // The slider uses an exponential curve. + // Calculate where on the curve the min and max gamma values are + minGammaX = solveGammaCurve (minGamma); + maxGammaX = solveGammaCurve (maxGamma); + + // We have 100 discrete steps through the range, so the slider may + // skip over a 1.0 gamma. We need to ensure that there always is + // a 1.0 on the slider by tweaking the range (expanding/contracting). + slider = gammaToSlider (1.0f); + g = sliderToGamma (slider); + if (g == 1.0f) + return; // no adjustment needed + + x = solveGammaCurve (g); + if (useUpper) + { // Move the upper bound up or down to land on 1.0 + const float d = (x - 1.0f) * 100 / slider; + maxGammaX -= d; + maxGamma = gammaCurve (maxGammaX); + } + else + { // Move the lower bound up or down to land on 1.0 + const float d = (x - 1.0f) * 100 / (100 - slider); + minGammaX -= d; + minGamma = gammaCurve (minGammaX); + } +} + +static int +gamma_HandleEventSlider (WIDGET *_self, int event) +{ + WIDGET_SLIDER *self = (WIDGET_SLIDER *)_self; + int prevValue = self->value; + float gamma; + bool set; + + switch (event) + { + case WIDGET_EVENT_LEFT: + self->value -= self->step; + break; + case WIDGET_EVENT_RIGHT: + self->value += self->step; + break; + default: + return FALSE; + } + + // Limit the slider to values accepted by gfx subsys + gamma = sliderToGamma (self->value); + set = TFB_SetGamma (gamma); + if (!set) + { // revert + self->value = prevValue; + gamma = sliderToGamma (self->value); + } + + // Grow or shrink the range based on accepted values + if (gamma < minGamma || (!set && event == WIDGET_EVENT_LEFT)) + { + minGamma = gamma; + updateGammaBounds (true); + // at the lowest end + self->value = 0; + } + else if (gamma > maxGamma || (!set && event == WIDGET_EVENT_RIGHT)) + { + maxGamma = gamma; + updateGammaBounds (false); + // at the highest end + self->value = 100; + } + return TRUE; +} + +static void +gamma_DrawValue (WIDGET_SLIDER *self, int x, int y) +{ + TEXT t; + char buf[16]; + float gamma = sliderToGamma (self->value); + snprintf (buf, sizeof buf, "%.4f", gamma); + + t.baseline.x = x; + t.baseline.y = y; + t.align = ALIGN_CENTER; + t.CharCount = ~0; + t.pStr = buf; + + font_DrawText (&t); +} + +static void rebind_control (WIDGET_CONTROLENTRY *widget) { int template = choices[20].selected; @@ -804,6 +950,10 @@ sliders[i].tooltip[1] = ""; sliders[i].tooltip[2] = ""; } + // gamma is a special case + sliders[3].step = 1; + sliders[3].handleEvent = gamma_HandleEventSlider; + sliders[3].draw_value = gamma_DrawValue; for (i = 0; i < SLIDER_COUNT; i++) { @@ -1080,6 +1230,8 @@ void GetGlobalOptions (GLOBALOPTS *opts) { + bool whichBound; + if (GfxFlags & TFB_GFXFLAGS_SCALE_BILINEAR) { opts->scaler = OPTVAL_BILINEAR_SCALE; @@ -1227,13 +1379,22 @@ } } + whichBound = (optGamma < maxGamma); + // The option supplied by the user may be beyond our starting range + // but valid nonetheless. We need to account for that. + if (optGamma <= minGamma) + minGamma = optGamma - 0.03f; + else if (optGamma >= maxGamma) + maxGamma = optGamma + 0.3f; + updateGammaBounds (whichBound); + opts->gamma = gammaToSlider (optGamma); + opts->player1 = PlayerControls[0]; opts->player2 = PlayerControls[1]; opts->musicvol = (((int)(musicVolumeScale * 100.0f) + 2) / 5) * 5; opts->sfxvol = (((int)(sfxVolumeScale * 100.0f) + 2) / 5) * 5; opts->speechvol = (((int)(speechVolumeScale * 100.0f) + 2) / 5) * 5; - } void @@ -1336,6 +1497,14 @@ FlushGraphics (); InitVideoPlayer (TRUE); } + + // Avoid setting gamma when it is not necessary + if (optGamma != 1.0f || sliderToGamma (opts->gamma) != 1.0f) + { + optGamma = sliderToGamma (opts->gamma); + setGammaCorrection (optGamma); + } + optSubtitles = (opts->subtitles == OPTVAL_ENABLED) ? TRUE : FALSE; // optWhichMusic = (opts->music == OPTVAL_3DO) ? OPT_3DO : OPT_PC; optWhichMenu = (opts->menu == OPTVAL_3DO) ? OPT_3DO : OPT_PC; @@ -1366,6 +1535,7 @@ res_PutBoolean ("config.positionalsfx", opts->stereo == OPTVAL_ENABLED); res_PutBoolean ("config.pulseshield", opts->shield == OPTVAL_3DO); res_PutBoolean ("config.keepaspectratio", opts->keepaspect == OPTVAL_ENABLED); + res_PutInteger ("config.gamma", (int) (optGamma * GAMMA_SCALE + 0.5)); res_PutInteger ("config.player1control", opts->player1); res_PutInteger ("config.player2control", opts->player2); Modified: trunk/sc2/src/uqm/setupmenu.h =================================================================== --- trunk/sc2/src/uqm/setupmenu.h 2011-07-13 17:29:42 UTC (rev 3644) +++ trunk/sc2/src/uqm/setupmenu.h 2011-07-14 21:36:36 UTC (rev 3645) @@ -80,6 +80,7 @@ OPT_CONSOLETYPE menu, text, cscan, scroll, intro, meleezoom, shield; CONTROL_TEMPLATE player1, player2; int speechvol, musicvol, sfxvol; + int gamma; } GLOBALOPTS; void SetupMenu (void); Modified: trunk/sc2/src/uqm.c =================================================================== --- trunk/sc2/src/uqm.c 2011-07-13 17:29:42 UTC (rev 3644) +++ trunk/sc2/src/uqm.c 2011-07-14 21:36:36 UTC (rev 3645) @@ -243,7 +243,7 @@ INIT_CONFIG_OPTION( scaler, 0 ), INIT_CONFIG_OPTION( showFps, false ), INIT_CONFIG_OPTION( keepAspectRatio, false ), - INIT_CONFIG_OPTION( gamma, 0.0f ), + INIT_CONFIG_OPTION( gamma, 1.0f ), INIT_CONFIG_OPTION( soundDriver, audio_DRIVER_MIXSDL ), INIT_CONFIG_OPTION( soundQuality, audio_QUALITY_MEDIUM ), INIT_CONFIG_OPTION( use3doMusic, true ), @@ -418,8 +418,11 @@ gfxFlags |= TFB_GFXFLAGS_SHOWFPS; TFB_InitGraphics (gfxDriver, gfxFlags, options.resolution.width, options.resolution.height); - if (options.gamma.set) - TFB_SetGamma (options.gamma.value); + if (options.gamma.set && setGammaCorrection (options.gamma.value)) + optGamma = options.gamma.value; + else + optGamma = 1.0f; // failed or default + InitColorMaps (); init_communication (); /* TODO: Once threading is gone, restore initAudio here. @@ -557,6 +560,25 @@ option->set = true; } +static void +getGammaConfigValue (struct float_option *option, const char *config_val) +{ + int val; + + if (option->set || !res_IsInteger (config_val)) + return; + + val = res_GetInteger (config_val); + // gamma config option is a fixed-point number + // ignore ridiculously out-of-range values + if (val < (int)(0.03 * GAMMA_SCALE) || val > (int)(9.9 * GAMMA_SCALE)) + return; + option->value = val / (float)GAMMA_SCALE; + // avoid setting gamma when not necessary + if (option->value != 1.0f) + option->set = true; +} + static bool getListConfigValue (struct int_option *option, const char *config_val, const struct option_list_value *list) @@ -605,6 +627,7 @@ getBoolConfigValue (&options->scanlines, "config.scanlines"); getBoolConfigValue (&options->showFps, "config.showfps"); getBoolConfigValue (&options->keepAspectRatio, "config.keepaspectratio"); + getGammaConfigValue (&options->gamma, "config.gamma"); getBoolConfigValue (&options->subtitles, "config.subtitles"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-07-15 16:09:19
|
Revision: 3646 http://sc2.svn.sourceforge.net/sc2/?rev=3646&view=rev Author: avolkov Date: 2011-07-15 16:09:12 +0000 (Fri, 15 Jul 2011) Log Message: ----------- Fixed the starmap fuel range circle overflow; bug #1130; also cap the range circle at a sensible level to prevent further overflows Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/src/uqm/planets/pstarmap.c Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-07-14 21:36:36 UTC (rev 3645) +++ trunk/sc2/ChangeLog 2011-07-15 16:09:12 UTC (rev 3646) @@ -1,4 +1,5 @@ Changes towards version 0.8: +- Fixed starmap fuel range circle shrinking (bug #1130) - Alex - Added gamma correction to the setup menu (bug #977) - Alex, Nic - Refactor Melnorme comm code to make modding easier; step 1 (bug #1128), from Scott A. Colcord Modified: trunk/sc2/src/uqm/planets/pstarmap.c =================================================================== --- trunk/sc2/src/uqm/planets/pstarmap.c 2011-07-14 21:36:36 UTC (rev 3645) +++ trunk/sc2/src/uqm/planets/pstarmap.c 2011-07-15 16:09:12 UTC (rev 3646) @@ -68,18 +68,18 @@ #define MAP_FIT_X ((MAX_X_UNIVERSE + 1) / SIS_SCREEN_WIDTH + 1) static inline COORD -universeToDispx (COORD ux) +universeToDispx (long ux) { - return signedDivWithError ((((long)ux - mapOrigin.x) << zoomLevel) + return signedDivWithError (((ux - mapOrigin.x) << zoomLevel) * SIS_SCREEN_WIDTH, MAX_X_UNIVERSE + MAP_FIT_X) + ((SIS_SCREEN_WIDTH - 1) >> 1); } #define UNIVERSE_TO_DISPX(ux) universeToDispx(ux) static inline COORD -universeToDispy (COORD uy) +universeToDispy (long uy) { - return signedDivWithError ((((long)mapOrigin.y - uy) << zoomLevel) + return signedDivWithError (((mapOrigin.y - uy) << zoomLevel) * SIS_SCREEN_HEIGHT, MAX_Y_UNIVERSE + 2) + ((SIS_SCREEN_HEIGHT - 1) >> 1); } @@ -343,6 +343,7 @@ } ClearDrawable (); + // Draw the fuel range circle if (race_update == 0 && which_space < 2 && (diameter = (long)GLOBAL_SIS (FuelOnBoard) << 1)) @@ -357,6 +358,10 @@ r.corner.y = LOGY_TO_UNIVERSE (GLOBAL_SIS (log_y)); } + // Cap the diameter to a sane range + if (diameter > MAX_X_UNIVERSE * 4) + diameter = MAX_X_UNIVERSE * 4; + r.extent.width = UNIVERSE_TO_DISPX (diameter) - UNIVERSE_TO_DISPX (0); if (r.extent.width < 0) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-07-16 19:27:19
|
Revision: 3649 http://sc2.svn.sourceforge.net/sc2/?rev=3649&view=rev Author: avolkov Date: 2011-07-16 19:27:13 +0000 (Sat, 16 Jul 2011) Log Message: ----------- Fixed flagship-planet IP collision regression introduced in r3384; bug #1135 Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/src/uqm/planets/solarsys.c Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-07-16 16:26:57 UTC (rev 3648) +++ trunk/sc2/ChangeLog 2011-07-16 19:27:13 UTC (rev 3649) @@ -1,4 +1,6 @@ Changes towards version 0.8: +- Fixed flagship re-entering the inner system after an encounter in the + outer system, thus trapping the player (bug #1135) - Alex - Fixed starmap fuel range circle shrinking (bug #1130) - Alex - Added gamma correction to the setup menu (bug #977) - Alex, Nic - Refactor Melnorme comm code to make modding easier; step 1 (bug #1128), Modified: trunk/sc2/src/uqm/planets/solarsys.c =================================================================== --- trunk/sc2/src/uqm/planets/solarsys.c 2011-07-16 16:26:57 UTC (rev 3648) +++ trunk/sc2/src/uqm/planets/solarsys.c 2011-07-16 19:27:13 UTC (rev 3649) @@ -527,7 +527,7 @@ // Returns the planet with which the flagship is colliding static PLANET_DESC * -CheckIntersect (BOOLEAN just_checking) +CheckIntersect (void) { COUNT i; PLANET_DESC *pCurDesc; @@ -618,16 +618,9 @@ continue; } - if (playerInInnerSystem ()) - { // Collision in the inner system (starts orbital) - pSolarSysState->WaitIntersect = NewWaitPlanet; - } - else - { // Going into an inner system - // So there is now no existing collision - if (!just_checking) - pSolarSysState->WaitIntersect = 0; - } + // Collision with a new planet/moon. This may cause a transition + // to an inner system or start an orbital view. + pSolarSysState->WaitIntersect = NewWaitPlanet; return pCurDesc; } } @@ -942,7 +935,7 @@ // See if we also intersect with another planet, and if we do, // disable collisions comletely until we stop intersecting // with any planet at all. - CheckIntersect (TRUE); + CheckIntersect (); if (pSolarSysState->WaitIntersect != outerPlanetWait) pSolarSysState->WaitIntersect = (COUNT)~0; } @@ -998,7 +991,7 @@ if (GLOBAL (autopilot.x) == ~0 && GLOBAL (autopilot.y) == ~0) { // Not on autopilot -- may collide with a planet - PLANET_DESC *planet = CheckIntersect (FALSE); + PLANET_DESC *planet = CheckIntersect (); if (planet) { // Collision with a planet if (playerInInnerSystem ()) @@ -1241,7 +1234,12 @@ DoMissions (); // Figure out and note which planet/moon we just left, if any - CheckIntersect (TRUE); + // This records any existing collision and prevents the ship + // from entering planets until a new collision occurs. + // TODO: this may need logic similar to one in leaveInnerSystem() + // for when the ship collides with more than one planet at + // the same time. While quite rare, it's still possible. + CheckIntersect (); pSolarSysState->InIpFlight = TRUE; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-07-16 19:56:28
|
Revision: 3650 http://sc2.svn.sourceforge.net/sc2/?rev=3650&view=rev Author: avolkov Date: 2011-07-16 19:56:22 +0000 (Sat, 16 Jul 2011) Log Message: ----------- Removed the remnants of the --music option; bug #1133 Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/doc/users/manual.txt trunk/sc2/src/uqm.c Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-07-16 19:27:13 UTC (rev 3649) +++ trunk/sc2/ChangeLog 2011-07-16 19:56:22 UTC (rev 3650) @@ -1,4 +1,5 @@ Changes towards version 0.8: +- Removed the remnants of the --music option (bug #1133) - Alex - Fixed flagship re-entering the inner system after an encounter in the outer system, thus trapping the player (bug #1135) - Alex - Fixed starmap fuel range circle shrinking (bug #1130) - Alex Modified: trunk/sc2/doc/users/manual.txt =================================================================== --- trunk/sc2/doc/users/manual.txt 2011-07-16 19:27:13 UTC (rev 3649) +++ trunk/sc2/doc/users/manual.txt 2011-07-16 19:56:22 UTC (rev 3650) @@ -134,15 +134,6 @@ Set speech volume (0-100). If set to 0, the game runs in 'no speech' mode and the oscilloscope reacts to the music. - -m 3do (or --music 3do) - -Use the 3DO remixed soundtrack for songs that were in fact remixed. -The default. - - -m pc (or --music pc) - -Use the .MOD based PC soundtrack everywhere. - -q (or --audioquality) Can be "high", "medium", or "low". Specifies how nice the audio Modified: trunk/sc2/src/uqm.c =================================================================== --- trunk/sc2/src/uqm.c 2011-07-16 19:27:13 UTC (rev 3649) +++ trunk/sc2/src/uqm.c 2011-07-16 19:56:22 UTC (rev 3650) @@ -707,7 +707,7 @@ #endif }; -static const char *optString = "+r:foc:b:spC:n:?hM:S:T:m:q:ug:l:i:vwxk"; +static const char *optString = "+r:foc:b:spC:n:?hM:S:T:q:ug:l:i:vwxk"; static struct option longOptions[] = { {"res", 1, NULL, 'r'}, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-07-17 18:00:03
|
Revision: 3653 http://sc2.svn.sourceforge.net/sc2/?rev=3653&view=rev Author: avolkov Date: 2011-07-17 17:59:57 +0000 (Sun, 17 Jul 2011) Log Message: ----------- Preserve the remix options between visits to the setup menu; bug #1132 Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/src/uqm/setupmenu.c Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-07-17 17:42:51 UTC (rev 3652) +++ trunk/sc2/ChangeLog 2011-07-17 17:59:57 UTC (rev 3653) @@ -1,4 +1,6 @@ Changes towards version 0.8: +- All Sound Options are now preserved between visits to the setup menu. + Some options still require a restart (bug #1132) - Alex - Removed the remnants of the --music option (bug #1133) - Alex - Fixed flagship re-entering the inner system after an encounter in the outer system, thus trapping the player (bug #1135) - Alex @@ -7,6 +9,7 @@ - Refactor Melnorme comm code to make modding easier; step 1 (bug #1128), from Scott A. Colcord - Added aspect ratio option to the setup menu - Alex +- Positional audio setup menu option now has an immediate effect - Alex - Added speech option which controls loading of 3dovoice addon (no need to set speech volume to 0 anymore) - Alex - Added the MetaChron story to the no-voice Melnorme script (bug #43) - Alex Modified: trunk/sc2/src/uqm/setupmenu.c =================================================================== --- trunk/sc2/src/uqm/setupmenu.c 2011-07-17 17:42:51 UTC (rev 3652) +++ trunk/sc2/src/uqm/setupmenu.c 2011-07-17 17:59:57 UTC (rev 3653) @@ -1506,13 +1506,14 @@ } optSubtitles = (opts->subtitles == OPTVAL_ENABLED) ? TRUE : FALSE; - // optWhichMusic = (opts->music == OPTVAL_3DO) ? OPT_3DO : OPT_PC; optWhichMenu = (opts->menu == OPTVAL_3DO) ? OPT_3DO : OPT_PC; optWhichFonts = (opts->text == OPTVAL_3DO) ? OPT_3DO : OPT_PC; optWhichCoarseScan = (opts->cscan == OPTVAL_3DO) ? OPT_3DO : OPT_PC; optSmoothScroll = (opts->scroll == OPTVAL_3DO) ? OPT_3DO : OPT_PC; optWhichShield = (opts->shield == OPTVAL_3DO) ? OPT_3DO : OPT_PC; optMeleeScale = (opts->meleezoom == OPTVAL_3DO) ? TFB_SCALE_TRILINEAR : TFB_SCALE_STEP; + opt3doMusic = (opts->music3do == OPTVAL_ENABLED); + optRemixMusic = (opts->musicremix == OPTVAL_ENABLED); optSpeech = (opts->speech == OPTVAL_ENABLED); optWhichIntro = (opts->intro == OPTVAL_3DO) ? OPT_3DO : OPT_PC; optStereoSFX = (opts->stereo == OPTVAL_ENABLED); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-07-19 18:34:55
|
Revision: 3656 http://sc2.svn.sourceforge.net/sc2/?rev=3656&view=rev Author: avolkov Date: 2011-07-19 18:34:45 +0000 (Tue, 19 Jul 2011) Log Message: ----------- Synchronize resource includes with the master resource list resources.csv Modified Paths: -------------- trunk/sc2/build/msvc6/UrQuanMasters.dsp trunk/sc2/src/uqm/comm/arilou/resinst.h trunk/sc2/src/uqm/comm/blackur/resinst.h trunk/sc2/src/uqm/comm/chmmr/resinst.h trunk/sc2/src/uqm/comm/comandr/resinst.h trunk/sc2/src/uqm/comm/druuge/resinst.h trunk/sc2/src/uqm/comm/ilwrath/resinst.h trunk/sc2/src/uqm/comm/melnorm/resinst.h trunk/sc2/src/uqm/comm/mycon/resinst.h trunk/sc2/src/uqm/comm/orz/resinst.h trunk/sc2/src/uqm/comm/pkunk/resinst.h trunk/sc2/src/uqm/comm/shofixt/resinst.h trunk/sc2/src/uqm/comm/slyhome/resinst.h trunk/sc2/src/uqm/comm/slyland/resinst.h trunk/sc2/src/uqm/comm/spathi/resinst.h trunk/sc2/src/uqm/comm/supox/resinst.h trunk/sc2/src/uqm/comm/syreen/resinst.h trunk/sc2/src/uqm/comm/talkpet/resinst.h trunk/sc2/src/uqm/comm/thradd/resinst.h trunk/sc2/src/uqm/comm/umgah/resinst.h trunk/sc2/src/uqm/comm/urquan/resinst.h trunk/sc2/src/uqm/comm/utwig/resinst.h trunk/sc2/src/uqm/comm/vux/resinst.h trunk/sc2/src/uqm/comm/yehat/resinst.h trunk/sc2/src/uqm/comm/zoqfot/resinst.h trunk/sc2/src/uqm/ships/androsyn/icode.h trunk/sc2/src/uqm/ships/androsyn/resinst.h trunk/sc2/src/uqm/ships/arilou/icode.h trunk/sc2/src/uqm/ships/arilou/resinst.h trunk/sc2/src/uqm/ships/blackurq/icode.h trunk/sc2/src/uqm/ships/blackurq/resinst.h trunk/sc2/src/uqm/ships/chenjesu/icode.h trunk/sc2/src/uqm/ships/chenjesu/resinst.h trunk/sc2/src/uqm/ships/chmmr/icode.h trunk/sc2/src/uqm/ships/chmmr/resinst.h trunk/sc2/src/uqm/ships/druuge/icode.h trunk/sc2/src/uqm/ships/druuge/resinst.h trunk/sc2/src/uqm/ships/human/icode.h trunk/sc2/src/uqm/ships/human/resinst.h trunk/sc2/src/uqm/ships/ilwrath/icode.h trunk/sc2/src/uqm/ships/ilwrath/resinst.h trunk/sc2/src/uqm/ships/lastbat/icode.h trunk/sc2/src/uqm/ships/lastbat/resinst.h trunk/sc2/src/uqm/ships/melnorme/icode.h trunk/sc2/src/uqm/ships/melnorme/resinst.h trunk/sc2/src/uqm/ships/mmrnmhrm/icode.h trunk/sc2/src/uqm/ships/mmrnmhrm/resinst.h trunk/sc2/src/uqm/ships/mycon/icode.h trunk/sc2/src/uqm/ships/mycon/resinst.h trunk/sc2/src/uqm/ships/orz/icode.h trunk/sc2/src/uqm/ships/orz/resinst.h trunk/sc2/src/uqm/ships/pkunk/icode.h trunk/sc2/src/uqm/ships/pkunk/resinst.h trunk/sc2/src/uqm/ships/probe/icode.h trunk/sc2/src/uqm/ships/probe/resinst.h trunk/sc2/src/uqm/ships/shofixti/icode.h trunk/sc2/src/uqm/ships/shofixti/resinst.h trunk/sc2/src/uqm/ships/sis_ship/icode.h trunk/sc2/src/uqm/ships/sis_ship/resinst.h trunk/sc2/src/uqm/ships/slylandr/icode.h trunk/sc2/src/uqm/ships/slylandr/resinst.h trunk/sc2/src/uqm/ships/spathi/icode.h trunk/sc2/src/uqm/ships/spathi/resinst.h trunk/sc2/src/uqm/ships/supox/icode.h trunk/sc2/src/uqm/ships/supox/resinst.h trunk/sc2/src/uqm/ships/syreen/icode.h trunk/sc2/src/uqm/ships/syreen/resinst.h trunk/sc2/src/uqm/ships/thradd/icode.h trunk/sc2/src/uqm/ships/thradd/resinst.h trunk/sc2/src/uqm/ships/umgah/icode.h trunk/sc2/src/uqm/ships/umgah/resinst.h trunk/sc2/src/uqm/ships/urquan/icode.h trunk/sc2/src/uqm/ships/urquan/resinst.h trunk/sc2/src/uqm/ships/utwig/icode.h trunk/sc2/src/uqm/ships/utwig/resinst.h trunk/sc2/src/uqm/ships/vux/icode.h trunk/sc2/src/uqm/ships/vux/resinst.h trunk/sc2/src/uqm/ships/yehat/icode.h trunk/sc2/src/uqm/ships/yehat/resinst.h trunk/sc2/src/uqm/ships/zoqfot/icode.h trunk/sc2/src/uqm/ships/zoqfot/resinst.h Modified: trunk/sc2/build/msvc6/UrQuanMasters.dsp =================================================================== --- trunk/sc2/build/msvc6/UrQuanMasters.dsp 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/build/msvc6/UrQuanMasters.dsp 2011-07-19 18:34:45 UTC (rev 3656) @@ -3118,6 +3118,10 @@ # End Source File # Begin Source File +SOURCE=..\..\src\uqm\corecode.h +# End Source File +# Begin Source File + SOURCE=..\..\src\uqm\credits.c # End Source File # Begin Source File Modified: trunk/sc2/src/uqm/comm/arilou/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/arilou/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/arilou/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define ARILOU_COLOR_MAP "comm.arilou.colortable" -#define ARILOU_PMAP_ANIM "comm.arilou.graphics" +#define ARILOU_CONVERSATION_PHRASES "comm.arilou.dialogue" #define ARILOU_FONT "comm.arilou.font" -#define ARILOU_CONVERSATION_PHRASES "comm.arilou.dialogue" #define ARILOU_MUSIC "comm.arilou.music" +#define ARILOU_PMAP_ANIM "comm.arilou.graphics" Modified: trunk/sc2/src/uqm/comm/blackur/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/blackur/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/blackur/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define BLACKURQ_PMAP_ANIM "comm.kohrah.graphics" -#define BLACKURQ_FONT "comm.kohrah.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define BLACKURQ_COLOR_MAP "comm.kohrah.colortable" #define BLACKURQ_CONVERSATION_PHRASES "comm.kohrah.dialogue" +#define BLACKURQ_FONT "comm.kohrah.font" #define BLACKURQ_MUSIC "comm.kohrah.music" +#define BLACKURQ_PMAP_ANIM "comm.kohrah.graphics" Modified: trunk/sc2/src/uqm/comm/chmmr/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/chmmr/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/chmmr/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define CHMMR_PMAP_ANIM "comm.chmmr.graphics" -#define CHMMR_FONT "comm.chmmr.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define CHMMR_COLOR_MAP "comm.chmmr.colortable" #define CHMMR_CONVERSATION_PHRASES "comm.chmmr.dialogue" +#define CHMMR_FONT "comm.chmmr.font" #define CHMMR_MUSIC "comm.chmmr.music" +#define CHMMR_PMAP_ANIM "comm.chmmr.graphics" Modified: trunk/sc2/src/uqm/comm/comandr/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/comandr/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/comandr/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,8 +1,12 @@ -#define COMMANDER_PMAP_ANIM "comm.commander.graphics" -#define COMMANDER_FONT "comm.commander.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define COMMANDER_COLOR_MAP "comm.commander.colortable" #define COMMANDER_CONVERSATION_PHRASES "comm.commander.dialogue" -#define STARBASE_CONVERSATION_PHRASES "comm.starbase.dialogue" +#define COMMANDER_FONT "comm.commander.font" #define COMMANDER_LOWPOW_MUSIC "comm.commander.lowpower.music" #define COMMANDER_MUSIC "comm.commander.music" +#define COMMANDER_PMAP_ANIM "comm.commander.graphics" #define STARBASE_ALT_MUSIC "comm.starbase.music" +#define STARBASE_CONVERSATION_PHRASES "comm.starbase.dialogue" Modified: trunk/sc2/src/uqm/comm/druuge/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/druuge/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/druuge/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define DRUUGE_PMAP_ANIM "comm.druuge.graphics" -#define DRUUGE_FONT "comm.druuge.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define DRUUGE_COLOR_MAP "comm.druuge.colortable" #define DRUUGE_CONVERSATION_PHRASES "comm.druuge.dialogue" +#define DRUUGE_FONT "comm.druuge.font" #define DRUUGE_MUSIC "comm.druuge.music" +#define DRUUGE_PMAP_ANIM "comm.druuge.graphics" Modified: trunk/sc2/src/uqm/comm/ilwrath/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/ilwrath/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/ilwrath/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define ILWRATH_PMAP_ANIM "comm.ilwrath.graphics" -#define ILWRATH_FONT "comm.ilwrath.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define ILWRATH_COLOR_MAP "comm.ilwrath.colortable" #define ILWRATH_CONVERSATION_PHRASES "comm.ilwrath.dialogue" +#define ILWRATH_FONT "comm.ilwrath.font" #define ILWRATH_MUSIC "comm.ilwrath.music" +#define ILWRATH_PMAP_ANIM "comm.ilwrath.graphics" Modified: trunk/sc2/src/uqm/comm/melnorm/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/melnorm/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/melnorm/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define MELNORME_PMAP_ANIM "comm.melnorme.graphics" -#define MELNORME_FONT "comm.melnorme.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define MELNORME_COLOR_MAP "comm.melnorme.colortable" #define MELNORME_CONVERSATION_PHRASES "comm.melnorme.dialogue" +#define MELNORME_FONT "comm.melnorme.font" #define MELNORME_MUSIC "comm.melnorme.music" +#define MELNORME_PMAP_ANIM "comm.melnorme.graphics" Modified: trunk/sc2/src/uqm/comm/mycon/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/mycon/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/mycon/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define MYCON_PMAP_ANIM "comm.mycon.graphics" -#define MYCON_FONT "comm.mycon.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define MYCON_COLOR_MAP "comm.mycon.colortable" #define MYCON_CONVERSATION_PHRASES "comm.mycon.dialogue" +#define MYCON_FONT "comm.mycon.font" #define MYCON_MUSIC "comm.mycon.music" +#define MYCON_PMAP_ANIM "comm.mycon.graphics" Modified: trunk/sc2/src/uqm/comm/orz/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/orz/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/orz/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define ORZ_PMAP_ANIM "comm.orz.graphics" -#define ORZ_FONT "comm.orz.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define ORZ_COLOR_MAP "comm.orz.colortable" #define ORZ_CONVERSATION_PHRASES "comm.orz.dialogue" +#define ORZ_FONT "comm.orz.font" #define ORZ_MUSIC "comm.orz.music" +#define ORZ_PMAP_ANIM "comm.orz.graphics" Modified: trunk/sc2/src/uqm/comm/pkunk/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/pkunk/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/pkunk/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define PKUNK_PMAP_ANIM "comm.pkunk.graphics" -#define PKUNK_FONT "comm.pkunk.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define PKUNK_COLOR_MAP "comm.pkunk.colortable" #define PKUNK_CONVERSATION_PHRASES "comm.pkunk.dialogue" +#define PKUNK_FONT "comm.pkunk.font" #define PKUNK_MUSIC "comm.pkunk.music" +#define PKUNK_PMAP_ANIM "comm.pkunk.graphics" Modified: trunk/sc2/src/uqm/comm/shofixt/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/shofixt/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/shofixt/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define SHOFIXTI_PMAP_ANIM "comm.shofixti.graphics" -#define SHOFIXTI_FONT "comm.shofixti.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define SHOFIXTI_COLOR_MAP "comm.shofixti.colortable" #define SHOFIXTI_CONVERSATION_PHRASES "comm.shofixti.dialogue" +#define SHOFIXTI_FONT "comm.shofixti.font" #define SHOFIXTI_MUSIC "comm.shofixti.music" +#define SHOFIXTI_PMAP_ANIM "comm.shofixti.graphics" Modified: trunk/sc2/src/uqm/comm/slyhome/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/slyhome/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/slyhome/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define SLYLANDRO_PMAP_ANIM "comm.slylandro.graphics" -#define SLYLANDRO_FONT "comm.slylandro.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define SLYLANDRO_COLOR_MAP "comm.slylandro.colortable" #define SLYLANDRO_CONVERSATION_PHRASES "comm.slylandro.dialogue" +#define SLYLANDRO_FONT "comm.slylandro.font" #define SLYLANDRO_MUSIC "comm.slylandro.music" +#define SLYLANDRO_PMAP_ANIM "comm.slylandro.graphics" Modified: trunk/sc2/src/uqm/comm/slyland/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/slyland/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/slyland/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define SLYLAND_PMAP_ANIM "comm.probe.graphics" -#define SLYLAND_FONT "comm.probe.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define SLYLAND_COLOR_MAP "comm.probe.colortable" #define SLYLAND_CONVERSATION_PHRASES "comm.probe.dialogue" +#define SLYLAND_FONT "comm.probe.font" #define SLYLAND_MUSIC "comm.probe.music" +#define SLYLAND_PMAP_ANIM "comm.probe.graphics" Modified: trunk/sc2/src/uqm/comm/spathi/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/spathi/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/spathi/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,10 +1,14 @@ -#define SPATHI_HOME_PMAP_ANIM "comm.safeones.graphics" -#define SPATHI_PMAP_ANIM "comm.spathi.graphics" -#define SPATHI_FONT "comm.spathi.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + +#define FWIFFO_MUSIC "comm.fwiffo.music" +#define SPAHOME_MUSIC "comm.safeones.music" #define SPATHI_COLOR_MAP "comm.spathi.colortable" #define SPATHI_CONVERSATION_PHRASES "comm.spathi.dialogue" +#define SPATHI_FONT "comm.spathi.font" #define SPATHI_HOME_COLOR_MAP "comm.safeones.colortable" #define SPATHI_HOME_CONVERSATION_PHRASES "comm.safeones.dialogue" -#define FWIFFO_MUSIC "comm.fwiffo.music" -#define SPAHOME_MUSIC "comm.safeones.music" +#define SPATHI_HOME_PMAP_ANIM "comm.safeones.graphics" #define SPATHI_MUSIC "comm.spathi.music" +#define SPATHI_PMAP_ANIM "comm.spathi.graphics" Modified: trunk/sc2/src/uqm/comm/supox/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/supox/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/supox/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define SUPOX_PMAP_ANIM "comm.supox.graphics" -#define SUPOX_FONT "comm.supox.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define SUPOX_COLOR_MAP "comm.supox.colortable" #define SUPOX_CONVERSATION_PHRASES "comm.supox.dialogue" +#define SUPOX_FONT "comm.supox.font" #define SUPOX_MUSIC "comm.supox.music" +#define SUPOX_PMAP_ANIM "comm.supox.graphics" Modified: trunk/sc2/src/uqm/comm/syreen/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/syreen/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/syreen/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define SYREEN_PMAP_ANIM "comm.syreen.graphics" -#define SYREEN_FONT "comm.syreen.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define SYREEN_COLOR_MAP "comm.syreen.colortable" #define SYREEN_CONVERSATION_PHRASES "comm.syreen.dialogue" +#define SYREEN_FONT "comm.syreen.font" #define SYREEN_MUSIC "comm.syreen.music" +#define SYREEN_PMAP_ANIM "comm.syreen.graphics" Modified: trunk/sc2/src/uqm/comm/talkpet/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/talkpet/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/talkpet/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define TALKING_PET_PMAP_ANIM "comm.talkingpet.graphics" -#define TALKING_PET_FONT "comm.talkingpet.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define TALKING_PET_COLOR_MAP "comm.talkingpet.colortable" #define TALKING_PET_CONVERSATION_PHRASES "comm.talkingpet.dialogue" +#define TALKING_PET_FONT "comm.talkingpet.font" #define TALKING_PET_MUSIC "comm.talkingpet.music" +#define TALKING_PET_PMAP_ANIM "comm.talkingpet.graphics" Modified: trunk/sc2/src/uqm/comm/thradd/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/thradd/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/thradd/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define THRADD_PMAP_ANIM "comm.thraddash.graphics" -#define THRADD_FONT "comm.thraddash.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define THRADD_COLOR_MAP "comm.thraddash.colortable" #define THRADD_CONVERSATION_PHRASES "comm.thraddash.dialogue" +#define THRADD_FONT "comm.thraddash.font" #define THRADD_MUSIC "comm.thraddash.music" +#define THRADD_PMAP_ANIM "comm.thraddash.graphics" Modified: trunk/sc2/src/uqm/comm/umgah/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/umgah/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/umgah/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define UMGAH_PMAP_ANIM "comm.umgah.graphics" -#define UMGAH_FONT "comm.umgah.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define UMGAH_COLOR_MAP "comm.umgah.colortable" #define UMGAH_CONVERSATION_PHRASES "comm.umgah.dialogue" +#define UMGAH_FONT "comm.umgah.font" #define UMGAH_MUSIC "comm.umgah.music" +#define UMGAH_PMAP_ANIM "comm.umgah.graphics" Modified: trunk/sc2/src/uqm/comm/urquan/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/urquan/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/urquan/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define URQUAN_PMAP_ANIM "comm.urquan.graphics" -#define URQUAN_FONT "comm.urquan.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define URQUAN_COLOR_MAP "comm.urquan.colortable" #define URQUAN_CONVERSATION_PHRASES "comm.urquan.dialogue" +#define URQUAN_FONT "comm.urquan.font" #define URQUAN_MUSIC "comm.urquan.music" +#define URQUAN_PMAP_ANIM "comm.urquan.graphics" Modified: trunk/sc2/src/uqm/comm/utwig/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/utwig/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/utwig/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,6 +1,10 @@ -#define UTWIG_PMAP_ANIM "comm.utwig.graphics" -#define UTWIG_FONT "comm.utwig.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define UTWIG_COLOR_MAP "comm.utwig.colortable" #define UTWIG_CONVERSATION_PHRASES "comm.utwig.dialogue" +#define UTWIG_FONT "comm.utwig.font" #define UTWIG_MUSIC "comm.utwig.music" +#define UTWIG_PMAP_ANIM "comm.utwig.graphics" #define UTWIG_ULTRON_MUSIC "comm.utwig.ultron.music" Modified: trunk/sc2/src/uqm/comm/vux/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/vux/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/vux/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define VUX_PMAP_ANIM "comm.vux.graphics" -#define VUX_FONT "comm.vux.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define VUX_COLOR_MAP "comm.vux.colortable" #define VUX_CONVERSATION_PHRASES "comm.vux.dialogue" +#define VUX_FONT "comm.vux.font" #define VUX_MUSIC "comm.vux.music" +#define VUX_PMAP_ANIM "comm.vux.graphics" Modified: trunk/sc2/src/uqm/comm/yehat/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/yehat/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/yehat/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,7 +1,11 @@ -#define YEHAT_PMAP_ANIM "comm.yehat.graphics" -#define YEHAT_FONT "comm.yehat.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define REBEL_CONVERSATION_PHRASES "comm.yehat.rebel.dialogue" +#define REBEL_MUSIC "comm.yehat.rebel.music" #define YEHAT_COLOR_MAP "comm.yehat.colortable" #define YEHAT_CONVERSATION_PHRASES "comm.yehat.dialogue" -#define REBEL_MUSIC "comm.yehat.rebel.music" +#define YEHAT_FONT "comm.yehat.font" #define YEHAT_MUSIC "comm.yehat.music" +#define YEHAT_PMAP_ANIM "comm.yehat.graphics" Modified: trunk/sc2/src/uqm/comm/zoqfot/resinst.h =================================================================== --- trunk/sc2/src/uqm/comm/zoqfot/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/comm/zoqfot/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,5 +1,9 @@ -#define ZOQFOTPIK_PMAP_ANIM "comm.zoqfotpik.graphics" -#define ZOQFOTPIK_FONT "comm.zoqfotpik.font" +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define ZOQFOTPIK_COLOR_MAP "comm.zoqfotpik.colortable" #define ZOQFOTPIK_CONVERSATION_PHRASES "comm.zoqfotpik.dialogue" +#define ZOQFOTPIK_FONT "comm.zoqfotpik.font" #define ZOQFOTPIK_MUSIC "comm.zoqfotpik.music" +#define ZOQFOTPIK_PMAP_ANIM "comm.zoqfotpik.graphics" Modified: trunk/sc2/src/uqm/ships/androsyn/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/androsyn/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/androsyn/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define ANDROSYNTH_CODE "ship.androsynth.code" Modified: trunk/sc2/src/uqm/ships/androsyn/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/androsyn/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/androsyn/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define ANDROSYNTH_BIG_MASK_PMAP_ANIM "ship.androsynth.graphics.guardian.large" #define ANDROSYNTH_CAPT_MASK_PMAP_ANIM "ship.androsynth.graphics.captain" #define ANDROSYNTH_ICON_MASK_PMAP_ANIM "ship.androsynth.icons" @@ -3,5 +7,8 @@ #define ANDROSYNTH_MED_MASK_PMAP_ANIM "ship.androsynth.graphics.guardian.medium" #define ANDROSYNTH_MICON_MASK_PMAP_ANIM "ship.androsynth.meleeicons" +#define ANDROSYNTH_RACE_STRINGS "ship.androsynth.text" +#define ANDROSYNTH_SHIP_SOUNDS "ship.androsynth.sounds" #define ANDROSYNTH_SML_MASK_PMAP_ANIM "ship.androsynth.graphics.guardian.small" +#define ANDROSYNTH_VICTORY_SONG "ship.androsynth.ditty" #define BLAZER_BIG_MASK_PMAP_ANIM "ship.androsynth.graphics.blazer.large" #define BLAZER_MED_MASK_PMAP_ANIM "ship.androsynth.graphics.blazer.medium" @@ -10,8 +17,3 @@ #define BUBBLE_BIG_MASK_PMAP_ANIM "ship.androsynth.graphics.bubble.large" #define BUBBLE_MED_MASK_PMAP_ANIM "ship.androsynth.graphics.bubble.medium" #define BUBBLE_SML_MASK_PMAP_ANIM "ship.androsynth.graphics.bubble.small" -#define ANDROSYNTH_RACE_STRINGS "ship.androsynth.text" -#define ANDROSYNTH_SHIP_SOUNDS "ship.androsynth.sounds" -#define ANDROSYNTH_VICTORY_SONG "ship.androsynth.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/arilou/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/arilou/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/arilou/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define ARILOU_CODE "ship.arilou.code" Modified: trunk/sc2/src/uqm/ships/arilou/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/arilou/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/arilou/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define ARILOU_BIG_MASK_PMAP_ANIM "ship.arilou.graphics.skiff.large" #define ARILOU_CAPTAIN_MASK_PMAP_ANIM "ship.arilou.graphics.captain" #define ARILOU_ICON_MASK_PMAP_ANIM "ship.arilou.icons" @@ -3,11 +7,9 @@ #define ARILOU_MED_MASK_PMAP_ANIM "ship.arilou.graphics.skiff.medium" #define ARILOU_MICON_MASK_PMAP_ANIM "ship.arilou.meleeicons" +#define ARILOU_RACE_STRINGS "ship.arilou.text" +#define ARILOU_SHIP_SOUNDS "ship.arilou.sounds" #define ARILOU_SML_MASK_PMAP_ANIM "ship.arilou.graphics.skiff.small" +#define ARILOU_VICTORY_SONG "ship.arilou.ditty" #define WARP_BIG_MASK_PMAP_ANIM "ship.arilou.graphics.warp.large" #define WARP_MED_MASK_PMAP_ANIM "ship.arilou.graphics.warp.medium" #define WARP_SML_MASK_PMAP_ANIM "ship.arilou.graphics.warp.small" -#define ARILOU_RACE_STRINGS "ship.arilou.text" -#define ARILOU_SHIP_SOUNDS "ship.arilou.sounds" -#define ARILOU_VICTORY_SONG "ship.arilou.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/blackurq/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/blackurq/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/blackurq/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define KOHR_AH_CODE "ship.kohrah.code" Modified: trunk/sc2/src/uqm/ships/blackurq/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/blackurq/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/blackurq/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define BUZZSAW_BIG_MASK_PMAP_ANIM "ship.kohrah.graphics.buzzsaw.large" #define BUZZSAW_MED_MASK_PMAP_ANIM "ship.kohrah.graphics.buzzsaw.medium" #define BUZZSAW_SML_MASK_PMAP_ANIM "ship.kohrah.graphics.buzzsaw.small" @@ -9,9 +13,7 @@ #define KOHR_AH_ICON_MASK_PMAP_ANIM "ship.kohrah.icons" #define KOHR_AH_MED_MASK_PMAP_ANIM "ship.kohrah.graphics.marauder.medium" #define KOHR_AH_MICON_MASK_PMAP_ANIM "ship.kohrah.meleeicons" -#define KOHR_AH_SML_MASK_PMAP_ANIM "ship.kohrah.graphics.marauder.small" #define KOHR_AH_RACE_STRINGS "ship.kohrah.text" #define KOHR_AH_SHIP_SOUNDS "ship.kohrah.sounds" +#define KOHR_AH_SML_MASK_PMAP_ANIM "ship.kohrah.graphics.marauder.small" #define KOHR_AH_VICTORY_SONG "ship.kohrah.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/chenjesu/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/chenjesu/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/chenjesu/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define CHENJESU_CODE "ship.chenjesu.code" Modified: trunk/sc2/src/uqm/ships/chenjesu/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/chenjesu/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/chenjesu/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define CHENJESU_BIG_MASK_PMAP_ANIM "ship.chenjesu.graphics.broodhome.large" #define CHENJESU_CAPTAIN_MASK_PMAP_ANIM "ship.chenjesu.graphics.captain" #define CHENJESU_ICON_MASK_PMAP_ANIM "ship.chenjesu.icons" @@ -3,5 +7,8 @@ #define CHENJESU_MED_MASK_PMAP_ANIM "ship.chenjesu.graphics.broodhome.medium" #define CHENJESU_MICON_MASK_PMAP_ANIM "ship.chenjesu.meleeicons" +#define CHENJESU_RACE_STRINGS "ship.chenjesu.text" +#define CHENJESU_SHIP_SOUNDS "ship.chenjesu.sounds" #define CHENJESU_SML_MASK_PMAP_ANIM "ship.chenjesu.graphics.broodhome.small" +#define CHENJESU_VICTORY_SONG "ship.chenjesu.ditty" #define DOGGY_BIG_MASK_PMAP_ANIM "ship.chenjesu.graphics.doggy.large" #define DOGGY_MED_MASK_PMAP_ANIM "ship.chenjesu.graphics.doggy.medium" @@ -10,8 +17,3 @@ #define SPARK_BIG_MASK_PMAP_ANIM "ship.chenjesu.graphics.spark.large" #define SPARK_MED_MASK_PMAP_ANIM "ship.chenjesu.graphics.spark.medium" #define SPARK_SML_MASK_PMAP_ANIM "ship.chenjesu.graphics.spark.small" -#define CHENJESU_RACE_STRINGS "ship.chenjesu.text" -#define CHENJESU_SHIP_SOUNDS "ship.chenjesu.sounds" -#define CHENJESU_VICTORY_SONG "ship.chenjesu.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/chmmr/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/chmmr/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/chmmr/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define CHMMR_CODE "ship.chmmr.code" Modified: trunk/sc2/src/uqm/ships/chmmr/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/chmmr/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/chmmr/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define CHMMR_BIG_MASK_PMAP_ANIM "ship.chmmr.graphics.avatar.large" #define CHMMR_CAPTAIN_MASK_PMAP_ANIM "ship.chmmr.graphics.captain" #define CHMMR_ICON_MASK_PMAP_ANIM "ship.chmmr.icons" @@ -3,5 +7,8 @@ #define CHMMR_MED_MASK_PMAP_ANIM "ship.chmmr.graphics.avatar.medium" #define CHMMR_MICON_MASK_PMAP_ANIM "ship.chmmr.meleeicons" +#define CHMMR_RACE_STRINGS "ship.chmmr.text" +#define CHMMR_SHIP_SOUNDS "ship.chmmr.sounds" #define CHMMR_SML_MASK_PMAP_ANIM "ship.chmmr.graphics.avatar.small" +#define CHMMR_VICTORY_SONG "ship.chmmr.ditty" #define MUZZLE_BIG_MASK_PMAP_ANIM "ship.chmmr.graphics.muzzle.large" #define MUZZLE_MED_MASK_PMAP_ANIM "ship.chmmr.graphics.muzzle.medium" @@ -10,8 +17,3 @@ #define SATELLITE_BIG_MASK_PMAP_ANIM "ship.chmmr.graphics.satellite.large" #define SATELLITE_MED_MASK_PMAP_ANIM "ship.chmmr.graphics.satellite.medium" #define SATELLITE_SML_MASK_PMAP_ANIM "ship.chmmr.graphics.satellite.small" -#define CHMMR_RACE_STRINGS "ship.chmmr.text" -#define CHMMR_SHIP_SOUNDS "ship.chmmr.sounds" -#define CHMMR_VICTORY_SONG "ship.chmmr.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/druuge/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/druuge/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/druuge/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define DRUUGE_CODE "ship.druuge.code" Modified: trunk/sc2/src/uqm/ships/druuge/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/druuge/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/druuge/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define DRUUGE_BIG_MASK_PMAP_ANIM "ship.druuge.graphics.mauler.large" #define DRUUGE_CANNON_BIG_MASK_PMAP_ANIM "ship.druuge.graphics.cannon.large" #define DRUUGE_CANNON_MED_MASK_PMAP_ANIM "ship.druuge.graphics.cannon.medium" @@ -6,9 +10,7 @@ #define DRUUGE_ICON_MASK_PMAP_ANIM "ship.druuge.icons" #define DRUUGE_MED_MASK_PMAP_ANIM "ship.druuge.graphics.mauler.medium" #define DRUUGE_MICON_MASK_PMAP_ANIM "ship.druuge.meleeicons" -#define DRUUGE_SML_MASK_PMAP_ANIM "ship.druuge.graphics.mauler.small" #define DRUUGE_RACE_STRINGS "ship.druuge.text" #define DRUUGE_SHIP_SOUNDS "ship.druuge.sounds" +#define DRUUGE_SML_MASK_PMAP_ANIM "ship.druuge.graphics.mauler.small" #define DRUUGE_VICTORY_SONG "ship.druuge.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/human/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/human/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/human/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define HUMAN_CODE "ship.earthling.code" Modified: trunk/sc2/src/uqm/ships/human/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/human/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/human/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define HUMAN_BIG_MASK_PMAP_ANIM "ship.earthling.graphics.human.large" #define HUMAN_CAPTAIN_MASK_PMAP_ANIM "ship.earthling.graphics.captain" #define HUMAN_ICON_MASK_PMAP_ANIM "ship.earthling.icons" @@ -3,11 +7,9 @@ #define HUMAN_MED_MASK_PMAP_ANIM "ship.earthling.graphics.human.medium" #define HUMAN_MICON_MASK_PMAP_ANIM "ship.earthling.meleeicons" +#define HUMAN_RACE_STRINGS "ship.earthling.text" +#define HUMAN_SHIP_SOUNDS "ship.earthling.sounds" #define HUMAN_SML_MASK_PMAP_ANIM "ship.earthling.graphics.human.small" +#define HUMAN_VICTORY_SONG "ship.earthling.ditty" #define SATURN_BIG_MASK_PMAP_ANIM "ship.earthling.graphics.saturn.large" #define SATURN_MED_MASK_PMAP_ANIM "ship.earthling.graphics.saturn.medium" #define SATURN_SML_MASK_PMAP_ANIM "ship.earthling.graphics.saturn.small" -#define HUMAN_RACE_STRINGS "ship.earthling.text" -#define HUMAN_SHIP_SOUNDS "ship.earthling.sounds" -#define HUMAN_VICTORY_SONG "ship.earthling.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/ilwrath/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/ilwrath/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/ilwrath/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define ILWRATH_CODE "ship.ilwrath.code" Modified: trunk/sc2/src/uqm/ships/ilwrath/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/ilwrath/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/ilwrath/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define FIRE_BIG_MASK_PMAP_ANIM "ship.ilwrath.graphics.fire.large" #define FIRE_MED_MASK_PMAP_ANIM "ship.ilwrath.graphics.fire.medium" #define FIRE_SML_MASK_PMAP_ANIM "ship.ilwrath.graphics.fire.small" @@ -6,9 +10,7 @@ #define ILWRATH_ICON_MASK_PMAP_ANIM "ship.ilwrath.icons" #define ILWRATH_MED_MASK_PMAP_ANIM "ship.ilwrath.graphics.avenger.medium" #define ILWRATH_MICON_MASK_PMAP_ANIM "ship.ilwrath.meleeicons" -#define ILWRATH_SML_MASK_PMAP_ANIM "ship.ilwrath.graphics.avenger.small" #define ILWRATH_RACE_STRINGS "ship.ilwrath.text" #define ILWRATH_SHIP_SOUNDS "ship.ilwrath.sounds" +#define ILWRATH_SML_MASK_PMAP_ANIM "ship.ilwrath.graphics.avenger.small" #define ILWRATH_VICTORY_SONG "ship.ilwrath.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/lastbat/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/lastbat/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/lastbat/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define SAMATRA_CODE "ship.samatra.code" Modified: trunk/sc2/src/uqm/ships/lastbat/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/lastbat/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/lastbat/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define GENERATOR_BIG_MASK_ANIM "ship.samatra.graphics.generator.large" #define GENERATOR_MED_MASK_PMAP_ANIM "ship.samatra.graphics.generator.medium" #define GENERATOR_SML_MASK_PMAP_ANIM "ship.samatra.graphics.generator.small" @@ -4,11 +8,9 @@ #define SAMATRA_BIG_MASK_ANIM "ship.samatra.graphics.samatra.large" #define SAMATRA_CAPTAIN_MASK_PMAP_ANIM "ship.samatra.graphics.captain" #define SAMATRA_MED_MASK_PMAP_ANIM "ship.samatra.graphics.samatra.medium" +#define SAMATRA_SHIP_SOUNDS "ship.samatra.sounds" #define SAMATRA_SML_MASK_PMAP_ANIM "ship.samatra.graphics.samatra.small" +#define SAMATRA_VICTORY_SONG "ship.samatra.ditty" #define SENTINEL_BIG_MASK_ANIM "ship.samatra.graphics.sentinel.large" #define SENTINEL_MED_MASK_PMAP_ANIM "ship.samatra.graphics.sentinel.medium" #define SENTINEL_SML_MASK_PMAP_ANIM "ship.samatra.graphics.sentinel.small" -#define SAMATRA_SHIP_SOUNDS "ship.samatra.sounds" -#define SAMATRA_VICTORY_SONG "ship.samatra.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/melnorme/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/melnorme/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/melnorme/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define MELNORME_CODE "ship.melnorme.code" Modified: trunk/sc2/src/uqm/ships/melnorme/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/melnorme/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/melnorme/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define CONFUSE_BIG_MASK_PMAP_ANIM "ship.melnorme.graphics.confuse.large" #define CONFUSE_MED_MASK_PMAP_ANIM "ship.melnorme.graphics.confuse.medium" #define CONFUSE_SML_MASK_PMAP_ANIM "ship.melnorme.graphics.confuse.small" @@ -6,12 +10,10 @@ #define MELNORME_ICON_MASK_PMAP_ANIM "ship.melnorme.icons" #define MELNORME_MED_MASK_PMAP_ANIM "ship.melnorme.graphics.trader.medium" #define MELNORME_MICON_MASK_PMAP_ANIM "ship.melnorme.meleeicons" +#define MELNORME_RACE_STRINGS "ship.melnorme.text" +#define MELNORME_SHIP_SOUNDS "ship.melnorme.sounds" #define MELNORME_SML_MASK_PMAP_ANIM "ship.melnorme.graphics.trader.small" +#define MELNORME_VICTORY_SONG "ship.melnorme.ditty" #define PUMPUP_BIG_MASK_PMAP_ANIM "ship.melnorme.graphics.pumpup.large" #define PUMPUP_MED_MASK_PMAP_ANIM "ship.melnorme.graphics.pumpup.medium" #define PUMPUP_SML_MASK_PMAP_ANIM "ship.melnorme.graphics.pumpup.small" -#define MELNORME_RACE_STRINGS "ship.melnorme.text" -#define MELNORME_SHIP_SOUNDS "ship.melnorme.sounds" -#define MELNORME_VICTORY_SONG "ship.melnorme.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/mmrnmhrm/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/mmrnmhrm/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/mmrnmhrm/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define MMRNMHRM_CODE "ship.mmrnmhrm.code" Modified: trunk/sc2/src/uqm/ships/mmrnmhrm/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/mmrnmhrm/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/mmrnmhrm/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define MMRNMHRM_BIG_MASK_PMAP_ANIM "ship.mmrnmhrm.graphics.xform.large" #define MMRNMHRM_CAPTAIN_MASK_PMAP_ANIM "ship.mmrnmhrm.graphics.captain" #define MMRNMHRM_ICON_MASK_PMAP_ANIM "ship.mmrnmhrm.icons" @@ -3,5 +7,8 @@ #define MMRNMHRM_MED_MASK_PMAP_ANIM "ship.mmrnmhrm.graphics.xform.medium" #define MMRNMHRM_MICON_MASK_PMAP_ANIM "ship.mmrnmhrm.meleeicons" +#define MMRNMHRM_RACE_STRINGS "ship.mmrnmhrm.text" +#define MMRNMHRM_SHIP_SOUNDS "ship.mmrnmhrm.sounds" #define MMRNMHRM_SML_MASK_PMAP_ANIM "ship.mmrnmhrm.graphics.xform.small" +#define MMRNMHRM_VICTORY_SONG "ship.mmrnmhrm.ditty" #define TORP_BIG_MASK_PMAP_ANIM "ship.mmrnmhrm.graphics.torpedo.large" #define TORP_MED_MASK_PMAP_ANIM "ship.mmrnmhrm.graphics.torpedo.medium" @@ -10,8 +17,3 @@ #define YWING_BIG_MASK_PMAP_ANIM "ship.mmrnmhrm.graphics.ywing.large" #define YWING_MED_MASK_PMAP_ANIM "ship.mmrnmhrm.graphics.ywing.medium" #define YWING_SML_MASK_PMAP_ANIM "ship.mmrnmhrm.graphics.ywing.small" -#define MMRNMHRM_RACE_STRINGS "ship.mmrnmhrm.text" -#define MMRNMHRM_SHIP_SOUNDS "ship.mmrnmhrm.sounds" -#define MMRNMHRM_VICTORY_SONG "ship.mmrnmhrm.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/mycon/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/mycon/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/mycon/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define MYCON_CODE "ship.mycon.code" Modified: trunk/sc2/src/uqm/ships/mycon/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/mycon/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/mycon/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define MYCON_BIG_MASK_PMAP_ANIM "ship.mycon.graphics.podship.large" #define MYCON_CAPTAIN_MASK_PMAP_ANIM "ship.mycon.graphics.captain" #define MYCON_ICON_MASK_PMAP_ANIM "ship.mycon.icons" @@ -3,11 +7,9 @@ #define MYCON_MED_MASK_PMAP_ANIM "ship.mycon.graphics.podship.medium" #define MYCON_MICON_MASK_PMAP_ANIM "ship.mycon.meleeicons" +#define MYCON_RACE_STRINGS "ship.mycon.text" +#define MYCON_SHIP_SOUNDS "ship.mycon.sounds" #define MYCON_SML_MASK_PMAP_ANIM "ship.mycon.graphics.podship.small" +#define MYCON_VICTORY_SONG "ship.mycon.ditty" #define PLASMA_BIG_MASK_PMAP_ANIM "ship.mycon.graphics.plasma.large" #define PLASMA_MED_MASK_PMAP_ANIM "ship.mycon.graphics.plasma.medium" #define PLASMA_SML_MASK_PMAP_ANIM "ship.mycon.graphics.plasma.small" -#define MYCON_RACE_STRINGS "ship.mycon.text" -#define MYCON_SHIP_SOUNDS "ship.mycon.sounds" -#define MYCON_VICTORY_SONG "ship.mycon.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/orz/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/orz/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/orz/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define ORZ_CODE "ship.orz.code" Modified: trunk/sc2/src/uqm/ships/orz/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/orz/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/orz/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define HOWITZER_BIG_MASK_PMAP_ANIM "ship.orz.graphics.howitzer.large" #define HOWITZER_MED_MASK_PMAP_ANIM "ship.orz.graphics.howitzer.medium" #define HOWITZER_SML_MASK_PMAP_ANIM "ship.orz.graphics.howitzer.small" @@ -6,12 +10,10 @@ #define ORZ_ICON_MASK_PMAP_ANIM "ship.orz.icons" #define ORZ_MED_MASK_PMAP_ANIM "ship.orz.graphics.nemesis.medium" #define ORZ_MICON_MASK_PMAP_ANIM "ship.orz.meleeicons" +#define ORZ_RACE_STRINGS "ship.orz.text" +#define ORZ_SHIP_SOUNDS "ship.orz.sounds" #define ORZ_SML_MASK_PMAP_ANIM "ship.orz.graphics.nemesis.small" +#define ORZ_VICTORY_SONG "ship.orz.ditty" #define TURRET_BIG_MASK_PMAP_ANIM "ship.orz.graphics.turret.large" #define TURRET_MED_MASK_PMAP_ANIM "ship.orz.graphics.turret.medium" #define TURRET_SML_MASK_PMAP_ANIM "ship.orz.graphics.turret.small" -#define ORZ_RACE_STRINGS "ship.orz.text" -#define ORZ_SHIP_SOUNDS "ship.orz.sounds" -#define ORZ_VICTORY_SONG "ship.orz.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/pkunk/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/pkunk/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/pkunk/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define PKUNK_CODE "ship.pkunk.code" Modified: trunk/sc2/src/uqm/ships/pkunk/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/pkunk/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/pkunk/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define BUG_BIG_MASK_PMAP_ANIM "ship.pkunk.graphics.bug.large" #define BUG_MED_MASK_PMAP_ANIM "ship.pkunk.graphics.bug.medium" #define BUG_SML_MASK_PMAP_ANIM "ship.pkunk.graphics.bug.small" @@ -6,9 +10,7 @@ #define PKUNK_ICON_MASK_PMAP_ANIM "ship.pkunk.icons" #define PKUNK_MED_MASK_PMAP_ANIM "ship.pkunk.graphics.fury.medium" #define PKUNK_MICON_MASK_PMAP_ANIM "ship.pkunk.meleeicons" -#define PKUNK_SML_MASK_PMAP_ANIM "ship.pkunk.graphics.fury.small" #define PKUNK_RACE_STRINGS "ship.pkunk.text" #define PKUNK_SHIP_SOUNDS "ship.pkunk.sounds" +#define PKUNK_SML_MASK_PMAP_ANIM "ship.pkunk.graphics.fury.small" #define PKUNK_VICTORY_SONG "ship.pkunk.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/probe/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/probe/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/probe/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define URQUAN_DRONE_CODE "ship.drone.code" Modified: trunk/sc2/src/uqm/ships/probe/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/probe/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/probe/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define URQUAN_DRONE_MICON_MASK_PMAP_ANIM "ship.drone.meleeicons" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/shofixti/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/shofixti/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/shofixti/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define SHOFIXTI_CODE "ship.shofixti.code" Modified: trunk/sc2/src/uqm/ships/shofixti/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/shofixti/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/shofixti/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define DART_BIG_MASK_PMAP_ANIM "ship.shofixti.graphics.missile.large" #define DART_MED_MASK_PMAP_ANIM "ship.shofixti.graphics.missile.medium" #define DART_SML_MASK_PMAP_ANIM "ship.shofixti.graphics.missile.small" @@ -13,9 +17,7 @@ #define SHOFIXTI_ICON_MASK_PMAP_ANIM "ship.shofixti.icons" #define SHOFIXTI_MED_MASK_PMAP_ANIM "ship.shofixti.graphics.scout.medium" #define SHOFIXTI_MICON_MASK_PMAP_ANIM "ship.shofixti.meleeicons" -#define SHOFIXTI_SML_MASK_PMAP_ANIM "ship.shofixti.graphics.scout.small" #define SHOFIXTI_RACE_STRINGS "ship.shofixti.text" #define SHOFIXTI_SHIP_SOUNDS "ship.shofixti.sounds" +#define SHOFIXTI_SML_MASK_PMAP_ANIM "ship.shofixti.graphics.scout.small" #define SHOFIXTI_VICTORY_SONG "ship.shofixti.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/sis_ship/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/sis_ship/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/sis_ship/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define SIS_CODE "ship.flagship.code" Modified: trunk/sc2/src/uqm/ships/sis_ship/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/sis_ship/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/sis_ship/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define BLASTER_BIG_MASK_PMAP_ANIM "ship.flagship.graphics.blaster.large" #define BLASTER_MED_MASK_PMAP_ANIM "ship.flagship.graphics.blaster.medium" #define BLASTER_SML_MASK_PMAP_ANIM "ship.flagship.graphics.blaster.small" @@ -6,8 +10,6 @@ #define SIS_HYPER_MASK_PMAP_ANIM "ship.flagship.graphics.hyperspace" #define SIS_ICON_MASK_PMAP_ANIM "ship.flagship.icons" #define SIS_MED_MASK_PMAP_ANIM "ship.flagship.graphics.flagship.medium" +#define SIS_SHIP_SOUNDS "ship.flagship.sounds" #define SIS_SML_MASK_PMAP_ANIM "ship.flagship.graphics.flagship.small" -#define SIS_SHIP_SOUNDS "ship.flagship.sounds" #define SIS_VICTORY_SONG "ship.flagship.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/slylandr/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/slylandr/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/slylandr/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define SLYLANDRO_CODE "ship.slylandro.code" Modified: trunk/sc2/src/uqm/ships/slylandr/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/slylandr/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/slylandr/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define SLYLANDRO_BIG_MASK_PMAP_ANIM "ship.slylandro.graphics.probe.large" #define SLYLANDRO_CAPTAIN_MASK_PMAP_ANIM "ship.slylandro.graphics.captain" #define SLYLANDRO_ICON_MASK_PMAP_ANIM "ship.slylandro.icons" @@ -3,8 +7,6 @@ #define SLYLANDRO_MED_MASK_PMAP_ANIM "ship.slylandro.graphics.probe.medium" #define SLYLANDRO_MICON_MASK_PMAP_ANIM "ship.slylandro.meleeicons" -#define SLYLANDRO_SML_MASK_PMAP_ANIM "ship.slylandro.graphics.probe.small" #define SLYLANDRO_RACE_STRINGS "ship.slylandro.text" #define SLYLANDRO_SHIP_SOUNDS "ship.slylandro.sounds" +#define SLYLANDRO_SML_MASK_PMAP_ANIM "ship.slylandro.graphics.probe.small" #define SLYLANDRO_VICTORY_SONG "ship.slylandro.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/spathi/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/spathi/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/spathi/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define SPATHI_CODE "ship.spathi.code" Modified: trunk/sc2/src/uqm/ships/spathi/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/spathi/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/spathi/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define DISCRIM_BIG_MASK_PMAP_ANIM "ship.spathi.graphics.butt.large" #define DISCRIM_MED_MASK_PMAP_ANIM "ship.spathi.graphics.butt.medium" #define DISCRIM_SML_MASK_PMAP_ANIM "ship.spathi.graphics.butt.small" @@ -9,9 +13,7 @@ #define SPATHI_ICON_MASK_PMAP_ANIM "ship.spathi.icons" #define SPATHI_MED_MASK_PMAP_ANIM "ship.spathi.graphics.eluder.medium" #define SPATHI_MICON_MASK_PMAP_ANIM "ship.spathi.meleeicons" -#define SPATHI_SML_MASK_PMAP_ANIM "ship.spathi.graphics.eluder.small" #define SPATHI_RACE_STRINGS "ship.spathi.text" #define SPATHI_SHIP_SOUNDS "ship.spathi.sounds" +#define SPATHI_SML_MASK_PMAP_ANIM "ship.spathi.graphics.eluder.small" #define SPATHI_VICTORY_SONG "ship.spathi.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/supox/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/supox/icode.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/supox/icode.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1 +1,5 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define SUPOX_CODE "ship.supox.code" Modified: trunk/sc2/src/uqm/ships/supox/resinst.h =================================================================== --- trunk/sc2/src/uqm/ships/supox/resinst.h 2011-07-18 22:17:22 UTC (rev 3655) +++ trunk/sc2/src/uqm/ships/supox/resinst.h 2011-07-19 18:34:45 UTC (rev 3656) @@ -1,3 +1,7 @@ +/* This file was auto-generated by the gen_resfiles utility and + should not be edited directly. Modify the master resource list + instead and regenerate. */ + #define GOB_BIG_MASK_PMAP_ANIM "ship.supox.graphics.glob.large" #define GOB_MED_MASK_PMAP_ANIM "ship.supox.graphics.glob.medium" #define GOB_SML_MASK_PMAP_ANIM "ship.supox.graphics.glob.small" @@ -6,9 +10,7 @@ #define SUPOX_ICON_MASK_PMAP_ANIM "ship.supox.icons" #define SUPOX_MED_MASK_PMAP_ANIM "ship.supox.graphics.blade.medium" #define SUPOX_MICON_MASK_PMAP_ANIM "ship.supox.meleeicons" -#define SUPOX_SML_MASK_PMAP_ANIM "ship.supox.graphics.blade.small" #define SUPOX_RACE_STRINGS "ship.supox.text" #define SUPOX_SHIP_SOUNDS "ship.supox.sounds" +#define SUPOX_SML_MASK_PMAP_ANIM "ship.supox.graphics.blade.small" #define SUPOX_VICTORY_SONG "ship.supox.ditty" - -#include "icode.h" Modified: trunk/sc2/src/uqm/ships/syreen/icode.h =================================================================== --- trunk/sc2/src/uqm/ships/s... [truncated message content] |
From: <av...@us...> - 2011-07-20 17:23:49
|
Revision: 3657 http://sc2.svn.sourceforge.net/sc2/?rev=3657&view=rev Author: avolkov Date: 2011-07-20 17:23:43 +0000 (Wed, 20 Jul 2011) Log Message: ----------- Use correct Commander Hayes phrases when advising the player on the number of landers; bug #1098 Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/src/uqm/comm/starbas/starbas.c Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-07-19 18:34:45 UTC (rev 3656) +++ trunk/sc2/ChangeLog 2011-07-20 17:23:43 UTC (rev 3657) @@ -1,4 +1,6 @@ Changes towards version 0.8: +- Commander Hayes now advises the player correctly on the number of + landers one needs (bug #1098) - Alex - All Sound Options are now preserved between visits to the setup menu. Some options still require a restart (bug #1132) - Alex - Removed the remnants of the --music option (bug #1133) - Alex Modified: trunk/sc2/src/uqm/comm/starbas/starbas.c =================================================================== --- trunk/sc2/src/uqm/comm/starbas/starbas.c 2011-07-19 18:34:45 UTC (rev 3656) +++ trunk/sc2/src/uqm/comm/starbas/starbas.c 2011-07-20 17:23:43 UTC (rev 3657) @@ -677,7 +677,7 @@ if (num_bays < 1) NPCPhrase (NEED_STORAGE_1); if (GLOBAL_SIS (NumLanders) == 0) - NPCPhrase (NEED_LANDERS_1); + NPCPhrase (NEED_LANDERS_2); if (num_batts < 1) NPCPhrase (NEED_DYNAMOS_1); @@ -754,7 +754,7 @@ if (GLOBAL_SIS (FuelOnBoard) < FUEL_TANK_CAPACITY * 3) NPCPhrase (NEED_FUEL_2); if (GLOBAL_SIS (NumLanders) < 3) - NPCPhrase (NEED_LANDERS_2); + NPCPhrase (NEED_LANDERS_1); if (num_batts < 4) NPCPhrase (NEED_DYNAMOS_2); if (num_defense < 2) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-07-20 18:17:49
|
Revision: 3658 http://sc2.svn.sourceforge.net/sc2/?rev=3658&view=rev Author: avolkov Date: 2011-07-20 18:17:42 +0000 (Wed, 20 Jul 2011) Log Message: ----------- Added the Ur-Quan to the Hayes' conversation options on the Hierarchy; the encompassing option changed to 'The Hierarchy and their battle thralls'; bug #865 Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/content/addons/3dovoice/starbase/starbase.txt trunk/sc2/content/base/comm/starbase/starbase.txt trunk/sc2/src/uqm/comm/starbas/starbas.c Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-07-20 17:23:43 UTC (rev 3657) +++ trunk/sc2/ChangeLog 2011-07-20 18:17:42 UTC (rev 3658) @@ -1,4 +1,6 @@ Changes towards version 0.8: +- Added the Ur-Quan to the list of starfaring races on which Commander + Hayes provides info (bug #865) - Alex - Commander Hayes now advises the player correctly on the number of landers one needs (bug #1098) - Alex - All Sound Options are now preserved between visits to the setup menu. Modified: trunk/sc2/content/addons/3dovoice/starbase/starbase.txt =================================================================== --- trunk/sc2/content/addons/3dovoice/starbase/starbase.txt 2011-07-20 17:23:43 UTC (rev 3657) +++ trunk/sc2/content/addons/3dovoice/starbase/starbase.txt 2011-07-20 18:17:42 UTC (rev 3658) @@ -1324,7 +1324,7 @@ The members of the old Alliance. #(what_about_hierarchy) -The battle thralls in the Hierarchy. +The Hierarchy and their battle thralls. #(what_about_other) Were there any alien races who weren't in the War? Modified: trunk/sc2/content/base/comm/starbase/starbase.txt =================================================================== --- trunk/sc2/content/base/comm/starbase/starbase.txt 2011-07-20 17:23:43 UTC (rev 3657) +++ trunk/sc2/content/base/comm/starbase/starbase.txt 2011-07-20 18:17:42 UTC (rev 3658) @@ -1324,7 +1324,7 @@ The members of the old Alliance. #(what_about_hierarchy) -The battle thralls in the Hierarchy. +The Hierarchy and their battle thralls. #(what_about_other) Were there any alien races who weren't in the War? Modified: trunk/sc2/src/uqm/comm/starbas/starbas.c =================================================================== --- trunk/sc2/src/uqm/comm/starbas/starbas.c 2011-07-20 17:23:43 UTC (rev 3657) +++ trunk/sc2/src/uqm/comm/starbas/starbas.c 2011-07-20 18:17:42 UTC (rev 3658) @@ -302,6 +302,7 @@ #define HIERARCHY_ANDROSYNTH (1 << 3) #define HIERARCHY_ILWRATH (1 << 4) #define HIERARCHY_VUX (1 << 5) +#define HIERARCHY_URQUAN (1 << 6) static BYTE HierarchyMask = 0; if (PLAYER_SAID (R, what_about_hierarchy)) @@ -309,6 +310,11 @@ NPCPhrase (WHICH_HIERARCHY); HierarchyMask = 0; } + else if (PLAYER_SAID (R, urquan)) + { + NPCPhrase (ABOUT_URQUAN); + HierarchyMask |= HIERARCHY_URQUAN; + } else if (PLAYER_SAID (R, mycon)) { NPCPhrase (ABOUT_MYCON); @@ -340,6 +346,8 @@ HierarchyMask |= HIERARCHY_VUX; } + if (!(HierarchyMask & HIERARCHY_URQUAN)) + Response (urquan, HierarchyInfo); if (!(HierarchyMask & HIERARCHY_MYCON)) Response (mycon, HierarchyInfo); if (!(HierarchyMask & HIERARCHY_SPATHI)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <av...@us...> - 2011-07-20 19:02:39
|
Revision: 3659 http://sc2.svn.sourceforge.net/sc2/?rev=3659&view=rev Author: avolkov Date: 2011-07-20 19:02:32 +0000 (Wed, 20 Jul 2011) Log Message: ----------- Fixed player's phrase leading to Tanaka's solitary vigil response so that the response made sense; the new phrase is a hybrid of DOS and 3DO versions; also some emphasis punctuation changes (tracks DOS and voice actor) Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/content/base/comm/shofixti/shofixti.txt Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-07-20 18:17:42 UTC (rev 3658) +++ trunk/sc2/ChangeLog 2011-07-20 19:02:32 UTC (rev 3659) @@ -1,4 +1,6 @@ Changes towards version 0.8: +- Fixed player's phrase leading to Tanaka's response about a solitary + vigil (bug #859) - Alex - Added the Ur-Quan to the list of starfaring races on which Commander Hayes provides info (bug #865) - Alex - Commander Hayes now advises the player correctly on the number of Modified: trunk/sc2/content/base/comm/shofixti/shofixti.txt =================================================================== --- trunk/sc2/content/base/comm/shofixti/shofixti.txt 2011-07-20 18:17:42 UTC (rev 3658) +++ trunk/sc2/content/base/comm/shofixti/shofixti.txt 2011-07-20 19:02:32 UTC (rev 3659) @@ -215,11 +215,11 @@ What might that be? #(need_you_for_duty) -Shofixti, I am now your new commander. I order you not to kill yourself. You are to remain here and guard your solar system. +Shofixti, I am now your new commander. I order you not to kill yourself. Instead, join our fleet. Fight with us! #(OK_WILL_BE_SENTRY) shofixti-033.ogg -To fight again? Against the Ur-Quan? -Yes. But no +To fight again? Against the UR-QUAN!? +YES!!... But no. I cannot leave my homeworld unguarded. I will remain here and keep a solitary vigil. Goodbye. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Mee...@us...> - 2011-07-24 19:58:35
|
Revision: 3663 http://sc2.svn.sourceforge.net/sc2/?rev=3663&view=rev Author: Meep-Eep Date: 2011-07-24 19:58:25 +0000 (Sun, 24 Jul 2011) Log Message: ----------- Preparing for linking with C++ code, from Scott A. Colcord. Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/src/endian_uqm.h trunk/sc2/src/libs/alarm.h trunk/sc2/src/libs/callback.h trunk/sc2/src/libs/cdplib.h trunk/sc2/src/libs/compiler.h trunk/sc2/src/libs/declib.h trunk/sc2/src/libs/file.h trunk/sc2/src/libs/gfxlib.h trunk/sc2/src/libs/heap.h trunk/sc2/src/libs/inplib.h trunk/sc2/src/libs/list.h trunk/sc2/src/libs/log.h trunk/sc2/src/libs/mathlib.h trunk/sc2/src/libs/md5.h trunk/sc2/src/libs/memlib.h trunk/sc2/src/libs/misc.h trunk/sc2/src/libs/net.h trunk/sc2/src/libs/platform.h trunk/sc2/src/libs/reslib.h trunk/sc2/src/libs/sndlib.h trunk/sc2/src/libs/strlib.h trunk/sc2/src/libs/tasklib.h trunk/sc2/src/libs/threadlib.h trunk/sc2/src/libs/timelib.h trunk/sc2/src/libs/uio.h trunk/sc2/src/libs/uioutils.h trunk/sc2/src/libs/unicode.h trunk/sc2/src/libs/vidlib.h trunk/sc2/src/options.h trunk/sc2/src/port.h trunk/sc2/src/types.h trunk/sc2/src/uqm/battle.h trunk/sc2/src/uqm/battlecontrols.h trunk/sc2/src/uqm/build.h trunk/sc2/src/uqm/clock.h trunk/sc2/src/uqm/cnctdlg.h trunk/sc2/src/uqm/coderes.h trunk/sc2/src/uqm/collide.h trunk/sc2/src/uqm/comm.h trunk/sc2/src/uqm/commanim.h trunk/sc2/src/uqm/commglue.h trunk/sc2/src/uqm/cons_res.h trunk/sc2/src/uqm/controls.h trunk/sc2/src/uqm/credits.h trunk/sc2/src/uqm/demo.h trunk/sc2/src/uqm/displist.h trunk/sc2/src/uqm/element.h trunk/sc2/src/uqm/encount.h trunk/sc2/src/uqm/flash.h trunk/sc2/src/uqm/fmv.h trunk/sc2/src/uqm/gameev.h trunk/sc2/src/uqm/gameopt.h trunk/sc2/src/uqm/gamestr.h trunk/sc2/src/uqm/gendef.h trunk/sc2/src/uqm/globdata.h trunk/sc2/src/uqm/grpinfo.h trunk/sc2/src/uqm/hyper.h trunk/sc2/src/uqm/init.h trunk/sc2/src/uqm/intel.h trunk/sc2/src/uqm/ipdisp.h trunk/sc2/src/uqm/load.h trunk/sc2/src/uqm/master.h trunk/sc2/src/uqm/menustat.h trunk/sc2/src/uqm/oscill.h trunk/sc2/src/uqm/pickship.h trunk/sc2/src/uqm/planets/elemdata.h trunk/sc2/src/uqm/planets/generate/gendefault.h trunk/sc2/src/uqm/planets/generate.h trunk/sc2/src/uqm/planets/lander.h trunk/sc2/src/uqm/planets/lifeform.h trunk/sc2/src/uqm/planets/plandata.h trunk/sc2/src/uqm/planets/planets.h trunk/sc2/src/uqm/planets/scan.h trunk/sc2/src/uqm/planets/sundata.h trunk/sc2/src/uqm/process.h trunk/sc2/src/uqm/races.h trunk/sc2/src/uqm/restart.h trunk/sc2/src/uqm/save.h trunk/sc2/src/uqm/settings.h trunk/sc2/src/uqm/setup.h trunk/sc2/src/uqm/setupmenu.h trunk/sc2/src/uqm/ship.h trunk/sc2/src/uqm/shipcont.h trunk/sc2/src/uqm/ships/androsyn/androsyn.h trunk/sc2/src/uqm/ships/arilou/arilou.h trunk/sc2/src/uqm/ships/blackurq/blackurq.h trunk/sc2/src/uqm/ships/chenjesu/chenjesu.h trunk/sc2/src/uqm/ships/chmmr/chmmr.h trunk/sc2/src/uqm/ships/druuge/druuge.h trunk/sc2/src/uqm/ships/human/human.h trunk/sc2/src/uqm/ships/ilwrath/ilwrath.h trunk/sc2/src/uqm/ships/lastbat/lastbat.h trunk/sc2/src/uqm/ships/melnorme/melnorme.h trunk/sc2/src/uqm/ships/mmrnmhrm/mmrnmhrm.h trunk/sc2/src/uqm/ships/mycon/mycon.h trunk/sc2/src/uqm/ships/orz/orz.h trunk/sc2/src/uqm/ships/pkunk/pkunk.h trunk/sc2/src/uqm/ships/probe/probe.h trunk/sc2/src/uqm/ships/shofixti/shofixti.h trunk/sc2/src/uqm/ships/sis_ship/sis_ship.h trunk/sc2/src/uqm/ships/slylandr/slylandr.h trunk/sc2/src/uqm/ships/spathi/spathi.h trunk/sc2/src/uqm/ships/supox/supox.h trunk/sc2/src/uqm/ships/syreen/syreen.h trunk/sc2/src/uqm/ships/thradd/thradd.h trunk/sc2/src/uqm/ships/umgah/umgah.h trunk/sc2/src/uqm/ships/urquan/urquan.h trunk/sc2/src/uqm/ships/utwig/utwig.h trunk/sc2/src/uqm/ships/vux/vux.h trunk/sc2/src/uqm/ships/yehat/yehat.h trunk/sc2/src/uqm/ships/zoqfot/zoqfot.h trunk/sc2/src/uqm/sis.h trunk/sc2/src/uqm/sounds.h trunk/sc2/src/uqm/starbase.h trunk/sc2/src/uqm/starcon.h trunk/sc2/src/uqm/state.h trunk/sc2/src/uqm/status.h trunk/sc2/src/uqm/supermelee/buildpick.h trunk/sc2/src/uqm/supermelee/loadmele.h trunk/sc2/src/uqm/supermelee/melee.h trunk/sc2/src/uqm/supermelee/meleesetup.h trunk/sc2/src/uqm/supermelee/meleeship.h trunk/sc2/src/uqm/supermelee/netplay/checkbuf.h trunk/sc2/src/uqm/supermelee/netplay/checksum.h trunk/sc2/src/uqm/supermelee/netplay/crc.h trunk/sc2/src/uqm/supermelee/netplay/netconnection.h trunk/sc2/src/uqm/supermelee/netplay/netinput.h trunk/sc2/src/uqm/supermelee/netplay/netmelee.h trunk/sc2/src/uqm/supermelee/netplay/netmisc.h trunk/sc2/src/uqm/supermelee/netplay/netoptions.h trunk/sc2/src/uqm/supermelee/netplay/netrcv.h trunk/sc2/src/uqm/supermelee/netplay/netsend.h trunk/sc2/src/uqm/supermelee/netplay/netstate.h trunk/sc2/src/uqm/supermelee/netplay/notify.h trunk/sc2/src/uqm/supermelee/netplay/notifyall.h trunk/sc2/src/uqm/supermelee/netplay/packet.h trunk/sc2/src/uqm/supermelee/netplay/packethandlers.h trunk/sc2/src/uqm/supermelee/netplay/packetq.h trunk/sc2/src/uqm/supermelee/netplay/packetsenders.h trunk/sc2/src/uqm/supermelee/netplay/proto/npconfirm.h trunk/sc2/src/uqm/supermelee/netplay/proto/ready.h trunk/sc2/src/uqm/supermelee/netplay/proto/reset.h trunk/sc2/src/uqm/supermelee/pickmele.h trunk/sc2/src/uqm/tactrans.h trunk/sc2/src/uqm/units.h trunk/sc2/src/uqm/util.h trunk/sc2/src/uqm/velocity.h trunk/sc2/src/uqm/weapon.h Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/ChangeLog 2011-07-24 19:58:25 UTC (rev 3663) @@ -1,4 +1,5 @@ Changes towards version 0.8: +- Preparing for linking with C++ code, from Scott A. Colcord - Fixed player's phrase leading to Tanaka's response about a solitary vigil (bug #859) - Alex - Added the Ur-Quan to the list of starfaring races on which Commander Modified: trunk/sc2/src/endian_uqm.h =================================================================== --- trunk/sc2/src/endian_uqm.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/endian_uqm.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -61,6 +61,11 @@ #define UQM_Swap32 __arch__swab32 #endif #endif /* linux */ + +#if defined(__cplusplus) +extern "C" { +#endif + /* Use inline functions for compilers that support them, and static functions for those that do not. Because these functions become static for compilers that do not support inline functions, this @@ -124,4 +129,8 @@ #define UQM_SwapBE64(X) (X) #endif +#if defined(__cplusplus) +} +#endif + #endif /* _ENDIAN_H */ Modified: trunk/sc2/src/libs/alarm.h =================================================================== --- trunk/sc2/src/libs/alarm.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/alarm.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -1,2 +1,9 @@ +#if defined(__cplusplus) +extern "C" { +#endif + #include "callback/alarm.h" +#if defined(__cplusplus) +} +#endif Modified: trunk/sc2/src/libs/callback.h =================================================================== --- trunk/sc2/src/libs/callback.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/callback.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -1,2 +1,10 @@ +#if defined(__cplusplus) +extern "C" { +#endif + #include "callback/callback.h" +#if defined(__cplusplus) +} +#endif + Modified: trunk/sc2/src/libs/cdplib.h =================================================================== --- trunk/sc2/src/libs/cdplib.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/cdplib.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -19,6 +19,14 @@ #ifndef _CDPLIB_H #define _CDPLIB_H +#if defined(__cplusplus) +extern "C" { +#endif + #include "cdp/cdp.h" +#if defined(__cplusplus) +} +#endif + #endif /* _CDPLIB_H */ Modified: trunk/sc2/src/libs/compiler.h =================================================================== --- trunk/sc2/src/libs/compiler.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/compiler.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -21,6 +21,10 @@ #include "types.h" +#if defined(__cplusplus) +extern "C" { +#endif + typedef uint8 BYTE; typedef uint8 UBYTE; typedef sint8 SBYTE; @@ -85,5 +89,9 @@ # define _ALIGNED_ON(bytes) #endif +#if defined(__cplusplus) +} +#endif + #endif /* _COMPILER_H */ Modified: trunk/sc2/src/libs/declib.h =================================================================== --- trunk/sc2/src/libs/declib.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/declib.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -20,6 +20,11 @@ #define _DECLIB_H #include "libs/compiler.h" + +#if defined(__cplusplus) +extern "C" { +#endif + typedef struct _LZHCODE_DESC* DECODE_REF; enum @@ -45,4 +50,8 @@ extern COUNT cwrite (const void *pStr, COUNT size, COUNT count, DECODE_REF DecodeRef); +#if defined(__cplusplus) +} +#endif + #endif /* _DECLIB_H */ Modified: trunk/sc2/src/libs/file.h =================================================================== --- trunk/sc2/src/libs/file.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/file.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -25,6 +25,10 @@ // for bool #include "types.h" +#if defined(__cplusplus) +extern "C" { +#endif + #if 0 // from temp.h void initTempDir (void); @@ -83,5 +87,9 @@ } #endif /* HAVE_DRIVE_LETTERS */ +#if defined(__cplusplus) +} +#endif + #endif /* _FILE_H */ Modified: trunk/sc2/src/libs/gfxlib.h =================================================================== --- trunk/sc2/src/libs/gfxlib.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/gfxlib.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -32,6 +32,10 @@ #include "libs/reslib.h" +#if defined(__cplusplus) +extern "C" { +#endif + typedef struct context_desc CONTEXT_DESC; typedef struct frame_desc FRAME_DESC; typedef struct font_desc FONT_DESC; @@ -227,8 +231,16 @@ COUNT CharCount; } TEXT; +#if defined(__cplusplus) +} +#endif + #include "libs/strlib.h" +#if defined(__cplusplus) +extern "C" { +#endif + typedef STRING_TABLE COLORMAP_REF; typedef STRING COLORMAP; // COLORMAPPTR is really a pointer to colortable entry structure @@ -237,6 +249,7 @@ #include "graphics/prim.h" + typedef BYTE BATCH_FLAGS; // This flag is currently unused but it might make sense to restore it #define BATCH_BUILD_PAGE (BATCH_FLAGS)(1 << 0) @@ -454,4 +467,8 @@ void SetSystemRect (const RECT *pRect); void ClearSystemRect (void); +#if defined(__cplusplus) +} +#endif + #endif /* _GFXLIB_H */ Modified: trunk/sc2/src/libs/heap.h =================================================================== --- trunk/sc2/src/libs/heap.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/heap.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -1,2 +1,9 @@ +#if defined(__cplusplus) +extern "C" { +#endif + #include "heap/heap.h" +#if defined(__cplusplus) +} +#endif Modified: trunk/sc2/src/libs/inplib.h =================================================================== --- trunk/sc2/src/libs/inplib.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/inplib.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -24,7 +24,11 @@ #include "libs/uio.h" #include "libs/unicode.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern BOOLEAN AnyButtonPress (BOOLEAN DetectSpecial); extern void TFB_ResetControls (void); @@ -59,5 +63,9 @@ void BeginInputFrame (void); +#if defined(__cplusplus) +} +#endif + #endif /* _INPLIB_H */ Modified: trunk/sc2/src/libs/list.h =================================================================== --- trunk/sc2/src/libs/list.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/list.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -16,5 +16,14 @@ * */ +#if defined(__cplusplus) +extern "C" { +#endif + #include "list/list.h" +#if defined(__cplusplus) +} +#endif + + Modified: trunk/sc2/src/libs/log.h =================================================================== --- trunk/sc2/src/libs/log.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/log.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -14,4 +14,12 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#if defined(__cplusplus) +extern "C" { +#endif + #include "log/uqmlog.h" + +#if defined(__cplusplus) +} +#endif Modified: trunk/sc2/src/libs/mathlib.h =================================================================== --- trunk/sc2/src/libs/mathlib.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/mathlib.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -20,10 +20,19 @@ #define _MATHLIB_H #include "libs/compiler.h" + +#if defined(__cplusplus) +extern "C" { +#endif + #include "math/random.h" extern COUNT square_root (DWORD value); +#if defined(__cplusplus) +} +#endif + #endif /* _MATHLIB_H */ Modified: trunk/sc2/src/libs/md5.h =================================================================== --- trunk/sc2/src/libs/md5.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/md5.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -19,7 +19,15 @@ #ifndef _LIB_MD5_H #define _LIB_MD5_H +#if defined(__cplusplus) +extern "C" { +#endif + #include "md5/md5.h" +#if defined(__cplusplus) +} +#endif + #endif /* _LIB_MD5_H */ Modified: trunk/sc2/src/libs/memlib.h =================================================================== --- trunk/sc2/src/libs/memlib.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/memlib.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -21,6 +21,10 @@ #include "types.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern bool mem_init (void); extern bool mem_uninit (void); @@ -29,5 +33,9 @@ extern void *HCalloc (int size); extern void *HRealloc (void *p, int size); +#if defined(__cplusplus) +} +#endif + #endif /* _MEMLIB_H */ Modified: trunk/sc2/src/libs/misc.h =================================================================== --- trunk/sc2/src/libs/misc.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/misc.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -26,7 +26,11 @@ #include <stdlib.h> #include "port.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern int TFB_DEBUG_HALT; static inline void explode (void) _NORETURN; @@ -54,5 +58,9 @@ return u.c; } +#if defined(__cplusplus) +} #endif +#endif + Modified: trunk/sc2/src/libs/net.h =================================================================== --- trunk/sc2/src/libs/net.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/net.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -19,11 +19,19 @@ #ifndef _NET_H #define _NET_H +#if defined(__cplusplus) +extern "C" { +#endif + #include "network/network.h" #include "network/netmanager/netmanager.h" #include "network/connect/connect.h" #include "network/connect/listen.h" #include "network/connect/resolve.h" +#if defined(__cplusplus) +} +#endif + #endif /* _NET_H */ Modified: trunk/sc2/src/libs/platform.h =================================================================== --- trunk/sc2/src/libs/platform.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/platform.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -17,6 +17,10 @@ #ifndef PLATFORM_H_ #define PLATFORM_H_ +#if defined(__cplusplus) +extern "C" { +#endif + #if defined(USE_PLATFORM_ACCEL) # if defined(__GNUC__) && (defined(i386) || defined(__x86_64__)) # define MMX_ASM @@ -46,4 +50,8 @@ extern PLATFORM_TYPE force_platform; +#if defined(__cplusplus) +} +#endif + #endif /* PLATFORM_H_ */ Modified: trunk/sc2/src/libs/reslib.h =================================================================== --- trunk/sc2/src/libs/reslib.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/reslib.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -25,6 +25,10 @@ #include "libs/memlib.h" #include "libs/uio.h" +#if defined(__cplusplus) +extern "C" { +#endif + typedef struct resource_index_desc RESOURCE_INDEX_DESC; typedef RESOURCE_INDEX_DESC *RESOURCE_INDEX; @@ -78,8 +82,16 @@ #define AllocResourceData HMalloc BOOLEAN FreeResourceData (void *); +#if defined(__cplusplus) +} +#endif + #include "libs/strlib.h" #include "libs/gfxlib.h" + +#if defined(__cplusplus) +extern "C" { +#endif // For Color typedef STRING_TABLE DIRENTRY_REF; @@ -120,4 +132,8 @@ BOOLEAN res_Remove (const char *key); +#if defined(__cplusplus) +} +#endif + #endif /* _RESLIB_H */ Modified: trunk/sc2/src/libs/sndlib.h =================================================================== --- trunk/sc2/src/libs/sndlib.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/sndlib.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -22,6 +22,10 @@ #include "port.h" #include "libs/strlib.h" +#if defined(__cplusplus) +extern "C" { +#endif + typedef STRING_TABLE SOUND_REF; typedef STRING SOUND; // SOUNDPTR is really a TFB_SoundSample** @@ -95,5 +99,9 @@ extern DWORD FadeMusic (BYTE end_vol, SIZE TimeInterval); +#if defined(__cplusplus) +} +#endif + #endif /* _SNDLIB_H */ Modified: trunk/sc2/src/libs/strlib.h =================================================================== --- trunk/sc2/src/libs/strlib.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/strlib.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -36,6 +36,10 @@ /* This has to go here because reslib requires the above typedefs. */ #include "libs/reslib.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern BOOLEAN InstallStringTableResType (void); extern STRING_TABLE LoadStringTableInstance (RESOURCE res); extern STRING_TABLE LoadStringTableFile (uio_DirHandle *dir, @@ -67,5 +71,9 @@ #define UNICHAR_BULLET 0x2022 #define STR_BULLET "\xE2\x80\xA2" +#if defined(__cplusplus) +} +#endif + #endif /* _STRLIB_H */ Modified: trunk/sc2/src/libs/tasklib.h =================================================================== --- trunk/sc2/src/libs/tasklib.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/tasklib.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -26,6 +26,10 @@ #include "libs/threadlib.h" +#if defined(__cplusplus) +extern "C" { +#endif + /* Bitmasks for setting task state. */ #define TASK_INUSE 1 #define TASK_EXIT 2 @@ -50,5 +54,9 @@ extern void FinishTask (Task task); extern void ConcludeTask (Task task); +#if defined(__cplusplus) +} #endif +#endif + Modified: trunk/sc2/src/libs/threadlib.h =================================================================== --- trunk/sc2/src/libs/threadlib.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/threadlib.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -45,6 +45,10 @@ #include <sys/types.h> #include "libs/timelib.h" +#if defined(__cplusplus) +extern "C" { +#endif + #if defined (PROFILE_THREADS) || defined (DEBUG_THREADS) #define THREAD_NAMES #endif @@ -173,5 +177,9 @@ void SignalCondVar (CondVar); void BroadcastCondVar (CondVar); +#if defined(__cplusplus) +} +#endif + #endif /* _THREADLIB_H */ Modified: trunk/sc2/src/libs/timelib.h =================================================================== --- trunk/sc2/src/libs/timelib.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/timelib.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -21,6 +21,10 @@ #include "libs/compiler.h" +#if defined(__cplusplus) +extern "C" { +#endif + /* ONE_SECOND is the LCM of all the fractions of a second the game uses. * Battle is 24 FPS, Landers are 35 FPS, most UI-level things are 15 FPS, * The Interplanetary flight is 30 FPS, Comm ambient animation is 40 FPS, @@ -38,5 +42,9 @@ extern void UnInitTimeSystem (void); extern TimeCount GetTimeCounter (void); +#if defined(__cplusplus) +} +#endif + #endif /* _TIMLIB_H */ Modified: trunk/sc2/src/libs/uio.h =================================================================== --- trunk/sc2/src/libs/uio.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/uio.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -21,7 +21,15 @@ #ifndef _UIO_H #define _UIO_H +#if defined(__cplusplus) +extern "C" { +#endif + #include "uio/io.h" +#if defined(__cplusplus) +} +#endif + #endif /* _UIO_H */ Modified: trunk/sc2/src/libs/uioutils.h =================================================================== --- trunk/sc2/src/libs/uioutils.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/uioutils.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -21,7 +21,15 @@ #ifndef _UIOUTILS_H #define _UIOUTILS_H +#if defined(__cplusplus) +extern "C" { +#endif + #include "uio/utils.h" +#if defined(__cplusplus) +} +#endif + #endif /* _UIOUTILS_H */ Modified: trunk/sc2/src/libs/unicode.h =================================================================== --- trunk/sc2/src/libs/unicode.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/unicode.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -23,6 +23,10 @@ #include <sys/types.h> // For size_t +#if defined(__cplusplus) +extern "C" { +#endif + typedef uint32 UniChar; #ifdef UNICODE_INTERNAL @@ -60,5 +64,9 @@ #undef UNICODE_CHAR +#if defined(__cplusplus) +} +#endif + #endif /* UNICODE_H */ Modified: trunk/sc2/src/libs/vidlib.h =================================================================== --- trunk/sc2/src/libs/vidlib.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/libs/vidlib.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -23,6 +23,10 @@ #include "libs/sndlib.h" #include "libs/reslib.h" +#if defined(__cplusplus) +extern "C" { +#endif + typedef enum { NO_FMV = 0, @@ -57,4 +61,8 @@ extern void StopLegacyVideo (LEGACY_VIDEO_REF ref); extern BOOLEAN PlayingLegacyVideo (LEGACY_VIDEO_REF ref); +#if defined(__cplusplus) +} +#endif + #endif /* _VIDLIB_H */ Modified: trunk/sc2/src/options.h =================================================================== --- trunk/sc2/src/options.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/options.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -26,6 +26,10 @@ #include "libs/compiler.h" #include "libs/uio.h" +#if defined(__cplusplus) +extern "C" { +#endif + #define OPT_3DO 0x01 #define OPT_PC 0x02 #define OPT_ALL 0xFF @@ -81,5 +85,9 @@ bool setGammaCorrection (float gamma); +#if defined(__cplusplus) +} #endif +#endif + Modified: trunk/sc2/src/port.h =================================================================== --- trunk/sc2/src/port.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/port.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -79,13 +79,25 @@ #ifndef HAVE_STRUPR +#if defined(__cplusplus) +extern "C" { +#endif char *strupr (char *str); +#if defined(__cplusplus) +} #endif +#endif #if !defined (_MSC_VER) && !defined (HAVE_READDIR_R) # include <dirent.h> +#if defined(__cplusplus) +extern "C" { +#endif int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); +#if defined(__cplusplus) +} #endif +#endif // Directories #ifdef WIN32 @@ -161,10 +173,21 @@ #ifdef _MSC_VER # include <stdarg.h> // Defined in port.c +#if defined(__cplusplus) +extern "C" { +#endif int snprintf(char *str, size_t size, const char *format, ...); int vsnprintf(char *str, size_t size, const char *format, va_list args); +#if defined(__cplusplus) +} +#endif + #endif /* _MSC_VER */ +#if defined(__cplusplus) +extern "C" { +#endif + // setenv() #ifndef HAVE_SETENV int setenv (const char *name, const char *value, int overwrite); @@ -178,6 +201,10 @@ typedef unsigned int wint_t; #endif +#if defined(__cplusplus) +} +#endif + #if defined (_MSC_VER) || defined(__MINGW32__) # define USE_WINSOCK #endif Modified: trunk/sc2/src/types.h =================================================================== --- trunk/sc2/src/types.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/types.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -50,6 +50,10 @@ # endif /* defined(PRIxPTR) */ #endif +#if defined(__cplusplus) +extern "C" { +#endif + #if defined(__arch64__) || defined(__alpha) || defined(__x86_64) \ || defined(_M_IA64) || defined(_M_AMD64) /* 64-bit platforms */ @@ -177,4 +181,8 @@ #define UINT16_MAX 0xffff /* 65535U */ #define UINT32_MAX 0xffffffff /* 4294967295U */ +#if defined(__cplusplus) +} +#endif + #endif /* _TYPES_H */ Modified: trunk/sc2/src/uqm/battle.h =================================================================== --- trunk/sc2/src/uqm/battle.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/battle.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -26,6 +26,10 @@ #include "init.h" // For NUM_SIDES +#if defined(__cplusplus) +extern "C" { +#endif + // The callback function is called on every battle frame // with GraphicsLock held, just before the display queue // is drawn @@ -56,4 +60,8 @@ extern void BattleSong (BOOLEAN DoPlay); extern void FreeBattleSong (void); +#if defined(__cplusplus) +} +#endif + #endif /* _BATTLE_H */ Modified: trunk/sc2/src/uqm/battlecontrols.h =================================================================== --- trunk/sc2/src/uqm/battlecontrols.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/battlecontrols.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -30,6 +30,10 @@ #include "races.h" #include "libs/compiler.h" +#if defined(__cplusplus) +extern "C" { +#endif + typedef BATTLE_INPUT_STATE (*BattleFrameInputFunction) ( InputContext *context, STARSHIP *StarShipPtr); typedef BOOLEAN (*SelectShipFunction) (InputContext *context, @@ -88,6 +92,10 @@ // Call InputContext->handlers->freeContext() to release an // InputContext. +#if defined(__cplusplus) +} +#endif + #endif /* _BATTLECONTROLS_H */ Modified: trunk/sc2/src/uqm/build.h =================================================================== --- trunk/sc2/src/uqm/build.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/build.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -23,6 +23,10 @@ #include "displist.h" #include "libs/compiler.h" +#if defined(__cplusplus) +extern "C" { +#endif + #define NAME_OFFSET 5 #define NUM_CAPTAINS_NAMES 16 @@ -60,5 +64,9 @@ extern void free_ship (RACE_DESC *RaceDescPtr, BOOLEAN FreeIconData, BOOLEAN FreeBattleData); +#if defined(__cplusplus) +} +#endif + #endif /* _BUILD_H */ Modified: trunk/sc2/src/uqm/clock.h =================================================================== --- trunk/sc2/src/uqm/clock.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/clock.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -22,7 +22,11 @@ #include "libs/tasklib.h" #include "displist.h" +#if defined(__cplusplus) +extern "C" { +#endif + #define START_YEAR 2155 #define UPDATE_DAY (1 << 0) @@ -100,5 +104,9 @@ // but not much else extern BOOLEAN GameClockRunning (void); +#if defined(__cplusplus) +} +#endif + #endif /* _CLOCK_H */ Modified: trunk/sc2/src/uqm/cnctdlg.h =================================================================== --- trunk/sc2/src/uqm/cnctdlg.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/cnctdlg.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -16,16 +16,23 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#ifdef NETPLAY - #ifndef _CNCTDLG_H #define _CNCTDLG_H +#ifdef NETPLAY + #include "libs/compiler.h" +#if defined(__cplusplus) +extern "C" { +#endif + BOOLEAN MeleeConnectDialog (int side); -#endif /* _CNCTDLG_H */ +#if defined(__cplusplus) +} +#endif #endif /* NETPLAY */ +#endif /* _CNCTDLG_H */ Modified: trunk/sc2/src/uqm/coderes.h =================================================================== --- trunk/sc2/src/uqm/coderes.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/coderes.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -21,6 +21,10 @@ #include "libs/reslib.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern BOOLEAN InstallCodeResType (void); extern void *LoadCodeResInstance (RESOURCE res); extern void *CaptureCodeRes (void *hCode, void *pData, void **ppLocData); @@ -32,5 +36,9 @@ UWORD size; } CODE_REF; +#if defined(__cplusplus) +} +#endif + #endif /* _CODERES_H */ Modified: trunk/sc2/src/uqm/collide.h =================================================================== --- trunk/sc2/src/uqm/collide.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/collide.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -21,6 +21,10 @@ #include "element.h" +#if defined(__cplusplus) +extern "C" { +#endif + #define COLLISION_TURN_WAIT 1 #define COLLISION_THRUST_WAIT 3 @@ -59,5 +63,9 @@ extern void collide (ELEMENT *ElementPtr0, ELEMENT *ElementPtr1); +#if defined(__cplusplus) +} +#endif + #endif /* _COLLIDE_H */ Modified: trunk/sc2/src/uqm/comm.h =================================================================== --- trunk/sc2/src/uqm/comm.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/comm.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -31,6 +31,10 @@ #include "commanim.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern LOCDATA CommData; static inline BOOLEAN @@ -131,6 +135,10 @@ extern void EnableTalkingAnim (BOOLEAN enable); +#if defined(__cplusplus) +} +#endif + #endif /* _COMM_H */ Modified: trunk/sc2/src/uqm/commanim.h =================================================================== --- trunk/sc2/src/uqm/commanim.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/commanim.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -20,6 +20,10 @@ #include "libs/compiler.h" #include "libs/gfxlib.h" +#if defined(__cplusplus) +extern "C" { +#endif + // Some background: every animation has a neutral frame which returns // the image to the state it was in before the animation began. Which // frame is neutral depends on the animation type. @@ -130,6 +134,10 @@ extern void InitCommAnimations (void); extern BOOLEAN ProcessCommAnimations (BOOLEAN fullRedraw, BOOLEAN paused); +#if defined(__cplusplus) +} +#endif + #endif /* _COMMANIM_H */ Modified: trunk/sc2/src/uqm/commglue.h =================================================================== --- trunk/sc2/src/uqm/commglue.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/commglue.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -23,6 +23,10 @@ #include "resinst.h" #include "libs/sound/trackplayer.h" +#if defined(__cplusplus) +extern "C" { +#endif + typedef enum { ARILOU_CONVERSATION, CHMMR_CONVERSATION, @@ -154,5 +158,9 @@ extern LOCDATA* init_umgah_comm (void); +#if defined(__cplusplus) +} +#endif + #endif /* _COMMGLUE_H */ Modified: trunk/sc2/src/uqm/cons_res.h =================================================================== --- trunk/sc2/src/uqm/cons_res.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/cons_res.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -20,6 +20,10 @@ #include "libs/gfxlib.h" #include "libs/sndlib.h" +#if defined(__cplusplus) +extern "C" { +#endif + void load_gravity_well (BYTE selector); void free_gravity_well (void); @@ -27,4 +31,8 @@ MUSIC_REF load_orbit_theme (BYTE selector); +#if defined(__cplusplus) +} +#endif + #endif /* CONS_RES_H_ */ Modified: trunk/sc2/src/uqm/controls.h =================================================================== --- trunk/sc2/src/uqm/controls.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/controls.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -23,6 +23,10 @@ #include "libs/strlib.h" #include "libs/timelib.h" +#if defined(__cplusplus) +extern "C" { +#endif + // Enumerated type for controls enum { KEY_UP, @@ -162,6 +166,10 @@ extern BOOLEAN DoTextEntry (TEXTENTRY_STATE *pTES); +#if defined(__cplusplus) +} #endif +#endif + Modified: trunk/sc2/src/uqm/credits.h =================================================================== --- trunk/sc2/src/uqm/credits.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/credits.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -19,7 +19,15 @@ #include "libs/compiler.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern void Credits (BOOLEAN WithOuttakes); +#if defined(__cplusplus) +} +#endif + #endif /* _CREDITS_H */ Modified: trunk/sc2/src/uqm/demo.h =================================================================== --- trunk/sc2/src/uqm/demo.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/demo.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -19,6 +19,10 @@ #ifndef _DEMO_H #define _DEMO_H +#if defined(__cplusplus) +extern "C" { +#endif + #ifndef DEMO_MODE #define DEMO_MODE 0 #endif /* DEMO_MODE */ @@ -44,5 +48,9 @@ #endif +#if defined(__cplusplus) +} +#endif + #endif /* _DEMO_H */ Modified: trunk/sc2/src/uqm/displist.h =================================================================== --- trunk/sc2/src/uqm/displist.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/displist.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -24,6 +24,10 @@ #include "libs/compiler.h" #include "libs/memlib.h" +#if defined(__cplusplus) +extern "C" { +#endif + // Note that we MUST use the QUEUE_TABLE variant at this time, because // certain gameplay elements depend on it. Namely, the maximum number // of HyperSpace encounter globes chasing the player is defined by the @@ -120,5 +124,9 @@ extern COUNT CountLinks (QUEUE *pq); void ForAllLinks(QUEUE *pq, void (*callback)(LINK *, void *), void *arg); +#if defined(__cplusplus) +} +#endif + #endif /* _DISPLIST_H */ Modified: trunk/sc2/src/uqm/element.h =================================================================== --- trunk/sc2/src/uqm/element.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/element.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -24,7 +24,11 @@ #include "velocity.h" #include "libs/gfxlib.h" +#if defined(__cplusplus) +extern "C" { +#endif + #define NORMAL_LIFE 1 typedef HLINK HELEMENT; @@ -230,5 +234,9 @@ extern BOOLEAN CalculateGravity (ELEMENT *ElementPtr); +#if defined(__cplusplus) +} +#endif + #endif /* _ELEMENT_H */ Modified: trunk/sc2/src/uqm/encount.h =================================================================== --- trunk/sc2/src/uqm/encount.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/encount.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -30,7 +30,11 @@ #include "element.h" #include "races.h" +#if defined(__cplusplus) +extern "C" { +#endif + typedef HLINK HENCOUNTER; #define MAX_HYPER_SHIPS 7 @@ -190,5 +194,9 @@ extern SIZE EncounterRace; extern BYTE EncounterGroup; +#if defined(__cplusplus) +} +#endif + #endif /* _ENCOUNT_H */ Modified: trunk/sc2/src/uqm/flash.h =================================================================== --- trunk/sc2/src/uqm/flash.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/flash.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -90,6 +90,10 @@ #include "libs/gfxlib.h" #include "libs/timelib.h" +#if defined(__cplusplus) +extern "C" { +#endif + typedef enum { FlashState_fadeIn = 0, // Someway between on and off, going towards on. @@ -211,5 +215,9 @@ COUNT Flash_getCacheSize (const FlashContext *context); +#if defined(__cplusplus) +} +#endif + #endif /* _FLASH_H */ Modified: trunk/sc2/src/uqm/fmv.h =================================================================== --- trunk/sc2/src/uqm/fmv.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/fmv.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -20,6 +20,11 @@ #include "libs/compiler.h" #include "libs/sndlib.h" #include "libs/gfxlib.h" + +#if defined(__cplusplus) +extern "C" { +#endif + #define WANT_SHIP_SPINS extern void SplashScreen (void (* DoProcessing)(DWORD TimeOut)); @@ -29,5 +34,9 @@ extern BOOLEAN ShowPresentation (RESOURCE presentation); +#if defined(__cplusplus) +} +#endif + #endif /* _FMV_H */ Modified: trunk/sc2/src/uqm/gameev.h =================================================================== --- trunk/sc2/src/uqm/gameev.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/gameev.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -20,7 +20,11 @@ #include "libs/compiler.h" #include "libs/gfxlib.h" +#if defined(__cplusplus) +extern "C" { +#endif + enum { ARILOU_ENTRANCE_EVENT = 0, @@ -57,5 +61,9 @@ BYTE func_index); +#if defined(__cplusplus) +} +#endif + #endif /* _GAMEEV_H */ Modified: trunk/sc2/src/uqm/gameopt.h =================================================================== --- trunk/sc2/src/uqm/gameopt.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/gameopt.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -19,11 +19,19 @@ #include "libs/compiler.h" #include "libs/gfxlib.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern void ConfirmSaveLoad (STAMP *MsgStamp); extern BOOLEAN GameOptions (void); typedef void (NamingCallback) (void); extern void SetNamingCallback (NamingCallback *); +#if defined(__cplusplus) +} +#endif + #endif /* _GAMEOPT_H */ Modified: trunk/sc2/src/uqm/gamestr.h =================================================================== --- trunk/sc2/src/uqm/gamestr.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/gamestr.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -25,6 +25,10 @@ #include "libs/strlib.h" +#if defined(__cplusplus) +extern "C" { +#endif + #define STAR_STRING_COUNT 133 #define DEVICE_STRING_COUNT 29 #define CARGO_STRING_COUNT 10 @@ -82,5 +86,9 @@ +#if defined(__cplusplus) +} +#endif + #endif /* _GAMESTR_H */ Modified: trunk/sc2/src/uqm/gendef.h =================================================================== --- trunk/sc2/src/uqm/gendef.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/gendef.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -4,7 +4,15 @@ #include "planets/generate.h" #include "libs/compiler.h" +#if defined(__cplusplus) +extern "C" { +#endif + const GenerateFunctions *getGenerateFunctions (BYTE Index); +#if defined(__cplusplus) +} +#endif + #endif /* GENDEF_H */ Modified: trunk/sc2/src/uqm/globdata.h =================================================================== --- trunk/sc2/src/uqm/globdata.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/globdata.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -27,7 +27,11 @@ #include "velocity.h" #include "commanim.h" +#if defined(__cplusplus) +extern "C" { +#endif + // general numbers-speech generator info // should accomodate most common base-10 languages // many languages require various plural forms @@ -1010,5 +1014,9 @@ extern BOOLEAN InitGameStructures (void); extern void UninitGameStructures (void); +#if defined(__cplusplus) +} +#endif + #endif /* _GLOBDATA_H */ Modified: trunk/sc2/src/uqm/grpinfo.h =================================================================== --- trunk/sc2/src/uqm/grpinfo.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/grpinfo.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -24,6 +24,10 @@ // for POINT #include <assert.h> +#if defined(__cplusplus) +extern "C" { +#endif + // XXX: Needed to maintain savegame compatibility #define NUM_SAVED_BATTLE_GROUPS 64 @@ -82,4 +86,8 @@ extern HIPGROUP BuildGroup (QUEUE *pDstQueue, BYTE race_id); +#if defined(__cplusplus) +} +#endif + #endif /* _GRPINFO_H */ Modified: trunk/sc2/src/uqm/hyper.h =================================================================== --- trunk/sc2/src/uqm/hyper.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/hyper.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -23,6 +23,10 @@ #include "units.h" // for UNIT_SCREEN_WIDTH/HEIGHT +#if defined(__cplusplus) +extern "C" { +#endif + #define NUM_RADAR_SCREENS 12 #define RADAR_SCAN_WIDTH (UNIT_SCREEN_WIDTH * NUM_RADAR_SCREENS) @@ -79,5 +83,9 @@ extern void HyperspaceMenu (void); extern void SaveSisHyperState (void); +#if defined(__cplusplus) +} +#endif + #endif /* _HYPER_H */ Modified: trunk/sc2/src/uqm/init.h =================================================================== --- trunk/sc2/src/uqm/init.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/init.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -20,6 +20,10 @@ #include "libs/gfxlib.h" #include "libs/reslib.h" +#if defined(__cplusplus) +extern "C" { +#endif + #define NUM_PLAYERS 2 #define NUM_SIDES 2 @@ -35,5 +39,9 @@ RESOURCE med_res, RESOURCE sml_res); extern BOOLEAN free_image (FRAME *pixarray); +#if defined(__cplusplus) +} +#endif + #endif /* _INIT_H */ Modified: trunk/sc2/src/uqm/intel.h =================================================================== --- trunk/sc2/src/uqm/intel.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/intel.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -24,6 +24,10 @@ #include "element.h" #include "races.h" +#if defined(__cplusplus) +extern "C" { +#endif + #define MANEUVERABILITY(pi) ((pi)->ManeuverabilityIndex) #define WEAPON_RANGE(pi) ((pi)->WeaponRange) @@ -74,6 +78,10 @@ #define AWESOME_RATING (BYTE)(1 << 6) +#if defined(__cplusplus) +} +#endif + #endif /* _INTEL_H */ Modified: trunk/sc2/src/uqm/ipdisp.h =================================================================== --- trunk/sc2/src/uqm/ipdisp.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/ipdisp.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -19,6 +19,10 @@ #include "libs/compiler.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern void NotifyOthers (COUNT which_race, BYTE target_loc); // Special target locations for NotifyOthers() #define IPNL_INTERCEPT_PLAYER 0 @@ -26,4 +30,8 @@ extern void DoMissions (void); +#if defined(__cplusplus) +} +#endif + #endif /* UQM_IPDISP_H_INCL_ */ Modified: trunk/sc2/src/uqm/load.h =================================================================== --- trunk/sc2/src/uqm/load.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/load.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -22,10 +22,18 @@ #include "libs/compiler.h" #include "globdata.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern ACTIVITY NextActivity; extern BOOLEAN LoadGame (COUNT which_game, SUMMARY_DESC *summary_desc); +#if defined(__cplusplus) +} +#endif + #endif /* _LOAD_H */ Modified: trunk/sc2/src/uqm/master.h =================================================================== --- trunk/sc2/src/uqm/master.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/master.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -20,6 +20,10 @@ #include "races.h" #include "libs/compiler.h" +#if defined(__cplusplus) +extern "C" { +#endif + typedef HLINK HMASTERSHIP; typedef struct @@ -58,5 +62,9 @@ FRAME GetShipIconsFromIndex (unsigned Index); FRAME GetShipMeleeIconsFromIndex (unsigned Index); +#if defined(__cplusplus) +} +#endif + #endif /* _MASTER_H */ Modified: trunk/sc2/src/uqm/menustat.h =================================================================== --- trunk/sc2/src/uqm/menustat.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/menustat.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -23,6 +23,10 @@ #include "libs/sndlib.h" #include "flash.h" +#if defined(__cplusplus) +extern "C" { +#endif + typedef struct menu_state { // Standard field required by DoInput() @@ -120,5 +124,9 @@ extern BOOLEAN DoMenuChooser (MENU_STATE *pMS, BYTE BaseState); extern void DrawMenuStateStrings (BYTE beg_index, SWORD NewState); +#if defined(__cplusplus) +} +#endif + #endif /* _MENUSTAT_H */ Modified: trunk/sc2/src/uqm/oscill.h =================================================================== --- trunk/sc2/src/uqm/oscill.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/oscill.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -20,6 +20,10 @@ #include "libs/compiler.h" #include "libs/gfxlib.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern BOOLEAN sliderDisabled; extern BOOLEAN oscillDisabled; @@ -32,5 +36,9 @@ extern void SetSliderImage (FRAME f); void DrawSlider (void); +#if defined(__cplusplus) +} +#endif + #endif /* _OSCILL_H */ Modified: trunk/sc2/src/uqm/pickship.h =================================================================== --- trunk/sc2/src/uqm/pickship.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/pickship.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -20,8 +20,16 @@ #include "libs/compiler.h" #include "races.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern HSTARSHIP GetEncounterStarShip (STARSHIP *LastStarShipPtr, COUNT which_player); extern void DrawArmadaPickShip (BOOLEAN draw_salvage_frame, RECT *pPickRect); +#if defined(__cplusplus) +} +#endif + #endif /* UQM_PICKSHIP_H_INCL_ */ Modified: trunk/sc2/src/uqm/planets/elemdata.h =================================================================== --- trunk/sc2/src/uqm/planets/elemdata.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/planets/elemdata.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -21,6 +21,9 @@ #include "libs/compiler.h" +#if defined(__cplusplus) +extern "C" { +#endif /*------------------------------ Type Defines ----------------------------- */ enum @@ -205,5 +208,9 @@ extern const BYTE *Elements; +#if defined(__cplusplus) +} +#endif + #endif /* _ELEMDATA_H */ Modified: trunk/sc2/src/uqm/planets/generate/gendefault.h =================================================================== --- trunk/sc2/src/uqm/planets/generate/gendefault.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/planets/generate/gendefault.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -21,6 +21,10 @@ #include "../planets.h" #include "libs/compiler.h" +#if defined(__cplusplus) +extern "C" { +#endif + bool GenerateDefault_initNpcs (SOLARSYS_STATE *solarSys); bool GenerateDefault_reinitNpcs (SOLARSYS_STATE *solarSys); bool GenerateDefault_uninitNpcs (SOLARSYS_STATE *solarSys); @@ -52,5 +56,9 @@ extern const GenerateFunctions generateDefaultFunctions; +#if defined(__cplusplus) +} +#endif + #endif /* GENDEFAULT_H */ Modified: trunk/sc2/src/uqm/planets/generate.h =================================================================== --- trunk/sc2/src/uqm/planets/generate.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/planets/generate.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -23,6 +23,10 @@ #include "planets.h" #include "libs/compiler.h" +#if defined(__cplusplus) +extern "C" { +#endif + /* * To do (for further cleanups): * - split off generateOrbital in a calculation and an activation @@ -98,6 +102,9 @@ PickupLifeFunction pickupLife; }; +#if defined(__cplusplus) +} +#endif #endif /* GENERATE_H */ Modified: trunk/sc2/src/uqm/planets/lander.h =================================================================== --- trunk/sc2/src/uqm/planets/lander.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/planets/lander.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -26,6 +26,9 @@ #include "libs/timelib.h" #include "../element.h" +#if defined(__cplusplus) +extern "C" { +#endif // Surface magnification shift (x4) #define MAG_SHIFT 2 @@ -76,5 +79,9 @@ PS_NON_PLAYER, }; +#if defined(__cplusplus) +} +#endif + #endif /* _LANDER_H */ Modified: trunk/sc2/src/uqm/planets/lifeform.h =================================================================== --- trunk/sc2/src/uqm/planets/lifeform.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/planets/lifeform.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -21,6 +21,9 @@ #include "libs/compiler.h" +#if defined(__cplusplus) +extern "C" { +#endif #define BEHAVIOR_HUNT (0 << 0) #define BEHAVIOR_FLEE (1 << 0) @@ -65,5 +68,9 @@ extern const LIFEFORM_DESC CreatureData[]; +#if defined(__cplusplus) +} +#endif + #endif /* _LIFEFORM_H */ Modified: trunk/sc2/src/uqm/planets/plandata.h =================================================================== --- trunk/sc2/src/uqm/planets/plandata.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/planets/plandata.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -21,6 +21,9 @@ #include "libs/reslib.h" +#if defined(__cplusplus) +extern "C" { +#endif /*------------------------------ Type Defines ----------------------------- */ #define NUMBER_OF_ORBITS 16 @@ -328,5 +331,9 @@ extern const PlanetFrame *PlanData; +#if defined(__cplusplus) +} +#endif + #endif /* _PLANDATA_H */ Modified: trunk/sc2/src/uqm/planets/planets.h =================================================================== --- trunk/sc2/src/uqm/planets/planets.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/planets/planets.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -99,6 +99,9 @@ #include "plandata.h" #include "sundata.h" +#if defined(__cplusplus) +extern "C" { +#endif struct planet_desc { @@ -286,5 +289,9 @@ extern void PlanetOrbitMenu (void); extern void SaveSolarSysLocation (void); +#if defined(__cplusplus) +} +#endif + #endif /* _PLANETS_H */ Modified: trunk/sc2/src/uqm/planets/scan.h =================================================================== --- trunk/sc2/src/uqm/planets/scan.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/planets/scan.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -26,6 +26,9 @@ #include "libs/gfxlib.h" #include "planets.h" +#if defined(__cplusplus) +extern "C" { +#endif struct scan_desc { @@ -62,5 +65,9 @@ void setNodeRetrieved (PLANET_INFO *planetInfo, BYTE scanType, BYTE nodeNr); void setNodeNotRetrieved (PLANET_INFO *planetInfo, BYTE scanType, BYTE nodeNr); +#if defined(__cplusplus) +} +#endif + #endif /* _SCAN_H */ Modified: trunk/sc2/src/uqm/planets/sundata.h =================================================================== --- trunk/sc2/src/uqm/planets/sundata.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/planets/sundata.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -22,6 +22,9 @@ #include "plandata.h" #include "libs/compiler.h" +#if defined(__cplusplus) +extern "C" { +#endif /*------------------------------ Global Data ------------------------------ */ @@ -58,5 +61,9 @@ extern SYSTEM_INFO CurSysInfo; +#if defined(__cplusplus) +} +#endif + #endif /* _SUNDATA_H */ Modified: trunk/sc2/src/uqm/process.h =================================================================== --- trunk/sc2/src/uqm/process.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/process.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -21,9 +21,17 @@ #include "libs/gfxlib.h" #include "element.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern void RedrawQueue (BOOLEAN clear); extern void InitDisplayList (void); extern void SetUpElement (ELEMENT *ElementPtr); extern void InsertPrim (PRIM_LINKS *pLinks, COUNT primIndex, COUNT iPI); +#if defined(__cplusplus) +} +#endif + #endif /* UQM_PROCESS_H_INCL_ */ Modified: trunk/sc2/src/uqm/races.h =================================================================== --- trunk/sc2/src/uqm/races.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/races.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -31,7 +31,11 @@ #include "libs/sndlib.h" #include "libs/reslib.h" +#if defined(__cplusplus) +extern "C" { +#endif + // TODO: remove RACES_PER_PLAYER remnant of SC1 #define RACES_PER_PLAYER 7 #define MAX_SHIPS_PER_SIDE 14 @@ -664,5 +668,9 @@ BUILD_COLOR (MAKE_RGB15_INIT (0x06, 0x06, 0x06), 0x20), /* BLACK_URQUAN_SHIP */ \ BUILD_COLOR (MAKE_RGB15_INIT (0x14, 0x07, 0x1F), 0x39), /* YEHAT_REBEL_SHIP */ +#if defined(__cplusplus) +} +#endif + #endif /* _RACES_H */ Modified: trunk/sc2/src/uqm/restart.h =================================================================== --- trunk/sc2/src/uqm/restart.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/restart.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -19,8 +19,16 @@ #include "libs/compiler.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern BOOLEAN StartGame (void); +#if defined(__cplusplus) +} +#endif + #endif /* _RESTART_H */ Modified: trunk/sc2/src/uqm/save.h =================================================================== --- trunk/sc2/src/uqm/save.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/save.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -21,8 +21,16 @@ // for SUMMARY_DESC #include "libs/compiler.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern void SaveProblem (void); extern BOOLEAN SaveGame (COUNT which_game, SUMMARY_DESC *summary_desc); +#if defined(__cplusplus) +} +#endif + #endif /* _SAVE_H */ Modified: trunk/sc2/src/uqm/settings.h =================================================================== --- trunk/sc2/src/uqm/settings.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/settings.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -19,6 +19,10 @@ #include "libs/sndlib.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern void ToggleMusic (void); extern void StopMusic (void); extern void ResumeMusic (void); @@ -30,5 +34,9 @@ void *PositionalObject, BYTE Priority); +#if defined(__cplusplus) +} +#endif + #endif /* _SETTINGS_H */ Modified: trunk/sc2/src/uqm/setup.h =================================================================== --- trunk/sc2/src/uqm/setup.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/setup.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -24,6 +24,10 @@ #include "libs/gfxlib.h" #include "libs/threadlib.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern RESOURCE_INDEX hResIndex; extern FRAME Screen; @@ -79,6 +83,10 @@ void ClearPlayerInputAll (void); +#if defined(__cplusplus) +} +#endif + #endif /* _SETUP_H */ Modified: trunk/sc2/src/uqm/setupmenu.h =================================================================== --- trunk/sc2/src/uqm/setupmenu.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/setupmenu.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -21,6 +21,10 @@ #include "controls.h" +#if defined(__cplusplus) +extern "C" { +#endif + typedef enum { OPTVAL_DISABLED, OPTVAL_ENABLED @@ -88,4 +92,8 @@ void GetGlobalOptions (GLOBALOPTS *opts); void SetGlobalOptions (GLOBALOPTS *opts); +#if defined(__cplusplus) +} +#endif + #endif // _SETUPMENU_H Modified: trunk/sc2/src/uqm/ship.h =================================================================== --- trunk/sc2/src/uqm/ship.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/ship.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -21,6 +21,10 @@ #include "races.h" #include "element.h" +#if defined(__cplusplus) +extern "C" { +#endif + extern BOOLEAN GetNextStarShip (STARSHIP *LastStarShipPtr, COUNT which_side); extern BOOLEAN GetInitialStarShips (void); @@ -32,4 +36,8 @@ extern STATUS_FLAGS inertial_thrust (ELEMENT *ElementPtr); +#if defined(__cplusplus) +} +#endif + #endif /* UQM_SHIP_H_INCL_ */ Modified: trunk/sc2/src/uqm/shipcont.h =================================================================== --- trunk/sc2/src/uqm/shipcont.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/shipcont.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -21,6 +21,10 @@ #include "menustat.h" +#if defined(__cplusplus) +extern "C" { +#endif + #define FIELD_WIDTH (STATUS_WIDTH - 5) extern void CargoMenu (void); @@ -33,5 +37,9 @@ extern SIZE InventoryDevices (BYTE *pDeviceMap, COUNT Size); +#if defined(__cplusplus) +} +#endif + #endif /* _SHIPCONT_H */ Modified: trunk/sc2/src/uqm/ships/androsyn/androsyn.h =================================================================== --- trunk/sc2/src/uqm/ships/androsyn/androsyn.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/ships/androsyn/androsyn.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -17,7 +17,15 @@ #ifndef ANDROSYN_H #define ANDROSYN_H +#if defined(__cplusplus) +extern "C" { +#endif + RACE_DESC *init_androsynth (void); +#if defined(__cplusplus) +} +#endif + #endif /* ANDROSYN_H */ Modified: trunk/sc2/src/uqm/ships/arilou/arilou.h =================================================================== --- trunk/sc2/src/uqm/ships/arilou/arilou.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/ships/arilou/arilou.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -17,7 +17,15 @@ #ifndef ARILOU_H #define ARILOU_H +#if defined(__cplusplus) +extern "C" { +#endif + RACE_DESC *init_arilou (void); +#if defined(__cplusplus) +} +#endif + #endif /* ARILOU_H */ Modified: trunk/sc2/src/uqm/ships/blackurq/blackurq.h =================================================================== --- trunk/sc2/src/uqm/ships/blackurq/blackurq.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/ships/blackurq/blackurq.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -17,7 +17,15 @@ #ifndef BLACKURQ_H #define BLACKURQ_H +#if defined(__cplusplus) +extern "C" { +#endif + RACE_DESC *init_black_urquan (void); +#if defined(__cplusplus) +} +#endif + #endif /* BLACKURQ_H */ Modified: trunk/sc2/src/uqm/ships/chenjesu/chenjesu.h =================================================================== --- trunk/sc2/src/uqm/ships/chenjesu/chenjesu.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/ships/chenjesu/chenjesu.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -17,7 +17,15 @@ #ifndef CHENJESU_H #define CHENJESU_H +#if defined(__cplusplus) +extern "C" { +#endif + RACE_DESC *init_chenjesu (void); +#if defined(__cplusplus) +} +#endif + #endif /* CHENJESU_H */ Modified: trunk/sc2/src/uqm/ships/chmmr/chmmr.h =================================================================== --- trunk/sc2/src/uqm/ships/chmmr/chmmr.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/ships/chmmr/chmmr.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -17,7 +17,15 @@ #ifndef CHMMR_H #define CHMMR_H +#if defined(__cplusplus) +extern "C" { +#endif + RACE_DESC *init_chmmr (void); +#if defined(__cplusplus) +} +#endif + #endif /* CHMMR_H */ Modified: trunk/sc2/src/uqm/ships/druuge/druuge.h =================================================================== --- trunk/sc2/src/uqm/ships/druuge/druuge.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/ships/druuge/druuge.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -17,7 +17,15 @@ #ifndef DRUUGE_H #define DRUUGE_H +#if defined(__cplusplus) +extern "C" { +#endif + RACE_DESC *init_druuge (void); +#if defined(__cplusplus) +} +#endif + #endif /* DRUUGE_H */ Modified: trunk/sc2/src/uqm/ships/human/human.h =================================================================== --- trunk/sc2/src/uqm/ships/human/human.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/ships/human/human.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -17,7 +17,15 @@ #ifndef HUMAN_H #define HUMAN_H +#if defined(__cplusplus) +extern "C" { +#endif + RACE_DESC *init_human (void); +#if defined(__cplusplus) +} +#endif + #endif /* HUMAN_H */ Modified: trunk/sc2/src/uqm/ships/ilwrath/ilwrath.h =================================================================== --- trunk/sc2/src/uqm/ships/ilwrath/ilwrath.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/ships/ilwrath/ilwrath.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -17,7 +17,15 @@ #ifndef ILWRATH_H #define ILWRATH_H +#if defined(__cplusplus) +extern "C" { +#endif + RACE_DESC *init_ilwrath (void); +#if defined(__cplusplus) +} +#endif + #endif /* ILWRATH_H */ Modified: trunk/sc2/src/uqm/ships/lastbat/lastbat.h =================================================================== --- trunk/sc2/src/uqm/ships/lastbat/lastbat.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/ships/lastbat/lastbat.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -17,7 +17,15 @@ #ifndef LASTBAT_H #define LASTBAT_H +#if defined(__cplusplus) +extern "C" { +#endif + RACE_DESC *init_samatra (void); +#if defined(__cplusplus) +} +#endif + #endif /* LASTBAT_H */ Modified: trunk/sc2/src/uqm/ships/melnorme/melnorme.h =================================================================== --- trunk/sc2/src/uqm/ships/melnorme/melnorme.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/ships/melnorme/melnorme.h 2011-07-24 19:58:25 UTC (rev 3663) @@ -17,7 +17,15 @@ #ifndef MELNORME_H #define MELNORME_H +#if defined(__cplusplus) +extern "C" { +#endif + RACE_DESC *init_melnorme (void); +#if defined(__cplusplus) +} +#endif + #endif /* MELNORME_H */ Modified: trunk/sc2/src/uqm/ships/mmrnmhrm/mmrnmhrm.h =================================================================== --- trunk/sc2/src/uqm/ships/mmrnmhrm/mmrnmhrm.h 2011-07-24 19:03:42 UTC (rev 3662) +++ trunk/sc2/src/uqm/ships/mmrnmhrm/mmrnmhrm.h 2011-07-24 19:58:25 UTC ... [truncated message content] |
From: <av...@us...> - 2011-07-26 20:31:05
|
Revision: 3664 http://sc2.svn.sourceforge.net/sc2/?rev=3664&view=rev Author: avolkov Date: 2011-07-26 20:30:58 +0000 (Tue, 26 Jul 2011) Log Message: ----------- Refactoring of ship_death() code: Pkunk/Shofixti exception hacks removed (but not MAX_SHIP_MASS+1); both now have own death_func(); Pkunk ditty plays after a simultaneous destruction + reincarnation (bug #666); plus some comments Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/src/uqm/element.h trunk/sc2/src/uqm/planets/solarsys.c trunk/sc2/src/uqm/ship.c trunk/sc2/src/uqm/ships/androsyn/androsyn.c trunk/sc2/src/uqm/ships/mmrnmhrm/mmrnmhrm.c trunk/sc2/src/uqm/ships/pkunk/pkunk.c trunk/sc2/src/uqm/ships/shofixti/shofixti.c trunk/sc2/src/uqm/ships/sis_ship/sis_ship.c trunk/sc2/src/uqm/tactrans.c trunk/sc2/src/uqm/tactrans.h trunk/sc2/src/uqm/weapon.c Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2011-07-24 19:58:25 UTC (rev 3663) +++ trunk/sc2/ChangeLog 2011-07-26 20:30:58 UTC (rev 3664) @@ -1,4 +1,6 @@ Changes towards version 0.8: +- Fixed various Pkunk reincarnation and Shofixti Glory device interactions; + Pkunk ditty plays in a simultaneous destruction (bug #666) - Alex - Preparing for linking with C++ code, from Scott A. Colcord - Fixed player's phrase leading to Tanaka's response about a solitary vigil (bug #859) - Alex Modified: trunk/sc2/src/uqm/element.h =================================================================== --- trunk/sc2/src/uqm/element.h 2011-07-24 19:58:25 UTC (rev 3663) +++ trunk/sc2/src/uqm/element.h 2011-07-26 20:30:58 UTC (rev 3664) @@ -96,7 +96,8 @@ typedef struct element ELEMENT; -typedef void (CollisionFunc) (ELEMENT *ElementPtr0, POINT *pPt0, +typedef void (ElementProcessFunc) (ELEMENT *ElementPtr); +typedef void (ElementCollisionFunc) (ELEMENT *ElementPtr0, POINT *pPt0, ELEMENT *ElementPtr1, POINT *pPt1); // Any physical object in the simulation. @@ -105,10 +106,10 @@ // LINK elements; must be first HELEMENT pred, succ; - void (*preprocess_func) (struct element *ElementPtr); - void (*postprocess_func) (struct element *ElementPtr); - CollisionFunc *collision_func; - void (*death_func) (struct element *ElementPtr); + ElementProcessFunc *preprocess_func; + ElementProcessFunc *postprocess_func; + ElementCollisionFunc *collision_func; + ElementProcessFunc *death_func; // Player this element belongs to // -1: neutral (planets, asteroids, crew, etc.) Modified: trunk/sc2/src/uqm/planets/solarsys.c =================================================================== --- trunk/sc2/src/uqm/planets/solarsys.c 2011-07-24 19:58:25 UTC (rev 3663) +++ trunk/sc2/src/uqm/planets/solarsys.c 2011-07-26 20:30:58 UTC (rev 3664) @@ -1660,6 +1660,7 @@ RECT clipRect; FRAME frame; + // Use SpaceContext to find out the dimensions of the background oldContext = SetContext (SpaceContext); GetContextClipRect (&clipRect); Modified: trunk/sc2/src/uqm/ship.c =================================================================== --- trunk/sc2/src/uqm/ship.c 2011-07-24 19:58:25 UTC (rev 3663) +++ trunk/sc2/src/uqm/ship.c 2011-07-26 20:30:58 UTC (rev 3664) @@ -193,6 +193,9 @@ if (RDPtr->preprocess_func) (*RDPtr->preprocess_func) (ElementPtr); + // XXX: Hack: Pkunk sets hTarget!=0 when it reincarnates. In that + // case there is no ship_transition() but a Phoenix transition + // instead. if (ElementPtr->hTarget == 0) { ship_transition (ElementPtr); Modified: trunk/sc2/src/uqm/ships/androsyn/androsyn.c =================================================================== --- trunk/sc2/src/uqm/ships/androsyn/androsyn.c 2011-07-24 19:58:25 UTC (rev 3663) +++ trunk/sc2/src/uqm/ships/androsyn/androsyn.c 2011-07-26 20:30:58 UTC (rev 3664) @@ -426,7 +426,7 @@ StarShipPtr->RaceDescPtr->characteristics.special_wait; StarShipPtr->RaceDescPtr->characteristics.energy_regeneration = ENERGY_REGENERATION; ElementPtr->mass_points = SHIP_MASS; - ElementPtr->collision_func = (CollisionFunc *) + ElementPtr->collision_func = (ElementCollisionFunc *) StarShipPtr->RaceDescPtr->data; ElementPtr->next.image.farray = StarShipPtr->RaceDescPtr->ship_data.ship; Modified: trunk/sc2/src/uqm/ships/mmrnmhrm/mmrnmhrm.c =================================================================== --- trunk/sc2/src/uqm/ships/mmrnmhrm/mmrnmhrm.c 2011-07-24 19:58:25 UTC (rev 3663) +++ trunk/sc2/src/uqm/ships/mmrnmhrm/mmrnmhrm.c 2011-07-26 20:30:58 UTC (rev 3664) @@ -452,7 +452,7 @@ init_mmrnmhrm (void) { RACE_DESC *RaceDescPtr; - + // The caller of this func will copy the struct static RACE_DESC new_mmrnmhrm_desc; CHARACTERISTIC_STUFF *otherwing_desc; Modified: trunk/sc2/src/uqm/ships/pkunk/pkunk.c =================================================================== --- trunk/sc2/src/uqm/ships/pkunk/pkunk.c 2011-07-24 19:58:25 UTC (rev 3663) +++ trunk/sc2/src/uqm/ships/pkunk/pkunk.c 2011-07-26 20:30:58 UTC (rev 3664) @@ -21,6 +21,7 @@ #include "resinst.h" #include "uqm/globdata.h" +#include "uqm/tactrans.h" #include "libs/mathlib.h" @@ -112,6 +113,16 @@ 0, /* CodeRef */ }; +// Private per-instance ship data +typedef struct +{ + HELEMENT hPhoenix; + ElementProcessFunc *saved_preprocess_func; + ElementProcessFunc *saved_postprocess_func; + ElementProcessFunc *saved_death_func; + +} PKUNK_DATA; + static void animate (ELEMENT *ElementPtr) { @@ -186,15 +197,15 @@ COUNT ConcernCounter) { STARSHIP *StarShipPtr; - HELEMENT hPhoenix; + PKUNK_DATA *PkunkData; GetElementStarShip (ShipPtr, &StarShipPtr); - hPhoenix = (HELEMENT) StarShipPtr->RaceDescPtr->data; - if (hPhoenix && (StarShipPtr->control & STANDARD_RATING)) + PkunkData = (PKUNK_DATA *) StarShipPtr->RaceDescPtr->data; + if (PkunkData->hPhoenix && (StarShipPtr->control & STANDARD_RATING)) { - RemoveElement (hPhoenix); - FreeElement (hPhoenix); - StarShipPtr->RaceDescPtr->data = 0; + RemoveElement (PkunkData->hPhoenix); + FreeElement (PkunkData->hPhoenix); + PkunkData->hPhoenix = 0; } if (StarShipPtr->RaceDescPtr->ship_info.energy_level < @@ -208,108 +219,116 @@ } static void pkunk_preprocess (ELEMENT *ElementPtr); -static void pkunk_postprocess (ELEMENT *ElementPtr); static void new_pkunk (ELEMENT *ElementPtr) { STARSHIP *StarShipPtr; + PKUNK_DATA *PkunkData; GetElementStarShip (ElementPtr, &StarShipPtr); - if (!(ElementPtr->state_flags & PLAYER_SHIP)) - { - ELEMENT *ShipPtr; + PkunkData = (PKUNK_DATA *) StarShipPtr->RaceDescPtr->data; - LockElement (StarShipPtr->hShip, &ShipPtr); - ShipPtr->death_func = new_pkunk; - UnlockElement (StarShipPtr->hShip); - } - else - { - ElementPtr->state_flags = APPEARING | PLAYER_SHIP | IGNORE_SIMILAR; - ElementPtr->mass_points = SHIP_MASS; - ElementPtr->preprocess_func = StarShipPtr->RaceDescPtr->preprocess_func; - ElementPtr->postprocess_func = StarShipPtr->RaceDescPtr->postprocess_func; - ElementPtr->death_func = - (void (*) (ELEMENT *ElementPtr)) - StarShipPtr->RaceDescPtr->init_weapon_func; - StarShipPtr->RaceDescPtr->preprocess_func = pkunk_preprocess; - StarShipPtr->RaceDescPtr->postprocess_func = pkunk_postprocess; - StarShipPtr->RaceDescPtr->init_weapon_func = initialize_bug_missile; - StarShipPtr->RaceDescPtr->ship_info.crew_level = MAX_CREW; - StarShipPtr->RaceDescPtr->ship_info.energy_level = MAX_ENERGY; - /* fix vux impairment */ - StarShipPtr->RaceDescPtr->characteristics.max_thrust = MAX_THRUST; - StarShipPtr->RaceDescPtr->characteristics.thrust_increment = THRUST_INCREMENT; - StarShipPtr->RaceDescPtr->characteristics.turn_wait = TURN_WAIT; - StarShipPtr->RaceDescPtr->characteristics.thrust_wait = THRUST_WAIT; - StarShipPtr->RaceDescPtr->characteristics.special_wait = 0; + ElementPtr->state_flags = APPEARING | PLAYER_SHIP | IGNORE_SIMILAR; + ElementPtr->mass_points = SHIP_MASS; + // Restore the element processing callbacks after the explosion. + // The callbacks were changed for the explosion sequence + ElementPtr->preprocess_func = PkunkData->saved_preprocess_func; + ElementPtr->postprocess_func = PkunkData->saved_postprocess_func; + ElementPtr->death_func = PkunkData->saved_death_func; + // preprocess_func() is called during the phoenix transition and + // then cleared, so we need to restore it + StarShipPtr->RaceDescPtr->preprocess_func = pkunk_preprocess; + StarShipPtr->RaceDescPtr->ship_info.crew_level = MAX_CREW; + StarShipPtr->RaceDescPtr->ship_info.energy_level = MAX_ENERGY; + /* fix vux impairment */ + StarShipPtr->RaceDescPtr->characteristics.max_thrust = MAX_THRUST; + StarShipPtr->RaceDescPtr->characteristics.thrust_increment = THRUST_INCREMENT; + StarShipPtr->RaceDescPtr->characteristics.turn_wait = TURN_WAIT; + StarShipPtr->RaceDescPtr->characteristics.thrust_wait = THRUST_WAIT; + StarShipPtr->RaceDescPtr->characteristics.special_wait = 0; - StarShipPtr->ship_input_state = 0; - StarShipPtr->cur_status_flags = 0; - StarShipPtr->old_status_flags = 0; - StarShipPtr->energy_counter = 0; - StarShipPtr->weapon_counter = 0; - StarShipPtr->special_counter = 0; - ElementPtr->crew_level = 0; - ElementPtr->turn_wait = 0; - ElementPtr->thrust_wait = 0; - ElementPtr->life_span = NORMAL_LIFE; + StarShipPtr->ship_input_state = 0; + // Pkunk wins in a simultaneous destruction if it reincarnates + StarShipPtr->cur_status_flags &= PLAY_VICTORY_DITTY; + StarShipPtr->old_status_flags = 0; + StarShipPtr->energy_counter = 0; + StarShipPtr->weapon_counter = 0; + StarShipPtr->special_counter = 0; + ElementPtr->crew_level = 0; + ElementPtr->turn_wait = 0; + ElementPtr->thrust_wait = 0; + ElementPtr->life_span = NORMAL_LIFE; - StarShipPtr->ShipFacing = NORMALIZE_FACING (TFB_Random ()); - ElementPtr->current.image.farray = StarShipPtr->RaceDescPtr->ship_data.ship; - ElementPtr->current.image.frame = - SetAbsFrameIndex (StarShipPtr->RaceDescPtr->ship_data.ship[0], - StarShipPtr->ShipFacing); - SetPrimType (&(GLOBAL (DisplayArray))[ - ElementPtr->PrimIndex - ], STAMP_PRIM); + StarShipPtr->ShipFacing = NORMALIZE_FACING (TFB_Random ()); + ElementPtr->current.image.farray = StarShipPtr->RaceDescPtr->ship_data.ship; + ElementPtr->current.image.frame = SetAbsFrameIndex ( + StarShipPtr->RaceDescPtr->ship_data.ship[0], + StarShipPtr->ShipFacing); + SetPrimType (&(GLOBAL (DisplayArray))[ElementPtr->PrimIndex], STAMP_PRIM); - do - { - ElementPtr->current.location.x = - WRAP_X (DISPLAY_ALIGN_X (TFB_Random ())); - ElementPtr->current.location.y = - WRAP_Y (DISPLAY_ALIGN_Y (TFB_Random ())); - } while (CalculateGravity (ElementPtr) - || TimeSpaceMatterConflict (ElementPtr)); + do + { + ElementPtr->current.location.x = + WRAP_X (DISPLAY_ALIGN_X (TFB_Random ())); + ElementPtr->current.location.y = + WRAP_Y (DISPLAY_ALIGN_Y (TFB_Random ())); + } while (CalculateGravity (ElementPtr) + || TimeSpaceMatterConflict (ElementPtr)); - ElementPtr->hTarget = StarShipPtr->hShip; - } + // XXX: Hack: Set hTarget!=0 so that ship_preprocess() does not + // call ship_transition() for us. + ElementPtr->hTarget = StarShipPtr->hShip; } +// This function is called when the ship dies but reincarnates. +// The generic ship_death() function is not called for the ship in this case. static void +pkunk_reincarnation_death (ELEMENT *ShipPtr) +{ + // Simulate ship death + StopAllBattleMusic (); + StartShipExplosion (ShipPtr, true); + // Once the explosion ends, we will get a brand new ship + ShipPtr->death_func = new_pkunk; +} + +static void intercept_pkunk_death (ELEMENT *ElementPtr) { STARSHIP *StarShipPtr; + PKUNK_DATA *PkunkData; + ELEMENT *ShipPtr; - ElementPtr->state_flags &= ~DISAPPEARING; - ElementPtr->life_span = 1; + GetElementStarShip (ElementPtr, &StarShipPtr); + PkunkData = (PKUNK_DATA *) StarShipPtr->RaceDescPtr->data; + + if (StarShipPtr->RaceDescPtr->ship_info.crew_level != 0) + { // Ship not dead yet. + // Keep the Phoenix element alive. + ElementPtr->state_flags &= ~DISAPPEARING; + ElementPtr->life_span = 1; + return; + } - GetElementStarShip (ElementPtr, &StarShipPtr); - if (StarShipPtr->RaceDescPtr->ship_info.crew_level == 0) + LockElement (StarShipPtr->hShip, &ShipPtr); + // GRAVITY_MASS() indicates a warp-out here. If Pkunk dies while warping + // out, there is no reincarnation. + if (!GRAVITY_MASS (ShipPtr->mass_points + 1)) { - ELEMENT *ShipPtr; + // XXX: Hack: Set mass_points to indicate a reincarnation to + // FindAliveStarShip() + ShipPtr->mass_points = MAX_SHIP_MASS + 1; + // Save the various element processing callbacks before the + // explosion happens, because we were not the ones who set + // these callbacks and they are about to be changed. + PkunkData->saved_preprocess_func = ShipPtr->preprocess_func; + PkunkData->saved_postprocess_func = ShipPtr->postprocess_func; + PkunkData->saved_death_func = ShipPtr->death_func; - LockElement (StarShipPtr->hShip, &ShipPtr); - if (GRAVITY_MASS (ShipPtr->mass_points + 1)) - { - ElementPtr->state_flags |= DISAPPEARING; - ElementPtr->life_span = 0; - } - else - { - ShipPtr->mass_points = MAX_SHIP_MASS + 1; - StarShipPtr->RaceDescPtr->preprocess_func = ShipPtr->preprocess_func; - StarShipPtr->RaceDescPtr->postprocess_func = ShipPtr->postprocess_func; - StarShipPtr->RaceDescPtr->init_weapon_func = - (COUNT (*) (ELEMENT *ElementPtr, HELEMENT Weapon[])) - ShipPtr->death_func; - - ElementPtr->death_func = new_pkunk; - } - UnlockElement (StarShipPtr->hShip); + ShipPtr->death_func = pkunk_reincarnation_death; } + UnlockElement (StarShipPtr->hShip); } #define START_PHOENIX_COLOR BUILD_COLOR (MAKE_RGB15 (0x1F, 0x15, 0x00), 0x7A) @@ -425,15 +444,22 @@ pkunk_preprocess (ELEMENT *ElementPtr) { STARSHIP *StarShipPtr; + PKUNK_DATA *PkunkData; GetElementStarShip (ElementPtr, &StarShipPtr); + PkunkData = (PKUNK_DATA *) StarShipPtr->RaceDescPtr->data; if (ElementPtr->state_flags & APPEARING) { HELEMENT hPhoenix = 0; - if ((BYTE)TFB_Random () & 1) + if (TFB_Random () & 1) hPhoenix = AllocElement (); + // The hPhoenix element is created and placed at the head of the + // queue so that it is preprocessed before any of the ships' elements + // are, and so before death_func() is called for the dead Pkunk. + // hPhoenix detects when the Pkunk ship dies and tweaks the ship, + // starting the death + reincarnation sequence. if (hPhoenix) { ELEMENT *PhoenixPtr; @@ -450,12 +476,17 @@ UnlockElement (hPhoenix); InsertElement (hPhoenix, GetHeadElement ()); } - StarShipPtr->RaceDescPtr->data = (intptr_t) hPhoenix; + PkunkData->hPhoenix = hPhoenix; + // XXX: Hack: new_pkunk() sets hTarget!=0 which indicates a + // reincarnation to us. if (ElementPtr->hTarget == 0) + { + // A brand new ship is preprocessed only once StarShipPtr->RaceDescPtr->preprocess_func = 0; + } else - { + { // Start the reincarnation sequence COUNT angle, facing; ProcessSound (SetAbsSoundIndex ( @@ -538,18 +569,32 @@ } } +static void +uninit_pkunk (RACE_DESC *pRaceDesc) +{ + HFree ((void *)pRaceDesc->data); + pRaceDesc->data = 0; +} + RACE_DESC* init_pkunk (void) { RACE_DESC *RaceDescPtr; + // The caller of this func will copy the struct + static RACE_DESC new_pkunk_desc; + pkunk_desc.uninit_func = uninit_pkunk; pkunk_desc.preprocess_func = pkunk_preprocess; pkunk_desc.postprocess_func = pkunk_postprocess; pkunk_desc.init_weapon_func = initialize_bug_missile; pkunk_desc.cyborg_control.intelligence_func = pkunk_intelligence; - RaceDescPtr = &pkunk_desc; + /* copy initial ship settings to the new descriptor */ + new_pkunk_desc = pkunk_desc; + new_pkunk_desc.data = (intptr_t) HCalloc (sizeof (PKUNK_DATA)); + RaceDescPtr = &new_pkunk_desc; + LastSound = 0; // We need to reinitialise it at least each battle, to ensure // that NetPlay is synchronised if one player played another @@ -557,4 +602,3 @@ return (RaceDescPtr); } - Modified: trunk/sc2/src/uqm/ships/shofixti/shofixti.c =================================================================== --- trunk/sc2/src/uqm/ships/shofixti/shofixti.c 2011-07-24 19:58:25 UTC (rev 3663) +++ trunk/sc2/src/uqm/ships/shofixti/shofixti.c 2011-07-26 20:30:58 UTC (rev 3664) @@ -21,6 +21,7 @@ #include "resinst.h" #include "uqm/globdata.h" +#include "uqm/tactrans.h" #include "libs/mathlib.h" @@ -212,10 +213,10 @@ PutElement (hDestruct); LockElement (hDestruct, &DestructPtr); SetElementStarShip (DestructPtr, StarShipPtr); - DestructPtr->hit_points = DestructPtr->mass_points = 0; + DestructPtr->hit_points = 0; + DestructPtr->mass_points = 0; DestructPtr->playerNr = NEUTRAL_PLAYER_NUM; DestructPtr->state_flags = APPEARING | FINITE_LIFE | NONSOLID; - DestructPtr->life_span = (NUM_EXPLOSION_FRAMES - 3) - 1; SetPrimType (&(GLOBAL (DisplayArray))[DestructPtr->PrimIndex], STAMPFILL_PRIM); SetPrimColor (&(GLOBAL (DisplayArray))[DestructPtr->PrimIndex], @@ -224,6 +225,8 @@ StarShipPtr->RaceDescPtr->ship_data.special; DestructPtr->current.image.frame = StarShipPtr->RaceDescPtr->ship_data.special[0]; + DestructPtr->life_span = GetFrameCount ( + DestructPtr->current.image.frame); DestructPtr->current.location = ElementPtr->current.location; DestructPtr->preprocess_func = destruct_preprocess; DestructPtr->postprocess_func = NULL; @@ -240,110 +243,147 @@ #define ORZ_MARINE(ptr) (ptr->preprocess_func == intruder_preprocess && \ ptr->collision_func == marine_collision) -// XXX: This function should be split into two static void -self_destruct (ELEMENT *ElementPtr) +self_destruct_kill_objects (ELEMENT *ElementPtr) { - STARSHIP *StarShipPtr; + // This is called during PostProcessQueue(), close to or at the end, + // for the temporary destruct element to apply the effects of glory + // explosion. The effects are not seen until the next frame. + HELEMENT hElement, hNextElement; - GetElementStarShip (ElementPtr, &StarShipPtr); - if (ElementPtr->state_flags & PLAYER_SHIP) + for (hElement = GetHeadElement (); hElement != 0; hElement = hNextElement) { - HELEMENT hDestruct; - - // Spawn a temporary element, which dies in this same frame, in order - // to defer the effects of the glory explosion. - // It will be the last element (or one of the last) for which the - // death_func will be called from PostProcessQueue() in this frame. - hDestruct = AllocElement (); - if (hDestruct) + ELEMENT *ObjPtr; + SIZE delta_x, delta_y; + DWORD dist; + + LockElement (hElement, &ObjPtr); + hNextElement = GetSuccElement (ObjPtr); + + if (!CollidingElement (ObjPtr) && !ORZ_MARINE (ObjPtr)) { - ELEMENT *DestructPtr; + UnlockElement (hElement); + continue; + } - LockElement (hDestruct, &DestructPtr); - DestructPtr->playerNr = ElementPtr->playerNr; - DestructPtr->state_flags = APPEARING | NONSOLID | FINITE_LIFE; - DestructPtr->next.location = ElementPtr->next.location; - DestructPtr->life_span = 0; - DestructPtr->pParent = ElementPtr->pParent; - DestructPtr->hTarget = 0; +#define DESTRUCT_RANGE 180 + delta_x = ObjPtr->next.location.x - ElementPtr->next.location.x; + if (delta_x < 0) + delta_x = -delta_x; + delta_y = ObjPtr->next.location.y - ElementPtr->next.location.y; + if (delta_y < 0) + delta_y = -delta_y; + delta_x = WORLD_TO_DISPLAY (delta_x); + delta_y = WORLD_TO_DISPLAY (delta_y); + dist = delta_x * delta_x + delta_y * delta_y; + if (delta_x <= DESTRUCT_RANGE && delta_y <= DESTRUCT_RANGE + && dist <= DESTRUCT_RANGE * DESTRUCT_RANGE) + { +#define MAX_DESTRUCTION (DESTRUCT_RANGE / 10) + int destruction = 1 + MAX_DESTRUCTION * + (DESTRUCT_RANGE - square_root (dist)) / DESTRUCT_RANGE; - DestructPtr->death_func = self_destruct; + // XXX: Why not simply call do_damage()? + if (ObjPtr->state_flags & PLAYER_SHIP) + { + if (!DeltaCrew (ObjPtr, -destruction)) + ObjPtr->life_span = 0; + } + else if (!GRAVITY_MASS (ObjPtr->mass_points)) + { + if (destruction < ObjPtr->hit_points) + ObjPtr->hit_points -= destruction; + else + { + ObjPtr->hit_points = 0; + ObjPtr->life_span = 0; + } + } + } - UnlockElement (hDestruct); + UnlockElement (hElement); + } +} - PutElement (hDestruct); +// This function is called when the ship dies via Glory Device. +// The generic ship_death() function is not called for the ship in this case. +static void +shofixti_destruct_death (ELEMENT *ShipPtr) +{ + STARSHIP *StarShip; + STARSHIP *winner; + + GetElementStarShip (ShipPtr, &StarShip); + + StopAllBattleMusic (); + + StartShipExplosion (ShipPtr, false); + // We process the explosion ourselves because it is different + ShipPtr->preprocess_func = destruct_preprocess; + + PlaySound (SetAbsSoundIndex (StarShip->RaceDescPtr->ship_data.ship_sounds, + 1), CalcSoundPosition (ShipPtr), ShipPtr, GAME_SOUND_PRIORITY + 1); + + winner = GetWinnerStarShip (); + if (winner == NULL) + { // No winner determined yet + winner = FindAliveStarShip (ShipPtr); + if (winner == NULL) + { // No ships left alive after the Glory Device thus Shofixti wins + winner = StarShip; } + SetWinnerStarShip (winner); + } + else if (winner == StarShip) + { // This ship is the winner + // It may have self-destructed before the ditty started playing, + // and in that case, there should be no ditty + StarShip->cur_status_flags &= ~PLAY_VICTORY_DITTY; + } + RecordShipDeath (ShipPtr); +} - ElementPtr->state_flags |= NONSOLID; - // The ship is now dead. It's death_func, i.e. ship_death(), will be - // called the next frame. - ElementPtr->life_span = 0; +static void +self_destruct (ELEMENT *ElementPtr) +{ + STARSHIP *StarShipPtr; + HELEMENT hDestruct; - ElementPtr->preprocess_func = destruct_preprocess; - } - else + GetElementStarShip (ElementPtr, &StarShipPtr); + + // Spawn a temporary element, which dies in this same frame, in order + // to defer the effects of the glory explosion. + // It will be the last element (or one of the last) for which the + // death_func() will be called from PostProcessQueue() in this frame. + // XXX: Why at the end? Why not just do it now? + hDestruct = AllocElement (); + if (hDestruct) { - // This is called during PostProcessQueue(), close to or at the end, - // for the temporary destruct element to apply the effects of glory - // explosion. The effects are not seen until the next frame. - HELEMENT hElement, hNextElement; + ELEMENT *DestructPtr; - for (hElement = GetHeadElement (); - hElement != 0; hElement = hNextElement) - { - ELEMENT *ObjPtr; + LockElement (hDestruct, &DestructPtr); + DestructPtr->playerNr = ElementPtr->playerNr; + DestructPtr->state_flags = APPEARING | NONSOLID | FINITE_LIFE; + DestructPtr->next.location = ElementPtr->next.location; + DestructPtr->life_span = 0; + DestructPtr->pParent = ElementPtr->pParent; + DestructPtr->hTarget = 0; - LockElement (hElement, &ObjPtr); - hNextElement = GetSuccElement (ObjPtr); + DestructPtr->death_func = self_destruct_kill_objects; - if (CollidingElement (ObjPtr) || ORZ_MARINE (ObjPtr)) - { -#define DESTRUCT_RANGE 180 - SIZE delta_x, delta_y; - DWORD dist; + UnlockElement (hDestruct); - if ((delta_x = ObjPtr->next.location.x - - ElementPtr->next.location.x) < 0) - delta_x = -delta_x; - if ((delta_y = ObjPtr->next.location.y - - ElementPtr->next.location.y) < 0) - delta_y = -delta_y; - delta_x = WORLD_TO_DISPLAY (delta_x); - delta_y = WORLD_TO_DISPLAY (delta_y); - if (delta_x <= DESTRUCT_RANGE && delta_y <= DESTRUCT_RANGE - && (dist = (DWORD)(delta_x * delta_x) - + (DWORD)(delta_y * delta_y)) <= - (DWORD)(DESTRUCT_RANGE * DESTRUCT_RANGE)) - { -#define MAX_DESTRUCTION (DESTRUCT_RANGE / 10) - SIZE destruction; + PutElement (hDestruct); + } - destruction = ((MAX_DESTRUCTION - * (DESTRUCT_RANGE - square_root (dist))) - / DESTRUCT_RANGE) + 1; + // Must kill off the remaining crew ourselves + DeltaCrew (ElementPtr, -(int)ElementPtr->crew_level); - if (ObjPtr->state_flags & PLAYER_SHIP) - { - if (!DeltaCrew (ObjPtr, -destruction)) - ObjPtr->life_span = 0; - } - else if (!GRAVITY_MASS (ObjPtr->mass_points)) - { - if ((BYTE)destruction < ObjPtr->hit_points) - ObjPtr->hit_points -= (BYTE)destruction; - else - { - ObjPtr->hit_points = 0; - ObjPtr->life_span = 0; - } - } - } - } - - UnlockElement (hElement); - } - } + ElementPtr->state_flags |= NONSOLID; + ElementPtr->life_span = 0; + // The ship is now dead. It's death_func, i.e. shofixti_destruct_death(), + // will be called the next frame. + ElementPtr->death_func = shofixti_destruct_death; } static void @@ -410,7 +450,7 @@ init_shofixti (void) { RACE_DESC *RaceDescPtr; - + // The caller of this func will copy the struct static RACE_DESC new_shofixti_desc; shofixti_desc.postprocess_func = shofixti_postprocess; Modified: trunk/sc2/src/uqm/ships/sis_ship/sis_ship.c =================================================================== --- trunk/sc2/src/uqm/ships/sis_ship/sis_ship.c 2011-07-24 19:58:25 UTC (rev 3663) +++ trunk/sc2/src/uqm/ships/sis_ship/sis_ship.c 2011-07-26 20:30:58 UTC (rev 3664) @@ -848,8 +848,8 @@ init_sis (void) { RACE_DESC *RaceDescPtr; - COUNT i; + // The caller of this func will copy the struct static RACE_DESC new_sis_desc; /* copy initial ship settings to new_sis_desc */ Modified: trunk/sc2/src/uqm/tactrans.c =================================================================== --- trunk/sc2/src/uqm/tactrans.c 2011-07-24 19:58:25 UTC (rev 3663) +++ trunk/sc2/src/uqm/tactrans.c 2011-07-26 20:30:58 UTC (rev 3664) @@ -47,6 +47,8 @@ static BOOLEAN dittyIsPlaying; static STARSHIP *winnerStarShip; + // Indicates which ship is the winner of the current battle. + // The winner will be last to pick the next ship. BOOLEAN @@ -617,38 +619,37 @@ } void -ship_death (ELEMENT *ShipPtr) +StopAllBattleMusic (void) { - STARSHIP *StarShipPtr; - STARSHIP *VictoriousStarShipPtr; - HELEMENT hElement, hNextElement; - ELEMENT *ElementPtr; - StopDitty (); StopMusic (); +} - GetElementStarShip (ShipPtr, &StarShipPtr); +STARSHIP * +FindAliveStarShip (ELEMENT *deadShip) +{ + STARSHIP *aliveShip = NULL; + HELEMENT hElement, hNextElement; - if (ShipPtr->mass_points <= MAX_SHIP_MASS) - { // Not running away and not reincarnating (Pkunk) - // When a ship tries to run away, it is (dis)counted in DoRunAway(), - // so when it dies while running away, we will not count it again - assert (StarShipPtr->playerNr >= 0); - battle_counter[StarShipPtr->playerNr]--; - } - - VictoriousStarShipPtr = NULL; + // Find the remaining ship, if any, and see if it is still alive. for (hElement = GetHeadElement (); hElement; hElement = hNextElement) { + ELEMENT *ElementPtr; + LockElement (hElement, &ElementPtr); if ((ElementPtr->state_flags & PLAYER_SHIP) - && ElementPtr != ShipPtr + && ElementPtr != deadShip /* and not running away */ - && ElementPtr->mass_points <= MAX_SHIP_MASS) + && ElementPtr->mass_points <= MAX_SHIP_MASS + 1) { - GetElementStarShip (ElementPtr, &VictoriousStarShipPtr); - if (VictoriousStarShipPtr->RaceDescPtr->ship_info.crew_level == 0) - VictoriousStarShipPtr = NULL; + GetElementStarShip (ElementPtr, &aliveShip); + assert (aliveShip != NULL); + if (aliveShip->RaceDescPtr->ship_info.crew_level == 0 + /* reincarnating Pkunk is not actually dead */ + && ElementPtr->mass_points != MAX_SHIP_MASS + 1) + { + aliveShip = NULL; + } UnlockElement (hElement); break; @@ -656,52 +657,98 @@ hNextElement = GetSuccElement (ElementPtr); UnlockElement (hElement); } + + return aliveShip; +} - StarShipPtr->cur_status_flags &= ~PLAY_VICTORY_DITTY; +STARSHIP * +GetWinnerStarShip (void) +{ + return winnerStarShip; +} +void +SetWinnerStarShip (STARSHIP *winner) +{ + if (winner == NULL) + return; // nothing to do + + winner->cur_status_flags |= PLAY_VICTORY_DITTY; + + // The winner is set once per battle. If both ships die, this function is + // called twice, once for each ship. We need to preserve the winner + // determined on the first call. + if (winnerStarShip == NULL) + winnerStarShip = winner; +} + +void +RecordShipDeath (ELEMENT *deadShip) +{ + STARSHIP *deadStarShip; + + GetElementStarShip (deadShip, &deadStarShip); + assert (deadStarShip != NULL); + + if (deadShip->mass_points <= MAX_SHIP_MASS) + { // Not running away. + // When a ship tries to run away, it is (dis)counted in DoRunAway(), + // so when it dies while running away, we will not count it again + assert (deadStarShip->playerNr >= 0); + battle_counter[deadStarShip->playerNr]--; + } + + if (LOBYTE (GLOBAL (CurrentActivity)) == SUPER_MELEE) + MeleeShipDeath (deadStarShip); +} + +void +StartShipExplosion (ELEMENT *ShipPtr, bool playSound) +{ + STARSHIP *StarShipPtr; + + GetElementStarShip (ShipPtr, &StarShipPtr); + + ZeroVelocityComponents (&ShipPtr->velocity); + DeltaEnergy (ShipPtr, -(SIZE)StarShipPtr->RaceDescPtr->ship_info.energy_level); ShipPtr->life_span = NUM_EXPLOSION_FRAMES * 3; ShipPtr->state_flags &= ~DISAPPEARING; ShipPtr->state_flags |= FINITE_LIFE | NONSOLID; + ShipPtr->preprocess_func = explosion_preprocess; ShipPtr->postprocess_func = PostProcessStatus; ShipPtr->death_func = cleanup_dead_ship; ShipPtr->hTarget = 0; - ZeroVelocityComponents (&ShipPtr->velocity); - if (ShipPtr->crew_level) /* only happens for shofixti self-destruct */ - { - PlaySound (SetAbsSoundIndex ( - StarShipPtr->RaceDescPtr->ship_data.ship_sounds, 1), - CalcSoundPosition (ShipPtr), ShipPtr, - GAME_SOUND_PRIORITY + 1); - DeltaCrew (ShipPtr, -(SIZE)ShipPtr->crew_level); - if (VictoriousStarShipPtr == NULL) - { // No ships left alive after a Shofixti Glory device, - // thus Shofixti wins - VictoriousStarShipPtr = StarShipPtr; - } - } - else + if (playSound) { - ShipPtr->preprocess_func = explosion_preprocess; - PlaySound (SetAbsSoundIndex (GameSounds, SHIP_EXPLODES), CalcSoundPosition (ShipPtr), ShipPtr, GAME_SOUND_PRIORITY + 1); } +} - if (VictoriousStarShipPtr != NULL) - VictoriousStarShipPtr->cur_status_flags |= PLAY_VICTORY_DITTY; +void +ship_death (ELEMENT *ShipPtr) +{ + STARSHIP *StarShipPtr; + STARSHIP *winner; - // The winner is set once per battle. If both ships die, this function is - // called twice, once for each ship. We need to preserve the winner - // determined on the first call. - if (winnerStarShip == NULL) - winnerStarShip = VictoriousStarShipPtr; + GetElementStarShip (ShipPtr, &StarShipPtr); - if (LOBYTE (GLOBAL (CurrentActivity)) == SUPER_MELEE) - MeleeShipDeath (StarShipPtr); + StopAllBattleMusic (); + + // If the winning ship dies before the ditty starts, do not play it. + // e.g. a ship can die after the opponent begins exploding but + // before the explosion is over. + StarShipPtr->cur_status_flags &= ~PLAY_VICTORY_DITTY; + + StartShipExplosion (ShipPtr, true); + + winner = FindAliveStarShip (ShipPtr); + SetWinnerStarShip (winner); + RecordShipDeath (ShipPtr); } #define START_ION_COLOR BUILD_COLOR (MAKE_RGB15 (0x1F, 0x15, 0x00), 0x7A) Modified: trunk/sc2/src/uqm/tactrans.h =================================================================== --- trunk/sc2/src/uqm/tactrans.h 2011-07-24 19:58:25 UTC (rev 3663) +++ trunk/sc2/src/uqm/tactrans.h 2011-07-26 20:30:58 UTC (rev 3664) @@ -43,6 +43,12 @@ extern void StopDitty (void); extern void ResetWinnerStarShip (void); +extern void StopAllBattleMusic (void); +extern STARSHIP* FindAliveStarShip (ELEMENT *deadShip); +extern STARSHIP* GetWinnerStarShip (void); +extern void SetWinnerStarShip (STARSHIP *winner); +extern void RecordShipDeath (ELEMENT *deadShip); +extern void StartShipExplosion (ELEMENT *ShipPtr, bool playSound); #if defined(__cplusplus) } Modified: trunk/sc2/src/uqm/weapon.c =================================================================== --- trunk/sc2/src/uqm/weapon.c 2011-07-24 19:58:25 UTC (rev 3663) +++ trunk/sc2/src/uqm/weapon.c 2011-07-26 20:30:58 UTC (rev 3664) @@ -50,7 +50,7 @@ LaserElementPtr->state_flags = APPEARING | FINITE_LIFE | pLaserBlock->flags; LaserElementPtr->life_span = LASER_LIFE; - LaserElementPtr->collision_func = (CollisionFunc*)weapon_collision; + LaserElementPtr->collision_func = weapon_collision; LaserElementPtr->blast_offset = 1; LaserElementPtr->current.location.x = pLaserBlock->cx @@ -100,7 +100,7 @@ SetAbsFrameIndex (pMissileBlock->farray[0], pMissileBlock->index); MissileElementPtr->preprocess_func = pMissileBlock->preprocess_func; - MissileElementPtr->collision_func = (CollisionFunc*)weapon_collision; + MissileElementPtr->collision_func = weapon_collision; MissileElementPtr->blast_offset = (BYTE)pMissileBlock->blast_offs; angle = FACING_TO_ANGLE (pMissileBlock->face); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |