Thread: [Vegastrike-cvs] SF.net SVN: vegastrike: [10133] trunk (2024)

Brought to you by:ace123,ashieh,danielrh,hellcatv,and 3 others

  • Summary
  • Files
  • Reviews
  • Support
  • Mailing Lists
  • Tickets ▾
    • Bugs
    • Feature Requests
    • Patches
  • Code

Menu▾▴

  • vegastrike-cvs
  • vegastrike-devel

vegastrike-cvs

[Vegastrike-cvs] SF.net SVN: vegastrike: [10133] trunk

From: <fad...@us...> - 2006-03-11 21:16:04

Revision: 10133Author: fadookieDate: 2006-03-11 13:15:12 -0800 (Sat, 11 Mar 2006)ViewCVS: Log Message:-----------Initial (and dirty) import of ThN1saHead's Italian translation, and making room for other dirty imports.Trying to append .txt extensions as part of a ploy to thwart this mimetype business.Added Paths:----------- trunk/italiano/ trunk/italiano/0.4.3/ trunk/italiano/0.4.3/021.nsi trunk/italiano/0.4.3/021.nsi.~1.5.~ trunk/italiano/0.4.3/README.txt trunk/italiano/0.4.3/animations/ trunk/italiano/0.4.3/animations/splash_prowar.ani/ trunk/italiano/0.4.3/animations/splash_prowar.ani/splash_prowar.jpg trunk/italiano/0.4.3/mission/ trunk/italiano/0.4.3/mission/bounty/ trunk/italiano/0.4.3/mission/bounty/aera/ trunk/italiano/0.4.3/mission/bounty/aera/bounty_escape.mission trunk/italiano/0.4.3/mission/bounty/aera/bounty_escape_headhunting.mission trunk/italiano/0.4.3/mission/bounty/aera/bounty_escape_wing.mission trunk/italiano/0.4.3/mission/bounty/aera/bounty_insystem.mission trunk/italiano/0.4.3/mission/bounty/aera/bounty_insystem_headhunting.mission trunk/italiano/0.4.3/mission/bounty/aera/bounty_insystem_wing.mission trunk/italiano/0.4.3/mission/bounty/aera/bounty_outsystem.mission trunk/italiano/0.4.3/mission/bounty/aera/bounty_outsystem_group.mission trunk/italiano/0.4.3/mission/bounty/aera/bounty_outsystem_headhunting.mission trunk/italiano/0.4.3/mission/bounty/aera/bounty_outsystem_wing.mission trunk/italiano/0.4.3/mission/bounty/bounty.mission trunk/italiano/0.4.3/mission/bounty/confed/ trunk/italiano/0.4.3/mission/bounty/confed/bounty_escape.mission trunk/italiano/0.4.3/mission/bounty/confed/bounty_escape_headhunting.mission trunk/italiano/0.4.3/mission/bounty/confed/bounty_escape_wing.mission trunk/italiano/0.4.3/mission/bounty/confed/bounty_insystem.mission trunk/italiano/0.4.3/mission/bounty/confed/bounty_insystem_headhunting.mission trunk/italiano/0.4.3/mission/bounty/confed/bounty_insystem_wing.mission trunk/italiano/0.4.3/mission/bounty/confed/bounty_outsystem.mission trunk/italiano/0.4.3/mission/bounty/confed/bounty_outsystem_group.mission trunk/italiano/0.4.3/mission/bounty/confed/bounty_outsystem_headhunting.mission trunk/italiano/0.4.3/mission/bounty/confed/bounty_outsystem_wing.mission trunk/italiano/0.4.3/mission/bounty/iso/ trunk/italiano/0.4.3/mission/bounty/iso/attack_iso_freighter.mission trunk/italiano/0.4.3/mission/bounty/iso/attack_iso_prisoners.mission trunk/italiano/0.4.3/mission/bounty/iso/bounty_escape.mission trunk/italiano/0.4.3/mission/bounty/iso/bounty_escape_headhunting.mission trunk/italiano/0.4.3/mission/bounty/iso/bounty_escape_wing.mission trunk/italiano/0.4.3/mission/bounty/iso/bounty_insystem.mission trunk/italiano/0.4.3/mission/bounty/iso/bounty_insystem_headhunting.mission trunk/italiano/0.4.3/mission/bounty/iso/bounty_insystem_wing.mission trunk/italiano/0.4.3/mission/bounty/iso/bounty_outsystem.mission trunk/italiano/0.4.3/mission/bounty/iso/bounty_outsystem_group.mission trunk/italiano/0.4.3/mission/bounty/iso/bounty_outsystem_headhunting.mission trunk/italiano/0.4.3/mission/bounty/iso/bounty_outsystem_wing.mission trunk/italiano/0.4.3/mission/bounty/pirates/ trunk/italiano/0.4.3/mission/bounty/pirates/bounty_escape.mission trunk/italiano/0.4.3/mission/bounty/pirates/bounty_escape_headhunting.mission trunk/italiano/0.4.3/mission/bounty/pirates/bounty_escape_wing.mission trunk/italiano/0.4.3/mission/bounty/pirates/bounty_insystem.mission trunk/italiano/0.4.3/mission/bounty/pirates/bounty_insystem_headhunting.mission trunk/italiano/0.4.3/mission/bounty/pirates/bounty_insystem_wing.mission trunk/italiano/0.4.3/mission/bounty/pirates/bounty_outsystem.mission trunk/italiano/0.4.3/mission/bounty/pirates/bounty_outsystem_group.mission trunk/italiano/0.4.3/mission/bounty/pirates/bounty_outsystem_headhunting.mission trunk/italiano/0.4.3/mission/bounty/pirates/bounty_outsystem_wing.mission trunk/italiano/0.4.3/mission/bounty/retro/ trunk/italiano/0.4.3/mission/bounty/retro/bounty_escape.mission trunk/italiano/0.4.3/mission/bounty/retro/bounty_escape_headhunting.mission trunk/italiano/0.4.3/mission/bounty/retro/bounty_escape_wing.mission trunk/italiano/0.4.3/mission/bounty/retro/bounty_insystem.mission trunk/italiano/0.4.3/mission/bounty/retro/bounty_insystem_headhunting.mission trunk/italiano/0.4.3/mission/bounty/retro/bounty_insystem_wing.mission trunk/italiano/0.4.3/mission/bounty/retro/bounty_outsystem.mission trunk/italiano/0.4.3/mission/bounty/retro/bounty_outsystem_group.mission trunk/italiano/0.4.3/mission/bounty/retro/bounty_outsystem_headhunting.mission trunk/italiano/0.4.3/mission/bounty/retro/bounty_outsystem_wing.mission trunk/italiano/0.4.3/mission/bounty/rlaan/ trunk/italiano/0.4.3/mission/bounty/rlaan/bounty_escape.mission trunk/italiano/0.4.3/mission/bounty/rlaan/bounty_escape_headhunting.mission trunk/italiano/0.4.3/mission/bounty/rlaan/bounty_escape_wing.mission trunk/italiano/0.4.3/mission/bounty/rlaan/bounty_insystem.mission trunk/italiano/0.4.3/mission/bounty/rlaan/bounty_insystem_headhunting.mission trunk/italiano/0.4.3/mission/bounty/rlaan/bounty_insystem_wing.mission trunk/italiano/0.4.3/mission/bounty/rlaan/bounty_outsystem.mission trunk/italiano/0.4.3/mission/bounty/rlaan/bounty_outsystem_group.mission trunk/italiano/0.4.3/mission/bounty/rlaan/bounty_outsystem_headhunting.mission trunk/italiano/0.4.3/mission/bounty/rlaan/bounty_outsystem_wing.mission trunk/italiano/0.4.3/mission/cargo/ trunk/italiano/0.4.3/mission/cargo/aera/ trunk/italiano/0.4.3/mission/cargo/aera/to_base_critical_outsystem.mission trunk/italiano/0.4.3/mission/cargo/aera/to_base_extreme_range.mission trunk/italiano/0.4.3/mission/cargo/aera/to_base_insystem.mission trunk/italiano/0.4.3/mission/cargo/aera/to_base_insystem_critical.mission trunk/italiano/0.4.3/mission/cargo/aera/to_base_outsystem.mission trunk/italiano/0.4.3/mission/cargo/aera/to_fleet_critical_outsystem.mission trunk/italiano/0.4.3/mission/cargo/aera/to_fleet_extreme_range.mission trunk/italiano/0.4.3/mission/cargo/aera/to_fleet_insystem.mission trunk/italiano/0.4.3/mission/cargo/aera/to_fleet_insystem_critical.mission trunk/italiano/0.4.3/mission/cargo/aera/to_fleet_outsystem.mission trunk/italiano/0.4.3/mission/cargo/confed/ trunk/italiano/0.4.3/mission/cargo/confed/to_base_critical_outsystem.mission trunk/italiano/0.4.3/mission/cargo/confed/to_base_extreme_range.mission trunk/italiano/0.4.3/mission/cargo/confed/to_base_insystem.mission trunk/italiano/0.4.3/mission/cargo/confed/to_base_insystem_critical.mission trunk/italiano/0.4.3/mission/cargo/confed/to_base_outsystem.mission trunk/italiano/0.4.3/mission/cargo/confed/to_fleet_critical_outsystem.mission trunk/italiano/0.4.3/mission/cargo/confed/to_fleet_extreme_range.mission trunk/italiano/0.4.3/mission/cargo/confed/to_fleet_insystem.mission trunk/italiano/0.4.3/mission/cargo/confed/to_fleet_insystem_critical.mission trunk/italiano/0.4.3/mission/cargo/confed/to_fleet_outsystem.mission trunk/italiano/0.4.3/mission/cargo/iso/ trunk/italiano/0.4.3/mission/cargo/iso/cargo_contraband_mission3.mission trunk/italiano/0.4.3/mission/cargo/iso/to_base_critical_outsystem.mission trunk/italiano/0.4.3/mission/cargo/iso/to_base_extreme_range.mission trunk/italiano/0.4.3/mission/cargo/iso/to_base_insystem.mission trunk/italiano/0.4.3/mission/cargo/iso/to_base_insystem_critical.mission trunk/italiano/0.4.3/mission/cargo/iso/to_base_outsystem.mission trunk/italiano/0.4.3/mission/cargo/iso/to_fleet_critical_outsystem.mission trunk/italiano/0.4.3/mission/cargo/iso/to_fleet_extreme_range.mission trunk/italiano/0.4.3/mission/cargo/iso/to_fleet_insystem.mission trunk/italiano/0.4.3/mission/cargo/iso/to_fleet_insystem_critical.mission trunk/italiano/0.4.3/mission/cargo/iso/to_fleet_outsystem.mission trunk/italiano/0.4.3/mission/cargo/merchant/ trunk/italiano/0.4.3/mission/cargo/merchant/to_base_extreme_range.mission trunk/italiano/0.4.3/mission/cargo/merchant/to_base_insystem.mission trunk/italiano/0.4.3/mission/cargo/merchant/to_base_outsystem.mission trunk/italiano/0.4.3/mission/cargo/merchant/to_starship_extreme_range.mission trunk/italiano/0.4.3/mission/cargo/merchant/to_starship_insystem.mission trunk/italiano/0.4.3/mission/cargo/merchant/to_starship_outsystem.mission trunk/italiano/0.4.3/mission/cargo/pirates/ trunk/italiano/0.4.3/mission/cargo/pirates/pirates_cont_1.mission trunk/italiano/0.4.3/mission/cargo/pirates/pirates_cont_2.mission trunk/italiano/0.4.3/mission/cargo/pirates/plunder.mission trunk/italiano/0.4.3/mission/cargo/pirates/to_base_extreme_range.mission trunk/italiano/0.4.3/mission/cargo/pirates/to_base_insystem.mission trunk/italiano/0.4.3/mission/cargo/pirates/to_base_outsystem.mission trunk/italiano/0.4.3/mission/cargo/pirates/to_fleet_extreme_range.mission trunk/italiano/0.4.3/mission/cargo/pirates/to_fleet_insystem.mission trunk/italiano/0.4.3/mission/cargo/pirates/to_fleet_outsystem.mission trunk/italiano/0.4.3/mission/contraband/ trunk/italiano/0.4.3/mission/contraband/contraband.mission trunk/italiano/0.4.3/mission/contraband/contraband_large_scan.mission trunk/italiano/0.4.3/mission/contraband/contraband_medium_scan.mission trunk/italiano/0.4.3/mission/contraband/contraband_small_scan.mission trunk/italiano/0.4.3/play_vs.sh trunk/italiano/0.4.3/setup.music.xml trunk/italiano/0.4.3/setup.xml trunk/italiano/0.4.3/vegastrike-data.specAdded: trunk/italiano/0.4.3/021.nsi===================================================================--- trunk/italiano/0.4.3/021.nsi (rev 0)+++ trunk/italiano/0.4.3/021.nsi2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,250 @@+; Kinnear's NSIS SuperPiMP VS Install Script+++Page components+Page directory+Page instfiles+UninstPage uninstConfirm+UninstPage components+UninstPage instfiles+SetDatablockOptimize off ;fark.. 50 minutes to compile down to 2++ Name "VegaStrike 0.4.3" ; caption in titlebar+ OutFile "vegastrike-043.exe"; installer file to create+ Icon "C:\i\data4.x\vegastrike.ico"+ BrandingText " "; removes default 'nullsoft' branding at+; bottom of window+ CRCCheck on; YAY!+ LicenseText "Installa Vega Strike 0.4.3 nel tuo computer."+ LicenseData vega-license.txt++;default install dir, and registry entry+ AutoCloseWindow true+ InstallDir "C:\Program Files\Vegastrike"+ InstallDirRegKey HKLM SOFTWARE\Vegastrike\0.4.3\ "Install_Dir"++ ComponentText "Installa Vega Strike 0.4.3 nel tuo computer."+ DirText "Selezionare una cartella dove installare Vegastrike:"+; EnabledBitmap "yes.bmp"+; DisabledBitmap "no.bmp"+ ShowInstDetails show++;first option section - install the program and write uninstall registry+;entries+ Section "File di Vegastrike (Obbligatorio)"+ SectionIn RO+ SetOutPath $INSTDIR\Vegastrike-0.4.3+ File /r "C:\i\data4.x\*.*"+ WriteRegStr HKLM SOFTWARE\VegaStrike\0.4.3\ "Install_Dir" "$INSTDIR"+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VegaStrike-0.4.3\" "DisplayName" "VegaStrike 4.3"+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VegaStrike-0.4.3\" "UninstallString" '"$INSTDIR\Vegastrike-0.4.3\uninstall.exe"'+ WriteUninstaller "Vegastrike-0.4.3\uninstall.exe"+; Rename "$INSTDIR\Vegastrike.exe" "$INSTDIR\Vegastrike.exe.oldrelease"+; Rename "$INSTDIR\Launcher.exe" "$INSTDIR\Launcher.exe.oldrelease"+; Rename "$INSTDIR\Setup.exe" "$INSTDIR\Setup.exe.oldrelease"+ SectionEnd++;second install option - adds the shortcuts to the start menu. optional.+ Section "Musiche di VegaStrike (Raccomandato)"+ SetOutPath $INSTDIR\Vegastrike-0.4.3\music+ File /r "c:\i\music\*.*"+ SectionEnd++;third install option - adds the shortcuts to the start menu. optional.+ Section "Collegamenti nel men\xF9 di avvio"+ CreateDirectory "$SMPROGRAMS\Vega Strike\0.4.3"+ CreateShortCut "$SMPROGRAMS\Vega Strike\0.4.3\Vega Strike Story.lnk" "$INSTDIR\Vegastrike-0.4.3\documentation\IntroMonologue.txt" "" "$INSTDIR\Vegastrike-0.4.3\documentation\IntroMonologue.txt" 0+ CreateShortCut "$SMPROGRAMS\Vega Strike\0.4.3\Vega Strike Manual.lnk" "$INSTDIR\Vegastrike-0.4.3\documentation\Vega_Strike_Players_Guide.pdf" "" "$INSTDIR\Vegastrike-0.4.3\documentation\Vega_Strike_Players_Guide.pdf" 0+; CreateShortCut "$SMPROGRAMS\Vega Strike\0.4.3\Vega Strike Readme.lnk" "$INSTDIR\Vegastrike-0.4.3\documentation\readme.txt" "" "$INSTDIR\Vegastrike-0.4.3\documentation\readme.txt" 0+ CreateShortCut "$SMPROGRAMS\Vega Strike\0.4.3\Screenshots.lnk" "explorer.exe" "$INSTDIR\Vegastrike-0.4.3\.vegastrike\textures" "c:\windows\explorer.exe" 0+ CreateShortCut "$SMPROGRAMS\Vega Strike\0.4.3\Vega Strike.lnk" "$INSTDIR\Vegastrike-0.4.3\bin\vegastrike.exe" "" "$INSTDIR\Vegastrike-0.4.3\bin\vegastrike.exe" 0+ CreateShortCut "$SMPROGRAMS\Vega Strike\0.4.3\Vega Strike Setup.lnk" "$INSTDIR\Vegastrike-0.4.3\bin\setup.exe" "" "$INSTDIR\Vegastrike-0.4.3\bin\setup.exe" 0+ CreateShortCut "$SMPROGRAMS\Vega Strike\0.4.3\Vega Strike Uninstall.lnk" "$INSTDIR\Vegastrike-0.4.3\uninstall.exe" "" "$INSTDIR\Vegastrike-0.4.3\uninstall.exe" 0+; CreateShortCut "$SMPROGRAMS\Vega Strike\0.4.3\Vega Strike Updater.lnk" "$INSTDIR\Vegastrike-0.4.3\bin\AutoUpdate.bat" "" "$INSTDIR\Vegastrike-0.4.3\bin\AutoUpdate.bat" 0+ SectionEnd++;Other Functions - this one is what to do once install is completed++Function GetWindowsVersion+ + Push $R0+ Push $R1+ + ReadRegStr $R0 HKLM \+ "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion++ IfErrors 0 lbl_winnt+ + ; we are not NT+ ReadRegStr $R0 HKLM \+ "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber+ + StrCpy $R1 $R0 1+ StrCmp $R1 '4' 0 lbl_error+ + StrCpy $R1 $R0 3+ + StrCmp $R1 '4.0' lbl_win32_95+ StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98+ + lbl_win32_95:+ StrCpy $R0 '95'+ Goto lbl_done+ + lbl_win32_98:+ StrCpy $R0 '98'+ Goto lbl_done+ + lbl_win32_ME:+ StrCpy $R0 'ME'+ Goto lbl_done+ + lbl_winnt:+ + StrCpy $R1 $R0 1+ + StrCmp $R1 '3' lbl_winnt_x+ StrCmp $R1 '4' lbl_winnt_x+ + StrCpy $R1 $R0 3+ + StrCmp $R1 '5.0' lbl_winnt_2000+ StrCmp $R1 '5.1' lbl_winnt_XP+ StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error+ + lbl_winnt_x:+ StrCpy $R0 "NT $R0" 6+ Goto lbl_done+ + lbl_winnt_2000:+ Strcpy $R0 '2000'+ Goto lbl_done+ + lbl_winnt_XP:+ Strcpy $R0 'XP'+ Goto lbl_done+ + lbl_winnt_2003:+ Strcpy $R0 '2003'+ Goto lbl_done+ + lbl_error:+ Strcpy $R0 ''+ lbl_done:+ + Pop $R1+ Exch $R0+ +FunctionEnd++Function .onInstSuccess+ Call GetWindowsVersion+ Pop $R0+ StrCmp $R0 '98' lbl_copy+ StrCmp $R0 '95' lbl_copy+ StrCmp $R0 'ME' lbl_copy lbl_avoid_copy+lbl_copy:+ Rename /REBOOTOK $INSTDIR\bin\SDL.dll $INSTDIR\bin\SDL2k.dll+ Rename /REBOOTOK $INSTDIR\bin\SDL98.dll $INSTDIR\bin\SDL.dll+lbl_avoid_copy:+; ExecWait $INSTDIR/Vegastrike-0.4.3/bin/OpenALwEAX.exe+ ExecWait $INSTDIR/Vegastrike-0.4.3/bin/SETUP.EXE + MessageBox MB_YESNO "Installazione terminata con successo. Desideri leggere il manuale di VegaStrike?" IDNO NoReadme+ ExecShell "open" $INSTDIR\Vegastrike-0.4.3\documentation\Vega_Strike_Players_Guide.pdf+ NoReadme:+ MessageBox MB_YESNO "Desideri leggere l'antefatto di VegaStrike?" IDNO NoStory+ ExecShell "open" "$INSTDIR\Vegastrike-0.4.3\history\a brief history in time and space.pdf"+ NoStory:+ FunctionEnd++ Function .onInstFailed+ MessageBox MB_OK "L'installazione \xE8 stata interrotta, oppure il pacchetto di installazione \xE8 deteriorato." + FunctionEnd++;uninstaller stuff+UninstallText "Questa operazione eliminer\xE0 le seguenti cartelle e tuttti i dati in esse contenuti, inclusi i tuoi salvataggi. Cliccare sul pulsante Disinstallaper continuare."+UninstallIcon "C:\i\data4.x\uninstall.ico"+++Section "un.Uninstall Data Files"+ SectionIn RO+RMDir /r "$INSTDIR\accounts"++Delete "$INSTDIR\021.nsi"+Delete "$INSTDIR\021.nsi.~1.5.~"+Delete "$INSTDIR\BFXMupdate.pl"+Delete "$INSTDIR\CVS"+Delete "$INSTDIR\Makefile.am"+Delete "$INSTDIR\Makefile.in"+Delete "$INSTDIR\vega-license.txt"+Delete "$INSTDIR\uninstall.ico"+Delete "$INSTDIR\README"+Delete "$INSTDIR\Vega.icns"+Delete "$INSTDIR\Version.txt"+Delete "$INSTDIR\accounts"+Delete "$INSTDIR\accountserver.config"+RMDir /r "$INSTDIR\ai"+RMDir /r "$INSTDIR\animations"+RMDir /r "$INSTDIR\bases"+RMDir /r "$INSTDIR\bin"+RMDir /r "$INSTDIR\co*ckpits"+RMDir /r "$INSTDIR\communications"+Delete "$INSTDIR\configure.ac"+Delete "$INSTDIR\convertbfxm.sh"+Delete "$INSTDIR\cursor1.cur"+RMDir /r "$INSTDIR\documentation"+Delete "$INSTDIR\dynaverse.dat"+Delete "$INSTDIR\factions.xml"+Delete "$INSTDIR\favicon.ico"+Delete "$INSTDIR\fixmusic.sh"+RMDir /r "$INSTDIR\history"+Delete "$INSTDIR\m3uloki_add.sh"+Delete "$INSTDIR\m3uloki_remove.sh"+Delete "$INSTDIR\makeloki.sh"+Delete "$INSTDIR\master_part_list.csv"+Delete "$INSTDIR\master_part_list.xml"+RMDir /r "$INSTDIR\meshes"+RMDir /r "$INSTDIR\mission"+RMDir /r "$INSTDIR\mods"+RMDir /r "$INSTDIR\modules"+RMDir /r "$INSTDIR\nav"+Delete "$INSTDIR\newfs_changes.txt"+Delete "$INSTDIR\play_vs"+RMDir /r "$INSTDIR\sectors"+Delete "$INSTDIR\setup.base.xml"+Delete "$INSTDIR\setup.config"+Delete "$INSTDIR\setup.music.xml"+Delete "$INSTDIR\setup.xml"+RMDir /r "$INSTDIR\sounds"+RMDir /r "$INSTDIR\sprites"+RMDir /r "$INSTDIR\stats"+RMDir /r "$INSTDIR\textures"+RMDir /r "$INSTDIR\units"+RMDir /r "$INSTDIR\universe"+Delete "$INSTDIR\vega.ico"+Delete "$INSTDIR\vegaserver.config"+Delete "$INSTDIR\vegastrike-data.spec"+Delete "$INSTDIR\vegastrike.config"+Delete "$INSTDIR\vegastrike.config.2player"+Delete "$INSTDIR\vegastrike.ico"+Delete "$INSTDIR\vegastrike.sh"+Delete "$INSTDIR\vegastrike.xpm"+Delete "$INSTDIR\vsinstall.sh"+Delete "$INSTDIR\vslogo.xpm"+Delete "$INSTDIR\weapon_list.xml"+ Delete "$SMPROGRAMS\Vega Strike\0.4.3\*.*"+ RMDir /r "$SMPROGRAMS\Vega Strike\0.4.3\"+ RMDir "$INSTDIR\"+ DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VegaStrike-0.4.3\"+ DeleteRegKey HKLM "SOFTWARE\VegaStrike\0.4.3\" ++SectionEnd+Section "un.Remove Savegame/Universe Data directory (optional)" + RMDir /r "$INSTDIR\.vegastrike"+ RMDir "$INSTDIR\"+SectionEnd+; note - i haven't made the uninstaller remove VegaStrike folder. This is+; because we don't want it to delete EVERY copy of VS.. just the one+; they're uninstalling. :)++; eofAdded: trunk/italiano/0.4.3/021.nsi.~1.5.~===================================================================--- trunk/italiano/0.4.3/021.nsi.~1.5.~ (rev 0)+++ trunk/italiano/0.4.3/021.nsi.~1.5.~2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,88 @@+; Kinnear's NSIS SuperPiMP VS Install Script++ Name "VegaStrike 0.4.3" ; caption in titlebar+ OutFile "vegastrike-043.exe"; installer file to create+ Icon "C:\vegastrike\data4.x\vegastrike.ico"+ BrandingText " "; removes default 'nullsoft' branding at+; bottom of window+ CRCCheck on; YAY!+ LicenseText "Installa Vega Strike 0.4.3 nel tuo computer."+ LicenseData vega-license.txt++;default install dir, and registry entry+ AutoCloseWindow true+ InstallDir "C:\Program Files\Vegastrike"+ InstallDirRegKey HKLM SOFTWARE\Vegastrike\0.4.3\ "Install_Dir"++ ComponentText "Installa Vega Strike 0.4.3 nel tuo computer."+ DirText "Selezionare una cartella dove installare Vegastrike:"+ EnabledBitmap "yes.bmp"+ DisabledBitmap "no.bmp"+ ShowInstDetails show++;first option section - install the program and write uninstall registry+;entries+ Section "File di Vegastrike (Obbligatorio)"+ SetOutPath $INSTDIR\Vegastrike-0.4.3+ File /r "C:\vegastrike\data4.x\*.*"+ WriteRegStr HKLM SOFTWARE\VegaStrike\0.4.3\ "Install_Dir" "$INSTDIR"+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VegaStrike-0.4.3\" "DisplayName" "VegaStrike 4.3"+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VegaStrike-0.4.3\" "UninstallString" '"$INSTDIR\Vegastrike-0.4.3\uninstall.exe"'+ WriteUninstaller "Vegastrike-0.4.3\uninstall.exe"+ Rename "$INSTDIR\Vegastrike.exe" "$INSTDIR\Vegastrike.exe.oldrelease"+ Rename "$INSTDIR\Launcher.exe" "$INSTDIR\Launcher.exe.oldrelease"+ Rename "$INSTDIR\Setup.exe" "$INSTDIR\Setup.exe.oldrelease"+ SectionEnd++;second install option - adds the shortcuts to the start menu. optional.+ Section "Musiche di VegaStrike (Raccomandato)"+ SetOutPath $INSTDIR\Vegastrike-0.4.3\music+ File /r "F:\programming\vegastrike\anonymous\music\*.*"+ SectionEnd++;third install option - adds the shortcuts to the start menu. optional.+ Section "Collegamenti nel men\xF9 di avvio"+ CreateDirectory "$SMPROGRAMS\Vega Strike\0.4.3"+ CreateShortCut "$SMPROGRAMS\Vega Strike\0.4.3\Vega Strike Story.lnk" "$INSTDIR\Vegastrike-0.4.3\documentation\IntroMonologue.txt" "" "$INSTDIR\Vegastrike-0.4.3\documentation\IntroMonologue.txt" 0+ CreateShortCut "$SMPROGRAMS\Vega Strike\0.4.3\Vega Strike Manual.lnk" "$INSTDIR\Vegastrike-0.4.3\documentation\Vega_Strike_Players_Guide.pdf" "" "$INSTDIR\Vegastrike-0.4.3\documentation\Vega_Strike_Players_Guide.pdf" 0+; CreateShortCut "$SMPROGRAMS\Vega Strike\0.4.3\Vega Strike Readme.lnk" "$INSTDIR\Vegastrike-0.4.3\documentation\readme.txt" "" "$INSTDIR\Vegastrike-0.4.3\documentation\readme.txt" 0+ CreateShortCut "$SMPROGRAMS\Vega Strike\0.4.3\Vega Strike Readme.lnk" "explorer.exe" "$INSTDIR\Vegastrike-0.4.3\.vegastrike\textures" "c:\windows\explorer.exe" 0+ CreateShortCut "$SMPROGRAMS\Vega Strike\0.4.3\Vega Strike.lnk" "$INSTDIR\Vegastrike-0.4.3\bin\vegastrike.exe" "" "$INSTDIR\Vegastrike-0.4.3\bin\vegastrike.exe" 0+ CreateShortCut "$SMPROGRAMS\Vega Strike\0.4.3\Vega Strike Setup.lnk" "$INSTDIR\Vegastrike-0.4.3\bin\setup.exe" "" "$INSTDIR\Vegastrike-0.4.3\bin\setup.exe" 0+ CreateShortCut "$SMPROGRAMS\Vega Strike\0.4.3\Vega Strike Uninstall.lnk" "$INSTDIR\Vegastrike-0.4.3\uninstall.exe" "" "$INSTDIR\Vegastrike-0.4.3\uninstall.exe" 0+; CreateShortCut "$SMPROGRAMS\Vega Strike\0.4.3\Vega Strike Updater.lnk" "$INSTDIR\Vegastrike-0.4.3\bin\AutoUpdate.bat" "" "$INSTDIR\Vegastrike-0.4.3\bin\AutoUpdate.bat" 0+ SectionEnd++;Other Functions - this one is what to do once install is completed+Function .onInstSuccess+ ExecWait $INSTDIR/Vegastrike-0.4.3/bin/OpenALwEAX.exe+ ExecWait $INSTDIR/Vegastrike-0.4.3/bin/SETUP.EXE + MessageBox MB_YESNO "Installazione eseguita con successo. Visualizzare il file LEGGIMI?" IDNO NoReadme+ ExecShell "open" $INSTDIR\Vegastrike-0.4.3\documentation\readme.txt+ NoReadme:+ MessageBox MB_YESNO "Desideri leggere l'antefatto di VegaStrike?" IDNO NoStory+ ExecShell "open" "$INSTDIR\Vegastrike-0.4.3\history\a brief history in time and space.pdf"+ NoStory:+ FunctionEnd++ Function .onInstFailed+ MessageBox MB_OK "L'installazione \xE8 stata interrotta, oppure il pacchetto di installazione \xE8 deteriorato." + FunctionEnd++;uninstaller stuff+UninstallText Questa operazione eliminer\xE0 le seguenti cartelle e tuttti i dati in esse contenuti, inclusi i tuoi salvataggi. Cliccare sul pulsante Disinstallaper continuare."+++Section "Uninstall"+ DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\VegaStrike-0.4.3\"+ DeleteRegKey HKLM SOFTWARE\VegaStrike\0.4.3\+ Delete "$SMPROGRAMS\Vega Strike\0.4.3\*.*"+ RMDir /r "$SMPROGRAMS\Vega Strike\0.4.3\"+ RMDir /r "$INSTDIR"+SectionEnd++; note - i haven't made the uninstaller remove VegaStrike folder. This is+; because we don't want it to delete EVERY copy of VS.. just the one+; they're uninstalling. :)++; eofAdded: trunk/italiano/0.4.3/README.txt===================================================================--- trunk/italiano/0.4.3/README.txt (rev 0)+++ trunk/italiano/0.4.3/README.txt2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,76 @@++ ----------------------+ Vegastrike 0.4.3+ ----------------------++Benvenuti a VegaStrike!++Prima di tutto, molte grazie a Ludwig della mailinglist lokisetup icculus.org +Senza il suo aiuto e la sua pazienza, non saremmo mai stati capaci di creare+queste installazioni :-)++Per avere istruzioni dettagliate sul "come si gioca", consultare il manuale+contenuto nella cartella di installazione. Una versione aggiornata potrebbe+essere reperita qu\xEC:++ --> http://vegastrike.sourceforge.net/phpwiki/index.php/VegastrikeManual <--++Per qualunque domanda tecnica, inerente il lavoro o bug, vedasi la nostra pa-+gina WIKI:++ --> http://vegastrike.sourceforge.net/phpwiki/ <--++Mentre ti trovi in quei paraggi, potresti aver voglia di vedere anche il nos-+tro sito:++ --> http://vegastrike.sourceforge.net <--++e i nostri forum:++ --> http://vegastrike.sourceforge.net/forums/ <--++++--- Requisiti tecnici ---++ * Spazio su disco rigido (N.B.: Per installare il gioco, /tmp deve poter conte-+nere i file estratti)+ o ~240 MB (Senza audio)+ o ~300 MB (Con audio)++ * Requisiti minimi assoluti (Attenzione: Tecnicamente possibili, ma non consigliati)+ o Processore: Pentium I 200 MHz o Apple G3 400MHz+ o Scheda video: 3d con 16 MB di memoria (sebbene possa lavorare anche+con una scheda non-3d)+ o Schermo da almeno: 16 bit+ o RAM: 256 MB+ o Dimensioni swap: ???+ o HD: Idem.++ * Requisiti minimi consigliati+ o Processor: Pentium III 500 MHz+ o Scheda video: 3d con 32 MB di memoria, e supporto HT&L+ o Schermo da almeno: 16 bit+ o RAM: 384 MB+ o Dimensioni swap: 512 MB+ o HD: Idem.++ * Requisiti "Voglio giocare a VegaStrike ad un Framerate decente"+ o Processore: Pentium III 800 MHz+ o Scheda video: 3d card with 64 MB of memory, and HT&L support+ o Schermo da almeno: 32 bit+ o RAM: 512 MB+ o Dimensioni swap: 512 MB+ o HD: Idem.++ * Requisiti 3l337 (Orgoglio personale di Largo)+ o Processor: x MHz, dove x -> infinito come 3l337ezza -> 1+ o Scheda video: for (long i=0;i<anno_corrente.length();i++)+ {ComprareNuovaSV(i,USD(500));}+ o Schermo da almeno: 32 bit+ o RAM: 4096 MB+ o Dimensioni swap: Un vero uomo connetterebbe nuove espansioni quando richiesto.+ o HD: Io sono capace di mirror-are Sourceforge.net, e tu?++© The Vegastrike Project 2005+Traduzione: ThN1saHead ((//))Added: trunk/italiano/0.4.3/animations/splash_prowar.ani/splash_prowar.jpg===================================================================(Binary files differ)Property changes on: trunk/italiano/0.4.3/animations/splash_prowar.ani/splash_prowar.jpg___________________________________________________________________Name: svn:mime-type + application/octet-streamAdded: trunk/italiano/0.4.3/mission/bounty/aera/bounty_escape.mission===================================================================--- trunk/italiano/0.4.3/mission/bounty/aera/bounty_escape.mission (rev 0)+++ trunk/italiano/0.4.3/mission/bounty/aera/bounty_escape.mission2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,58 @@+<mission>+<settings>+<origin planet="earth" x="0000" y="100" z="000.0"/>+</settings>++<variables>+<var name="defaultplayer" value="blue"/>+<var name="system" value="enigma_sector/blake" />+<var name="mission_name" value="Bounty Mission" />+<var name="description" value="Una nave di esplorazione aera \xE8 penetrata in questo sistema. La nave si sta dirigendo ad un nodo di connessione con l'intenzione di tornare ai quartieri generali aera. \xC8 tassativo che la nave va distrutta. A esecuzione terminata, guadagnerai 10245 crediti" />+</variables>+ <flightgroups>+ <flightgroup name="blue" faction="confed" type="nova" ainame="default" waves="1" nr_ships="2">+<pos x="0400" y="-35400" z="47200000"/>+<rot x="180.0" y="180.0" z="180.0"/>+<order order="tmptarget" target="omikron"/>+<order priority="0" order="superiority" target="enemy"/>+<order priority="1" order="bomber" target="omikron"/>+<order priority="2" order="escort" target="blue"/>+</flightgroup>+ </flightgroups>+<python>+import bounty+newmission = bounty.bounty (0, 0, 10245, 1, 0, 'aera')+newmission=0++</python>+<madule name="director">+<import name="bounty"/>+<script name="initgame">+<exec module="bounty" name="init">+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="float" value="10245"/> <!-- how much you are paid -->+<const type="bool" value="true"/> <!--does he run away -->+<const type="int" value="0"/> <!--difficulty-->+<const type="object" object="string" value="aera"/>+</exec>+</script>+<script name="gameloop">+<exec module="bounty" name="loop"/>+</script>+<script name="initbriefing">+<exec module="bounty" name="initbriefing">+</exec>+</script>+<script name="loopbriefing">+<exec module="bounty" name="loopbriefing">+</exec>+</script>+<script name="endbriefing">+<exec module="bounty" name="endbriefing">+</exec>+</script>+++</module>+</mission>Added: trunk/italiano/0.4.3/mission/bounty/aera/bounty_escape_headhunting.mission===================================================================--- trunk/italiano/0.4.3/mission/bounty/aera/bounty_escape_headhunting.mission (rev 0)+++ trunk/italiano/0.4.3/mission/bounty/aera/bounty_escape_headhunting.mission2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,58 @@+<mission>+<settings>+<origin planet="earth" x="0000" y="100" z="000.0"/>+</settings>++<variables>+<var name="defaultplayer" value="blue"/>+<var name="system" value="enigma_sector/blake" />+<var name="mission_name" value="Bounty Mission" />+<var name="description" value="Due navi aera sono state avvistate nel sistema. Hanno rubato informazioni importanti e stanno scappando. Devi terminarle subito: guadagnerai 13460 crediti." />+</variables>+ <flightgroups>+ <flightgroup name="blue" faction="confed" type="nova" ainame="default" waves="1" nr_ships="2">+<pos x="0400" y="-35400" z="47200000"/>+<rot x="180.0" y="180.0" z="180.0"/>+<order order="tmptarget" target="omikron"/>+<order priority="0" order="superiority" target="enemy"/>+<order priority="1" order="bomber" target="omikron"/>+<order priority="2" order="escort" target="blue"/>+</flightgroup>+ </flightgroups>+<python>+import bounty+newmission = bounty.bounty (0, 0, 13460, 1, 1, 'aera')+newmission=0++</python>+<madule name="director">+<import name="bounty"/>+<script name="initgame">+<exec module="bounty" name="init">+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="float" value="13460"/> <!-- how much you are paid -->+<const type="bool" value="true"/> <!--does he run away -->+<const type="int" value="1"/> <!--difficulty-->+<const type="object" object="string" value="aera"/>+</exec>+</script>+<script name="gameloop">+<exec module="bounty" name="loop"/>+</script>+<script name="initbriefing">+<exec module="bounty" name="initbriefing">+</exec>+</script>+<script name="loopbriefing">+<exec module="bounty" name="loopbriefing">+</exec>+</script>+<script name="endbriefing">+<exec module="bounty" name="endbriefing">+</exec>+</script>+++</module>+</mission>Added: trunk/italiano/0.4.3/mission/bounty/aera/bounty_escape_wing.mission===================================================================--- trunk/italiano/0.4.3/mission/bounty/aera/bounty_escape_wing.mission (rev 0)+++ trunk/italiano/0.4.3/mission/bounty/aera/bounty_escape_wing.mission2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,58 @@+<mission>+<settings>+<origin planet="earth" x="0000" y="100" z="000.0"/>+</settings>++<variables>+<var name="defaultplayer" value="blue"/>+<var name="system" value="enigma_sector/blake" />+<var name="mission_name" value="Bounty Mission" />+<var name="description" value="Una pattuglia area \xE8 penetrata in questo sistema. Abbiamo un enorme interesse che il capo non esca vivo! La sua scorta potrebbe muoversi per difenderlo. A seguito dell'uccisione del capo, guadagnerai 17392 crediti." />+</variables>+ <flightgroups>+ <flightgroup name="blue" faction="confed" type="nova" ainame="default" waves="1" nr_ships="2">+<pos x="0400" y="-35400" z="47200000"/>+<rot x="180.0" y="180.0" z="180.0"/>+<order order="tmptarget" target="omikron"/>+<order priority="0" order="superiority" target="enemy"/>+<order priority="1" order="bomber" target="omikron"/>+<order priority="2" order="escort" target="blue"/>+</flightgroup>+ </flightgroups>+<python>+import bounty+newmission = bounty.bounty (0, 0, 17392, 1, 3, 'aera')+newmission=0++</python>+<madule name="director">+<import name="bounty"/>+<script name="initgame">+<exec module="bounty" name="init">+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="float" value="17392"/> <!-- how much you are paid -->+<const type="bool" value="true"/> <!--does he run away -->+<const type="int" value="3"/> <!--difficulty-->+<const type="object" object="string" value="aera"/>+</exec>+</script>+<script name="gameloop">+<exec module="bounty" name="loop"/>+</script>+<script name="initbriefing">+<exec module="bounty" name="initbriefing">+</exec>+</script>+<script name="loopbriefing">+<exec module="bounty" name="loopbriefing">+</exec>+</script>+<script name="endbriefing">+<exec module="bounty" name="endbriefing">+</exec>+</script>+++</module>+</mission>Added: trunk/italiano/0.4.3/mission/bounty/aera/bounty_insystem.mission===================================================================--- trunk/italiano/0.4.3/mission/bounty/aera/bounty_insystem.mission (rev 0)+++ trunk/italiano/0.4.3/mission/bounty/aera/bounty_insystem.mission2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,58 @@+<mission>+<settings>+<origin planet="earth" x="0000" y="100" z="000.0"/>+</settings>++<variables>+<var name="defaultplayer" value="blue"/>+<var name="system" value="enigma_sector/blake" />+<var name="mission_name" value="Bounty Mission" />+<var name="description" value="Una nave di esplorazione aera \xE8 penetrata in questo sistema. La nave si sta dirigendo ad un nodo di connessione con l'intenzione di tornare ai quartieri generali aera. \xC8 tassativo che la nave va distrutta. A esecuzione terminata, guadagnerai 8480 crediti." />+</variables>+ <flightgroups>+ <flightgroup name="blue" faction="confed" type="nova" ainame="default" waves="1" nr_ships="2">+<pos x="0400" y="-35400" z="47200000"/>+<rot x="180.0" y="180.0" z="180.0"/>+<order order="tmptarget" target="omikron"/>+<order priority="0" order="superiority" target="enemy"/>+<order priority="1" order="bomber" target="omikron"/>+<order priority="2" order="escort" target="blue"/>+</flightgroup>+ </flightgroups>+<python>+import bounty+newmission = bounty.bounty (0, 0, 8480, 0, 0, 'aera')+newmission=0++</python>+<madule name="director">+<import name="bounty"/>+<script name="initgame">+<exec module="bounty" name="init">+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="float" value="8480"/> <!-- how much you are paid -->+<const type="bool" value="false"/> <!--does he run away -->+<const type="int" value="0"/> <!--difficulty-->+<const type="object" object="string" value="aera"/>+</exec>+</script>+<script name="gameloop">+<exec module="bounty" name="loop"/>+</script>+<script name="initbriefing">+<exec module="bounty" name="initbriefing">+</exec>+</script>+<script name="loopbriefing">+<exec module="bounty" name="loopbriefing">+</exec>+</script>+<script name="endbriefing">+<exec module="bounty" name="endbriefing">+</exec>+</script>+++</module>+</mission>Added: trunk/italiano/0.4.3/mission/bounty/aera/bounty_insystem_headhunting.mission===================================================================--- trunk/italiano/0.4.3/mission/bounty/aera/bounty_insystem_headhunting.mission (rev 0)+++ trunk/italiano/0.4.3/mission/bounty/aera/bounty_insystem_headhunting.mission2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,58 @@+<mission>+<settings>+<origin planet="earth" x="0000" y="100" z="000.0"/>+</settings>++<variables>+<var name="defaultplayer" value="blue"/>+<var name="system" value="enigma_sector/blake" />+<var name="mission_name" value="Bounty Mission" />+<var name="description" value="Due navi aera sono state avvistate nel sistema. Hanno rubato informazioni importanti e stanno scappando. Devi terminarle subito: guadagnerai 12260 crediti per il disturbo." />+</variables>+ <flightgroups>+ <flightgroup name="blue" faction="confed" type="nova" ainame="default" waves="1" nr_ships="2">+<pos x="0400" y="-35400" z="47200000"/>+<rot x="180.0" y="180.0" z="180.0"/>+<order order="tmptarget" target="omikron"/>+<order priority="0" order="superiority" target="enemy"/>+<order priority="1" order="bomber" target="omikron"/>+<order priority="2" order="escort" target="blue"/>+</flightgroup>+ </flightgroups>+<python>+import bounty+newmission = bounty.bounty (0, 0, 12260, 0, 1, 'aera')+newmission=0++</python>+<madule name="director">+<import name="bounty"/>+<script name="initgame">+<exec module="bounty" name="init">+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="float" value="12260"/> <!-- how much you are paid -->+<const type="bool" value="false"/> <!--does he run away -->+<const type="int" value="1"/> <!--difficulty-->+<const type="object" object="string" value="aera"/>+</exec>+</script>+<script name="gameloop">+<exec module="bounty" name="loop"/>+</script>+<script name="initbriefing">+<exec module="bounty" name="initbriefing">+</exec>+</script>+<script name="loopbriefing">+<exec module="bounty" name="loopbriefing">+</exec>+</script>+<script name="endbriefing">+<exec module="bounty" name="endbriefing">+</exec>+</script>+++</module>+</mission>Added: trunk/italiano/0.4.3/mission/bounty/aera/bounty_insystem_wing.mission===================================================================--- trunk/italiano/0.4.3/mission/bounty/aera/bounty_insystem_wing.mission (rev 0)+++ trunk/italiano/0.4.3/mission/bounty/aera/bounty_insystem_wing.mission2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,58 @@+<mission>+<settings>+<origin planet="earth" x="0000" y="100" z="000.0"/>+</settings>++<variables>+<var name="defaultplayer" value="blue"/>+<var name="system" value="enigma_sector/blake" />+<var name="mission_name" value="Bounty Mission" />+<var name="description" value="Una pattuglia aera \xE8 penetrata in questo sistema. Abbiamo un enorme interesse che il capo non esca vivo! La sua scorta potrebbe muoversi per difenderlo. A seguito dell'uccisione del capo, guadagnerai 14392 crediti." />+</variables>+ <flightgroups>+ <flightgroup name="blue" faction="confed" type="nova" ainame="default" waves="1" nr_ships="2">+<pos x="0400" y="-35400" z="47200000"/>+<rot x="180.0" y="180.0" z="180.0"/>+<order order="tmptarget" target="omikron"/>+<order priority="0" order="superiority" target="enemy"/>+<order priority="1" order="bomber" target="omikron"/>+<order priority="2" order="escort" target="blue"/>+</flightgroup>+ </flightgroups>+<python>+import bounty+newmission = bounty.bounty (0, 0, 14392, 0, 2, 'aera')+newmission=0++</python>+<madule name="director">+<import name="bounty"/>+<script name="initgame">+<exec module="bounty" name="init">+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="float" value="14392"/> <!-- how much you are paid -->+<const type="bool" value="false"/> <!--does he run away -->+<const type="int" value="2"/> <!--difficulty-->+<const type="object" object="string" value="aera"/>+</exec>+</script>+<script name="gameloop">+<exec module="bounty" name="loop"/>+</script>+<script name="initbriefing">+<exec module="bounty" name="initbriefing">+</exec>+</script>+<script name="loopbriefing">+<exec module="bounty" name="loopbriefing">+</exec>+</script>+<script name="endbriefing">+<exec module="bounty" name="endbriefing">+</exec>+</script>+++</module>+</mission>Added: trunk/italiano/0.4.3/mission/bounty/aera/bounty_outsystem.mission===================================================================--- trunk/italiano/0.4.3/mission/bounty/aera/bounty_outsystem.mission (rev 0)+++ trunk/italiano/0.4.3/mission/bounty/aera/bounty_outsystem.mission2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,58 @@+<mission>+<settings>+<origin planet="earth" x="0000" y="100" z="000.0"/>+</settings>++<variables>+<var name="defaultplayer" value="blue"/>+<var name="system" value="enigma_sector/blake" />+<var name="mission_name" value="Bounty Mission" />+<var name="description" value="Distruggi una nave aera che si trova a un sistema da qui. Questa nave \xE8 responsabile della distruzione di numerosi incrociatori. La tua ricompensa sar\xE0 di 13490 crediti." />+</variables>+ <flightgroups>+ <flightgroup name="blue" faction="confed" type="nova" ainame="default" waves="1" nr_ships="2">+<pos x="0400" y="-35400" z="47200000"/>+<rot x="180.0" y="180.0" z="180.0"/>+<order order="tmptarget" target="omikron"/>+<order priority="0" order="superiority" target="enemy"/>+<order priority="1" order="bomber" target="omikron"/>+<order priority="2" order="escort" target="blue"/>+</flightgroup>+ </flightgroups>+<python>+import bounty+newmission = bounty.bounty (1, 2, 13490, 0, 0, 'aera')+newmission=0++</python>+<madule name="director">+<import name="bounty"/>+<script name="initgame">+<exec module="bounty" name="init">+<const type="int" value="1"/> <!--num systems away the delivery point is -->+<const type="int" value="2"/> <!--num systems away the delivery point is -->+<const type="float" value="13490"/> <!-- how much you are paid -->+<const type="bool" value="false"/> <!--does he run away -->+<const type="int" value="0"/> <!--difficulty-->+<const type="object" object="string" value="aera"/>+</exec>+</script>+<script name="gameloop">+<exec module="bounty" name="loop"/>+</script>+<script name="initbriefing">+<exec module="bounty" name="initbriefing">+</exec>+</script>+<script name="loopbriefing">+<exec module="bounty" name="loopbriefing">+</exec>+</script>+<script name="endbriefing">+<exec module="bounty" name="endbriefing">+</exec>+</script>+++</module>+</mission>Added: trunk/italiano/0.4.3/mission/bounty/aera/bounty_outsystem_group.mission===================================================================--- trunk/italiano/0.4.3/mission/bounty/aera/bounty_outsystem_group.mission (rev 0)+++ trunk/italiano/0.4.3/mission/bounty/aera/bounty_outsystem_group.mission2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,58 @@+<mission>+<settings>+<origin planet="earth" x="0000" y="100" z="000.0"/>+</settings>++<variables>+<var name="defaultplayer" value="blue"/>+<var name="system" value="enigma_sector/blake" />+<var name="mission_name" value="Bounty Mission" />+<var name="description" value="Vorremo mettere una taglia sul capo di una formazione di navi aera che si trova tra 1 e 3 sistemi da qu\xEC. Una volta ucciso il capopattuglia, verrai ricompensato con 19730 crediti. \xC8 probabile che lo scontro con i compagni continui dopo l'uccisione del leader." />+</variables>+ <flightgroups>+ <flightgroup name="blue" faction="confed" type="nova" ainame="default" waves="1" nr_ships="2">+<pos x="0400" y="-35400" z="47200000"/>+<rot x="180.0" y="180.0" z="180.0"/>+<order order="tmptarget" target="omikron"/>+<order priority="0" order="superiority" target="enemy"/>+<order priority="1" order="bomber" target="omikron"/>+<order priority="2" order="escort" target="blue"/>+</flightgroup>+ </flightgroups>+<python>+import bounty+newmission = bounty.bounty (1, 3, 19730, 1, 3, 'aera')+newmission=0++</python>+<madule name="director">+<import name="bounty"/>+<script name="initgame">+<exec module="bounty" name="init">+<const type="int" value="1"/> <!--num systems away the delivery point is -->+<const type="int" value="3"/> <!--num systems away the delivery point is -->+<const type="float" value="19730"/> <!-- how much you are paid -->+<const type="bool" value="true"/> <!--does he run away -->+<const type="int" value="3"/> <!--difficulty-->+<const type="object" object="string" value="aera"/>+</exec>+</script>+<script name="gameloop">+<exec module="bounty" name="loop"/>+</script>+<script name="initbriefing">+<exec module="bounty" name="initbriefing">+</exec>+</script>+<script name="loopbriefing">+<exec module="bounty" name="loopbriefing">+</exec>+</script>+<script name="endbriefing">+<exec module="bounty" name="endbriefing">+</exec>+</script>+++</module>+</mission>Added: trunk/italiano/0.4.3/mission/bounty/aera/bounty_outsystem_headhunting.mission===================================================================--- trunk/italiano/0.4.3/mission/bounty/aera/bounty_outsystem_headhunting.mission (rev 0)+++ trunk/italiano/0.4.3/mission/bounty/aera/bounty_outsystem_headhunting.mission2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,58 @@+<mission>+<settings>+<origin planet="earth" x="0000" y="100" z="000.0"/>+</settings>++<variables>+<var name="defaultplayer" value="blue"/>+<var name="system" value="enigma_sector/blake" />+<var name="mission_name" value="Bounty Mission" />+<var name="description" value="Vorremo mettere una taglia sul capo di una formazione di navi aera che si trova tra 1 e 3 sistemi da qu\xEC. Una volta ucciso il capopattuglia, verrai ricompensato con 16345 crediti." />+</variables>+ <flightgroups>+ <flightgroup name="blue" faction="confed" type="nova" ainame="default" waves="1" nr_ships="2">+<pos x="0400" y="-35400" z="47200000"/>+<rot x="180.0" y="180.0" z="180.0"/>+<order order="tmptarget" target="omikron"/>+<order priority="0" order="superiority" target="enemy"/>+<order priority="1" order="bomber" target="omikron"/>+<order priority="2" order="escort" target="blue"/>+</flightgroup>+ </flightgroups>+<python>+import bounty+newmission = bounty.bounty (1, 2, 16345, 1, 1, 'aera')+newmission=0++</python>+<madule name="director">+<import name="bounty"/>+<script name="initgame">+<exec module="bounty" name="init">+<const type="int" value="1"/> <!--num systems away the delivery point is -->+<const type="int" value="2"/> <!--num systems away the delivery point is -->+<const type="float" value="16345"/> <!-- how much you are paid -->+<const type="bool" value="true"/> <!--does he run away -->+<const type="int" value="1"/> <!--difficulty-->+<const type="object" object="string" value="aera"/>+</exec>+</script>+<script name="gameloop">+<exec module="bounty" name="loop"/>+</script>+<script name="initbriefing">+<exec module="bounty" name="initbriefing">+</exec>+</script>+<script name="loopbriefing">+<exec module="bounty" name="loopbriefing">+</exec>+</script>+<script name="endbriefing">+<exec module="bounty" name="endbriefing">+</exec>+</script>+++</module>+</mission>Added: trunk/italiano/0.4.3/mission/bounty/aera/bounty_outsystem_wing.mission===================================================================--- trunk/italiano/0.4.3/mission/bounty/aera/bounty_outsystem_wing.mission (rev 0)+++ trunk/italiano/0.4.3/mission/bounty/aera/bounty_outsystem_wing.mission2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,58 @@+<mission>+<settings>+<origin planet="earth" x="0000" y="100" z="000.0"/>+</settings>++<variables>+<var name="defaultplayer" value="blue"/>+<var name="system" value="enigma_sector/blake" />+<var name="mission_name" value="Bounty Mission" />+<var name="description" value="Vorremo mettere una taglia sul capo di una formazione di navi aera che si trova tra 1 e 3 sistemi da qu\xEC. Una volta ucciso il capopattuglia, verrai ricompensato con 22394 crediti." />+</variables>+ <flightgroups>+ <flightgroup name="blue" faction="confed" type="nova" ainame="default" waves="1" nr_ships="2">+<pos x="0400" y="-35400" z="47200000"/>+<rot x="180.0" y="180.0" z="180.0"/>+<order order="tmptarget" target="omikron"/>+<order priority="0" order="superiority" target="enemy"/>+<order priority="1" order="bomber" target="omikron"/>+<order priority="2" order="escort" target="blue"/>+</flightgroup>+ </flightgroups>+<python>+import bounty+newmission = bounty.bounty (2, 4, 22394, 0, 2, 'aera')+newmission=0++</python>+<madule name="director">+<import name="bounty"/>+<script name="initgame">+<exec module="bounty" name="init">+<const type="int" value="2"/> <!--num systems away the delivery point is -->+<const type="int" value="4"/> <!--num systems away the delivery point is -->+<const type="float" value="22394"/> <!-- how much you are paid -->+<const type="bool" value="false"/> <!--does he run away -->+<const type="int" value="2"/> <!--difficulty-->+<const type="object" object="string" value="aera"/>+</exec>+</script>+<script name="gameloop">+<exec module="bounty" name="loop"/>+</script>+<script name="initbriefing">+<exec module="bounty" name="initbriefing">+</exec>+</script>+<script name="loopbriefing">+<exec module="bounty" name="loopbriefing">+</exec>+</script>+<script name="endbriefing">+<exec module="bounty" name="endbriefing">+</exec>+</script>+++</module>+</mission>Added: trunk/italiano/0.4.3/mission/bounty/bounty.mission===================================================================--- trunk/italiano/0.4.3/mission/bounty/bounty.mission (rev 0)+++ trunk/italiano/0.4.3/mission/bounty/bounty.mission2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,57 @@+<mission>+<settings>+<origin planet="earth" x="0000" y="100" z="000.0"/>+</settings>++<variables>+<var name="defaultplayer" value="blue"/>+<var name="system" value="enigma_sector/blake" />+<var name="mission_name" value="Bounty Mission" />+<var name="description" value="Uno dei nostri avversari ci ha disturbato troppo negli ultimi tempi e pensiamo che sia necessario eliminarlo. Si ritiene che si trovi tra 1 e 4 sistemi di distanza, e offriamo una ingente somma di denaro per la sua eliminazione. Non possiamo rivelarti altro per il momento." />+</variables>+ <flightgroups>+ <flightgroup name="blue" faction="confed" type="nova" ainame="default" waves="1" nr_ships="2">+<pos x="0400" y="-35400" z="47200000"/>+<rot x="180.0" y="180.0" z="180.0"/>+<order order="tmptarget" target="omikron"/>+<order priority="0" order="superiority" target="enemy"/>+<order priority="1" order="bomber" target="omikron"/>+<order priority="2" order="escort" target="blue"/>+</flightgroup>+ </flightgroups>+<python>+import bounty+newmission = bounty.initrandom (0, 4, 8025,14995, 1,0 , 3)+newmission=0+</python>+<madule name="director">+<import name="bounty"/>+<script name="initgame">+<exec module="bounty" name="initrandom">+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="int" value="4"/> <!--num systems away the delivery point is -->+<const type="float" value="8025"/> <!-- how much you are paid -->+<const type="float" value="12025"/> <!-- how much you are paid -->++<const type="bool" value="true"/> <!--does he run away -->+<const type="int" value="0"/> <!--difficulty-->+<const type="int" value="3"/> <!--difficulty-->+</exec>+</script>+<script name="gameloop">+<exec module="bounty" name="loop"/>+</script>+<script name="initbriefing">+<exec module="bounty" name="initbriefing">+</exec>+</script>+<script name="loopbriefing">+<exec module="bounty" name="loopbriefing">+</exec>+</script>+<script name="endbriefing">+<exec module="bounty" name="endbriefing">+</exec>+</script>+</module>+</mission>Added: trunk/italiano/0.4.3/mission/bounty/confed/bounty_escape.mission===================================================================--- trunk/italiano/0.4.3/mission/bounty/confed/bounty_escape.mission (rev 0)+++ trunk/italiano/0.4.3/mission/bounty/confed/bounty_escape.mission2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,57 @@+<mission>+<settings>+<origin planet="earth" x="0000" y="100" z="000.0"/>+</settings>++<variables>+<var name="defaultplayer" value="blue"/>+<var name="system" value="enigma_sector/blake" />+<var name="mission_name" value="Bounty Mission" />+<var name="description" value="Una nave federale \xE8 penetrata in questo sistema. La nave \xE8 sulla rotta di ritorno verso i quartieri generali confed. \xC8 perentoria la distruzione della nave. A distruzione avvenuta, guadagnerai 10745 crediti" />+</variables>+ <flightgroups>+ <flightgroup name="blue" faction="confed" type="nova" ainame="default" waves="1" nr_ships="2">+<pos x="0400" y="-35400" z="47200000"/>+<rot x="180.0" y="180.0" z="180.0"/>+<order order="tmptarget" target="omikron"/>+<order priority="0" order="superiority" target="enemy"/>+<order priority="1" order="bomber" target="omikron"/>+<order priority="2" order="escort" target="blue"/>+</flightgroup>+ </flightgroups>+<python>+import bounty+newmission = bounty.bounty (0, 0, 10745, 1, 0, 'confed')+newmission=0++</python>+<madule name="director">+<import name="bounty"/>+<script name="initgame">+<exec module="bounty" name="init">+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="float" value="10745"/> <!-- how much you are paid -->+<const type="bool" value="true"/> <!--does he run away -->+<const type="int" value="0"/> <!--difficulty-->+<const type="object" object="string" value="confed"/>+</exec>+</script>+<script name="gameloop">+<exec module="bounty" name="loop"/>+</script>+<script name="initbriefing">+<exec module="bounty" name="initbriefing">+</exec>+</script>+<script name="loopbriefing">+<exec module="bounty" name="loopbriefing">+</exec>+</script>+<script name="endbriefing">+<exec module="bounty" name="endbriefing">+</exec>+</script>++</module>+</mission>Added: trunk/italiano/0.4.3/mission/bounty/confed/bounty_escape_headhunting.mission===================================================================--- trunk/italiano/0.4.3/mission/bounty/confed/bounty_escape_headhunting.mission (rev 0)+++ trunk/italiano/0.4.3/mission/bounty/confed/bounty_escape_headhunting.mission2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,56 @@+<mission>+<settings>+<origin planet="earth" x="0000" y="100" z="000.0"/>+</settings>++<variables>+<var name="defaultplayer" value="blue"/>+<var name="system" value="enigma_sector/blake" />+<var name="mission_name" value="Bounty Mission" />+<var name="description" value="Due navi confed sono state avvistate nel sistema. Hanno rubato informazioni importanti e stanno scappando. Devi terminarle subito: guadagnerai 12460 crediti." />+</variables>+ <flightgroups>+ <flightgroup name="blue" faction="confed" type="nova" ainame="default" waves="1" nr_ships="2">+<pos x="0400" y="-35400" z="47200000"/>+<rot x="180.0" y="180.0" z="180.0"/>+<order order="tmptarget" target="omikron"/>+<order priority="0" order="superiority" target="enemy"/>+<order priority="1" order="bomber" target="omikron"/>+<order priority="2" order="escort" target="blue"/>+</flightgroup>+ </flightgroups>+<python>+import bounty+newmission = bounty.bounty (0, 0, 12460, 1, 1, 'confed')+newmission=0+</python>+<madule name="director">+<import name="bounty"/>+<script name="initgame">+<exec module="bounty" name="init">+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="int" value="0"/> <!--num systems away the delivery point is -->+<const type="float" value="12460"/> <!-- how much you are paid -->+<const type="bool" value="true"/> <!--does he run away -->+<const type="int" value="1"/> <!--difficulty-->+<const type="object" object="string" value="confed"/>+</exec>+</script>+<script name="gameloop">+<exec module="bounty" name="loop"/>+</script>+<script name="initbriefing">+<exec module="bounty" name="initbriefing">+</exec>+</script>+<script name="loopbriefing">+<exec module="bounty" name="loopbriefing">+</exec>+</script>+<script name="endbriefing">+<exec module="bounty" name="endbriefing">+</exec>+</script>++</module>+</mission>Added: trunk/italiano/0.4.3/mission/bounty/confed/bounty_escape_wing.mission===================================================================--- trunk/italiano/0.4.3/mission/bounty/confed/bounty_escape_wing.mission (rev 0)+++ trunk/italiano/0.4.3/mission/bounty/confed/bounty_escape_wing.mission2006-03-11 21:15:12 UTC (rev 10133)@@ -0,0 +1,57 @@+<mission>+<settings>+<origin planet="earth" x="0000" y="100" z="000.0"/>+</settings>++<variables>+<var name="defaultplayer" value="blue"/>+<var name="system" value="enigma_sector/blake" />+<var name="mission_name" value="Bounty Mission" />+<var name="description" value="Una pattuglia confed... [truncated message content]

[Vegastrike-cvs] SF.net SVN: vegastrike: [10135] trunk

From: <fad...@us...> - 2006-03-11 21:19:24

Revision: 10135Author: fadookieDate: 2006-03-11 13:19:20 -0800 (Sat, 11 Mar 2006)ViewCVS: Log Message:-----------Moved remotelyAdded Paths:----------- trunk/translations/italiano/Removed Paths:------------- trunk/italiano/Copied: trunk/translations/italiano (from rev 10134, trunk/italiano)

[Vegastrike-cvs] SF.net SVN: vegastrike: [10678] trunk

From: <ac...@us...> - 2006-09-12 04:23:08

Revision: 10678 Author: ace123Date: 2006-09-11 21:22:56 -0700 (Mon, 11 Sep 2006)Log Message:-----------Fixed a bunch of HTTP connection problems with nonblocking connections.Also fixed a stderr write in the accountserver--IIS concatenates stderr with stdout in CGI scripts.Modified Paths:-------------- trunk/vega-proj/vegastrike.dsp trunk/vega-proj/vsacctserver/vsacctserver.dsp trunk/vega-proj/vsserver/vsserver.dsp trunk/vegastrike/cgi-accountserver/accountserver.py trunk/vegastrike/src/cmd/collide_map.cpp trunk/vegastrike/src/networking/lowlevel/vsnet_sockethttp.cpp trunk/vegastrike/src/networking/netclient.cpp trunk/vegastrike/src/networking/netclient_login.cppAdded Paths:----------- trunk/vega-proj/include/hash_mapAdded: trunk/vega-proj/include/hash_map===================================================================--- trunk/vega-proj/include/hash_map (rev 0)+++ trunk/vega-proj/include/hash_map2006-09-12 04:22:56 UTC (rev 10678)@@ -0,0 +1,13 @@+#ifndef _HASH_MAP_H_+#define _HASH_MAP_H_+#include <map>++using namespace std;++namespace stdext {+template<class KEY, class VALUE>+class hash_map : public ::std::map<KEY,VALUE> {+};+};++#endifModified: trunk/vega-proj/vegastrike.dsp===================================================================(Binary files differ)Modified: trunk/vega-proj/vsacctserver/vsacctserver.dsp===================================================================--- trunk/vega-proj/vsacctserver/vsacctserver.dsp2006-09-11 21:03:09 UTC (rev 10677)+++ trunk/vega-proj/vsacctserver/vsacctserver.dsp2006-09-12 04:22:56 UTC (rev 10678)@@ -287,6 +287,14 @@ # End Source File # Begin Source File +SOURCE=..\..\vegastrike\src\networking\lowlevel\vsnet_sockethttp.cpp+# End Source File+# Begin Source File++SOURCE=..\..\vegastrike\src\networking\lowlevel\vsnet_sockethttp.h+# End Source File+# Begin Source File+ SOURCE=..\..\vegastrike\src\networking\lowlevel\vsnet_socketset.cpp # End Source File # Begin Source FileModified: trunk/vega-proj/vsserver/vsserver.dsp===================================================================--- trunk/vega-proj/vsserver/vsserver.dsp2006-09-11 21:03:09 UTC (rev 10677)+++ trunk/vega-proj/vsserver/vsserver.dsp2006-09-12 04:22:56 UTC (rev 10678)@@ -712,6 +712,10 @@ # End Source File # Begin Source File +SOURCE=..\..\vegastrike\src\cmd\pilot.cpp+# End Source File+# Begin Source File+ SOURCE=..\..\vegastrike\src\cmd\planet_generic.cpp # End Source File # Begin Source File@@ -1111,6 +1115,14 @@ # End Source File # Begin Source File +SOURCE=..\..\vegastrike\src\networking\lowlevel\vsnet_sockethttp.cpp+# End Source File+# Begin Source File++SOURCE=..\..\vegastrike\src\networking\lowlevel\vsnet_sockethttp.h+# End Source File+# Begin Source File+ SOURCE=..\..\vegastrike\src\networking\lowlevel\vsnet_socketset.cpp # End Source File # Begin Source FileModified: trunk/vegastrike/cgi-accountserver/accountserver.py===================================================================--- trunk/vegastrike/cgi-accountserver/accountserver.py2006-09-11 21:03:09 UTC (rev 10677)+++ trunk/vegastrike/cgi-accountserver/accountserver.py2006-09-12 04:22:56 UTC (rev 10678)@@ -148,8 +148,9 @@ get_form=False post_form=False def execute(conn,url,post):-print '\r'-sys.stderr.write('Executing post query: '+post+'\n')+print '\n'+ # Can't write to stderr since on IIS it is concatenated with stdout.+#sys.stderr.write('Executing post query: '+post+'\n') try: packet = Packet(conn, post) #if it crashes we dont care..this is python command = packet.getChar()Modified: trunk/vegastrike/src/cmd/collide_map.cpp===================================================================--- trunk/vegastrike/src/cmd/collide_map.cpp2006-09-11 21:03:09 UTC (rev 10677)+++ trunk/vegastrike/src/cmd/collide_map.cpp2006-09-12 04:22:56 UTC (rev 10678)@@ -251,7 +251,6 @@ void CollideArray::checkSet() { if (this->begin()!=this->end()) {- iterator iter; for (iterator newiter=this->begin(), iter=newiter++;newiter!=this->end();iter=newiter++) { assert(*iter<*newiter); }Modified: trunk/vegastrike/src/networking/lowlevel/vsnet_sockethttp.cpp===================================================================--- trunk/vegastrike/src/networking/lowlevel/vsnet_sockethttp.cpp2006-09-11 21:03:09 UTC (rev 10677)+++ trunk/vegastrike/src/networking/lowlevel/vsnet_sockethttp.cpp2006-09-12 04:22:56 UTC (rev 10678)@@ -34,11 +34,13 @@ bool VsnetHTTPSocket::write_on_negative() { return need_test_writable(); }-bool VsnetHTTPSocket::need_test_writable( ){- if ((int)(getNewTime()-1) < timeToNextRequest) {- return false;+bool VsnetHTTPSocket::need_test_writable( ){+ if (_fd<=0) {+ if ((int)(queryTime()-1) < timeToNextRequest) {+ return false;+ } }- //std::cout << "retry: " << (int)(getNewTime()-1) << " < " << timeToNextRequest << std::endl;+ //std::cout << "retry: " << (int)(queryTime()-1) << " < " << timeToNextRequest << std::endl; return !dataToSend.empty(); } bool ishex(char x) {@@ -112,8 +114,8 @@ if (dataToReceive.length()==0) waitingToReceive=std::string();-- timeToNextRequest = (int)getNewTime() + 2;+ _send_more_data=true;+ timeToNextRequest = (int)queryTime() + 2; if (this->_fd>=0) { this->close_fd(); this->_fd=-1;@@ -166,17 +168,18 @@ if (!waitingToReceive.empty()) return 0; -if (!(this->_fd == -1 || _send_more_data || _content_length ||+if ( this->_fd == -1 ) {+reopenConnection();+return 0;+}++if (!(_send_more_data || _content_length || _incompleteheader.length() || _header.size())) { COUT << "Error: HTTP data being sent while incomplete header exists"; this->close_fd(); this->_fd=-1;-}-if ( this->_fd == -1 ) {-reopenConnection();+} -}- std::string dataSending = dataToSend.front(); std::string httpData; char endHeaderLen[50];@@ -203,7 +206,8 @@ } if (retrycnt) { // What!?! A HTTP server decided to close the connection? The horror...-reopenConnection();+reopenConnection();+return 0; } else { return 0; }@@ -261,7 +265,7 @@ } break;//always break }-_incompleteheader.push_back(rcvchr);+_incompleteheader += (rcvchr); return false; } int errchance=9;@@ -278,7 +282,7 @@ return; } numRetries ++;-timeToNextRequest = (int)getNewTime() + 2;+timeToNextRequest = (int)queryTime() + 2; dataToSend.push_front(waitingToReceive); waitingToReceive=std::string(); _header.clear();Modified: trunk/vegastrike/src/networking/netclient.cpp===================================================================--- trunk/vegastrike/src/networking/netclient.cpp2006-09-11 21:03:09 UTC (rev 10677)+++ trunk/vegastrike/src/networking/netclient.cpp2006-09-12 04:22:56 UTC (rev 10678)@@ -1236,7 +1236,8 @@ vector<string> usernames; vector<string> passwords; vector <SOCKETALT*> udp;- for (unsigned int i=0;i<_Universe->numPlayers();++i) {+ unsigned int i;+ for (i=0;i<_Universe->numPlayers();++i) { usernames.push_back(Network[i].callsign); passwords.push_back(Network[i].password); SOCKETALT * udpsocket=Network[i].logout(true);@@ -1249,7 +1250,7 @@ _Universe->clearAllSystems(); localSerials.resize(0); - for (unsigned int i=0;i<_Universe->numPlayers();++i) {+ for (i=0;i<_Universe->numPlayers();++i) { Network[i].Reinitialize(); } //necessary? usually we would ask acctserver for it .. or pass it in NetClient::getConfigServerAddress(srvipadr, port);Modified: trunk/vegastrike/src/networking/netclient_login.cpp===================================================================--- trunk/vegastrike/src/networking/netclient_login.cpp2006-09-11 21:03:09 UTC (rev 10677)+++ trunk/vegastrike/src/networking/netclient_login.cpp2006-09-12 04:22:56 UTC (rev 10678)@@ -173,7 +173,7 @@ double initial = queryTime(); double newtime=0; double elapsed=0;-string login_tostr = vs_config->getVariable( "network", "logintimeout", "10" );+string login_tostr = vs_config->getVariable( "network", "logintimeout", "20" ); int login_to = atoi( login_tostr.c_str()); while( !timeout && !recv) {

[Vegastrike-cvs] SF.net SVN: vegastrike: [10724] trunk

From: <ac...@us...> - 2006-09-22 04:02:18

Revision: 10724 Author: ace123Date: 2006-09-21 21:02:10 -0700 (Thu, 21 Sep 2006)Log Message:-----------bah bah windows project add SharedPool.cppModified Paths:-------------- trunk/vega-proj/vegastrike.dsp trunk/vega-proj/vsacctserver/vsacctserver.dsp trunk/vega-proj/vsserver/vsserver.dsp trunk/vega-vc8/vsacctserver/vsacctserver.vcproj trunk/vega-vc8/vsserver/vsserver.vcprojModified: trunk/vega-proj/vegastrike.dsp===================================================================(Binary files differ)Modified: trunk/vega-proj/vsacctserver/vsacctserver.dsp===================================================================--- trunk/vega-proj/vsacctserver/vsacctserver.dsp2006-09-22 03:55:29 UTC (rev 10723)+++ trunk/vega-proj/vsacctserver/vsacctserver.dsp2006-09-22 04:02:10 UTC (rev 10724)@@ -124,6 +124,10 @@ # End Source File # Begin Source File +SOURCE=..\..\vegastrike\src\SharedPool.cpp+# End Source File+# Begin Source File+ SOURCE=..\..\vegastrike\src\vsfilesystem.cpp # End Source File # Begin Source FileModified: trunk/vega-proj/vsserver/vsserver.dsp===================================================================--- trunk/vega-proj/vsserver/vsserver.dsp2006-09-22 03:55:29 UTC (rev 10723)+++ trunk/vega-proj/vsserver/vsserver.dsp2006-09-22 04:02:10 UTC (rev 10724)@@ -172,6 +172,10 @@ # End Source File # Begin Source File +SOURCE=..\..\vegastrike\src\SharedPool.cpp+# End Source File+# Begin Source File+ SOURCE=..\..\vegastrike\src\star_system_generic.cpp # End Source File # Begin Source File@@ -272,6 +276,10 @@ # End Source File # Begin Source File +SOURCE=..\..\vegastrike\src\SharedPool.h+# End Source File+# Begin Source File+ SOURCE=..\..\vegastrike\src\star_system_generic.h # End Source File # Begin Source FileModified: trunk/vega-vc8/vsacctserver/vsacctserver.vcproj===================================================================--- trunk/vega-vc8/vsacctserver/vsacctserver.vcproj2006-09-22 03:55:29 UTC (rev 10723)+++ trunk/vega-vc8/vsacctserver/vsacctserver.vcproj2006-09-22 04:02:10 UTC (rev 10724)@@ -367,6 +367,10 @@ > </File> <File+RelativePath="..\..\vegastrike\src\SharedPool.cpp"+>+</File>+<File RelativePath="..\..\vegastrike\src\vsfilesystem.cpp" > </File>Modified: trunk/vega-vc8/vsserver/vsserver.vcproj===================================================================--- trunk/vega-vc8/vsserver/vsserver.vcproj2006-09-22 03:55:29 UTC (rev 10723)+++ trunk/vega-vc8/vsserver/vsserver.vcproj2006-09-22 04:02:10 UTC (rev 10724)@@ -568,6 +568,10 @@ </FileConfiguration> </File> <File+RelativePath="..\..\vegastrike\src\SharedPool.cpp"+>+</File>+<File RelativePath="..\..\vegastrike\src\star_system_generic.cpp" > <FileConfiguration

[Vegastrike-cvs] SF.net SVN: vegastrike: [10794] trunk

From: <ac...@us...> - 2006-11-25 01:22:43

Revision: 10794 Author: ace123Date: 2006-11-24 17:22:43 -0800 (Fri, 24 Nov 2006)Log Message:-----------Made Vegaserver compilable on Linux without OpenGL/SDLMoved vssetup into vegastrike source tree.Modified Paths:-------------- trunk/vega-proj/vssetup/vssetup.dsp trunk/vega-vc7/vssetup/vssetup.vcproj trunk/vega-vc8/vssetup/vssetup.vcproj trunk/vegastrike/Makefile.am trunk/vegastrike/configure.acAdded Paths:----------- trunk/vegastrike/m4scripts/VS_CONFIG_GTKUTILS.m4 trunk/vegastrike/setup/Removed Paths:------------- trunk/vegastrike/m4scripts/VS_CONFIG_VSLAUNCHER.m4 trunk/vssetup/Modified: trunk/vega-proj/vssetup/vssetup.dsp===================================================================--- trunk/vega-proj/vssetup/vssetup.dsp2006-11-23 22:11:13 UTC (rev 10793)+++ trunk/vega-proj/vssetup/vssetup.dsp2006-11-25 01:22:43 UTC (rev 10794)@@ -87,27 +87,27 @@ # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File -SOURCE=..\..\vssetup\src\include\central.cpp+SOURCE=..\..\vegastrike\setup\src\include\central.cpp # End Source File # Begin Source File -SOURCE=..\..\vssetup\src\include\display_gtk.cpp+SOURCE=..\..\vegastrike\setup\src\include\display_gtk.cpp # End Source File # Begin Source File -SOURCE=..\..\vssetup\src\include\file.cpp+SOURCE=..\..\vegastrike\setup\src\include\file.cpp # End Source File # Begin Source File -SOURCE=..\..\vssetup\src\include\general.c+SOURCE=..\..\vegastrike\setup\src\include\general.cpp # End Source File # Begin Source File -SOURCE=..\..\vssetup\src\c\setup.cpp+SOURCE=..\..\vegastrike\setup\src\c\setup.cpp # End Source File # Begin Source File -SOURCE=..\..\vssetup\vega.rc+SOURCE=..\..\vegastrike\setup\vega.rc # End Source File # End Group # Begin Group "Header Files"@@ -115,19 +115,19 @@ # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File -SOURCE=..\..\vssetup\src\include\central.h+SOURCE=..\..\vegastrike\setup\src\include\central.h # End Source File # Begin Source File -SOURCE=..\..\vssetup\src\include\display_gtk.h+SOURCE=..\..\vegastrike\setup\src\include\display_gtk.h # End Source File # Begin Source File -SOURCE=..\..\vssetup\src\include\file.h+SOURCE=..\..\vegastrike\setup\src\include\file.h # End Source File # Begin Source File -SOURCE=..\..\vssetup\src\include\general.h+SOURCE=..\..\vegastrike\setup\src\include\general.h # End Source File # Begin Source File @@ -143,7 +143,7 @@ # End Source File # Begin Source File -SOURCE=..\..\vssetup\icon1.ico+SOURCE=..\..\vegastrike\setup\icon1.ico # End Source File # End Group # End TargetModified: trunk/vega-vc7/vssetup/vssetup.vcproj===================================================================--- trunk/vega-vc7/vssetup/vssetup.vcproj2006-11-23 22:11:13 UTC (rev 10793)+++ trunk/vega-vc7/vssetup/vssetup.vcproj2006-11-25 01:22:43 UTC (rev 10794)@@ -143,7 +143,7 @@ Name="Source Files" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"> <File-RelativePath="..\..\vssetup\src\include\central.cpp">+RelativePath="..\..\vegastrike\setup\src\include\central.cpp"> <FileConfiguration Name="Debug|Win32"> <Tool@@ -164,7 +164,7 @@ </FileConfiguration> </File> <File-RelativePath="..\..\vssetup\src\include\display_gtk.cpp">+RelativePath="..\..\vegastrike\setup\src\include\display_gtk.cpp"> <FileConfiguration Name="Debug|Win32"> <Tool@@ -185,7 +185,7 @@ </FileConfiguration> </File> <File-RelativePath="..\..\vssetup\src\include\file.cpp">+RelativePath="..\..\vegastrike\setup\src\include\file.cpp"> <FileConfiguration Name="Debug|Win32"> <Tool@@ -206,7 +206,7 @@ </FileConfiguration> </File> <File-RelativePath="..\..\vssetup\src\include\general.c">+RelativePath="..\..\vegastrike\setup\src\include\general.cpp"> <FileConfiguration Name="Debug|Win32"> <Tool@@ -227,7 +227,7 @@ </FileConfiguration> </File> <File-RelativePath="..\..\vssetup\src\c\setup.cpp">+RelativePath="..\..\vegastrike\setup\src\c\setup.cpp"> <FileConfiguration Name="Debug|Win32"> <Tool@@ -248,36 +248,36 @@ </FileConfiguration> </File> <File-RelativePath="..\..\vssetup\vega.rc">+RelativePath="..\..\vegastrike\setup\vega.rc"> </File> </Filter> <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl"> <File-RelativePath="..\..\vssetup\src\include\central.h">+RelativePath="..\..\vegastrike\setup\src\include\central.h"> </File> <File-RelativePath="..\..\vssetup\src\include\display_gtk.h">+RelativePath="..\..\vegastrike\setup\src\include\display_gtk.h"> </File> <File-RelativePath="..\..\vssetup\src\include\file.h">+RelativePath="..\..\vegastrike\setup\src\include\file.h"> </File> <File-RelativePath="..\..\vssetup\src\include\general.h">+RelativePath="..\..\vegastrike\setup\src\include\general.h"> </File> <File RelativePath="resource.h"> </File> <File-RelativePath="..\..\vssetup\resource.h">+RelativePath="..\..\vegastrike\setup\resource.h"> </File> </Filter> <Filter Name="Resource Files" Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"> <File-RelativePath="..\..\vssetup\icon1.ico">+RelativePath="..\..\vegastrike\setup\icon1.ico"> </File> </Filter> </Files>Modified: trunk/vega-vc8/vssetup/vssetup.vcproj===================================================================--- trunk/vega-vc8/vssetup/vssetup.vcproj2006-11-23 22:11:13 UTC (rev 10793)+++ trunk/vega-vc8/vssetup/vssetup.vcproj2006-11-25 01:22:43 UTC (rev 10794)@@ -208,7 +208,7 @@ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" > <File-RelativePath="..\..\vssetup\src\include\central.cpp"+RelativePath="..\..\vegastrike\setup\src\include\central.cpp" > <FileConfiguration Name="Debug|Win32"@@ -234,7 +234,7 @@ </FileConfiguration> </File> <File-RelativePath="..\..\vssetup\src\include\display_gtk.cpp"+RelativePath="..\..\vegastrike\setup\src\include\display_gtk.cpp" > <FileConfiguration Name="Debug|Win32"@@ -260,7 +260,7 @@ </FileConfiguration> </File> <File-RelativePath="..\..\vssetup\src\include\file.cpp"+RelativePath="..\..\vegastrike\setup\src\include\file.cpp" > <FileConfiguration Name="Debug|Win32"@@ -286,7 +286,7 @@ </FileConfiguration> </File> <File-RelativePath="..\..\vssetup\src\include\general.c"+RelativePath="..\..\vegastrike\setup\src\include\general.cpp" > <FileConfiguration Name="Debug|Win32"@@ -312,7 +312,7 @@ </FileConfiguration> </File> <File-RelativePath="..\..\vssetup\src\c\setup.cpp"+RelativePath="..\..\vegastrike\setup\src\c\setup.cpp" > <FileConfiguration Name="Debug|Win32"@@ -338,7 +338,7 @@ </FileConfiguration> </File> <File-RelativePath="..\..\vssetup\vega.rc"+RelativePath="..\..\vegastrike\setup\vega.rc" > </File> </Filter>@@ -347,19 +347,19 @@ Filter="h;hpp;hxx;hm;inl" > <File-RelativePath="..\..\vssetup\src\include\central.h"+RelativePath="..\..\vegastrike\setup\src\include\central.h" > </File> <File-RelativePath="..\..\vssetup\src\include\display_gtk.h"+RelativePath="..\..\vegastrike\setup\src\include\display_gtk.h" > </File> <File-RelativePath="..\..\vssetup\src\include\file.h"+RelativePath="..\..\vegastrike\setup\src\include\file.h" > </File> <File-RelativePath="..\..\vssetup\src\include\general.h"+RelativePath="..\..\vegastrike\setup\src\include\general.h" > </File> <File@@ -367,7 +367,7 @@ > </File> <File-RelativePath="..\..\vssetup\resource.h"+RelativePath="..\..\vegastrike\setup\resource.h" > </File> </Filter>@@ -376,7 +376,7 @@ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" > <File-RelativePath="..\..\vssetup\icon1.ico"+RelativePath="..\..\vegastrike\setup\icon1.ico" > </File> </Filter>Modified: trunk/vegastrike/Makefile.am===================================================================--- trunk/vegastrike/Makefile.am2006-11-23 22:11:13 UTC (rev 10793)+++ trunk/vegastrike/Makefile.am2006-11-25 01:22:43 UTC (rev 10794)@@ -384,26 +384,41 @@ src/cmd/weapon_xml.cpp \ src/cmd/weapon_xml.h -if VS_MAKE_LAUNCHER- VSLAUNCHER_PROG=vslauncher+if VS_MAKE_GTKUTILS+ GTKUTILS_PROG=vssetup vslauncher else- VSLUANCHER_PROG=+ GTKUTILS_PROG= endif++if VS_MAKE_NO_CLIENT+ VS_MAKE_SOUNDSERVER=+ CLIENT_PROG=+else+ CLIENT_PROG= \+ vegastrike \+ base_maker+endif++if VS_MAKE_SOUNDSERVER+ MUSIC_PROG= soundserver+else+ MUSIC_PROG=+endif+ bin_PROGRAMS = \+ $(CLIENT_PROG) \+ $(MUSIC_PROG) \ accountserver \ asteroidgen \- base_maker \ mesher \ mesh_xml \ tempgen \ replace \- soundserver \ trisort \ vegaserver \- vegastrike \ vsrextract \ vsrmake \- $(VSLAUNCHER_PROG)+ $(GTKUTILS_PROG) noinst_LIBRARIES=\ libboost_python.a \@@ -414,10 +429,11 @@ libnetlowlevel.a \ libscriptserver.a +# src/cmd/base_init.cpp cmdserver+ libcmdserver_a_SOURCES = \ $(LIBCMD) \ src/cmd/atmosphere_server.cpp \- src/cmd/base_init.cpp \ src/cmd/beam_server.cpp \ src/cmd/bolt_server.cpp \ src/cmd/unit_factory_server.cpp \@@ -464,13 +480,12 @@ src/gfx/mesh.h \ src/gfx/quaternion.cpp \ src/gfx/quaternion.h \- src/gfx/screenshot.cpp \- src/gfx/screenshot.h \ src/gfx/sphere_generic.cpp \ src/gfx/vec.cpp \ src/gfx/vec.h \ src/gfx/vertex.h + libgfxserver_a_SOURCES = \ src/gfx/sphere_server.cpp \ src/gfx/vsbox_server.cpp \@@ -488,9 +503,9 @@ src/gfx/lerp.h \ src/gfx/matrix.cpp \ src/gfx/matrix.h \- src/gfx/mesh_bin.cpp \ src/gfx/mesh_bxm.cpp \ src/gfx/mesh_bxm.h \+ src/gfx/mesh_bin.cpp \ src/gfx/mesh_io.h \ src/gfx/mesh_poly.cpp \ src/gfx/mesh_xml.cpp \@@ -499,8 +514,6 @@ src/gfx/mesh.h \ src/gfx/quaternion.cpp \ src/gfx/quaternion.h \- src/gfx/screenshot.cpp \- src/gfx/screenshot.h \ src/gfx/sphere_generic.cpp \ src/gfx/vec.cpp \ src/gfx/vec.h \@@ -609,7 +622,6 @@ vegaserver_DEPENDENCIES = \ libboost_python.a \ libcmdserver.a \- libgfx.a \ libgfxserver.a \ libnetlowlevel.a \ libscriptserver.a@@ -741,6 +753,7 @@ src/libserver.cpp \ src/universe_util_server.cpp +vegaserver_CXXFLAGS = -DNO_GFX vegaserver_SOURCES = \ $(LIBAI) \ $(LIBCOLLIDE) \@@ -926,6 +939,8 @@ src/gfx/quadtree.h \ src/gfx/ring.cpp \ src/gfx/ring.h \+ src/gfx/screenshot.cpp \+ src/gfx/screenshot.h \ src/gfx/sphere.cpp \ src/gfx/sphere.h \ src/gfx/sprite.cpp \@@ -1055,11 +1070,27 @@ tools/vsrextract.cpp \ tools/vsrtools.h +GTK_LIBS=`gtk-config --libs`+GTK_CFLAGS=`gtk-config --cflags` +vssetup_LDFLAGS = $(GTK_LIBS)+vssetup_CXXFLAGS= $(GTK_CFLAGS) -DGTK+vssetup_SOURCES = \+ setup/src/c/setup.cpp \+ setup/src/include/central.cpp \+ setup/src/include/central.h \+ setup/src/include/display_gtk.cpp \+ setup/src/include/display.h \+ setup/src/include/file.cpp \+ setup/src/include/file.h \+ setup/src/include/general.cpp \+ setup/src/include/general.h \+ src/common/common.cpp \+ src/common/common.h - vslauncher_LDFLAGS = `gtk-config --libs`- vslauncher_CXXFLAGS=`gtk-config --cflags`- vslauncher_SOURCES= \+vslauncher_LDFLAGS = $(GTK_LIBS)+vslauncher_CXXFLAGS= $(GTK_CFLAGS)+vslauncher_SOURCES= \ launcher/saveinterface.cpp \ launcher/general.cpp \ launcher/general.h \Modified: trunk/vegastrike/configure.ac===================================================================--- trunk/vegastrike/configure.ac2006-11-23 22:11:13 UTC (rev 10793)+++ trunk/vegastrike/configure.ac2006-11-25 01:22:43 UTC (rev 10794)@@ -218,7 +218,7 @@ CXXFLAGS="${saved_CXXFLAGS}" if test "x$gwarf2g3_supported" = "xyes"; then-DEBUG_FLAGS="-gdwarf-2 -g3"+DEBUG_FLAGS="-O0 -gdwarf-2 -g3" else saved_CXXFLAGS="${CXXFLAGS}" CXXFLAGS="-g3"@@ -226,18 +226,20 @@ CXXFLAGS="${saved_CXXFLAGS}" if test "x$g3_supported" = "xyes"; then- DEBUG_FLAGS="-g3"+ DEBUG_FLAGS="-O0 -g3" else- DEBUG_FLAGS="-g"+ DEBUG_FLAGS="-O0 -g" fi fi -AC_ARG_ENABLE(ggdb3, AC_HELP_STRING([--enable-ggdb3], [Add the -ggdb3 compiler flag.]), DEBUG_FLAGS="-ggdb3")+AC_ARG_ENABLE(ggdb3, AC_HELP_STRING([--enable-ggdb3], [Add the -ggdb3 compiler flag.]), DEBUG_FLAGS="-O0 -ggdb3") AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [Produce an executable with debugging symbols]), [VS_CXXFLAGS="${VS_CXXFLAGS} ${DEBUG_FLAGS}"]) AC_ARG_ENABLE(release, AC_HELP_STRING([--enable-release], [Produce an executable with optimizations]), [VS_CXXFLAGS="${VS_CXXFLAGS} -O2 -ffast-math"]) +AC_ARG_ENABLE(client, AC_HELP_STRING([--disable-client], [Only build vegaserver binary]), build_client=$enableval)+ AC_ARG_ENABLE(static, AC_HELP_STRING([--enable-static], [Produce a statically linked executable]), [VS_CXXFLAGS="${VS_CXXFLAGS} -static"]) AC_ARG_ENABLE(profile, AC_HELP_STRING([--enable-profile], [Produce an executable with profiling code]), [VS_CXXFLAGS="${VS_CXXFLAGS} -pg"])@@ -248,6 +250,12 @@ AC_ARG_ENABLE(macosx_bundle, AC_HELP_STRING([--enable-macosx-bundle], [Produce a MacOSX bundle executable]), [VS_CPPFLAGS="${VS_CPPFLAGS} -DWITH_MACOSX_BUNDLE=1"]) +if test "x${build_client}" = "xno" ; then+ VS_CXXFLAGS="${VS_CXXFLAGS} -DNO_GFX"+fi++AM_CONDITIONAL([VS_MAKE_NO_CLIENT], [test "x$build_client" = "xno"]) + VS_CXXFLAGS="${VS_CXXFLAGS} ${VS_ALIGN} ${USER_FLAGS}" dnl --------------------------------------------------------------------------@@ -347,18 +355,26 @@ VS_CHECK_PYTHON -VS_CHECK_SDL+AC_LANG(C++) +if test "x$build_client" = "xno"; then+ true+else+ VS_CHECK_SDL+ + dnl Only build soundserver if we have SDL Mixer (this is defined in CHECK_SDL)+ AM_CONDITIONAL([VS_MAKE_SOUNDSERVER], [test "x$have_SDL_mixer" = "xyes"]) + + AC_LANG(C++)+ VS_CHECK_GL+fi+ dnl -------------------------------------------------------------------------- dnl Check for car sim dnl -------------------------------------------------------------------------- AC_ARG_ENABLE(car, AC_HELP_STRING([--enable-car], [Produce an executable for car simulation]), [VS_CPPFLAGS="${VS_CPPFLAGS} -DCAR_SIM"; echo "making car simulator"]) -AC_LANG(C++)-VS_CHECK_GL-- dnl -------------------------------------------------------------------------- dnl Make sure that the scripts in m4scripts are available dnl --------------------------------------------------------------------------@@ -373,6 +389,12 @@ +if test "x$build_client" = "xno"; then+ echo "*** Building server without OpenGL support as requested."+else+dnl ==============================+dnl Disabling all checks for OpenGL if build_client is "no".+dnl ============================== dnl -------------------------------------------------------------------------- dnl Check for OpenGL headers@@ -513,6 +535,10 @@ CPPFLAGS="$saved_CPPFLAGS" VS_CPPFLAGS="${VS_CPPFLAGS} $GLUT_CPPFLAGS" +fi+dnl ==============================+dnl END if "$build_client" = "no" +dnl ============================== dnl -------------------------------------------------------------------------- dnl Check for expat library@@ -653,10 +679,14 @@ VS_CHECK_JPEG -VS_CHECK_OPENAL+if test "x$build_client" = "xno"; then+ echo "Not checking for audio libraries."+else+ VS_CHECK_OPENAL+ + VS_CHECK_VORBIS+fi -VS_CHECK_VORBIS- VS_CHECK_CRYPTO VS_CHECK_NETCOMM@@ -709,7 +739,7 @@ VS_WITH_CEGUI AC_LANG(C)-VS_CONFIG_VSLAUNCHER+VS_CONFIG_GTKUTILS AC_LANG(C++) # The boost include must come first to override includes from elsewhereCopied: trunk/vegastrike/m4scripts/VS_CONFIG_GTKUTILS.m4 (from rev 10793, trunk/vegastrike/m4scripts/VS_CONFIG_VSLAUNCHER.m4)===================================================================--- trunk/vegastrike/m4scripts/VS_CONFIG_GTKUTILS.m4 (rev 0)+++ trunk/vegastrike/m4scripts/VS_CONFIG_GTKUTILS.m42006-11-25 01:22:43 UTC (rev 10794)@@ -0,0 +1,15 @@+AC_DEFUN([VS_CONFIG_GTKUTILS], +[CHECK_GTK=1+HAVE_GTK=no+AC_ARG_ENABLE(gtk, AC_HELP_STRING([--disable-gtk], [Disable building of+vssetup (disable GTK)]), [CHECK_GTK=0])+if (test x$CHECK_GTK = x1); then+AM_PATH_GTK([1.2.0], [HAVE_GTK=yes], [HAVE_GTK=no])+fi+AM_CONDITIONAL([VS_MAKE_GTKUTILS], [test x$HAVE_GTK = xyes]) +if test x$HAVE_GTK = xno; then+ if test x$CHECK_GTK = x1; then+ AC_MSG_WARN([[GTK Was not found. VSSETUP will not be built.]])+ fi+fi+])Deleted: trunk/vegastrike/m4scripts/VS_CONFIG_VSLAUNCHER.m4===================================================================--- trunk/vegastrike/m4scripts/VS_CONFIG_VSLAUNCHER.m42006-11-23 22:11:13 UTC (rev 10793)+++ trunk/vegastrike/m4scripts/VS_CONFIG_VSLAUNCHER.m42006-11-25 01:22:43 UTC (rev 10794)@@ -1,15 +0,0 @@-AC_DEFUN([VS_CONFIG_VSLAUNCHER], -[CHECK_GTK=1-HAVE_GTK=no-AC_ARG_ENABLE(gtk, AC_HELP_STRING([--disable-gtk], [Disable building of-vslauncher (disable GTK)]), [CHECK_GTK=0])-if (test x$CHECK_GTK = x1); then-AM_PATH_GTK([1.2.0], [HAVE_GTK=yes], [HAVE_GTK=no])-fi-AM_CONDITIONAL([VS_MAKE_LAUNCHER], [test x$HAVE_GTK = xyes]) -if test x$HAVE_GTK = xno; then- if test x$CHECK_GTK = x1; then- AC_MSG_WARN([[GTK Was not found. VSLAUNCHER will not be built.]])- fi-fi-])Copied: trunk/vegastrike/setup (from rev 10793, trunk/vssetup)

[Vegastrike-cvs] SF.net SVN: vegastrike: [10798] trunk

From: <ja...@us...> - 2006-11-25 22:42:09

Revision: 10798 Author: jackSDate: 2006-11-25 14:42:08 -0800 (Sat, 25 Nov 2006)Log Message:-----------Word from on high is: CLEANUPRemoved Paths:------------- trunk/ethereal/ trunk/evilwm/ trunk/syseditor/ trunk/texturizer/ trunk/vega-new-proj/

[Vegastrike-cvs] SF.net SVN: vegastrike: [10799] trunk

From: <ja...@us...> - 2006-11-25 22:45:38

Revision: 10799 Author: jackSDate: 2006-11-25 14:45:37 -0800 (Sat, 25 Nov 2006)Log Message:-----------Word from on high is: CLEANUPRemoved Paths:------------- trunk/charserver/ trunk/virtuanet/

[Vegastrike-cvs] SF.net SVN: vegastrike: [10801] trunk

From: <ac...@us...> - 2006-11-26 03:30:21

Revision: 10801 Author: ace123Date: 2006-11-25 19:30:19 -0800 (Sat, 25 Nov 2006)Log Message:-----------VC8 compiling fixes windowsModified Paths:-------------- trunk/vega-vc8/savegame/savegame.vcproj trunk/vegastrike/launcher/launcher.rc trunk/vegastrike/setup/vega.rcModified: trunk/vega-vc8/savegame/savegame.vcproj===================================================================--- trunk/vega-vc8/savegame/savegame.vcproj2006-11-25 22:52:41 UTC (rev 10800)+++ trunk/vega-vc8/savegame/savegame.vcproj2006-11-26 03:30:19 UTC (rev 10801)@@ -71,7 +71,7 @@ /> <Tool Name="VCLinkerTool"-AdditionalDependencies="odbc32.lib odbccp32.lib glib-1.3.lib gdk-1.3.lib gtk-1.3.lib"+AdditionalDependencies="glib-1.3.lib gdk-1.3.lib gtk-1.3.lib" OutputFile="..\..\data4.x\bin\Launcher.exe" LinkIncremental="1" SuppressStartupBanner="true"@@ -163,7 +163,7 @@ /> <Tool Name="VCLinkerTool"-AdditionalDependencies="odbc32.lib odbccp32.lib glib-1.3.lib gdk-1.3.lib gtk-1.3.lib"+AdditionalDependencies="glib-1.3.lib gdk-1.3.lib gtk-1.3.lib" OutputFile="..\..\data4.x\bin\Launcherd.exe" LinkIncremental="1" SuppressStartupBanner="true"Modified: trunk/vegastrike/launcher/launcher.rc===================================================================--- trunk/vegastrike/launcher/launcher.rc2006-11-25 22:52:41 UTC (rev 10800)+++ trunk/vegastrike/launcher/launcher.rc2006-11-26 03:30:19 UTC (rev 10801)@@ -7,7 +7,7 @@ // // Generated from the TEXTINCLUDE 2 resource. //-#include "afxres.h"+//#include "afxres.h" ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS@@ -17,7 +17,7 @@ #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #ifdef _WIN32-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US+//LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) #endif //_WIN32 @@ -36,18 +36,18 @@ // TEXTINCLUDE // -1 TEXTINCLUDE MOVEABLE PURE +1 TEXTINCLUDE DISCARDABLE BEGIN "resource.h\0" END -2 TEXTINCLUDE MOVEABLE PURE -BEGIN- "#include ""afxres.h""\r\n"- "\0"-END+//2 TEXTINCLUDE DISCARDABLE +//BEGIN+// "#include ""afxres.h""\r\n"+// "\0"+//END -3 TEXTINCLUDE MOVEABLE PURE +3 TEXTINCLUDE DISCARDABLE BEGIN "\r\n" "\0"@@ -63,8 +63,8 @@ // VS_VERSION_INFO VERSIONINFO- FILEVERSION 0,4,3,0- PRODUCTVERSION 0,4,3,0+ FILEVERSION 0,4,4,0+ PRODUCTVERSION 0,4,4,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L@@ -82,14 +82,14 @@ VALUE "Comments", "Vega Strike is the 3D Space Simulator that allows you to trade and bounty hunt in a vast universe. Can you face the dangers and decisions that await...\0" VALUE "CompanyName", "Vega Strike Project\0" VALUE "FileDescription", "Vega Strike Launcher\0"- VALUE "FileVersion", "0.4.3\0"+ VALUE "FileVersion", "0.4.4\0" VALUE "InternalName", "vegastrike\0" VALUE "LegalCopyright", "\xA9 Copyright 1998-2005 Vega Strike Project. All rights reserved. See the Licence section of Readme.txt for details.\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "launcher.exe\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "Vega Strike\0"- VALUE "ProductVersion", "0.4.3\0"+ VALUE "ProductVersion", "0.4.4\0" VALUE "SpecialBuild", "\0" END ENDModified: trunk/vegastrike/setup/vega.rc===================================================================--- trunk/vegastrike/setup/vega.rc2006-11-25 22:52:41 UTC (rev 10800)+++ trunk/vegastrike/setup/vega.rc2006-11-26 03:30:19 UTC (rev 10801)@@ -63,8 +63,8 @@ // VS_VERSION_INFO VERSIONINFO- FILEVERSION 0,4,3,0- PRODUCTVERSION 0,4,3,0+ FILEVERSION 0,4,4,0+ PRODUCTVERSION 0,4,4,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L@@ -82,14 +82,14 @@ VALUE "Comments", "Vega Strike is the 3D Space Simulator that allows you to trade and bounty hunt in a vast universe. Can you face the dangers and decisions that await...\0" VALUE "CompanyName", "Vega Strike Project\0" VALUE "FileDescription", "Vega Strike Configurator\0"- VALUE "FileVersion", "0.4.3\0"+ VALUE "FileVersion", "0.4.4\0" VALUE "InternalName", "vegastrike\0" VALUE "LegalCopyright", "\xA9 Copyright 1998-2005 Vega Strike Project. All rights reserved. See the Licence section of Readme.txt for details.\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "setup.exe\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "Vega Strike\0"- VALUE "ProductVersion", "0.4.3\0"+ VALUE "ProductVersion", "0.4.4\0" VALUE "SpecialBuild", "\0" END END

[Vegastrike-cvs] SF.net SVN: vegastrike: [10925] trunk

From: <ja...@us...> - 2007-03-25 01:01:43

Revision: 10925 Author: jacksDate: 2007-03-24 18:00:03 -0700 (Sat, 24 Mar 2007)Log Message:-----------A few related things, both data and code:-MPL:Un-clobbered several ship descriptions that had been overwritted when zeog put the hud-images back in.-MPL:Re-removed hud-image annotations for ships-BaseComputer: Fixed bug in text-mangling code that was improperly generating hud-images for ship descriptions, causing them not to appear unless already annotated.Modified Paths:-------------- trunk/data4.x/master_part_list.csv trunk/vegastrike/src/cmd/basecomputer.cppModified: trunk/data4.x/master_part_list.csv===================================================================--- trunk/data4.x/master_part_list.csv2007-03-24 22:38:08 UTC (rev 10924)+++ trunk/data4.x/master_part_list.csv2007-03-25 01:00:03 UTC (rev 10925)@@ -1,79 +1,79 @@ "file","categoryname","price","mass","volume","description"-"nicander","starships/Aera/Milspec",1800000,132,2700,"@../units/nicander/nicander-hud.png@Aeran interceptor"-"ariston","starships/Aera/Milspec",2500000,197,4000,"@../units/ariston/ariston-hud.png@The Aeran Ascendancy's Ariston class is not the most nimble fighter and is impotent against large vessels, but it is very well armed and armored against small craft. The Ariston is a defensively oriented fighter, flying escort and superiority missions, and never assault. Significant numbers of Aristons will accompany strike missions, but ordinance loads are universily anti-interceptor. Likewise, a reserve of Aristons tends to be kept near capital vessels to launch alongside Nicander class interceptors, so as to engage enemy fighter escorts."-"areus","starships/Aera/Milspec",4000000,216,4400,"@../units/areus/areus-hud.png@More a fighter than a bomber, this is the secondary assault craft the Aera rely on, after the Agis. These light assault craft are commonly seen as escorts to the larger, more dangerous Agis class assault corvettes, though it is not uncommon to see wings of Areus detatch to spearhead assaults on subcapitals and support vessels. While larger and not as nimble as fighters or interceptors, the Areus is perfectly well equipped to engage any smaller craft foolish enough to wander near its gun sights. Armament on the Areus isn't well suited to assaulting capital vessels directly, but is entirely sufficient for destroying subcapitals, support craft, or softening up craft too large to destroy outright with the limited payload available. The Areus is almost never seen in defensive operations outside of the aforementioned escort of larger strike forces."-"nicander.blank","starships/Aera/Light",450000,132,2700,"@../units/nicander/nicander-hud.png@Aeran interceptor"-"ariston.blank","starships/Aera/Heavy",600000,197,4000,"@../units/ariston/ariston-hud.png@The Aeran Ascendancy's Ariston class is not the most nimble fighter and is impotent against large vessels, but it is very well armed and armored against small craft. The Ariston is a defensively oriented fighter, flying escort and superiority missions, and never assault. Significant numbers of Aristons will accompany strike missions, but ordinance loads are universily anti-interceptor. Likewise, a reserve of Aristons tends to be kept near capital vessels to launch alongside Nicander class interceptors, so as to engage enemy fighter escorts."-"areus.blank","starships/Aera/Heavy",1000000,216,4400,"@../units/areus/areus-hud.png@More a fighter than a bomber, this is the secondary assault craft the Aera rely on, after the Agis. These light assault craft are commonly seen as escorts to the larger, more dangerous Agis class assault corvettes, though it is not uncommon to see wings of Areus detatch to spearhead assaults on subcapitals and support vessels. While larger and not as nimble as fighters or interceptors, the Areus is perfectly well equipped to engage any smaller craft foolish enough to wander near its gun sights. Armament on the Areus isn't well suited to assaulting capital vessels directly, but is entirely sufficient for destroying subcapitals, support craft, or softening up craft too large to destroy outright with the limited payload available. The Areus is almost never seen in defensive operations outside of the aforementioned escort of larger strike forces."-"shizu","starships/Rlaan/Milspec",240000,57,1140,"@../units/shizu/shizu-hud.png@The Rlaan Shizu is in many ways similar to its Confederate counterpart, the Schroedinger, meant more for reconaissance and scouting patrols than heavy combat. Nonetheless, its twin gun mountings allow it to mount a basic defense, should it come under attack."-"zhuangzong","starships/Rlaan/Milspec",1200000,65,1300,"@../units/zhuangzong/zhuangzong-hud.png@The backbone of the Rlaan fighter squadrons, the Zhuangzong's four weapon mounts make it deadly at close range, and its maneuverability stats are a dogfighter's dream, even if the linear acceleration is more modest. Of course, in keeping with the Rlaan disdain for missiles, actually closing to weapons range can be interesting. "-"taizong","starships/Rlaan/Milspec",560000,230,4600,"@../units/taizong/taizong-hud.png@The Taizong are a mass-produced assault vessel of the Rlaan. As with other Rlaan vessels, they do not utilize missile armaments, even in their assault role. Their strength lies instead in miniature, if limited, versions of the Jannisary class' grav-thumper weapon, which allow them to ruthlessly cut down almost any sub-capital vessel."-"shizu.blank","starships/Rlaan/Light",120000,57,1140,"@../units/shizu/shizu-hud.png@The Rlaan Shizu is in many ways similar to its Confederate counterpart, the Schroedinger, meant more for reconaissance and scouting patrols than heavy combat. Nonetheless, its twin gun mountings allow it to mount a basic defense, should it come under attack."-"taizong.blank","starships/Rlaan/Heavy",280000,230,4600,"@../units/taizong/taizong-hud.png@The Taizong are a mass-produced assault vessel of the Rlaan. As with other Rlaan vessels, they do not utilize missile armaments, even in their assault role. Their strength lies instead in miniature, if limited, versions of the Jannisary class' grav-thumper weapon, which allow them to ruthlessly cut down almost any sub-capital vessel."-"zhuangzong.blank","starships/Rlaan/Heavy",300000,65,1300,"@../units/zhuangzong/zhuangzong-hud.png@The backbone of the Rlaan fighter squadrons, the Zhuangzong's four weapon mounts make it deadly at close range, and its maneuverability stats are a dogfighter's dream, even if the linear acceleration is more modest. Of course, in keeping with the Rlaan disdain for missiles, actually closing to weapons range can be interesting. "-"ancestor","starships/Confed/Milspec",125000,40,800,"@../units/ancestor/ancestor-hud.png@The 'ancestors' of the Ancestor class have been flying for hundreds of years. This most recent remodelling of the Shaper's aerospace frame has been in service for 15 years, and has seen action several times in assaults on dirtside criminal bases."-"gawain","starships/Confed/Milspec",450000,40,800,"@../units/gawain/gawain-hud.png@A bejeweled sword among more workmanlike interceptors since its introduction three years ago, the Highborn Gawain is an impressively featured and stylish craft. Magnificently built, it offers an array of features: a number of gun mounts, missile room, and a powerful engine capable of firm acceleration. It also offers a number of luxuries to the pilot as well, and those that have flown the Gawain consider it an experience to which little can compare. Like all Highborn vessels, it is known for its durability and reliability even under the worst conditions. Its features come at a great price, however, and it is one that few can afford. Perhaps for this reason, there are relatively few Gawains in service, with some buyers opting to requisition several of the much-cheaper Derivative class interceptors instead."-"determinant","starships/Confed/Milspec",150000,54,1100,"@../units/determinant/kyta-hud.png@Solid and reliable, the Unadorned Determinant-class ships can often be seen prowling Confederate space, and have now even proven themselves in skirmishes with Aeran raiders. Though its popularity is highest among the Unadorned, it remains well-liked by the rest of the Confederation, and others, due to its relatively low cost to produce."-"convolution","starships/Confed/Milspec",150000,62,1280,"@../units/convolution/lekra-hud.png@Typically used as a light assault craft, the Convolution relies on its heavy energy-weapon firepower rather than missiles to overpower its foes with sequences of strafing runs. It is an Unadorned design; as befits the faction's name, it is far from an aesthetic marvel, asymmetric and without pretense of beauty, but is well-designed, cost-effective, and the preferred strike craft of a small minority of pilots."-"progeny","starships/Confed/Milspec",350000,62,1200,"@../units/progeny/moongoose-hud.png@A compact ship originally designed for the Shaper military, the Progeny would seem a natural complement to the Dostoevsky, were they ever both to be deployed by the same group at the same time. Though less suited for close engagements than its fighter counterpart, the Progeny nonetheless brings to bear an impressive array of missiles, and excels at its primary role of interceptor."-"schroedinger","starships/Confed/Milspec",2000000,80,1600,"@../units/schroedinger/schroedinger-hud.png@The Schroedinger serves as a scout ship, lightly armed when compared to most other vessels. As per the infamous cat, its acceleration curve and advanced ECM and stealth hardware make it difficult to discern whether its in the same state it was last seen in."-"derivative","starships/Confed/Milspec",200000,134,2700,"@../units/derivative/aeon-hud.png@An Unadorned missile-based interceptor, the Derivative is commonly deployed as part of Confederate fleets. It can quikly bring to bear a large amount of firepower from its compact, almost skeletal, frame. Because of this, its mere presence is often enough to make undesireables reconsider their intended courses of action."-"lancelot","starships/Confed/Milspec",950000,170,3500,"@../units/lancelot/destiny-hud.png@A heavy superiority fighter designed by the Highborn, the Lancelot really is superior in almost every sense of the word. Superbly engineered, even the older Lancelot models seldom have mechanical problems, and the interior, spartan in most other military vessels, is nothing short of luxurious. The cost, however, as with most Highborn designs, is equally profound."-"admonisher","starships/Confed/Milspec",300000,275,5600,"@../units/admonisher/admonisher-hud.png@A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO."-"pacifier","starships/Confed/Milspec",400000,490,10000,"@../units/pacifier/osprey-hud.png@An aging heavy craft of Purist make, the Pacifier has seen considerable service in the fifty years since its introduction. Though perhaps a bit unwieldy by modern standards, its firepower remains potent. What it lacks in speed and maneuverability, it makes up for in its versatility, having been among the first vessels to see action in both fighter and bomber roles in defense against the Aeran invasion."-"plowshare","starships/Confed/Milspec",228000,530,10000,"@../units/plowshare/wayfarer-hud.png@Lovingly referred to as a 'large brick with engines and guns', the Plowshare is a top of the line Purist cargo shuttle, far more spacious than the aged LIHW Llama, and easier to obtain for private use than the Merchant Reindeer. Much of the non-Merchant's Guild traffic within Purist friendly systems occurs via Plowshares."-"dodo","starships/Confed/Milspec",50000,1096,21000,"@../units/dodo/wayfarer-hud.png@As a cargo tug, quite successful. As a piece of art - quite ugly."-"goddard","starships/Confed/Milspec",2700000,2150,43000,"@../units/goddard/nova-hud.png@The Goddard is a heavy bomber of Andolian manufacture, and the current crown jewel of the Confederation's array of small craft. Created from lessons gleaned from the Aera-Rlaan conflict, the Goddard is a flying fortress, able to weather a considerable amount of punishment. However, as strong as it is defensively, it is even more impressive offensively. Its nearly two dozen gun, turrets, and missile mounts allow it to unleash devastation on whatever its target may be."-"clydesdale","starships/Confed/Light_Capship",80000000,29000000,590000000,"@../units/clydesdale/clydesdale-hud.png@The only warship produced at Merchant shipyards, the Clydesdale suffers somewhat from being a truly Confederation designed vessel, with noticeable committee effects. If not posessing unrivaled capabilities, nor visionary design, it is nonetheless a solid, workhorse of a vessel and produced, like all craft rolling off the Merchant shipyards, in some number."-"ancestor.blank","starships/Confed/Light",78000,40,1000,"@../units/ancestor/ancestor-hud.png@The 'ancestors' of the Ancestor class have been flying for hundreds of years. This most recent remodelling of the Shaper's aerospace frame has been in service for 15 years, and has seen action several times in assaults on dirtside criminal bases."-"schroedinger.blank","starships/Confed/Light",110000,80,1600,"@../units/schroedinger/schroedinger-hud.png@The Schroedinger serves as a scout ship, lightly armed when compared to most other vessels. As per the infamous cat, its acceleration curve and advanced ECM and stealth hardware make it difficult to discern whether its in the same state it was last seen in."-"determinant.blank","starships/Confed/Medium",75000,54,1100,"@../units/determinant/kyta-hud.png@Solid and reliable, the Unadorned Determinant-class ships can often be seen prowling Confederate space, and have now even proven themselves in skirmishes with Aeran raiders. Though its popularity is highest among the Unadorned, it remains well-liked by the rest of the Confederation, and others, due to its relatively low cost to produce."-"convolution.blank","starships/Confed/Medium",76000,62,1280,"@../units/convolution/lekra-hud.png@Typically used as a light assault craft, the Convolution relies on its heavy energy-weapon firepower rather than missiles to overpower its foes with sequences of strafing runs. It is an Unadorned design; as befits the faction's name, it is far from an aesthetic marvel, asymmetric and without pretense of beauty, but is well-designed, cost-effective, and the preferred strike craft of a small minority of pilots."-"derivative.blank","starships/Confed/Medium",100000,134,2700,"@../units/derivative/aeon-hud.png@An Unadorned missile-based interceptor, the Derivative is commonly deployed as part of Confederate fleets. It can quikly bring to bear a large amount of firepower from its compact, almost skeletal, frame. Because of this, its mere presence is often enough to make undesireables reconsider their intended courses of action."-"lancelot.blank","starships/Confed/Heavy",800000,170,3500,"@../units/lancelot/destiny-hud.png@A heavy superiority fighter designed by the Highborn, the Lancelot really is superior in almost every sense of the word. Superbly engineered, even the older Lancelot models seldom have mechanical problems, and the interior, spartan in most other military vessels, is nothing short of luxurious. The cost, however, as with most Highborn designs, is equally profound."-"gawain.blank","starships/Confed/Heavy",320000,40,1000,"@../units/gawain/gawain-hud.png@A bejeweled sword among more workmanlike interceptors since its introduction three years ago, the Highborn Gawain is an impressively featured and stylish craft. Magnificently built, it offers an array of features: a number of gun mounts, missile room, and a powerful engine capable of firm acceleration. It also offers a number of luxuries to the pilot as well, and those that have flown the Gawain consider it an experience to which little can compare. Like all Highborn vessels, it is known for its durability and reliability even under the worst conditions. Its features come at a great price, however, and it is one that few can afford. Perhaps for this reason, there are relatively few Gawains in service, with some buyers opting to requisition several of the much-cheaper Derivative class interceptors instead."+"nicander","starships/Aera/Milspec",1800000,132,2700,"Aeran interceptor"+"ariston","starships/Aera/Milspec",2500000,197,4000,"The Aeran Ascendancy's Ariston class is not the most nimble fighter and is impotent against large vessels, but it is very well armed and armored against small craft. The Ariston is a defensively oriented fighter, flying escort and superiority missions, and never assault. Significant numbers of Aristons will accompany strike missions, but ordinance loads are universily anti-interceptor. Likewise, a reserve of Aristons tends to be kept near capital vessels to launch alongside Nicander class interceptors, so as to engage enemy fighter escorts."+"areus","starships/Aera/Milspec",4000000,216,4400,"More a fighter than a bomber, this is the secondary assault craft the Aera rely on, after the Agis. These light assault craft are commonly seen as escorts to the larger, more dangerous Agis class assault corvettes, though it is not uncommon to see wings of Areus detatch to spearhead assaults on subcapitals and support vessels. While larger and not as nimble as fighters or interceptors, the Areus is perfectly well equipped to engage any smaller craft foolish enough to wander near its gun sights. Armament on the Areus isn't well suited to assaulting capital vessels directly, but is entirely sufficient for destroying subcapitals, support craft, or softening up craft too large to destroy outright with the limited payload available. The Areus is almost never seen in defensive operations outside of the aforementioned escort of larger strike forces."+"nicander.blank","starships/Aera/Light",450000,132,2700,"Aeran interceptor"+"ariston.blank","starships/Aera/Heavy",600000,197,4000,"The Aeran Ascendancy's Ariston class is not the most nimble fighter and is impotent against large vessels, but it is very well armed and armored against small craft. The Ariston is a defensively oriented fighter, flying escort and superiority missions, and never assault. Significant numbers of Aristons will accompany strike missions, but ordinance loads are universily anti-interceptor. Likewise, a reserve of Aristons tends to be kept near capital vessels to launch alongside Nicander class interceptors, so as to engage enemy fighter escorts."+"areus.blank","starships/Aera/Heavy",1000000,216,4400,"More a fighter than a bomber, this is the secondary assault craft the Aera rely on, after the Agis. These light assault craft are commonly seen as escorts to the larger, more dangerous Agis class assault corvettes, though it is not uncommon to see wings of Areus detatch to spearhead assaults on subcapitals and support vessels. While larger and not as nimble as fighters or interceptors, the Areus is perfectly well equipped to engage any smaller craft foolish enough to wander near its gun sights. Armament on the Areus isn't well suited to assaulting capital vessels directly, but is entirely sufficient for destroying subcapitals, support craft, or softening up craft too large to destroy outright with the limited payload available. The Areus is almost never seen in defensive operations outside of the aforementioned escort of larger strike forces."+"shizu","starships/Rlaan/Milspec",240000,57,1140,"The Rlaan Shizu is in many ways similar to its Confederate counterpart, the Schroedinger, meant more for reconaissance and scouting patrols than heavy combat. Nonetheless, its twin gun mountings allow it to mount a basic defense, should it come under attack."+"zhuangzong","starships/Rlaan/Milspec",1200000,65,1300,"The backbone of the Rlaan fighter squadrons, the Zhuangzong's four weapon mounts make it deadly at close range, and its maneuverability stats are a dogfighter's dream, even if the linear acceleration is more modest. Of course, in keeping with the Rlaan disdain for missiles, actually closing to weapons range can be interesting. "+"taizong","starships/Rlaan/Milspec",560000,230,4600,"The Taizong are a mass-produced assault vessel of the Rlaan. As with other Rlaan vessels, they do not utilize missile armaments, even in their assault role. Their strength lies instead in miniature, if limited, versions of the Jannisary class' grav-thumper weapon, which allow them to ruthlessly cut down almost any sub-capital vessel."+"shizu.blank","starships/Rlaan/Light",120000,57,1140,"The Rlaan Shizu is in many ways similar to its Confederate counterpart, the Schroedinger, meant more for reconaissance and scouting patrols than heavy combat. Nonetheless, its twin gun mountings allow it to mount a basic defense, should it come under attack."+"taizong.blank","starships/Rlaan/Heavy",280000,230,4600,"The Taizong are a mass-produced assault vessel of the Rlaan. As with other Rlaan vessels, they do not utilize missile armaments, even in their assault role. Their strength lies instead in miniature, if limited, versions of the Jannisary class' grav-thumper weapon, which allow them to ruthlessly cut down almost any sub-capital vessel."+"zhuangzong.blank","starships/Rlaan/Heavy",300000,65,1300,"The backbone of the Rlaan fighter squadrons, the Zhuangzong's four weapon mounts make it deadly at close range, and its maneuverability stats are a dogfighter's dream, even if the linear acceleration is more modest. Of course, in keeping with the Rlaan disdain for missiles, actually closing to weapons range can be interesting. "+"ancestor","starships/Confed/Milspec",125000,40,800,"The 'ancestors' of the Ancestor class have been flying for hundreds of years. This most recent remodelling of the Shaper's aerospace frame has been in service for 15 years, and has seen action several times in assaults on dirtside criminal bases."+"gawain","starships/Confed/Milspec",450000,40,800,"A bejeweled sword among more workmanlike interceptors since its introduction three years ago, the Highborn Gawain is an impressively featured and stylish craft. Magnificently built, it offers an array of features: a number of gun mounts, missile room, and a powerful engine capable of firm acceleration. It also offers a number of luxuries to the pilot as well, and those that have flown the Gawain consider it an experience to which little can compare. Like all Highborn vessels, it is known for its durability and reliability even under the worst conditions. Its features come at a great price, however, and it is one that few can afford. Perhaps for this reason, there are relatively few Gawains in service, with some buyers opting to requisition several of the much-cheaper Derivative class interceptors instead."+"determinant","starships/Confed/Milspec",150000,54,1100,"Solid and reliable, the Unadorned Determinant-class ships can often be seen prowling Confederate space, and have now even proven themselves in skirmishes with Aeran raiders. Though its popularity is highest among the Unadorned, it remains well-liked by the rest of the Confederation, and others, due to its relatively low cost to produce."+"convolution","starships/Confed/Milspec",150000,62,1280,"Typically used as a light assault craft, the Convolution relies on its heavy energy-weapon firepower rather than missiles to overpower its foes with sequences of strafing runs. It is an Unadorned design; as befits the faction's name, it is far from an aesthetic marvel, asymmetric and without pretense of beauty, but is well-designed, cost-effective, and the preferred strike craft of a small minority of pilots."+"progeny","starships/Confed/Milspec",350000,62,1200,"A compact ship originally designed for the Shaper military, the Progeny would seem a natural complement to the Dostoevsky, were they ever both to be deployed by the same group at the same time. Though less suited for close engagements than its fighter counterpart, the Progeny nonetheless brings to bear an impressive array of missiles, and excels at its primary role of interceptor."+"schroedinger","starships/Confed/Milspec",2000000,80,1600,"The Schroedinger serves as a scout ship, lightly armed when compared to most other vessels. As per the infamous cat, its acceleration curve and advanced ECM and stealth hardware make it difficult to discern whether its in the same state it was last seen in."+"derivative","starships/Confed/Milspec",200000,134,2700,"An Unadorned missile-based interceptor, the Derivative is commonly deployed as part of Confederate fleets. It can quikly bring to bear a large amount of firepower from its compact, almost skeletal, frame. Because of this, its mere presence is often enough to make undesireables reconsider their intended courses of action."+"lancelot","starships/Confed/Milspec",950000,170,3500,"A heavy superiority fighter designed by the Highborn, the Lancelot really is superior in almost every sense of the word. Superbly engineered, even the older Lancelot models seldom have mechanical problems, and the interior, spartan in most other military vessels, is nothing short of luxurious. The cost, however, as with most Highborn designs, is equally profound."+"admonisher","starships/Confed/Milspec",300000,275,5600,"A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO."+"pacifier","starships/Confed/Milspec",400000,490,10000,"An aging heavy craft of Purist make, the Pacifier has seen considerable service in the fifty years since its introduction. Though perhaps a bit unwieldy by modern standards, its firepower remains potent. What it lacks in speed and maneuverability, it makes up for in its versatility, having been among the first vessels to see action in both fighter and bomber roles in defense against the Aeran invasion."+"plowshare","starships/Confed/Milspec",228000,530,10000,"Lovingly referred to as a 'large brick with engines and guns', the Plowshare is a top of the line Purist cargo shuttle, far more spacious than the aged LIHW Llama, and easier to obtain for private use than the Merchant Reindeer. Much of the non-Merchant's Guild traffic within Purist friendly systems occurs via Plowshares."+"dodo","starships/Confed/Milspec",50000,1096,21000,"As a cargo tug, quite successful. As a piece of art - quite ugly."+"goddard","starships/Confed/Milspec",2700000,2150,43000,"The Goddard is a heavy bomber of Andolian manufacture, and the current crown jewel of the Confederation's array of small craft. Created from lessons gleaned from the Aera-Rlaan conflict, the Goddard is a flying fortress, able to weather a considerable amount of punishment. However, as strong as it is defensively, it is even more impressive offensively. Its nearly two dozen gun, turrets, and missile mounts allow it to unleash devastation on whatever its target may be."+"clydesdale","starships/Confed/Light_Capship",80000000,29000000,590000000,"The only warship produced at Merchant shipyards, the Clydesdale suffers somewhat from being a truly Confederation designed vessel, with noticeable committee effects. If not posessing unrivaled capabilities, nor visionary design, it is nonetheless a solid, workhorse of a vessel and produced, like all craft rolling off the Merchant shipyards, in some number."+"ancestor.blank","starships/Confed/Light",78000,40,1000,"The 'ancestors' of the Ancestor class have been flying for hundreds of years. This most recent remodelling of the Shaper's aerospace frame has been in service for 15 years, and has seen action several times in assaults on dirtside criminal bases."+"schroedinger.blank","starships/Confed/Light",110000,80,1600,"The Schroedinger serves as a scout ship, lightly armed when compared to most other vessels. As per the infamous cat, its acceleration curve and advanced ECM and stealth hardware make it difficult to discern whether its in the same state it was last seen in."+"determinant.blank","starships/Confed/Medium",75000,54,1100,"Solid and reliable, the Unadorned Determinant-class ships can often be seen prowling Confederate space, and have now even proven themselves in skirmishes with Aeran raiders. Though its popularity is highest among the Unadorned, it remains well-liked by the rest of the Confederation, and others, due to its relatively low cost to produce."+"convolution.blank","starships/Confed/Medium",76000,62,1280,"Typically used as a light assault craft, the Convolution relies on its heavy energy-weapon firepower rather than missiles to overpower its foes with sequences of strafing runs. It is an Unadorned design; as befits the faction's name, it is far from an aesthetic marvel, asymmetric and without pretense of beauty, but is well-designed, cost-effective, and the preferred strike craft of a small minority of pilots."+"derivative.blank","starships/Confed/Medium",100000,134,2700,"An Unadorned missile-based interceptor, the Derivative is commonly deployed as part of Confederate fleets. It can quikly bring to bear a large amount of firepower from its compact, almost skeletal, frame. Because of this, its mere presence is often enough to make undesireables reconsider their intended courses of action."+"lancelot.blank","starships/Confed/Heavy",800000,170,3500,"A heavy superiority fighter designed by the Highborn, the Lancelot really is superior in almost every sense of the word. Superbly engineered, even the older Lancelot models seldom have mechanical problems, and the interior, spartan in most other military vessels, is nothing short of luxurious. The cost, however, as with most Highborn designs, is equally profound."+"gawain.blank","starships/Confed/Heavy",320000,40,1000,"A bejeweled sword among more workmanlike interceptors since its introduction three years ago, the Highborn Gawain is an impressively featured and stylish craft. Magnificently built, it offers an array of features: a number of gun mounts, missile room, and a powerful engine capable of firm acceleration. It also offers a number of luxuries to the pilot as well, and those that have flown the Gawain consider it an experience to which little can compare. Like all Highborn vessels, it is known for its durability and reliability even under the worst conditions. Its features come at a great price, however, and it is one that few can afford. Perhaps for this reason, there are relatively few Gawains in service, with some buyers opting to requisition several of the much-cheaper Derivative class interceptors instead." ,,,,,-"dostoevsky.blank","starships/Regional_Guard/Light",150000,63,1300,"@../units/dostoevsky/dostoevsky-hud.png@A superiority fighter manufactured in massive numbers by the Andolian Protectorate, the Dostoevsky combines a light, efficient design with immediately palpable firepower. Though designed to engage other fighters, its ability to carry a torpedo, if only one, broadens the range of targets that must stay wary, especially in the numbers that Dostoevskys tend to appear in."-"progeny.blank","starships/Regional_Guard/Medium",300000,63,1300,"@../units/progeny/moongoose-hud.png@A compact ship originally designed for the Shaper military, the Progeny would seem a natural complement to the Dostoevsky, were they ever both to be deployed by the same group at the same time. Though less suited for close engagements than its fighter counterpart, the Progeny nonetheless brings to bear an impressive array of missiles, and excels at its primary role of interceptor."-"dostoevsky","starships/Regional_Guard/Medium",250000,63,1300,"@../units/dostoevsky/dostoevsky-hud.png@A superiority fighter manufactured in massive numbers by the Andolian Protectorate, the Dostoevsky combines a light, efficient design with immediately palpable firepower. Though designed to engage other fighters, its ability to carry a torpedo, if only one, broadens the range of targets that must stay wary, especially in the numbers that Dostoevskys tend to appear in."-"admonisher.blank","starships/Regional_Guard/Heavy",180000,275,5600,"@../units/admonisher/admonisher-hud.png@A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO."-"pacifier.blank","starships/Regional_Guard/Heavy",210000,484,10000,"@../units/pacifier/osprey-hud.png@An aging heavy craft of Purist make, the Pacifier has seen considerable service in the fifty years since its introduction. Though perhaps a bit unwieldy by modern standards, its firepower remains potent. What it lacks in speed and maneuverability, it makes up for in its versatility, having been among the first vessels to see action in both fighter and bomber roles in defense against the Aeran invasion."-"llama.blank","starships/Merchant/Light",180000,1000,20000,"@../units/llama/llama-hud.png@What can be said of a llama, save for that one is rather less suited to carrying than a mule and not too adept at pulling a plowshare."-"dodo.blank","starships/Merchant/Light",7500,1096,22000,"@../units/dodo/wayfarer-hud.png@As a cargo tug, quite successful - as a piece of art, quite ugly."-"plowshare.blank","starships/Merchant/Medium",30000,527,10000,"@../units/plowshare/wayfarer-hud.png@Lovingly referred to as a 'large brick with engines and guns', the Plowshare is a top of the line Purist cargo shuttle, far more spacious than the aged LIHW Llama, and easier to obtain for private use than the Merchant Reindeer. Much of the non-Merchant's Guild traffic within Purist friendly systems occurs via Plowshares."-"mule.blank","starships/Merchant/Medium",1500000,28000,570000,"@../units/mule/mule-hud.png@The Mule class is the cargo vessel of choice for anything that does not require the immense load of an Ox class. Mule class vessels are the preferred mode of military supply transport, if only because their abundance makes them easier to replace when they meet unfortunate ends."-"mule","starships/Merchant/Heavy",1700000,20000,570000,"@../units/mule/mule-hud.png@The Mule class is the cargo vessel of choice for anything that does not require the immense load of an Ox class. Mule class vessels are the preferred mode of military supply transport, if only because their abundance makes them easier to replace when they meet unfortunate ends."-"franklin","starships/Merchant/Heavy",1800000,575,12000,"@../units/franklin/franklin-hud.png@Andolian diplomatic shuttle"-"ox.blank","starships/Merchant/Light_Capship",1200000,1000000,40000000,"@../units/ox/ox-hud.png@A container transport, the Ox is more suited to multi-hop interstellar bulk cargo runs than the smaller mule."-"ox","starships/Merchant/Light_Capship",1500000,1000000,40000000,"@../units/ox/ox-hud.png@A container transport, the Ox is more suited to multi-hop interstellar bulk cargo runs than the smaller mule."-"clydesdale","starships/Merchant/Light_Capship",80000000,29000000,590000000,"@../units/clydesdale/clydesdale-hud.png@The only warship produced at Merchant shipyards, the Clydesdale suffers somewhat from being a truly Confederation designed vessel, with noticeable committee effects. If not posessing unrivaled capabilities, nor visionary design, it is nonetheless a solid, workhorse of a vessel and produced, like all craft rolling off the Merchant shipyards, in some number."-"hyena","starships/Hunter/Light",125000,40,1000,"@../units/hyena/leokat-hud.png@Like their namesakes from the savannahs of Earth, Hyenas are often seen preferring to engage the damaged, the naive, and the straggler rather than pursuing more solid prey, especially when in the hands of Pirates. Though they possess neither great speed, nor impressive maneuverability, the Hyenas nonetheless pack enough firepower to give a pilot pause, especially in packs."-"robin.blank","starships/Hunter/Medium",75000,42,900,"@../units/robin/moongoose-hud.png@The avian Robins of Terra were never noted as particularly fierce, and many pilots consider the spacefaring Robins of the LIHW in much the same way. An aging fighter design, the improvements that the Robin has seen over the years have been largely incremental, focusing on small improvements rather than large overhauls. Due to the relatively limited resource of the LIHW compared to other constituents of the Confederation, most of the improvements have been in the way of reliability. Because of this, the Robin is known as an inexpensive vessel that rarely breaks down, and perhaps due to this, it is a common sight in the human-controlled regions of space."-"robin","starships/Hunter/Medium",190000,42,900,"@../units/robin/moongoose-hud.png@The avian Robins of Terra were never noted as particularly fierce, and many pilots consider the spacefaring Robins of the LIHW in much the same way. An aging fighter design, the improvements that the Robin has seen over the years have been largely incremental, focusing on small improvements rather than large overhauls. Due to the relatively limited resource of the LIHW compared to other constituents of the Confederation, most of the improvements have been in the way of reliability. Because of this, the Robin is known as an inexpensive vessel that rarely breaks down, and perhaps due to this, it is a common sight in the human-controlled regions of space."-"sickle.blank","starships/Hunter/Medium",70000,55,1100,"@../units/sickle/tian-hud.png@Like the Hammer, the Sickle is a ship of LIHW design, and was known prior to ISO usage as the 'Goose'. While the Hammer is more feared, the Sickle is more common. By far the most common ship seen in use by the ISO, the Sickle's maneuverability and large missile bays make it a favorite of many Hunters as well."-"hammer.blank","starships/Hunter/Heavy",120000,115,2300,"@../units/hammer/f404-hud.png@The Hammer assault craft was originally named the 'Toad', a creation of the LIHW. However, usage of this model by the ISO has made it iconic, to the point where few call it by its original name. Much larger than the other famous ISO ship, the Sickle, the Hammer has sometimes been referred to as 'the mighty arm of the proletariat' in ISO propaganda."-"franklin.blank","starships/Hunter/Heavy",1000000,575,12000,"@../units/franklin/franklin-hud.png@Andolian diplomatic shuttle"-"sickle","starships/ISO/Medium",150000,55,1100,"@../units/sickle/tian-hud.png@Like the Hammer, the Sickle is a ship of LIHW design, and was known prior to ISO usage as the 'Goose'. While the Hammer is more feared, the Sickle is more common. By far the most common ship seen in use by the ISO, the Sickle's maneuverability and large missile bays make it a favorite of many Hunters as well."-"hammer","starships/ISO/Heavy",280000,115,2300,"@../units/hammer/f404-hud.png@The Hammer assault craft was originally named the 'Toad', a creation of the LIHW. However, usage of this model by the ISO has made it iconic, to the point where few call it by its original name. Much larger than the other famous ISO ship, the Sickle, the Hammer has sometimes been referred to as 'the mighty arm of the proletariat' in ISO propaganda."-"redeemer.blank","starships/Luddite/Light",60000,38,800,"@../units/redeemer/redeemer-hud.png@The luddites, being by their nature not given to grand industrialization, rely on a small number of hidden facilities and sympathetic manufacturing plants to supply them with ships. The Redeemer bears the distinction of being the only class of spacecraft officially sanctioned by the reverend Sverde, who, when presented with its initial designs 45 years ago, said that prayer had revealed to her that that this was to be the 'shepherds crook' by which man's sins would be constrained. Inexpensive, even at the time of its introduction, the Redeemer remains a utilitarian craft well suited to the production schedules of backwater worlds."-"redeemer","starships/Luddite/Medium",70000,38,800,"@../units/redeemer/redeemer-hud.png@The luddites, being by their nature not given to grand industrialization, rely on a small number of hidden facilities and sympathetic manufacturing plants to supply them with ships. The Redeemer bears the distinction of being the only class of spacecraft officially sanctioned by the reverend Sverde, who, when presented with its initial designs 45 years ago, said that prayer had revealed to her that that this was to be the 'shepherds crook' by which man's sins would be constrained. Inexpensive, even at the time of its introduction, the Redeemer remains a utilitarian craft well suited to the production schedules of backwater worlds."-"admonisher","starships/Pirate/Milspec",300000,275,5600,"@../units/admonisher/admonisher-hud.png@A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO."-"hyena.blank","starships/Pirate/Light",40000,40,1000,"@../units/hyena/leokat-hud.png@Like their namesakes from the savannahs of Earth, Hyenas are often seen preferring to engage the damaged, the naive, and the straggler rather than pursuing more solid prey, especially when in the hands of Pirates. Though they possess neither great speed, nor impressive maneuverability, the Hyenas nonetheless pack enough firepower to give a pilot pause, especially in packs."-"admonisher.blank","starships/Pirate/Heavy",180000,275,5600,"@../units/admonisher/admonisher-hud.png@A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO."-"admonisher","starships/Homeland-Security/Milspec",300000,275,5600,"@../units/admonisher/admonisher-hud.png@A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO."-"admonisher.blank","starships/Homeland-Secuity/Heavy",180000,275,5600,"@../units/admonisher/admonisher-hud.png@A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO."-"admonisher","starships/Purist/Milspec",300000,275,5600,"@../units/admonisher/admonisher-hud.png@A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO."-"gawain","starships/Purist/Milspec",450000,40,800,"@../units/gawain/gawain-hud.png@The High-Born have a spacecraft manufacturing methodology most other factions reserve for Luxury Yachts. The Gawain class of interceptors stays true to this line of thinking, with exceptional performance being provided for exhorbitant cost. The price tag comes from the manufacturing method itself, the lower scale of production, and the equally important mere 3 years of production on the current version."-"admonisher.blank","starships/Purist/Heavy",180000,275,5600,"@../units/admonisher/admonisher-hud.png@A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO."-"gawain.blank","starships/Purist/Heavy",320000,40,1000,"@../units/gawain/gawain-hud.png@The High-Born have a spacecraft manufacturing methodology most other factions reserve for Luxury Yachts. The Gawain class of interceptors stays true to this line of thinking, with exceptional performance being provided for exorbitant cost. The price tag comes from the manufacturing method itself, the lower scale of production, and the equally important mere 3 years of production on the current version."-"ancestor","starships/Shaper/Milspec",125000,40,800,"@../units/ancestor/ancestor-hud.png@The 'ancestors' of the Ancestor class have been flying for hundreds of years. This most recent remodelling of the Shaper's aerospace frame has been in service for 15 years, and has seen action several times in assaults on dirtside criminal bases."-"ancestor.blank","starships/Shaper/Light",78000,40,1000,"@../units/ancestor/ancestor-hud.png@The 'ancestors' of the Ancestor class have been flying for hundreds of years. This most recent remodelling of the Shaper's aerospace frame has been in service for 15 years, and has seen action several times in assaults on dirtside criminal bases."-"dostoevsky","starships/Andolian/Medium",250000,63,1300,"@../units/dostoevsky/dostoevsky-hud.png@A superiority fighter manufactured in massive numbers by the Andolian Protectorate, the Dostoevsky combines a light, efficient design with immediately palpable firepower. Though designed to engage other fighters, its ability to carry a torpedo, if only one, broadens the range of targets that must stay wary, especially in the numbers that Dostoevskys tend to appear in."-"dostoevsky.blank","starships/Andolian/Light",150000,63,1300,"@../units/dostoevsky/dostoevsky-hud.png@A superiority fighter manufactured in massive numbers by the Andolian Protectorate, the Dostoevsky combines a light, efficient design with immediately palpable firepower. Though designed to engage other fighters, its ability to carry a torpedo, if only one, broadens the range of targets that must stay wary, especially in the numbers that Dostoevskys tend to appear in."-"dostoevsky","starships/klk'k/Medium",250000,63,1300,"@../units/dostoevsky/dostoevsky-hud.png@A superiority fighter manufactured in massive numbers by the Andolian Protectorate, the Dostoevsky combines a light, efficient design with immediately palpable firepower. Though designed to engage other fighters, its ability to carry a torpedo, if only one, broadens the range of targets that must stay wary, especially in the numbers that Dostoevskys tend to appear in."-"dostoevsky.blank","starships/klk'k/Light",150000,63,1300,"@../units/dostoevsky/dostoevsky-hud.png@A superiority fighter manufactured in massive numbers by the Andolian Protectorate, the Dostoevsky combines a light, efficient design with immediately palpable firepower. Though designed to engage other fighters, its ability to carry a torpedo, if only one, broadens the range of targets that must stay wary, especially in the numbers that Dostoevskys tend to appear in."-"gawain","starships/Highborn/Milspec",450000,40,800,"@../units/gawain/gawain-hud.png@The High-Born have a spacecraft manufacturing methodology most other factions reserve for Luxury Yachts. The Gawain class of interceptors stays true to this line of thinking, with exceptional performance being provided for exhorbitant cost. The price tag comes from the manufacturing method itself, the lower scale of production, and the equally important mere 3 years of production on the current version."-"gawain.blank","starships/Highborn/Heavy",320000,40,1000,"@../units/gawain/gawain-hud.png@The High-Born have a spacecraft manufacturing methodology most other factions reserve for Luxury Yachts. The Gawain class of interceptors stays true to this line of thinking, with exceptional performance being provided for exorbitant cost. The price tag comes from the manufacturing method itself, the lower scale of production, and the equally important mere 3 years of production on the current version."+"dostoevsky.blank","starships/Regional_Guard/Light",150000,63,1300,"A superiority fighter manufactured in massive numbers by the Andolian Protectorate, the Dostoevsky combines a light, efficient design with immediately palpable firepower. Though designed to engage other fighters, its ability to carry a torpedo, if only one, broadens the range of targets that must stay wary, especially in the numbers that Dostoevskys tend to appear in."+"progeny.blank","starships/Regional_Guard/Medium",300000,63,1300,"A compact ship originally designed for the Shaper military, the Progeny would seem a natural complement to the Dostoevsky, were they ever both to be deployed by the same group at the same time. Though less suited for close engagements than its fighter counterpart, the Progeny nonetheless brings to bear an impressive array of missiles, and excels at its primary role of interceptor."+"dostoevsky","starships/Regional_Guard/Medium",250000,63,1300,"A superiority fighter manufactured in massive numbers by the Andolian Protectorate, the Dostoevsky combines a light, efficient design with immediately palpable firepower. Though designed to engage other fighters, its ability to carry a torpedo, if only one, broadens the range of targets that must stay wary, especially in the numbers that Dostoevskys tend to appear in."+"admonisher.blank","starships/Regional_Guard/Heavy",180000,275,5600,"A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO."+"pacifier.blank","starships/Regional_Guard/Heavy",210000,484,10000,"An aging heavy craft of Purist make, the Pacifier has seen considerable service in the fifty years since its introduction. Though perhaps a bit unwieldy by modern standards, its firepower remains potent. What it lacks in speed and maneuverability, it makes up for in its versatility, having been among the first vessels to see action in both fighter and bomber roles in defense against the Aeran invasion."+"llama.blank","starships/Merchant/Light",180000,1000,20000,"What can be said of a llama, save for that one is rather less suited to carrying than a mule and not too adept at pulling a plowshare."+"dodo.blank","starships/Merchant/Light",7500,1096,22000,"As a cargo tug, quite successful - as a piece of art, quite ugly."+"plowshare.blank","starships/Merchant/Medium",30000,527,10000,"Lovingly referred to as a 'large brick with engines and guns', the Plowshare is a top of the line Purist cargo shuttle, far more spacious than the aged LIHW Llama, and easier to obtain for private use than the Merchant Reindeer. Much of the non-Merchant's Guild traffic within Purist friendly systems occurs via Plowshares."+"mule.blank","starships/Merchant/Medium",1500000,28000,570000,"The Mule class is the cargo vessel of choice for anything that does not require the immense load of an Ox class. Mule class vessels are the preferred mode of military supply transport, if only because their abundance makes them easier to replace when they meet unfortunate ends."+"mule","starships/Merchant/Heavy",1700000,20000,570000,"The Mule class is the cargo vessel of choice for anything that does not require the immense load of an Ox class. Mule class vessels are the preferred mode of military supply transport, if only because their abundance makes them easier to replace when they meet unfortunate ends."+"franklin","starships/Merchant/Heavy",1800000,575,12000,"Andolian diplomatic shuttle"+"ox.blank","starships/Merchant/Light_Capship",1200000,1000000,40000000,"A container transport, the Ox is more suited to multi-hop interstellar bulk cargo runs than the smaller mule."+"ox","starships/Merchant/Light_Capship",1500000,1000000,40000000,"A container transport, the Ox is more suited to multi-hop interstellar bulk cargo runs than the smaller mule."+"clydesdale","starships/Merchant/Light_Capship",80000000,29000000,590000000,"The only warship produced at Merchant shipyards, the Clydesdale suffers somewhat from being a truly Confederation designed vessel, with noticeable committee effects. If not posessing unrivaled capabilities, nor visionary design, it is nonetheless a solid, workhorse of a vessel and produced, like all craft rolling off the Merchant shipyards, in some number."+"hyena","starships/Hunter/Light",125000,40,1000,"Like their namesakes from the savannahs of Earth, Hyenas are often seen preferring to engage the damaged, the naive, and the straggler rather than pursuing more solid prey, especially when in the hands of Pirates. Though they possess neither great speed, nor impressive maneuverability, the Hyenas nonetheless pack enough firepower to give a pilot pause, especially in packs."+"robin.blank","starships/Hunter/Medium",75000,42,900,"The avian Robins of Terra were never noted as particularly fierce, and many pilots consider the spacefaring Robins of the LIHW in much the same way. An aging fighter design, the improvements that the Robin has seen over the years have been largely incremental, focusing on small improvements rather than large overhauls. Due to the relatively limited resource of the LIHW compared to other constituents of the Confederation, most of the improvements have been in the way of reliability. Because of this, the Robin is known as an inexpensive vessel that rarely breaks down, and perhaps due to this, it is a common sight in the human-controlled regions of space."+"robin","starships/Hunter/Medium",190000,42,900,"The avian Robins of Terra were never noted as particularly fierce, and many pilots consider the spacefaring Robins of the LIHW in much the same way. An aging fighter design, the improvements that the Robin has seen over the years have been largely incremental, focusing on small improvements rather than large overhauls. Due to the relatively limited resource of the LIHW compared to other constituents of the Confederation, most of the improvements have been in the way of reliability. Because of this, the Robin is known as an inexpensive vessel that rarely breaks down, and perhaps due to this, it is a common sight in the human-controlled regions of space."+"sickle.blank","starships/Hunter/Medium",70000,55,1100,"Like the Hammer, the Sickle is a ship of LIHW design, and was known prior to ISO usage as the 'Goose'. While the Hammer is more feared, the Sickle is more common. By far the most common ship seen in use by the ISO, the Sickle's maneuverability and large missile bays make it a favorite of many Hunters as well."+"hammer.blank","starships/Hunter/Heavy",120000,115,2300,"The Hammer assault craft was originally named the 'Toad', a creation of the LIHW. However, usage of this model by the ISO has made it iconic, to the point where few call it by its original name. Much larger than the other famous ISO ship, the Sickle, the Hammer has sometimes been referred to as 'the mighty arm of the proletariat' in ISO propaganda."+"franklin.blank","starships/Hunter/Heavy",1000000,575,12000,"Andolian diplomatic shuttle"+"sickle","starships/ISO/Medium",150000,55,1100,"Like the Hammer, the Sickle is a ship of LIHW design, and was known prior to ISO usage as the 'Goose'. While the Hammer is more feared, the Sickle is more common. By far the most common ship seen in use by the ISO, the Sickle's maneuverability and large missile bays make it a favorite of many Hunters as well."+"hammer","starships/ISO/Heavy",280000,115,2300,"The Hammer assault craft was originally named the 'Toad', a creation of the LIHW. However, usage of this model by the ISO has made it iconic, to the point where few call it by its original name. Much larger than the other famous ISO ship, the Sickle, the Hammer has sometimes been referred to as 'the mighty arm of the proletariat' in ISO propaganda."+"redeemer.blank","starships/Luddite/Light",60000,38,800,"The luddites, being by their nature not given to grand industrialization, rely on a small number of hidden facilities and sympathetic manufacturing plants to supply them with ships. The Redeemer bears the distinction of being the only class of spacecraft officially sanctioned by the reverend Sverde, who, when presented with its initial designs 45 years ago, said that prayer had revealed to her that that this was to be the 'shepherds crook' by which man's sins would be constrained. Inexpensive, even at the time of its introduction, the Redeemer remains a utilitarian craft well suited to the production schedules of backwater worlds."+"redeemer","starships/Luddite/Medium",70000,38,800,"The luddites, being by their nature not given to grand industrialization, rely on a small number of hidden facilities and sympathetic manufacturing plants to supply them with ships. The Redeemer bears the distinction of being the only class of spacecraft officially sanctioned by the reverend Sverde, who, when presented with its initial designs 45 years ago, said that prayer had revealed to her that that this was to be the 'shepherds crook' by which man's sins would be constrained. Inexpensive, even at the time of its introduction, the Redeemer remains a utilitarian craft well suited to the production schedules of backwater worlds."+"admonisher","starships/Pirate/Milspec",300000,275,5600,"A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO."+"hyena.blank","starships/Pirate/Light",40000,40,1000,"Like their namesakes from the savannahs of Earth, Hyenas are often seen preferring to engage the damaged, the naive, and the straggler rather than pursuing more solid prey, especially when in the hands of Pirates. Though they possess neither great speed, nor impressive maneuverability, the Hyenas nonetheless pack enough firepower to give a pilot pause, especially in packs."+"admonisher.blank","starships/Pirate/Heavy",180000,275,5600,"A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO."+"admonisher","starships/Homeland-Security/Milspec",300000,275,5600,"A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the ... [truncated message content]

[Vegastrike-cvs] SF.net SVN: vegastrike: [11024] trunk

From: <ja...@us...> - 2007-07-04 09:01:56

Revision: 11024 Author: jacksDate: 2007-07-04 02:01:57 -0700 (Wed, 04 Jul 2007)Log Message:-----------several things:cleanup in aisle Sol.systemMinor tweak to Cephid_17.system - unit rock not found, moon type renamed to deimosplayer now begins new game nearer to Oceanic planet consistent with being docked. -- this causes an initial double-docking, will work on that later.Fixed AI turret key binding typo in vegastrike.configExpanded size of solar systems and spacing of objects thereinFixed typo in reference to config variable in galaxy_gen.cppChanged unit_generic.cpp so that missing .template file warnings only appear if one is using .template files.More data set missing unit/typo/misconfiguration fixes.Changed ramping times for SPECModified Paths:-------------- trunk/data4.x/master_part_list.csv trunk/data4.x/mission/explore_universe.mission trunk/data4.x/sectors/Crucible/Cephid_17.system trunk/data4.x/sectors/Sol/Sol.system trunk/data4.x/units/units.csv trunk/data4.x/vegastrike.config trunk/vegastrike/src/cmd/unit_generic.cpp trunk/vegastrike/src/galaxy_gen.cppModified: trunk/data4.x/master_part_list.csv===================================================================--- trunk/data4.x/master_part_list.csv2007-07-04 05:26:36 UTC (rev 11023)+++ trunk/data4.x/master_part_list.csv2007-07-04 09:01:57 UTC (rev 11024)@@ -564,7 +564,7 @@ "armor05","upgrades/Armor",64000,20,0,"@cargo/carbonium.png@Armor takes up no upgrade volume, but does add to the mass of your ship, affecting maneuverability" "armor06","upgrades/Armor",128000,15,0,"@cargo/duranium.png@Armor takes up no upgrade volume, but does add to the mass of your ship, affecting maneuverability" ,,,,,-"Reinforced_co*ckpit","upgrades/Hull_Upgrades",4000,2,3,"@cargo/plasteel.png@Sometimes, that extra layer of protection is the difference between escape pod launch and inescapable coffin."+"Reinforced_co*ckpit","upgrades/DEPRICATED",4000,2,3,"@cargo/plasteel.png@Sometimes, that extra layer of protection is the difference between escape pod launch and inescapable coffin." ,,,,, "skyscope1","upgrades/Sensors/Basic",500,0.01,1,"@upgrades/skyscope_alpha.png@" "skyscope2","upgrades/Sensors/Basic",1000,0.01,2,"@upgrades/skyscope_alphaplus.png@"Modified: trunk/data4.x/mission/explore_universe.mission===================================================================--- trunk/data4.x/mission/explore_universe.mission2007-07-04 05:26:36 UTC (rev 11023)+++ trunk/data4.x/mission/explore_universe.mission2007-07-04 09:01:57 UTC (rev 11024)@@ -8,14 +8,14 @@ <var name="credits" value="13500"/> <var name="defaultplayer" value="blue"/> <var name="mission_name" value="Privateer Mission" />-<var name="difficulty" value=".05"/><!--good starting difficulty here-->+<var name="difficulty" value=".25"/><!--good starting difficulty here--> <var name="system" value="Crucible/Cephid_17" /> <var name="description" value="Like, as if." /> <var name="savegame" value="explore_universe_difficulty" /> </variables> <flightgroups> <flightgroup name="Shlimazel" faction="privateer" type="Llama.begin" ainame="default" waves="1" nr_ships="1">-<pos x="120000000000" y="40000000" z="-110000000000.0"/>+<pos x="120000000000" y="-10600000" z="-110000000000.0"/> </flightgroup> </flightgroups> <python>Modified: trunk/data4.x/sectors/Crucible/Cephid_17.system===================================================================--- trunk/data4.x/sectors/Crucible/Cephid_17.system2007-07-04 05:26:36 UTC (rev 11023)+++ trunk/data4.x/sectors/Crucible/Cephid_17.system2007-07-04 09:01:57 UTC (rev 11024)@@ -12,7 +12,7 @@ <Asteroid name="" file="AFieldJumpThin" ri="0.000000" rj="0.000000" rk="0.000000" si="0.000000" sj="0.000000" sk="0.000000" x="-81750376.000000" y="-30150176.000000" z="-70781912.000000" /> <Planet name="JumpTo17-ar" file="jump.png" ri="0.000000" rj="0.000000" rk="0.000000" si="0.000000" sj="0.000000" sk="0.000000" radius="2.00000000" x="-81750376.000000" y="-30150176.000000" z="-70781912.000000" alpha="ONE ONE" destination="Crucible/17-ar" faction="klkk" > </Planet>-<Planet name="Cephid_17 A" file="stars/white_star.png" ri="0.000000" rj="0.000000" rk="0.000000" si="0.000000" sj="0.000000" sk="0.000000" radius="646000.000000" x="0" y="0" z="0" Red="0.750000" Green="0.728820" Blue="0.445198" ReflectNoLight="true" light="0">+<Planet name="Cephid_17 A" file="stars/white_star.png" ri="0.000000" rj="0.000000" rk="0.000000" si="0.000000" sj="0.000000" sk="0.000000" radius="746000.000000" x="0" y="0" z="0" Red="0.950000" Green="0.928820" Blue="0.645198" ReflectNoLight="true" light="0"> <Planet name="Atlantis" file="planets/oceanBase.png|planets/ocean.png" ri="120000000" rj="-8436.0" rk="-110000000" si="-120000000.000000" sj="-150000.000000" sk="110000000.000000" radius="5000.00312500" x="120000000" y="-10000" z="-110000000" year= "8000000000" day="80000" > <Atmosphere file="sol2/earthcloudmaptrans.png" alpha="SRCALPHA INVSRCALPHA" radius="5020.00481875"/> <Fog>@@ -35,8 +35,8 @@ </Planet> <Planet name="JumpToStirling" file="jump.png" ri="-182282287.000000" rj="-15947974.000000" rk="-23532624.000000" si="-31423934.000000" sj="94449516.000000" sk="-168381.671875" radius="2.10078888" x="77007976.000000" y="-28267140.000000" z="-51236048.000000" year= "3688542800.000000" day="212.563385" alpha="ONE ONE" destination="Crucible/Stirling" faction="klkk" > </Planet>-<Planet name="Cephid_17 B" file="stars/red_star.png" ri="0.000000" rj="7500000000.000000" rk="1500000000.000000" si="-1500000000.000000" sj="0.000000" sk="0.000000" radius="102620.000000" x="0" y="0" z="0" Red="0.750000" Green="0.207289" Blue="0.119170" ReflectNoLight="true" light="1">-<Planet name="Wiley" file="planets/rock.png" ri="-65226760.000000" rj="19793218.000000" rk="30020006.000000" si="23492010.000000" sj="-254089232.000000" sk="-116486856.000000" radius="3564.39250000" year= "9138671360.000000" day="721.044067" >+<Planet name="Cephid_17 B" file="stars/red_star.png" ri="0.000000" rj="7500000000.000000" rk="1500000000.000000" si="-1500000000.000000" sj="0.000000" sk="0.000000" radius="102620.000000" x="0" y="0" z="0" Red="0.950000" Green="0.207289" Blue="0.119170" ReflectNoLight="true" light="1">+<Planet name="Wiley" file="sol/deimos.png" ri="-65226760.000000" rj="19793218.000000" rk="30020006.000000" si="23492010.000000" sj="-254089232.000000" sk="-116486856.000000" radius="3564.39250000" year= "9138671360.000000" day="721.044067" > <Unit name="Serenity" file="MiningBase" rj="-25421.593750" ri="-22367.437500" rk="-27241.875000" sj="-25582.562500" sk="27980.437500" si="-23469.656250" radius="130.477371" x="997000.562500" y="-455441.750000" z="753232.687500" year= "93000000.500000" day="761.770081" faction="klkk" > </Unit> </Planet>Modified: trunk/data4.x/sectors/Sol/Sol.system===================================================================--- trunk/data4.x/sectors/Sol/Sol.system2007-07-04 05:26:36 UTC (rev 11023)+++ trunk/data4.x/sectors/Sol/Sol.system2007-07-04 09:01:57 UTC (rev 11024)@@ -8,7 +8,7 @@ <!-- Do what you will with this file but do not charge money for it. --> -<system name="Sol" background="backgrounds/blue_galaxy1" nearstars="1" stars="1" starspread="1" x="0" y="0" z="0" scalesystem="100">+<system name="Sol" background="backgrounds/blue_galaxy1" nearstars="1" stars="1" starspread="1" x="0" y="0" z="0" scalesystem="1000"> <Light> <ambient red=".03" green="0.03" blue="0.03"/> <diffuse red="1" green="1" blue="1"/>@@ -17,15 +17,7 @@ <planet name="Sol" file="sol/sun.png" radius="695500" gravity="20" x="0" y="0" z="0" Red=".9" Green=".9" Blue=".9" ReflectNoLight="true" light="0">- <unit name= "Target_Practice_Dummy:Sol" file="mule" ri="0.25e7" rj="0" rk="0" sk="0.25e7" sj="0" si="" year="24000.0" position="0.3" faction="confed"></unit>-<unit name= "Collision_Practice_Dummy:Sol" file="starfortress" ri="0.28e7" rj="0" rk="0" sk="0.28e7" sj="0" si="" year="240000.0" position="0.3" faction="confed"></unit>--- <unit name= "Target_Practice_Dummy:Mercury Plane" file="mule" ri="045e6" rj="0" rk="0" sk="045e6" sj="0" si="" year="24000.0" position="0.3" faction="confed"></unit>- <planet name="Mercury" file="sol2/mercury-trew.jpg" radius="2439.5" gravity="20" ri="46e6" rj="0" rk="0" sk="-69.8e6" sj="0" si="0" day="5053.1960" Year="757976.9624" position="0">- <unit name= "Target_Practice_Dummy:Mercury" file="mule" ri="0.25e5" rj="0" rk="0" sk="0.25e5" sj="0" si="" year="24000.0" position="0.3" faction="confed"></unit>-<unit name= "Collision_Practice_Dummy:Mercury" file="starfortress" ri="0.28e5" rj="0" rk="0" sk="0.28e5" sj="0" si="" year="240000.0" position="0.3" faction="confed"></unit> </planet> <planet name="Venus" file="sol2/ven0mss2-seal.jpg" radius="6052.0" gravity="20" ri="107.5e6" rj="0" rk="0" sk="-108.9e6" sj="0" si="0" day="-20938.73769" Year="1936115.92094" position="0">@@ -33,8 +25,6 @@ <FogElement file="atmXatm.bfxm" ScaleAtmosphereHeight="1.000" red=".9" blue=".7" green=".8" alpha="1.0" dired="1" diblue="1" digreen="1" dialpha="1" concavity=".3" focus=".6" minalpha="0" maxalpha=".5"/> <FogElement file="atmXhalo.bfxm" ScaleAtmosphereHeight="1.000" red=".9" blue=".7" green=".8" alpha="1.0" dired="1" diblue="1" digreen="1" dialpha="1" concavity=".3" focus=".6" minalpha="0" maxalpha=".5"/> </fog>- <unit name= "Target_Practice_Dummy:Venus" file="mule" ri="0.25e5" rj="0" rk="0" sk="0.25e5" sj="0" si="" year="24000.0" position="0.3" faction="confed"></unit>-<unit name= "Collision_Practice_Dummy:Venus" file="starfortress" ri="0.28e5" rj="0" rk="0" sk="0.28e5" sj="0" si="" year="240000.0" position="0.3" faction="confed"></unit> </planet> <!-- End Venus --> <planet name="Earth" file="sol2/earth.jpg" radius="6378.0" gravity="20" ri="147.1e6" rj="0" rk="0" si="0" sj="0" sk="-152.1e6" day="86.400" Year="3147195.4" position="0" Red=".15" Green=".15" Blue=".15"> @@ -45,7 +35,11 @@ <FogElement file="atmXhalo.bfxm" ScaleAtmosphereHeight="1.000" red=".8" blue="1" green=".85" alpha=".5" dired="1" diblue="1" digreen="1" dialpha=".5" concavity=".3" focus=".6" minalpha="0" maxalpha=".25"/> </Fog> <planet name="Earth: Luna" file="sol2/moon.jpg" radius="1913.4" gravity="20" ri="0.363e6" rj="0" rk="0" sk="0.406e6" sj="0" si="0" day="2360.440" Year="236044.0" position=".39"/>-<unit name= "Solar_Defense:Earth" file="starfortress" ri="0.28e5" rj="0" rk="0" sk="0.28e5" sj="0" si="" year="240000.0" position="0.3" faction="confed"></unit>-->+<unit name= "Solar Defense:Earth SF 1" file="starfortress" ri="0.28e5" rj="0" rk="0" sk="0.28e5" sj="0" si="" year="240000.0" position="0" faction="purist"></unit>+<unit name= "Solar Defense:Earth SF 2" file="starfortress" ri="0.28e5" rj="0" rk="0" sk="0.28e5" sj="0" si="" year="240000.0" position="0.25" faction="purist"></unit>+<unit name= "Solar Defense:Earth SF 3" file="starfortress" ri="0.28e5" rj="0" rk="0" sk="0.28e5" sj="0" si="" year="240000.0" position="0.5" faction="purist"></unit>+<unit name= "Solar Defense:Earth SF 4" file="starfortress" ri="0.28e5" rj="0" rk="0" sk="0.28e5" sj="0" si="" year="240000.0" position="0.75" faction="purist"></unit>+ </planet> <!-- End Earth --> <planet name="Mars" file="sol2/mars.jpg" radius="3397.0" gravity="20" ri="206.6e6" rj="0" rk="0" sk="-249.2e6" sj="0" si="0" day="88.920" Year="5919301.27" position=".62" Red=".2" Green=".2" Blue=".2">@@ -58,7 +52,6 @@ <planet name="Mars: Phobos" file="sol/phobos.png" faction="neutral" radius="11" sj="9000" rk="0" year="2747.7"/> <planet name="Mars: Deimos" file="sol/deimos.png" faction="neutral" radius="6" year="10873.9" sj="-23000" rk="15000"/>- <unit name= "Target_Practice_Dummy:Mars" file="mule" ri="0.25e5" rj="0" rk="0" sk="0.25e5" sj="0" si="" year="24000.0" position="0.3" faction="confed"></unit> <unit name= "Mars: Mars Centre" file="commerce_center" ri="0.25e5" rj="0" rk="0" sk="0.25e5" sj="0" si="" year="24000.0" position="0.3" faction="confed"></unit> </planet> <!-- End Mars -->@@ -101,7 +94,6 @@ <planet name="Jupiter: Callisto" file="sol2/callisto.png" radius="2400" gravity="0" ri="1883000" sk="-1883000" year="143807.88" position=".8" /> <unit name="Jupiter: HE3 installation" file="refinery" gravity="0" ri="1470000" sk="-1470000" year="768000000" position="0.52" />- <unit name= "Target_Practice_Dummy:Jupiter" file="mule" ri="0.25e5" rj="0" rk="0" sk="0.25e5" sj="0" si="" year="24000.0" position="0.3" faction="confed"></unit> </planet> <!-- End Jupiter --> <planet name="Saturn" file="sol2/saturn-Jonsson.jpg" radius="60268.0" gravity="20" ri="1352.6e6" rj="0" rk="0" sk="-1514.5e6" sj="0" si="0" day="38.5200" Year="92705849.72" position="0">@@ -126,7 +118,6 @@ <planet name="Saturn: Hyperion" file="sol/hyperion.png" radius="143" gravity="0" ri="1481000" sk="-1481000" year="2900.0" position="-0.4"/> <planet name="Saturn: Iapetus" file="sol2/iapetus-cel.jpg" radius="730" gravity="0" ri="3561000" sk="-3561000" year="683539.7" position="0.6"/> <planet name="Saturn: Phoebe" file="sol2/asteroid.jpg" radius="110" gravity="0" ri="12952000" sk="-12952000" year="290000.00" position="-0.6"/>- <unit name= "Target_Practice_Dummy:Saturn" file="mule" ri="0.25e5" rj="0" rk="0" sk="0.25e5" sj="0" si="" year="24000.0" position="0.3" faction="confed"></unit> </planet> <!-- End Saturn --> <planet name="Uranus" file="sol2/uranusmap-trew.jpg" radius="25559.0" gravity="20" ri="2741.3e6" rj="0" rk="0" sk="-3003.6e6" sj="0" si="0" day="61.9200" Year="4019394600.00" position="0">@@ -143,7 +134,6 @@ <planet name="Uranus: Umbriel" file="sol2/umbriel-cel.jpg" radius="585" gravity="0" ri="266000" sk="-266000" year="35723.6" position="0.5" /> <planet name="Uranus: Titania" file="sol2/titania-cel.jpg" radius="789" gravity="0" ri="436000" sk="-436000" year="74997.2" position="0.7" /> <planet name="Uranus: Oberon" file="sol2/oberon-cel.jpg" radius="761" gravity="0" ri="583000" sk="-583000" year="116002.7" position="0.9" />- <unit name= "Target_Practice_Dummy:Uranus" file="mule" ri="0.25e5" rj="0" rk="0" sk="0.25e5" sj="0" si="" year="24000.0" position="0.3" faction="confed"></unit> </planet> <!-- End Uranus --> <planet name="Neptune" file="sol2/neptune-Jonsson.jpg" radius="24764.0" gravity="20" ri="4444.5e6" rj="0" rk="0" sk="-4545.7e6" sj="0" si="0" day="57.9600" Year="7857720000.00" position="0">@@ -156,12 +146,10 @@ <planet name="Neptune: Triton" file="sol2/triton-ou.jpg" radius="1350" gravity="0" ri="355000" sk="-355000" year="50638.6" position="0.8" /> <planet name="Neptune: Nereid" file="sol2/asteroid.jpg" radius="150" gravity="0" ri="1377500" sk="-4132500" year="3146712.8" position="-0.2" /> <!-- FIXME all sorts of wrong -->- <unit name= "Target_Practice_Dummy:Neptune" file="mule" ri="0.25e5" rj="0" rk="0" sk="0.25e5" sj="0" si="" year="24000.0" position="0.3" faction="confed"></unit> </planet> <!-- End Neptune --> <planet name="Pluto" file="sol2/plutomap2k-trew.jpg" radius="1195.0" gravity="20" ri="4335e6" rj="0" rk="0" sk="-7304.3e6" sj="0" si="0" day="550.3438" Year="779483521.604" position=".5"> <planet name="Pluto: Charon" file="sol2/charon.png" radius="586" gravity="20" ri="19640" rj="0" rk="0" sk="-19640" sj="0" si="0" day="550.3438" Year="55034.38" position=".5"/>- <unit name= "Target_Practice_Dummy:Pluto" file="mule" ri="0.25e5" rj="0" rk="0" sk="0.25e5" sj="0" si="" year="24000.0" position="0.3" faction="confed"></unit> </planet> <!-- End Pluto --> <!-- Kupier belt objects -->Modified: trunk/data4.x/units/units.csv===================================================================--- trunk/data4.x/units/units.csv2007-07-04 05:26:36 UTC (rev 11023)+++ trunk/data4.x/units/units.csv2007-07-04 09:01:57 UTC (rev 11024)@@ -700,6 +700,7 @@ "wormhole.stableglownetsaccessory","./wormhole","wormhole",,"FIXME",,,,6000,,,,,"{glow_net_stable.bfxm;;}",,,,,,,,,,250000000,45000,45000,45000,45000,45000,45000,45000,45000,0,0,0,0,0,0,0,0,0,0,,,,FALSE,,,,,0,,0,0,0,0,40,0,,,,,,,,,,FALSE,TRUE,300000000,5,180,10,,,,,,,,0,0,0,"1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1","1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1",1,1,1,1,1,1,1,1,0,0,,,,,,,,,,,,,,0,0,0,,,,, "wormhole.stableswirlsaccessory","./wormhole","wormhole",,"FIXME",,"WRITEME",,5000,,,,,"{wormhole_stable.bfxm;;}",,,,,,,,,,250000000,45000,45000,45000,45000,45000,45000,45000,45000,0,0,0,0,0,0,0,0,0,0,,,,FALSE,,,,,0,,0,0,0,0,0,100,,,,,,,,,,FALSE,TRUE,300000000,5,180,10,,,,,,,,0,0,0,"1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1","1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1",1,1,1,1,1,1,1,1,0,0,,,,,,,,,,,,,,1,0,0,,,,, "wormhole.unstable","./wormhole","wormhole",,"FIXME",,,,800,,,,,"{cyl_unstable.bfxm;;}",,,,0,0,,,,,250000000,45000,45000,45000,45000,45000,45000,45000,45000,0,0,0,0,0,0,0,0,0,0,,,,FALSE,,,,,0,,0,0,0,,,,,,,,,,,,,FALSE,TRUE,300000000,5,180,10,,,,,,,,0,0,0,"1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1","1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1",1,1,1,1,1,1,1,1,0,0,,,,,"{wormhole.unstableswirlsaccessory;0;0;0;;;;;;;180.0}{wormhole.unstableswirlsaccessory;0;0;0;;;-1;;;;180.0}",,,,,,,,,0,0,0,,,,,+"wormhole.neutral.unstable","./wormhole","wormhole",,"FIXME",,,,800,,,,,"{cyl_unstable.bfxm;;}",,,,0,0,,,,,250000000,45000,45000,45000,45000,45000,45000,45000,45000,0,0,0,0,0,0,0,0,0,0,,,,FALSE,,,,,0,,0,0,0,,,,,,,,,,,,,FALSE,TRUE,300000000,5,180,10,,,,,,,,0,0,0,"1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1","1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1",1,1,1,1,1,1,1,1,0,0,,,,,"{wormhole.unstableswirlsaccessory;0;0;0;;;;;;;180.0}{wormhole.unstableswirlsaccessory;0;0;0;;;-1;;;;180.0}",,,,,,,,,0,0,0,,,,, "wormhole.unstableglownetsaccessory","./wormhole","wormhole",,"FIXME",,,,800,,,,,"{glow_net_unstable.bfxm;;}",,,,,,,,,,250000000,45000,45000,45000,45000,45000,45000,45000,45000,0,0,0,0,0,0,0,0,0,0,,,,FALSE,,,,,0,,0,0,0,35,70,50,,,,,,,,,,FALSE,TRUE,300000000,5,180,10,,,,,,,,0,0,0,"1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1","1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1",1,1,1,1,1,1,1,1,0,0,,,,,,,,,,,,,,0,0,0,,,,, "wormhole.unstableswirlsaccessory","./wormhole","wormhole",,"FIXME",,,,800,,,,,"{wormhole_unstable.bfxm;;}",,,,,,,,,,250000000,45000,45000,45000,45000,45000,45000,45000,45000,0,0,0,0,0,0,0,0,0,0,,,,FALSE,,,,,0,,0,0,0,0,0,300,,,,,,,,,,FALSE,TRUE,300000000,5,180,10,,,,,,,,0,0,0,"1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1","1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1",1,1,1,1,1,1,1,1,0,0,,,,,,,,,,,,,,1,0,0,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Modified: trunk/data4.x/vegastrike.config===================================================================--- trunk/data4.x/vegastrike.config2007-07-04 05:26:36 UTC (rev 11023)+++ trunk/data4.x/vegastrike.config2007-07-04 09:01:57 UTC (rev 11024)@@ -179,7 +179,7 @@ <bind key="P" modifier="none" command="TurretTargetKey" /> <bind key="o" modifier="none" command="TurretAIOn" /> <bind key="o" modifier="ctrl" command="TurretAIOff" />-<bind key="O" modifier="none" command="TurretFireAtWill" />+<bind key="O" modifier="none" command="TurretAIFireAtWill" /> <bind key="H" modifier="none" command="ReverseNearestTargetKey" /> <bind key="N" modifier="none" command="ReverseSigTargetKey" /> <bind key="U" modifier="none" command="ReverseUnitTargetKey" />@@ -408,6 +408,7 @@ </colors> <variables> <section name="data">+<var name="usingtemplates" value="false"/> <var name="empty_cell_check" value="true"/> <var name="sectors" value="sectors"/> <var name="UnitCSV" value="units.csv"/>@@ -1033,8 +1034,8 @@ <section name="physics"> <var name="AsteroidWeaponCollision" value="true"/> <var name="debug_performance" value="false"/>-<var name="warprampuptime" value="10"/> <!-- in seconds -->-<var name="warprampdowntime" value="0.5"/>+<var name="warprampuptime" value="5"/> <!-- in seconds -->+<var name="warprampdowntime" value="1.25"/> <var name="warpcruisemult" value="5000"/> <var name="warpregion0" value="1"/> <var name="warpcurvedegree" value="1.25"/>@@ -1145,12 +1146,12 @@ </section> <section name="galaxy"> <var name="PushValuesToMean" value="false"/>-<var name="StarRadiusScale" value="1000"/>-<var name="CompactnessScale" value="12"/>+<var name="StarRadiusScale" value="50000"/>+<var name="CompactnessScale" value="27"/> <var name="MoonRelativeToPlanet" value=".4"/> <var name="MoonRelativeToMoon" value=".8"/> <var name="GasRelativeToPrimary" value=".2"/>-<var name="RockyRelativeToPrimary" value=".05"/>+<var name="RockyRelativeToPrimary" value=".009"/> </section> <section name="player"> <var name="realname" value="Nickname"/>Modified: trunk/vegastrike/src/cmd/unit_generic.cpp===================================================================--- trunk/vegastrike/src/cmd/unit_generic.cpp2007-07-04 05:26:36 UTC (rev 11023)+++ trunk/vegastrike/src/cmd/unit_generic.cpp2007-07-04 09:01:57 UTC (rev 11024)@@ -1305,10 +1305,14 @@ } if(!foundFile) {-cout << "Unit file " << filename << " not found" << endl;-VSFileSystem::vs_fprintf (stderr,"Assertion failed unit_generic.cpp:711 Unit %s not found\n",filename);+bool istemplate=(string::npos!=(string(filename).find(".template")));+static bool usingtemplates = XMLSupport::parse_bool(vs_config->getVariable("data","usingtemplates","true"));+if(!istemplate||(istemplate&&usingtemplates)){+cout << "Unit file " << filename << " not found" << endl;+VSFileSystem::vs_fprintf (stderr,"Assertion failed in Unit::Init -- Unit %s not found\n",filename); -VSFileSystem::vs_fprintf (stderr,"Warning: Cannot locate %s\n",filename);+VSFileSystem::vs_fprintf (stderr,"Warning: Cannot locate %s\n",filename);+} meshdata.clear(); meshdata.push_back(NULL); this->fullname=filename;Modified: trunk/vegastrike/src/galaxy_gen.cpp===================================================================--- trunk/vegastrike/src/galaxy_gen.cpp2007-07-04 05:26:36 UTC (rev 11023)+++ trunk/vegastrike/src/galaxy_gen.cpp2007-07-04 09:01:57 UTC (rev 11024)@@ -935,8 +935,8 @@ f.Fprintf (" Red=\"%f\" Green=\"%f\" Blue=\"%f\" ReflectNoLight=\"true\" light=\"%d\">\n",lights[staroffset].r,lights[staroffset].g,lights[staroffset].b,staroffset); f.Fprintf("<fog>\n\t<FogElement file=\"atmXatm.bfxm\" ScaleAtmosphereHeight=\".900\" red=\"%f\" blue=\"%f\" green=\"%f\" alpha=\"1.0\" dired=\"%f\" diblue=\"%f\" digreen=\"%f\" dialpha=\"1\" concavity=\".3\" focus=\".6\" minalpha=\".7\" maxalpha=\"1\"/>\n\t<FogElement file=\"atmXhalo.bfxm\" ScaleAtmosphereHeight=\".9000\" red=\"%f\" blue=\"%f\" green=\"%f\" alpha=\"1.0\" dired=\"%f\" diblue=\"%f\" digreen=\"%f\" dialpha=\"1\" concavity=\".3\" focus=\".6\" minalpha=\".7\" maxalpha=\"1\"/>\n</fog>\n",lights[staroffset].r,lights[staroffset].g,lights[staroffset].b,lights[staroffset].r,lights[staroffset].g,lights[staroffset].b,lights[staroffset].r,lights[staroffset].g,lights[staroffset].b,lights[staroffset].r,lights[staroffset].g,lights[staroffset].b); radii.push_back (1.5*radius);- static float planet_size_compared_to_sun = XMLSupport::parse_float (vs_config->getVariable ("galaxy","RockyRelativeToPrinary",".05"));-// static float gas_size_compared_to_sun = XMLSupport::parse_float (vs_config->getVariable ("galaxy","GasRelativeToPrinary",".2"));+ static float planet_size_compared_to_sun = XMLSupport::parse_float (vs_config->getVariable ("galaxy","RockyRelativeToPrimary",".05"));+// static float gas_size_compared_to_sun = XMLSupport::parse_float (vs_config->getVariable ("galaxy","GasRelativeToPrimary",".2")); xmllevel++; int numu; if (numstarentities) {

[Vegastrike-cvs] SF.net SVN: vegastrike: [11044] trunk

From: <ja...@us...> - 2007-07-09 11:51:33

Revision: 11044 Author: jacksDate: 2007-07-09 04:51:35 -0700 (Mon, 09 Jul 2007)Log Message:-----------Cleaned up displaying of unit names (added fg subnumber, hid travel routes).Modified Paths:-------------- trunk/data4.x/master_part_list.csv trunk/data4.x/modules/generate_dyn_universe.py trunk/data4.x/vegastrike.config trunk/vegastrike/src/gfx/nav/navscreen.cpp trunk/vegastrike/src/gfx/vdu.cppModified: trunk/data4.x/master_part_list.csv===================================================================--- trunk/data4.x/master_part_list.csv2007-07-09 10:43:56 UTC (rev 11043)+++ trunk/data4.x/master_part_list.csv2007-07-09 11:51:35 UTC (rev 11044)@@ -70,10 +70,10 @@ "Mule.blank","starships/UNSALABLE",1,20000,570000,"The Mule class is the cargo vessel of choice for anything that does not require the immense load of an Ox class. Mule class vessels are the preferred mode of military supply transport, if only because their abundance makes them easier to replace when they meet unfortunate ends." "Mule.stock","starships/Merchant/Heavy",8000000,28000,570000,"The Mule class is the cargo vessel of choice for anything that does not require the immense load of an Ox class. Mule class vessels are the preferred mode of military supply transport, if only because their abundance makes them easier to replace when they meet unfortunate ends." "Mule.milspec","starships/Confed/Light_Capship",9000000,20000,570000,"The Mule class is the cargo vessel of choice for anything that does not require the immense load of an Ox class. Mule class vessels are the preferred mode of military supply transport, if only because their abundance makes them easier to replace when they meet unfortunate ends."-"Nicander.blank","starships/UNSALABLE",1,132,2700,"Aeran interceptor"-"Nicander.stock","starships/Aera/Light",2000000,132,2700,"Aeran interceptor"-"Nicander.escort","starships/UNSALABLE",1,132,2700,"Aeran interceptor"-"Nicander.milspec","starships/Aera/Milspec",3200000,132,2700,"Aeran interceptor"+"Nicander.blank","starships/UNSALABLE",1,132,2700,"The preeminent Aeran interceptor, the Nicander is lithe and viciously armed"+"Nicander.stock","starships/Aera/Light",2000000,132,2700,"The preeminent Aeran interceptor, the Nicander is lithe and supports vicious armaments."+"Nicander.escort","starships/UNSALABLE",1,132,2700,"A slightly less agressively designed variant of the well known Nicander, the escort variant of the Aeran interceptor is used in a more defensive role than its more well known sibling."+"Nicander.milspec","starships/Aera/Milspec",3200000,132,2700,"The preeminent Aeran interceptor, the Nicander is lithe and viciously armed" "Ox.blank","starships/UNSALABLE",1,1000000,40000000,"A container transport, the Ox is more suited to multi-hop interstellar bulk cargo runs than the smaller mule." "Ox.stock","starships/Merchant/Light_Capship",42000000,1000000,40000000,"A container transport, the Ox is more suited to multi-hop interstellar bulk cargo runs than the smaller mule." "Pacifier.blank","starships/UNSALABLE",1,490,10000,"An aging heavy craft of Purist make, the Pacifier has seen considerable service in the fifty years since its introduction. Though perhaps a bit unwieldy by modern standards, its firepower remains potent. What it lacks in speed and maneuverability, it makes up for in its versatility, having been among the first vessels to see action in both fighter and bomber roles in defense against the Aeran invasion."@@ -112,13 +112,13 @@ "Zhuangzong.milspec","starships/Rlaan/Milspec",2000000,65,1300,"The backbone of the Rlaan fighter squadrons, the Zhuangzong's four weapon mounts make it deadly at close range, and its maneuverability stats are a dogfighter's dream, even if the linear acceleration is more modest. Of course, in keeping with the Rlaan disdain for missiles, actually closing to weapons range can be interesting. " "Zhuangzong.stock","starships/Rlaan/Heavy",500000,65,1300,"The backbone of the Rlaan fighter squadrons, the Zhuangzong's four weapon mounts make it deadly at close range, and its maneuverability stats are a dogfighter's dream, even if the linear acceleration is more modest. Of course, in keeping with the Rlaan disdain for missiles, actually closing to weapons range can be interesting. " ,,,,,-"beam_heavy_lr","upgrades/Weapons/Capship",25000,0.01,1,"@upgrades/beam1.png@"-"flak","upgrades/Weapons/Capship",2500,0.01,1,"@upgrades/beam2.png@"-"flak_heavy","upgrades/Weapons/Capship",2500,0.01,1,"@upgrades/beam3.png@"-"lr_disruptor_beam","upgrades/Weapons/Capship",25000,0.01,1,"@upgrades/beam1.png@"-"Relativistic_Particle_Beam","upgrades/Weapons/Capship",2500,0.01,1,"@upgrades/medium.png@"-"photon_capship","upgrades/Weapons/Capship",2500,0.01,1,"@upgrades/heavy.png@"-"rlr_laser_beam","upgrades/Weapons/Capship",2500,0.01,1,"@upgrades/medium.png@"+"beam_heavy_lr","upgrades/Weapons/Capship",25000,0.01,1,"@upgrades/beam1.png@The logical conclusion of decades of upscaling work with spatial disruption technology, this weapon finds its home only among the weapons mounted on the capital vessels of well funded space navies."+"flak","upgrades/Weapons/Capship",2500,0.01,1,"@upgrades/beam2.png@Like fireworks - only full of razorblades."+"flak_heavy","upgrades/Weapons/Capship",2500,0.01,1,"@upgrades/beam3.png@There, there Snowden.... there, there."+"lr_disruptor_beam","upgrades/Weapons/Capship",25000,0.01,1,"@upgrades/beam1.png@An inefficient, but long-ranged and quick firing, version of the Spacial-Disruptor beam."+"Relativistic_Particle_Beam","upgrades/Weapons/Capship",2500,0.01,1,"@upgrades/medium.png@While slinging particles of negligible mass, and in chaste quantities, this weapon does manage to propel them at significant fractions of lightspeed, rendering the particles quite dangerous to encounter."+"photon_capship","upgrades/Weapons/Capship",2500,0.01,1,"@upgrades/heavy.png@The standard armament of most heavy Aeran vessels, this is a scaled up version of the same PESC type warhead delivery system used in Aeran combat craft."+"rlr_laser_beam","upgrades/Weapons/Capship",2500,0.01,1,"@upgrades/medium.png@A long ranged laser weapon used primarily in Aeran point defence emplacements." ,,,,, "FS_MWRF_Laser","upgrades/Weapons/Beam_Arrays_Medium",1200,0.01,1,"@upgrades/medium.png@" "FS_MW_Laser","upgrades/Weapons/Beam_Arrays_Heavy",1200,0.01,1,"@upgrades/heavy.png@"Modified: trunk/data4.x/modules/generate_dyn_universe.py===================================================================--- trunk/data4.x/modules/generate_dyn_universe.py2007-07-09 10:43:56 UTC (rev 11043)+++ trunk/data4.x/modules/generate_dyn_universe.py2007-07-09 11:51:35 UTC (rev 11044)@@ -153,7 +153,8 @@ elif iscit: for neighbor in adjsystems: if (VS.GetRelation(thisfac,VS.GetGalaxyFaction(neighbor))>-.05):- fgname=cursys+"->"+neighbor+ #fgname=cursys+"->"+neighbor+ fgname="(CivReg) "+GetNewFGName(thisfac) typenumbertuple=GenerateCivilianFgShips(thisfac,thisfactionnr,True) fg_util.AddShipsToFG (fgname,thisfac,typenumbertuple,cursys) fgname="Insystem_"+cursys;Modified: trunk/data4.x/vegastrike.config===================================================================--- trunk/data4.x/vegastrike.config2007-07-09 10:43:56 UTC (rev 11043)+++ trunk/data4.x/vegastrike.config2007-07-09 11:51:35 UTC (rev 11044)@@ -21,7 +21,7 @@ These line set the currently used settings. This allows them to show up as selected (currently enclosed in []) #set Video GeForce3-#set Resolution 800x600+#set Resolution 1024x768 #set Sound audio_3d_win_male #set MusicAndVolume windows_ext_music_on #set Computer P1000MHz@@ -31,7 +31,7 @@ #set Optimized displaylist #set MouseCursor fancy_cursor #set Joystick joy_normal-#set PerPixelLighting refspecmap+#set PerPixelLighting pixmapspeclight A description for the catagories. This is text that appears in the menu #desc fancy_cursor Software Cursor #desc normal_cursor Hardware Cursor@@ -451,7 +451,6 @@ <var name="base_locationmarker_textcolor_b" value="1.0"/> <var name="base_drawlocationborders" value="false"/> <!--<var name="vbo" value="true">-->-<var name="print_fg_sub_id" value="true"/> <var name="sparkleabsolutespeed" value="42"/> <var name="sparklefixedsize" value="false"/> <var name="sparklescale" value="8"/>@@ -583,14 +582,14 @@ <var name="x_resolution" value="640"/> <var name="y_resolution" value="480"/> #end -->-<!-- #800x600 -->+<!-- #800x600 <var name="x_resolution" value="800"/> <var name="y_resolution" value="600"/>-<!-- #end -->-<!-- #1024x768+#end -->+<!-- #1024x768 --> <var name="x_resolution" value="1024"/> <var name="y_resolution" value="768"/>-#end -->+<!-- #end --> <!-- #1280x1024 <var name="x_resolution" value="1280"/> <var name="y_resolution" value="1024"/>@@ -760,29 +759,30 @@ <var name="lightsaturation" value="0.95"/> -<!-- #nolight pixmapspeclight+<!-- #nolight pixmapspeclight --> <var name="separatespecularcolor" value="false"/>+<!-- #end -->+<!-- #speclight reflight refspecmap+<var name="separatespecularcolor" value="true"/> #end -->-<!-- #speclight reflight refspecmap -->-<var name="separatespecularcolor" value="true"/>-<!-- #end --> <!-- #speclight nolight reflight <var name="per_pixel_lighting" value="false"/> #end --> <!-- #refspecmap pixmapspeclight --> <var name="per_pixel_lighting" value="true"/> <!-- #end -->-<!-- #nolight pixmapspeclight speclight+<!-- #nolight pixmapspeclight speclight --> <var name="reflection" value="false"/>+<!-- #end -->+<!-- #refspecmap reflight+<var name="reflection" value="true"/> #end -->-<!-- #refspecmap reflight -->-<var name="reflection" value="true"/>-<!-- #end -->-<!-- #refspecmap -->+<!-- #refspecmap <var name="specmap_with_reflection" value="true"/>-<!-- #end -->+#end --> <var name="numlights"value="4"/> <section name="hud" >+<var name="print_fg_sub_id" value="true"/> <var name="BlipRangeMaxFade" value="0.4"/> <var name="draw_weapon_sprite" value="false" /> <var name="DrawTargettingBoxes" value="true" />Modified: trunk/vegastrike/src/gfx/nav/navscreen.cpp===================================================================--- trunk/vegastrike/src/gfx/nav/navscreen.cpp2007-07-09 10:43:56 UTC (rev 11043)+++ trunk/vegastrike/src/gfx/nav/navscreen.cpp2007-07-09 11:51:35 UTC (rev 11044)@@ -759,10 +759,10 @@ TextPlane displayname; displayname.col = GFXColor(1,1,1,1);-displayname.SetSize (.6,-.8);+displayname.SetSize (.45,-.8); displayname.SetPos(originx+ (.1*deltax)+.37, originy/*+(1*deltay)*/); if (active_missions.size()<=1) {-displayname.SetText ("#FF0000Press M to toggle this Menu\n\n#000000*******#00a6FFVega Strike 0.5#000000*********\nWelcome to VS. Your ship undocks stopped;\n#8080FFArrow keys/mouse/joystick#000000 steer your ship.\nUse #8080FF+#000000 & #8080FF-#000000 to adjust cruise control, or #8080FF/#000000 & #8080FF[backspace]#000000 to go to max governor setting or \nfull-stop, respectively.\nUse#8080FFy#000000 to toggle between maneuver and travel \nsettings for your relative velocity governors.\nUse #8080ff[home]#000000 & #8080FF[end]#000000 to set and unset velocity \nreference point to the current target(friendly only).\nUse #8080FFTab#000000 to activate Overdrive(if present)\n#8080FF[space]#000000 fires guns, and #8080ff[Enter]#000000 fires missiles.\n\nThe #8080FFa#000000 key activates SPEC drive for insystem FTL.\nInterstellar Travel requires a #FFBB11 jump drive#000000 and #FFBB11FTL Capacitors#000000 to be installed.\nTo jump, fly into the green wireframe nav-marker;\nhit #8080FFj#000000 to jump to the linked system.\n\nTo dock, target a base, planet or large vessel\nand hail with #8080FF0#000000 to request docking clearance. \nWhen you get close, a green box will appear.\nFly to the box. When inside the box, #8080FFd#000000 will dock.\n\n#FF0000If Vega Strike halts or acts oddly,#000000\n#FFFF00immediately#000000 post stderr.txt & stdout.txt\nto http://vegastrike.sourceforge.net/forums\nbefore you restart Vega Strike.\n");+displayname.SetText ("#FF0000Press shift-M to toggle this Menu\n\n#000000*******#00a6FFVega Strike 0.5#000000*********\nWelcome to VS. Your ship undocks stopped; #8080FFArrow keys/mouse/joystick#000000 steer your ship. Use #8080FF+#000000 & #8080FF-#000000 to adjust cruise control, or #8080FF/#000000 & #8080FF[backspace]#000000 to go to max governor setting or full-stop, respectively. Use #8080FFy#000000 to toggle between maneuver and travel settings for your relative velocity governors. Use #8080ff[home]#000000 & #8080FF[end]#000000 to set and unset velocity reference point to the current target (non-hostile targets only). Use #8080FFTab#000000 to activate Overdrive(if present).\n\n#8080FF[space]#000000 fires guns, and #8080ff[Enter]#000000 fires missiles.\n\nThe #8080FFa#000000 key activates SPEC drive for insystem FTL.\nInterstellar Travel requires a #FFBB11 jump drive#000000 and #FFBB11FTL Capacitors#000000 to be installed. To jump, fly into the green wireframe nav-marker; hit #8080FFj#000000 to jump to the linked system.\n\nTo dock, target a base, planet or large vessel and hail with #8080FF0#000000 to request docking clearance. When you get close, a green box will appear. Fly to the box. When inside the box, #8080FFd#000000 will dock.\n\n#FF0000If Vega Strike halts or acts oddly,#000000\n#FFFF00immediately#000000 post stderr.txt & stdout.txt\nto http://vegastrike.sourceforge.net/forums\nbefore you restart Vega Strike.\n"); }else { std::string text=""; for (unsigned int i=1;i<active_missions.size();++i){Modified: trunk/vegastrike/src/gfx/vdu.cpp===================================================================--- trunk/vegastrike/src/gfx/vdu.cpp2007-07-09 10:43:56 UTC (rev 11043)+++ trunk/vegastrike/src/gfx/vdu.cpp2007-07-09 11:51:35 UTC (rev 11044)@@ -51,9 +51,9 @@ static bool printfgname = XMLSupport::parse_bool(vs_config->getVariable("graphics","hud","print_fg_name","true")); static bool printshiptype = XMLSupport::parse_bool(vs_config->getVariable("graphics","hud","print_ship_type","true"));- if (printfgname)fgname+=fg->name+(printshiptype?((confignums&&fgsnumber)?" =":" : "):"");- if (confignums&&fgsnumber) - fgname+=fgnstring+"=";+ if (printfgname)fgname+=fg->name+(printshiptype?((confignums&&(""!=fgnstring))?" =":" : "):"");+ if (confignums&&(""!=fgnstring)) + fgname+=fgnstring+"= "; if (printshiptype) return fgname+reformatName(target->getFullname()); return fgname; @@ -63,10 +63,10 @@ if(namecolonname==false||reformatName(target->name)==(reformatName(target->getFullname()))){ std::string retval( reformatName(target->getFullname()));- if (confignums&&fgsnumber) retval+=" "+fgnstring;+ if (confignums&&(""!=fgnstring)) retval+=" #"+fgnstring; return retval; } else {- std::string retval(reformatName(target->name)+" "+((confignums&&fgsnumber)?confignums+":":std::string(":"))+target->getFullname());+std::string retval(reformatName(target->name)+" "+((confignums&&(""!=fgnstring))?confignums+":":std::string(":"))+target->getFullname()); return retval; } }

[Vegastrike-cvs] SF.net SVN: vegastrike: [11054] trunk

From: <ja...@us...> - 2007-07-12 08:35:07

Revision: 11054 Author: jacksDate: 2007-07-12 01:35:06 -0700 (Thu, 12 Jul 2007)Log Message:-----------Upgrade screen now displays different colors for NOT_ENOUGH_MONEY, UPGRADE-NOT-ALLOWED/NEED-TO-SELL-FIRST, NOT_ENOUGH_SPACE (on both Buy and Sell -- Stations can fill up too) and DOWNGRADE-OR-SAME-OR-INCOMPATIBLE-UPGRADE edits to units.csv should restrict current flyable craft to have to sell the existing reactor/shield/etc. before buying a new one.Modified Paths:-------------- trunk/data4.x/bin/vegastrike.exe trunk/data4.x/units/units.csv trunk/vegastrike/src/cmd/basecomputer.cppModified: trunk/data4.x/bin/vegastrike.exe===================================================================(Binary files differ)Modified: trunk/data4.x/units/units.csv===================================================================--- trunk/data4.x/units/units.csv2007-07-11 12:03:22 UTC (rev 11053)+++ trunk/data4.x/units/units.csv2007-07-12 08:35:06 UTC (rev 11054)@@ -1,191 +1,191 @@ ,Directory,Name,STATUS,Object_Type,Combat_Role,Textual_Description,Hud_image,Unit_Scale,co*ckpit,co*ckpitX,co*ckpitY,co*ckpitZ,Mesh,Shield_Mesh,Rapid_Mesh,BSP_Mesh,Use_BSP,Use_Rapid,NoDamageParticles,Mass,Moment_Of_Inertia,Fuel_Capacity,Hull,Armor_Front_Top_Right,Armor_Front_Top_Left,Armor_Front_Bottom_Right,Armor_Front_Bottom_Left,Armor_Back_Top_Right,Armor_Back_Top_Left,Armor_Back_Bottom_Right,Armor_Back_Bottom_Left,Shield_Front_Top_Right,Shield_Back_Top_Left,Shield_Front_Bottom_Right,Shield_Front_Bottom_Left,Shield_Back_Top_Right,Shield_Front_Top_Left,Shield_Back_Bottom_Right,Shield_Back_Bottom_Left,Shield_Recharge,Shield_Leak,Warp_Capacitor,Primary_Capacitor,Reactor_Recharge,Jump_Drive_Present,Jump_Drive_Delay,Wormhole,Outsystem_Jump_Cost,Warp_Usage_Cost,Afterburner_Type,Afterburner_Usage_Cost,Maneuver_Yaw,Maneuver_Pitch,Maneuver_Roll,Yaw_Governor,Pitch_Governor,Roll_Governor,Afterburner_Accel,Forward_Accel,Retro_Accel,Left_Accel,Right_Accel,Top_Accel,Bottom_Accel,Afterburner_Speed_Governor,Default_Speed_Governor,ITTS,Radar_Color,Radar_Range,Tracking_Cone,Max_Cone,Lock_Cone,Hold_Volume,Can_Cloak,Cloak_Min,Cloak_Rate,Cloak_Energy,Cloak_Glass,Repair_Droid,ECM_Rating,ECM_Resist,Ecm_Drain,Hud_Functionality,Max_Hud_Functionality,Lifesupport_Functionality,Max_Lifesupport_Functionality,Comm_Functionality,Max_Comm_Functionality,FireControl_Functionality,Max_FireControl_Functionality,SPECDrive_Functionality,Max_SPECDrive_Functionality,Slide_Start,Slide_End,Activation_Accel,Activation_Speed,Upgrades,Prohibited_Upgrades,Sub_Units,Sound,Light,Mounts,Net_Comm,Dock,Cargo_Import,Cargo,Explosion,Num_Animation_Stages,Upgrade_Storage_Volume,Heat_Sink_Rating,Shield_Efficiency,Num_Chunks,Chunk_0,Collide_Subunits,Spec_Interdiction Key,String,string,"For Internal Use Only",string,string,string,string,float,string,x=float,y=float,z=float(meters),{filename(string);frame(int);texturetime(float)},string,string,string,boolean,boolean,boolean,"metric tons","metric tons * meters*meters","metric tons",VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD/second,percentage,800MJ,100MJ,100MJ/s,Boolean,seconds,boolean,800MJ,800MJ/second,"int type",100MJ/s,"metric tons*degrees/second^2","metric tons*degrees/second^2","metric tons*degrees/second^2",degrees/sec,degrees/sec,degrees/sec,"metric tons*m/s^2","metric tons*m/s^2","metric tons*m/s^2","metric tons*m/s^2","metric tons*m/s^2","metric tons**m/s^2","metric tons*m/s^2",meters/second,meters/second,boolean,boolean,meters,Degrees,Degrees,Degrees,m^3,boolean,percentage,percentage/second,800MJ/s,boolean,int,int,int,800MJ/s,"1 normalized fraction","1 normalized fraction","1 normalized fraction","1 normalized fraction","1 normalized fraction","1 normalized fraction","1 normalized fraction","1 normalized fraction","1 normalized fraction","1 normalized fraction",seconds,seconds,m/s^2,m/s,{filename(string);mountoffset(int);subunoffset(int)},"Semicolon delineated list of prohibited upgrades, allowing up to a certain number if specified with colon.",{filename(string);x(meters);y(meters);z(meters);forex(meters);forey(meters);forez(meters);upx(meters);upy(meters);upz(meters);restricted(meters)},shieldhit(string);armorhit(string);hullhit(string);jump(string);explode(string);cloak(string);engine(string),{meshfile(string);x(meters);y(meters);z(meters);scale(meters);r(percentage);g(percentage);b(percentage);a(percentage);activationspeed(meters/second)},{type(string);ammo(int);volume(meters);SIZE(string);x(meters);y(meters);z(meters);xyscale(meters);zscale(meters);forex(meters);forey(meters);forez(meters);upx(meters);upy(meters);upz(meters);functionality(percentage);maxfunctionality(percentage)},?,{INTERNAL(boolean);x(meters);y(meters);z(meters);size(meters);minsize(meters)},{Cat(string);price(percentage);pricestddev(percentage);quant(percentage);quantstddev(percentage)},"{filename(string);Category(string);price(credits);quant(int);mass(metric Tons);volume(meters*meters*meters);functionality(percentage);maxfunctionality(percentage);description(string);missionCargo(bool)}",string,int,float,float,float(percent),int,{mesh;;},boolean, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-Llama.begin,./llama,Llama,,Vessel,SHUTTLE,"Venerable LIHW built armed light cargo shuttle",llama-hud.spr,7,no-co*ckpit,0,0,0,{llama.bfxm;;},,,,,TRUE,TRUE,336,336,10,500,100,100,100,100,100,100,100,100,150,150,150,150,,,,,4,0,325,200,30,FALSE,1,,200,120,0,32767,50000,50000,50000,45,50,55,17000,17000,15000,4000,4000,4000,4000,120,120,FALSE,FALSE,300000000,16.24,180,25.71,2000,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1,,;;;;;;,{supernova.bmp.bfxm;0.00000e+0;0.350000;-2.09200;2;;;;;}{supernova.bmp.bfxm;1.31600;-6.00000e-3;-1.82200;2;;;;;}{supernova.bmp.bfxm;-1.32800;-6.00000e-3;-1.82200;2;;;;;},"{laser;;15;Light Medium;1.01200;-6.80000e-2;3.40800;;;;;;;;;1;1}{laser;;15;Light Medium;-0.964000;-6.80000e-2;3.40800;;;;;;;;;1;1}{laser;;3;Light;0.380000;0.176000;1.07600;;;;;;;;;1;1}{laser;;3;Light;-0.336000;0.176000;1.07600;;;;;;;;;1;1}{Dumbfire;48;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}{;;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}",,,,"{skyscope1;upgrades/Sensors/Basic;200;1;0.01;1;1;1;@upgrades/skyscope_alpha.png@Refurbished Part;0}{capacitor02;upgrades/Capacitors/Standard;200;1;4;4;1;1;@upgrades/capacitor.png@Refurbished Part;0}{reactor02;upgrades/Reactors/Standard;200;1;2;3.5;1;1;@upgrades/reactor.png@Refurbished Part;0}{add_spec_capacitor01;upgrades/SPEC_Capacitors;200;1;5;4;1;1;@upgrades/reactor_capacitance.png@Refurbished Part;0}{quadshield02;upgrades/Shield_Systems/Standard_Quad_Shields;200;1;2;8;1;1;@upgrades/shield.png@Refurbished Part;0}{armor01;upgrades/Armor;200;1;20;0;1;1;@cargo/plasteel.png@Refurbished Part;0}",,0,360,0,,,,,+Llama.begin,./llama,Llama,,Vessel,SHUTTLE,"Venerable LIHW built armed light cargo shuttle",llama-hud.spr,7,no-co*ckpit,0,0,0,{llama.bfxm;;},,,,,TRUE,TRUE,336,336,10,500,100,100,100,100,100,100,100,100,150,150,150,150,,,,,4,0,325,200,30,FALSE,1,,200,120,0,32767,50000,50000,50000,45,50,55,17000,17000,15000,4000,4000,4000,4000,120,120,FALSE,FALSE,300000000,16.24,180,25.71,2000,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;0.00000e+0;0.350000;-2.09200;2;;;;;}{supernova.bmp.bfxm;1.31600;-6.00000e-3;-1.82200;2;;;;;}{supernova.bmp.bfxm;-1.32800;-6.00000e-3;-1.82200;2;;;;;},"{laser;;15;Light Medium;1.01200;-6.80000e-2;3.40800;;;;;;;;;1;1}{laser;;15;Light Medium;-0.964000;-6.80000e-2;3.40800;;;;;;;;;1;1}{laser;;3;Light;0.380000;0.176000;1.07600;;;;;;;;;1;1}{laser;;3;Light;-0.336000;0.176000;1.07600;;;;;;;;;1;1}{Dumbfire;48;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}{;;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}",,,,"{skyscope1;upgrades/Sensors/Basic;200;1;0.01;1;1;1;@upgrades/skyscope_alpha.png@Refurbished Part;0}{capacitor02;upgrades/Capacitors/Standard;200;1;4;4;1;1;@upgrades/capacitor.png@Refurbished Part;0}{reactor02;upgrades/Reactors/Standard;200;1;2;3.5;1;1;@upgrades/reactor.png@Refurbished Part;0}{add_spec_capacitor01;upgrades/SPEC_Capacitors;200;1;5;4;1;1;@upgrades/reactor_capacitance.png@Refurbished Part;0}{quadshield02;upgrades/Shield_Systems/Standard_Quad_Shields;200;1;2;8;1;1;@upgrades/shield.png@Refurbished Part;0}{armor01;upgrades/Armor;200;1;20;0;1;1;@cargo/plasteel.png@Refurbished Part;0}",,0,360,0,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-Areus,./areus,Areus,,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,378,150,150,150,150,137.5,137.5,137.5,137.5,600,600,600,600,,,,,40,0,1600,1200,240,TRUE,1,,200,200,1,0,24000,24000,50000,70,75,70,21600,15000,10000,4000,4000,4000,4000,275,275,TRUE,TRUE,300000000,5,180,10,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{Photon_MKIII;3000;6;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{Penetrator;;40;heavy autotracking;0;-3;3;;;;;;;;;1;1}{Heatseeker;7;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{HeatSeeker;7;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{AdvTorpedo;4;400;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{AdvTorpedo;4;400;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,900,0,,,,,-Areus.milspec,./areus,Areus,,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,378,150,150,150,150,137.5,137.5,137.5,137.5,600,600,600,600,,,,,40,0,1600,1200,240,TRUE,1,,200,200,1,0,24000,24000,50000,70,75,70,21600,15000,10000,4000,4000,4000,4000,275,275,TRUE,TRUE,300000000,5,180,10,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{;;5;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{;;30;heavy autotracking;0;-3;3;;;;;;;;;1;1}{;;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{;;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,200,0,,,,,-Goddard,./goddard,Goddard,,Vessel,BOMBER,"Recently developed Andolian bomber. One of the most advanced and most expensive human craft currently in service.",goddard-hud.spr,5,no-co*ckpit,0,0,0,{goddard.bfxm;;},,,,,,,4800,4800,166.67,2100,450,450,450,450,400,400,400,400,1600,1400,1400,1400,,,,,200,0,450,4000,500,TRUE,1,,200,150,1,0,100000,100000,100000,55,55,50,150000,130000,110000,60000,60000,60000,60000,220,220,TRUE,TRUE,150000000,18.19,180,90,1000,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1,{turretpdlong;0;2.2;4.5;0;0;1;0;1;0;180.0}{turretpdlong;0;-4.05;10;0;0;1;0;-1;0;180.0},;;;;;;,{supernova.bmp.bfxm;0;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;-1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;8.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-8.75;0.275;-2.75;2;;;;;},"{torpedo;8;800;heavy-missile;1;-2;7;;;;;;;;;1;1}{torpedo;8;800;heavy-missile;-1;-2;7;;;;;;;;;1;1}{torpedo;8;800;heavy-missile;1;-2;-1;;;;;;;;;1;1}{torpedo;8;800;heavy-missile;-1;-2;-1;;;;;;;;;1;1}{FS_MWRF_Laser;;;light autotracking;12.5;0.1;0;;;;;;;;;1;1}{FS_MWRF_Laser;;;light autotracking;-12.5;0.1;0;;;;;;;;;1;1}{FS_MWRF_Laser;;;light autotracking;12.5;-0.1;0;;;;;;;;;1;1}{FS_MWRF_Laser;;;light autotracking;-12.5;-0.1;0;;;;;;;;;1;1}{DisruptorBeam;;;light medium autotracking;-2;0;12;;;;;;;;;1;1}{DisruptorBeam;;;light medium autotracking;2;-0;12;;;;;;;;;1;1}{RelativisticParticleBeam;;;capship-light;-0.1;-2;13;;;;;;;;;1;1}{RelativisticParticleBeam;;;capship-light;0.1;-2;13;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;4.1;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;3.9;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;-4.1;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;-3.9;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;8.1;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;7.9;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;-8.1;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;-7.9;0;-3;;;;;;;;;1;1}",,,,,,0,25000,0,,,,,-Goddard.milspec,./goddard,Goddard,,Vessel,BOMBER,"Recently developed Andolian bomber. One of the most advanced and most expensive human craft currently in service.",goddard-hud.spr,5,no-co*ckpit,0,0,0,{goddard.bfxm;;},,,,,,,4800,4800,166.67,2100,450,450,450,450,400,400,400,400,1600,1400,1400,1400,,,,,200,0,450,4000,500,TRUE,1,,200,150,1,0,100000,100000,100000,55,55,50,150000,130000,110000,60000,60000,60000,60000,220,220,TRUE,TRUE,150000000,18.19,180,90,1000,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1,{turretpdlong;0;2.2;4.5;0;0;1;0;1;0;180.0}{turretpdlong;0;-4.05;10;0;0;1;0;-1;0;180.0},;;;;;;,{supernova.bmp.bfxm;0;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;-1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;8.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-8.75;0.275;-2.75;2;;;;;},"{;;800;heavy-missile;1;-2;7;;;;;;;;;1;1}{;;800;heavy-missile;-1;-2;7;;;;;;;;;1;1}{;;800;heavy-missile;1;-2;-1;;;;;;;;;1;1}{;;800;heavy-missile;-1;-2;-1;;;;;;;;;1;1}{;;5;light autotracking;12.5;0.1;0;;;;;;;;;1;1}{;;5;light autotracking;-12.5;0.1;0;;;;;;;;;1;1}{;;5;light autotracking;12.5;-0.1;0;;;;;;;;;1;1}{;;5;light autotracking;-12.5;-0.1;0;;;;;;;;;1;1}{;;5;light medium autotracking;-2;0;12;;;;;;;;;1;1}{;;5;light medium autotracking;2;-0;12;;;;;;;;;1;1}{;;30;capship-light;0.1;-2;13;;;;;;;;;1;1}{;;80;light-missile medium-missile;4.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;3.9;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-4.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-3.9;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;8.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;7.9;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-8.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-7.9;0;-3;;;;;;;;;1;1}",,,,,,0,5000,0,,,,,-Kierkegaard,./kierkegaard,Kierkegaard,,Vessel,BOMBER,"Andolian Protectorate Missileboat/Gunship",,5,no-co*ckpit,0,0,0,{kierkegaard.bfxm;;},,,,,,,1500,1500,25,500,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,45,50,55,60000,55000,40000,8000,8000,8000,8000,240,240,FALSE,FALSE,300000000,15,180,90,400,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1,,;;;;;;,{supernova.bmp.bfxm;0.00000e+0;0.350000;-2.09200;2;;;;;}{supernova.bmp.bfxm;1.31600;-6.00000e-3;-1.82200;2;;;;;}{supernova.bmp.bfxm;-1.32800;-6.00000e-3;-1.82200;2;;;;;},"{;;;Light Medium;1.01200;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light Medium;-0.964000;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light;0.380000;0.176000;1.07600;;;;;;;;;1;1}{;;;Light;-0.336000;0.176000;1.07600;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}",,,,,,0,4500,0,,,,,-Pacifier,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{HeavyIonBeam;;;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{MiniDriver;600;3;Light;.65;3.75;7;;;;;;;;;1;1}{MiniDriver;600;3;Light;-.65;3.75;7;;;;;;;;;1;1}{Hail;32;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{Hail;32;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{torpedo;2;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{torpedo;2;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{Dumbfire;16;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{Dumbfire;16;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,2500,0,,,,,-Pacifier.milspec,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;15;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,500,0,,,,,-Pacifier.rg,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{HeavyIonBeam;;;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{MicroDriver;3000;3;Light;.65;3.75;7;;;;;;;;;1;1}{MicroDriver;3000;3;Light;-.65;3.75;7;;;;;;;;;1;1}{Hail;32;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{Hail;32;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{torpedo;2;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{torpedo;2;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{Dumbfire;16;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{Dumbfire;16;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,2500,0,,,,,-Pacifier.rgspec,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;3;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,500,0,,,,,-Taizong,./taizong,Taizong,,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,140,140,140,140,122.5,122.5,122.5,122.5,350,300,300,300,,,,,200,0,600,1400,360,TRUE,1,,200,200,0,0,40000,40000,40000,90,90,90,12000,12000,12000,12000,12000,12000,12000,310,310,,TRUE,300000000,18.19,180,49.46,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive,,;;;;;;,,"{KtekBeam;;;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{KtekBeam;;;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{Ktek;;;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{Ktek;;;Light;4.5;-.6;12.25;;;;;;;;;1;1}{MiniGravThumper;8;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,,explosion_rlaan.ani,0,1500,0,,,,,-Taizong.milspec,./taizong,Taizong,,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,140,140,140,140,122.5,122.5,122.5,122.5,350,300,300,300,,,,,200,0,600,1400,360,TRUE,1,,200,200,0,0,40000,40000,40000,90,90,90,12000,12000,12000,12000,12000,12000,12000,310,310,,TRUE,300000000,18.19,180,49.46,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive,,;;;;;;,,"{;;5;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{;;5;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{;;5;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{;;5;Light;4.5;-.6;12.25;;;;;;;;;1;1}{;;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,,explosion_rlaan.ani,0,300,0,,,,,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,upgrades/Overdrive:1,,,,,,,,,,,,,,,,,-Areus.blank,./areus,Areus,MANEUVOUR,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,450,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,60000,60000,60000,62,70,62,21600,15000,10000,4000,4000,4000,4000,220,220,FALSE,FALSE,300000000,0,0,0,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{;;3;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{;;;heavy autotracking;0;-3;3;;;;;;;;;1;1}{;;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{;;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,900,0,,,,,-Areus.stock,./areus,Areus,MANEUVOUR,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,450,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,60000,60000,60000,62,70,62,21600,15000,10000,4000,4000,4000,4000,220,220,FALSE,FALSE,300000000,0,0,0,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{;;5;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{;;;heavy autotracking;0;-3;3;;;;;;;;;1;1}{;;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{;;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,900,0,,,,,-Goddard.blank,./goddard,Goddard,MANEUVOUR,Vessel,BOMBER,"Recently developed Andolian bomber. One of the most advanced and most expensive human craft currently in service.",goddard-hud.spr,5,no-co*ckpit,0,0,0,{goddard.bfxm;;},,,,,,,4800,4800,166.67,2100,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,55,55,50,150000,130000,110000,60000,60000,60000,60000,180,180,FALSE,FALSE,300000000,0,0,0,60,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1,{turretpdlong;0;2.2;4.5;0;0;1;0;1;0;180.0}{turretpdlong;0;-4.05;10;0;0;1;0;-1;0;180.0},;;;;;;,{supernova.bmp.bfxm;0;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;-1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;8.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-8.75;0.275;-2.75;2;;;;;},"{;8;800;heavy-missile;1;-2;7;;;;;;;;;1;1}{;8;800;heavy-missile;-1;-2;7;;;;;;;;;1;1}{;8;800;heavy-missile;1;-2;-1;;;;;;;;;1;1}{;8;800;heavy-missile;-1;-2;-1;;;;;;;;;1;1}{;;;light autotracking;12.5;0.1;0;;;;;;;;;1;1}{;;;light autotracking;-12.5;0.1;0;;;;;;;;;1;1}{;;;light autotracking;12.5;-0.1;0;;;;;;;;;1;1}{;;;light autotracking;-12.5;-0.1;0;;;;;;;;;1;1}{;;;light medium autotracking;-2;0;12;;;;;;;;;1;1}{;;;light medium autotracking;2;-0;12;;;;;;;;;1;1}{;;;capship-light;-0.1;-2;13;;;;;;;;;1;1}{;;;capship-light;0.1;-2;13;;;;;;;;;1;1}{;5;80;light-missile medium-missile;4.1;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;3.9;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;-4.1;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;-3.9;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;8.1;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;7.9;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;-8.1;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;-7.9;0;-3;;;;;;;;;1;1}",,,,,,0,25000,0,,,,,-Kierkegaard.blank,./kierkegaard,Kierkegaard,MANEUVOUR,Vessel,BOMBER,"Andolian Protectorate Missileboat/Gunship",,5,no-co*ckpit,0,0,0,{kierkegaard.bfxm;;},,,,,,,1500,1500,60,1000,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,40,45,40,60000,55000,40000,8000,8000,8000,8000,190,190,FALSE,FALSE,300000000,0,0,0,60,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1,,;;;;;;,{supernova.bmp.bfxm;0.00000e+0;0.350000;-2.09200;2;;;;;}{supernova.bmp.bfxm;1.31600;-6.00000e-3;-1.82200;2;;;;;}{supernova.bmp.bfxm;-1.32800;-6.00000e-3;-1.82200;2;;;;;},"{;;;Light Medium;1.01200;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light Medium;-0.964000;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light;0.380000;0.176000;1.07600;;;;;;;;;1;1}{;;;Light;-0.336000;0.176000;1.07600;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}",,,,,,0,4500,0,,,,,-Pacifier.blank,./pacifier,Pacifier,MANEUVOUR,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,175,175,FALSE,FALSE,300000000,0,0,0,1000,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;3;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,2500,0,,,,,-Pacifier.stock,./pacifier,Pacifier,MANEUVOUR,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,175,175,FALSE,FALSE,300000000,0,0,0,1000,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;15;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,2500,0,,,,,-Taizong.blank,./taizong,Taizong,MANEUVOUR,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,75,75,75,12000,12000,12000,12000,12000,12000,12000,250,250,FALSE,FALSE,300000000,0,0,0,32,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive,,;;;;;;,,"{;;;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{;;;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{;;;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{;;;Light;4.5;-.6;12.25;;;;;;;;;1;1}{;;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,,explosion_rlaan.ani,0,1500,0,,,,,-Taizong.stock,./taizong,Taizong,MANEUVOUR,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,75,75,75,12000,12000,12000,12000,12000,12000,12000,250,250,FALSE,FALSE,300000000,0,0,0,32,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive,,;;;;;;,,"{;;5;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{;;5;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{;;5;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{;;5;Light;4.5;-.6;12.25;;;;;;;;;1;1}{;;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,,explosion_rlaan.ani,0,1500,0,,,,,+Areus,./areus,Areus,,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,378,150,150,150,150,137.5,137.5,137.5,137.5,600,600,600,600,,,,,40,0,1600,1200,240,TRUE,1,,200,200,1,0,24000,24000,50000,70,75,70,21600,15000,10000,4000,4000,4000,4000,275,275,TRUE,TRUE,300000000,5,180,10,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{Photon_MKIII;3000;6;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{Penetrator;;40;heavy autotracking;0;-3;3;;;;;;;;;1;1}{Heatseeker;7;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{HeatSeeker;7;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{AdvTorpedo;4;400;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{AdvTorpedo;4;400;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,900,0,,,,,+Areus.milspec,./areus,Areus,,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,378,150,150,150,150,137.5,137.5,137.5,137.5,600,600,600,600,,,,,40,0,1600,1200,240,TRUE,1,,200,200,1,0,24000,24000,50000,70,75,70,21600,15000,10000,4000,4000,4000,4000,275,275,TRUE,TRUE,300000000,5,180,10,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{;;5;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{;;30;heavy autotracking;0;-3;3;;;;;;;;;1;1}{;;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{;;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,200,0,,,,,+Goddard,./goddard,Goddard,,Vessel,BOMBER,"Recently developed Andolian bomber. One of the most advanced and most expensive human craft currently in service.",goddard-hud.spr,5,no-co*ckpit,0,0,0,{goddard.bfxm;;},,,,,,,4800,4800,166.67,2100,450,450,450,450,400,400,400,400,1600,1400,1400,1400,,,,,200,0,450,4000,500,TRUE,1,,200,150,1,0,100000,100000,100000,55,55,50,150000,130000,110000,60000,60000,60000,60000,220,220,TRUE,TRUE,150000000,18.19,180,90,1000,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,{turretpdlong;0;2.2;4.5;0;0;1;0;1;0;180.0}{turretpdlong;0;-4.05;10;0;0;1;0;-1;0;180.0},;;;;;;,{supernova.bmp.bfxm;0;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;-1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;8.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-8.75;0.275;-2.75;2;;;;;},"{torpedo;8;800;heavy-missile;1;-2;7;;;;;;;;;1;1}{torpedo;8;800;heavy-missile;-1;-2;7;;;;;;;;;1;1}{torpedo;8;800;heavy-missile;1;-2;-1;;;;;;;;;1;1}{torpedo;8;800;heavy-missile;-1;-2;-1;;;;;;;;;1;1}{FS_MWRF_Laser;;;light autotracking;12.5;0.1;0;;;;;;;;;1;1}{FS_MWRF_Laser;;;light autotracking;-12.5;0.1;0;;;;;;;;;1;1}{FS_MWRF_Laser;;;light autotracking;12.5;-0.1;0;;;;;;;;;1;1}{FS_MWRF_Laser;;;light autotracking;-12.5;-0.1;0;;;;;;;;;1;1}{DisruptorBeam;;;light medium autotracking;-2;0;12;;;;;;;;;1;1}{DisruptorBeam;;;light medium autotracking;2;-0;12;;;;;;;;;1;1}{RelativisticParticleBeam;;;capship-light;-0.1;-2;13;;;;;;;;;1;1}{RelativisticParticleBeam;;;capship-light;0.1;-2;13;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;4.1;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;3.9;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;-4.1;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;-3.9;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;8.1;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;7.9;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;-8.1;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;-7.9;0;-3;;;;;;;;;1;1}",,,,,,0,25000,0,,,,,+Goddard.milspec,./goddard,Goddard,,Vessel,BOMBER,"Recently developed Andolian bomber. One of the most advanced and most expensive human craft currently in service.",goddard-hud.spr,5,no-co*ckpit,0,0,0,{goddard.bfxm;;},,,,,,,4800,4800,166.67,2100,450,450,450,450,400,400,400,400,1600,1400,1400,1400,,,,,200,0,450,4000,500,TRUE,1,,200,150,1,0,100000,100000,100000,55,55,50,150000,130000,110000,60000,60000,60000,60000,220,220,TRUE,TRUE,150000000,18.19,180,90,1000,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,{turretpdlong;0;2.2;4.5;0;0;1;0;1;0;180.0}{turretpdlong;0;-4.05;10;0;0;1;0;-1;0;180.0},;;;;;;,{supernova.bmp.bfxm;0;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;-1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;8.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-8.75;0.275;-2.75;2;;;;;},"{;;800;heavy-missile;1;-2;7;;;;;;;;;1;1}{;;800;heavy-missile;-1;-2;7;;;;;;;;;1;1}{;;800;heavy-missile;1;-2;-1;;;;;;;;;1;1}{;;800;heavy-missile;-1;-2;-1;;;;;;;;;1;1}{;;5;light autotracking;12.5;0.1;0;;;;;;;;;1;1}{;;5;light autotracking;-12.5;0.1;0;;;;;;;;;1;1}{;;5;light autotracking;12.5;-0.1;0;;;;;;;;;1;1}{;;5;light autotracking;-12.5;-0.1;0;;;;;;;;;1;1}{;;5;light medium autotracking;-2;0;12;;;;;;;;;1;1}{;;5;light medium autotracking;2;-0;12;;;;;;;;;1;1}{;;30;capship-light;0.1;-2;13;;;;;;;;;1;1}{;;80;light-missile medium-missile;4.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;3.9;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-4.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-3.9;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;8.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;7.9;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-8.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-7.9;0;-3;;;;;;;;;1;1}",,,,,,0,5000,0,,,,,+Kierkegaard,./kierkegaard,Kierkegaard,,Vessel,BOMBER,"Andolian Protectorate Missileboat/Gunship",,5,no-co*ckpit,0,0,0,{kierkegaard.bfxm;;},,,,,,,1500,1500,25,500,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,45,50,55,60000,55000,40000,8000,8000,8000,8000,240,240,FALSE,FALSE,300000000,15,180,90,400,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;0.00000e+0;0.350000;-2.09200;2;;;;;}{supernova.bmp.bfxm;1.31600;-6.00000e-3;-1.82200;2;;;;;}{supernova.bmp.bfxm;-1.32800;-6.00000e-3;-1.82200;2;;;;;},"{;;;Light Medium;1.01200;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light Medium;-0.964000;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light;0.380000;0.176000;1.07600;;;;;;;;;1;1}{;;;Light;-0.336000;0.176000;1.07600;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}",,,,,,0,4500,0,,,,,+Pacifier,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{HeavyIonBeam;;;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{MiniDriver;600;3;Light;.65;3.75;7;;;;;;;;;1;1}{MiniDriver;600;3;Light;-.65;3.75;7;;;;;;;;;1;1}{Hail;32;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{Hail;32;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{torpedo;2;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{torpedo;2;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{Dumbfire;16;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{Dumbfire;16;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,2500,0,,,,,+Pacifier.milspec,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;15;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,500,0,,,,,+Pacifier.rg,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{HeavyIonBeam;;;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{MicroDriver;3000;3;Light;.65;3.75;7;;;;;;;;;1;1}{MicroDriver;3000;3;Light;-.65;3.75;7;;;;;;;;;1;1}{Hail;32;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{Hail;32;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{torpedo;2;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{torpedo;2;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{Dumbfire;16;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{Dumbfire;16;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,2500,0,,,,,+Pacifier.rgspec,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;3;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,500,0,,,,,+Taizong,./taizong,Taizong,,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,140,140,140,140,122.5,122.5,122.5,122.5,350,300,300,300,,,,,200,0,600,1400,360,TRUE,1,,200,200,0,0,40000,40000,40000,90,90,90,12000,12000,12000,12000,12000,12000,12000,310,310,,TRUE,300000000,18.19,180,49.46,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,,"{KtekBeam;;;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{KtekBeam;;;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{Ktek;;;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{Ktek;;;Light;4.5;-.6;12.25;;;;;;;;;1;1}{MiniGravThumper;8;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,,explosion_rlaan.ani,0,1500,0,,,,,+Taizong.milspec,./taizong,Taizong,,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,140,140,140,140,122.5,122.5,122.5,122.5,350,300,300,300,,,,,200,0,600,1400,360,TRUE,1,,200,200,0,0,40000,40000,40000,90,90,90,12000,12000,12000,12000,12000,12000,12000,310,310,,TRUE,300000000,18.19,180,49.46,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,,"{;;5;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{;;5;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{;;5;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{;;5;Light;4.5;-.6;12.25;;;;;;;;;1;1}{;;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,,explosion_rlaan.ani,0,300,0,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,,,,,,,,,,,,,,,,+Areus.blank,./areus,Areus,MANEUVOUR,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,450,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,60000,60000,60000,62,70,62,21600,15000,10000,4000,4000,4000,4000,220,220,FALSE,FALSE,300000000,0,0,0,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{;;3;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{;;;heavy autotracking;0;-3;3;;;;;;;;;1;1}{;;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{;;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,900,0,,,,,+Areus.stock,./areus,Areus,MANEUVOUR,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,450,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,60000,60000,60000,62,70,62,21600,15000,10000,4000,4000,4000,4000,... [truncated message content]

[Vegastrike-cvs] SF.net SVN: vegastrike: [11055] trunk

From: <ja...@us...> - 2007-07-12 22:06:49

Revision: 11055 Author: jacksDate: 2007-07-12 15:06:49 -0700 (Thu, 12 Jul 2007)Log Message:-----------Starting postion tweak: should avoid collision with planet on first launch.Upgrade tweak: Passenger quarters/other non-stat upgrades no longer appear as broken upon purchase.Elasticity of collisions adjusted up (complaints of game-play unpleasant explody)Modified Paths:-------------- trunk/data4.x/mission/explore_universe.mission trunk/data4.x/vegastrike.config trunk/vegastrike/src/cmd/unit_generic.cpp trunk/vegastrike/src/cmd/unit_util_generic.cppModified: trunk/data4.x/mission/explore_universe.mission===================================================================--- trunk/data4.x/mission/explore_universe.mission2007-07-12 08:35:06 UTC (rev 11054)+++ trunk/data4.x/mission/explore_universe.mission2007-07-12 22:06:49 UTC (rev 11055)@@ -15,7 +15,7 @@ </variables> <flightgroups> <flightgroup name="Shlimazel" faction="privateer" type="Llama.begin" ainame="default" waves="1" nr_ships="1">-<pos x="120000000000" y="-10600000" z="-110000000000.0"/>+<pos x="119990000000" y="-9000000" z="-109990000000.0"/> </flightgroup> </flightgroups> <python>Modified: trunk/data4.x/vegastrike.config===================================================================--- trunk/data4.x/vegastrike.config2007-07-12 08:35:06 UTC (rev 11054)+++ trunk/data4.x/vegastrike.config2007-07-12 22:06:49 UTC (rev 11055)@@ -23,7 +23,7 @@ #set Video GeForce3 #set Resolution 1024x768 #set Sound audio_3d_win_male-#set MusicAndVolume windows_ext_music_on+#set MusicAndVolume windows_ext_music_high #set Computer P1000MHz #set Color win_32 #set Difficulty medium@@ -860,12 +860,12 @@ <var name="external_play_option" value="/PLAY"/> <var name="external_enqueue_option" value="/ADD"/> <!-- #end -->-<!-- #windows_ext_music_high+<!-- #windows_ext_music_high --> <var name="music_volume" value=".75"/>+<!-- #end -->+<!-- #windows_ext_music_on+<var name="music_volume" value=".5"/> #end -->-<!-- #windows_ext_music_on -->-<var name="music_volume" value=".5"/>-<!-- #end --> <!-- #windows_ext_music_low <var name="music_volume" value=".25"/> #end -->@@ -1073,7 +1073,7 @@ <var name="difficulty_based_enemy_damage" value="true"/> <var name="difficulty_speed_exponent" value="0"/> -<var name="inelastic_scale" value=".75"/>+<var name="inelastic_scale" value=".50"/> <var name="collision_inertial_time" value="1.25"/> <var name="minimum_time_between_recorded_player_collisions" value=".1"/>Modified: trunk/vegastrike/src/cmd/unit_generic.cpp===================================================================--- trunk/vegastrike/src/cmd/unit_generic.cpp2007-07-12 08:35:06 UTC (rev 11054)+++ trunk/vegastrike/src/cmd/unit_generic.cpp2007-07-12 22:06:49 UTC (rev 11055)@@ -7816,8 +7816,12 @@ cancompletefully=false; } }-if (numave)+if(0==numave){ // Doesn't upgrade anything -- JS_NUDGE -- may want to revisit this later+percentage=1.0;+}+if (numave){ percentage=percentage/numave;+} if (0&&touchme&&up->Mass&&numave) { float multiplyer =((downgrade)?-1:1); Mass +=multiplyer*percentage*up->Mass;Modified: trunk/vegastrike/src/cmd/unit_util_generic.cpp===================================================================--- trunk/vegastrike/src/cmd/unit_util_generic.cpp2007-07-12 08:35:06 UTC (rev 11054)+++ trunk/vegastrike/src/cmd/unit_util_generic.cpp2007-07-12 22:06:49 UTC (rev 11055)@@ -706,7 +706,7 @@ if (un->canUpgrade(upgrade,-1,-1,0,true,percent,makeTemplateUpgrade(un->name,un->faction),false)) { if (percent>0&&percent<1){ return percent;- } else if(percent>1){ //FIXME workaround for sensors -- see below comment, not sure why sensors report erroneous functional percentage+ } else if(percent>=1){ //FIXME workaround for sensors -- see below comment, not sure why sensors report erroneous functional percentage return 1.0; } else return .5;//FIXME does not interact well with radar type }else if (percent>0) return percent;

[Vegastrike-cvs] SF.net SVN: vegastrike: [11067] trunk

From: <ja...@us...> - 2007-07-14 22:26:23

Revision: 11067 Author: jacksDate: 2007-07-14 15:26:25 -0700 (Sat, 14 Jul 2007)Log Message:-----------Shipame display cleanup in basecomputer.cppAdded dummy lines for ships referenced in master_part_list.csv but not present in units.csvModified Paths:-------------- trunk/data4.x/master_part_list.csv trunk/data4.x/units/units.csv trunk/vegastrike/src/cmd/basecomputer.cppModified: trunk/data4.x/master_part_list.csv===================================================================--- trunk/data4.x/master_part_list.csv2007-07-13 18:25:29 UTC (rev 11066)+++ trunk/data4.x/master_part_list.csv2007-07-14 22:26:25 UTC (rev 11067)@@ -1,40 +1,30 @@ "file","categoryname","price","mass","volume","description"-"Admonisher.blank","starships/UNSALABLE",1,275,5600,"A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO." "Admonisher.stock","starships/Confed/Heavy",3000000,275,5600,"A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO." "Admonisher.HSspec","starships/Homeland-Security/Milspec",3000000,275,5600,"A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO." "Admonisher.milspec","starships/Confed/Milspec",3500000,275,5600,"A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO." "Admonisher.puristspec","starships/Purist/Milspec",3000000,275,5600,"A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO." "Admonisher.rgspec","starships/Regional_Guard/Heavy",3000000,275,5600,"A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO." "Admonisher.salvage","starships/Pirate/Heavy",2000000,275,5600,"A Purist crafted light assault vessel, the Admonisher is often used for internal policing duties by Homeland Security and others within the Confederation. As might be expected from a vessel used for such purposes, it excels at neutralizing both small craft and their support vessels, a valuable asset in the suppression of Pirates and the dangerous ideologies of the Luddites and ISO."-"Ancestor.blank","starships/UNSALABLE",1,40,800,"The 'ancestors' of the Ancestor class have been flying for hundreds of years. This most recent remodelling of the Shaper's aerospace frame has been in service for 15 years, and has seen action several times in assaults on dirtside criminal bases." "Ancestor.stock","starships/Shaper/Light",190000,40,1000,"The 'ancestors' of the Ancestor class have been flying for hundreds of years. This most recent remodelling of the Shaper's aerospace frame has been in service for 15 years, and has seen action several times in assaults on dirtside criminal bases." "Ancestor.milspec","starships/Confed/Milspec",700000,40,800,"The 'ancestors' of the Ancestor class have been flying for hundreds of years. This most recent remodelling of the Shaper's aerospace frame has been in service for 15 years, and has seen action several times in assaults on dirtside criminal bases." "Ancestor.shaperspec","starships/Shaper/Milspec",525000,40,800,"The 'ancestors' of the Ancestor class have been flying for hundreds of years. This most recent remodelling of the Shaper's aerospace frame has been in service for 15 years, and has seen action several times in assaults on dirtside criminal bases." "Areus","starships/UNSALABLE",1,216,4400,"More a fighter than a bomber, this is the secondary assault craft the Aera rely on, after the Agis. These light assault craft are commonly seen as escorts to the larger, more dangerous Agis class assault corvettes, though it is not uncommon to see wings of Areus detatch to spearhead assaults on subcapitals and support vessels. While larger and not as nimble as fighters or interceptors, the Areus is perfectly well equipped to engage any smaller craft foolish enough to wander near its gun sights. Armament on the Areus isn't well suited to assaulting capital vessels directly, but is entirely sufficient for destroying subcapitals, support craft, or softening up craft too large to destroy outright with the limited payload available. The Areus is almost never seen in defensive operations outside of the aforementioned escort of larger strike forces."-"Areus.blank","starships/UNSALABLE",1,216,4400,"More a fighter than a bomber, this is the secondary assault craft the Aera rely on, after the Agis. These light assault craft are commonly seen as escorts to the larger, more dangerous Agis class assault corvettes, though it is not uncommon to see wings of Areus detatch to spearhead assaults on subcapitals and support vessels. While larger and not as nimble as fighters or interceptors, the Areus is perfectly well equipped to engage any smaller craft foolish enough to wander near its gun sights. Armament on the Areus isn't well suited to assaulting capital vessels directly, but is entirely sufficient for destroying subcapitals, support craft, or softening up craft too large to destroy outright with the limited payload available. The Areus is almost never seen in defensive operations outside of the aforementioned escort of larger strike forces." "Areus.milspec","starships/Aera/Milspec",6000000,216,4400,"More a fighter than a bomber, this is the secondary assault craft the Aera rely on, after the Agis. These light assault craft are commonly seen as escorts to the larger, more dangerous Agis class assault corvettes, though it is not uncommon to see wings of Areus detatch to spearhead assaults on subcapitals and support vessels. While larger and not as nimble as fighters or interceptors, the Areus is perfectly well equipped to engage any smaller craft foolish enough to wander near its gun sights. Armament on the Areus isn't well suited to assaulting capital vessels directly, but is entirely sufficient for destroying subcapitals, support craft, or softening up craft too large to destroy outright with the limited payload available. The Areus is almost never seen in defensive operations outside of the aforementioned escort of larger strike forces."-"Ariston.blank","starships/UNSALABLE",1,197,4000,"The Aeran Ascendancy's Ariston class is not the most nimble fighter and is impotent against large vessels, but it is very well armed and armored against small craft. The Ariston is a defensively oriented fighter, flying escort and superiority missions, and never assault. Significant numbers of Aristons will accompany strike missions, but ordinance loads are universily anti-interceptor. Likewise, a reserve of Aristons tends to be kept near capital vessels to launch alongside Nicander class interceptors, so as to engage enemy fighter escorts." "Ariston.stock","starships/Aera/Heavy",2700000,197,4000,"The Aeran Ascendancy's Ariston class is not the most nimble fighter and is impotent against large vessels, but it is very well armed and armored against small craft. The Ariston is a defensively oriented fighter, flying escort and superiority missions, and never assault. Significant numbers of Aristons will accompany strike missions, but ordinance loads are universily anti-interceptor. Likewise, a reserve of Aristons tends to be kept near capital vessels to launch alongside Nicander class interceptors, so as to engage enemy fighter escorts." "Ariston.escort","starships/UNSALABLE",1,197,4000,"The Aeran Ascendancy's Ariston class is not the most nimble fighter and is impotent against large vessels, but it is very well armed and armored against small craft. The Ariston is a defensively oriented fighter, flying escort and superiority missions, and never assault. Significant numbers of Aristons will accompany strike missions, but ordinance loads are universily anti-interceptor. Likewise, a reserve of Aristons tends to be kept near capital vessels to launch alongside Nicander class interceptors, so as to engage enemy fighter escorts." "Ariston.milspec","starships/Aera/Milspec",3500000,197,4000,"The Aeran Ascendancy's Ariston class is not the most nimble fighter and is impotent against large vessels, but it is very well armed and armored against small craft. The Ariston is a defensively oriented fighter, flying escort and superiority missions, and never assault. Significant numbers of Aristons will accompany strike missions, but ordinance loads are universily anti-interceptor. Likewise, a reserve of Aristons tends to be kept near capital vessels to launch alongside Nicander class interceptors, so as to engage enemy fighter escorts." "Clydesdale","starships/UNSALABLE",1,29000000,590000000,"The only warship produced at Merchant shipyards, the Clydesdale suffers somewhat from being a truly Confederation designed vessel, with noticeable committee effects. If not posessing unrivaled capabilities, nor visionary design, it is nonetheless a solid, workhorse of a vessel and produced, like all craft rolling off the Merchant shipyards, in some number."-"Clydesdale.blank","starships/UNSALABLE",1,29000000,590000000,"The only warship produced at Merchant shipyards, the Clydesdale suffers somewhat from being a truly Confederation designed vessel, with noticeable committee effects. If not posessing unrivaled capabilities, nor visionary design, it is nonetheless a solid, workhorse of a vessel and produced, like all craft rolling off the Merchant shipyards, in some number." "Clydesdale.milspec","starships/Confed/Light_Capship",400000000,29000000,590000000,"The only warship produced at Merchant shipyards, the Clydesdale suffers somewhat from being a truly Confederation designed vessel, with noticeable committee effects. If not posessing unrivaled capabilities, nor visionary design, it is nonetheless a solid, workhorse of a vessel and produced, like all craft rolling off the Merchant shipyards, in some number." "Clydesdale.merchant","starships/Merchant/Light_Capship",300000000,29000000,590000000,"The only warship produced at Merchant shipyards, the Clydesdale suffers somewhat from being a truly Confederation designed vessel, with noticeable committee effects. If not posessing unrivaled capabilities, nor visionary design, it is nonetheless a solid, workhorse of a vessel and produced, like all craft rolling off the Merchant shipyards, in some number."-"Convolution.blank","starships/UNSALABLE",1,62,1280,"Typically used as a light assault craft, the Convolution relies on its heavy energy-weapon firepower rather than missiles to overpower its foes with sequences of strafing runs. It is an Unadorned design; as befits the faction's name, it is far from an aesthetic marvel, asymmetric and without pretense of beauty, but is well-designed, cost-effective, and the preferred strike craft of a small minority of pilots." "Convolution.stock","starships/Confed/Medium",760000,62,1280,"Typically used as a light assault craft, the Convolution relies on its heavy energy-weapon firepower rather than missiles to overpower its foes with sequences of strafing runs. It is an Unadorned design; as befits the faction's name, it is far from an aesthetic marvel, asymmetric and without pretense of beauty, but is well-designed, cost-effective, and the preferred strike craft of a small minority of pilots." "Convolution.milspec","starships/Confed/Milspec",1500000,62,1280,"Typically used as a light assault craft, the Convolution relies on its heavy energy-weapon firepower rather than missiles to overpower its foes with sequences of strafing runs. It is an Unadorned design; as befits the faction's name, it is far from an aesthetic marvel, asymmetric and without pretense of beauty, but is well-designed, cost-effective, and the preferred strike craft of a small minority of pilots."-"Derivative.blank","starships/UNSALABLE",1,134,2700,"An Unadorned missile-based interceptor, the Derivative is commonly deployed as part of Confederate fleets. It can quikly bring to bear a large amount of firepower from its compact, almost skeletal, frame. Because of this, its mere presence is often enough to make undesireables reconsider their intended courses of action." "Derivative.stock","starships/Confed/Medium",800000,134,2700,"An Unadorned missile-based interceptor, the Derivative is commonly deployed as part of Confederate fleets. It can quikly bring to bear a large amount of firepower from its compact, almost skeletal, frame. Because of this, its mere presence is often enough to make undesireables reconsider their intended courses of action." "Derivative.milspec","starships/Confed/Milspec",1200000,134,2700,"An Unadorned missile-based interceptor, the Derivative is commonly deployed as part of Confederate fleets. It can quikly bring to bear a large amount of firepower from its compact, almost skeletal, frame. Because of this, its mere presence is often enough to make undesireables reconsider their intended courses of action."-"Determinant.blank","starships/UNSALABLE",1,54,1100,"Solid and reliable, the Unadorned Determinant-class ships can often be seen prowling Confederate space, and have now even proven themselves in skirmishes with Aeran raiders. Though its popularity is highest among the Unadorned, it remains well-liked by the rest of the Confederation, and others, due to its relatively low cost to produce." "Determinant.stock","starships/Confed/Medium",700000,54,1100,"Solid and reliable, the Unadorned Determinant-class ships can often be seen prowling Confederate space, and have now even proven themselves in skirmishes with Aeran raiders. Though its popularity is highest among the Unadorned, it remains well-liked by the rest of the Confederation, and others, due to its relatively low cost to produce." "Determinant.milspec","starships/Confed/Milspec",1200000,54,1100,"Solid and reliable, the Unadorned Determinant-class ships can often be seen prowling Confederate space, and have now even proven themselves in skirmishes with Aeran raiders. Though its popularity is highest among the Unadorned, it remains well-liked by the rest of the Confederation, and others, due to its relatively low cost to produce." "Dirge","starships/UNSALABLE",1,123456789,123456789,"An insystem fighter design, the Dirge is a sturdy, flexible ship that can be fitted with both guns and missiles. Versatile, balanced, and agile, it is most often seen in the use of its creators, the Shmrn. "-"Dodo.blank","starships/UNSALABLE",1,1096,21000,"As a cargo tug, quite successful. As a piece of art - quite ugly." "Dodo.stock","starships/Merchant/Light",75000,1096,22000,"As a cargo tug, quite successful - as a piece of art, quite ugly." "Dodo.milspec","starships/Confed/Milspec",90000,1096,21000,"As a cargo tug, quite successful. As a piece of art - quite ugly."-"Dostoevsky.blank","starships/UNSALABLE",1,63,1300,"A superiority fighter manufactured in massive numbers by the Andolian Protectorate, the Dostoevsky combines a light, efficient design with immediately palpable firepower. Though designed to engage other fighters, its ability to carry a torpedo, if only one, broadens the range of targets that must stay wary, especially in the numbers that Dostoevskys tend to appear in." "Dostoevsky.stock","starships/Andolian/Medium",360000,63,1300,"A superiority fighter manufactured in massive numbers by the Andolian Protectorate, the Dostoevsky combines a light, efficient design with immediately palpable firepower. Though designed to engage other fighters, its ability to carry a torpedo, if only one, broadens the range of targets that must stay wary, especially in the numbers that Dostoevskys tend to appear in." "Dostoevsky.klkkspec","starships/klk'k/Medium",550000,63,1300,"A superiority fighter manufactured in massive numbers by the Andolian Protectorate, the Dostoevsky combines a light, efficient design with immediately palpable firepower. Though designed to engage other fighters, its ability to carry a torpedo, if only one, broadens the range of targets that must stay wary, especially in the numbers that Dostoevskys tend to appear in." "Dostoevsky.milspec","starships/klk'k/Milspec",500000,63,1300,"A superiority fighter manufactured in massive numbers by the Andolian Protectorate, the Dostoevsky combines a light, efficient design with immediately palpable firepower. Though designed to engage other fighters, its ability to carry a torpedo, if only one, broadens the range of targets that must stay wary, especially in the numbers that Dostoevskys tend to appear in."@@ -42,73 +32,54 @@ "Franklin","starships/UNSALABLE",1,575,12000,"Andolian diplomatic shuttle" "Franklin.milspec","starships/Passenger/Light",1800000,575,12000,"Andolian diplomatic shuttle" "Franklin.hunter","starships/Hunter/Heavy",1000000,575,12000,"Andolian diplomatic shuttle"-"Gawain.blank","starships/UNSALABLE",1,40,800,"A bejeweled sword among more workmanlike interceptors since its introduction three years ago, the Highborn Gawain is an impressively featured and stylish craft. Magnificently built, it offers an array of features: a number of gun mounts, missile room, and a powerful engine capable of firm acceleration. It also offers a number of luxuries to the pilot as well, and those that have flown the Gawain consider it an experience to which little can compare. Like all Highborn vessels, it is known for its durability and reliability even under the worst conditions. Its features come at a great price, however, and it is one that few can afford. Perhaps for this reason, there are relatively few Gawains in service, with some buyers opting to requisition several of the much-cheaper Derivative class interceptors instead." "Gawain.stock","starships/Confed/Heavy",3200000,40,1000,"A bejeweled sword among more workmanlike interceptors since its introduction three years ago, the Highborn Gawain is an impressively featured and stylish craft. Magnificently built, it offers an array of features: a number of gun mounts, missile room, and a powerful engine capable of firm acceleration. It also offers a number of luxuries to the pilot as well, and those that have flown the Gawain consider it an experience to which little can compare. Like all Highborn vessels, it is known for its durability and reliability even under the worst conditions. Its features come at a great price, however, and it is one that few can afford. Perhaps for this reason, there are relatively few Gawains in service, with some buyers opting to requisition several of the much-cheaper Derivative class interceptors instead." "Gawain.highbornspec","starships/Highborn/Heavy",4000000,40,800,"The High-Born have a spacecraft manufacturing methodology most other factions reserve for Luxury Yachts. The Gawain class of interceptors stays true to this line of thinking, with exceptional performance being provided for exhorbitant cost. The price tag comes from the manufacturing method itself, the lower scale of production, and the equally important mere 3 years of production on the current version." "Gawain.milspec","starships/Confed/Milspec",4500000,40,800,"A bejeweled sword among more workmanlike interceptors since its introduction three years ago, the Highborn Gawain is an impressively featured and stylish craft. Magnificently built, it offers an array of features: a number of gun mounts, missile room, and a powerful engine capable of firm acceleration. It also offers a number of luxuries to the pilot as well, and those that have flown the Gawain consider it an experience to which little can compare. Like all Highborn vessels, it is known for its durability and reliability even under the worst conditions. Its features come at a great price, however, and it is one that few can afford. Perhaps for this reason, there are relatively few Gawains in service, with some buyers opting to requisition several of the much-cheaper Derivative class interceptors instead." "Goddard","starships/UNSALABLE",1,2150,43000,"The Goddard is a heavy bomber of Andolian manufacture, and the current crown jewel of the Confederation's array of small craft. Created from lessons gleaned from the Aera-Rlaan conflict, the Goddard is a flying fortress, able to weather a considerable amount of punishment. However, as strong as it is defensively, it is even more impressive offensively. Its nearly two dozen gun, turrets, and missile mounts allow it to unleash devastation on whatever its target may be."-"Goddard.blank","starships/UNSALABLE",1,2150,43000,"The Goddard is a heavy bomber of Andolian manufacture, and the current crown jewel of the Confederation's array of small craft. Created from lessons gleaned from the Aera-Rlaan conflict, the Goddard is a flying fortress, able to weather a considerable amount of punishment. However, as strong as it is defensively, it is even more impressive offensively. Its nearly two dozen gun, turrets, and missile mounts allow it to unleash devastation on whatever its target may be." "Goddard.milspec","starships/Confed/Milspec",11000000,2150,43000,"The Goddard is a heavy bomber of Andolian manufacture, and the current crown jewel of the Confederation's array of small craft. Created from lessons gleaned from the Aera-Rlaan conflict, the Goddard is a flying fortress, able to weather a considerable amount of punishment. However, as strong as it is defensively, it is even more impressive offensively. Its nearly two dozen gun, turrets, and missile mounts allow it to unleash devastation on whatever its target may be." "GTIO","starships/UNSALABLE",1,123456789,123456789,"What happens when you maximize speed and style to the exclusion of everything else? The GTIO happens. Simply the best sportship on the market today, the GTIO is a redefinition of power and luxury, and carries a pricetag that reflects that."-"Hammer.blank","starships/UNSALABLE",1,115,2300,"The Hammer assault craft was originally named the 'Toad', a creation of the LIHW. However, usage of this model by the ISO has made it iconic, to the point where few call it by its original name. Much larger than the other famous ISO ship, the Sickle, the Hammer has sometimes been referred to as 'the mighty arm of the proletariat' in ISO propaganda." "Hammer.stock","starships/Hunter/Heavy",200000,115,2300,"The Hammer assault craft was originally named the 'Toad', a creation of the LIHW. However, usage of this model by the ISO has made it iconic, to the point where few call it by its original name. Much larger than the other famous ISO ship, the Sickle, the Hammer has sometimes been referred to as 'the mighty arm of the proletariat' in ISO propaganda." "Hammer.iso","starships/UNSALABLE",1,115,2300,"The Hammer assault craft was originally named the 'Toad', a creation of the LIHW. However, usage of this model by the ISO has made it iconic, to the point where few call it by its original name. Much larger than the other famous ISO ship, the Sickle, the Hammer has sometimes been referred to as 'the mighty arm of the proletariat' in ISO propaganda." "Hammer.isospec","starships/ISO/Heavy",280000,115,2300,"The Hammer assault craft was originally named the 'Toad', a creation of the LIHW. However, usage of this model by the ISO has made it iconic, to the point where few call it by its original name. Much larger than the other famous ISO ship, the Sickle, the Hammer has sometimes been referred to as 'the mighty arm of the proletariat' in ISO propaganda."-"Hyena.blank","starships/UNSALABLE",1,40,1000,"Like their namesakes from the savannahs of Earth, Hyenas are often seen preferring to engage the damaged, the naive, and the straggler rather than pursuing more solid prey, especially when in the hands of Pirates. Though they possess neither great speed, nor impressive maneuverability, the Hyenas nonetheless pack enough firepower to give a pilot pause, especially in packs." "Hyena.stock","starships/Pirate/Light",110000,40,1000,"Like their namesakes from the savannahs of Earth, Hyenas are often seen preferring to engage the damaged, the naive, and the straggler rather than pursuing more solid prey, especially when in the hands of Pirates. Though they possess neither great speed, nor impressive maneuverability, the Hyenas nonetheless pack enough firepower to give a pilot pause, especially in packs." "Hyena.hunter","starships/Hunter/Light",140000,40,1000,"Like their namesakes from the savannahs of Earth, Hyenas are often seen preferring to engage the damaged, the naive, and the straggler rather than pursuing more solid prey, especially when in the hands of Pirates. Though they possess neither great speed, nor impressive maneuverability, the Hyenas nonetheless pack enough firepower to give a pilot pause, especially in packs." "Hyena.pirates","starships/UNSALABLE",1,40,1000,"Like their namesakes from the savannahs of Earth, Hyenas are often seen preferring to engage the damaged, the naive, and the straggler rather than pursuing more solid prey, especially when in the hands of Pirates. Though they possess neither great speed, nor impressive maneuverability, the Hyenas nonetheless pack enough firepower to give a pilot pause, especially in packs." "Kafka","starships/UNSALABLE",1,123456789,123456789,"While the Merchant's Guild has a well-recognized line of cargo vessels, the Kafka is a simple, cost-effective shuttle that can transport a good amount of cargo. It is most often found in the more lawful regions of space, usually those inhabited by its designers, the Klk'k." "Kafka.civvie","starships/UNSALABLE",1,123456789,123456789,"While the Merchant's Guild has a well-recognized line of cargo vessels, the Kafka is a simple, cost-effective shuttle that can transport a good amount of cargo. It is most often found in the more lawful regions of space, usually those inhabited by its designers, the Klk'k." "Kierkegaard","starships/UNSALABLE",1,123456789,123456789,"Used to near exclusion in anti-capital roles, the Kierkegaard is a missile oriented Andolian gunboat. Its heavy reliance on missiles, coupled with its modest acceleration curves, makes it much more suited to defensive deployments than spearheading strikeforces. While it excels at weakening and destroying capital vessels, it has been found wanting when faced with packs of nimble fighters, and must hastily return to friendlier space when its missile supplies run low."-"Lancelot.blank","starships/UNSALABLE",1,170,3500,"A heavy superiority fighter designed by the Highborn, the Lancelot really is superior in almost every sense of the word. Superbly engineered, even the older Lancelot models seldom have mechanical problems, and the interior, spartan in most other military vessels, is nothing short of luxurious. The cost, however, as with most Highborn designs, is equally profound." "Lancelot.stock","starships/Confed/Heavy",3800000,170,3500,"A heavy superiority fighter designed by the Highborn, the Lancelot really is superior in almost every sense of the word. Superbly engineered, even the older Lancelot models seldom have mechanical problems, and the interior, spartan in most other military vessels, is nothing short of luxurious. The cost, however, as with most Highborn designs, is equally profound." "Lancelot.milspec","starships/Confed/Milspec",6500000,170,3500,"A heavy superiority fighter designed by the Highborn, the Lancelot really is superior in almost every sense of the word. Superbly engineered, even the older Lancelot models seldom have mechanical problems, and the interior, spartan in most other military vessels, is nothing short of luxurious. The cost, however, as with most Highborn designs, is equally profound."-"Llama.blank","starships/UNSALABLE",1,1000,20000,"What can be said of a llama, save for that one is rather less suited to carrying than a mule and not too adept at pulling a plowshare." "Llama.begin","starships/Lauktk",1,1000,20000,"With Lauktk's death, ownership of this vessel has passed on to you." "Llama.stock","starships/Merchant/Light",180000,1000,20000,"What can be said of a llama, save for that one is rather less suited to carrying than a mule and not too adept at pulling a plowshare."-"Mule.blank","starships/UNSALABLE",1,20000,570000,"The Mule class is the cargo vessel of choice for anything that does not require the immense load of an Ox class. Mule class vessels are the preferred mode of military supply transport, if only because their abundance makes them easier to replace when they meet unfortunate ends." "Mule.stock","starships/Merchant/Heavy",8000000,28000,570000,"The Mule class is the cargo vessel of choice for anything that does not require the immense load of an Ox class. Mule class vessels are the preferred mode of military supply transport, if only because their abundance makes them easier to replace when they meet unfortunate ends." "Mule.milspec","starships/Confed/Light_Capship",9000000,20000,570000,"The Mule class is the cargo vessel of choice for anything that does not require the immense load of an Ox class. Mule class vessels are the preferred mode of military supply transport, if only because their abundance makes them easier to replace when they meet unfortunate ends."-"Nicander.blank","starships/UNSALABLE",1,132,2700,"The preeminent Aeran interceptor, the Nicander is lithe and viciously armed" "Nicander.stock","starships/Aera/Light",2000000,132,2700,"The preeminent Aeran interceptor, the Nicander is lithe and supports vicious armaments." "Nicander.escort","starships/UNSALABLE",1,132,2700,"A slightly less agressively designed variant of the well known Nicander, the escort variant of the Aeran interceptor is used in a more defensive role than its more well known sibling." "Nicander.milspec","starships/Aera/Milspec",3200000,132,2700,"The preeminent Aeran interceptor, the Nicander is lithe and viciously armed"-"Ox.blank","starships/UNSALABLE",1,1000000,40000000,"A container transport, the Ox is more suited to multi-hop interstellar bulk cargo runs than the smaller mule." "Ox.stock","starships/Merchant/Light_Capship",42000000,1000000,40000000,"A container transport, the Ox is more suited to multi-hop interstellar bulk cargo runs than the smaller mule."-"Pacifier.blank","starships/UNSALABLE",1,490,10000,"An aging heavy craft of Purist make, the Pacifier has seen considerable service in the fifty years since its introduction. Though perhaps a bit unwieldy by modern standards, its firepower remains potent. What it lacks in speed and maneuverability, it makes up for in its versatility, having been among the first vessels to see action in both fighter and bomber roles in defense against the Aeran invasion." "Pacifier.stock","starships/Confed/Heavy",400000,490,10000,"An aging heavy craft of Purist make, the Pacifier has seen considerable service in the fifty years since its introduction. Though perhaps a bit unwieldy by modern standards, its firepower remains potent. What it lacks in speed and maneuverability, it makes up for in its versatility, having been among the first vessels to see action in both fighter and bomber roles in defense against the Aeran invasion." "Pacifier.milspec","starships/Confed/Milspec",1300000,490,10000,"An aging heavy craft of Purist make, the Pacifier has seen considerable service in the fifty years since its introduction. Though perhaps a bit unwieldy by modern standards, its firepower remains potent. What it lacks in speed and maneuverability, it makes up for in its versatility, having been among the first vessels to see action in both fighter and bomber roles in defense against the Aeran invasion." "Pacifier.rgspec","starships/Regional_Guard/Heavy",900000,484,10000,"An aging heavy craft of Purist make, the Pacifier has seen considerable service in the fifty years since its introduction. Though perhaps a bit unwieldy by modern standards, its firepower remains potent. What it lacks in speed and maneuverability, it makes up for in its versatility, having been among the first vessels to see action in both fighter and bomber roles in defense against the Aeran invasion."-"Plowshare.blank","starships/UNSALABLE",1,530,10000,"Lovingly referred to as a 'large brick with engines and guns', the Plowshare is a top of the line Purist cargo shuttle, far more spacious than the aged LIHW Llama, and easier to obtain for private use than the Merchant Reindeer. Much of the non-Merchant's Guild traffic within Purist friendly systems occurs via Plowshares." "Plowshare.stock","starships/Merchant/Medium",180000,527,10000,"Lovingly referred to as a 'large brick with engines and guns', the Plowshare is a top of the line Purist cargo shuttle, far more spacious than the aged LIHW Llama, and easier to obtain for private use than the Merchant Reindeer. Much of the non-Merchant's Guild traffic within Purist friendly systems occurs via Plowshares." "Plowshare.milspec","starships/Confed/Milspec",270000,530,10000,"Lovingly referred to as a 'large brick with engines and guns', the Plowshare is a top of the line Purist cargo shuttle, far more spacious than the aged LIHW Llama, and easier to obtain for private use than the Merchant Reindeer. Much of the non-Merchant's Guild traffic within Purist friendly systems occurs via Plowshares."-"Plowshare.pirates","starships/UNSALABLE",1,530,10000,"Lovingly referred to as a 'large brick with engines and guns', the Plowshare is a top of the line Purist cargo shuttle, far more spacious than the aged LIHW Llama, and easier to obtain for private use than the Merchant Reindeer. Much of the non-Merchant's Guild traffic within Purist friendly systems occurs via Plowshares."-"Progeny.blank","starships/UNSALABLE",1,62,1200,"A compact ship originally designed for the Shaper military, the Progeny would seem a natural complement to the Dostoevsky, were they ever both to be deployed by the same group at the same time. Though less suited for close engagements than its fighter counterpart, the Progeny nonetheless brings to bear an impressive array of missiles, and excels at its primary role of interceptor."+"Plowshare__pirates","starships/UNSALABLE",1,530,10000,"Lovingly referred to as a 'large brick with engines and guns', the Plowshare is a top of the line Purist cargo shuttle, far more spacious than the aged LIHW Llama, and easier to obtain for private use than the Merchant Reindeer. Much of the non-Merchant's Guild traffic within Purist friendly systems occurs via Plowshares." "Progeny.stock","starships/Confed/Light",400000,62,1200,"A compact ship originally designed for the Shaper military, the Progeny would seem a natural complement to the Dostoevsky, were they ever both to be deployed by the same group at the same time. Though less suited for close engagements than its fighter counterpart, the Progeny nonetheless brings to bear an impressive array of missiles, and excels at its primary role of interceptor." "Progeny.milspec","starships/Confed/Milspec",1200000,62,1200,"A compact ship originally designed for the Shaper military, the Progeny would seem a natural complement to the Dostoevsky, were they ever both to be deployed by the same group at the same time. Though less suited for close engagements than its fighter counterpart, the Progeny nonetheless brings to bear an impressive array of missiles, and excels at its primary role of interceptor." "Progeny.rgspec","starships/Regional_Guard/Light",900000,63,1300,"A compact ship originally designed for the Shaper military, the Progeny would seem a natural complement to the Dostoevsky, were they ever both to be deployed by the same group at the same time. Though less suited for close engagements than its fighter counterpart, the Progeny nonetheless brings to bear an impressive array of missiles, and excels at its primary role of interceptor." "Quicksilver","starships/UNSALABLE",1,123456789,123456789,"Sleek and fast, the Quicksilver is often used as a courier ship by the Confederation and its allies. However, due to this specialization, it is typically unsuitable for combat engagements, and will rely on the robust acceleration of its oversized engine to put a rapidly increasing shield of distance between it and any adversary."-"Redeemer.blank","starships/UNSALABLE",1,38,800,"The luddites, being by their nature not given to grand industrialization, rely on a small number of hidden facilities and sympathetic manufacturing plants to supply them with ships. The Redeemer bears the distinction of being the only class of spacecraft officially sanctioned by the reverend Sverde, who, when presented with its initial designs 45 years ago, said that prayer had revealed to her that that this was to be the 'shepherds crook' by which man's sins would be constrained. Inexpensive, even at the time of its introduction, the Redeemer remains a utilitarian craft well suited to the production schedules of backwater worlds." "Redeemer.stock","starships/Luddite/Light",40000,38,800,"The luddites, being by their nature not given to grand industrialization, rely on a small number of hidden facilities and sympathetic manufacturing plants to supply them with ships. The Redeemer bears the distinction of being the only class of spacecraft officially sanctioned by the reverend Sverde, who, when presented with its initial designs 45 years ago, said that prayer had revealed to her that that this was to be the 'shepherds crook' by which man's sins would be constrained. Inexpensive, even at the time of its introduction, the Redeemer remains a utilitarian craft well suited to the production schedules of backwater worlds."-"Robin.blank","starships/UNSALABLE",1,42,900,"The avian Robins of Terra were never noted as particularly fierce, and many pilots consider the spacefaring Robins of the LIHW in much the same way. An aging fighter design, the improvements that the Robin has seen over the years have been largely incremental, focusing on small improvements rather than large overhauls. Due to the relatively limited resource of the LIHW compared to other constituents of the Confederation, most of the improvements have been in the way of reliability. Because of this, the Robin is known as an inexpensive vessel that rarely breaks down, and perhaps due to this, it is a common sight in the human-controlled regions of space." "Robin.stock","starships/Hunter/Medium",75000,42,900,"The avian Robins of Terra were never noted as particularly fierce, and many pilots consider the spacefaring Robins of the LIHW in much the same way. An aging fighter design, the improvements that the Robin has seen over the years have been largely incremental, focusing on small improvements rather than large overhauls. Due to the relatively limited resource of the LIHW compared to other constituents of the Confederation, most of the improvements have been in the way of reliability. Because of this, the Robin is known as an inexpensive vessel that rarely breaks down, and perhaps due to this, it is a common sight in the human-controlled regions of space." "Robin.hunter","starships/Hunter/Medium",190000,42,900,"The avian Robins of Terra were never noted as particularly fierce, and many pilots consider the spacefaring Robins of the LIHW in much the same way. An aging fighter design, the improvements that the Robin has seen over the years have been largely incremental, focusing on small improvements rather than large overhauls. Due to the relatively limited resource of the LIHW compared to other constituents of the Confederation, most of the improvements have been in the way of reliability. Because of this, the Robin is known as an inexpensive vessel that rarely breaks down, and perhaps due to this, it is a common sight in the human-controlled regions of space." "Sartre","starships/UNSALABLE",1,123456789,123456789,"The Sartre is an interplanetary shuttle manufactured by the Klk'k. It is unarmed, and therefore rarely seen outside the very safest sectors of space. A Sartre is often the only legal method by which one may land directly on many Andolian worlds, due to regulation of private craft to orbital berthing areas."-"Schroedinger.blank","starships/UNSALABLE",1,80,1600,"The Schroedinger serves as a scout ship, lightly armed when compared to most other vessels. As per the infamous cat, its acceleration curve and advanced ECM and stealth hardware make it difficult to discern whether its in the same state it was last seen in." "Schroedinger.stock","starships/Confed/Light",510000,80,1600,"The Schroedinger serves as a scout ship, lightly armed when compared to most other vessels. As per the infamous cat, its acceleration curve and advanced ECM and stealth hardware make it difficult to discern whether its in the same state it was last seen in." "Schroedinger.milspec","starships/Confed/Milspec",3000000,80,1600,"The Schroedinger serves as a scout ship, lightly armed when compared to most other vessels. As per the infamous cat, its acceleration curve and advanced ECM and stealth hardware make it difficult to discern whether its in the same state it was last seen in."-"Shizu.blank","starships/UNSALABLE",1,57,1140,"The Rlaan Shizu is in many ways similar to its Confederate counterpart, the Schroedinger, meant more for reconaissance and scouting patrols than heavy combat. Nonetheless, its twin gun mountings allow it to mount a basic defense, should it come under attack." "Shizu.stock","starships/Rlaan/Light",250000,57,1140,"The Rlaan Shizu is in many ways similar to its Confederate counterpart, the Schroedinger, meant more for reconaissance and scouting patrols than heavy combat. Nonetheless, its twin gun mountings allow it to mount a basic defense, should it come under attack." "Shizu.milspec","starships/Rlaan/Milspec",300000,57,1140,"The Rlaan Shizu is in many ways similar to its Confederate counterpart, the Schroedinger, meant more for reconaissance and scouting patrols than heavy combat. Nonetheless, its twin gun mountings allow it to mount a basic defense, should it come under attack."-"Sickle.blank","starships/UNSALABLE",1,55,1100,"Like the Hammer, the Sickle is a ship of LIHW design, and was known prior to ISO usage as the 'Goose'. While the Hammer is more feared, the Sickle is more common. By far the most common ship seen in use by the ISO, the Sickle's maneuverability and large missile bays make it a favorite of many Hunters as well." "Sickle.stock","starships/Hunter/Medium",70000,55,1100,"Like the Hammer, the Sickle is a ship of LIHW design, and was known prior to ISO usage as the 'Goose'. While the Hammer is more feared, the Sickle is more common. By far the most common ship seen in use by the ISO, the Sickle's maneuverability and large missile bays make it a favorite of many Hunters as well." "Sickle.iso","starships/UNSALABLE",1,55,1100,"Like the Hammer, the Sickle is a ship of LIHW design, and was known prior to ISO usage as the 'Goose'. While the Hammer is more feared, the Sickle is more common. By far the most common ship seen in use by the ISO, the Sickle's maneuverability and large missile bays make it a favorite of many Hunters as well." "Sickle.isospec","starships/ISO/Medium",90000,55,1100,"Like the Hammer, the Sickle is a ship of LIHW design, and was known prior to ISO usage as the 'Goose'. While the Hammer is more feared, the Sickle is more common. By far the most common ship seen in use by the ISO, the Sickle's maneuverability and large missile bays make it a favorite of many Hunters as well."-"Taizong.blank","starships/UNSALABLE",1,230,4600,"The Taizong are a mass-produced assault vessel of the Rlaan. As with other Rlaan vessels, they do not utilize missile armaments, even in their assault role. Their strength lies instead in miniature, if limited, versions of the Jannisary class' grav-thumper weapon, which allow them to ruthlessly cut down almost any sub-capital vessel." "Taizong.stock","starships/Rlaan/Heavy",2800000,230,4600,"The Taizong are a mass-produced assault vessel of the Rlaan. As with other Rlaan vessels, they do not utilize missile armaments, even in their assault role. Their strength lies instead in miniature, if limited, versions of the Jannisary class' grav-thumper weapon, which allow them to ruthlessly cut down almost any sub-capital vessel." "Taizong.milspec","starships/Rlaan/Milspec",5600000,230,4600,"The Taizong are a mass-produced assault vessel of the Rlaan. As with other Rlaan vessels, they do not utilize missile armaments, even in their assault role. Their strength lies instead in miniature, if limited, versions of the Jannisary class' grav-thumper weapon, which allow them to ruthlessly cut down almost any sub-capital vessel."-"Zhuangzong.blank","starships/UNSALABLE",1,65,1300,"The backbone of the Rlaan fighter squadrons, the Zhuangzong's four weapon mounts make it deadly at close range, and its maneuverability stats are a dogfighter's dream, even if the linear acceleration is more modest. Of course, in keeping with the Rlaan disdain for missiles, actually closing to weapons range can be interesting." "Zhuangzong.milspec","starships/Rlaan/Milspec",2000000,65,1300,"The backbone of the Rlaan fighter squadrons, the Zhuangzong's four weapon mounts make it deadly at close range, and its maneuverability stats are a dogfighter's dream, even if the linear acceleration is more modest. Of course, in keeping with the Rlaan disdain for missiles, actually closing to weapons range can be interesting. " "Zhuangzong.stock","starships/Rlaan/Heavy",500000,65,1300,"The backbone of the Rlaan fighter squadrons, the Zhuangzong's four weapon mounts make it deadly at close range, and its maneuverability stats are a dogfighter's dream, even if the linear acceleration is more modest. Of course, in keeping with the Rlaan disdain for missiles, actually closing to weapons range can be interesting. " ,,,,,Modified: trunk/data4.x/units/units.csv===================================================================--- trunk/data4.x/units/units.csv2007-07-13 18:25:29 UTC (rev 11066)+++ trunk/data4.x/units/units.csv2007-07-14 22:26:25 UTC (rev 11067)@@ -6,188 +6,224 @@ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Areus,./areus,Areus,,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,378,150,150,150,150,137.5,137.5,137.5,137.5,600,600,600,600,,,,,40,0,1600,1200,240,TRUE,1,,200,200,1,0,24000,24000,50000,70,75,70,21600,15000,10000,4000,4000,4000,4000,275,275,TRUE,TRUE,300000000,5,180,10,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{Photon_MKIII;3000;6;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{Penetrator;;40;heavy autotracking;0;-3;3;;;;;;;;;1;1}{Heatseeker;7;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{HeatSeeker;7;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{AdvTorpedo;4;400;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{AdvTorpedo;4;400;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,900,0,,,,,+Areus.blank,./areus,Areus,MANEUVOUR,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,450,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,60000,60000,60000,62,70,62,21600,15000,10000,4000,4000,4000,4000,220,220,FALSE,FALSE,300000000,0,0,0,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{;;3;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{;;;heavy autotracking;0;-3;3;;;;;;;;;1;1}{;;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{;;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,900,0,,,,, Areus.milspec,./areus,Areus,,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,378,150,150,150,150,137.5,137.5,137.5,137.5,600,600,600,600,,,,,40,0,1600,1200,240,TRUE,1,,200,200,1,0,24000,24000,50000,70,75,70,21600,15000,10000,4000,4000,4000,4000,275,275,TRUE,TRUE,300000000,5,180,10,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{;;5;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{;;30;heavy autotracking;0;-3;3;;;;;;;;;1;1}{;;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{;;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,200,0,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Goddard,./goddard,Goddard,,Vessel,BOMBER,"Recently developed Andolian bomber. One of the most advanced and most expensive human craft currently in service.",goddard-hud.spr,5,no-co*ckpit,0,0,0,{goddard.bfxm;;},,,,,,,4800,4800,166.67,2100,450,450,450,450,400,400,400,400,1600,1400,1400,1400,,,,,200,0,450,4000,500,TRUE,1,,200,150,1,0,100000,100000,100000,55,55,50,150000,130000,110000,60000,60000,60000,60000,220,220,TRUE,TRUE,150000000,18.19,180,90,1000,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,{turretpdlong;0;2.2;4.5;0;0;1;0;1;0;180.0}{turretpdlong;0;-4.05;10;0;0;1;0;-1;0;180.0},;;;;;;,{supernova.bmp.bfxm;0;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;-1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;8.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-8.75;0.275;-2.75;2;;;;;},"{torpedo;8;800;heavy-missile;1;-2;7;;;;;;;;;1;1}{torpedo;8;800;heavy-missile;-1;-2;7;;;;;;;;;1;1}{torpedo;8;800;heavy-missile;1;-2;-1;;;;;;;;;1;1}{torpedo;8;800;heavy-missile;-1;-2;-1;;;;;;;;;1;1}{FS_MWRF_Laser;;;light autotracking;12.5;0.1;0;;;;;;;;;1;1}{FS_MWRF_Laser;;;light autotracking;-12.5;0.1;0;;;;;;;;;1;1}{FS_MWRF_Laser;;;light autotracking;12.5;-0.1;0;;;;;;;;;1;1}{FS_MWRF_Laser;;;light autotracking;-12.5;-0.1;0;;;;;;;;;1;1}{DisruptorBeam;;;light medium autotracking;-2;0;12;;;;;;;;;1;1}{DisruptorBeam;;;light medium autotracking;2;-0;12;;;;;;;;;1;1}{RelativisticParticleBeam;;;capship-light;-0.1;-2;13;;;;;;;;;1;1}{RelativisticParticleBeam;;;capship-light;0.1;-2;13;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;4.1;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;3.9;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;-4.1;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;-3.9;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;8.1;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;7.9;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;-8.1;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;-7.9;0;-3;;;;;;;;;1;1}",,,,,,0,25000,0,,,,,+Goddard.blank,./goddard,Goddard,MANEUVOUR,Vessel,BOMBER,"Recently developed Andolian bomber. One of the most advanced and most expensive human craft currently in service.",goddard-hud.spr,5,no-co*ckpit,0,0,0,{goddard.bfxm;;},,,,,,,4800,4800,166.67,2100,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,55,55,50,150000,130000,110000,60000,60000,60000,60000,180,180,FALSE,FALSE,300000000,0,0,0,60,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,{turretpdlong;0;2.2;4.5;0;0;1;0;1;0;180.0}{turretpdlong;0;-4.05;10;0;0;1;0;-1;0;180.0},;;;;;;,{supernova.bmp.bfxm;0;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;-1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;8.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-8.75;0.275;-2.75;2;;;;;},"{;8;800;heavy-missile;1;-2;7;;;;;;;;;1;1}{;8;800;heavy-missile;-1;-2;7;;;;;;;;;1;1}{;8;800;heavy-missile;1;-2;-1;;;;;;;;;1;1}{;8;800;heavy-missile;-1;-2;-1;;;;;;;;;1;1}{;;;light autotracking;12.5;0.1;0;;;;;;;;;1;1}{;;;light autotracking;-12.5;0.1;0;;;;;;;;;1;1}{;;;light autotracking;12.5;-0.1;0;;;;;;;;;1;1}{;;;light autotracking;-12.5;-0.1;0;;;;;;;;;1;1}{;;;light medium autotracking;-2;0;12;;;;;;;;;1;1}{;;;light medium autotracking;2;-0;12;;;;;;;;;1;1}{;;;capship-light;-0.1;-2;13;;;;;;;;;1;1}{;;;capship-light;0.1;-2;13;;;;;;;;;1;1}{;5;80;light-missile medium-missile;4.1;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;3.9;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;-4.1;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;-3.9;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;8.1;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;7.9;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;-8.1;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;-7.9;0;-3;;;;;;;;;1;1}",,,,,,0,25000,0,,,,, Goddard.milspec,./goddard,Goddard,,Vessel,BOMBER,"Recently developed Andolian bomber. One of the most advanced and most expensive human craft currently in service.",goddard-hud.spr,5,no-co*ckpit,0,0,0,{goddard.bfxm;;},,,,,,,4800,4800,166.67,2100,450,450,450,450,400,400,400,400,1600,1400,1400,1400,,,,,200,0,450,4000,500,TRUE,1,,200,150,1,0,100000,100000,100000,55,55,50,150000,130000,110000,60000,60000,60000,60000,220,220,TRUE,TRUE,150000000,18.19,180,90,1000,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,{turretpdlong;0;2.2;4.5;0;0;1;0;1;0;180.0}{turretpdlong;0;-4.05;10;0;0;1;0;-1;0;180.0},;;;;;;,{supernova.bmp.bfxm;0;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;-1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;8.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-8.75;0.275;-2.75;2;;;;;},"{;;800;heavy-missile;1;-2;7;;;;;;;;;1;1}{;;800;heavy-missile;-1;-2;7;;;;;;;;;1;1}{;;800;heavy-missile;1;-2;-1;;;;;;;;;1;1}{;;800;heavy-missile;-1;-2;-1;;;;;;;;;1;1}{;;5;light autotracking;12.5;0.1;0;;;;;;;;;1;1}{;;5;light autotracking;-12.5;0.1;0;;;;;;;;;1;1}{;;5;light autotracking;12.5;-0.1;0;;;;;;;;;1;1}{;;5;light autotracking;-12.5;-0.1;0;;;;;;;;;1;1}{;;5;light medium autotracking;-2;0;12;;;;;;;;;1;1}{;;5;light medium autotracking;2;-0;12;;;;;;;;;1;1}{;;30;capship-light;0.1;-2;13;;;;;;;;;1;1}{;;80;light-missile medium-missile;4.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;3.9;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-4.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-3.9;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;8.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;7.9;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-8.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-7.9;0;-3;;;;;;;;;1;1}",,,,,,0,5000,0,,,,,+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Kierkegaard,./kierkegaard,Kierkegaard,,Vessel,BOMBE... [truncated message content]

[Vegastrike-cvs] SF.net SVN: vegastrike: [11073] trunk

From: <ja...@us...> - 2007-07-16 03:16:06

Revision: 11073 Author: jacksDate: 2007-07-15 20:16:08 -0700 (Sun, 15 Jul 2007)Log Message:-----------No docking while in SPEC.Planetary dock distance increased.Initial nav message updated.Continued units.csv refinement of .stock modelsModified Paths:-------------- trunk/data4.x/bin/vegastrike.exe trunk/data4.x/units/units.csv trunk/data4.x/vegastrike.config trunk/vegastrike/src/cmd/ai/firekeyboard.cpp trunk/vegastrike/src/gfx/nav/navscreen.cppModified: trunk/data4.x/bin/vegastrike.exe===================================================================(Binary files differ)Modified: trunk/data4.x/units/units.csv===================================================================--- trunk/data4.x/units/units.csv2007-07-16 02:14:31 UTC (rev 11072)+++ trunk/data4.x/units/units.csv2007-07-16 03:16:08 UTC (rev 11073)@@ -6,161 +6,161 @@ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Areus,./areus,Areus,,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,450,400,400,400,400,300,300,300,300,600,600,600,600,,,,,40,0,1600,1200,240,TRUE,1,,200,200,1,0,24000,24000,50000,70,75,70,21600,15000,10000,4000,4000,4000,4000,275,275,TRUE,TRUE,300000000,5,180,10,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{Photon_MKIII;3000;6;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{Penetrator;;40;heavy autotracking;0;-3;3;;;;;;;;;1;1}{Heatseeker;7;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{HeatSeeker;7;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{AdvTorpedo;4;400;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{AdvTorpedo;4;400;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,5,0,,,,,-Areus.blank,./areus,Areus,MANEUVOUR,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,76,76,18,450,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,60000,60000,60000,62,70,62,21600,15000,10000,4000,4000,4000,4000,220,220,FALSE,FALSE,300000000,0,0,0,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{;;3;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{;;;heavy autotracking;0;-3;3;;;;;;;;;1;1}{;;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{;;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,900,0,,,,,-Areus.milspec,./areus,Areus,,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,450,150,150,150,150,137.5,137.5,137.5,137.5,600,600,600,600,,,,,40,0,1600,1200,240,TRUE,1,,200,200,1,0,24000,24000,50000,70,75,70,21600,15000,10000,4000,4000,4000,4000,275,275,TRUE,TRUE,300000000,5,180,10,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{;;5;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{;;30;heavy autotracking;0;-3;3;;;;;;;;;1;1}{;;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{;;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,200,0,,,,,+Areus.blank,./areus,Areus,MANEUVOUR,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,76,76,18,450,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,60000,60000,60000,62,70,62,21600,15000,10000,4000,4000,4000,4000,220,220,FALSE,FALSE,100000,0,0,0,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{;;3;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{;;;heavy autotracking;0;-3;3;;;;;;;;;1;1}{;;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{;;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,900,0,,,,,+Areus.milspec,./areus,Areus,,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,450,150,150,150,150,137.5,137.5,137.5,137.5,600,600,600,600,,,,,40,0,1600,1200,240,TRUE,1,,200,200,1,0,24000,24000,50000,70,75,70,21600,15000,10000,4000,4000,4000,4000,275,275,TRUE,TRUE,300000000,5,180,10,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{;;5;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{;;30;heavy autotracking;0;-3;3;;;;;;;;;1;1}{;;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{;;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,45,0,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Goddard,./goddard,Goddard,,Vessel,BOMBER,"Recently developed Andolian bomber. One of the most advanced and most expensive human craft currently in service.",goddard-hud.spr,5,no-co*ckpit,0,0,0,{goddard.bfxm;;},,,,,,,4800,4800,166.67,2100,450,450,450,450,400,400,400,400,1600,1400,1400,1400,,,,,200,0,450,4000,500,TRUE,1,,200,150,1,0,100000,100000,100000,55,55,50,150000,130000,110000,60000,60000,60000,60000,220,220,TRUE,TRUE,150000000,18.19,180,90,1000,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,{turretpdlong;0;2.2;4.5;0;0;1;0;1;0;180.0}{turretpdlong;0;-4.05;10;0;0;1;0;-1;0;180.0},;;;;;;,{supernova.bmp.bfxm;0;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;-1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;8.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-8.75;0.275;-2.75;2;;;;;},"{torpedo;8;800;heavy-missile;1;-2;7;;;;;;;;;1;1}{torpedo;8;800;heavy-missile;-1;-2;7;;;;;;;;;1;1}{torpedo;8;800;heavy-missile;1;-2;-1;;;;;;;;;1;1}{torpedo;8;800;heavy-missile;-1;-2;-1;;;;;;;;;1;1}{FS_MWRF_Laser;;;light autotracking;12.5;0.1;0;;;;;;;;;1;1}{FS_MWRF_Laser;;;light autotracking;-12.5;0.1;0;;;;;;;;;1;1}{FS_MWRF_Laser;;;light autotracking;12.5;-0.1;0;;;;;;;;;1;1}{FS_MWRF_Laser;;;light autotracking;-12.5;-0.1;0;;;;;;;;;1;1}{DisruptorBeam;;;light medium autotracking;-2;0;12;;;;;;;;;1;1}{DisruptorBeam;;;light medium autotracking;2;-0;12;;;;;;;;;1;1}{RelativisticParticleBeam;;;capship-light;-0.1;-2;13;;;;;;;;;1;1}{RelativisticParticleBeam;;;capship-light;0.1;-2;13;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;4.1;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;3.9;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;-4.1;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;-3.9;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;8.1;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;7.9;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;-8.1;0;-3;;;;;;;;;1;1}{friendorfoe;5;80;light-missile medium-missile;-7.9;0;-3;;;;;;;;;1;1}",,,,,,0,25000,0,,,,,-Goddard.blank,./goddard,Goddard,MANEUVOUR,Vessel,BOMBER,"Recently developed Andolian bomber. One of the most advanced and most expensive human craft currently in service.",goddard-hud.spr,5,no-co*ckpit,0,0,0,{goddard.bfxm;;},,,,,,,4500,4500,166.67,2100,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,55,55,50,150000,130000,110000,60000,60000,60000,60000,180,180,FALSE,FALSE,300000000,0,0,0,60,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,{turretpdlong;0;2.2;4.5;0;0;1;0;1;0;180.0}{turretpdlong;0;-4.05;10;0;0;1;0;-1;0;180.0},;;;;;;,{supernova.bmp.bfxm;0;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;-1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;8.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-8.75;0.275;-2.75;2;;;;;},"{;8;800;heavy-missile;1;-2;7;;;;;;;;;1;1}{;8;800;heavy-missile;-1;-2;7;;;;;;;;;1;1}{;8;800;heavy-missile;1;-2;-1;;;;;;;;;1;1}{;8;800;heavy-missile;-1;-2;-1;;;;;;;;;1;1}{;;;light autotracking;12.5;0.1;0;;;;;;;;;1;1}{;;;light autotracking;-12.5;0.1;0;;;;;;;;;1;1}{;;;light autotracking;12.5;-0.1;0;;;;;;;;;1;1}{;;;light autotracking;-12.5;-0.1;0;;;;;;;;;1;1}{;;;light medium autotracking;-2;0;12;;;;;;;;;1;1}{;;;light medium autotracking;2;-0;12;;;;;;;;;1;1}{;;;capship-light;-0.1;-2;13;;;;;;;;;1;1}{;;;capship-light;0.1;-2;13;;;;;;;;;1;1}{;5;80;light-missile medium-missile;4.1;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;3.9;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;-4.1;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;-3.9;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;8.1;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;7.9;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;-8.1;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;-7.9;0;-3;;;;;;;;;1;1}",,,,,,0,25000,0,,,,,-Goddard.milspec,./goddard,Goddard,,Vessel,BOMBER,"Recently developed Andolian bomber. One of the most advanced and most expensive human craft currently in service.",goddard-hud.spr,5,no-co*ckpit,0,0,0,{goddard.bfxm;;},,,,,,,4800,4800,166.67,2100,450,450,450,450,400,400,400,400,1600,1400,1400,1400,,,,,200,0,450,4000,500,TRUE,1,,200,150,1,0,100000,100000,100000,55,55,50,150000,130000,110000,60000,60000,60000,60000,220,220,TRUE,TRUE,150000000,18.19,180,90,1000,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,{turretpdlong;0;2.2;4.5;0;0;1;0;1;0;180.0}{turretpdlong;0;-4.05;10;0;0;1;0;-1;0;180.0},;;;;;;,{supernova.bmp.bfxm;0;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;-1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;8.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-8.75;0.275;-2.75;2;;;;;},"{;;800;heavy-missile;1;-2;7;;;;;;;;;1;1}{;;800;heavy-missile;-1;-2;7;;;;;;;;;1;1}{;;800;heavy-missile;1;-2;-1;;;;;;;;;1;1}{;;800;heavy-missile;-1;-2;-1;;;;;;;;;1;1}{;;5;light autotracking;12.5;0.1;0;;;;;;;;;1;1}{;;5;light autotracking;-12.5;0.1;0;;;;;;;;;1;1}{;;5;light autotracking;12.5;-0.1;0;;;;;;;;;1;1}{;;5;light autotracking;-12.5;-0.1;0;;;;;;;;;1;1}{;;5;light medium autotracking;-2;0;12;;;;;;;;;1;1}{;;5;light medium autotracking;2;-0;12;;;;;;;;;1;1}{;;30;capship-light;0.1;-2;13;;;;;;;;;1;1}{;;80;light-missile medium-missile;4.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;3.9;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-4.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-3.9;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;8.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;7.9;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-8.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-7.9;0;-3;;;;;;;;;1;1}",,,,,,0,5000,0,,,,,+Goddard.blank,./goddard,Goddard,MANEUVOUR,Vessel,BOMBER,"Recently developed Andolian bomber. One of the most advanced and most expensive human craft currently in service.",goddard-hud.spr,5,no-co*ckpit,0,0,0,{goddard.bfxm;;},,,,,,,4500,4500,166.67,2100,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,55,55,50,150000,130000,110000,60000,60000,60000,60000,180,180,FALSE,FALSE,100000,0,0,0,60,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,{turretpdlong;0;2.2;4.5;0;0;1;0;1;0;180.0}{turretpdlong;0;-4.05;10;0;0;1;0;-1;0;180.0},;;;;;;,{supernova.bmp.bfxm;0;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;-1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;8.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-8.75;0.275;-2.75;2;;;;;},"{;8;800;heavy-missile;1;-2;7;;;;;;;;;1;1}{;8;800;heavy-missile;-1;-2;7;;;;;;;;;1;1}{;8;800;heavy-missile;1;-2;-1;;;;;;;;;1;1}{;8;800;heavy-missile;-1;-2;-1;;;;;;;;;1;1}{;;;light autotracking;12.5;0.1;0;;;;;;;;;1;1}{;;;light autotracking;-12.5;0.1;0;;;;;;;;;1;1}{;;;light autotracking;12.5;-0.1;0;;;;;;;;;1;1}{;;;light autotracking;-12.5;-0.1;0;;;;;;;;;1;1}{;;;light medium autotracking;-2;0;12;;;;;;;;;1;1}{;;;light medium autotracking;2;-0;12;;;;;;;;;1;1}{;;;capship-light;-0.1;-2;13;;;;;;;;;1;1}{;;;capship-light;0.1;-2;13;;;;;;;;;1;1}{;5;80;light-missile medium-missile;4.1;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;3.9;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;-4.1;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;-3.9;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;8.1;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;7.9;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;-8.1;0;-3;;;;;;;;;1;1}{;5;80;light-missile medium-missile;-7.9;0;-3;;;;;;;;;1;1}",,,,,,0,25000,0,,,,,+Goddard.milspec,./goddard,Goddard,,Vessel,BOMBER,"Recently developed Andolian bomber. One of the most advanced and most expensive human craft currently in service.",goddard-hud.spr,5,no-co*ckpit,0,0,0,{goddard.bfxm;;},,,,,,,4800,4800,166.67,2100,450,450,450,450,400,400,400,400,1600,1400,1400,1400,,,,,200,0,450,4000,500,TRUE,1,,200,150,1,0,100000,100000,100000,55,55,50,150000,130000,110000,60000,60000,60000,60000,220,220,TRUE,TRUE,150000000,18.19,180,90,1000,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,{turretpdlong;0;2.2;4.5;0;0;1;0;1;0;180.0}{turretpdlong;0;-4.05;10;0;0;1;0;-1;0;180.0},;;;;;;,{supernova.bmp.bfxm;0;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-0.6;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;-1.2;0;-4.4;1.2;;;;;}{supernova.bmp.bfxm;1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;-1.8;0;-4.3;1.2;;;;;}{supernova.bmp.bfxm;5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-5;0.275;-2;2;;;;;}{supernova.bmp.bfxm;-4;0.275;-2;2;;;;;}{supernova.bmp.bfxm;8.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-9.75;0.275;-2.75;2;;;;;}{supernova.bmp.bfxm;-8.75;0.275;-2.75;2;;;;;},"{;;800;heavy-missile;1;-2;7;;;;;;;;;1;1}{;;800;heavy-missile;-1;-2;7;;;;;;;;;1;1}{;;800;heavy-missile;1;-2;-1;;;;;;;;;1;1}{;;800;heavy-missile;-1;-2;-1;;;;;;;;;1;1}{;;5;light autotracking;12.5;0.1;0;;;;;;;;;1;1}{;;5;light autotracking;-12.5;0.1;0;;;;;;;;;1;1}{;;5;light autotracking;12.5;-0.1;0;;;;;;;;;1;1}{;;5;light autotracking;-12.5;-0.1;0;;;;;;;;;1;1}{;;5;light medium autotracking;-2;0;12;;;;;;;;;1;1}{;;5;light medium autotracking;2;-0;12;;;;;;;;;1;1}{;;30;capship-light;0.1;-2;13;;;;;;;;;1;1}{;;80;light-missile medium-missile;4.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;3.9;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-4.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-3.9;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;8.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;7.9;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-8.1;0;-3;;;;;;;;;1;1}{;;80;light-missile medium-missile;-7.9;0;-3;;;;;;;;;1;1}",,,,,,0,1250,0,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Kierkegaard,./kierkegaard,Kierkegaard,,Vessel,BOMBER,"Andolian Protectorate Missileboat/Gunship",,5,no-co*ckpit,0,0,0,{kierkegaard.bfxm;;},,,,,,,1500,1500,60,500,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,45,50,55,60000,55000,40000,8000,8000,8000,8000,240,240,FALSE,FALSE,300000000,15,180,90,400,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;0.00000e+0;0.350000;-2.09200;2;;;;;}{supernova.bmp.bfxm;1.31600;-6.00000e-3;-1.82200;2;;;;;}{supernova.bmp.bfxm;-1.32800;-6.00000e-3;-1.82200;2;;;;;},"{;;;Light Medium;1.01200;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light Medium;-0.964000;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light;0.380000;0.176000;1.07600;;;;;;;;;1;1}{;;;Light;-0.336000;0.176000;1.07600;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}",,,,,,0,4500,0,,,,,-Kierkegaard.blank,./kierkegaard,Kierkegaard,MANEUVOUR,Vessel,BOMBER,"Andolian Protectorate Missileboat/Gunship",,5,no-co*ckpit,0,0,0,{kierkegaard.bfxm;;},,,,,,,1300,1300,60,1000,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,40,45,40,60000,55000,40000,8000,8000,8000,8000,190,190,FALSE,FALSE,300000000,0,0,0,60,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;0.00000e+0;0.350000;-2.09200;2;;;;;}{supernova.bmp.bfxm;1.31600;-6.00000e-3;-1.82200;2;;;;;}{supernova.bmp.bfxm;-1.32800;-6.00000e-3;-1.82200;2;;;;;},"{;;;Light Medium;1.01200;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light Medium;-0.964000;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light;0.380000;0.176000;1.07600;;;;;;;;;1;1}{;;;Light;-0.336000;0.176000;1.07600;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}",,,,,,0,4500,0,,,,,+Kierkegaard.blank,./kierkegaard,Kierkegaard,MANEUVOUR,Vessel,BOMBER,"Andolian Protectorate Missileboat/Gunship",,5,no-co*ckpit,0,0,0,{kierkegaard.bfxm;;},,,,,,,1300,1300,60,1000,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,40,45,40,60000,55000,40000,8000,8000,8000,8000,190,190,FALSE,FALSE,3000000,0,0,0,60,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;0.00000e+0;0.350000;-2.09200;2;;;;;}{supernova.bmp.bfxm;1.31600;-6.00000e-3;-1.82200;2;;;;;}{supernova.bmp.bfxm;-1.32800;-6.00000e-3;-1.82200;2;;;;;},"{;;;Light Medium;1.01200;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light Medium;-0.964000;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light;0.380000;0.176000;1.07600;;;;;;;;;1;1}{;;;Light;-0.336000;0.176000;1.07600;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}",,,,,,0,4500,0,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Pacifier,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{HeavyIonBeam;;;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{MiniDriver;600;3;Light;.65;3.75;7;;;;;;;;;1;1}{MiniDriver;600;3;Light;-.65;3.75;7;;;;;;;;;1;1}{Hail;32;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{Hail;32;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{torpedo;2;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{torpedo;2;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{Dumbfire;16;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{Dumbfire;16;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,2500,0,,,,,-Pacifier.blank,./pacifier,Pacifier,MANEUVOUR,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,175,175,FALSE,FALSE,300000000,0,0,0,1000,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;3;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,2500,0,,,,,-Pacifier.milspec,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,1,1,1,1,1,1,1,1,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;15;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,500,0,,,,,+Pacifier.blank,./pacifier,Pacifier,MANEUVOUR,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,175,175,FALSE,FALSE,100000,0,0,0,1000,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;3;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,2500,0,,,,,+Pacifier.milspec,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,1,1,1,1,1,1,1,1,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;15;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,125,0,,,,, Pacifier.rg,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{HeavyIonBeam;;;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{MicroDriver;3000;3;Light;.65;3.75;7;;;;;;;;;1;1}{MicroDriver;3000;3;Light;-.65;3.75;7;;;;;;;;;1;1}{Hail;32;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{Hail;32;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{torpedo;2;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{torpedo;2;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{Dumbfire;16;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{Dumbfire;16;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,2500,0,,,,,-Pacifier.rgspec,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,1,1,1,1,1,1,1,1,1,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;3;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,500,0,,,,,-Pacifier.stock,./pacifier,Pacifier,MANEUVOUR,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,1,1,1,1,1,1,1,1,1,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,175,175,FALSE,FALSE,300000000,0,0,0,1000,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;15;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,2500,0,,,,,+Pacifier.rgspec,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,1,1,1,1,1,1,1,1,1,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;3;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,125,0,,,,,+Pacifier.stock,./pacifier,Pacifier,MANEUVOUR,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,500,500,40.42,800,1,1,1,1,1,1,1,1,75,75,75,75,,,,,2,0,325,100,15,FALSE,1,,200,120,0,32767,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,175,175,FALSE,FALSE,300000000,16.24,180,25.71,1000,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;15;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,"{skyscope1;upgrades/Sensors/Basic;200;1;0.01;1;1;1;;0}{capacitor01;upgrades/Capacitors/Standard;200;1;2;2;1;1;;0}{reactor01;upgrades/Reactors/Standard;200;1;1;2;1;1;;0}{add_spec_capacitor01;upgrades/SPEC_Capacitors;200;1;5;4;1;1;;0}{quadshield01;upgrades/Shield_Systems/Standard_Quad_Shields;200;1;1;4;1;1;;0}",,0,2500,0,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Taizong,./taizong,Taizong,,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,140,140,140,140,122.5,122.5,122.5,122.5,350,300,300,300,,,,,200,0,600,1400,360,TRUE,1,,200,200,0,0,40000,40000,40000,90,90,90,12000,12000,12000,12000,12000,12000,12000,310,310,,TRUE,300000000,18.19,180,49.46,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,,"{KtekBeam;;;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{KtekBeam;;;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{Ktek;;;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{Ktek;;;Light;4.5;-.6;12.25;;;;;;;;;1;1}{MiniGravThumper;8;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,,explosion_rlaan.ani,0,1500,0,,,,,-Taizong.blank,./taizong,Taizong,MANEUVOUR,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,75,75,75,12000,12000,12000,12000,12000,12000,12000,250,250,FALSE,FALSE,300000000,0,0,0,32,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,,"{;;;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{;;;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{;;;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{;;;Light;4.5;-.6;12.25;;;;;;;;;1;1}{;;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,,explosion_rlaan.ani,0,1500,0,,,,,-Taizong.milspec,./taizong,Taizong,,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,140,140,140,140,122.5,122.5,122.5,122.5,350,300,300,300,,,,,200,0,600,1400,360,TRUE,1,,200,200,0,0,40000,40000,40000,90,90,90,12000,12000,12000,12000,12000,12000,12000,310,310,,TRUE,300000000,18.19,180,49.46,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,,"{;;5;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{;;5;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{;;5;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{;;5;Light;4.5;-.6;12.25;;;;;;;;;1;1}{;;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,,explosion_rlaan.ani,0,300,0,,,,,-Taizong.stock,./taizong,Taizong,MANEUVOUR,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,1,1,1,1,1,1,1,1,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,75,75,75,12000,12000,12000,12000,12000,12000,12000,250,250,FALSE,FALSE,300000000,0,0,0,32,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,,"{;;5;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{;;5;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{;;5;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{;;5;Light;4.5;-.6;12.25;;;;;;;;;1;1}{;;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,,explosion_rlaan.ani,0,1500,0,,,,,+Taizong.blank,./taizong,Taizong,MANEUVOUR,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,75,75,75,12000,12000,12000,12000,12000,12000,12000,250,250,FALSE,FALSE,100000,0,0,0,32,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,,"{;;;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{;;;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{;;;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{;;;Light;4.5;-.6;12.25;;;;;;;;;1;1}{;;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,,explosion_rlaan.ani,0,1500,0,,,,,+Taizong.milspec,./taizong,Taizong,,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,140,140,140,140,122.5,122.5,122.5,122.5,350,300,300,300,,,,,200,0,600,1400,360,TRUE,1,,200,200,0,0,40000,40000,40000,90,90,90,12000,12000,12000,12000,12000,12000,12000,310,310,,TRUE,300000000,18.19,180,49.46,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,,"{;;5;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{;;5;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{;;5;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{;;5;Light;4.5;-.6;12.25;;;;;;;;;1;1}{;;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,,explosion_rlaan.ani,0,75,0,,,,,+Taizong.stock,./taizong,Taizong,MANEUVOUR,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,1,1,1,1,1,1,1,1,75,75,75,75,,,,,2,0,325,100,15,FALSE,1,,200,120,0,32767,50000,50000,50000,75,75,75,12000,12000,12000,12000,12000,12000,12000,250,250,FALSE,FALSE,300000000,16.24,180,25.71,32,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,,"{;;5;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{;;5;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{;;5;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{;;5;Light;4.5;-.6;12.25;;;;;;;;;1;1}{;;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,"{skyscope1;upgrades/Sensors/Basic;200;1;0.01;1;1;1;;0}{capacitor01;upgrades/Capacitors/Standard;200;1;2;2;1;1;;0}{reactor01;upgrades/Reactors/Standard;200;1;1;2;1;1;;0}{add_spec_capacitor01;upgrades/SPEC_Capacitors;200;1;5;4;1;1;;0}{quadshield01;upgrades/Shield_Systems/Standard_Quad_Shields;200;1;1;4;1;1;;0}",explosion_rlaan.ani,0,1500,0,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Admonisher,./admonisher,Admonisher,,Vessel,FIGHTER,"Purist light assault craft",admonisher-hud.spr,0.76,no-co*ckpit,0,8.26,9.6,{admonisher.bfxm;;},admonisher_shield.bfxm,,,,,,360,360,22.92,700,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,55,60,65,24000,20000,16000,4000,4000,4000,4000,250,250,FALSE,FALSE,300000000,5,180,10,150,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor04;;}{quadshield08;;}{add_spec_capacitor03;;}{capacitor07;;}{reactor10;;}{jump_drive;;}{starscanner2;;}{ecm_package02;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4.5;1.8;-13.85;5;;;;;}{supernova.bmp.bfxm;5.1;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;3.95;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;-4.5;1.8;-13.85;5;;;;;}{supernova.bmp.bfxm;-5.1;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;-3.95;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;4.5;.35;-13.85;12;;;;;}{supernova.bmp.bfxm;-4.5;.35;-13.85;12;;;;;}{supernova.bmp.bfxm;6.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;5.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;4.5;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-6.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-5.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-4.5;-4.8;-12.3;4;;;;;},"{HeavyIonBeam;;;Light Medium Heavy;2.35;6;10.3;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-2.35;6;10.3;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1.75;-10.5;9.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;1.75;-10.5;9.5;;;;;;;;;1;1}{Pugilist;;;Light;8.1;-3.5;-1.65;;;;;;;;;1;1}{Pugilist;;;Light;-8.1;-3.5;-1.65;;;;;;;;;1;1}{HeatSeeker;5;15;Light-Missile Medium-Missile;-0.300000;-0.100000;0.000000;;;;;;;;;1;1}{HeatSeeker;5;15;Light-Missile Medium-Missile;0.300000;-0.100000;0.000000;;;;;;;;;1;1}{Torpedo;3;300;Heavy-Missile;-0.000000;0.000000;0.000000;;;;;;;;;1;1}",,,,,,0,1400,0,,,,, Admonisher__homeland-security,./admonisher,Admonisher,,Vessel,FIGHTER,"Purist light assault craft",admonisher-hud.spr,0.76,no-co*ckpit,0,8.26,9.6,{admonisher.bfxm;;},admonisher_shield.bfxm,,,,,,360,360,22.92,700,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,58,62,68,24000,20000,16000,4000,4000,4000,4000,250,250,FALSE,FALSE,300000000,5,180,10,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor03;;}{capacitor06;;}{reactor09;;}{jump_drive;;}{starscanner2;;}{ecm_package02;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4.5;1.8;-13.85;5;;;;;}{supernova.bmp.bfxm;5.1;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;3.95;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;-4.5;1.8;-13.85;5;;;;;}{supernova.bmp.bfxm;-5.1;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;-3.95;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;4.5;.35;-13.85;12;;;;;}{supernova.bmp.bfxm;-4.5;.35;-13.85;12;;;;;}{supernova.bmp.bfxm;6.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;5.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;4.5;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-6.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-5.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-4.5;-4.8;-12.3;4;;;;;},"{Crippler;;;Light Medium Heavy;2.35;6;10.3;;;;;;;;;1;1}{Crippler;;;Light Medium Heavy;-2.35;6;10.3;;;;;;;;;1;1}{Crippler;;;Light Medium Heavy;-1.75;-10.5;9.5;;;;;;;;;1;1}{Crippler;;;Light Medium Heavy;1.75;-10.5;9.5;;;;;;;;;1;1}{LeechGun;;;Light;8.1;-3.5;-1.65;;;;;;;;;1;1}{LeechGun;;;Light;-8.1;-3.5;-1.65;;;;;;;;;1;1}{Leech;5;1;Light-Missile Medium-Missile;-0.300000;-0.100000;0.000000;;;;;;;;;1;1}{Leech;5;1;Light-Missile Medium-Missile;0.300000;-0.100000;0.000000;;;;;;;;;1;1}{EMPTorpedo;1;1;Heavy-Missile;-0.000000;0.000000;0.000000;;;;;;;;;1;1}",,,,,,0,1200,0,,,,,-Admonisher.blank,./admonisher,Admonisher,MANEUVOUR,Vessel,FIGHTER,"Purist light assault craft",admonisher-hud.spr,0.76,no-co*ckpit,0,8.26,9.6,{admonisher.bfxm;;},admonisher_shield.bfxm,,,,,,360,360,22.92,700,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,55,60,65,24000,20000,16000,4000,4000,4000,4000,190,190,FALSE,FALSE,0,0,0,0,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4.5;1.8;-13.85;5;;;;;}{supernova.bmp.bfxm;5.1;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;3.95;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;-4.5;1.8;-13.85;5;;;;;}{supernova.bmp.bfxm;-5.1;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;-3.95;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;4.5;.35;-13.85;12;;;;;}{supernova.bmp.bfxm;-4.5;.35;-13.85;12;;;;;}{supernova.bmp.bfxm;6.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;5.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;4.5;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-6.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-5.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-4.5;-4.8;-12.3;4;;;;;},"{;;;Light Medium Heavy;2.35;6;10.3;;;;;;;;;1;1}{;;;Light Medium Heavy;-2.35;6;10.3;;;;;;;;;1;1}{;;;Light Medium Heavy;-1.75;-10.5;9.5;;;;;;;;;1;1}{;;;Light Medium Heavy;1.75;-10.5;9.5;;;;;;;;;1;1}{;;;Light;8.1;-3.5;-1.65;;;;;;;;;1;1}{;;;Light;-8.1;-3.5;-1.65;;;;;;;;;1;1}{;5;1;Light-Missile Medium-Missile;-0.300000;-0.100000;0.000000;;;;;;;;;1;1}{;5;1;Light-Missile Medium-Missile;0.300000;-0.100000;0.000000;;;;;;;;;1;1}{;1;1;Heavy-Missile;-0.000000;0.000000;0.000000;;;;;;;;;1;1}",,,,,,0,1400,0,,,,,-Admonisher__homeland-security.blank,./admonisher,Admonisher,MANEUVOUR,Vessel,FIGHTER,"Purist light assault craft",homeland-security_admonisher-hud.spr,0.76,no-co*ckpit,0,8.26,9.6,{admonisher.bfxm;;},admonisher_shield.bfxm,,,,,,360,360,21,700,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,58,62,68,24000,20000,16000,4000,4000,4000,4000,190,190,FALSE,FALSE,0,0,0,0,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4.5;1.8;-13.85;5;;;;;}{supernova.... [truncated message content]

[Vegastrike-cvs] SF.net SVN: vegastrike: [11075] trunk

From: <ja...@us...> - 2007-07-16 08:07:35

Revision: 11075 Author: jacksDate: 2007-07-16 01:07:33 -0700 (Mon, 16 Jul 2007)Log Message:-----------reverting miscommitted files.making damage sparkles smaller for big objectsall bases now have shields and reactors again.Modified Paths:-------------- trunk/data4.x/modules/dj.py trunk/data4.x/modules/dj_lib.py trunk/data4.x/modules/generate_dyn_universe.py trunk/data4.x/units/units.csv trunk/data4.x/vegastrike.config trunk/vegastrike/src/gfx/halo_system.cppModified: trunk/data4.x/modules/dj.py===================================================================--- trunk/data4.x/modules/dj.py2007-07-16 07:50:43 UTC (rev 11074)+++ trunk/data4.x/modules/dj.py2007-07-16 08:07:33 UTC (rev 11075)@@ -1,3 +1,2 @@ import dj_lib dj_lib.PlayMusik()-Modified: trunk/data4.x/modules/dj_lib.py===================================================================--- trunk/data4.x/modules/dj_lib.py2007-07-16 07:50:43 UTC (rev 11074)+++ trunk/data4.x/modules/dj_lib.py2007-07-16 08:07:33 UTC (rev 11075)@@ -1,104 +1,197 @@ import VS import vsrandom- BATTLELIST=0+THREATLIST=BATTLELIST PEACELIST=1 PANICLIST=2 VICTORYLIST=3 LOSSLIST=4-HOSTILE_AUTODIST=1600-HOSTILE_NEWLAUNCH_DISTANCE=6000-peacelist={"aera":VS.musicAddList('aera.m3u'),- "confed":VS.musicAddList('terran.m3u'),- "iso":VS.musicAddList('iso.m3u'),- "AWACS":VS.musicAddList('AWACS_peace.m3u'),- None:PEACELIST- }-battlelist={"aera":VS.musicAddList('aerabattle.m3u'),- "confed":VS.musicAddList('terranbattle.m3u'),- "iso":VS.musicAddList('isobattle.m3u'),- "AWACS":VS.musicAddList('AWACS.m3u'),- None:BATTLELIST- }-paniclist={None:PANICLIST,- "AWACS":VS.musicAddList('AWACS.m3u')}-asteroidmisic=VS.musicAddList('asteroids.m3u') +BATTLESITUATION=0+THREATSITUATION=1+PEACESITUATION=2+PANICSITUATION=3+VICTORYSITUATION=4+LOSSSITUATION=5++situation=PEACELIST++factionmap={+ "confed":"terran",+ "aera":"aera",+ "rlaan":"rlaan",+ "merchant":"terran",+ "luddites":"terran",+ "pirates":"terran",+ "hunter":"terran",+ "homeland-security":"terran",+ "ISO":"terran",+ "unknown":"unknown",+ "andolian":"terran",+ "highborn":"terran",+ "shaper":"terran",+ "unadorned":"terran",+ "purist":"terran",+ "forsaken":"terran",+ "LIHW":"terran",+ "uln":"terran",+ "dgn":"terran",+ "klkk":"terran",+ "mechanist":"terran",+ "shmrn":"terran",+ "rlaan_briin":"rlaan"+ }++HOSTILE_AUTODIST=10000+HOSTILE_NEWLAUNCH_DISTANCE=20000+SIGNIFICANT_DISTANCE_OFFSET=10000+SIGNIFICANT_DISTANCE_MULTIPLY=2+peaceawayfriendlylist={+ "aera":VS.musicAddList('playlists/peace/away/aera_friend.m3u'),+ "rlaan":VS.musicAddList('playlists/peace/away/rlaan_friend.m3u'),+ "terran":VS.musicAddList('playlists/peace/away/terran_friend.m3u'),+ "iso":VS.musicAddList('playlists/peace/away/iso_friend.m3u'),+ "AWACS":VS.musicAddList('playlists/peace/away/AWACS_friend.m3u'),+ None:PEACELIST+ }+peaceawayhostilelist={+ "aera":VS.musicAddList('playlists/peace/away/aera_hostile.m3u'),+ "rlaan":VS.musicAddList('playlists/peace/away/rlaan_hostile.m3u'),+ "terran":VS.musicAddList('playlists/peace/away/terran_hostile.m3u'),+ "iso":VS.musicAddList('playlists/peace/away/iso_hostile.m3u'),+ "AWACS":VS.musicAddList('playlists/peace/away/AWACS_hostile.m3u'),+ None:PEACELIST+ }+peacearoundsiglist={+ "aera":VS.musicAddList('playlists/peace/around_sig/aera.m3u'),+ "rlaan":VS.musicAddList('playlists/peace/around_sig/rlaan.m3u'),+ "terran":VS.musicAddList('playlists/peace/around_sig/terran.m3u'),+ "iso":VS.musicAddList('playlists/peace/around_sig/iso.m3u'),+ "AWACS":VS.musicAddList('playlists/peace/around_sig/AWACS.m3u'),+ None:PEACELIST+ }+threatlist={+ "aera":VS.musicAddList('playlists/threat/aera.m3u'),+ "rlaan":VS.musicAddList('playlists/threat/rlaan.m3u'),+ "terran":VS.musicAddList('playlists/threat/terran.m3u'),+ "iso":VS.musicAddList('playlists/threat/iso.m3u'),+ "AWACS":VS.musicAddList('playlists/threat/AWACS.m3u'),+ None:THREATLIST+ }+battlelist={+ "aera":VS.musicAddList('playlists/battle/aera.m3u'),+ "rlaan":VS.musicAddList('playlists/battle/rlaan.m3u'),+ "terran":VS.musicAddList('playlists/battle/terran.m3u'),+ "iso":VS.musicAddList('playlists/battle/iso.m3u'),+ "AWACS":VS.musicAddList('playlists/battle/AWACS.m3u'),+ None:BATTLELIST+ }+paniclist={+ "aera":VS.musicAddList('playlists/battle/aera.m3u'),+ "rlaan":VS.musicAddList('playlists/battle/rlaan.m3u'),+ "terran":VS.musicAddList('playlists/battle/terran.m3u'),+ "iso":VS.musicAddList('playlists/battle/iso.m3u'),+ "AWACS":VS.musicAddList('playlists/battle/AWACS.m3u'),+ None:PANICLIST+ }+asteroidlist=VS.musicAddList('asteroids.m3u')+ def LookupTable(list,faction):- if faction in list:- if (list[faction]!=-1):- return list[faction]+ if faction in factionmap:+ faction_name = factionmap[faction]+ else:+ faction_name = faction+ if faction_name in list:+ if (list[faction_name]!=-1):+ return list[faction_name] else: return list[None] else: return list[None]-situation=PEACELIST -__enabled = True--def enable():- global __enabled- __enabled = True--def disable():- global __enabled- __enabled = False- def mpl (list,newsituation,forcechange): global situation- print "SITUATION IS "+str( situation)+"force change "+str(forcechange) + " bool "+ str(forcechange or newsituation!=situation)+ print "SITUATION IS "+str( situation)+" force change "+str(forcechange) + " bool "+ str(forcechange or newsituation!=situation) if (forcechange or newsituation!=situation): print "SITUATION IS RESET TO "+str( newsituation) situation=newsituation VS.musicPlayList(list) def PlayMusik(forcechange=1,hostile_dist=0):- global __enabled un = VS.getPlayer()- if not un or not __enabled:- #mpl (PEACELIST,PEACELIST,forcechange)- #print "Ppeace"- pass- elif un.DockedOrDocking() not in [1,2]:+ if (not un): + mpl (PEACELIST,PEACELIST,forcechange)+ print "Ppeace"+ else: perfect=1+ threat=0+ around_sig=0 iter = VS.getUnitList() target = iter.current()- unlist=[]+ unfcount={}+ siglist=[] asteroid=0 while (iter.notDone()): if (target): ftmp = 2*target.getRelation(un) nam=target.getName().lower()+ fact=target.getFactionName() if un.getSignificantDistance(target)<=2*target.rSize() and ('afield'==nam[:6] or 'asteroid'==nam[:8]): asteroid=1 hdis = HOSTILE_AUTODIST if (hostile_dist!=0): hdis = hostile_dist if (target.GetTarget()==un or (ftmp<0 and un.getDistance(target)<hdis)):- unlist.append(target.getFactionName())+ unfcount[fact] = unfcount.get(fact,0)+1 perfect=0+ if ((target.GetTarget()==un) and (ftmp<0 and un.getDistance(target)<hdis)):+ threat=1+ if (target.isSignificant() and (un.getSignificantDistance(target)<(SIGNIFICANT_DISTANCE_OFFSET+SIGNIFICANT_DISTANCE_MULTIPLY*target.rSize()))):+ around_sig=1 iter.advance() target=iter.current() if (perfect):- if asteroid and asteroidmisic!=-1 and vsrandom.random()<.7:- mpl(asteroidmisic,PEACELIST,forcechange)+ if asteroid and asteroidlist!=-1 and vsrandom.random()<.7:+ mpl(asteroidlist,PEACELIST,forcechange) return sys=VS.getSystemFile() fact=VS.GetGalaxyFaction(sys)- if vsrandom.random()<.5:- fact=None- mpl(LookupTable(peacelist,fact),PEACELIST,forcechange)- print "peaCce"+ ufact=un.getFactionName()+ if (around_sig):+ mpl(LookupTable(peacearoundsiglist,fact),PEACESITUATION,forcechange)+ print "peace-around-significant " + fact+ else:+ if (VS.GetRelation(ufact,fact)>=0):+ mpl(LookupTable(peaceawayfriendlylist,fact),PEACESITUATION,forcechange)+ print "peace-away-frienly " + fact+ else:+ mpl(LookupTable(peaceawayhostilelist,fact),PEACESITUATION,forcechange)+ print "peace-away-hostile " + fact else:- ftmp = (un.FShieldData()+2*un.GetHullPercent()+un.RShieldData()-2.8)*2- fact=None- if len(unlist) and vsrandom.random()<.5:- fact=unlist[vsrandom.randrange(0,len(unlist))]- print fact- if (ftmp<-.5):- mpl(LookupTable(paniclist,fact),BATTLELIST,forcechange)- print "paAnic"+ ftmp = un.FShieldData()+2*un.GetHullPercent()+un.RShieldData()-2+0.5+ mfname=None+ mfcount=0+ for (fname,fcount) in unfcount.iteritems():+ if fcount>mfcount:+ mfname=fname+ mfcount=fcount + if (threat):+ if (ftmp<0):+ mpl(LookupTable(paniclist,mfname),PANICSITUATION,forcechange)+ print "panic " + mfname+ else:+ mpl(LookupTable(battlelist,mfname),BATTLESITUATION,forcechange)+ print "battle " + mfname else:- mpl(LookupTable(battlelist,fact),BATTLELIST,forcechange)- print "bSattle"-+ mpl(LookupTable(threatlist,mfname),THREATSITUATION,forcechange)+ print "threat " + mfname+ +class DJ:+ def __init__(self, check_frequency, hostile_dist=0):+ self.hostile_dist = hostile_dist+ self.check_frequency = check_frequency+ self.last_check_time = VS.GetGameTime()+ def Execute(self):+ if ((VS.GetGameTime() - self.last_check_time) >= self.check_frequency):+ PlayMusik(0,self.hostile_dist)+ self.last_check_time = VS.GetGameTime()\ No newline at end of fileModified: trunk/data4.x/modules/generate_dyn_universe.py===================================================================--- trunk/data4.x/modules/generate_dyn_universe.py2007-07-16 07:50:43 UTC (rev 11074)+++ trunk/data4.x/modules/generate_dyn_universe.py2007-07-16 08:07:33 UTC (rev 11075)@@ -14,7 +14,49 @@ if fac in type: return type[fac] return type["default"]-+def floatToRand(maximum):+ if maximum==0:+ return 0+ tmp=vsrandom.randrange(0,int(maximum)+1)+ if (vsrandom.uniform(0,1)<maximum-int(maximum)):+ return tmp+1+ return tmp+def GenerateCivilianFgShips (faction,factionnr,docapships):+ lst=[]+ capitals=faction_ships.capitals[factionnr]+ fighters=faction_ships.fighters[factionnr] + numfighters=1+ try:+ numfighters=faction_ships.fightersPerFG["default"]+ numfighters=faction_ships.fightersPerFG[faction]+ except:+ pass+ numcapitals=0+ if docapships:+ try:+ numcapitals=faction_ships.fightersPerFG["default"]+ numcapitals=faction_ships.PerFG[faction]+ except:+ pass+ fighters_per=len(fighters)+ ht={}+ for i in fighters:+ numtogen=floatToRand(numfighters/float(len(fighters)))+ if numtogen:+ if i in ht:+ ht[i]+=numtogen+ else:+ ht[i]=numtogen+ for i in capitals:+ numtogen=floatToRand(numcapitals/float(len(capitals)))+ if numtogen>0:+ if i in ht:+ ht[i]+=numtogen+ else:+ ht[i]=numtogen+ for hv in ht:+ lst.append([hv,ht[hv]])+ return lst def GenerateFgShips (shipinfg,factionnr,friendly): lst=[] capship=()@@ -93,16 +135,47 @@ #pick random fighter from insysenemies with .3 probability OR pick one from the friendlies list. # print 'Addsysdict' sysfaction=VS.GetGalaxyFaction(cursys)+ global fgnames, fglists i=0 AddBasesToSystem(sysfaction, cursys)+ adjsystems=getAdjacentSystemList(cursys)+ for i in range(len(faction_ships.factions)):+ thisfac=faction_ships.factions[i]+ thisfactionnr=faction_ships.factionToInt(thisfac)+ rel=VS.GetRelation(sysfaction,thisfac)+ iscit=VS.isCitizen(thisfac)+ if iscit and thisfac.find(sysfaction)!=-1:+ #print "generating spc civilian for "+cursys+" faction "+thisfac+ #do somethign special for this military faction+ if thisfac==sysfaction:+ pass+ elif iscit:+ for neighbor in adjsystems:+ if (VS.GetRelation(thisfac,VS.GetGalaxyFaction(neighbor))>-.05):+ #fgname=cursys+"->"+neighbor+ fgname="(CivReg) "+GetNewFGName(thisfac)+ typenumbertuple=GenerateCivilianFgShips(thisfac,thisfactionnr,True)+ fg_util.AddShipsToFG (fgname,thisfac,typenumbertuple,cursys)+ fgname="Insystem_"+cursys;+ typenumbertuple=GenerateCivilianFgShips(thisfac,thisfactionnr,False) + if iscit:+ #print "generating gen civilian for "+cursys+" faction "+thisfac+ if VS.GetRelation(thisfac,sysfaction)>-.05:#brave citizens of the new order... + fgname=GetNewFGName(thisfac)+ typenumbertuple=GenerateCivilianFgShips(thisfac,thisfactionnr,True)+ fg_util.AddShipsToFG (fgname,thisfac,typenumbertuple,cursys)+ friendlychance=.7+ if cursys in faction_ships.fortress_systems:+ friendlychance=faction_ships.fortress_systems[cursys]+ #print 'enemy chance for '+cursys +'= '+str(friendlychance) for i in range (1+vsrandom.randrange(fg_util.MinNumFlightgroupsInSystem(cursys)-1,fg_util.MaxNumFlightgroupsInSystem(cursys))): #number of fgs in a system. faction=sysfaction friendly=0- if vsrandom.random()<.3 or sysfaction=='unknown' or sysfaction=='':- faction=faction_ships.get_rabble_of(sysfaction)+ if vsrandom.random()>friendlychance or sysfaction=='unknown' or sysfaction=='':+ faction=faction_ships.get_rabble_of_no_citizen(sysfaction)#why even have citizens on the list then else: - faction=faction_ships.get_friend_of(sysfaction)+ faction=faction_ships.get_friend_of_no_citizen(sysfaction)#likewise--- maybe this should be a faction_ships fix if (faction==sysfaction): friendly=1 if (sysfaction in faction_ships.production_centers):Modified: trunk/data4.x/units/units.csv===================================================================--- trunk/data4.x/units/units.csv2007-07-16 07:50:43 UTC (rev 11074)+++ trunk/data4.x/units/units.csv2007-07-16 08:07:33 UTC (rev 11075)@@ -1,11 +1,11 @@ ,Directory,Name,STATUS,Object_Type,Combat_Role,Textual_Description,Hud_image,Unit_Scale,co*ckpit,co*ckpitX,co*ckpitY,co*ckpitZ,Mesh,Shield_Mesh,Rapid_Mesh,BSP_Mesh,Use_BSP,Use_Rapid,NoDamageParticles,Mass,Moment_Of_Inertia,Fuel_Capacity,Hull,Armor_Front_Top_Right,Armor_Front_Top_Left,Armor_Front_Bottom_Right,Armor_Front_Bottom_Left,Armor_Back_Top_Right,Armor_Back_Top_Left,Armor_Back_Bottom_Right,Armor_Back_Bottom_Left,Shield_Front_Top_Right,Shield_Back_Top_Left,Shield_Front_Bottom_Right,Shield_Front_Bottom_Left,Shield_Back_Top_Right,Shield_Front_Top_Left,Shield_Back_Bottom_Right,Shield_Back_Bottom_Left,Shield_Recharge,Shield_Leak,Warp_Capacitor,Primary_Capacitor,Reactor_Recharge,Jump_Drive_Present,Jump_Drive_Delay,Wormhole,Outsystem_Jump_Cost,Warp_Usage_Cost,Afterburner_Type,Afterburner_Usage_Cost,Maneuver_Yaw,Maneuver_Pitch,Maneuver_Roll,Yaw_Governor,Pitch_Governor,Roll_Governor,Afterburner_Accel,Forward_Accel,Retro_Accel,Left_Accel,Right_Accel,Top_Accel,Bottom_Accel,Afterburner_Speed_Governor,Default_Speed_Governor,ITTS,Radar_Color,Radar_Range,Tracking_Cone,Max_Cone,Lock_Cone,Hold_Volume,Can_Cloak,Cloak_Min,Cloak_Rate,Cloak_Energy,Cloak_Glass,Repair_Droid,ECM_Rating,ECM_Resist,Ecm_Drain,Hud_Functionality,Max_Hud_Functionality,Lifesupport_Functionality,Max_Lifesupport_Functionality,Comm_Functionality,Max_Comm_Functionality,FireControl_Functionality,Max_FireControl_Functionality,SPECDrive_Functionality,Max_SPECDrive_Functionality,Slide_Start,Slide_End,Activation_Accel,Activation_Speed,Upgrades,Prohibited_Upgrades,Sub_Units,Sound,Light,Mounts,Net_Comm,Dock,Cargo_Import,Cargo,Explosion,Num_Animation_Stages,Upgrade_Storage_Volume,Heat_Sink_Rating,Shield_Efficiency,Num_Chunks,Chunk_0,Collide_Subunits,Spec_Interdiction Key,String,string,"For Internal Use Only",string,string,string,string,float,string,x=float,y=float,z=float(meters),{filename(string);frame(int);texturetime(float)},string,string,string,boolean,boolean,boolean,"metric tons","metric tons * meters*meters","metric tons",VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD,VSD/second,percentage,800MJ,100MJ,100MJ/s,Boolean,seconds,boolean,800MJ,800MJ/second,"int type",100MJ/s,"metric tons*degrees/second^2","metric tons*degrees/second^2","metric tons*degrees/second^2",degrees/sec,degrees/sec,degrees/sec,"metric tons*m/s^2","metric tons*m/s^2","metric tons*m/s^2","metric tons*m/s^2","metric tons*m/s^2","metric tons**m/s^2","metric tons*m/s^2",meters/second,meters/second,boolean,boolean,meters,Degrees,Degrees,Degrees,m^3,boolean,percentage,percentage/second,800MJ/s,boolean,int,int,int,800MJ/s,"1 normalized fraction","1 normalized fraction","1 normalized fraction","1 normalized fraction","1 normalized fraction","1 normalized fraction","1 normalized fraction","1 normalized fraction","1 normalized fraction","1 normalized fraction",seconds,seconds,m/s^2,m/s,{filename(string);mountoffset(int);subunoffset(int)},"Semicolon delineated list of prohibited upgrades, allowing up to a certain number if specified with colon.",{filename(string);x(meters);y(meters);z(meters);forex(meters);forey(meters);forez(meters);upx(meters);upy(meters);upz(meters);restricted(meters)},shieldhit(string);armorhit(string);hullhit(string);jump(string);explode(string);cloak(string);engine(string),{meshfile(string);x(meters);y(meters);z(meters);scale(meters);r(percentage);g(percentage);b(percentage);a(percentage);activationspeed(meters/second)},{type(string);ammo(int);volume(meters);SIZE(string);x(meters);y(meters);z(meters);xyscale(meters);zscale(meters);forex(meters);forey(meters);forez(meters);upx(meters);upy(meters);upz(meters);functionality(percentage);maxfunctionality(percentage)},?,{INTERNAL(boolean);x(meters);y(meters);z(meters);size(meters);minsize(meters)},{Cat(string);price(percentage);pricestddev(percentage);quant(percentage);quantstddev(percentage)},"{filename(string);Category(string);price(credits);quant(int);mass(metric Tons);volume(meters*meters*meters);functionality(percentage);maxfunctionality(percentage);description(string);missionCargo(bool)}",string,int,float,float,float(percent),int,{mesh;;},boolean, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-Llama.begin,./llama,Llama,,Vessel,SHUTTLE,"Venerable LIHW built armed light cargo shuttle",llama-hud.spr,7,no-co*ckpit,0,0,0,{llama.bfxm;;},,,,,TRUE,TRUE,190,190,25,500,100,100,100,100,100,100,100,100,150,150,150,150,,,,,4,0,325,200,30,FALSE,1,,200,120,0,32767,50000,50000,50000,45,50,55,17000,17000,15000,4000,4000,4000,4000,120,120,FALSE,FALSE,300000000,16.24,180,25.71,2000,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;0.00000e+0;0.350000;-2.09200;2;;;;;}{supernova.bmp.bfxm;1.31600;-6.00000e-3;-1.82200;2;;;;;}{supernova.bmp.bfxm;-1.32800;-6.00000e-3;-1.82200;2;;;;;},"{laser;;15;Light Medium;1.01200;-6.80000e-2;3.40800;;;;;;;;;1;1}{laser;;15;Light Medium;-0.964000;-6.80000e-2;3.40800;;;;;;;;;1;1}{laser;;3;Light;0.380000;0.176000;1.07600;;;;;;;;;1;1}{laser;;3;Light;-0.336000;0.176000;1.07600;;;;;;;;;1;1}{Dumbfire;48;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}{;;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}",,,,"{skyscope1;upgrades/Sensors/Basic;200;1;0.01;1;1;1;@upgrades/skyscope_alpha.png@Refurbished Part;0}{capacitor02;upgrades/Capacitors/Standard;200;1;4;4;1;1;@upgrades/capacitor.png@Refurbished Part;0}{reactor02;upgrades/Reactors/Standard;200;1;2;3.5;1;1;@upgrades/reactor.png@Refurbished Part;0}{add_spec_capacitor01;upgrades/SPEC_Capacitors;200;1;5;4;1;1;@upgrades/reactor_capacitance.png@Refurbished Part;0}{quadshield02;upgrades/Shield_Systems/Standard_Quad_Shields;200;1;2;8;1;1;@upgrades/shield.png@Refurbished Part;0}{armor01;upgrades/Armor;200;1;20;0;1;1;@cargo/plasteel.png@Refurbished Part;0}",,0,360,0,,,,,+Llama.begin,./llama,Llama,,Vessel,SHUTTLE,"Venerable LIHW built armed light cargo shuttle",llama-hud.spr,7,no-co*ckpit,0,0,0,{llama.bfxm;;},,,,,TRUE,TRUE,250,250,25,500,100,100,100,100,100,100,100,100,150,150,150,150,,,,,4,0,325,200,30,FALSE,1,,200,120,0,32767,50000,50000,50000,45,50,55,17000,17000,15000,4000,4000,4000,4000,120,120,FALSE,FALSE,300000000,16.24,180,25.71,2000,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;0.00000e+0;0.350000;-2.09200;2;;;;;}{supernova.bmp.bfxm;1.31600;-6.00000e-3;-1.82200;2;;;;;}{supernova.bmp.bfxm;-1.32800;-6.00000e-3;-1.82200;2;;;;;},"{laser;;15;Light Medium;1.01200;-6.80000e-2;3.40800;;;;;;;;;1;1}{laser;;15;Light Medium;-0.964000;-6.80000e-2;3.40800;;;;;;;;;1;1}{laser;;3;Light;0.380000;0.176000;1.07600;;;;;;;;;1;1}{laser;;3;Light;-0.336000;0.176000;1.07600;;;;;;;;;1;1}{Dumbfire;48;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}{;;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}",,,,"{skyscope1;upgrades/Sensors/Basic;200;1;0.01;1;1;1;@upgrades/skyscope_alpha.png@Refurbished Part;0}{capacitor02;upgrades/Capacitors/Standard;200;1;4;4;1;1;@upgrades/capacitor.png@Refurbished Part;0}{reactor02;upgrades/Reactors/Standard;200;1;2;3.5;1;1;@upgrades/reactor.png@Refurbished Part;0}{add_spec_capacitor01;upgrades/SPEC_Capacitors;200;1;5;4;1;1;@upgrades/reactor_capacitance.png@Refurbished Part;0}{quadshield02;upgrades/Shield_Systems/Standard_Quad_Shields;200;1;2;8;1;1;@upgrades/shield.png@Refurbished Part;0}{armor01;upgrades/Armor;200;1;20;0;1;1;@cargo/plasteel.png@Refurbished Part;0}",,0,360,0,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-Areus,./areus,Areus,,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,450,400,400,400,400,300,300,300,300,600,600,600,600,,,,,40,0,1600,1200,240,TRUE,1,,200,200,1,0,24000,24000,50000,70,75,70,21600,15000,10000,4000,4000,4000,4000,275,275,TRUE,TRUE,300000000,5,180,10,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{Photon_MKIII;3000;6;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{Penetrator;;40;heavy autotracking;0;-3;3;;;;;;;;;1;1}{Heatseeker;7;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{HeatSeeker;7;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{AdvTorpedo;4;400;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{AdvTorpedo;4;400;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,5,0,,,,,+Areus,./areus,Areus,,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,450,400,400,400,400,300,300,300,300,600,600,600,600,,,,,40,0,1600,1200,240,TRUE,1,,200,200,1,0,24000,24000,50000,70,75,70,21600,15000,10000,4000,4000,4000,4000,275,275,TRUE,TRUE,300000000,5,180,10,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{Photon_MKIII;3000;6;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{Photon_MKIII;3000;6;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{Penetrator;;40;heavy autotracking;0;-3;3;;;;;;;;;1;1}{Heatseeker;7;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{HeatSeeker;7;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{AdvTorpedo;4;400;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{AdvTorpedo;4;400;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,900,0,,,,, Areus.blank,./areus,Areus,MANEUVOUR,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,76,76,18,450,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,60000,60000,60000,62,70,62,21600,15000,10000,4000,4000,4000,4000,220,220,FALSE,FALSE,100000,0,0,0,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{;;3;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{;;3;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{;;;heavy autotracking;0;-3;3;;;;;;;;;1;1}{;;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{;;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,900,0,,,,, Areus.milspec,./areus,Areus,,Vessel,BOMBER,"Aeran assault craft(fighter bomber)",areus-hud.spr,1.25,light_co*ckpit.cpt,,,,{areus.bfxm;;},,,,,,,216,216,18,450,150,150,150,150,137.5,137.5,137.5,137.5,600,600,600,600,,,,,40,0,1600,1200,240,TRUE,1,,200,200,1,0,24000,24000,50000,70,75,70,21600,15000,10000,4000,4000,4000,4000,275,275,TRUE,TRUE,300000000,5,180,10,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{aeraburn.bfxm;-1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;1;5.125;-11.25;8;;;;;}{aeraburn.bfxm;-1;-3;-11.25;8;;;;;}{aeraburn.bfxm;1;-3;-11.25;8;;;;;},"{;;5;Light medium autotracking;6;-2.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;-6;-2.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;6;4.75;-4.75;;;;;;;;;1;1}{;;5;Light medium autotracking;-6;4.75;-4.75;;;;;;;;;1;1}{;;30;heavy autotracking;0;-3;3;;;;;;;;;1;1}{;;21;light-missile;6.082913;-.368988;0.747223;;;;;;;;;1;1}{;;21;light-missile;-6.157103;-.379586;1.100964;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;6.045031;-3.217878;0.973509;;;;;;;;;1;1}{;;300;Light-missile medium-missile heavy-missile;-6.022359;-3.201684;0.913285;;;;;;;;;1;1}",,,,,explosion_aera.ani,0,45,0,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,@@ -17,140 +17,140 @@ Kierkegaard.blank,./kierkegaard,Kierkegaard,MANEUVOUR,Vessel,BOMBER,"Andolian Protectorate Missileboat/Gunship",,5,no-co*ckpit,0,0,0,{kierkegaard.bfxm;;},,,,,,,1300,1300,60,1000,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,40,45,40,60000,55000,40000,8000,8000,8000,8000,190,190,FALSE,FALSE,3000000,0,0,0,60,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;0.00000e+0;0.350000;-2.09200;2;;;;;}{supernova.bmp.bfxm;1.31600;-6.00000e-3;-1.82200;2;;;;;}{supernova.bmp.bfxm;-1.32800;-6.00000e-3;-1.82200;2;;;;;},"{;;;Light Medium;1.01200;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light Medium;-0.964000;-6.80000e-2;3.40800;;;;;;;;;1;1}{;;;Light;0.380000;0.176000;1.07600;;;;;;;;;1;1}{;;;Light;-0.336000;0.176000;1.07600;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}{;0;48;light-missile medium-missile special-missile;0;0;0;;;;;;;;;1;1}",,,,,,0,4500,0,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Pacifier,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{HeavyIonBeam;;;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{MiniDriver;600;3;Light;.65;3.75;7;;;;;;;;;1;1}{MiniDriver;600;3;Light;-.65;3.75;7;;;;;;;;;1;1}{Hail;32;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{Hail;32;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{torpedo;2;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{torpedo;2;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{Dumbfire;16;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{Dumbfire;16;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,2500,0,,,,,-Pacifier.blank,./pacifier,Pacifier,MANEUVOUR,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,175,175,FALSE,FALSE,100000,0,0,0,1000,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;3;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,2500,0,,,,,+Pacifier.blank,./pacifier,Pacifier,MANEUVOUR,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,486,486,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,175,175,FALSE,FALSE,100000,0,0,0,1000,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;3;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,2500,0,,,,, Pacifier.milspec,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,1,1,1,1,1,1,1,1,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;15;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,125,0,,,,, Pacifier.rg,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{HeavyIonBeam;;;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{MicroDriver;3000;3;Light;.65;3.75;7;;;;;;;;;1;1}{MicroDriver;3000;3;Light;-.65;3.75;7;;;;;;;;;1;1}{Hail;32;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{Hail;32;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{torpedo;2;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{torpedo;2;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{Dumbfire;16;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{Dumbfire;16;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,2500,0,,,,, Pacifier.rgspec,./pacifier,Pacifier,,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,640,640,40.42,800,1,1,1,1,1,1,1,1,1,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,180,180,FALSE,FALSE,300000000,15,180,50,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor04;;}{capacitor09;;}{reactor07;;}{jump_drive;;}{hawkeye2;;}{ecm_package03;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;3;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;3;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,,,0,125,0,,,,, Pacifier.stock,./pacifier,Pacifier,MANEUVOUR,Vessel,BOMBER,"Aging Purist heavy fighter/bomber",osprey-hud.spr,1,no-co*ckpit,0,-0.58,14,{pacifier.bfxm;;},,,,,,,500,500,40.42,800,1,1,1,1,1,1,1,1,75,75,75,75,,,,,2,0,325,100,15,FALSE,1,,200,120,0,32767,50000,50000,50000,25,30,35,27000,19000,14000,4000,4000,4000,4000,175,175,FALSE,FALSE,300000000,16.24,180,25.71,1000,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;-4;1.05;-15.5;13;;;;;}{supernova.bmp.bfxm;3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;-3.75;-.75;-17;18;;;;;}{supernova.bmp.bfxm;3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-3.75;-15.8;8;;;;;}{supernova.bmp.bfxm;5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-5.25;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;3.5;-5.1;-15.8;8;;;;;}{supernova.bmp.bfxm;-3.5;-5.1;-15.8;8;;;;;},"{;;15;Light Medium Heavy;1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-5.86;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;1;-8;11.5;;;;;;;;;1;1}{;;15;Light Medium Heavy;-1;-8;11.5;;;;;;;;;1;1}{;;3;Light;.65;3.75;7;;;;;;;;;1;1}{;;3;Light;-.65;3.75;7;;;;;;;;;1;1}{;;8;special-missile;4;-3.75;.2;;;;;;;;;1;1}{;;8;special-missile;-4;-3.75;.2;;;;;;;;;1;1}{;;200;heavy-missile;-5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;200;heavy-missile;5.000000;-.9000000;-3.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;3.000000;-.9000000;-1.000000;;;;;;;;;1;1}{;;16;light-missile medium-missile;-3.000000;-.9000000;-1.000000;;;;;;;;;1;1}",,,,"{skyscope1;upgrades/Sensors/Basic;200;1;0.01;1;1;1;;0}{capacitor01;upgrades/Capacitors/Standard;200;1;2;2;1;1;;0}{reactor01;upgrades/Reactors/Standard;200;1;1;2;1;1;;0}{add_spec_capacitor01;upgrades/SPEC_Capacitors;200;1;5;4;1;1;;0}{quadshield01;upgrades/Shield_Systems/Standard_Quad_Shields;200;1;1;4;1;1;;0}",,0,2500,0,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Taizong,./taizong,Taizong,,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,140,140,140,140,122.5,122.5,122.5,122.5,350,300,300,300,,,,,200,0,600,1400,360,TRUE,1,,200,200,0,0,40000,40000,40000,90,90,90,12000,12000,12000,12000,12000,12000,12000,310,310,,TRUE,300000000,18.19,180,49.46,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,,"{KtekBeam;;;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{KtekBeam;;;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{Ktek;;;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{Ktek;;;Light;4.5;-.6;12.25;;;;;;;;;1;1}{MiniGravThumper;8;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,,explosion_rlaan.ani,0,1500,0,,,,,-Taizong.blank,./taizong,Taizong,MANEUVOUR,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,75,75,75,12000,12000,12000,12000,12000,12000,12000,250,250,FALSE,FALSE,100000,0,0,0,32,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,,"{;;;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{;;;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{;;;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{;;;Light;4.5;-.6;12.25;;;;;;;;;1;1}{;;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,,explosion_rlaan.ani,0,1500,0,,,,,+Taizong.blank,./taizong,Taizong,MANEUVOUR,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,100,100,19.17,600,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,75,75,75,12000,12000,12000,12000,12000,12000,12000,250,250,FALSE,FALSE,100000,0,0,0,32,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,,"{;;;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{;;;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{;;;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{;;;Light;4.5;-.6;12.25;;;;;;;;;1;1}{;;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,,explosion_rlaan.ani,0,1500,0,,,,, Taizong.milspec,./taizong,Taizong,,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,140,140,140,140,122.5,122.5,122.5,122.5,350,300,300,300,,,,,200,0,600,1400,360,TRUE,1,,200,200,0,0,40000,40000,40000,90,90,90,12000,12000,12000,12000,12000,12000,12000,310,310,,TRUE,300000000,18.19,180,49.46,50,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,,"{;;5;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{;;5;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{;;5;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{;;5;Light;4.5;-.6;12.25;;;;;;;;;1;1}{;;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,,explosion_rlaan.ani,0,75,0,,,,,-Taizong.stock,./taizong,Taizong,MANEUVOUR,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,240,240,19.17,600,1,1,1,1,1,1,1,1,75,75,75,75,,,,,2,0,325,100,15,FALSE,1,,200,120,0,32767,50000,50000,50000,75,75,75,12000,12000,12000,12000,12000,12000,12000,250,250,FALSE,FALSE,300000000,16.24,180,25.71,32,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,,"{;;5;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{;;5;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{;;5;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{;;5;Light;4.5;-.6;12.25;;;;;;;;;1;1}{;;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,"{skyscope1;upgrades/Sensors/Basic;200;1;0.01;1;1;1;;0}{capacitor01;upgrades/Capacitors/Standard;200;1;2;2;1;1;;0}{reactor01;upgrades/Reactors/Standard;200;1;1;2;1;1;;0}{add_spec_capacitor01;upgrades/SPEC_Capacitors;200;1;5;4;1;1;;0}{quadshield01;upgrades/Shield_Systems/Standard_Quad_Shields;200;1;1;4;1;1;;0}",explosion_rlaan.ani,0,1500,0,,,,,+Taizong.stock,./taizong,Taizong,MANEUVOUR,Vessel,BOMBER,"Rlaan mass production assault craft",taizong-hud.spr,0.5,rlaan-co*ckpit.cpt,0,3,23,{taizong.bfxm;;},,,,,,,114,114,19.17,600,1,1,1,1,1,1,1,1,75,75,75,75,,,,,2,0,325,100,15,FALSE,1,,200,120,0,32767,50000,50000,50000,75,75,75,12000,12000,12000,12000,12000,12000,12000,250,250,FALSE,FALSE,300000000,16.24,180,25.71,32,,,,,,,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,,"{;;5;Light Medium Heavy autotracking;-9;-.25;-.75;;;;;;;;;1;1}{;;5;Light Medium Heavy autotracking;9;-.25;-.75;;;;;;;;;1;1}{;;5;Light;-4.5;-.6;12.25;;;;;;;;;1;1}{;;5;Light;4.5;-.6;12.25;;;;;;;;;1;1}{;;200;special-missile;0;-0.5;0;;;;;;;;;1;1}",,,,"{skyscope1;upgrades/Sensors/Basic;200;1;0.01;1;1;1;;0}{capacitor01;upgrades/Capacitors/Standard;200;1;2;2;1;1;;0}{reactor01;upgrades/Reactors/Standard;200;1;1;2;1;1;;0}{add_spec_capacitor01;upgrades/SPEC_Capacitors;200;1;5;4;1;1;;0}{quadshield01;upgrades/Shield_Systems/Standard_Quad_Shields;200;1;1;4;1;1;;0}",explosion_rlaan.ani,0,1500,0,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Admonisher,./admonisher,Admonisher,,Vessel,FIGHTER,"Purist light assault craft",admonisher-hud.spr,0.76,no-co*ckpit,0,8.26,9.6,{admonisher.bfxm;;},admonisher_shield.bfxm,,,,,,360,360,22.92,700,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,55,60,65,24000,20000,16000,4000,4000,4000,4000,250,250,FALSE,FALSE,300000000,5,180,10,150,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor04;;}{quadshield08;;}{add_spec_capacitor03;;}{capacitor07;;}{reactor10;;}{jump_drive;;}{starscanner2;;}{ecm_package02;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4.5;1.8;-13.85;5;;;;;}{supernova.bmp.bfxm;5.1;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;3.95;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;-4.5;1.8;-13.85;5;;;;;}{supernova.bmp.bfxm;-5.1;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;-3.95;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;4.5;.35;-13.85;12;;;;;}{supernova.bmp.bfxm;-4.5;.35;-13.85;12;;;;;}{supernova.bmp.bfxm;6.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;5.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;4.5;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-6.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-5.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-4.5;-4.8;-12.3;4;;;;;},"{HeavyIonBeam;;;Light Medium Heavy;2.35;6;10.3;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-2.35;6;10.3;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;-1.75;-10.5;9.5;;;;;;;;;1;1}{HeavyIonBeam;;;Light Medium Heavy;1.75;-10.5;9.5;;;;;;;;;1;1}{Pugilist;;;Light;8.1;-3.5;-1.65;;;;;;;;;1;1}{Pugilist;;;Light;-8.1;-3.5;-1.65;;;;;;;;;1;1}{HeatSeeker;5;15;Light-Missile Medium-Missile;-0.300000;-0.100000;0.000000;;;;;;;;;1;1}{HeatSeeker;5;15;Light-Missile Medium-Missile;0.300000;-0.100000;0.000000;;;;;;;;;1;1}{Torpedo;3;300;Heavy-Missile;-0.000000;0.000000;0.000000;;;;;;;;;1;1}",,,,,,0,1400,0,,,,, Admonisher__homeland-security,./admonisher,Admonisher,,Vessel,FIGHTER,"Purist light assault craft",admonisher-hud.spr,0.76,no-co*ckpit,0,8.26,9.6,{admonisher.bfxm;;},admonisher_shield.bfxm,,,,,,360,360,22.92,700,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,TRUE,1,,200,120,1,0,50000,50000,50000,58,62,68,24000,20000,16000,4000,4000,4000,4000,250,250,FALSE,FALSE,300000000,5,180,10,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,{armor06;;}{quadshield10;;}{add_spec_capacitor03;;}{capacitor06;;}{reactor09;;}{jump_drive;;}{starscanner2;;}{ecm_package02;;},upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4.5;1.8;-13.85;5;;;;;}{supernova.bmp.bfxm;5.1;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;3.95;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;-4.5;1.8;-13.85;5;;;;;}{supernova.bmp.bfxm;-5.1;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;-3.95;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;4.5;.35;-13.85;12;;;;;}{supernova.bmp.bfxm;-4.5;.35;-13.85;12;;;;;}{supernova.bmp.bfxm;6.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;5.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;4.5;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-6.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-5.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-4.5;-4.8;-12.3;4;;;;;},"{Crippler;;;Light Medium Heavy;2.35;6;10.3;;;;;;;;;1;1}{Crippler;;;Light Medium Heavy;-2.35;6;10.3;;;;;;;;;1;1}{Crippler;;;Light Medium Heavy;-1.75;-10.5;9.5;;;;;;;;;1;1}{Crippler;;;Light Medium Heavy;1.75;-10.5;9.5;;;;;;;;;1;1}{LeechGun;;;Light;8.1;-3.5;-1.65;;;;;;;;;1;1}{LeechGun;;;Light;-8.1;-3.5;-1.65;;;;;;;;;1;1}{Leech;5;1;Light-Missile Medium-Missile;-0.300000;-0.100000;0.000000;;;;;;;;;1;1}{Leech;5;1;Light-Missile Medium-Missile;0.300000;-0.100000;0.000000;;;;;;;;;1;1}{EMPTorpedo;1;1;Heavy-Missile;-0.000000;0.000000;0.000000;;;;;;;;;1;1}",,,,,,0,1200,0,,,,,-Admonisher.blank,./admonisher,Admonisher,MANEUVOUR,Vessel,FIGHTER,"Purist light assault craft",admonisher-hud.spr,0.76,no-co*ckpit,0,8.26,9.6,{admonisher.bfxm;;},admonisher_shield.bfxm,,,,,,360,360,22.92,700,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,55,60,65,24000,20000,16000,4000,4000,4000,4000,190,190,FALSE,FALSE,100000,0,0,0,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4.5;1.8;-13.85;5;;;;;}{supernova.bmp.bfxm;5.1;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;3.95;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;-4.5;1.8;-13.85;5;;;;;}{supernova.bmp.bfxm;-5.1;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;-3.95;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;4.5;.35;-13.85;12;;;;;}{supernova.bmp.bfxm;-4.5;.35;-13.85;12;;;;;}{supernova.bmp.bfxm;6.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;5.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;4.5;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-6.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-5.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-4.5;-4.8;-12.3;4;;;;;},"{;;;Light Medium Heavy;2.35;6;10.3;;;;;;;;;1;1}{;;;Light Medium Heavy;-2.35;6;10.3;;;;;;;;;1;1}{;;;Light Medium Heavy;-1.75;-10.5;9.5;;;;;;;;;1;1}{;;;Light Medium Heavy;1.75;-10.5;9.5;;;;;;;;;1;1}{;;;Light;8.1;-3.5;-1.65;;;;;;;;;1;1}{;;;Light;-8.1;-3.5;-1.65;;;;;;;;;1;1}{;5;1;Light-Missile Medium-Missile;-0.300000;-0.100000;0.000000;;;;;;;;;1;1}{;5;1;Light-Missile Medium-Missile;0.300000;-0.100000;0.000000;;;;;;;;;1;1}{;1;1;Heavy-Missile;-0.000000;0.000000;0.000000;;;;;;;;;1;1}",,,,,,0,1400,0,,,,,-Admonisher__homeland-security.blank,./admonisher,Admonisher,MANEUVOUR,Vessel,FIGHTER,"Purist light assault craft",homeland-security_admonisher-hud.spr,0.76,no-co*ckpit,0,8.26,9.6,{admonisher.bfxm;;},admonisher_shield.bfxm,,,,,,360,360,21,700,0,0,0,0,0,0,0,0,0,0,0,0,,,,,0,0,25,,,FALSE,1,,200,120,0,32767,50000,50000,50000,58,62,68,24000,20000,16000,4000,4000,4000,4000,190,190,FALSE,FALSE,100000,0,0,0,250,,,,,0,0,0,0,0,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1,1,1,1,1,1,1,1,1,0,0,,,,upgrades/Overdrive:1;upgrades/Capacitors:1;upgrades/Reactors:1;upgrades/Armor:1;upgrades/Sensors:1;upgrades/Shield_Systems:1;upgrades/Passenger_Quarters:1;upgrades/Repair_Systems:1;upgrades/ECM_Systems:1,,;;;;;;,{supernova.bmp.bfxm;4.5;1.8;-13.85;5;;;;;}{supernova.bmp.bfxm;5.1;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;3.95;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;-4.5;1.8;-13.85;5;;;;;}{supernova.bmp.bfxm;-5.1;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;-3.95;2.75;-13.85;5;;;;;}{supernova.bmp.bfxm;4.5;.35;-13.85;12;;;;;}{supernova.bmp.bfxm;-4.5;.35;-13.85;12;;;;;}{supernova.bmp.bfxm;6.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;5.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;4.5;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-6.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-5.45;-4.8;-12.3;4;;;;;}{supernova.bmp.bfxm;-4.5;-4.8;-12.3;4;;;;;},"{;;;Light Medium Heavy;2.35;6;10.3;;;;;;;;;1;1}{;;;... [truncated message content]

[Vegastrike-cvs] SF.net SVN: vegastrike: [11089] trunk

From: <ac...@us...> - 2007-07-17 07:36:19

Revision: 11089 Author: ace123Date: 2007-07-17 00:36:20 -0700 (Tue, 17 Jul 2007)Log Message:-----------Compiling fixes for windows.Modified Paths:-------------- trunk/vega-vc7/vsserver/vsserver.vcproj trunk/vega-vc8/vegastrike.vcproj trunk/vega-vc8/vsserver/vsserver.vcproj trunk/vegastrike/src/cmd/atmosphere_server.cpp trunk/vegastrike/src/cmd/images.h trunk/vegastrike/src/gldrv/winsys.cpp trunk/vegastrike/src/gnuhash.hProperty Changed:---------------- trunk/vegastrike/src/gnuhash.hModified: trunk/vega-vc7/vsserver/vsserver.vcproj===================================================================--- trunk/vega-vc7/vsserver/vsserver.vcproj2007-07-17 07:34:36 UTC (rev 11088)+++ trunk/vega-vc7/vsserver/vsserver.vcproj2007-07-17 07:36:20 UTC (rev 11089)@@ -427,6 +427,25 @@ </File> <File RelativePath="..\..\vegastrike\src\SharedPool.cpp">+<FileConfiguration+Name="Release|Win32"+ExcludedFromBuild="TRUE">+<Tool+Name="VCCLCompilerTool"+Optimization="2"+AdditionalIncludeDirectories=""+PreprocessorDefinitions=""/>+</FileConfiguration>+<FileConfiguration+Name="Debug|Win32"+ExcludedFromBuild="TRUE">+<Tool+Name="VCCLCompilerTool"+Optimization="0"+AdditionalIncludeDirectories=""+PreprocessorDefinitions=""+BasicRuntimeChecks="3"/>+</FileConfiguration> </File> <File RelativePath="..\..\vegastrike\src\star_system_generic.cpp">Modified: trunk/vega-vc8/vegastrike.vcproj===================================================================--- trunk/vega-vc8/vegastrike.vcproj2007-07-17 07:34:36 UTC (rev 11088)+++ trunk/vega-vc8/vegastrike.vcproj2007-07-17 07:36:20 UTC (rev 11089)@@ -2179,11 +2179,11 @@ > </File> <File-RelativePath="config.h"+RelativePath="..\vegastrike\src\config.h" > </File> <File-RelativePath="..\vegastrike\src\config.h"+RelativePath="config.h" > </File> <File@@ -12981,6 +12981,38 @@ <File RelativePath="..\vegastrike\Resources.rc" >+<FileConfiguration+Name="Release|Win32"+ExcludedFromBuild="true"+>+<Tool+Name="VCResourceCompilerTool"+/>+</FileConfiguration>+<FileConfiguration+Name="Debug GLUT|Win32"+ExcludedFromBuild="true"+>+<Tool+Name="VCResourceCompilerTool"+/>+</FileConfiguration>+<FileConfiguration+Name="Release GLUT|Win32"+ExcludedFromBuild="true"+>+<Tool+Name="VCResourceCompilerTool"+/>+</FileConfiguration>+<FileConfiguration+Name="Debug|Win32"+ExcludedFromBuild="true"+>+<Tool+Name="VCResourceCompilerTool"+/>+</FileConfiguration> </File> </Files> <Globals>Modified: trunk/vega-vc8/vsserver/vsserver.vcproj===================================================================--- trunk/vega-vc8/vsserver/vsserver.vcproj2007-07-17 07:34:36 UTC (rev 11088)+++ trunk/vega-vc8/vsserver/vsserver.vcproj2007-07-17 07:36:20 UTC (rev 11089)@@ -572,6 +572,22 @@ <File RelativePath="..\..\vegastrike\src\SharedPool.cpp" >+<FileConfiguration+Name="Release|Win32"+ExcludedFromBuild="true"+>+<Tool+Name="VCCLCompilerTool"+/>+</FileConfiguration>+<FileConfiguration+Name="Debug|Win32"+ExcludedFromBuild="true"+>+<Tool+Name="VCCLCompilerTool"+/>+</FileConfiguration> </File> <File RelativePath="..\..\vegastrike\src\star_system_generic.cpp"@@ -945,10 +961,6 @@ > </File> <File-RelativePath="..\..\vegastrike\src\cmd\atmosphere_generic.cpp"->-</File>-<File RelativePath="..\..\vegastrike\src\cmd\atmosphere_server.cpp" > </File>Modified: trunk/vegastrike/src/cmd/atmosphere_server.cpp===================================================================--- trunk/vegastrike/src/cmd/atmosphere_server.cpp2007-07-17 07:34:36 UTC (rev 11088)+++ trunk/vegastrike/src/cmd/atmosphere_server.cpp2007-07-17 07:36:20 UTC (rev 11089)@@ -2,6 +2,9 @@ #include "gfx/vec.h" #include "gfx/matrix.h" +Atmosphere::Atmosphere(const Parameters &params) : user_params(params) {+}+ void Atmosphere::Update(const QVector &position, const Matrix &tmatrix) { }Modified: trunk/vegastrike/src/cmd/images.h===================================================================--- trunk/vegastrike/src/cmd/images.h2007-07-17 07:34:36 UTC (rev 11088)+++ trunk/vegastrike/src/cmd/images.h2007-07-17 07:36:20 UTC (rev 11089)@@ -109,9 +109,9 @@ const std::string& GetCategory () const {return category;} const std::string& GetContent () const {return content;} const std::string& GetDescription() const {return description;}- std::string GetCategoryPython() {return category;}- std::string GetContentPython() {return content;}- std::string GetDescriptionPython() {return description;}+ std::string GetCategoryPython() {return GetCategory();}+ std::string GetContentPython() {return GetContent();}+ std::string GetDescriptionPython() {return GetDescription();} int GetQuantity() const {return quantity;} float GetVolume () const {return volume;} float GetMass() const {return mass;}Modified: trunk/vegastrike/src/gldrv/winsys.cpp===================================================================--- trunk/vegastrike/src/gldrv/winsys.cpp2007-07-17 07:34:36 UTC (rev 11088)+++ trunk/vegastrike/src/gldrv/winsys.cpp2007-07-17 07:36:20 UTC (rev 11089)@@ -312,12 +312,13 @@ SDL_GL_SetAttribute( SDL_GL_STENCIL_SIZE, 8 ); #endif + glutInit(argc,argv); setup_sdl_video_mode();+glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); SDL_WM_SetCaption( window_title, icon_title ); SDL_EnableUNICODE(1); // supposedly fixes int'l keyboards. - glutInit(argc,argv); } Modified: trunk/vegastrike/src/gnuhash.h===================================================================--- trunk/vegastrike/src/gnuhash.h2007-07-17 07:34:36 UTC (rev 11088)+++ trunk/vegastrike/src/gnuhash.h2007-07-17 07:36:20 UTC (rev 11089)@@ -8,12 +8,12 @@ #define hash_map map #define stdext std namespace stdext {- template<class Key, class Traits = std::less<Key> > class hash_compare-{-public:-static const size_t bucket_size = 4;-static const size_t min_buckets = 8;-};+ template<class Key, class Traits = std::less<Key> > class hash_compare+{+public:+static const size_t bucket_size = 4;+static const size_t min_buckets = 8;+}; } #include "hashtable.h"@@ -72,12 +72,12 @@ }; // Minimum declaration needed by SharedPool.h- template<class Key, class Traits = std::less<Key> > class hash_compare-{-public:-static const size_t bucket_size = 4;-static const size_t min_buckets = 8;-};+ template<class Key, class Traits = std::less<Key> > class hash_compare+{+public:+static const size_t bucket_size = 4;+static const size_t min_buckets = 8;+}; } #endifProperty changes on: trunk/vegastrike/src/gnuhash.h___________________________________________________________________Name: svn:eol-style + native

[Vegastrike-cvs] SF.net SVN: vegastrike: [11122] trunk

From: <ac...@us...> - 2007-07-20 23:29:17

Revision: 11122 Author: ace123Date: 2007-07-20 16:29:15 -0700 (Fri, 20 Jul 2007)Log Message:-----------Multiplayer support from main menu.Modified Paths:-------------- trunk/data4.x/New_Game trunk/data4.x/bases/computer_lib.py trunk/data4.x/bases/main_menu.py trunk/data4.x/modules/GUI.py trunk/data4.x/modules/dj_lib.py trunk/data4.x/modules/generate_dyn_universe.py trunk/data4.x/modules/privateer.py trunk/data4.x/sprites/interfaces/main_menu/menu.jpg trunk/data4.x/vegastrike.config trunk/vegastrike/src/cmd/base_util.cpp trunk/vegastrike/src/cmd/basecomputer.cpp trunk/vegastrike/src/cmd/basecomputer.h trunk/vegastrike/src/cmd/unit_physics.cpp trunk/vegastrike/src/gamemenu.cpp trunk/vegastrike/src/gamemenu.h trunk/vegastrike/src/libserver.cpp trunk/vegastrike/src/main.cpp trunk/vegastrike/src/networking/netclient.cpp trunk/vegastrike/src/networking/netclient.h trunk/vegastrike/src/networking/netclient_login.cpp trunk/vegastrike/src/savegame.cppModified: trunk/data4.x/New_Game===================================================================--- trunk/data4.x/New_Game2007-07-20 21:07:13 UTC (rev 11121)+++ trunk/data4.x/New_Game2007-07-20 23:29:15 UTC (rev 11122)@@ -1,9846 +1,8 @@ Crucible/Cephid_17^13500.000000^Llama.begin 119990000000.000000 -9000000.000000 -109990000000.000000-0 mission data 10-visited_Crucible/17-ar 1 0.000000 -visited_Crucible/Oldziey 1 0.000000 -visited_Crucible/Enyo 1 0.000000 -visited_Crucible/Cephid_17 1 1.000000 -stardate 1 151.199997 -visited_Crucible/Stirling 1 0.000000 -visited_Crucible/Cardell 1 0.000000 -visited_Crucible/Everett 1 0.000000 -31337ness 2 0.250000 0.250000 -436457r1K3574r7uP71m35 1 1.000000 -0 missionstring data 9788-9 FG:Lome|76 1 918 Aantlbzz/Ptahbyqqh1 011 Robin.blank1 91 9-11 FG:Bunyan|76 2 1620 Pzzaztahber/Tkkabaan1 011 Hyena.blank2 162 16-13 FG:Marjorie|76 2 1215 Ibpzez/Zaanzeen1 011 Robin.blank2 122 12-15 FG:Martinique|76 1 319 Vega/Omicron_Aquila1 011 Hyena.blank1 31 3-9 FG:Baja|76 2 1314 Rust/Dahylkeil1 011 Robin.blank2 132 13-10 FG:Grimm|76 2 1615 Bztutpt/Aantkpt1 011 Robin.blank2 162 16-9 FG:Clio|76 1 617 Eilthut/Ynnetheil1 011 Robin.blank1 61 6-11 FG:Carson|76 2 1814 Ahbz/Bzzahbbzz1 011 Robin.blank2 182 18-11 FG:Persia|76 2 1517 Tutbzzaz/Ptyqqhtl1 012 Hammer.blank2 152 15-10 FG:Greta|76 1 812 Ibpzez/Bzztl1 012 Hammer.blank1 81 8-14 FG:Wheatland|76 2 1812 Ibpzez/Ptizz1 011 Robin.blank2 182 18-8 FG:Sin|76 2 1115 Ohzzz/Zeenptizz1 011 Robin.blank2 112 11-15 FG:Binghamton|76 2 1820 Bzzahbtktk/Zeentlaan1 011 Hyena.blank2 182 18-13 FG:Adrienne|76 1 618 Izzptipt/Aanpzeztk1 012 Sickle.blank1 61 6-11 FG:Edward|76 2 1714 Izzptipt/Aantk1 012 Hammer.blank2 172 17-13 FG:Gullveig|76 2 1722 Bzzahbtktk/Zeenpzezbzz1 012 Sickle.blank2 172 17-10 FG:Banba|76 2 1915 Ibzazz/Bzztkkab1 011 Robin.blank2 192 19-14 FG:Principia|76 1 815 Bzzeen/Zeenpttl1 011 Robin.blank1 81 8-10 FG:Fulla|76 2 1518 Bzzeen/Pzezzeenkab1 011 Hyena.blank2 152 15-9 FG:Yuki|76 1 323 Pzzaztahber/Zeenyqqhaan1 012 Sickle.blank1 31 3-9 FG:Bryn|76 1 917 Ahbzeentk/Izzzkab1 011 Hyena.blank1 91 9-13 FG:Cheshire|76 1 519 Ahbzeentk/Azztlyqqh1 011 Robin.blank1 51 5-14 FG:Capricorn|76 2 1818 Ahbzeentk/Azzizztl1 011 Hyena.blank2 182 18-13 FG:Fiorello|76 2 1215 Ahbzeentk/Tkptz1 012 Sickle.blank2 122 12-10 FG:fa*gin|76 1 718 Aantutpt/Aankabizz1 011 Hyena.blank1 71 7-12 FG:Letitia|76 1 218 Aantutpt/Ptzeenahb1 011 Robin.blank1 21 2-12 FG:Norwich|76 1 717 Bzzeen/Bzzyqqhaan1 011 Robin.blank1 71 7-10 FG:Sarah|76 2 1518 Thuhtmaah/Guhdahyn1 012 Sickle.blank2 152 15-13 FG:Legendre|76 2 1920 Thuhtmaah/Thutghemru1 012 Hammer.blank2 192 19-9 FG:Lura|76 2 1619 Gohallruu/Mahdahuul1 011 Robin.blank2 162 16-13 FG:Cochrane|76 2 1619 Gohallruu/Dahghemee1 011 Hyena.blank2 162 16-11 FG:Lowell|76 2 1818 Ouulneh/Uulgohthut1 011 Hyena.blank2 182 18-9 FG:Atum|76 1 220 Gohallruu/Yeeleilylk1 012 Hammer.blank1 21 2-11 FG:Ortega|76 1 515 Uulmm/Runethuul1 011 Robin.blank1 51 5-12 FG:Hoboken|76 1 419 Aeneth/Nethmaahyeel1 011 Robin.blank1 41 4-9 FG:Bose|76 2 1616 Aeneth/Aeneilylk1 012 Hammer.blank2 162 16-13 FG:Calcutta|76 1 219 Uumghemm/Aenghemylk1 012 Sickle.blank1 21 2-12 FG:Delling|76 1 121 Eeyenjylk/Maahgohneth1 012 Hammer.blank1 11 1-11 FG:Korean|76 2 1120 Eeyenjylk/Aenghemuul1 011 Robin.blank2 112 11-16 FG:Scandinavia|76 1 323 Gohthuhthuh/Uulyeelghem1 011 Robin.blank1 31 3-13 FG:Gertrude|76 1 320 Gohthuhthuh/Eemaahru1 011 Hyena.blank1 31 3-13 FG:Ackerman|76 2 1121 Gohthuhthuh/Eemahghem1 011 Robin.blank2 112 11-12 FG:Colombo|76 2 1015 Maeell/Gohylkru1 011 Robin.blank2 102 10-16 FG:Shanghaiing|76 2 1822 Alleethuh/Maahyeelneth1 011 Robin.blank2 182 18-15 FG:Derbyshire|76 2 1719 Alleethuh/Guhuulgoh1 011 Hyena.blank2 172 17-13 FG:Erickson|76 2 1418 Alleethuh/Goheilru1 012 Hammer.blank2 142 14-10 FG:Nanna|76 2 1015 Maeell/Eilruguh1 011 Robin.blank2 102 10-8 FG:Del|76 2 2017 Ouulneh/Aenyeelyn1 011 Hyena.blank2 202 20-12 FG:Vanessa|76 2 1316 Ouulneh/Eileeuul1 011 Hyena.blank2 132 13-10 FG:Wakea|76 2 1717 Ouulneh/Ynmaahmah1 012 Hammer.blank2 172 17-13 FG:Wheelock|76 1 119 Alleethuh/Eilghemyn1 012 Sickle.blank1 11 1-11 FG:O'Hare|76 1 515 RBL-8/Ylkgohylk1 011 Hyena.blank1 51 5-11 FG:McGill|76 1 617 Uulmm/Yeelylkghem1 012 Sickle.blank1 61 6-16 FG:Reichenberg|76 2 1114 Eeruu/Ylkeedah1 011 Robin.blank2 112 11-11 FG:Castro|76 2 1117 Eeruu/Mahneththut1 011 Hyena.blank2 112 11-12 FG:Catawba|76 2 2020 Miyeeldah/Yqqhizzazz1 011 Hyena.blank2 202 20-13 FG:Merrimac|76 2 1719 Thuhtmaah/Aenyeelru1 012 Sickle.blank2 172 17-14 FG:Rosenberg|76 2 1219 Uumghemm/Uulmaahmah1 011 Hyena.blank2 122 12-12 FG:Nicosia|76 1 217 Mahgoh/Mahyeeleil1 011 Hyena.blank1 21 2-13 FG:Francine|76 1 615 Eilgohall/Keket1 011 Robin.blank1 61 6-11 FG:Hecate|76 1 521 Miyeeldah/Neththutguh1 011 Robin.blank1 51 5-13 FG:Disraeli|76 2 1316 Ingatwa/Uulrueil1 011 Robin.blank2 132 13-13 FG:Johanson|76 1 414 Eeruu/Ynghemru1 011 Robin.blank1 41 4-13 FG:Alphonse|76 1 718 Uumghemm/Guhgohmah1 011 Hyena.blank1 71 7-15 FG:Somerville|76 2 1320 Eeyenjylk/Ylkghemuul1 012 Hammer.blank2 132 13-15 FG:Monteverdi|76 2 1821 Gohallruu/Mahyeelthut1 011 Robin.blank2 182 18-12 FG:Gaylord|76 1 420 Gohallruu/Aenguhneth1 012 Hammer.blank1 41 4-12 FG:Sumeria|76 1 517 Eeruu/Guhnethghem1 011 Robin.blank1 51 5-12 FG:Gauguin|76 2 1517 Mahgoh/Uulnethgoh1 011 Hyena.blank2 152 15-11 FG:Cautha|76 1 118 Mahgoh/Dahnethghem1 012 Hammer.blank1 11 1-12 FG:Kampala|76 2 1822 Eilgohall/Nethyeelmaah1 012 Sickle.blank2 182 18-14 FG:Ypsilanti|76 1 319 Eilgohall/Uulgohaen1 012 Sickle.blank1 31 3-11 FG:Alexei|76 2 1220 Redemption/Eethutuul1 011 Hyena.blank2 122 12-9 FG:Yuri|76 2 1517 Maeell/Thutaenguh1 011 Robin.blank2 152 15-10 FG:Mazda|76 2 1817 Eilthut/Guhgohguh1 012 Sickle.blank2 182 18-11 FG:Isabel|76 1 718 Ingatwa/Netheilaen1 011 Robin.blank1 71 7-13 FG:Dijkstra|76 2 1718 Bztutpt/Ahbazzzeen1 011 Robin.blank2 172 17-15 FG:O'Sullivan|76 2 1219 Bzzahbtktk/Zkabpzez1 011 Hyena.blank2 122 12-9 FG:Juan|76 2 1217 Bztutpt/Izzkabaan1 011 Robin.blank2 122 12-16 FG:Cruickshank|76 1 118 Bribztkaber/Anuket1 011 Robin.blank1 11 1-11 FG:Rafael|76 1 39 Ahbz/Amun1 011 Hyena.blank1 31 3-12 FG:McGuire|76 2 1315 Ingatwa/Amaunet1 012 Hammer.blank2 132 13-11 FG:Buxton|76 2 2016 Eilgohall/Ennead1 012 Sickle.blank2 202 20-12 FG:Corsica|76 1 216 Eilgohall/Ennead1 011 Hyena.blank1 21 2-10 FG:Stahl|76 2 1721 Gohallruu/Thutnetheil1 011 Robin.blank2 172 17-11 FG:Apollo|76 2 1020 Redemption/Izzptzeen1 012 Hammer.blank2 102 10-11 FG:Stevie|76 1 118 Crucible/Azzyqqhpt1 012 Hammer.blank1 11 1-13 FG:Benjamin|76 2 1315 Crucible/Tkahbz1 011 Robin.blank2 132 13-14 FG:Stapleton|76 2 2022 Bribztkaber/Ahbpzezazz1 011 Robin.blank2 202 20-11 FG:Smythe|76 2 1612 Vega/Psi_Ser1 011 Robin.blank2 162 16-11 FG:Larsen|76 2 1515 Vega/Lambda_Ser1 012 Hammer.blank2 152 15-15 FG:Wellsville|76 2 1615 Vega/Lambda_Ser1 011 Hyena.blank2 162 16-15 SS:Sol/USNO_6937 0 0 0 0 0 7 Sistine33 Base_Sol/USNO_693|Twombly|Dunkirk-11 FG:Mensch|76 2 1812 Sol/Vladimir1 011 Hyena.blank2 182 18-11 FG:Angela|76 1 19 Sol/Riepe1 012 Sickle.blank1 11 1-14 FG:Buxtehude|76 2 2015 Sol/Beta_Gemini1 011 Robin.blank2 202 20-13 FG:Parmesan|76 1 921 Sol/Iota_Ursa_Majoris1 012 Sickle.blank1 91 9-13 FG:Woodward|76 2 1611 Vega/Engels1 011 Robin.blank2 162 16-11 FG:Buddha|76 2 1217 Sol/1_Pi(3)_Orion1 011 Hyena.blank2 122 12-9 FG:Hume|76 2 1314 Vega/Alpha_Ser1 012 Hammer.blank2 132 13-14 FG:Oligocene|76 1 718 Izzptipt/Pzezahbpt1 012 Sickle.blank1 71 7-13 FG:McFadden|76 2 1912 Ahbz/Zeenztk1 011 Hyena.blank2 192 19-11 FG:Yankee|76 1 317 Bztutpt/Aantlzeen1 011 Robin.blank1 31 3-10 FG:Volta|76 2 1415 Eebzpt/Ptahbazz1 011 Hyena.blank2 142 14-10 FG:Epona|76 2 1913 Ohzzz/Zazzizz1 011 Robin.blank2 192 19-12 FG:Gerhard|76 1 314 Iyn/Guheilthut1 011 Robin.blank1 31 3-11 FG:Snotra|76 2 1122 Gohthuhthuh/Mahthutuul1 011 Robin.blank2 112 11-12 FG:Colgate|76 2 1914 Aeneth/Rueilyn1 011 Robin.blank2 192 19-9 FG:Wynn|76 2 2016 Aeneth/Eeguhghem1 012 Hammer.blank2 202 20-15 FG:Williamson|76 2 1517 Maeell/Eiluulghem1 011 Hyena.blank2 152 15-9 FG:Bern|79 2 2017 Maeell/Neththutee1 011 Hyena.blank1 31 312 Hammer.blank2 172 17-11 FG:Illapa|76 2 1916 Maeell/Eeghemeil1 011 Hyena.blank2 192 19-9 FG:Lund|76 2 1021 Alleethuh/Maahuulghem1 011 Robin.blank2 102 10-12 FG:Sanford|76 2 1417 Ouulneh/Guhmahylk1 011 Robin.blank2 142 14-11 FG:Laurie|76 1 320 Gohallruu/Thutrughem1 012 Sickle.blank1 31 3-11 FG:Walden|76 1 618 Eilthut/Yeelghemee1 012 Sickle.blank1 61 6-11 FG:Sheila|76 2 1118 Ingatwa/Mahguhmaah1 012 Sickle.blank2 112 11-10 FG:Glenn|76 2 1614 Eilgohall/Ptah1 011 Robin.blank2 162 16-12 FG:Pizarro|76 2 1514 Zzyqqh/Ptaantl1 011 Hyena.blank2 152 15-12 FG:Bermuda|76 1 320 Aantlbzz/Yqqhzeenazz1 011 Robin.blank1 31 3-10 FG:Tinia|76 1 217 Aantlbzz/Ahbaantk1 012 Hammer.blank1 21 2-13 FG:Cecropia|76 1 818 Aantutpt/Aanazzahb1 011 Hyena.blank1 81 8-8 FG:Eli|76 2 1815 Ahbz/Ghemuuldah1 012 Hammer.blank2 182 18-11 FG:Barnum|76 2 1219 Pzzaztahber/Tlkabtk1 012 Sickle.blank2 122 12-12 FG:O'Brien|76 1 417 Miyeeldah/Bzzyqqh1 012 Sickle.blank1 41 4-9 FG:Gino|76 2 1015 Bztutpt/Ahbzkab1 011 Hyena.blank2 102 10-12 FG:Stetson|76 1 916 Bztutpt/Tlkabizz1 011 Robin.blank1 91 9-9 FG:Loeb|76 1 210 Ahbz/Tlzpt1 012 Hammer.blank1 21 2-12 FG:Darrell|76 2 1615 Aantutpt/Tlpttk1 011 Robin.blank2 162 16-14 FG:Flagstaff|76 2 1520 Ailzzptpt/Izzaanyqqh1 011 Hyena.blank2 152 15-10 FG:Wacke|76 1 923 Bzzahbtktk/Pzezyqqhpzez1 012 Hammer.blank1 91 9-13 FG:Whitcomb|76 1 718 Ahbzeentk/Kabptaan1 011 Robin.blank1 71 7-10 FG:Clara|76 2 1218 Aantutpt/Aanyqqhpt1 011 Robin.blank2 122 12-11 FG:Segomo|76 1 914 Ohzzz/Ptbzzazz1 011 Hyena.blank1 91 9-12 FG:McKenna|76 2 1915 Ibpzez/Ahbaanpt1 011 Robin.blank2 192 19-9 FG:Hebe|76 1 921 Pzzaztahber/Kabptzeen1 011 Hyena.blank1 91 9-13 FG:Jonathan|76 2 1716 Zzyqqh/Aanyqqhtl1 011 Robin.blank2 172 17-12 FG:Weidman|76 2 1817 Aantutpt/Azztkaan1 012 Sickle.blank2 182 18-12 FG:Moravia|76 2 1020 Aantlbzz/Yqqhzeenizz1 012 Hammer.blank2 102 10-14 FG:Melpomene|76 2 1216 Ibpzez/Aanyqqhtk1 011 Robin.blank2 122 12-13 FG:DiMaggio|76 2 1514 Eebzpt/Zeenahb1 012 Hammer.blank2 152 15-13 FG:McIntosh|76 2 1313 Eebzpt/Tkzahb1 011 Robin.blank2 132 13-7 FG:Fe|76 2 1718 Eebzpt/Yqqhaanzeen1 012 Hammer.blank2 172 17-13 FG:Battelle|76 2 1318 Eebzpt/Pzezizzpzez1 011 Robin.blank2 132 13-10 FG:Scala|76 2 1616 Izzptipt/Tlbzzpt1 011 Hyena.blank2 162 16-9 FG:Ulan|76 2 1822 Bzzahbtktk/Yqqhbzzpzez1 011 Robin.blank2 182 18-11 FG:Litton|76 2 1415 Rust/Maaheethut1 012 Hammer.blank2 142 14-10 FG:Susie|76 2 1517 Thanatos/Ghemynru1 011 Hyena.blank2 152 15-13 FG:Blenheim|76 2 1817 Crucible/Stirling1 011 Hyena.blank2 182 18-12 FG:Nanette|76 2 1121 Redemption/Ghemguhuul1 011 Robin.blank2 112 11-11 FG:Camden|76 1 221 Redemption/Kabzeenizz1 011 Robin.blank1 21 2-13 FG:Kingston|76 2 1222 Bribztkaber/Pzezzeenpt1 011 Hyena.blank2 122 12-12 FG:Balfour|66 2 1111 Sol/HZ_12841 09 Plowshare2 112 11-14 FG:Prokofiev|66 2 1714 Sol/Zeta_Lepus1 09 Plowshare2 172 17-12 FG:MacDraw|66 1 115 Vega/Steph_14221 09 Plowshare1 11 1-12 FG:Doherty|66 1 513 Iyn/Gohuulguh1 05 Hyena1 51 5-11 FG:Sussex|66 2 1217 Aantlbzz/Tlizzbzz1 05 Hyena2 122 12-10 FG:Elmer|66 2 1521 Bzzahbtktk/Kabizzyqqh1 05 Hyena2 152 15-13 FG:Pleiades|66 2 1816 Ouulneh/Eeynghem1 09 Plowshare2 182 18-9 FG:Iraq|66 1 312 Solace/Nitir1 09 Plowshare1 31 3-22 FG:Base_Solace/Nitir|66 1 112 Solace/Nitir1 08 refinery1 11 1-13 FG:Sisyphus|66 1 315 Uulmm/Ghemeeguh1 05 Hyena1 31 3-13 FG:Gonzales|66 1 820 Gohthuhthuh/Maheeylk1 05 Hyena1 81 8-13 FG:Verderer|66 1 423 Gohthuhthuh/Maahnethylk1 09 Plowshare1 41 4-11 FG:Weiner|66 1 517 Aantlbzz/Tlaanbzz1 09 Plowshare1 51 5-13 FG:Eveready|66 1 814 Ibzazz/Zkabizz1 09 Plowshare1 81 8-13 FG:Beringer|66 2 1921 Tutbzzaz/Patrick_67271 09 Plowshare2 192 19-12 FG:Stearns|66 2 1014 Eebzpt/Pttkkab1 09 Plowshare2 102 10-14 FG:Reinhardt|66 2 1017 Aantlbzz/Zpzezaan1 05 Hyena2 102 10-12 FG:Jeffrey|66 1 215 Ahbzeentk/Tkptz1 05 Hyena1 21 2-12 FG:Procter|66 2 1119 Aantutpt/Ahbkabzeen1 05 Hyena2 112 11-14 FG:Arrhenius|66 2 1216 Eeruu/Eilmaahylk1 09 Plowshare2 122 12-11 FG:Cyprus|66 1 316 Eeruu/Eilmaahylk1 05 Hyena1 31 3-14 FG:Greenbelt|66 1 718 Eilgohall/Dahuulee1 05 Hyena1 71 7-9 FG:Benz|66 2 1017 Ouulneh/Eeyeeluul1 05 Hyena2 102 10-15 FG:Burgundies|66 2 1320 Gohallruu/Dahthutaen1 09 Plowshare2 132 13-11 FG:Yalies|66 2 1618 Eeyenjylk/Gohynuul1 09 Plowshare2 162 16-11 FG:Staley|66 2 1619 Uumghemm/Nethmaahee1 09 Plowshare2 162 16-12 FG:Cassius|66 2 1721 Eeyenjylk/Dahghemneth1 09 Plowshare2 172 17-11 FG:Morley|66 1 318 Eeyenjylk/Rugoheil1 05 Hyena1 31 3-12 FG:Schlitz|66 1 418 Aeneth/Nethmahmaah1 05 Hyena1 41 4-12 FG:Pegasus|66 2 1123 Gohthuhthuh/Nethdahyeel1 05 Hyena2 112 11-12 FG:Charles|66 2 1922 Gohthuhthuh/Thutnethyn1 09 Plowshare2 192 19-12 FG:Vincent|66 2 1312 Maeell/Aruru1 09 Plowshare2 132 13-15 FG:Tsunematsu|66 1 716 Maeell/Ylkmahdah1 09 Plowshare1 71 7-9 FG:Apis|66 2 1416 Solace/Khar_tahk1 05 Hyena2 142 14-13 FG:Arvernus|66 2 1020 Redemption/Shmroltee1 09 Plowshare2 102 10-9 FG:Kemp|66 2 1518 Maeell/Nethdahmaah1 05 Hyena2 152 15-14 FG:MacArthur|66 2 1314 Iyn/Thuteilylk1 05 Hyena2 132 13-14 FG:Britishly|66 1 214 Iyn/Thuteilylk1 05 Hyena1 21 2-14 FG:Apetalous|66 2 1614 Iyn/Nethylkaen1 09 Plowshare2 162 16-10 FG:Aegir|66 1 216 Ouulneh/Eeghemyn1 05 Hyena1 21 2-12 FG:Barstow|66 2 1920 Ouulneh/Thutnethghem1 09 Plowshare2 192 19-10 FG:Boris|66 2 1016 Ouulneh/Ylkdahyn1 05 Hyena2 102 10-14 FG:Oedipally|66 2 1017 Ouulneh/Eenetheil1 05 Hyena2 102 10-12 FG:Berlitz|66 2 1417 Ouulneh/Eenetheil1 05 Hyena2 142 14-13 FG:Bartlett|66 1 218 Ouulneh/Ghemgohguh1 05 Hyena1 21 2-10 FG:Kirov|66 2 1919 Alleethuh/Eilghemyn1 09 Plowshare2 192 19-14 FG:Decembers|66 1 220 Gohthuhthuh/Aeneeylk1 09 Plowshare1 21 2-9 FG:Pius|66 1 720 Thuhtmaah/Nethylkguh1 09 Plowshare1 71 7-12 FG:Cypriot|66 2 1215 Eeruu/Guhaenmah1 09 Plowshare2 122 12-15 FG:Erlenmeyer|66 2 1518 Miyeeldah/Goheemah1 05 Hyena2 152 15-11 FG:Hawley|66 1 416 Ahbz/Nethmaahuul1 09 Plowshare1 41 4-14 FG:Burnsides|66 2 2020 Eilgohall/Aenyeeluul1 05 Hyena2 202 20-12 FG:Everett|66 2 1915 Aeneth/Eilruaen1 09 Plowshare2 192 19-15 FG:Egyptology|66 1 917 Uulmm/Guhthutmaah1 09 Plowshare1 91 9-11 FG:Andrew|66 1 115 Aeneth/Eilmahru1 05 Hyena1 11 1-11 FG:Baxter|66 1 615 RBL-5/Eildahylk1 05 Hyena1 61 6-14 FG:Killebrew|66 2 1119 Thuhtmaah/Yeelaenyn1 09 Plowshare2 112 11-12 FG:Stanley|66 2 1219 Uumghemm/Dahyeelmah1 05 Hyena2 122 12-11 FG:Birgit|66 1 519 Eilgohall/Uulynthut1 09 Plowshare1 51 5-14 FG:Fairbanks|66 2 1915 Redemption/Bran1 09 Plowshare2 192 19-13 FG:McKinley|66 1 817 Mahgoh/Eilyeelmah1 05 Hyena1 81 8-14 FG:Zoroaster|66 2 1818 Ingatwa/Yeelguhuul1 09 Plowshare2 182 18-11 FG:Backus|66 2 1317 Beckett/Cyhiraeth1 05 Hyena2 132 13-11 FG:Fraser|66 2 1119 Crucible/Bzzyqqhazz1 09 Plowshare2 112 11-10 FG:Vasus|66 1 420 Redemption/Tlaanyqqh1 09 Plowshare1 41 4-12 FG:Mahoney|66 2 1918 Crucible/Tkon_meth1 05 Hyena2 192 19-13 FG:Yugoslav|66 1 314 Beckett/Galway1 05 Hyena1 31 3-10 FG:Yeats|66 2 1611 Vega/Mu_Cap1 05 Hyena2 162 16-13 FG:Renaults|66 1 313 Sol/Beta_Ceti1 05 Hyena1 31 3-11 FG:Kepler|66 1 526 Sol/_BS_963_(Alpha_Fornax)1 09 Plowshare1 51 5-12 FG:Reuther|66 2 2011 Sol/CF_70071 09 Plowshare2 202 20-15 FG:Transputer|66 1 814 Vega/Ross_193B1 09 Plowshare1 81 8-11 FG:Orkney|66 2 1018 Vega/Eta_Ophiuchus1 09 Plowshare2 102 10-25 FG:Base_Vega/Lambda_Ser|66 1 115 Vega/Lambda_Ser1 05 relay1 11 1-12 FG:Jenkins|66 2 2013 Vega/ADS_99091 05 Hyena2 202 20-11 FG:Antony|66 2 1510 Vega/Sm_111 09 Plowshare2 152 15-10 FG:Patsy|69 2 1815 Vega/Lambda_Ara1 09 Plowshare2 172 178 Corvette1 11 1-14 FG:Nicodemus|66 2 1111 Sol/LB_33031 05 Hyena2 112 11-12 FG:Twombly|66 2 1012 Sol/USNO_6931 09 Plowshare2 102 10-13 FG:Macassar|66 2 1513 Sol/Alpha_Psa1 09 Plowshare2 152 15-12 FG:Margery|66 2 1722 Vega/Uncultivable_12221 05 Hyena2 172 17-11 FG:Adkins|66 2 1917 Vega/Alpha_Aquila1 09 Plowshare2 192 19-12 FG:Schultz|66 2 1418 Vega/Epsilon_Cygni1 05 Hyena2 142 14-12 FG:Simmons|66 2 1419 Sol/Beta_Cassiopeia1 09 Plowshare2 142 14-13 FG:Josephus|66 1 512 Sol/Wolf_2191 05 Hyena1 51 5-10 FG:Bates|66 2 1212 Sol/Wolf_2191 05 Hyena2 122 12-12 FG:Grenier|66 2 1013 Sol/LTT_116551 09 Plowshare2 102 10-16 FG:Christopher|66 2 1913 Sol/Eta_Lepus1 09 Plowshare2 192 19-10 FG:Giles|69 1 316 Sol/FF_Andromeda1 05 Hyena1 21 28 Corvette1 11 1-12 FG:Culvers|66 2 1113 Sol/Sarasvati1 05 Hyena2 112 11-16 FG:Fahrenheits|66 2 1610 Sol/Kpr_371 05 Hyena2 162 16-21 FG:Base_Sol/VV_Lynx|66 1 111 Sol/VV_Lynx1 08 refinery1 11 1-13 FG:Berliner|66 2 1221 Sol/Iota_Ursa_Majoris1 09 Plowshare2 122 12-31 FG:Base_Sol/Iota_Ursa_Majoris|69 1 221 Sol/Iota_Ursa_Majoris1 07 factory1 11 17 outpost1 11 1-8 FG:Sus|66 2 1812 Vega/Calchas1 05 Hyena2 182 18-10 FG:Agnew|66 1 112 Sol/Minotaur1 05 Hyena1 11 1-11 FG:Eccles|66 2 179 Sol/Lycus1 09 Plowshare2 172 17-11 FG:Briggs|66 1 416 Vega/Alpha_Lyrae1 05 Hyena1 41 4-12 FG:McCarty|66 2 1817 Sol/Filis_Fleming1 05 Hyena2 182 18-10 FG:Xenix|66 1 921 Sol/Uncultivable_19341 09 Plowshare1 91 9-13 FG:Sethlans|66 2 1620 Sol/Uncultivable_9371 09 Plowshare2 162 16-10 FG:Willy|66 2 1912 Sol/L_938-2_1 09 Plowshare2 192 19-15 FG:Dixiecrats|66 2 1212 Sol/L_938-2_1 09 Plowshare2 122 12-10 FG:Pusey|66 2 1113 Vega/Iota_Pav1 05 Hyena2 112 11-8 FG:Lou|66 1 912 Vega/Eta_Ser1 05 Hyena1 91 9-24 FG:Base_Vega/Alpha_Ser|69 1 214 Vega/Alpha_Ser1 07 outpost1 11 110 MiningBase1 11 1-13 FG:Brussels|66 1 315 Magellan/Vishnu1 05 Hyena1 31 3-21 FG:Base_Sol/Eta_Cru|66 1 111 Sol/Eta_Cru1 08 refinery1 11 1-11 FG:Skippy|66 2 179 Vega/Kali1 09 Plowshare2 172 17-14 FG:Worcester|66 1 420 Sol/Lambda(2)_Fornax1 09 Plowshare1 41 4-13 FG:Barnabas|66 2 1721 Sol/Uncultivable_14671 09 Plowshare2 172 17-12 FG:Brenner|66 2 1421 Sol/Uncultivable_17791 05 Hyena2 142 14-11 FG:Rudras|66 2 1421 Vega/Uncultivable_8671 05 Hyena2 142 14-11 FG:Bumbry|66 2 1316 Sol/Alpha_Hydrus1 09 Plowshare2 132 13-14 FG:Daugherty|66 2 1615 Torkelsen/Kingu1 09 Plowshare2 162 16-27 FG:Base_Sol/Eta(1)_Pictor|69 1 217 Sol/Eta(1)_Pictor1 08 research1 11 116 fighter_barracks1 11 1-12 FG:Whatley|66 1 413 Sol/Euripides1 09 Plowshare1 41 4-12 FG:Fogarty|66 2 1218 Crucible/Cephid_171 09 Plowshare2 122 12-10 FG:Janos|66 1 513 Rust/Mammetum1 05 Hyena1 51 5-11 FG:Simons|66 2 1510 Sol/Aeolus1 05 Hyena2 152 15-15 FG:Appomattox|66 2 1216 Tutbzzaz/Ahbzahb1 09 Plowshare2 122 12-11 FG:Decker|66 2 1915 Eebzpt/Ptahbazz1 05 Hyena2 192 19-13 FG:Triplett|66 2 1616 Eebzpt/Pzezizzpt1 09 Plowshare2 162 16-24 SS:Tutbzzaz/Patrick_398219 0 0 9 joliotite0 0 0 0 0 0 0 26 Base_Tutbzzaz/Patrick_39820 0 0 0 0 6 Alymer0 7 Bluntly-13 FG:Fairmont|66 1 819 Diaspora/Manchester1 05 Hyena1 81 8-12 FG:Belmont|66 1 417 Uulmm/Maahyeelylk1 05 Hyena1 41 4-11 FG:Dupont|66 2 2019 Eeyenjylk/Thutynaen1 05 Hyena2 202 20-9 FG:Bois|66 2 1920 Gohallruu/Ylkghemylk1 05 Hyena2 192 19-13 FG:Barbados|66 1 614 Maeell/Guhruee1 09 Plowshare1 61 6-16 FG:Nostradamus|66 1 214 Maeell/Guhruee1 09 Plowshare1 21 2-12 FG:Baileys|69 2 2417 Maeell/Eiluulghem1 05 Hyena2 132 139 Plowshare2 112 11-9 FG:Ares|66 2 1218 Eilthut/Yeelruyeel1 05 Hyena2 122 12-12 FG:Bellamy|66 2 1715 Ibzazz/Izztkaan1 05 Hyena2 172 17-16 FG:Wisenheimer|66 2 1516 Bzzeen/Tlzeenazz1 05 Hyena2 152 15-10 FG:Barry|66 2 1616 Bzzeen/Azzkabahb1 05 Hyena2 162 16-11 FG:Dailey|66 1 919 Aantlbzz/Pzezizzahb1 09 Plowshare1 91 9-14 FG:Cornelius|66 2 1612 Bztutpt/Kabz1 05 Hyena2 162 16-13 FG:Mortimer|66 2 1410 Ahbz/Tkztl1 09 Plowshare2 142 14-12 FG:Yankees|66 2 1416 Zzyqqh/Kabizzazz1 09 Plowshare2 142 14-10 FG:Spuds|66 2 1611 Ibzazz/Pttl1 05 Hyena2 162 16-17 FG:Schopenhauer|66 2 1321 Pzzaztahber/Azzkabazz1 05 Hyena2 132 13-11 FG:Abbott|66 2 2011 Ahbz/Izztlz1 05 Hyena2 202 20-9 FG:Apep|66 1 917 Pzzaztahber/Aantl1 05 Hyena1 91 9-12 FG:Elliott|66 2 1419 Aantlbzz/Yqqhkabazz1 05 Hyena2 142 14-10 FG:Hamey|66 2 1618 Ahbzeentk/Ptaankab1 09 Plowshare2 162 16-9 FG:Celt|66 1 819 Ailzzptpt/Pzezzzeen1 05 Hyena1 81 8-12 FG:Matthew|66 1 918 Ailzzptpt/Kabahbpt1 05 Hyena1 91 9-11 FG:Richey|66 1 711 Ohzzz/Zpttl1 09 Plowshare1 71 7-12 FG:O'Leary|66 1 520 Pzzaztahber/Bzzahbpt1 05 Hyena1 51 5-10 FG:Keats|66 2 1816 Aantlbzz/Bzztktl1 05 Hyena2 182 18-12 FG:Teletex|66 1 718 Eebzpt/Yqqhaanzeen1 05 Hyena1 71 7-11 FG:Brigit|66 1 721 Tutbzzaz/Patrick_67111 09 Plowshare1 71 7-11 FG:Pappas|66 2 1320 Caldera/Patrick_69501 05 Hyena2 132 13-13 FG:November|66 2 1220 Caldera/Patrick_59281 09 Plowshare2 122 12-15 FG:Diplodocus|66 2 1020 Caldera/Patrick_59281 09 Plowshare2 102 10-9 FG:Lars|66 1 516 Izzptipt/Tlbzzpt1 05 Hyena1 51 5-12 FG:Thurber|66 1 916 Izzptipt/Aanbzzz1 05 Hyena1 91 9-12 FG:Hopkins|66 2 1716 Izzptipt/Ptzyqqh1 05 Hyena2 172 17-12 FG:Roberts|66 2 1918 Thanatos/Mu_cephei1 09 Plowshare2 192 19-10 FG:Vaduz|66 2 1725 Redemption/New_Sacramento1 09 Plowshare2 172 17-9 FG:Ritz|66 2 1816 Ingatwa/Tlaanahb1 05 Hyena2 182 18-15 FG:Madagascar|66 2 1817 Ingatwa/Azzzeentl1 09 Plowshare2 182 18-17 FG:Andersen_AFB|16 1 115 Ibzazz/Zeenzaan1 08 Lancelot1 11 1-14 SS:Sol/LOWNE_226 0 0 0 0 0 0 0 0 0 0 16 Base_Sol/LOWNE_20 0 0 0 0 0 0 0 0 0 0 0 0 0 16 Bonnie|Bernstein-14 FG:Lavandula|36 2 2014 Sol/Zeta_Lepus1 010 Zhuangzong2 202 20-31 FG:Base_Pzzaztahber/Zeenptaan|36 1 121 Pzzaztahber/Zeenptaan1 012 starfortress1 11 1-28 FG:Base_Aantlbzz/Ptahbyqqh|36 1 218 Aantlbzz/Ptahbyqqh1 05 relay1 21 2-32 FG:Base_Pzzaztahber/Tkpzezyqqh|36 1 122 Pzzaztahber/Tkpzezyqqh1 07 outpost1 11 1-22 FG:Base_Ahbz/Tlptkab|39 1 212 Ahbz/Tlptkab1 07 outpost1 11 17 factory1 11 1-30 FG:Base_Pzzaztahber/Pzeztltk|36 1 120 Pzzaztahber/Pzeztltk1 012 starfortress1 11 1-30 FG:Base_Pzzaztahber/Tkkabaan|39 1 220 Pzzaztahber/Tkkabaan1 015 commerce_center1 11 110 MiningBase1 11 1-27 FG:Base_Bzzeen/Zeenizzahb|39 1 217 Bzzeen/Zeenizzahb1 07 factory1 11 15 relay1 11 1-30 FG:Base_Ailzzptpt/Zeenahbaan|36 1 120 Ailzzptpt/Zeenahbaan1 010 MiningBase1 11 1-16 FG:Sempervivum|36 2 1019 Ailzzptpt/Ahbazzbzz1 07 Taizong2 102 10-18 FG:Hymenorebutia|36 1 320 Ailzzptpt/Izzbzzyqqh1 07 Taizong1 31 3-30 FG:Base_Ailzzptpt/Izzbzzyqqh|312 1 420 Ailzzptpt/Izzbzzyqqh1 07 factory1 21 210 MiningBase1 11 18 refinery1 11 1-26 FG:Base_Eebzpt/Kabbzzkab|36 1 216 Eebzpt/Kabbzzkab1 010 MiningBase1 21 2-25 FG:Base_Ibpzez/Azzahbtl|315 1 415 Ibpzez/Azzahbtl1 07 factory1 11 17 medical1 11 18 refinery1 11 110 MiningBase1 11 1-28 FG:Base_Ahbzeentk/Azztlkab|315 1 418 Ahbzeentk/Azztlkab1 07 factory1 11 17 medical1 11 18 refinery1 11 18 research1 11 1-24 FG:Base_Ibpzez/Yqqhztk|39 1 214 Ibpzez/Yqqhztk1 016 fighter_barracks1 11 15 relay1 11 1-25 FG:Base_Ibpzez/Zaanzeen|36 1 115 Ibpzez/Zaanzeen1 08 refinery1 11 1-10 FG:Lodia|36 2 1716 Ibpzez/Kabpzeztk1 07 Taizong2 172 17-26 FG:Base_Ibpzez/Kabpzeztk|39 1 216 Ibpzez/Kabpzeztk1 07 factory1 11 116 fighter_barracks1 11 1-25 FG:Ratibida_columnifera|36 2 2015 Ibpzez/Ahbtlbzz1 07 Taizong2 202 20-26 FG:Astroworthia_skinneri|36 2 1415 Ibpzez/Ahbtlbzz1 05 Shizu2 142 14-22 FG:Larrea_tridentata|36 1 617 Eebzpt/Aanbzzpzez1 05 Shizu1 61 6-32 FG:Base_Bzzahbtktk/Pzezzeenahb|36 1 122 Bzzahbtktk/Pzezzeenahb1 07 outpost1 11 1-25 FG:Base_Aantutpt/Kabahb|36 1 115 Aantutpt/Kabahb1 07 outpost1 11 1-16 FG:Neochilenia|36 1 118 Aantlbzz/Pzeztlkab1 05 Shizu1 11 1-28 FG:Base_Aantlbzz/Pzeztlkab|318 1 518 Aantlbzz/Pzeztlkab1 012 starfortress1 11 15 relay1 11 115 commerce_center1 11 17 medical1 11 110 MiningBase1 11 1-27 FG:Base_Aantutpt/Tlbzzahb|36 1 117 Aantutpt/Tlbzzahb1 07 factory1 11 1-22 FG:Sambucus_mexicana|36 1 517 Aantutpt/Kabazztk1 05 Shizu1 51 5-27 FG:Base_Aantutpt/Kabazztk|39 1 217 Aantutpt/Kabazztk1 08 refinery1 11 15 relay1 11 1-29 FG:Base_Aantutpt/Bzzzeenaan|39 1 319 Aantutpt/Bzzzeenaan1 08 refinery1 21 27 medical1 11 1-23 FG:Base_Aantutpt/Zeen|39 1 213 Aantutpt/Zeen1 05 relay1 11 112 starfortress1 11 1-18 FG:Argyranthemum|39 2 1816 Aantutpt/Kabbzzz1 07 Taizong2 172 176 shundi1 11 1-23 FG:Glechoma_hederacea|36 2 1516 Aantutpt/Kabbzzz1 05 Shizu2 152 15-15 FG:Conophytum|36 1 317 Aantlbzz/Kabptbzz1 05 Shizu1 31 3-26 FG:Base_Ibpzez/Bzzptzeen|312 1 316 Ibpzez/Bzzptzeen1 016 fighter_barracks1 11 17 outpost1 11 110 MiningBase1 11 1-12 FG:Opuntia|36 1 318 Ibpzez/Zeenizzpzez1 010 Zhuangzong1 31 3-14 FG:Cumarinia|36 2 1218 Bzzahbtktk/Yqqhztl1 05 Shizu2 122 12-28 FG:Base_Bzzahbtktk/Yqqhztl|36 1 118 Bzzahbtktk/Yqqhztl1 010 MiningBase1 11 1-23 FG:Erythrophysa_alata|36 1 517 Bzzahbtktk/Ztlaan1 010 Zhuangzong1 51 5-27 FG:Base_Bzzahbtktk/Ztlaan|36 1 117 Bzzahbtktk/Ztlaan1 08 refinery1 11 1-30 FG:Base_Bzzahbtktk/Tlpzezaan|312 1 320 Bzzahbtktk/Tlpzezaan1 07 outpost1 11 18 refinery1 11 17 factory1 11 1-12 FG:Navajoa|36 2 1421 Bzzahbtktk/Kabizzyqqh1 010 Zhuangzong2 142 14-31 FG:Base_Bzzahbtktk/Kabizzyqqh|39 1 221 Bzzahbtktk/Kabizzyqqh1 08 refinery1 11 116 fighter_barracks1 11 1-31 FG:Base_Bzzahbtktk/Ahbpzezahb|36 1 121 Bzzahbtktk/Ahbpzezahb1 08 refinery1 11 1-27 FG:Base_Ingatwa/Bzzazzaan|39 1 217 Ingatwa/Bzzazzaan1 010 MiningBase1 11 116 fighter_barracks1 11 1-29 FG:Base_Miyeeldah/Ahbizzaan|39 1 219 Miyeeldah/Ahbizzaan1 05 relay1 11 17 medical1 11 1-21 FG:Kniphofia_uvaria|36 2 2018 Miyeeldah/Tlahbkab1 05 Shizu2 202 20-28 FG:Base_Miyeeldah/Tlahbkab|39 1 218 Miyeeldah/Tlahbkab1 05 relay1 11 115 commerce_center1 11 1-15 FG:Eberlanzia|36 2 1315 Ahbz/Yqqhtlpzez1 010 Zhuangzong2 132 13-24 FG:Base_Ahbz/Ptaanzeen|39 1 214 Ahbz/Ptaanzeen1 07 outpost1 11 115 commerce_center1 11 1-22 FG:Base_Ahbz/Tkkabtk|312 1 312 Ahbz/Tkkabtk1 010 MiningBase1 11 15 relay1 11 17 factory1 11 1-24 FG:Base_Ahbz/Tkkabzeen|39 1 214 Ahbz/Tkkabzeen1 016 fighter_barracks1 11 18 refinery1 11 1-10 FG:Sedum|39 2 1320 Aantlbzz/Azzyqqhzeen1 05 Shizu2 122 126 shundi1 11 1-30 FG:Base_Aantlbzz/Azzyqqhzeen|36 1 120 Aantlbzz/Azzyqqhzeen1 08 research1 11 1-31 FG:Base_Pzzaztahber/Azzaanahb|39 1 221 Pzzaztahber/Azzaanahb1 010 MiningBase1 11 17 factory1 11 1-25 FG:Veltheimia_bracteata|36 2 1519 Pzzaztahber/Tkzpzez1 05 Shizu2 152 15-27 FG:Base_Pzzaztahber/Ptahb|39 1 217 Pzzaztahber/Ptahb1 07 medical1 11 18 refinery1 11 1-24 FG:Base_Pzzaztahber/Tl|312 1 314 Pzzaztahber/Tl1 012 starfortress1 11 15 relay1 11 18 refinery1 11 1-30 FG:Base_Aantlbzz/Aanpzezyqqh|36 1 120 Aantlbzz/Aanpzezyqqh1 07 medical1 11 1-26 FG:Base_Aantlbzz/Bzzzahb|39 1 216 Aantlbzz/Bzzzahb1 010 MiningBase1 11 18 refinery1 11 1-26 FG:Dalechampia_roezliana|39 2 1018 Aantlbzz/Ptyqqhkab1 07 Taizong1 91 96 huldra1 11 1-23 FG:Eupatorium_greggii|39 1 818 Aantlbzz/Ptyqqhkab1 05 Shizu1 71 76 huldra1 11 1-28 FG:Base_Aantlbzz/Ptyqqhkab|39 1 218 Aantlbzz/Ptyqqhkab1 07 outpost1 11 110 MiningBase1 11 1-26 FG:Base_Ibzazz/Yqqhkabtl|315 1 516 Ibzazz/Yqqhkabtl1 016 fighter_barracks1 11 17 outpost1 21 25 relay1 11 115 commerce_center1 11 1-23 FG:Nemophila_maculata|36 2 1517 Ibzazz/Tkpzezzeen1 05 Shizu2 152 15-27 FG:Base_Ibzazz/Tkpzezzeen|39 1 217 Ibzazz/Tkpzezzeen1 016 fighter_barracks1 11 18 research1 11 1-25 FG:Base_Ibzazz/Bzzzyqqh|318 1 515 Ibzazz/Bzzzyqqh1 07 factory1 11 15 relay1 11 18 refinery1 11 17 medical1 11 116 fighter_barracks1 11 1-30 FG:Base_Miyeeldah/Aanahbyqqh|39 1 220 Miyeeldah/Aanahbyqqh1 07 medical1 11 112 starfortress1 11 1-17 FG:Pachidendron|36 1 723 Pzzaztahber/Pzezyqqhbzz1 05 Shizu1 71 7-14 FG:Angolluma|36 1 420 Pzzaztahber/Aankabtk1 07 Taizong1 41 4-30 FG:Base_Pzzaztahber/Aankabtk|36 1 120 Pzzaztahber/Aankabtk1 010 MiningBase1 11 1-17 FG:Testudinaria|39 2 1017 Aantlbzz/Bzzkabtl1 010 Zhuangzong1 91 96 shundi1 11 1-27 FG:Base_Aantlbzz/Bzzkabtl|39 1 217 Aantlbzz/Bzzkabtl1 010 MiningBase1 11 112 starfortress1 11 1-20 FG:Dillenia_indica|36 2 1618 Aantlbzz/Aantkyqqh1 010 Zhuangzong2 162 16-28 FG:Base_Aantlbzz/Aantkyqqh|36 1 118 Aantlbzz/Aantkyqqh1 010 MiningBase1 11 1-20 FG:Ziziphus_jujuba|36 1 419 Bztutpt/Zeenazzzeen1 05 Shizu1 41 4-29 FG:Base_Bztutpt/Zeenazzzeen|36 1 119 Bztutpt/Zeenazzzeen1 05 relay1 11 1-25 FG:Base_Aantlbzz/Bzzaan|36 1 315 Aantlbzz/Bzzaan1 07 outpost1 31 3-11 FG:Wittia|36 2 1518 Tutbzzaz/Azzzeenpt1 010 Zhuangzong2 152 15-16 FG:Carum_carvi|36 1 717 Tutbzzaz/Azzzyqqh1 05 Shizu1 71 7-27 FG:Base_Tutbzzaz/Azzzyqqh|36 1 117 Tutbzzaz/Azzzyqqh1 012 starfortress1 11 1-16 FG:Mammillaria|39 2 1218 Tutbzzaz/Kabazzizz1 010 Zhuangzong2 112 116 shundi1 11 1-27 FG:Base_Tutbzzaz/Zyqqhkab|315 1 417 Tutbzzaz/Zyqqhkab1 08 research1 11 15 relay1 11 116 fighter_barracks1 11 115 commerce_center1 11 1-13 FG:Abutilon|36 1 517 Tutbzzaz/Ptyqqhtl1 07 Taizong1 51 5-27 FG:Base_Tutbzzaz/Ptyqqhtl|39 1 217 Tutbzzaz/Ptyqqhtl1 010 MiningBase1 11 18 research1 11 1-11 FG:Islaya|36 1 115 Eebzpt/Zpzezkab1 07 Taizong1 11 1-25 FG:Base_Eebzpt/Zpzezkab|312 1 315 Eebzpt/Zpzezkab1 08 research1 11 110 MiningBase1 11 112 starfortress1 11 1-24 FG:Base_Ibpzez/Tkzzeen|39 1 214 Ibpzez/Tkzzeen1 016 fighter_barracks1 11 18 refinery1 11 1-12 FG:Othonna|36 2 1515 Ibpzez/Ptkabizz1 010 Zhuangzong2 152 15-26 FG:Base_Ahbzeentk/Zptkab|36 1 116 Ahbzeentk/Zptkab1 07 medical1 11 1-22 FG:Base_Ibpzez/Bzztl|39 1 212 Ibpzez/Bzztl1 08 refinery1 11 17 factory1 11 1-25 FG:Lapidaria_margaretae|36 2 1813 Ohzzz/Bzzazzz1 05 Shizu2 182 18-27 FG:Base_Ibpzez/Zeenptzeen|312 1 517 Ibpzez/Zeenptzeen1 07 outpost1 11 15 relay1 21 210 MiningBase1 21 2-29 FG:Base_Ahbzeentk/Zeentlahb|39 1 219 Ahbzeentk/Zeentlahb1 010 MiningBase1 11 17 medical1 11 1-24 FG:Base_Ibpzez/Zkabahb|312 1 314 Ibpzez/Zkabahb1 08 research1 11 116 fighter_barracks1 11 17 outpost1 11 1-25 FG:Base_Ailzzptpt/Ztktl|39 1 215 Ailzzptpt/Ztktl1 05 relay1 11 17 outpost1 11 1-29 FG:Base_Ailzzptpt/Tlkabyqqh|39 1 219 Ailzzptpt/Tlkabyqqh1 010 MiningBase1 11 17 outpost1 11 1-24 FG:Base_Ohzzz/Tlptyqqh|39 1 214 Ohzzz/Tlptyqqh1 05 relay1 11 17 outpost1 11 1-11 FG:Cantua|36 2 1614 Ohzzz/Tkkabazz1 07 Taizong2 162 16-10 FG:Pilea|39 2 1116 Eebzpt/Yqqhizztl1 010 Zhuangzong2 102 106 shundi1 11 1-26 FG:Base_Eebzpt/Yqqhizztl|36 1 116 Eebzpt/Yqqhizztl1 016 fighter_barracks1 11 1-24 FG:Base_Eebzpt/Pttkkab|315 1 514 Eebzpt/Pttkkab1 08 refinery1 21 210 MiningBase1 11 115 commerce_center1 11 17 medical1 11 1-16 FG:Bryophyllum|36 1 520 Bzzahbtktk/Zeentlaan1 05 Shizu1 51 5-15 FG:Oliverella|36 2 1120 Bzzahbtktk/Zeentlaan1 05 Shizu2 112 11-30 FG:Base_Bzzahbtktk/Zeentlaan|39 1 220 Bzzahbtktk/Zeentlaan1 07 medical1 11 18 research1 11 1-29 FG:Base_Bzzahbtktk/Ahbkabtl|36 1 119 Bzzahbtktk/Ahbkabtl1 016 fighter_barracks1 11 1-26 FG:Base_Eebzpt/Kabazzahb|315 1 416 Eebzpt/Kabazzahb1 05 relay1 11 116 fighter_barracks1 11 17 outpost1 11 17 factory1 11 1-25 FG:Base_Eebzpt/Izzbzztl|324 1 915 Eebzpt/Izzbzztl1 016 fighter_barracks1 11 110 MiningBase1 11 17 factory1 11 17 medical1 11 18 refinery1 21 212 starfortress1 21 25 relay1 11 1-13 FG:Aztekium|36 2 1513 Eebzpt/Zyqqhz1 05 Shizu2 152 15-21 FG:Mammea_americana|36 2 1118 Eebzpt/Yqqhpzezazz1 07 Taizong2 112 11-20 FG:Fatsia_japonica|36 2 1318 Tutbzzaz/Pzezizztk1 07 Taizong2 132 13-28 FG:Base_Tutbzzaz/Pzezizztk|39 1 218 Tutbzzaz/Pzezizztk1 08 refinery1 11 116 fighter_barracks1 11 1-29 FG:Base_Izzptipt/Pzezyqqhtk|315 1 519 Izzptipt/Pzezyqqhtk1 07 outpost1 11 116 fighter_barracks1 11 15 relay1 21 27 factory1 11 1-26 FG:Spathoglottis_plicata|39 1 718 Izzptipt/Aanpzeztk1 07 Taizong1 61 66 huldra1 11 1-28 FG:Base_Izzptipt/Aanpzeztk|39 1 218 Izzptipt/Aanpzeztk1 07 outpost1 11 115 commerce_center1 11 1-24 FG:Base_Izzptipt/Aantk|36 1 114 Izzptipt/Aantk1 012 starfortress1 11 1-12 FG:Friesia|39 2 1019 Izzptipt/Zeenazzizz1 07 Taizong1 91 96 shundi1 11 1-17 FG:Cinnabarinea|36 2 1320 Izzptipt/Yqqhkabyqqh1 010 Zhuangzong2 132 13-30 FG:Base_Izzptipt/Yqqhkabyqqh|315 1 720 Izzptipt/Yqqhkabyqqh1 08 refinery1 21 27 outpost1 21 210 MiningBase1 21 215 commerce_center1 11 1-23 FG:Base_Bzzahbtktk/Tk|312 1 513 Bzzahbtktk/Tk1 010 MiningBase1 21 27 outpost1 21 216 fighter_barracks1 11 1-12 FG:Hereroa|39 1 615 Eebzpt/Azztlahb1 07 Taizong1 51 56 huldra1 11 1-25 FG:Base_Eebzpt/Azztlahb|36 1 115 Eebzpt/Azztlahb1 07 medical1 11 1-28 FG:Chasmanthium_latifolium|36 1 717 Bzzahbtktk/Aanaan1 07 Taizong1 71 7-27 FG:Base_Bzzahbtktk/Aanaan|36 1 117 Bzzahbtktk/Aanaan1 07 factory1 11 1-25 FG:Fortunella_margarita|36 2 1714 Bzzahbtktk/Azz1 05 Shizu2 172 17-29 FG:Base_Bztutpt/Izzyqqhzeen|36 1 219 Bztutpt/Izzyqqhzeen1 08 refinery1 21 2-24 FG:Base_Bztutpt/Ztkaan|36 1 114 Bztutpt/Ztkaan1 07 factory1 11 1-24 FG:Base_Ahbz/Yqqhazztk|39 1 214 Ahbz/Yqqhazztk1 07 factory1 11 18 refinery1 11 1-25 FG:Base_Ahbz/Pzezaanahb|39 1 215 Ahbz/Pzezaanahb1 016 fighter_barracks1 11 110 MiningBase1 11 1-24 FG:Base_Ahbz/Zpzezzeen|39 1 214 Ahbz/Zpzezzeen1 08 refinery1 11 112 starfortress1 11 1-32 FG:Base_Pzzaztahber/Aanzeenahb|39 1 222 Pzzaztahber/Aanzeenahb1 08 refinery1 11 110 MiningBase1 11 1-17 FG:Neobinghamia|36 1 120 Miyeeldah/Yqqhptzeen1 010 Zhuangzong1 11 1-30 FG:Base_Miyeeldah/Yqqhptzeen|36 1 220 Miyeeldah/Yqqhptzeen1 05 relay1 21 2-24 FG:Base_Ibzazz/Zahbkab|36 1 114 Ibzazz/Zahbkab1 08 refinery1 11 1-15 FG:Eremophila|39 2 1317 Ibzazz/Aanzeenizz1 07 Taizong2 122 126 huldra1 11 1-27 FG:Base_Ibzazz/Izzpzezkab|321 1 717 Ibzazz/Izzpzezkab1 07 outpost1 11 116 fighter_barracks1 11 17 factory1 11 18 refinery1 11 15 relay1 21 215 commerce_center1 11 1-28 FG:Base_Ibzazz/Pzezahbyqqh|312 1 318 Ibzazz/Pzezahbyqqh1 07 outpost1 11 110 MiningBase1 11 15 relay1 11 1-28 FG:Base_Ibzazz/Kabpzezyqqh|36 1 218 Ibzazz/Kabpzezyqqh1 08 refinery1 21 2-25 FG:Base_Ibzazz/Bzztkkab|312 1 415 Ibzazz/Bzztkkab1 012 starfortress1 11 15 relay1 21 28 refinery1 11 1-25 FG:Base_Zzyqqh/Yqqhzaan|315 1 415 Zzyqqh/Yqqhzaan1 016 fighter_barracks1 11 17 outpost1 11 115 commerce_center1 11 17 medical1 11 1-24 FG:Chromolaena_odorata|39 2 1315 Bzzeen/Zeenpttl1 05 Shizu2 122 126 huldra1 11 1-25 FG:Base_Bzzeen/Zeenpttl|39 1 215 Bzzeen/Zeenpttl1 08 research1 11 115 commerce_center1 11 1-23 FG:Chamaemelum_nobile|36 1 114 Bzzeen/Pzezbzz1 05 Shizu1 11 1-34 FG:Base_Pzzaztahber/Yqqhpzezyqqh|36 1 324 Pzzaztahber/Yqqhpzezyqqh1 07 medical1 31 3-23 FG:Prunella_laciniata|36 2 1413 Bzzeen/Izzazz1 010 Zhuangzong2 142 14-13 FG:Didierea|36 2 1018 Bzzeen/Pzezzeenkab1 010 Zhuangzong2 102 10-28 FG:Base_Bzzeen/Pzezzeenkab|36 1 118 Bzzeen/Pzezzeenkab1 08 research1 11 1-33 FG:Base_Pzzaztahber/Zeenyqqhaan|312 1 323 Pzzaztahber/Zeenyqqhaan1 07 medical1 11 18 refinery1 11 15 relay1 11 1-14 FG:Wilmattea|36 1 719 Aantlbzz/Zeenahbizz1 07 Taizong1 71 7-29 FG:Base_Aantlbzz/Yqqhbzzaan|39 1 219 Aantlbzz/Yqqhbzzaan1 05 relay1 11 17 outpost1 11 1-27 FG:Base_Aantlbzz/Zpzezaan|39 1 217 Aantlbzz/Zpzezaan1 08 refinery1 11 110 MiningBase1 11 1-29 FG:Base_Aantutpt/Aankabyqqh|36 1 219 Aantutpt/Aankabyqqh1 010 MiningBase1 21 2-13 FG:Wilcoxia|36 2 1518 Ahbzeentk/Ahbzzeen1 05 Shizu2 152 15-28 FG:Base_Ahbzeentk/Ahbzzeen|39 1 218 Ahbzeentk/Ahbzzeen1 015 commerce_center1 11 110 MiningBase1 11 1-23 FG:Spilanthes_acmella|36 2 1520 Ahbzeentk/Yqqhaanbzz1 010 Zhuangzong2 152 15-27 FG:Base_Ahbzeentk/Izzzkab|315 1 517 Ahbzeentk/Izzzkab1 07 factory1 11 17 medical1 11 17 outpost1 21 210 MiningBase1 11 1-15 FG:Floribunda|36 2 1017 Ahbzeentk/Izzzbzz1 05 Shizu2 102 10-17 FG:Canna_indica|39 2 1817 Ahbzeentk/Izzzbzz1 07 Taizong2 172 176 shundi1 11 1-30 FG:Base_Ahbzeentk/Zeenazzaan|318 1 720 Ahbzeentk/Zeenazzaan1 015 commerce_center1 11 18 research1 31 38 refinery1 11 17 factory1 11 17 outpost1 11 1-29 FG:Base_Ahbzeentk/Azztlyqqh|36 1 119 Ahbzeentk/Azztlyqqh1 08 refinery1 11 1-28 FG:Base_Ahbzeentk/Azzizztl|36 1 218 Ahbzeentk/Azzizztl1 05 relay1 21 2-20 FG:Cirsium_vulgare|36 1 920 Ahbzeentk/Zeenizzbzz1 010 Zhuangzong1 91 9-17 FG:Vincetoxicum|36 2 1815 Ahbzeentk/Zahbz1 07 Taizong2 182 18-13 FG:Espostoa|36 2 1220 Ahbzeentk/Ahbizzzeen1 07 Taizong2 122 12-22 FG:Tamarindus_indica|36 2 1220 Ahbzeentk/Ahbizzzeen1 07 Taizong2 122 12-30 FG:Base_Ahbzeentk/Ahbizzzeen|39 1 220 Ahbzeentk/Ahbizzzeen1 08 research1 11 17 medical1 11 1-27 FG:Base_Aantutpt/Pzezzeen|39 1 217 Aantutpt/Pzezzeen1 010 MiningBase1 11 17 outpost1 11 1-28 FG:Base_Aantutpt/Yqqhtkkab|39 1 318 Aantutpt/Yqqhtkkab1 07 medical1 21 27 outpost1 11 1-30 FG:Myrtgerocactus_?_lindsayi|39 2 1418 Aantutpt/Aanptyqqh1 07 Taizong2 132 136 huldra1 11 1-24 FG:Matelea_cyclophylla|36 2 1418 Aantutpt/Aanptyqqh1 07 Taizong2 142 14-28 FG:Base_Aantutpt/Aanptyqqh|315 1 818 Aantutpt/Aanptyqqh1 07 outpost1 31 37 factory1 21 28 refinery1 21 27 medical1 11 1-25 FG:Base_Bzzeen/Izzaantl|39 1 215 Bzzeen/Izzaantl1 016 fighter_barracks1 11 110 MiningBase1 11 1-9 FG:Puna|39 1 315 Aantutpt/Ztlahb1 05 Shizu1 21 26 shundi1 11 1-25 FG:Base_Aantutpt/Ztlahb|39 1 315 Aantutpt/Ztlahb1 010 MiningBase1 11 15 relay1 21 2-14 FG:Cotyledon|36 1 819 Aantutpt/Ahbkabzeen1 05 Shizu1 81 8-29 FG:Base_Aantutpt/Ahbkabzeen|36 1 219 Aantutpt/Ahbkabzeen1 05 relay1 21 2-15 FG:Calliandra|36 2 1615 Aantutpt/Kabztl1 05 Shizu2 162 16-25 FG:Base_Aantutpt/Kabztl|39 1 215 Aantutpt/Kabztl1 016 fighter_barracks1 11 15 relay1 11 1-23 FG:Bidens_ferulifolia|36 2 1419 Aantutpt/Izzahbzeen1 07 Taizong2 142 14-29 FG:Base_Aantutpt/Izzahbzeen|36 1 119 Aantutpt/Izzahbzeen1 07 factory1 11 1-28 FG:Pritchardia_eriostachya|36 2 1620 Aantutpt/Aanyqqhzeen1 05 Shizu2 162 16-30 FG:Base_Aantutpt/Aanyqqhzeen|39 1 320 Aantutpt/Aanyqqhzeen1 07 factory1 11 116 fighter_barracks1 21 2-28 FG:Base_Aantutpt/Ptzeenahb|39 1 218 Aantutpt/Ptzeenahb1 07 factory1 11 112 starfortress1 11 1-15 FG:Dasylirion|36 1 618 Ahbzeentk/Pttlyqqh1 05 Shizu1 61 6-28 FG:Base_Ahbzeentk/Pttlyqqh|312 1 618 Ahbzeentk/Pttlyqqh1 07 outpost1 21 210 MiningBase1 31 315 commerce_center1 11 1-30 FG:Base_Aantutpt/Yqqhzeenahb|36 1 120 Aantutpt/Yqqhzeenahb1 07 outpost1 11 1-23 FG:Agrostemma_githago|36 1 418 Aantutpt/Tkbzzyqqh1 010 Zhuangzong1 41 4-13 FG:Lonicera|36 2 1218 Aantutpt/Tkbzzyqqh1 07 Taizong2 122 12-28 FG:Base_Aantutpt/Tkbzzyqqh|36 1 118 Aantutpt/Tkbzzyqqh1 08 research1 11 1-23 FG:Obregonia_denegrii|36 2 1917 Bzzeen/Zeenyqqhpt1 07 Taizong2 192 19-28 FG:Base_Pzzaztahber/Zbzztk|315 1 518 Pzzaztahber/Zbzztk1 07 medical1 11 15 relay1 21 28 research1 11 110 MiningBase1 11 1-32 FG:Parthenocissus_quinquefolia|36 2 1220 Pzzaztahber/Aantkbzz1 010 Zhuangzong2 122 12-25 FG:Mascagnia_macroptera|36 1 717 Bzzeen/Bzzyqqhaan1 010 Zhuangzong1 71 7-27 FG:Base_Bzzeen/Bzzyqqhaan|39 1 217 Bzzeen/Bzzyqqhaan1 08 refinery1 11 110 MiningBase1 11 1-27 FG:Anacardium_occidentale|36 1 818 Bzzeen/Ahbyqqhzeen1 010 Zhuangzong1 81 8-28 FG:Base_Bzzeen/Ahbyqqhzeen|36 1 118 Bzzeen/Ahbyqqhzeen1 015 commerce_center1 11 1-26 FG:Base_Bzzeen/Ptizzyqqh|318 1 816 Bzzeen/Ptizzyqqh1 015 commerce_center1 31 37 medical1 21 210 MiningBase1 11 15 relay1 11 18 research1 11 1-17 FG:Zehntnerella|36 2 1817 Zzyqqh/Kabpzezahb1 010 Zhuangzong2 182 18-27 FG:Base_Zzyqqh/Kabpzezahb|312 1 317 Zzyqqh/Kabpzezahb1 015 commerce_center1 11 15 relay1 11 116 fighter_barracks1 11 1-28 FG:Base_RBL-13/Pzezyqqhkab|36 1 118 RBL-13/Pzezyqqhkab1 08 research1 11 1-26 FG:Base_Ibzazz/Izzaanahb|39 1 216 Ibzazz/Izzaanahb1 07 factory1 11 110 MiningBase1 11 1-15 FG:Ophiopogon|36 2 1414 Ibzazz/Ptbzztk1 07 Taizong2 142 14-24 FG:Base_Ibzazz/Ptbzztk|39 1 414 Ibzazz/Ptbzztk1 012 starfortress1 31 38 refinery1 11 1-14 FG:Lepismium|36 2 1121 Miyeeldah/Pzezyqqhaan1 010 Zhuangzong2 112 11-31 FG:Base_Miyeeldah/Pzezyqqhaan|312 1 321 Miyeeldah/Pzezyqqhaan1 012 starfortress1 11 15 relay1 11 17 outpost1 11 1-14 FG:Penstemon|36 2 1119 Miyeeldah/Azzbzzizz1 010 Zhuangzong2 112 11-20 FG:Galax_urceolata|36 2 1618 Ouulneh/Nethuulylk1 05 Shizu2 162 16-12 FG:Tunilla|36 2 1420 Gohallruu/Aennethuul1 07 Taizong2 142 14-10 FG:Ajuga|36 1 919 Eeyenjylk/Uulthutee1 05 Shizu1 91 9-20 FG:Kochia_scoparia|36 1 421 Eeyenjylk/Thutnethmah1 010 Zhuangzong1 41 4-12 FG:Lantana|36 2 1919 Eeyenjylk/Guhaengoh1 010 Zhuangzong2 192 19-10 FG:Malva|36 2 1323 Gohthuhthuh/Gohnethmaah1 05 Shizu2 132 13-30 FG:Dichorisandra_thyrsiflora|36 1 417 Maeell/Nethrughem1 07 Taizong1 41 4-20 FG:Zebrina_pendula|36 1 714 Iyn/Aeneilthut1 07 Taizong1 71 7-18 FG:Escobrittonia|36 2 1317 Maeell/Dahghemeil1 05 Shizu2 132 13-27 FG:Zamioculcas_zamiifolia|36 1 714 Uulmm/Ynylkmah1 05 Shizu1 71 7-15 FG:Beaucarnea|36 2 1418 Uumghemm/Dahuuldah1 05 Shizu2 142 14-16 FG:Chenopodium|36 2 1919 Thuhtmaah/Ynguhneth1 07 Taizong2 192 19-26 FG:Base_Miyeeldah/Pttltk|39 1 216 Miyeeldah/Pttltk1 05 relay1 11 115 commerce_center1 11 1-30 FG:Base_Miyeeldah/Azzahbzeen|36 1 120 Miyeeldah/Azzahbzeen1 016 fighter_barracks1 11 1-29 FG:Base_Thuhtmaah/Tkizzyqqh|312 1 319 Thuhtmaah/Tkizzyqqh1 010 MiningBase1 11 17 medical1 11 116 fighter_barracks1 11 1-19 FG:Neomammillaria|36 2 1214 RBL-9/Tkbzzahb1 010 Zhuangzong2 122 12-24 FG:Base_RBL-9/Tkbzzahb|36 1 114 RBL-9/Tkbzzahb1 08 refinery1 11 1-26 FG:Porphyrocoma_pohliana|36 1 821 Thuhtmaah/Ahbpzezzeen1 07 Taizong1 81 8-31 FG:Base_Thuhtmaah/Ahbpzezzeen|36 1 121 Thuhtmaah/Ahbpzezzeen1 08 refinery1 11 1-15 FG:Eomatucana|36 1 218 Thuhtmaah/Tlbzzkab1 07 Taizong1 21 2-28 FG:Base_Thuhtmaah/Tlbzzkab|36 1 118 Thuhtmaah/Tlbzzkab1 07 outpost1 11 1-14 FG:Asplenium|36 1 916 Eilgohall/Khonsu1 05 Shizu1 91 9-27 FG:Base_Miyeeldah/Tkizztk|324 1 717 Miyeeldah/Tkizztk1 016 fighter_barracks1 11 18 research1 11 110 MiningBase1 11 115 commerce_center1 11 15 relay1 11 17 outpost1 11 18 refinery1 11 1-29 FG:Base_Miyeeldah/Tlbzzyqqh|36 1 119 Miyeeldah/Tlbzzyqqh1 05 relay1 11 1-21 FG:Acalypha_hispida|36 2 1918 Thuhtmaah/Bzzaanpt1 010 Zhuangzong2 192 19-12 FG:Catalpa|36 1 117 Thuhtmaah/Ptbzzpt1 05 Shizu1 11 1-28 FG:Base_Miyeeldah/Zzeenahb|36 1 118 Miyeeldah/Zzeenahb1 07 medical1 11 1-29 FG:Base_Miyeeldah/Yqqhbzztk|312 1 419 Miyeeldah/Yqqhbzztk1 05 relay1 21 216 fighter_barracks1 11 17 medical1 11 1-24 FG:Base_Miyeeldah/Tltk|36 1 114 Miyeeldah/Tltk1 08 refinery1 11 1-31 FG:Macrosiphonia_brachysiphon|39 1 621 Miyeeldah/Izzzeenyqqh1 07 Taizong1 51 56 shundi1 11 1-31 FG:Base_Miyeeldah/Izzzeenyqqh|39 1 321 Miyeeldah/Izzzeenyqqh1 07 factory1 21 28 research1 11 1-28 FG:Base_Ingatwa/Azzpzezahb|312 1 318 Ingatwa/Azzpzezahb1 07 outpost1 11 110 MiningBase1 11 15 relay1 11 1-15 FG:Passiflora|36 1 721 Redemption/Aanazzzeen1 05 Shizu1 71 7-31 FG:Base_Redemption/Aanazzzeen|318 1 521 Redemption/Aanazzzeen1 07 outpost1 11 18 refinery1 11 116 fighter_barracks1 11 112 starfortress1 11 15 relay1 11 1-31 FG:Base_Eilgohall/Zeenaanyqqh|36 1 121 Eilgohall/Zeenaanyqqh1 08 refinery1 11 1-11 FG:Nepeta|36 2 1318 Eilthut/Maahuuleil1 05 Shizu2 132 13-27 FG:Base_Bztutpt/Ptkabyqqh|36 1 117 Bztutpt/Ptkabyqqh1 07 outpost1 11 1-28 FG:Base_Bztutpt/Ahbazzzeen|312 1 518 Bztutpt/Ahbazzzeen1 07 outpost1 21 212 starfortress1 21 28 refinery1 11 1-24 FG:Base_Beckett/Tltktl|312 1 314 Beckett/Tltktl1 016 fighter_barracks1 11 15 relay1 11 18 research1 11 1-27 FG:Base_Beckett/Kabazzkab|36 1 117 Beckett/Kabazzkab1 015 commerce_center1 11 1-32 FG:Base_Bribztkaber/Kabazzyqqh|36 1 222 Bribztkaber/Kabazzyqqh1 010 MiningBase1 21 2-28 FG:Base_Bztutpt/Izzyqqhkab|36 1 118 Bztutpt/Izzyqqhkab1 016 fighter_barracks1 11 1-14 FG:Euphorbia|36 2 1213 Bztutpt/Ahbtl1 07 Taizong2 122 12-23 FG:Base_Bztutpt/Ahbtl|39 1 213 Bztutpt/Ahbtl1 016 fighter_barracks1 11 112 starfortress1 11 1-23 FG:Base_Bztutpt/Azztl|36 1 213 Bztutpt/Azztl1 05 relay1 21 2-13 FG:Marniera|36 1 319 Bribztkaber/Zahbaan1 010 Zhuangzong1 31 3-29 FG:Base_Bribztkaber/Zahbaan|36 1 119 Bribztkaber/Zahbaan1 08 refinery1 11 1-29 FG:Base_Bribztkaber/Bzzzaan|36 1 119 Bribztkaber/Bzzzaan1 05 relay1 11 1-14 FG:Portulaca|36 1 215 Bztutpt/Ptzzeen1 07 Taizong1 21 2-25 FG:Base_Bztutpt/Ptzzeen|312 1 315 Bztutpt/Ptzzeen1 05 relay1 11 18 research1 11 112 starfortress1 11 1-20 FG:Clarkia_tenella|36 1 220 Bzzahbtktk/Izztlyqqh1 05 Shizu1 21 2-30 FG:Base_Bzzahbtktk/Izztlyqqh|315 1 420 Bzzahbtktk/Izztlyqqh1 010 MiningBase1 11 17 factory1 11 18 refinery1 11 17 outpost1 11 1-28 FG:x_Pachyveria_clavifolia|36 1 317 Bztutpt/Izzkabaan1 010 Zhuangzong1 31 3-27 FG:Base_Bztutpt/Izzkabaan|315 1 417 Bztutpt/Izzkabaan1 08 research1 11 18 refinery1 11 110 MiningBase1 11 115 commerce_center1 11 1-25 FG:Base_Bztutpt/Tkkabtl|39 1 215 Bztutpt/Tkkabtl1 015 commerce_center1 11 17 outpost1 11 1-32 FG:Base_Bribztkaber/Yqqhtkyqqh|318 2 1022 Bribztkaber/Yqqhtkyqqh1 05 relay1 11 17 medical1 11 116 fighter_barracks1 41 47 outpost1 31 38 research1 11 1-14 FG:Byrsonima|36 2 1322 Bribztkaber/Pzeztkpzez1 07 Taizong2 132 13-23 FG:Carnegiea_gigantea|36 1 420 Bribztkaber/Ptizzahb1 010 Zhuangzong1 41 4-17 FG:Hildewintera|36 1 420 Bribztkaber/Ptizzahb1 010 Zhuangzong1 41 4-30 FG:Base_Bribztkaber/Ptizzahb|315 1 620 Bribztkaber/Ptizzahb1 08 refinery1 21 210 MiningBase1 11 15 relay1 21 27 factory1 11 1-30 FG:Base_Bribztkaber/Izzahbtl|39 1 320 Bribztkaber/Izzahbtl1 010 MiningBase1 21 28 refinery1 11 1-13 FG:Gasteria|36 2 1020 Bribztkaber/Azzahbtk1 010 Zhuangzong2 102 10-30 FG:Base_Bribztkaber/Azzahbtk|36 1 220 Bribztkaber/Azzahbtk1 05 relay1 21 2-29 FG:Base_Bribztkaber/Tktlaan|36 1 119 Bribztkaber/Tktlaan1 016 fighter_barracks1 11 1-30 FG:Base_Bribztkaber/Ptyqqhtk|324 1 920 Bribztkaber/Ptyqqhtk1 015 commerce_center1 11 112 starfortress1 11 17 outpost1 11 110 MiningBase1 31 35 relay1 11 116 fighter_barracks1 11 18 research1 11 1-30 FG:Base_Bribztkaber/Izztlaan|39 1 220 Bribztkaber/Izztlaan1 08 research1 11 17 factory1 11 1-21 FG:Lamium_maculatum|36 2 1820 Bribztkaber/Bzztkahb1 05 Shizu2 182 18-30 FG:Base_Bribztkaber/Bzztkahb|36 1 120 Bribztkaber/Bzztkahb1 010 MiningBase1 11 1-29 FG:Base_Crucible/Izzkabyqqh|39 1 219 Crucible/Izzkabyqqh1 016 fighter_barracks1 11 15 relay1 11 1-13 FG:Magnolia|36 2 1916 Ingatwa/Meresger1 010 Zhuangzong2 192 19-16 FG:Sanguilluma|36 1 718 Ingatwa/Azzzeenaan1 07 Taizong1 71 7-28 FG:Base_Ingatwa/Azzzeenaan|39 1 318 Ingatwa/Azzzeenaan1 08 refinery1 21 210 MiningBase1 11 1-30 FG:Base_Redemption/Tlaanyqqh|36 1 120 Redemption/Tlaanyqqh1 08 refinery1 11 1-30 FG:Base_Redemption/Izzptzeen|36 1 120 Redemption/Izzptzeen1 07 outpost1 11 1-14 FG:Paxistima|36 1 715 Magellan/Venice1 010 Zhuangzong1 71 7-25 FG:Stromanthe_sanguinea|36 1 220 Bribztkaber/Azzptkab1 05 Shizu1 21 2-30 FG:Base_Bribztkaber/Azzptkab|36 1 120 Bribztkaber/Azzptkab1 05 relay1 11 1-12 FG:Puebloa|36 1 521 Bribztkaber/Zeenbzztk1 05 Shizu1 51 5-31 FG:Base_Bribztkaber/Zeenbzztk|39 1 221 Bribztkaber/Zeenbzztk1 07 medical1 11 110 MiningBase1 11 1-14 FG:Binghamia|39 1 215 Crucible/Tkahbz1 05 Shizu1 11 16 huldra1 11 1-22 FG:Wedelia_trilobata|36 2 1315 Crucible/Tkahbz1 010 Zhuangzong2 132 13-30 FG:Base_Bribztkaber/Kabizztk|315 1 620 Bribztkaber/Kabizztk1 08 refinery1 21 27 outpost1 21 27 medical1 11 110 MiningBase1 11 1-30 FG:Base_Bribztkaber/Kabahbtl|315 1 420 Bribztkaber/Kabahbtl1 07 outpost1 11 17 medical1 11 116 fighter_barracks1 11 18 refinery1 11 1-15 FG:Euporteria|36 1 823 Redemption/Zeenyqqhzeen1 05 Shizu1 81 8-33 FG:Base_Redemption/Zeenyqqhzeen|39 1 223 Redemption/Zeenyqqhzeen1 05 relay1 11 18 refinery1 11 1-18 FG:Sigmatosiphon|36 1 713 Sol/Beta_Ceti1 010 Zhuangzong1 71 7-25 FG:Lagerstroemia_indica|36 2 1518 Sol/Tau(3)_Eridani1 07 Taizong2 152 15-27 FG:Physostegia_virginiana|36 1 918 Sol/Tau(3)_Eridani1 05 Shizu1 91 9-24 FG:Anredera_cordifolia|36 1 614 Sol/Beta_Caeli1 05 Shizu1 61 6-20 FG:Orbea_variegata|36 2 1214 Sol/CC_Eridani1 010 Zhuangzong2 122 12-43 FG:Nierembergia_hippomanica_ssp._violacea|36 1 617 Vega/Alpha_Aquila1 010 Zhuangzong1 61 6-13 FG:Gibbaeum|36 2 1613 Sol/LTT_111171 07 Taizong2 162 16-13 FG:Harrisia|36 1 110 Sol/HZ_3161 07 Taizong1 11 1-12 FG:Ipomoea|36 2 209 Sol/VA5751 07 Taizong2 202 20-27 FG:Physalis_philadelphica|36 1 417 Sol/Lambda_Auriga1 05 Shizu1 41 4-13 FG:Uncarina|36 2 2010 Sol/Hesiod1 010 Zhuangzong2 202 20-22 FG:Petunia_x_hybrida|36 1 212 Sol/CFS_70301 05 Shizu1 21 2-13 FG:Alocasia|36 2 1817 Vega/Sigma_Bootes1 010 Zhuangzong2 182 18-30 FG:Rhombophyllum_rhomboideum|36 2 1511 Vega/Scyros1 010 Zhuangzong2 152 15-29 FG:Ophthalmophyllum_dinteri|36 1 712 Vega/BS_50541 010 Zhuangzong1 71 7-15 FG:Browningia|36 1 513 Sol/Sigma_Dra1 07 Taizong1 51 5-13 FG:Delaetia|36 1 512 Sol/Alcestis1 010 Zhuangzong1 51 5-23 FG:Viguiera_deltoidea|36 2 1612 Sol/USNO_6951 05 Shizu2 162 16-20 FG:Acanthocalycium|36 2 1722 Vega/Uncultivable_11031 07 Taizong2 172 17-22 FG:Xylosma_congestum|36 1 315 Torkelsen/Nandi1 05 Shizu1 31 3-9 FG:Rosa|36 1 621 Sol/27_Tau(6)_Eridani1 07 Taizong1 61 6-21 FG:Armeria_maritima|36 1 79 Vega/Danu1 05 Shizu1 71 7-27 FG:Espostoopsis_dybowskii|36 1 311 Baja/PS_1761 010 Zhuangzong1 31 3-14 FG:Hydrangea|36 1 310 Sol/Trpakh1 05 Shizu1 31 3-15 FG:Gaillardia|36 2 1214 Beckett/VA_2971 05 Shizu2 122 12-17 SS:Beckett/VA_29734 0 0 0 10 Gaillardia0 0 6 Benton0 0 0 19 Base_Beckett/VA_2970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 Cygnus-28 FG:Zauschneria_californica|36 2 1618 Bribztkaber/Balder1 07 Taizong2 162 16-20 FG:Mila_caespitosa|36 1 917 Bztutpt/Tkyqqhahb1 010 Zhuangzong1 91 9-27 FG:Base_Bztutpt/Tkyqqhahb|36 1 117 Bztutpt/Tkyqqhahb1 010 MiningBase1 11 1-28 FG:Base_Bztutpt/Kabyqqhaan|36 1 118 Bztutpt/Kabyqqhaan1 05 relay1 11 1-24 FG:Base_Ahbz/Ahbzeentl|39 1 214 Ahbz/Ahbzeentl1 010 MiningBase1 11 17 outpost1 11 1-12 FG:Kleinia|36 1 817 Bztutpt/Zeentkaan1 010 Zhuangzong1 81 8-27 FG:Base_Bztutpt/Zeentkaan|36 1 217 Bztutpt/Zeentkaan1 015 commerce_center1 21 2-26 FG:Base_Bztutpt/Bzzptaan|315 1 516 Bztutpt/Bzzptaan1 07 medical1 11 18 refinery1 21 216 fighter_barracks1 11 110 MiningBase1 11 1-25 FG:Base_Bztutpt/Zbzzkab|36 1 115 Bztutpt/Zbzzkab1 08 refinery1 11 1-22 FG:Base_Ahbz/Zeenztk|312 1 312 Ahbz/Zeenztk1 015 commerce_center1 11 17 outpost1 11 110 MiningBase1 11 1-27 FG:Base_Bztutpt/Aantlzeen|312 1 317 Bztutpt/Aantlzeen1 08 research1 11 17 factory1 11 18 refinery1 11 1-29 FG:Base_Bribztkaber/Zpzeztk|36 1 119 Bribztkaber/Zpzeztk1 05 relay1 11 1-32 FG:Base_Bribztkaber/Ahbbzzzeen|39 1 222 Bribztkaber/Ahbbzzzeen1 016 fighter_barracks1 11 18 research1 11 1-32 FG:Base_Bribztkaber/Yqqhaankab|36 1 122 Bribztkaber/Yqqhaankab1 016 fighter_barracks1 11 1-26 FG:Base_Bribztkaber/Pttk|36 1 116 Bribztkaber/Pttk1 07 medical1 11 1-33 FG:Base_Bribztkaber/Yqqhbzzyqqh|39 1 223 Bribztkaber/Yqqhbzzyqqh1 08 research1 11 17 outpost1 11 1-11 FG:Peyotl|36 1 320 Bribztkaber/Kabazztl1 010 Zhuangzong1 31 3-30 FG:Base_Bribztkaber/Kabazztl|315 1 520 Bribztkaber/Kabazztl1 010 MiningBase1 21 25 relay1 11 112 starfortress1 11 17 factory1 11 1-31 FG:Base_Bribztkaber/Azzyqqhtl|315 1 421 Bribztkaber/Azzyqqhtl1 08 research1 11 17 medical1 11 110 MiningBase1 11 17 outpost1 11 1-20 FG:Ochna_serrulata|36 1 816 Tutbzzaz/Yqqhtkz1 07 Taizong1 81 8-14 FG:Aylostera|36 1 517 Tutbzzaz/Ptazzaan1 010 Zhuangzong1 51 5-27 FG:Base_Tutbzzaz/Ptazzaan|39 1 217 Tutbzzaz/Ptazzaan1 015 commerce_center1 11 17 outpost1 11 1-12 FG:Ruschia|36 1 713 Tutbzzaz/Buri1 010 Zhuangzong1 71 7-28 FG:Base_Izzptipt/Tkazzzeen|36 1 118 Izzptipt/Tkazzzeen1 07 medical1 11 1-27 FG:Platycerium_bifurcatum|36 2 1619 Tutbzzaz/Zeentlyqqh1 07 Taizong2 162 16-29 FG:Base_Tutbzzaz/Zeentlyqqh|36 1 119 Tutbzzaz/Zeentlyqqh1 07 factory1 11 1-27 FG:Base_Eebzpt/Ptyqqhzeen|39 1 217 Eebzpt/Ptyqqhzeen1 010 MiningBase1 11 17 medical1 11 1-26 FG:Base_Tutbzzaz/Ahbzahb|39 1 216 Tutbzzaz/Ahbzahb1 015 commerce_center1 11 17 outpost1 11 1-22 FG:Manihot_esculenta|36 1 617 Eebzpt/Ahbzeenahb1 05 Shizu1 61 6-27 FG:Base_Eebzpt/Ahbzeenahb|39 1 217 Eebzpt/Ahbzeenahb1 015 commerce_center1 11 17 factory1 11 1-16 FG:Neoabbottia|36 1 417 Eebzpt/Ahbaanzeen1 010 Zhuangzong1 41 4-19 FG:Cola_acuminata|36 1 417 Eebzpt/Ahbaanzeen1 07 Taizong1 41 4-27 FG:Base_Eebzpt/Ahbaanzeen|39 1 217 Eebzpt/Ahbaanzeen1 07 medical1 11 18 refinery1 11 1-15 FG:Anhalonium|39 2 1917 Eebzpt/Aanazzpzez1 07 Taizong2 182 186 shundi1 11 1-27 FG:Base_Tutbzzaz/Zpzezahb|36 1 117 Tutbzzaz/Zpzezahb1 08 refinery1 11 1-23 FG:Bacopa_caroliniana|36 1 414 Eebzpt/Tlptbzz1 05 Shizu1 41 4-27 FG:Base_Eebzpt/Zeenahbkab|36 1 117 Eebzpt/Zeenahbkab1 010 MiningBase1 11 1-25 FG:Base_Ohzzz/Ahbyqqhtk|39 1 215 Ohzzz/Ahbyqqhtk1 010 MiningBase1 11 15 relay1 11 1-26 FG:Base_Ohzzz/Yqqhahbkab|321 1 916 Ohzzz/Yqqhahbkab1 010 MiningBase1 21 216 fighter_barracks1 21 212 starfortress1 11 18 refinery1 21 215 commerce_center1 11 17 factory1 11 1-24 FG:Base_Ohzzz/Aantlahb|315 1 614 Ohzzz/Aantlahb1 07 outpost1 11 116 fighter_barracks1 21 210 MiningBase1 21 25 relay1 11 1-30 FG:Base_Bzzahbtktk/Zeentkkab|36 1 120 Bzzahbtktk/Zeentkkab1 010 MiningBase1 11 1-27 FG:Base_Bzzahbtktk/Zbzztl|36 1 117 Bzzahbtktk/Zbzztl1 010 MiningBase1 11 1-23 FG:Setcreasea_pallida|36 2 1216 Eebzpt/Tlaanzeen1 07 Taizong2 122 12-26 FG:Base_Eebzpt/Tlaanzeen|39 1 216 Eebzpt/Tlaanzeen1 05 relay1 11 116 fighter_barracks1 11 1-24 FG:Base_Eebzpt/Aantltk|312 1 514 Eebzpt/Aantltk1 08 refinery1 11 15 relay1 31 310 MiningBase1 11 1-20 FG:Cylindrorebutia|36 2 1216 Eebzpt/Izzkabbzz1 07 Taizong2 122 12-27 FG:Base_Tutbzzaz/Aanahbtk|39 1 217 Tutbzzaz/Aanahbtk1 05 relay1 11 18 refinery1 11 1-22 FG:Gambelia_speciosa|36 1 116 Eebzpt/Tkpzezkab1 05 Shizu1 11 1-26 FG:Base_Eebzpt/Tkpzezkab|312 1 416 Eebzpt/Tkpzezkab1 07 outpost1 21 216 fighter_barracks1 11 15 relay1 11 1-17 FG:Elaeophorbia|36 2 1517 Rhubarb/Tset_mehr1 05 Shizu2 152 15-17 FG:Stylophyllum|36 1 316 Rhubarb/Hyperion1 05 Shizu1 31 3-13 FG:Photinia|36 1 618 Diaspora/Tcsc_07901 07 Taizong1 61 6-22 FG:Equisetum_hyemale|36 2 1317 Vormund/Hephestus1 010 Zhuangzong2 132 13-23 FG:Hemerocallis_fulva|36 1 617 Maeell/Aenylkghem1 05 Shizu1 61 6-19 FG:Merremia_aurea|36 1 216 Ouulneh/Mahynuul1 010 Zhuangzong1 21 2-27 FG:Dendrosicyos_socotrana|36 2 1320 Eilgohall/Nethuulgoh1 010 Zhuangzong2 132 13-17 FG:Corynopuntia|36 1 614 Eilgohall/Isis1 010 Zhuangzong1 61 6-24 FG:Base_Ibzazz/Tkaantk|36 1 114 Ibzazz/Tkaantk1 05 relay1 11 1-24 FG:Farfugium_japonicum|36 2 1715 Ibzazz/Yqqhizzz1 010 Zhuangzong2 172 17-29 FG:Helianthemum_nummularium|36 1 115 Ibzazz/Yqqhizzz1 010 Zhuangzong1 11 1-24 FG:Base_Ibzazz/Ptazztk|312 1 314 Ibzazz/Ptazztk1 016 fighter_barracks1 11 17 outpost1 11 18 research1 11 1-28 FG:Base_Zzyqqh/Pzezazzyqqh|39 1 218 Zzyqqh/Pzezazzyqqh1 08 refinery1 11 17 medical1 11 1-24 FG:Base_Zzyqqh/Ptaantl|318 1 914 Zzyqqh/Ptaantl1 012 starfortress1 11 116 fighter_barracks1 31 37 medical1 21 27 outpost1 21 210 MiningBase1 11 1-27 FG:Base_Zzyqqh/Azzkabzeen|36 1 117 Zzyqqh/Azzkabzeen1 012 starfortress1 11 1-22 FG:Chorisia_speciosa|36 1 417 Zzyqqh/Azzkabzeen1 010 Zhuangzong1 41 4-26 FG:Base_Zzyqqh/Aanbzzaan|36 1 116 Zzyqqh/Aanbzzaan1 016 fighter_barracks1 11 1-27 FG:Poellnitzia_rubriflora|36 2 1816 Zzyqqh/Aanbzzaan1 07 Taizong2 182 18-27 FG:Base_Zzyqqh/Azzzeenahb|318 1 717 Zzyqqh/Azzzeenahb1 015 commerce_center1 21 210 MiningBase1 21 28 refinery1 11 112 starfortress1 11 17 outpost1 11 1-26 FG:Base_Zzyqqh/Azzahbaan|312 1 416 Zzyqqh/Azzahbaan1 012 starfortress1 11 18 research1 21 27 medical1 11 1-27 FG:Base_Ibzazz/Ahbazzyqqh|36 1 117 Ibzazz/Ahbazzyqqh1 016 fighter_barracks1 11 1-17 FG:Pachycymbium|36 2 1117 Ibzazz/Ahbazzyqqh1 07 Taizong2 112 11-26 FG:Base_Ibzazz/Zeenazztl|312 1 316 Ibzazz/Zeenazztl1 05 relay1 11 116 fighter_barracks1 11 17 factory1 11 1-15 FG:Ledebouria|36 2 1222 Pzzaztahber/Izzazzpzez1 07 Taizong2 122 12-21 FG:Base_Ibzazz/Tltl|312 1 311 Ibzazz/Tltl1 07 medical1 11 18 research1 11 17 outpost1 11 1-24 FG:Base_Ibzazz/Bzztltk|39 1 214 Ibzazz/Bzztltk1 010 MiningBase1 11 18 refinery1 11 1-11 FG:Cassia|36 1 412 Ibzazz/Tltkz1 05 Shizu1 41 4-25 FG:Base_Ibzazz/Zeenzaan|36 1 115 Ibzazz/Zeenzaan1 05 relay1 11 1-25 FG:Base_Ibzazz/Izztkaan|36 1 115 Ibzazz/Izztkaan1 010 MiningBase1 11 1-29 FG:Base_Pzzaztahber/Azztltk|39 1 219 Pzzaztahber/Azztltk1 07 outpost1 11 110 MiningBase1 11 1-24 FG:Codiaeum_variegatum|36 2 1319 Pzzaztahber/Azztltk1 05 Shizu2 132 13-29 FG:Base_Aantutpt/Bzzaanyqqh|39 1 219 Aantutpt/Bzzaanyqqh1 08 refinery1 11 110 MiningBase1 11 1-12 FG:Rebutia|36 2 1319 Aantutpt/Bzzaanyqqh1 05 Shizu2 132 13-25 FG:Phalaris_arundinacea|39 2 1919 Aantutpt/Bzzaanyqqh1 07 Taizong2 182 186 huldra1 11 1-27 FG:Base_Bzzeen/Ahbyqqhaan|315 1 417 Bzzeen/Ahbyqqhaan1 08 refinery1 11 116 fighter_barracks1 11 15 relay1 11 115 commerce_center1 11 1-27 FG:Base_Bzzeen/Yqqhtlyqqh|36 1 117 Bzzeen/Yqqhtlyqqh1 07 outpost1 11 1-26 FG:Base_Bzzeen/Azzkabahb|39 1 216 Bzzeen/Azzkabahb1 07 factory1 11 116 fighter_barracks1 11 1-24 FG:Rhaphiolepis_indica|36 2 1316 Bzzeen/Azzkabahb1 010 Zhuangzong2 132 13-27 FG:Base_Aantutpt/Kabbzztl|36 1 117 Aantutpt/Kabbzztl1 07 outpost1 11 1-30 FG:Base_Aantlbzz/Zeenyqqhahb|39 1 320 Aantlbzz/Zeenyqqhahb1 08 research1 11 15 relay1 21 2-27 FG:Base_Aantlbzz/Izzazztl|36 1 117 Aantlbzz/Izzazztl1 08 refinery1 11 1-27 FG:Base_Aantlbzz/Ahbaantk|39 1 217 Aantlbzz/Ahbaantk1 010 MiningBase1 11 15 relay1 11 1-29 FG:Base_Aantlbzz/Pzezizzahb|312 1 319 Aantlbzz/Pzezizzahb1 07 medical1 11 17 factory1 11 18 refinery1 11 1-28 FG:Base_Aantutpt/Aanazzahb|39 1 218 Aantutpt/Aanazzahb1 07 medical1 11 15 relay1 11 1-25 FG:Base_Aantlbzz/Zeentl|312 1 515 Aantlbzz/Zeentl1 07 medical1 11 15 relay1 11 110 MiningBase1 31 3-28 FG:Base_Aantlbzz/Ptazzyqqh|312 1 318 Aantlbzz/Ptazzyqqh1 05 relay1 11 112 starfortress1 11 110 MiningBase1 11 1-30 FG:Base_Aantlbzz/Pzezizzzeen|36 1 120 Aantlbzz/Pzezizzzeen1 010 MiningBase1 11 1-33 FG:Fremontodendron_californicum|36 2 2020 Aantlbzz/Pzezizzzeen1 010 Zhuangzong2 202 20-13 FG:Larochea|36 2 1420 Aantlbzz/Pzezizzzeen1 05 Shizu2 142 14-27 FG:Base_Ibpzez/Aanzeenaan|36 1 117 Ibpzez/Aanzeenaan1 010 MiningBase1 11 1-15 FG:Neolobivia|36 2 1717 Ibpzez/Aanzeenaan1 07 Taizong2 172 17-29 FG:Base_Aantlbzz/Yqqhzeentk|39 1 219 Aantlbzz/Yqqhzeentk1 07 factory1 11 15 relay1 11 1-26 FG:Base_Ibpzez/Bzzazzahb|315 1 416 Ibpzez/Bzzazzahb1 08 research1 11 112 starfortress1 11 17 outpost1 11 110 MiningBase1 11 1-26 FG:Base_Bztutpt/Izztlahb|36 1 216 Bztutpt/Izztlahb1 05 relay1 21 2-12 FG:Aeonium|36 1 712 Bztutpt/Kabz1 05 Shizu1 71 7-26 FG:Base_Bztutpt/Tlizzahb|321 1 916 Bztutpt/Tlizzahb1 07 factory1 31 37 outpost1 11 18 refinery1 11 110 MiningBase1 11 116 fighter_barracks1 21 25 relay1 11 1-25 FG:Base_Ahbz/Pzezkabaan|39 1 315 Ahbz/Pzezkabaan1 07 medical1 11 18 refinery1 21 2-21 FG:Base_Ahbz/Tktltk|39 1 211 Ahbz/Tktltk1 08 refinery1 11 115 commerce_center1 11 1-30 FG:Pithecellobium_flexicaule|36 2 1212 Ahbz/Bzzzazz1 07 Taizong2 122 12-22 FG:Base_Ahbz/Izzpttk|39 1 312 Ahbz/Izzpttk1 07 medical1 11 115 commerce_center1 21 2-12 FG:Dudleya|36 1 712 Ahbz/Aanpzez1 07 Taizong1 71 7-21 FG:Base_Ahbz/Izzkab|312 1 311 Ahbz/Izzkab1 016 fighter_barracks1 11 18 research1 11 18 refinery1 11 1-13 FG:Garcinia|36 2 1315 Ahbz/Ghemuuldah1 010 Zhuangzong2 132 13-25 FG:Base_Ahbz/Pzezizzkab|315 1 415 Ahbz/Pzezizzkab1 07 medical1 11 110 MiningBase1 11 17 outpost1 11 15 relay1 11 1-20 FG:Base_Ahbz/Tkztl|39 1 210 Ahbz/Tkztl1 016 fighter_barracks1 11 115 commerce_center1 11 1-20 FG:Nyssa_sylvatica|39 2 1010 Ahbz/Tkztl1 05 Shizu1 91 96 huldra1 11 1-32 FG:Base_Pzzaztahber/Bzzpzezahb|36 1 222 Pzzaztahber/Bzzpzezahb1 010 MiningBase1 21 2-29 FG:Base_Pzzaztahber/Tlkabtk|315 1 519 Pzzaztahber/Tlkabtk1 08 refinery1 11 17 medical1 21 216 fighter_barracks1 11 17 factory1 11 1-29 FG:Base_Miyeeldah/Pzezptaan|36 1 119 Miyeeldah/Pzezptaan1 08 refinery1 11 1-27 FG:Base_Ibzazz/Azzyqqhahb|36 1 117 Ibzazz/Azzyqqhahb1 012 starfortress1 11 1-15 FG:Schefflera|36 2 1517 Ibzazz/Azzyqqhahb1 010 Zhuangzong2 152 15-27 FG:Base_Miyeeldah/Bzzyqqh|312 1 517 Miyeeldah/Bzzyqqh1 012 starfortress1 11 116 fighter_barracks1 21 215 commerce_center1 21 2-13 FG:Achillea|36 1 715 Ibzazz/Ptahbizz1 05 Shizu1 71 7-18 FG:Trichodiadema|36 2 2016 Ibzazz/Pzezptizz1 07 Taizong2 202 20-25 FG:Base_Zzyqqh/Ahbtkahb|312 1 415 Zzyqqh/Ahbtkahb1 010 MiningBase1 11 17 medical1 11 17 factory1 21 2-25 FG:Base_RBL-10/Tkzeentk|36 1 115 RBL-10/Tkzeentk1 07 factory1 11 1-17 FG:Guillaumini... [truncated message content]

[Vegastrike-cvs] SF.net SVN: vegastrike: [11165] trunk

From: <ac...@us...> - 2007-07-29 09:41:32

Revision: 11165 Author: ace123Date: 2007-07-29 02:41:19 -0700 (Sun, 29 Jul 2007)Log Message:-----------Got upgrading working. Made server return credits on a failed transaction.Modified Paths:-------------- trunk/data4.x/vegaserver.config trunk/vegastrike/src/cmd/base_util.cpp trunk/vegastrike/src/cmd/basecomputer.cpp trunk/vegastrike/src/cmd/basecomputer.h trunk/vegastrike/src/cmd/unit_generic.cpp trunk/vegastrike/src/gamemenu.cpp trunk/vegastrike/src/networking/netclient.cpp trunk/vegastrike/src/networking/netserver.cppModified: trunk/data4.x/vegaserver.config===================================================================--- trunk/data4.x/vegaserver.config2007-07-28 21:09:35 UTC (rev 11164)+++ trunk/data4.x/vegaserver.config2007-07-29 09:41:19 UTC (rev 11165)@@ -267,7 +267,7 @@ <!--<var name="accountsrv" value="http://graphics.stanford.edu/cgi-bin/danielrh/accountserver/vegastrike"/>--> <!--<var name="accountsrv" value="http://spiritplumber.tzo.com/cgi-bin/accountserver.cgi?wcvs"/>--> <!--<var name="accountsrv" value="http://localhost:8080/cgi-bin/accountserver.py"/>-->-<var name="accountsrv" value="http://vegastrike.sourceforge.net/cgi-bin/accountserver.py?test"/>+<var name="accountsrv" value="http://vegastrike.sourceforge.net/cgi-bin/accountserver.py"/> <!-- Port which account server is listening to --> <!--<var name="accountsrvport" value="6779"/>--> <!-- Port which this server is listening to -->Modified: trunk/vegastrike/src/cmd/base_util.cpp===================================================================--- trunk/vegastrike/src/cmd/base_util.cpp2007-07-28 21:09:35 UTC (rev 11164)+++ trunk/vegastrike/src/cmd/base_util.cpp2007-07-29 09:41:19 UTC (rev 11165)@@ -461,9 +461,12 @@ } void refreshBaseComputerUI(const Cargo *carg) {-BaseComputer::dirty=true; if (carg) {+// BaseComputer::draw() used dirty to determine what to recalculate.+BaseComputer::dirty=1; // everything. BaseComputer::dirtyCargo=*carg;+} else {+BaseComputer::dirty=2; // only title. } } Modified: trunk/vegastrike/src/cmd/basecomputer.cpp===================================================================--- trunk/vegastrike/src/cmd/basecomputer.cpp2007-07-28 21:09:35 UTC (rev 11164)+++ trunk/vegastrike/src/cmd/basecomputer.cpp2007-07-29 09:41:19 UTC (rev 11165)@@ -71,7 +71,7 @@ //end for directory thing extern const char * DamagedCategory; -bool BaseComputer::dirty;+int BaseComputer::dirty=0; Cargo BaseComputer::dirtyCargo; static GFXColor UnsaturatedColor(float r, float g, float b, float a=1.0f) {@@ -1102,7 +1102,8 @@ } loadsave->setCommand("ShowOptionsMenu"); networkGroup->addChild(loadsave);-} else {+}+if ((m_displayModes.size()==1 && m_displayModes[0]==NETWORK) || Network!=NULL) { NewButton* quit = new NewButton; quit->setRect( Rect(-.95, -.9, .3, .1) ); quit->setColor( GFXColor(.8,1,.1,.1) );@@ -1452,9 +1453,9 @@ bool BaseComputer::changeToCargoMode(const EventCommandId& command, Control* control) { if(m_currentDisplay != CARGO) { switchToControls(CARGO);- loadCargoControls();- updateTransactionControlsForSelection(NULL); }+ loadCargoControls();+ updateTransactionControlsForSelection(NULL); return true; } @@ -1462,8 +1463,8 @@ bool BaseComputer::changeToLoadSaveMode(const EventCommandId& command, Control* control) { if(m_currentDisplay != LOADSAVE) { switchToControls(LOADSAVE);- loadLoadSaveControls(); }+ loadLoadSaveControls(); return true; } @@ -1471,8 +1472,8 @@ bool BaseComputer::changeToNetworkMode(const EventCommandId& command, Control* control) { if(m_currentDisplay != NETWORK) { switchToControls(NETWORK);- loadNetworkControls(); }+ loadNetworkControls(); return true; } @@ -2644,12 +2645,14 @@ void BaseComputer::draw() { if (BaseComputer::dirty && m_player.GetUnit()) {- eliminateZeroCargo(m_player.GetUnit());- // Reload the UI -- inventory has changed. Because we reload the UI, we need to - // find, select, and scroll to the thing we bought. The item might be gone from the- // list (along with some categories) after the transaction.- loadCargoControls();- updateTransactionControls(BaseComputer::dirtyCargo);+if (BaseComputer::dirty&1) {+eliminateZeroCargo(m_player.GetUnit());+// Reload the UI -- inventory has changed. Because we reload the UI, we need to +// find, select, and scroll to the thing we bought. The item might be gone from the+// list (along with some categories) after the transaction.+processWindowCommand(modeInfo[m_currentDisplay].command, NULL);+updateTransactionControls(BaseComputer::dirtyCargo);+} recalcTitle(); } }@@ -2745,8 +2748,8 @@ bool BaseComputer::changeToNewsMode(const EventCommandId& command, Control* control) { if(m_currentDisplay != NEWS) { switchToControls(NEWS);- loadNewsControls(); }+ loadNewsControls(); return true; } @@ -2898,9 +2901,9 @@ bool BaseComputer::changeToMissionsMode(const EventCommandId& command, Control* control) { if(m_currentDisplay != MISSIONS) { switchToControls(MISSIONS);- loadMissionsControls();- updateTransactionControlsForSelection(NULL); }+ loadMissionsControls();+ updateTransactionControlsForSelection(NULL); return true; } @@ -3183,9 +3186,9 @@ if(m_currentDisplay != UPGRADE) { switchToControls(UPGRADE);- loadUpgradeControls();- updateTransactionControlsForSelection(NULL); }+ loadUpgradeControls();+ updateTransactionControlsForSelection(NULL); return true; } @@ -3922,9 +3925,9 @@ bool BaseComputer::changeToShipDealerMode(const EventCommandId& command, Control* control) { if(m_currentDisplay != SHIP_DEALER) { switchToControls(SHIP_DEALER);- loadShipDealerControls();- updateTransactionControlsForSelection(NULL); }+ loadShipDealerControls();+ updateTransactionControlsForSelection(NULL); return true; } Modified: trunk/vegastrike/src/cmd/basecomputer.h===================================================================--- trunk/vegastrike/src/cmd/basecomputer.h2007-07-28 21:09:35 UTC (rev 11164)+++ trunk/vegastrike/src/cmd/basecomputer.h2007-07-29 09:41:19 UTC (rev 11165)@@ -42,7 +42,7 @@ friend class WctlBase<BaseComputer>; public: - static bool dirty;+ static int dirty; static Cargo dirtyCargo; // The Computer displays that are possible.Modified: trunk/vegastrike/src/cmd/unit_generic.cpp===================================================================--- trunk/vegastrike/src/cmd/unit_generic.cpp2007-07-28 21:09:35 UTC (rev 11164)+++ trunk/vegastrike/src/cmd/unit_generic.cpp2007-07-29 09:41:19 UTC (rev 11165)@@ -7377,7 +7377,7 @@ ObjSerial buySerial = downgrade?0:serial, sellSerial = downgrade?serial:0; Network[playernum].cargoRequest( buySerial, sellSerial,-up->fullname, 1, mountoffset, subunitoffset);+up->name, 0, mountoffset, subunitoffset); } return false; }@@ -7386,7 +7386,7 @@ ObjSerial buySerial = downgrade?0:serial, sellSerial = downgrade?serial:0; VSServer->BroadcastCargoUpgrade( serial, buySerial, sellSerial,- up->fullname, 0,0,0,false,0,+ up->name, 0,0,0,false,0, mountoffset, subunitoffset, getStarSystem()->GetZone()); } static bool csv_cell_null_check=XMLSupport::parse_bool(vs_config->getVariable("data","empty_cell_check","true"));Modified: trunk/vegastrike/src/gamemenu.cpp===================================================================--- trunk/vegastrike/src/gamemenu.cpp2007-07-28 21:09:35 UTC (rev 11164)+++ trunk/vegastrike/src/gamemenu.cpp2007-07-29 09:41:19 UTC (rev 11165)@@ -152,7 +152,7 @@ mplayTitle->setId("UsernameTitle"); serverConnGroup->addChild(mplayTitle); -StaticDisplay* usernameInput = new TextInputDisplay(inputqueue,"\x1b\n \t\r*\\|<>\"^");+StaticDisplay* usernameInput = new TextInputDisplay(inputqueue,"\x1b\n\t\r*\\|<>\"^"); usernameInput->setRect( Rect(-.6, -.18, 1.2, .15) ); usernameInput->setColor( GFXColor(1,.5,0,.1) ); usernameInput->setOutlineColor(GUI_OPAQUE_MEDIUM_GRAY());@@ -392,6 +392,11 @@ void processJoinGame(Window *window, bool firstTime, string &user, string &pass) { // Magic goes here! user = static_cast<TextInputDisplay*>(window->findControlById("Username"))->text();+string::size_type pos=user.find(' ');+while (pos!=string::npos) {+user[pos]='_';+pos = user.find(' ', pos);+} pass = static_cast<TextInputDisplay*>(window->findControlById("Password"))->text(); vs_config->setVariable("player","callsign",user); vs_config->setVariable("player","password",pass);Modified: trunk/vegastrike/src/networking/netclient.cpp===================================================================--- trunk/vegastrike/src/networking/netclient.cpp2007-07-28 21:09:35 UTC (rev 11164)+++ trunk/vegastrike/src/networking/netclient.cpp2007-07-29 09:41:19 UTC (rev 11165)@@ -1017,13 +1017,17 @@ unsigned int cargIndex = 0; Cargo *cargptr;+if (!sender) {+break;+} if (seller) { cargptr = seller->GetCargo(cargoName, cargIndex);-} else {-cargptr = GetMasterPartList(cargoName.c_str()); } if (!cargptr) {-break;+cargptr = GetMasterPartList(cargoName.c_str());+if (!cargptr) {+break;+} } Cargo carg = *cargptr; bool upgrade=false;@@ -1054,13 +1058,13 @@ // Now we're sure it's an authentic upgrade... // Wow! So much code just to perform an upgrade!-const string unitDir = GetUnitDir(buyer->name.get().c_str());+const string unitDir = GetUnitDir(sender->name.get().c_str()); string templateName; int faction; if (seller==sender) { templateName = unitDir + ".blank"; faction = seller->faction;-} else {+} else if (buyer==sender) { faction = buyer->faction; templateName = unitDir + ".template"; }@@ -1082,7 +1086,7 @@ if (seller->canDowngrade(unitCarg, mountOffset, subunitOffset, percent, templateUnit)) { seller->Downgrade (unitCarg, mountOffset, subunitOffset, percent, templateUnit); }-} else { // buyer==sender+} else if (buyer==sender) { // Buying it... Upgrade time! if (buyer->canUpgrade(unitCarg, mountOffset, subunitOffset, multAddMode, true, percent, templateUnit)) { buyer->Upgrade (unitCarg, mountOffset, subunitOffset, multAddMode, true, percent, templateUnit);Modified: trunk/vegastrike/src/networking/netserver.cpp===================================================================--- trunk/vegastrike/src/networking/netserver.cpp2007-07-28 21:09:35 UTC (rev 11164)+++ trunk/vegastrike/src/networking/netserver.cpp2007-07-29 09:41:19 UTC (rev 11165)@@ -77,6 +77,7 @@ static const string LOAD_FAILED = "LOAD_FAILED"; // Takes in a category of an upgrade or cargo and returns true if it is any type of mountable weapon. extern bool isWeapon (std::string name);+extern Cargo* GetMasterPartList(const char *input_buffer); voidgetZoneInfoBuffer( unsigned short zoneid, NetBuffer & netbuf)@@ -952,11 +953,12 @@ //ObjSerial sender_ser = packet.getSerial(); Unit *sender = clt->game_unit.GetUnit();-if (!sender || !sender->getStarSystem()) break;+co*ckpit *sender_cpt = _Universe->isPlayerStarship(sender);+if (!sender || !sender->getStarSystem() || !sender_cpt) break; zone = sender->getStarSystem()->GetZone(); -unsigned int cargIndex = 0;+unsigned int cargIndex = -1; Unit *seller = zonemgr->getUnit( seller_ser, zone); Unit *buyer = zonemgr->getUnit( buyer_ser, zone);@@ -969,25 +971,48 @@ break; } }+/* if (!docked) { fprintf(stderr, "Player id %d attempted transaction with cargo %s while undocked\n", sender?sender->GetSerial():-1, cargoName.c_str()); break; }+*/ }-if (seller==sender) {-buyer=docked;+if (docked) {+if (seller==sender) {+buyer=docked;+} else {+seller=docked;+buyer=sender;+} } else {-seller=docked;-buyer=sender;+if (seller==sender) {+buyer=NULL;+} else {+seller=NULL;+} }--Cargo *cargptr = seller->GetCargo(cargoName, cargIndex);+co*ckpit *buyer_cpt = _Universe->isPlayerStarship(buyer);+co*ckpit *seller_cpt = _Universe->isPlayerStarship(seller);++bool sellerEmpty=false;+Cargo *cargptr = NULL;+if (seller) {+cargptr = seller->GetCargo(cargoName, cargIndex);+} if (!cargptr) {-fprintf(stderr, "Player id %d attempted transaction with NULL cargo %s, %d->%d\n",+cargIndex=-1;+cargptr = GetMasterPartList(cargoName.c_str());+sellerEmpty=true;+if (!cargptr) {+fprintf(stderr, "Player id %d attempted transaction with NULL cargo %s, %d->%d\n", sender?sender->GetSerial():-1, cargoName.c_str(), buyer?buyer->GetSerial():-1, seller?seller->GetSerial():-1);-break;+// Return the credits.+sendCredits(sender->GetSerial(), sender_cpt->credits);+break;+} } Cargo carg=*cargptr; bool upgrade=false;@@ -1001,14 +1026,33 @@ } } if (weapon && quantity) {+// Return the credits.+sendCredits(sender->GetSerial(), sender_cpt->credits); break; }--co*ckpit *buyer_cpt = _Universe->isPlayerStarship(buyer);-co*ckpit *seller_cpt = _Universe->isPlayerStarship(seller);-co*ckpit *sender_cpt = _Universe->isPlayerStarship(sender);-_Universe->netLock(true);-if (quantity) {++if (!weapon && sellerEmpty) {+// Cargo does not exist... allowed only for mounted cargo.+sendCredits(sender->GetSerial(), sender_cpt->credits);+break;+}+if (!weapon && !quantity) {+sendCredits(sender->GetSerial(), sender_cpt->credits);+break;+}+if (seller == NULL) {+sendCredits(sender->GetSerial(), sender_cpt->credits);+break;+}+// Guaranteed: seller, sender, sender_cpt are not NULL.+if (buyer == NULL) {+if (cargIndex!=-1)+seller->EjectCargo(cargIndex);+quantity=0; // So that the cargo won't be bought/sold again.+}+if (quantity && cargIndex!=-1) {+// Guaranteed: buyer, sender, seller, and one co*ckpit are not null.+_Universe->netLock(true); if (buyer == sender && buyer_cpt) { float creds_before = buyer_cpt->credits; float &creds = buyer_cpt->credits;@@ -1019,32 +1063,38 @@ } else if (seller == sender && seller_cpt) { float creds_before = seller_cpt->credits; float &creds = seller_cpt->credits;-seller->SellCargo(cargIndex, quantity, creds, carg, buyer);+if (carg.GetMissionFlag()) {+seller->SellCargo(cargIndex, quantity, creds, carg, buyer);+} else {+seller->RemoveCargo(cargIndex, quantity, true);+} if (buyer_cpt) { buyer_cpt->credits += (creds_before-creds); } } didMoney=true;+_Universe->netLock(false); }-_Universe->netLock(false);-if (!weapon && !quantity) {-break;-} if (upgrade && (seller==sender || buyer==sender)) { double percent; // not used. const Unit *unitCarg = getUnitFromUpgradeName(carg.GetContent(), seller->faction);-if (!unitCarg) break; // not an upgrade, and already did cargo transactions.+if (!unitCarg) {+// Return the credits.+sendCredits(sender->GetSerial(), sender_cpt->credits);+break; // not an upgrade, and already did cargo transactions.+} int multAddMode = GetModeFromName(carg.GetContent().c_str()); // Now we're sure it's an authentic upgrade... // Wow! So much code just to perform an upgrade!-const string unitDir = GetUnitDir(buyer->name.get().c_str());+ string templateName; int faction;+const string unitDir = GetUnitDir(sender->name.get().c_str()); if (seller==sender) { templateName = unitDir + ".blank"; faction = seller->faction;-} else {+} else if (buyer==sender) { faction = buyer->faction; templateName = unitDir + ".template"; }@@ -1058,6 +1108,8 @@ templateUnit=NULL; } if(unitCarg->name == LOAD_FAILED) {+// Return money.+sendCredits(sender->GetSerial(), sender_cpt->credits); break; } @@ -1069,6 +1121,9 @@ didMoney=true; seller_cpt->credits += carg.GetPrice(); }+if (buyer && didMoney) {+buyer->AddCargo(carg,true);+} } if (didMoney) { _Universe->netLock(true);@@ -1077,14 +1132,17 @@ didUpgrade=true; } }-} else { // buyer==sender+} else if (buyer==sender) { // Buying it... Upgrade time! if (buyer->canUpgrade(unitCarg, mountOffset, subunitOffset, multAddMode, true, percent, templateUnit)) { if (weapon) {-if (seller_cpt && seller_cpt->credits > carg.GetPrice()) {-seller_cpt->credits -= carg.GetPrice();+if (buyer_cpt && buyer_cpt->credits > carg.GetPrice()) {+buyer_cpt->credits -= carg.GetPrice(); didMoney=true; }+if (seller && didMoney && cargIndex!=-1) {+seller->RemoveCargo(cargIndex, 1, true);+} } if (didMoney) { _Universe->netLock(true);@@ -1096,19 +1154,22 @@ } } if (didMoney) {+ObjSerial buyer_ser = buyer?buyer->GetSerial():0; if (!upgrade) {-BroadcastCargoUpgrade(sender->GetSerial(),buyer->GetSerial(),seller->GetSerial(),cargoName,+BroadcastCargoUpgrade(sender->GetSerial(),buyer_ser,seller->GetSerial(),cargoName, carg.GetPrice(), carg.GetMass(), carg.GetVolume(), carg.GetMissionFlag(), quantity,0,0,zone); } else if (didUpgrade) {-BroadcastCargoUpgrade(sender->GetSerial(),buyer->GetSerial(),seller->GetSerial(),cargoName,+BroadcastCargoUpgrade(sender->GetSerial(),buyer_ser,seller->GetSerial(),cargoName, carg.GetPrice(), carg.GetMass(), carg.GetVolume(), false, weapon?0:1,mountOffset, subunitOffset,zone); }-if (sender_cpt) {-sendCredits(sender->GetSerial(), sender_cpt->credits);-} }+if (sender_cpt) {+// The client always needs to get credits back, no matter what.+sendCredits(sender->GetSerial(), sender_cpt->credits);+// Otherwise, it will get stuck with 0 credits.+} // Completed transaction. // Send player new amount of credits. // Broadcast out cargo request.

[Vegastrike-cvs] SF.net SVN: vegastrike: [11269] trunk

From: <ac...@us...> - 2007-08-16 10:38:20

Revision: 11269 Author: ace123Date: 2007-08-16 03:38:21 -0700 (Thu, 16 Aug 2007)Log Message:-----------A few quick modifications to network code... need to sleep now. Pretty much works with simple multiplayer games.Fixed loading menus... made them handle errors cleanly without exiting the game.NetServer now runs without an account server, asking the client to select a ship.Cleaned up some stupid bugs in socket code... especially wrt socket error/closing.Made it reuse UDP sockets with a pool... seems to not be able to close and then reopen them.There's probably more...Modified Paths:-------------- trunk/data4.x/modules/privateer.py trunk/vegastrike/src/cmd/base_interface.cpp trunk/vegastrike/src/cmd/basecomputer.cpp trunk/vegastrike/src/cmd/basecomputer.h trunk/vegastrike/src/cmd/music.cpp trunk/vegastrike/src/cmd/unit_factory.h trunk/vegastrike/src/cmd/unit_factory_generic.cpp trunk/vegastrike/src/gamemenu.cpp trunk/vegastrike/src/gamemenu.h trunk/vegastrike/src/gui/font.cpp trunk/vegastrike/src/gui/modaldialog.cpp trunk/vegastrike/src/gui/modaldialog.h trunk/vegastrike/src/main.cpp trunk/vegastrike/src/main_loop.cpp trunk/vegastrike/src/networking/acctserver.cpp trunk/vegastrike/src/networking/client.h trunk/vegastrike/src/networking/clientptr.h trunk/vegastrike/src/networking/lowlevel/netbuffer.cpp trunk/vegastrike/src/networking/lowlevel/netbuffer.h trunk/vegastrike/src/networking/lowlevel/netui.cpp trunk/vegastrike/src/networking/lowlevel/netui.h trunk/vegastrike/src/networking/lowlevel/vsnet_cmd.cpp trunk/vegastrike/src/networking/lowlevel/vsnet_cmd.h trunk/vegastrike/src/networking/lowlevel/vsnet_socket.cpp trunk/vegastrike/src/networking/lowlevel/vsnet_socket.h trunk/vegastrike/src/networking/lowlevel/vsnet_socketbase.cpp trunk/vegastrike/src/networking/lowlevel/vsnet_socketbase.h trunk/vegastrike/src/networking/lowlevel/vsnet_sockethttp.cpp trunk/vegastrike/src/networking/lowlevel/vsnet_sockettcp.cpp trunk/vegastrike/src/networking/netclient.cpp trunk/vegastrike/src/networking/netclient.h trunk/vegastrike/src/networking/netclient_login.cpp trunk/vegastrike/src/networking/netserver.cpp trunk/vegastrike/src/networking/netserver.h trunk/vegastrike/src/networking/netserver_acct.cpp trunk/vegastrike/src/networking/netserver_clients.cpp trunk/vegastrike/src/networking/netserver_devices.cpp trunk/vegastrike/src/networking/netserver_login.cpp trunk/vegastrike/src/networking/netserver_net.cpp trunk/vegastrike/src/networking/zonemgr.cpp trunk/vegastrike/src/savegame.cpp trunk/vegastrike/src/universe_generic.cpp trunk/vegastrike/src/universe_util.cpp trunk/vegastrike/src/universe_util.h trunk/vegastrike/src/universe_util_server.cppModified: trunk/data4.x/modules/privateer.py===================================================================--- trunk/data4.x/modules/privateer.py2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/data4.x/modules/privateer.py2007-08-16 10:38:21 UTC (rev 11269)@@ -9,6 +9,7 @@ import ShowProgress class hideProgress: def Execute(self):+ VS.hideSplashScreen() ShowProgress.deactivateProgressScreen('loading') class privateer (Director.Mission):Modified: trunk/vegastrike/src/cmd/base_interface.cpp===================================================================--- trunk/vegastrike/src/cmd/base_interface.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/cmd/base_interface.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -977,7 +977,10 @@ } } void TerminateCurrentBase(void) {- BaseInterface::CurrentBase->Terminate();+if (BaseInterface::CurrentBase) {+BaseInterface::CurrentBase->Terminate();+BaseInterface::CurrentBase=NULL;+} } void CurrentBaseUnitSet(Unit * un) { if (BaseInterface::CurrentBase) {Modified: trunk/vegastrike/src/cmd/basecomputer.cpp===================================================================--- trunk/vegastrike/src/cmd/basecomputer.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/cmd/basecomputer.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -304,6 +304,7 @@ BaseComputer::WctlTableEntry ( "New", "", &BaseComputer::actionNewGame ), BaseComputer::WctlTableEntry ( "Save", "", &BaseComputer::actionSaveGame ), BaseComputer::WctlTableEntry ( "ShowNetworkMenu", "", &BaseComputer::changeToNetworkMode ),+ BaseComputer::WctlTableEntry ( "HideNetworkStatus", "", &BaseComputer::hideNetworkStatus ), BaseComputer::WctlTableEntry ( "ShowJoinAccount", "", &BaseComputer::actionShowAccountMenu ), BaseComputer::WctlTableEntry ( "ShowJoinServer", "", &BaseComputer::actionShowServerMenu ), BaseComputer::WctlTableEntry ( "JoinGame", "", &BaseComputer::actionJoinGame ),@@ -1051,9 +1052,17 @@ GroupControl* networkGroup = new GroupControl; networkGroup->setId("NetworkGroup"); window()->addControl(networkGroup);+GroupControl* netJoinGroup = new GroupControl;+netJoinGroup->setId("NetworkJoinGroup");+networkGroup->addChild(netJoinGroup);+GroupControl *netStatGroup = new GroupControl;+netStatGroup->setId("NetworkStatGroup");+netStatGroup->setHidden(true);+networkGroup->addChild(netStatGroup);+ GFXColor color=getColorForGroup("NetworkGroup"); -createNetworkControls(networkGroup, &base_keyboard_queue);+GameMenu::createNetworkControls(netJoinGroup, &base_keyboard_queue); // Account Server button. NewButton* joinAcct = new NewButton; joinAcct->setRect( Rect(-.50, .7, .37, .09) );@@ -1066,7 +1075,7 @@ joinAcct->setDownTextColor( GUI_OPAQUE_BLACK() ); joinAcct->setHighlightColor( GFXColor(color.r,color.g,color.b,.4) ); joinAcct->setFont(Font(.07));- networkGroup->addChild(joinAcct);+ netJoinGroup->addChild(joinAcct); // Ship Stats button. NewButton* joinServer = new NewButton;@@ -1079,9 +1088,249 @@ joinServer->setDownTextColor( GUI_OPAQUE_BLACK() ); joinServer->setHighlightColor( GFXColor(color.r,color.g,color.b,.4) ); joinServer->setFont(Font(.07));- networkGroup->addChild(joinServer);+ netJoinGroup->addChild(joinServer); -+if (Network) {+NetClient &nc = Network[0]; // Hack?: Assume 0th player.+netStatGroup->setHidden(false);+netJoinGroup->setHidden(true);++std::string serverip;+unsigned short serverport;+nc.GetCurrentServerAddress(serverip, serverport);++StaticDisplay *mplayTitle = new StaticDisplay;+mplayTitle->setRect( Rect(-.7, .6, 1, .1) );+mplayTitle->setText("Independent Server IP Address:");+mplayTitle->setTextColor( GUI_OPAQUE_WHITE() );+mplayTitle->setColor(GUI_CLEAR);+mplayTitle->setFont( Font(.07, 2) );+netStatGroup->addChild(mplayTitle);++// Description box.+StaticDisplay* serverInputText = new StaticDisplay;+serverInputText->setRect( Rect(-.6, .5, 1.2, .1) );+serverInputText->setColor( GUI_CLEAR );+serverInputText->setFont( Font(.07) );+serverInputText->setMultiLine(false);+if (serverip=="localhost" || serverip=="127.0.0.1") {+serverInputText->setText("Locally Hosted Game");+serverInputText->setTextColor(GFXColor(.5,1,.5) );+} else if (serverip.substr(0,3) == "10." || serverip.substr(0,8) == "192.168."+|| serverip.substr(0,8) == "169.254." || serverip.find('.') == std::string::npos) {+serverInputText->setText("LAN: "+serverip);+serverInputText->setTextColor(GFXColor(1,1,.5) );+} else {+serverInputText->setText(serverip);+serverInputText->setTextColor(GFXColor(1,.8,.5) );+}+netStatGroup->addChild(serverInputText);+++mplayTitle = new StaticDisplay;+mplayTitle->setRect( Rect(-.7, .4, 1, .1) );+mplayTitle->setText("Server Port: (default 6777)");+mplayTitle->setTextColor( GUI_OPAQUE_WHITE() );+mplayTitle->setColor(GUI_CLEAR);+mplayTitle->setFont( Font(.07, 2) );+netStatGroup->addChild(mplayTitle);++StaticDisplay* portInputText = new StaticDisplay;+portInputText->setRect( Rect(-.6, .3, .4, .1) );+portInputText->setColor( GUI_CLEAR );+portInputText->setFont( Font(.07) );+portInputText->setMultiLine(false);+portInputText->setTextColor(GFXColor(.7,.7,1));+{+char portstr[15];+sprintf(portstr, "%d", (int)(serverport));+portInputText->setText(portstr);+}+netStatGroup->addChild(portInputText);++mplayTitle = new StaticDisplay;+mplayTitle->setRect( Rect(-.7, .2, 1, .1) );+mplayTitle->setText("Account Server:");+mplayTitle->setTextColor( GUI_OPAQUE_WHITE() );+mplayTitle->setColor(GUI_CLEAR);+mplayTitle->setFont( Font(.07, 2) );+netStatGroup->addChild(mplayTitle);++StaticDisplay* acctserverInput = new StaticDisplay;+acctserverInput->setRect( Rect(-.6, .1, 1.2, .1) );+acctserverInput->setColor( GUI_CLEAR );+acctserverInput->setFont( Font(.07) );+acctserverInput->setMultiLine(false);+acctserverInput->setTextColor(GFXColor(.9,1,.6));++std::string acctserver;+bool useacctserver = XMLSupport::parse_bool(vs_config->getVariable("network", "use_account_server", "true"));+if (useacctserver) {+acctserver = vs_config->getVariable("network", "account_server_url", "http://vegastrike.sourceforge.net/");+std::string::size_type s1,s3,q;+s1 = acctserver.find('/');+if (s1!=std::string::npos) {+if (s1+1<acctserver.length() && acctserver[s1+1]=='/') {+s3 = acctserver.find('/',s1+3);+if (s3!=std::string::npos) {+std::string mod;+q=acctserver.find('?',s3);+if (q!=std::string::npos) {+mod = "; "+acctserver.substr(q+1);+}+acctserver=acctserver.substr(s1+2,s3-s1-2) + mod;+}+}+}+} else {+acctserverInput->setTextColor(GFXColor(.7,1,.6));+acctserver = "(Private Game)";+}+acctserverInput->setText(acctserver);+netStatGroup->addChild(acctserverInput);++mplayTitle = new StaticDisplay;+mplayTitle->setRect( Rect(-.7, 0, .7, .1) );+mplayTitle->setText("Callsign:");+mplayTitle->setTextColor( GUI_OPAQUE_WHITE() );+mplayTitle->setColor(GUI_CLEAR);+mplayTitle->setFont( Font(.07, 2) );+netStatGroup->addChild(mplayTitle);++StaticDisplay* usernameInput = new StaticDisplay;+usernameInput->setRect( Rect(-.6, -.1, .6, .1) );+usernameInput->setColor( GUI_CLEAR );+usernameInput->setFont( Font(.07) );+usernameInput->setMultiLine(false);+usernameInput->setTextColor(GFXColor(1,.7,.9));+usernameInput->setText(nc.getCallsign());+netStatGroup->addChild(usernameInput);++mplayTitle = new StaticDisplay;+mplayTitle->setRect( Rect(0, 0, .7, .1) );+mplayTitle->setText("Serial Number:");+mplayTitle->setTextColor( GUI_OPAQUE_WHITE() );+mplayTitle->setColor(GUI_CLEAR);+mplayTitle->setFont( Font(.07, 2) );+netStatGroup->addChild(mplayTitle);++StaticDisplay* currentSerial = new StaticDisplay;+currentSerial->setRect( Rect(.1, -.1, .6, .1) );+currentSerial->setColor( GUI_CLEAR );+currentSerial->setFont( Font(.07) );+currentSerial->setMultiLine(false);+currentSerial->setTextColor(GFXColor(1,.7,.9));+{+char serial[15];+sprintf(serial,"%d",(int)nc.serial);+currentSerial->setText(serial);+}+netStatGroup->addChild(currentSerial);++mplayTitle = new StaticDisplay;+mplayTitle->setRect( Rect(-.7, -.2, .7, .1) );+mplayTitle->setText("Current Ship:");+mplayTitle->setTextColor( GUI_OPAQUE_WHITE() );+mplayTitle->setColor(GUI_CLEAR);+mplayTitle->setFont( Font(.07, 2) );+netStatGroup->addChild(mplayTitle);++StaticDisplay* currentFighter = new StaticDisplay;+currentFighter->setRect( Rect(-.6, -.3, .6, .1) );+currentFighter->setColor( GUI_CLEAR );+currentFighter->setFont( Font(.07) );+currentFighter->setMultiLine(false);+currentFighter->setTextColor(GFXColor(1,.7,.9));+Unit *player = nc.getUnit();+if (player) {+currentFighter->setText(player->getFullname());+} else {+currentFighter->setTextColor(GFXColor(1,.6,.6));+currentFighter->setText("(Currently Destroyed)");+}+netStatGroup->addChild(currentFighter);++mplayTitle = new StaticDisplay;+mplayTitle->setRect( Rect(0, -.2, .7, .1) );+mplayTitle->setText("Faction:");+mplayTitle->setTextColor( GUI_OPAQUE_WHITE() );+mplayTitle->setColor(GUI_CLEAR);+mplayTitle->setFont( Font(.07, 2) );+netStatGroup->addChild(mplayTitle);++StaticDisplay* currentFaction = new StaticDisplay;+currentFaction->setRect( Rect(.1, -.3, .6, .1) );+currentFaction->setColor( GUI_CLEAR );+currentFaction->setFont( Font(.07) );+currentFaction->setMultiLine(false);+if (player) {+int fact = player->faction;+const float *col = FactionUtil::GetSparkColor(fact);+currentFaction->setTextColor(GFXColor(col[0],col[1],col[2]) );+currentFaction->setText(FactionUtil::GetFaction(fact) );+} else {+currentFaction->setTextColor(GFXColor(1,.6,.6));+currentFaction->setText("(Currently Destroyed)");+}+netStatGroup->addChild(currentFaction);++/*+mplayTitle = new StaticDisplay;+mplayTitle->setRect( Rect(0, -.2, .7, .1) );+mplayTitle->setText("Number of Kills:");+mplayTitle->setTextColor( GUI_OPAQUE_WHITE() );+mplayTitle->setColor(GUI_CLEAR);+mplayTitle->setFont( Font(.07, 2) );+netStatGroup->addChild(mplayTitle);++StaticDisplay* numKills = new StaticDisplay;+numKills->setRect( Rect(.1, -.3, .6, .1) );+numKills->setColor( GUI_CLEAR );+numKills->setFont( Font(.07) );+numKills->setMultiLine(false);+numKills->setTextColor(GUI_OPAQUE_WHITE());+Unit *player = nc.game_unit.GetUnit();+if (player) {+numKills->setText(player->fullname);+} else {+numKills->setTextColor(GFXColor(1,.6,.6));+numKills->setText("(Currently Destroyed)");+}+netStatGroup->addChild(numKills);+*/+NewButton *saveNetGame = new NewButton;+saveNetGame->setRect( Rect(-.6, -.6, .4, .13) );+saveNetGame->setColor( GFXColor(.2,1,0,.1) );+saveNetGame->setTextColor( GUI_OPAQUE_WHITE() );+saveNetGame->setDownColor( GFXColor(.2,1,0,.4) );+saveNetGame->setDownTextColor( GFXColor(.2,.2,.2) );+saveNetGame->setFont( Font(.07, 1) );+saveNetGame->setCommand("NetworkSaveGame");+saveNetGame->setLabel("Save Progress");+netStatGroup->addChild(saveNetGame);++NewButton *reloadNet = new NewButton;+reloadNet->setRect( Rect(.2, -.6, .4, .13) );+reloadNet->setColor( GFXColor(1,.2,0,.1) );+reloadNet->setTextColor( GUI_OPAQUE_WHITE() );+reloadNet->setDownColor( GFXColor(1,.2,0,.4) );+reloadNet->setDownTextColor( GFXColor(.2,.2,.2) );+reloadNet->setFont( Font(.07, 1) );+reloadNet->setCommand("NetworkDie");+reloadNet->setLabel("Die and Reload");+netStatGroup->addChild(reloadNet);++NewButton *hideNetStatus = new NewButton;+hideNetStatus->setRect( Rect(-.2, -.75, .4, .13) );+hideNetStatus->setColor( GFXColor(.2,.8,1,.1) );+hideNetStatus->setTextColor( GUI_OPAQUE_WHITE() );+hideNetStatus->setDownColor( GFXColor(.2,.8,1,.4) );+hideNetStatus->setDownTextColor( GFXColor(.2,.2,.2) );+hideNetStatus->setFont( Font(.07, 1) );+hideNetStatus->setCommand("HideNetworkStatus");+hideNetStatus->setLabel("Join Another Server");+netStatGroup->addChild(hideNetStatus);+} if (m_displayModes.size()!=1 || m_displayModes[0]!=NETWORK) { NewButton * loadsave = new NewButton; loadsave->setRect( Rect(.7, -.9, .25, .1) );@@ -1096,7 +1345,7 @@ loadsave->setFont(Font(.07, 1)); loadsave->setId("CommitAll"); if (Network!=NULL) {-loadsave->setLabel("Load/Quit");+loadsave->setLabel("Single Player"); } else { loadsave->setLabel("Save/Load"); }@@ -1469,10 +1718,27 @@ } +void BaseComputer::showNetworkStatus(bool show) {+Control *group = window()->findControlById("NetworkJoinGroup");+if (group) group->setHidden(show);+group = window()->findControlById("NetworkStatGroup");+if (group) group->setHidden(!show);+}++bool BaseComputer::hideNetworkStatus(const EventCommandId& command, Control* control) {+showNetworkStatus(false);+return true;+}+ bool BaseComputer::changeToNetworkMode(const EventCommandId& command, Control* control) { if(m_currentDisplay != NETWORK) { switchToControls(NETWORK); }+if (Network) {+showNetworkStatus(true);+} else {+showNetworkStatus(false);+} loadNetworkControls(); return true; }@@ -5641,6 +5907,9 @@ if (tmp.length()>0) { co*ckpit* co*ckpit = player?_Universe->isPlayerStarship(player):0; if(player && co*ckpit) {+UniverseUtil::showSplashScreen("");+UniverseUtil::showSplashMessage("Loading saved game.");+NetClient::CleanUp(); UniverseUtil::setCurrentSaveGame(tmp); player->Kill(); RespawnNow(co*ckpit);@@ -5699,29 +5968,24 @@ return true; } +bool BaseComputer::actionNetSaveGame(const EventCommandId& command, Control* control) {+NetActionConfirm *nak = new NetActionConfirm(0, window(), NetActionConfirm::SAVEACCT);+nak->init();+nak->run();+// NETFIXME: Implementme+return true;+}+ bool BaseComputer::actionJoinGame(const EventCommandId& command, Control* control) {-string user, pass;-int which = 0;-Unit* player = m_player.GetUnit();-if (player) {-which = _Universe->whichPlayerStarship(player);-player->Kill();+NetActionConfirm *nak = new NetActionConfirm(0, window(), NetActionConfirm::JOINGAME);+if (Network!=NULL) {+// confirm.+nak->init();+nak->run();+} else {+nak->confirmedJoinGame(); }-if (which==-1)-which=0;-_Universe->clearAllSystems(); -processJoinGame(window(), false, user, pass);--globalWindowManager().shutDown();-TerminateCurrentBase(); //BaseInterface::CurrentBase->Terminate();--UniverseUtil::showSplashScreen(string());-Network[which].connectLoad(user, pass);-Network[which].startGame();-UniverseUtil::hideSplashScreen();- return true; }- // Process a command event from the Options Menu window.Modified: trunk/vegastrike/src/cmd/basecomputer.h===================================================================--- trunk/vegastrike/src/cmd/basecomputer.h2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/cmd/basecomputer.h2007-08-16 10:38:21 UTC (rev 11269)@@ -157,7 +157,8 @@ // Load Game bool actionConfirmedQuitGame(); bool actionQuitGame(const EventCommandId& command, Control* control);-++ bool actionNetSaveGame(const EventCommandId& command, Control* control); bool actionJoinGame(const EventCommandId& command, Control* control); bool actionShowAccountMenu(const EventCommandId& command, Control* control); bool actionShowServerMenu(const EventCommandId& command, Control* control);@@ -184,6 +185,9 @@ bool changeToLoadSaveMode(const EventCommandId& command, Control* control); // Change display mode to NETWORK. bool changeToNetworkMode(const EventCommandId& command, Control* control);+void showNetworkStatus(bool show=true);+bool hideNetworkStatus(const EventCommandId& command, Control* control);+ // Redo the title string. void recalcTitle(void); @@ -210,6 +214,10 @@ void updateTransactionControlsForSelection(TransactionList* list); // Load the controls for the MISSIONS display. void loadShipDealerControls(void);++ void secondStageJoinGame(void);+ void finalizeJoinGame(int launchShip=0);+ void finalizeNetSaveGame(void); protected: // Hide the controls that commit transactions.Modified: trunk/vegastrike/src/cmd/music.cpp===================================================================--- trunk/vegastrike/src/cmd/music.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/cmd/music.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -735,7 +735,7 @@ void Music::InitMuzak() {- muzak_count = XMLSupport::parse_int( vs_config->getVariable ("audio","music_layers","2") );+ muzak_count = XMLSupport::parse_int( vs_config->getVariable ("audio","music_layers","1") ); muzak = new Music[muzak_count]; } Modified: trunk/vegastrike/src/cmd/unit_factory.h===================================================================--- trunk/vegastrike/src/cmd/unit_factory.h2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/cmd/unit_factory.h2007-08-16 10:38:21 UTC (rev 11269)@@ -135,7 +135,8 @@ static ContinuousTerrain*createContinuousTerrain( const char * file, Vector scale, float position, Matrix & t); // Function used to put in a NetBuffer the necessary info to create the unit so that it can be send over network-static void addUnitBuffer( NetBuffer & netbuf, const char *filename,+static void addUnitBuffer( NetBuffer & netbuf, const string &filename,+ const string &name, const string &fullname, bool SubUnit, int faction, std::string customizedUnit,Modified: trunk/vegastrike/src/cmd/unit_factory_generic.cpp===================================================================--- trunk/vegastrike/src/cmd/unit_factory_generic.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/cmd/unit_factory_generic.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -24,7 +24,9 @@ return _masterPartList; } -void UnitFactory::addUnitBuffer( NetBuffer & netbuf, const char *filename,+void UnitFactory::addUnitBuffer( NetBuffer & netbuf, const string &filename,+ const string &name,+ const string &fullname, bool SubUnit, int faction, std::string customizedUnit,@@ -34,7 +36,9 @@ { netbuf.addChar(ZoneMgr::AddUnit); netbuf.addSerial( netcreate);-netbuf.addString( string( filename));+netbuf.addString( filename);+netbuf.addString( name);+netbuf.addString( fullname); netbuf.addChar( SubUnit); netbuf.addInt32( faction); netbuf.addString( customizedUnit);@@ -45,7 +49,7 @@ void UnitFactory::addUnitBuffer( NetBuffer & netbuf, const Unit *un, string *netxml) {-addUnitBuffer( netbuf, un->getFilename().c_str(), un->isSubUnit(), un->faction,+addUnitBuffer( netbuf, un->getFilename(), un->name.get(), un->fullname, un->isSubUnit(), un->faction, "" /* Not sure... maybe netxml will take care of this? */, un->curr_physical_state, un->getFlightgroup(), un->getFgSubnumber(), netxml /*For ENTERCLIENT, will generate a saved game netxml*/, un->GetSerial()); }@@ -55,6 +59,8 @@ { ObjSerial serial = netbuf.getSerial(); string file( netbuf.getString());+string name( netbuf.getString());+string fullname( netbuf.getString()); bool sub = netbuf.getChar(); int faction = netbuf.getInt32(); string fname( netbuf.getString());@@ -68,6 +74,8 @@ Unit *un = createUnit( file.c_str(), sub, faction, custom, fg, fg_num, NULL, serial); un->curr_physical_state = netbuf.getTransformation();+un->name = name;+un->fullname = fullname; return un; } Modified: trunk/vegastrike/src/gamemenu.cpp===================================================================--- trunk/vegastrike/src/gamemenu.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/gamemenu.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -18,6 +18,7 @@ #include "gfxlib_struct.h" #include "cmd/music.h" +extern void TerminateCurrentBase( void); vector<unsigned int > gamemenu_keyboard_queue; template <>@@ -66,7 +67,8 @@ GFXEndScene(); } -void createNetworkControls(GroupControl *serverConnGroup, std::vector <unsigned int> *inputqueue) {+//static+void GameMenu::createNetworkControls(GroupControl *serverConnGroup, std::vector <unsigned int> *inputqueue) { GroupControl *acctConnGroup = new GroupControl; acctConnGroup->setId("MultiPlayerAccountServer"); acctConnGroup->setHidden(true);@@ -166,12 +168,21 @@ mplayTitle = new StaticDisplay; mplayTitle->setRect( Rect(-.7, -.3, 1, .1) );+mplayTitle->setText("Password: (Server password is usually blank on local games)");+mplayTitle->setTextColor( GUI_OPAQUE_WHITE() );+mplayTitle->setColor(GUI_CLEAR);+mplayTitle->setFont( Font(.07, 2) );+mplayTitle->setId("PasswordTitleHost");+hostConnGroup->addChild(mplayTitle);++mplayTitle = new StaticDisplay;+mplayTitle->setRect( Rect(-.7, -.3, 1, .1) ); mplayTitle->setText("Password:"); mplayTitle->setTextColor( GUI_OPAQUE_WHITE() ); mplayTitle->setColor(GUI_CLEAR); mplayTitle->setFont( Font(.07, 2) ); mplayTitle->setId("PasswordTitle");-serverConnGroup->addChild(mplayTitle);+acctConnGroup->addChild(mplayTitle); TextInputDisplay* passwordInput = new TextInputDisplay(inputqueue,"\x1b\n\t\r"); passwordInput->setPassword('*');@@ -198,7 +209,8 @@ serverConnGroup->addChild(multiStart); } -void GameMenu::startMenuInterface(bool firstTime) {+namespace UniverseUtil {+ void startMenuInterface(bool firstTime, string error) { winsys_set_keyboard_func(gamemenu_keyboard_handler); winsys_set_mouse_func(EventManager::ProcessMouseClick); winsys_set_passive_motion_func(EventManager::ProcessMousePassive);@@ -207,8 +219,12 @@ GameMenu* gm = new GameMenu(firstTime); gm->init(); gm->run();+if (!error.empty()) {+showAlert(error);+} GFXLoop(gamemenu_draw);+ } } void GameMenu::init() {@@ -352,6 +368,7 @@ extern void enableNetwork(bool usenet); bool GameMenu::processSinglePlayerButton(const EventCommandId& command, Control *control) {+NetClient::CleanUp(); enableNetwork(false); restore_main_loop();@@ -359,6 +376,8 @@ GFXLoop(bootstrap_main_loop); } window()->close();+globalWindowManager().shutDown();+TerminateCurrentBase(); //BaseInterface::CurrentBase->Terminate(); return true; } @@ -389,7 +408,109 @@ return true; } -void processJoinGame(Window *window, bool firstTime, string &user, string &pass) {++class ShipSelectorCallback: public ModalDialogCallback {+NetActionConfirm *nac;+public:+ ShipSelectorCallback(NetActionConfirm *nac) : nac(nac) {}+ virtual void modalDialogResult(+ const std::string& id,+ int result,+ WindowController& controller) {+nac->finalizeJoinGame(result);+ }+virtual ~ShipSelectorCallback() {}+};++// Create the window and controls for the Options Menu.+void NetActionConfirm::init(void) {+Window* window = new Window;+setWindow(window);++window->setSizeAndCenter(Size(.9,.5));+window->setTexture("basecomputer.png");+window->setColor( GFXColor(0,1,0,.1) );+window->setOutlineColor( GFXColor(.7,.7,.7) );+window->setOutlineWidth(2.0);+window->setController(this);++// Information.+StaticDisplay* text = new StaticDisplay;+text->setRect( Rect(-.4, -.15, .8, .3) );+if (netAction==JOINGAME) {+text->setText("Leaving your current game and joining a new one will lose all progress since your last save.");+} else if (netAction==SAVEACCT) {+text->setText("Do you want to save your current account progress?");+} else if (netAction==DIE) {+text->setText("Rejoining your current game will lose all progress since your last save.");+}+text->setTextColor(GFXColor(.7,1,.4));+text->setMultiLine(true);+text->setColor(GUI_CLEAR);+text->setFont( Font(.07, 1.25) );+text->setId("Information");+// Put it on the window.+window->addControl(text);++// Save button.+NewButton* cont = new NewButton;+cont->setRect( Rect(.05, -.19, .30, .1) );+if (netAction==SAVEACCT) {+cont->setLabel("Save Account");+cont->setCommand("Save");+} else if (netAction==DIE) {+cont->setLabel("Die");+cont->setCommand("Load");+} else if (netAction==JOINGAME) {+cont->setLabel("Join New Game");+cont->setCommand("JoinGame");+}+cont->setColor( GFXColor(1,.5,0,.25) );+cont->setTextColor( GUI_OPAQUE_WHITE() );+cont->setDownColor( GFXColor(1,.5,0,.6) );+cont->setDownTextColor( GUI_OPAQUE_BLACK() );+cont->setHighlightColor( GFXColor(0,1,0,.4) );+cont->setFont(Font(.08, BOLD_STROKE));+// Put the button on the window.+window->addControl(cont);++// Abort action button+NewButton* resume = new NewButton;+resume->setRect( Rect(-.35, -.20, .30, .12) );+resume->setLabel("Cancel");+resume->setCommand("Window::Close");+resume->setColor( GFXColor(0,1,0,.25) );+resume->setTextColor( GUI_OPAQUE_WHITE() );+resume->setDownColor( GFXColor(0,1,0,.6) );+resume->setDownTextColor( GUI_OPAQUE_BLACK() );+resume->setHighlightColor( GFXColor(0,1,0,.4) );+resume->setFont(Font(.08, BOLD_STROKE));+// Put the button on the window.+window->addControl(resume);++window->setModal(true);+}++// Process a command event from the Options Menu window.+bool NetActionConfirm::processWindowCommand(const EventCommandId& command, Control* control) {+if(command == "Save") {+confirmedNetSaveGame();+window()->close();+} else if(command == "Load") {+// Not implemented yet.+// m_parent->();+window()->close();+} else if(command == "JoinGame") {+confirmedJoinGame();+} else {+// Not a command we know about.+return WindowController::processWindowCommand(command, control);+}++return true;+}++void GameMenu::readJoinGameControls(Window *window, string &user, string &pass) { // Magic goes here! user = static_cast<TextInputDisplay*>(window->findControlById("Username"))->text(); string::size_type pos=user.find(' ');@@ -414,36 +535,103 @@ } enableNetwork(true);-if (!firstTime) {-if (Network!=NULL) {-for (unsigned int i=0;i<_Universe->numPlayers();i++) {-Network[i].Reinitialize();-}-} else {-Network = new NetClient[_Universe->numPlayers()]; // Hardcode 1 player anyway.+if (Network!=NULL) {+for (unsigned int i=0;i<_Universe->numPlayers();i++) {+Network[i].Reinitialize(); }+} else {+Network = new NetClient[_Universe->numPlayers()]; // Hardcode 1 player anyway. } } -bool GameMenu::processJoinGameButton(const EventCommandId& command, Control *control) {-string user, pass;-processJoinGame(window(), m_firstTime, user, pass);+bool NetActionConfirm::confirmedNetSaveGame() {+// Do nothing yet.+return false;+} -if (!m_firstTime) {+bool NetActionConfirm::confirmedJoinGame() {+string user, pass, err;+GameMenu::readJoinGameControls(m_parent, user, pass);++UniverseUtil::showSplashScreen(string());+int numships = Network[player].connectLoad(user, pass, err);+if (numships) {+const vector<string> &shipList = Network[player].shipSelections();+if (shipList.size()>1) {+showListQuestion("Select a ship to fly", shipList,+new ShipSelectorCallback(this), "ShipSelected" );+} else {+finalizeJoinGame(0);+}+} else {+UniverseUtil::hideSplashScreen();+if (window()) window()->close();+showAlert("Error when joining game!\n\n"+err);+NetClient::CleanUp();+return false;+}+return true;+}++// Caller is responsible for closing the window afterwards. (?)+//static+bool NetActionConfirm::finalizeJoinGame(int launchShip) {+if (!Network[player].loginSavedGame(launchShip)) {+showAlert("Error when logging into game with this ship!");+if (window()) window()->close();+NetClient::CleanUp();+return false;+}+if (!UniverseUtil::isSplashScreenShowing()) {+UniverseUtil::showSplashScreen("");+UniverseUtil::showSplashMessage("#cc66ffNETWORK: Loading saved game.");+}++co*ckpit *cp = NULL;+Unit *playun = NULL;+if (_Universe) {+cp = _Universe->Accessco*ckpit(player);+}+if (cp) {+playun = cp->GetParent();+}+if (playun) {+playun->Kill();+}+if (_Universe) { _Universe->clearAllSystems();-UniverseUtil::showSplashScreen(string()); }-Network[0].connectLoad(user, pass);-Network[0].startGame(); +string err;+ restore_main_loop();-if (m_firstTime) {-GFXLoop(bootstrap_main_loop);-} else {-UniverseUtil::hideSplashScreen();+//if (m_firstTime) {+//GFXLoop(bootstrap_main_loop);+//} else {+//UniverseUtil::hideSplashScreen();+//}+if (window()) window()->close();++if (m_parent) {+m_parent->close(); }-window()->close();++globalWindowManager().shutDown();+TerminateCurrentBase(); //BaseInterface::CurrentBase->Terminate();++Network[player].startGame();+UniverseUtil::hideSplashScreen();+ return true; } +bool GameMenu::processJoinGameButton(const EventCommandId& command, Control *control) {+NetActionConfirm *nak = new NetActionConfirm(0, window(), NetActionConfirm::JOINGAME);+//nak->init();+//nak->run();+nak->confirmedJoinGame();++return true;+}+Modified: trunk/vegastrike/src/gamemenu.h===================================================================--- trunk/vegastrike/src/gamemenu.h2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/gamemenu.h2007-08-16 10:38:21 UTC (rev 11269)@@ -13,8 +13,6 @@ GameMenu(bool firsttime); virtual ~GameMenu(void); -static void startMenuInterface(bool firsttime);- protected: bool m_firstTime; @@ -26,14 +24,44 @@ bool processMainMenuButton(const EventCommandId& command, Control *control); void createControls();++public:+// Helper functions for use in a submenu of BaseComputer.++// Caller is responsible for making a return button, as well as adding the "JoinGame" WctlTableEntry+static void createNetworkControls(GroupControl *serverConnGroup, std::vector <unsigned int> *keyboard_input_queue);+static void readJoinGameControls(Window *window, string &user, string &pass);+ }; -// Helper functions for use in a submenu of BaseComputer.+class NetActionConfirm : public WindowController {+public:+ enum ActionMode {SAVEACCT, JOINGAME, DIE};+private:+ int player;+Window *m_parent;+ string type;+ string text;+ string savefile;+ActionMode netAction;+public:++ // CONSTRUCTION.+ NetActionConfirm(int pnum, Window *w, ActionMode action) :+player(pnum), m_parent(w), netAction(action) {+ }+ virtual ~NetActionConfirm(void) {};+ + // Set up the window and get everything ready.+ virtual void init(void);+ + // Process a command event from the window.+ virtual bool processWindowCommand(const EventCommandId& command, Control* control); -// Caller is responsible for making a return button, as well as adding the "JoinGame" WctlTableEntry-void createNetworkControls(GroupControl *serverConnGroup, std::vector <unsigned int> *keyboard_input_queue);+virtual bool finalizeJoinGame(int launchShip=0);+virtual bool confirmedJoinGame(); -// Caller is responsible for closing the window afterwards.-void processJoinGame(Window *window, bool firstTime, string &user, string &pass);+virtual bool confirmedNetSaveGame();+}; #endifModified: trunk/vegastrike/src/gui/font.cpp===================================================================--- trunk/vegastrike/src/gui/font.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/gui/font.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -69,8 +69,12 @@ // the same distance in all directions, so we need to apply the ratio of vert / horiz // resolution. Otherwise the fonts are slightly stretched horizontally -- there // are more pixels horizontally than vertically per unit in the identity coord space.- m_horizontalScaling = (m_verticalScaling * g_game.y_resolution) / g_game.x_resolution;-+if (useStroke()) {+m_horizontalScaling = (m_verticalScaling * g_game.y_resolution) / g_game.x_resolution;+} else {+// Calculation above seems broken... this seems to work for most sizes with bitmap.+m_horizontalScaling = m_verticalScaling / 1.6;+} // The size of a horizontal pixel in reference space. const double horizPixelInRefSpace = REFERENCE_LINE_SPACING / (g_game.x_resolution/2) / size(); Modified: trunk/vegastrike/src/gui/modaldialog.cpp===================================================================--- trunk/vegastrike/src/gui/modaldialog.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/gui/modaldialog.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -46,13 +46,18 @@ WindowController::run(); } +void ModalDialog::modalFinished() {+globalEventManager().removeResponder(window());+// One of our buttons was clicked. We're done.+window()->close();++if(m_callback) {+m_callback->modalDialogResult(m_callbackId, m_result, *this);+}+}+ // Process a command from the window. bool ModalDialog::processWindowCommand(const EventCommandId& command, Control* control) {- if(m_callback && command == "Window::Close") {-globalEventManager().removeResponder(window());- m_callback->modalDialogResult(m_callbackId, m_result, *this);- }- return WindowController::processWindowCommand(command, control); } @@ -285,15 +290,14 @@ bool YesNoDialog::processWindowCommand(const EventCommandId& command, Control* control) { if(command == "Yes") { m_result = YES_ANSWER;+modalFinished(); } else if(command == "No") { m_result = NO_ANSWER;+modalFinished(); } else { // We only care about buttons clicked. return QuestionDialog::processWindowCommand(command, control); }-- // One of our buttons was clicked. We're done.- window()->close(); return true; } @@ -311,7 +315,7 @@ if(command == "Cancel") { // Just close down, with the result unknown. m_result = (-1);- window()->close();+ modalFinished(); return true; } else if(command == "OK") { // The OK button was clicked.@@ -320,7 +324,7 @@ m_result = picker->selectedItem(); if(m_result >= 0) { // We have a selection. We are done.- window()->close();+ modalFinished(); } else { // Ignore OK button until we have a selection. // Do nothing here.@@ -334,6 +338,10 @@ assert(false); // Should never get here. } +SimplePicker *ListQuestionDialog::getPicker() {+return static_cast<SimplePicker*>( window()->findControlById("Picker") );+}+ // Display a modal list of options. // The result is supplied in the callback. void showListQuestion(const std::string& title, const std::vector<std::string>& options,@@ -343,7 +351,7 @@ dialog->setCallback(cb, id); // Fill the picker with the choices supplied by the caller.- SimplePicker* picker = static_cast<SimplePicker*>( dialog->window()->findControlById("Picker") );+ SimplePicker* picker = dialog->getPicker(); assert(picker != NULL); for(int i=0; i<options.size(); i++) { picker->addCell(new SimplePickerCell(options[i]));Modified: trunk/vegastrike/src/gui/modaldialog.h===================================================================--- trunk/vegastrike/src/gui/modaldialog.h2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/gui/modaldialog.h2007-08-16 10:38:21 UTC (rev 11269)@@ -71,6 +71,8 @@ // Process a command event from the window. virtual bool processWindowCommand(const EventCommandId& command, Control* control); +void modalFinished(void);+ // CONSTRUCTION ModalDialog(); virtual ~ModalDialog(void) {};@@ -137,6 +139,8 @@ // Process a command event from the window. virtual bool processWindowCommand(const EventCommandId& command, Control* control); + class SimplePicker *getPicker();+ protected: static void CreateControlsForListWindow(Window* w); };Modified: trunk/vegastrike/src/main.cpp===================================================================--- trunk/vegastrike/src/main.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/main.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -464,7 +464,7 @@ if (i++>4) { if (_Universe) { if (isgamemenu) {- GameMenu::startMenuInterface(true);+ UniverseUtil::startMenuInterface(true); } else { _Universe->Loop(bootstrap_main_loop); }@@ -592,7 +592,12 @@ /************* NETWORK PART ***************/ if( Network!=NULL) {-savefiles.push_back( *Network[k].connectLoad(pname, ppasswd) );+string err;+ if (!Network[k].connectLoad(pname, ppasswd, err)) {+cout<<"error while connecting: "<<err<<endl;+VSExit(1);+}+savefiles.push_back( *Network[k].loginSavedGame(0) ); _Universe->Accessco*ckpit(k)->savegame->ParseSaveGame ("",mysystem,mysystem,pos,setplayerXloc,credits,_Universe->Accessco*ckpit()->unitfilename,k, savefiles[k][0], false); _Universe->Accessco*ckpit(k)->TimeOfLastCollision=getNewTime(); /*Modified: trunk/vegastrike/src/main_loop.cpp===================================================================--- trunk/vegastrike/src/main_loop.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/main_loop.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -823,6 +823,13 @@ for(int s=0;s < fg->nr_ships;s++) {+ if (a >= mission->number_of_ships) {+ a-=22;+ printf("Error: in createObjects: more ships in flightgroups than in total for mission!\n"+ "Variables a=%d, fg-number-of-ships=%d, total nr=%d, fact=%s, fgname=%s\n",+ a, fg->nr_ships, mission->number_of_ships, fg->faction.c_str(), fg->name.c_str());+ break;+ } numf++; QVector pox (1000+150*a,100*a,100); Modified: trunk/vegastrike/src/networking/acctserver.cpp===================================================================--- trunk/vegastrike/src/networking/acctserver.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/networking/acctserver.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -136,7 +136,7 @@ delete CONFIGFILE; delete vs_config; vs_config=NULL;- Network->disconnect( "Shutting down.", true );+ Network->disconnect( "Shutting down." ); } void AccountServer::recvMsg( SOCKETALT sock)@@ -583,7 +583,7 @@ } if( !found) nbs_disc++;- j->disconnect( "\tclosing socket", false );+ j->disconnect( "\tclosing socket" ); Socks.remove( (*j)); } cout<<"\tDisconnected "<<nbc_disc<<" clients associated with that server socket"<<endl;Modified: trunk/vegastrike/src/networking/client.h===================================================================--- trunk/vegastrike/src/networking/client.h2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/networking/client.h2007-08-16 10:38:21 UTC (rev 11269)@@ -83,6 +83,7 @@ charsecured; charjumpok; stringjumpfile;+ObjSerialnetversion; vector<string>savegame; floatcomm_freq; ClientState last_packet; // Last FullUpdate packet recieved.Modified: trunk/vegastrike/src/networking/clientptr.h===================================================================--- trunk/vegastrike/src/networking/clientptr.h2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/networking/clientptr.h2007-08-16 10:38:21 UTC (rev 11269)@@ -20,13 +20,40 @@ #include <map> #include <list> #include <vector>+class Client;++#ifdef USE_BOOST_WEAK_PTR+ #include "boost/smart_ptr.hpp" #include "boost/weak_ptr.hpp" -class Client;- typedef boost::shared_ptr<Client> ClientPtr; typedef boost::weak_ptr<Client> ClientWeakPtr;+#else++template <class T> class NormalPtr {+T *val;+public:+NormalPtr(T*val) :val(val) {}+NormalPtr(const NormalPtr<T> &p) : val(p.val) {}+NormalPtr() :val(NULL) {}+~NormalPtr() {}+T& operator*() {return *val;}+const T& operator*() const {return *val;}+T* operator->() {return val;}+const T* operator->() const {return val;}+T* get() { return val; }+const T* get() const { return val; }+void reset() { val=NULL; }+bool expired() { return false; }+operator bool() const { return val?true:false; }+bool operator !() const { return val?false:true; }+};++typedef NormalPtr<Client> ClientPtr;+typedef NormalPtr<Client> ClientWeakPtr;+#endif+ typedef std::map<int,ClientPtr> ClientMap; typedef std::pair<int,ClientPtr> ClientPair; typedef std::map<int,ClientPtr>::iterator ClientIt;Modified: trunk/vegastrike/src/networking/lowlevel/netbuffer.cpp===================================================================--- trunk/vegastrike/src/networking/lowlevel/netbuffer.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/networking/lowlevel/netbuffer.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -5,9 +5,8 @@ #include "posh.h" #include "gfxlib_struct.h" std::string getSimpleString(std::string &input){- std::string::size_type where=input.find(" "); int len=getSimpleInt(input);- if (len>=0&&len<=input.length()){+ if (len>=0&&(unsigned int)len<=input.length()){ std::string retval=input.substr(0,len); input=input.substr(len); return retval;@@ -86,7 +85,7 @@ char *NetBuffer::getData() { return buffer;} // Extends the buffer if we exceed its size-voidNetBuffer::resizeBuffer( int newsize)+voidNetBuffer::resizeBuffer( unsigned int newsize) { if( size-1 < newsize) {@@ -186,10 +185,11 @@ } bool NetBuffer::checkType(unsigned char c) {+const char *typ = getTypeStr(c);+checkBuffer(1, typ); // Does this type exist? unsigned char got = getType(); if (got != c) {-const char *typ = getTypeStr(c); const char *typgot = getTypeStr(got); std::cerr<<"!!! ERROR : attempt to read invalid data at offset="<<offset<<": Actual type is a "<<typgot<<" but I wanted a "<<typ<<" !!!"<<std::endl; @@ -788,5 +788,5 @@ this->addChar( light.islocal); } -intNetBuffer::getDataLength() { return offset;}-intNetBuffer::getSize() { return size;}+unsigned intNetBuffer::getDataLength() { return offset;}+unsigned intNetBuffer::getSize() { return size;}Modified: trunk/vegastrike/src/networking/lowlevel/netbuffer.h===================================================================--- trunk/vegastrike/src/networking/lowlevel/netbuffer.h2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/networking/lowlevel/netbuffer.h2007-08-16 10:38:21 UTC (rev 11269)@@ -20,8 +20,8 @@ class NetBuffer { char *buffer;-intoffset;-intsize;+unsigned intoffset;+unsigned intsize; public : NetBuffer();@@ -31,9 +31,9 @@ voidReset(); char *getData();- int getOffset()const {return offset;} //useful to see if it's at the end of data+unsigned int getOffset()const {return offset;} //useful to see if it's at the end of data // Extends the buffer if we exceed its size-voidresizeBuffer( int newsize);+voidresizeBuffer( unsigned int newsize); // Check if there is still enough data for 'len' to be read in buffer boolcheckBuffer( int len, const char * fun); @@ -106,8 +106,8 @@ GFXLightLocalgetGFXLightLocal(); voidaddGFXLightLocal( const GFXLightLocal & light); -intgetDataLength();-intgetSize();+unsigned intgetDataLength();+unsigned intgetSize(); }; #endifModified: trunk/vegastrike/src/networking/lowlevel/netui.cpp===================================================================--- trunk/vegastrike/src/networking/lowlevel/netui.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/networking/lowlevel/netui.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -1,4 +1,5 @@ #include <config.h>+#include <vector> #include "networking/const.h" #include "netui.h"@@ -78,10 +79,15 @@ } if (isTCP) {- COUT << "Connecting to " << inet_ntoa( remote_ip.sin_addr) << " on port " << remote_ip.sin_port << std::endl;-if (NONBLOCKING_CONNECT&&isHTTP) {+ COUT << "Connecting to " << inet_ntoa( remote_ip.sin_addr) << " on port " << ntohs(remote_ip.sin_port) << std::endl;+// NETFIXME: Always doing nonblocking because it's good for your health.+// Plus, we use select() for every read/write, so it should be safe.+if (NONBLOCKING_CONNECT) { //&&isHTTP) { VsnetOSS::set_blocking( local_fd, false ); // Connect may hang... we don't want that. }+// No, it really is good for your health. You don't have to stare at+// the screen for 3 minutes until the OS times out the connection.+ #if defined(_WIN32) && !defined(__CYGWIN__) if( ::connect( local_fd, (sockaddr *)&remote_ip, sizeof( struct sockaddr))==SOCKET_ERROR) #else@@ -217,17 +223,25 @@ // Creates and bind the socket designed to receive coms // host == NULL -> localhost +std::vector<SOCKETALT> UDP_pool;+ SOCKETALT NetUIUDP::createSocket( const char * host, unsigned short srv_port, unsigned short clt_port, SocketSet& set ) { COUT << " enter " << __PRETTY_FUNCTION__ << std::endl; static_initNetwork( );-+ // If port is not given, use the defaults ones --> do not work with specified ones yet... well, didn't try if( srv_port==0 ) srv_port = SERVER_PORT; if( clt_port==0 ) clt_port = SERVER_PORT;+ AddressIP remote_ip = NetUIBase::lookupHost(host, srv_port); +if (!UDP_pool.empty()) {+SOCKETALT ret = UDP_pool.back();+ret.setRemoteAddress(remote_ip);+return ret;+}+ AddressIP local_ip = NetUIBase::lookupHost("0.0.0.0", clt_port);- AddressIP remote_ip = NetUIBase::lookupHost(host, srv_port); int local_fd = NetUIBase::createClientSocket( local_ip, false,false ); if (local_fd == -1) {@@ -277,6 +291,13 @@ COUT << "Bind on localhost, " << ret << std::endl; return ret; }++void NetUIUDP::disconnectSaveUDP(SOCKETALT udp) {+if (udp.valid()) {+UDP_pool.push_back(udp);+}+}+ /* // This is as simple as NetUI (factory) functions *SHOULD* be. SOCKETALT NetUIHTTP::createSocket(const char* uri, SocketSet &set)Modified: trunk/vegastrike/src/networking/lowlevel/netui.h===================================================================--- trunk/vegastrike/src/networking/lowlevel/netui.h2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/networking/lowlevel/netui.h2007-08-16 10:38:21 UTC (rev 11269)@@ -57,6 +57,7 @@ public: static SOCKETALT createSocket( const char * host, unsigned short srv_port, unsigned short clt_port, SocketSet& set ); static SOCKETALT createServerSocket( unsigned short port, SocketSet& set );+static void disconnectSaveUDP(SOCKETALT udp); }; #endif /* VS_NETUI_H */Modified: trunk/vegastrike/src/networking/lowlevel/vsnet_cmd.cpp===================================================================--- trunk/vegastrike/src/networking/lowlevel/vsnet_cmd.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/networking/lowlevel/vsnet_cmd.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -44,6 +44,8 @@ CASE( LOGIN_ALREADY ) CASE( LOGIN_NEW ) CASE( CMD_RESPAWN )+ CASE( CMD_RESYNCACCOUNTS)+ CASE( CMD_SAVEACCOUNTS ) CASE( CMD_SNAPCARGO ) CASE( CMD_CARGOUPGRADE )@@ -74,6 +76,8 @@ CASE( CMD_EXITCLIENT ) CASE( CMD_ADDEDYOU ) CASE( CMD_DISCONNECT )+ CASE( CMD_CONNECT )+ CASE( CMD_CHOOSESHIP ) // CASE( CMD_ACK ) default :Modified: trunk/vegastrike/src/networking/lowlevel/vsnet_cmd.h===================================================================--- trunk/vegastrike/src/networking/lowlevel/vsnet_cmd.h2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/networking/lowlevel/vsnet_cmd.h2007-08-16 10:38:21 UTC (rev 11269)@@ -36,6 +36,7 @@ LOGIN_ALREADY ,// Packet sent from account server to client // to tell account is already being used LOGIN_NEW ,+ LOGIN_CHOOSESHIP , LOGIN_UNAVAIL ,// Packet sent from game server to client : // account server is unavailable -> no login @@ -112,6 +113,9 @@ // to do a backup CMD_NEWSUBSCRIBE ,// Account server : handle a new account creation // (login/passwd) on the web+CMD_CONNECT,// C->S, response S->C: Upon opening connection+CMD_CHOOSESHIP,// S->C, response C->S: Server needs client to choose a ship+// before it can send LOGIN_ACCEPT. CMD_DISCONNECT ,// UDP : after a problem (not clean exit) to make // the client exit if still aliveModified: trunk/vegastrike/src/networking/lowlevel/vsnet_socket.cpp===================================================================--- trunk/vegastrike/src/networking/lowlevel/vsnet_socket.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/networking/lowlevel/vsnet_socket.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -167,9 +167,9 @@ } } -void SOCKETALT::disconnect( const char *s, bool fexit )+void SOCKETALT::disconnect( const char *s ) {- if( _sock ) _sock->disconnect( s, fexit );+ if( _sock ) _sock->disconnect( s ); } bool SOCKETALT::sameAddress( const SOCKETALT& l ) constModified: trunk/vegastrike/src/networking/lowlevel/vsnet_socket.h===================================================================--- trunk/vegastrike/src/networking/lowlevel/vsnet_socket.h2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/networking/lowlevel/vsnet_socket.h2007-08-16 10:38:21 UTC (rev 11269)@@ -61,7 +61,7 @@ bool set_block(); int recvbuf( Packet* p, AddressIP* ipadr );- void disconnect( const char *s, bool fexit = true );+ void disconnect( const char *s ); bool sameAddress( const SOCKETALT& l) const; bool lowerAddress( const SOCKETALT& l) const;Modified: trunk/vegastrike/src/networking/lowlevel/vsnet_socketbase.cpp===================================================================--- trunk/vegastrike/src/networking/lowlevel/vsnet_socketbase.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/networking/lowlevel/vsnet_socketbase.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -154,7 +154,7 @@ return ( _noblock == 1 ); } -void VsnetSocketBase::disconnect( const char *s, bool fexit )+void VsnetSocketBase::disconnect( const char *s) { CHECK_VALID if( _fd > 0 )@@ -164,9 +164,5 @@ child_disconnect( s ); - if( fexit )- {- exit(1);- } } Modified: trunk/vegastrike/src/networking/lowlevel/vsnet_socketbase.h===================================================================--- trunk/vegastrike/src/networking/lowlevel/vsnet_socketbase.h2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/networking/lowlevel/vsnet_socketbase.h2007-08-16 10:38:21 UTC (rev 11269)@@ -56,7 +56,7 @@ virtual bool isActive( ) = 0; - void disconnect( const char *s, bool fexit );+ void disconnect( const char *s ); virtual bool lower_selected( int datalen=-1 ) = 0; Modified: trunk/vegastrike/src/networking/lowlevel/vsnet_sockethttp.cpp===================================================================--- trunk/vegastrike/src/networking/lowlevel/vsnet_sockethttp.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/networking/lowlevel/vsnet_sockethttp.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -205,13 +205,20 @@ const char *httpDataStr = httpData.data(); int pos = 0; int retrycnt = 10;+int blockcnt = 10; while (true) { int len = httpData.length() - pos; int netsent; netsent = ::send( _fd, &httpDataStr[pos], len, 0 ); if (netsent <=0 ) { if (vsnetEWouldBlock()) {-continue;+if (blockcnt>0) {+blockcnt--;+continue;+} else {+// Can't hold up anything trying to wait to send data.+return 0;+} } if (retrycnt) { //printf("Server closed in writing... reopening\n");Modified: trunk/vegastrike/src/networking/lowlevel/vsnet_sockettcp.cpp===================================================================--- trunk/vegastrike/src/networking/lowlevel/vsnet_sockettcp.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/networking/lowlevel/vsnet_sockettcp.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -317,7 +317,7 @@ { if( close_fd() < 0 ) {- COUT << s << " :\tWarning: disconnected" << strerror(errno) << endl;+ COUT << s << " :\tWarning: disconnect error: " << strerror(errno) << endl; } else {@@ -326,7 +326,7 @@ } else {- COUT << s << " :\tWarning: disconnected" << strerror(errno) << endl;+ COUT << s << " :\tWarning: disconnect null socket: " << strerror(errno) << endl; } } @@ -378,7 +378,7 @@ if( _connection_closed ) { COUT << "Connection already closed" << endl;- return false; /* Pretty sure that recv will return 0. */+ return true; /* Pretty sure that recv will return 0. */ } bool endless = true;@@ -405,6 +405,7 @@ _connection_closed = true; close_fd(); _set.add_pending( _sq_fd );+return true; } else if( vsnetEWouldBlock() == false ) {@@ -415,7 +416,7 @@ perror( "receiving TCP packetlength bytes" ); _connection_closed = true; close_fd();-return false;+return true; } else { //COUT << "Received EWOULDBLOCK." << (get_nonblock()?"true":"false") << endl; }@@ -460,7 +461,7 @@ close_fd(); _set.add_pending( _sq_fd ); }-return false;+return true; } else if (vsnetEWouldBlock()){ static int i=0; if (i++%128==0)Modified: trunk/vegastrike/src/networking/netclient.cpp===================================================================--- trunk/vegastrike/src/networking/netclient.cpp2007-08-16 10:22:40 UTC (rev 11268)+++ trunk/vegastrike/src/networking/netclient.cpp2007-08-16 10:38:21 UTC (rev 11269)@@ -124,7 +124,7 @@ //_downloadManagerClient.reset( new VsnetDownload::Client::Manager( _sock_set ) ); //_sock_set.addDownloadManager( _downloadManagerClient ); _serverip="";- _serverport="";+ _serverport=0; callsign=password=""; this->Clients=ClientsMap(); @@ -207,7 +207,11 @@ getSimpleString(netbuf);//uname getSimpleString(netbuf);//passwd _serverip = getSimpleString(netbuf);-_serverport = getSimpleString(netbuf);+const char *srvport = getSimpleString(netbuf).c_str();+int porttemp = atoi(srvport);+if (porttemp>65535) porttemp=0;+if (porttemp<0) porttemp=0;+this->_serverport = (unsigned short)porttemp; COUT << "<<< LOGIN DATA --------------------------------------"<<endl; } break;@@ -274,7 +278,11 @@ { this->clt_sock = NetUIUDP::createSocket( addr, port, _sock_set ); }-+if (!this->clt_sock) {+perror( "Error creating socket ");+cleanexit=true;+VSExit(1);+} if( this->authenticate() == -1) { perror( "Error login in ");@@ -343,6 +351,10 @@ { ret = recvMsg( outpacket, &tv ); }+if (ret==-1) {+UniverseUtil::startMenuInterface(false, "Connection to VegaServer closed.");+return -1;+} // If we have network communications enabled and webcam support enabled we grab an image if( NetComm!=NULL && NetComm->IsActive()) {@@ -449,14 +461,14 @@ int socketstat = _sock_set.wait( timeout ); if (!clt_tcp_sock->valid()) { perror( "Error socket closed ");-clt_tcp_sock->disconnect( "socket error", 0 );-VSExit(1);+clt_tcp_sock->disconnect( "socket error closed" );+// NETFIXME: Error handling on socket error? Exit? return -1; } if( socketstat < 0) { perror( "Error select -1 ");-clt_tcp_sock->disconnect( "socket error", 0 );+clt_tcp_sock->disconnect( "socket error recv err" ); return -1; } if ( socketstat == 0 )@@ -480,7 +492,7 @@ { // If nothing has come in either queue, and the select did not return 0, then this must be from a socket error. perror( "Error recv -1 ");-clt_tcp_sock->disconnect( "socket error", 0 );+clt_tcp_sock->disconnect( "socket error recv" ); return -1; } }@@ -500,6 +512,17 @@ switch( cmd ) { // Login accept+ case CMD_CONNECT:+{+this->server_netversion = netbuf.getSerial();+... [truncated message content]

[Vegastrike-cvs] SF.net SVN: vegastrike: [11284] trunk

From: <ac...@us...> - 2007-08-17 21:47:10

Revision: 11284 Author: ace123Date: 2007-08-17 14:47:10 -0700 (Fri, 17 Aug 2007)Log Message:-----------Got new texture compression code compiling under Windows.Modified Paths:-------------- trunk/vega-vc7/vegastrike.vcproj trunk/vega-vc7/vsserver/vsserver.vcproj trunk/vegastrike/src/gfx/vsimage.cpp trunk/vegastrike/src/gfx/vsimage.hModified: trunk/vega-vc7/vegastrike.vcproj===================================================================--- trunk/vega-vc7/vegastrike.vcproj2007-08-17 20:51:35 UTC (rev 11283)+++ trunk/vega-vc7/vegastrike.vcproj2007-08-17 21:47:10 UTC (rev 11284)@@ -229,7 +229,6 @@ CharacterSet="2"> <Tool Name="VCCLCompilerTool"-AdditionalOptions="/Zm500" Optimization="0" AdditionalIncludeDirectories="include\;include\python\;.\;..\vegastrike\boost\1_33\;..\vegastrike\src\;..\vegastrike\vc98\" PreprocessorDefinitions="_DEBUG;NDEBUG;YY_NEVER_INTERACTIVE;BOOST_DEBUG_PYTHON;WIN32;_WINDOWS;HAVE_AL;HAVE_SDL;YY_ALWAYS_INTERACTIVE;SDL_WINDOWING;HAVE_BOOST;HAVE_PYTHON;HAVE_OGG;JPEG_SUPPORT;USE_BOOST_131;BOOST_PYTHON_STATIC_LIB"@@ -2957,6 +2956,12 @@ </FileConfiguration> </File> <File+RelativePath="..\vegastrike\src\cmd\fg_util.cpp">+</File>+<File+RelativePath="..\vegastrike\src\cmd\fg_util.h">+</File>+<File RelativePath="..\vegastrike\src\cmd\images.h"> </File> <FileModified: trunk/vega-vc7/vsserver/vsserver.vcproj===================================================================--- trunk/vega-vc7/vsserver/vsserver.vcproj2007-08-17 20:51:35 UTC (rev 11283)+++ trunk/vega-vc7/vsserver/vsserver.vcproj2007-08-17 21:47:10 UTC (rev 11284)@@ -733,6 +733,9 @@ </FileConfiguration> </File> <File+RelativePath="..\..\vegastrike\src\cmd\base_util_server.cpp">+</File>+<File RelativePath="..\..\vegastrike\src\cmd\beam.h"> </File> <File@@ -827,6 +830,12 @@ RelativePath="..\..\vegastrike\src\cmd\faction_xml.cpp"> </File> <File+RelativePath="..\..\vegastrike\src\cmd\fg_util.cpp">+</File>+<File+RelativePath="..\..\vegastrike\src\cmd\fg_util.h">+</File>+<File RelativePath="..\..\vegastrike\src\cmd\ai\fireall.cpp"> </File> <FileModified: trunk/vegastrike/src/gfx/vsimage.cpp===================================================================--- trunk/vegastrike/src/gfx/vsimage.cpp2007-08-17 20:51:35 UTC (rev 11283)+++ trunk/vegastrike/src/gfx/vsimage.cpp2007-08-17 21:47:10 UTC (rev 11284)@@ -633,10 +633,26 @@ #define IS_POT(x) (!((x) & ((x) -1))) +#ifndef GL_COMPRESSED_RGB_S3TC_DXT1_EXT+#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0+#endif+#ifndef GL_COMPRESSED_RGBA_S3TC_DXT1_EXT+#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1+#endif+#ifndef GL_COMPRESSED_RGBA_S3TC_DXT3_EXT+#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2+#endif+#ifndef GL_COMPRESSED_RGBA_S3TC_DXT5_EXT+#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3+#endif+#ifndef GL_TEXTURE_COMPRESSION_HINT_ARB+#define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF+#endif+ unsigned char *VSImage::ReadDDS() { ddsHeader header;-unsigned char *d, *s;+unsigned char *d=NULL, *s=NULL; try { // Probably redundent, we already check this in CheckFormat if( CheckDDSSignature( img_file)!=Ok){Modified: trunk/vegastrike/src/gfx/vsimage.h===================================================================--- trunk/vegastrike/src/gfx/vsimage.h2007-08-17 20:51:35 UTC (rev 11283)+++ trunk/vegastrike/src/gfx/vsimage.h2007-08-17 21:47:10 UTC (rev 11284)@@ -31,7 +31,33 @@ DWORD biClrImportant; } BITMAPINFOHEADER; -typedef struct pxlformat +/**+ * File header of a bitmap. Won't work on mips architecture with + * misaligned structs+ */+typedef struct {+ WORD bfType;+ DWORD bfSize;+ WORD bfReserved1;+ WORD bfReserved2;+ DWORD bfOffBits;+} BITMAPFILEHEADER;+/**+ * The color data of a bitmap+ */+typedef struct {+ BYTE rgbBlue;+ BYTE rgbGreen;+ BYTE rgbRed;+ BYTE rgbReserved;+} RGBQUAD;+#else+#include <windows.h>+#include <wingdi.h>+#endif+++typedef struct { int size; int flags;@@ -41,13 +67,13 @@ int gmask; int bmask; int amask;-};-typedef struct Caps +} pxlformat;+typedef struct { int caps1; int caps2;-};-typedef struct ddsHeader+} Caps;+typedef struct { int size; int flags;@@ -58,33 +84,9 @@ int nmips; pxlformat pixelFormat; Caps caps;-};+} ddsHeader; -/**- * File header of a bitmap. Won't work on mips architecture with - * misaligned structs- */-typedef struct {- WORD bfType;- DWORD bfSize;- WORD bfReserved1;- WORD bfReserved2;- DWORD bfOffBits;-} BITMAPFILEHEADER;-/**- * The color data of a bitmap- */-typedef struct {- BYTE rgbBlue;- BYTE rgbGreen;- BYTE rgbRed;- BYTE rgbReserved;-} RGBQUAD;-#else-#include <windows.h>-#include <wingdi.h>-#endif typedef unsigned char * (textureTransform) (int &bpp, int &color_type, unsigned long &width, unsigned long &height, unsigned char ** row_pointers); textureTransform heightmapTransform; textureTransform terrainTransform;

[Vegastrike-cvs] SF.net SVN: vegastrike: [11285] trunk

From: <ac...@us...> - 2007-08-18 01:37:38

Revision: 11285 Author: ace123Date: 2007-08-17 18:37:36 -0700 (Fri, 17 Aug 2007)Log Message:-----------Networking works on Windows.Added screen to display the local IP address.Modified Paths:-------------- trunk/data4.x/vegaserver.config trunk/vegastrike/src/gamemenu.cpp trunk/vegastrike/src/gui/modaldialog.cpp trunk/vegastrike/src/networking/lowlevel/vsnet_debug.cpp trunk/vegastrike/src/networking/lowlevel/vsnet_debug.h trunk/vegastrike/src/networking/lowlevel/vsnet_notify.cpp trunk/vegastrike/src/networking/netserver.cpp trunk/vegastrike/src/networking/zonemgr.cppModified: trunk/data4.x/vegaserver.config===================================================================--- trunk/data4.x/vegaserver.config2007-08-17 21:47:10 UTC (rev 11284)+++ trunk/data4.x/vegaserver.config2007-08-18 01:37:36 UTC (rev 11285)@@ -248,7 +248,7 @@ <!-- Time in seconds after which a client is disconnected if... --> <var name="logintimeout" value="60"/> <!-- Tell if we use an account server (really should) -->-<var name="useaccountserver" value="true"/>+<var name="useaccountserver" value="false"/> <!-- Period used between 2 attempts to reconnect to account server if connection has been lost --> <var name="reconnectperiod" value="6"/> <!-- Temp var used to preserve compatibility... should disappear someday -->Modified: trunk/vegastrike/src/gamemenu.cpp===================================================================--- trunk/vegastrike/src/gamemenu.cpp2007-08-17 21:47:10 UTC (rev 11284)+++ trunk/vegastrike/src/gamemenu.cpp2007-08-18 01:37:36 UTC (rev 11285)@@ -559,6 +559,7 @@ if (numships) { const vector<string> &shipList = Network[player].shipSelections(); if (shipList.size()>1) {+UniverseUtil::hideSplashScreen(); showListQuestion("Select a ship to fly", shipList, new ShipSelectorCallback(this), "ShipSelected" ); } else {Modified: trunk/vegastrike/src/gui/modaldialog.cpp===================================================================--- trunk/vegastrike/src/gui/modaldialog.cpp2007-08-17 21:47:10 UTC (rev 11284)+++ trunk/vegastrike/src/gui/modaldialog.cpp2007-08-18 01:37:36 UTC (rev 11285)@@ -49,11 +49,13 @@ void ModalDialog::modalFinished() { globalEventManager().removeResponder(window()); // One of our buttons was clicked. We're done.+m_deleteOnWindowClose = false; // Prevent deleting until we are done. window()->close(); if(m_callback) { m_callback->modalDialogResult(m_callbackId, m_result, *this); }+delete this; } // Process a command from the window.Modified: trunk/vegastrike/src/networking/lowlevel/vsnet_debug.cpp===================================================================--- trunk/vegastrike/src/networking/lowlevel/vsnet_debug.cpp2007-08-17 21:47:10 UTC (rev 11284)+++ trunk/vegastrike/src/networking/lowlevel/vsnet_debug.cpp2007-08-18 01:37:36 UTC (rev 11285)@@ -2,33 +2,24 @@ using namespace std; -#if (defined(_WIN32) && defined(_MSC_VER)) || defined( __MINGW32__)- /*- * nothing if WIN32- */-ostream& vsnetDbgOut( const char* file, int line )-{- clog << file << " ";- return clog;-}--#else /* not _WIN32 or _MSC_VER */- #include <time.h> #if !defined(_WIN32) #include <sys/time.h>+#else+#include <winsock.h> #endif struct TimeTriggerStruct { }; static TimeTriggerStruct time_trigger;- ostream& operator<<( ostream& ostr, const TimeTriggerStruct& c ) {+#ifndef _WIN32 struct timeval tv; gettimeofday( &tv, NULL ); ostr << tv.tv_sec << ":" << tv.tv_usec;+#endif return ostr; } @@ -48,5 +39,4 @@ return clog; } -#endif Modified: trunk/vegastrike/src/networking/lowlevel/vsnet_debug.h===================================================================--- trunk/vegastrike/src/networking/lowlevel/vsnet_debug.h2007-08-17 21:47:10 UTC (rev 11284)+++ trunk/vegastrike/src/networking/lowlevel/vsnet_debug.h2007-08-18 01:37:36 UTC (rev 11285)@@ -19,7 +19,7 @@ extern std::ostream& vsnetDbgOut( const char* file, int line ); #if !defined( COUT)-#if defined(_WIN32) && defined(_MSC_VER) && BOOST_VERSION!=102800 //wierd error in MSVC+#if defined(_WIN32) && defined(_MSC_VER) && _MSC_VER < 1300 && _MSC_VEBOOST_VERSION!=102800 //wierd error in MSVC #define COUT vsnetDbgOut(__FILE__,0) #else #define COUT vsnetDbgOut(__FILE__,__LINE__)@@ -88,7 +88,11 @@ #define PSEUDO__LINE__(x) __LINE__ #else #ifndef __PRETTY_FUNCTION- #define __PRETTY_FUNCTION__ "<Unknown>"+ #ifdef __FUNCTION__+ #define __PRETTY_FUNCTION__ __FUNCTION__+ #else+ #define __PRETTY_FUNCTION__ "<Unknown>"+ #endif #endif #ifndef __FUNCTION__Modified: trunk/vegastrike/src/networking/lowlevel/vsnet_notify.cpp===================================================================--- trunk/vegastrike/src/networking/lowlevel/vsnet_notify.cpp2007-08-17 21:47:10 UTC (rev 11284)+++ trunk/vegastrike/src/networking/lowlevel/vsnet_notify.cpp2007-08-18 01:37:36 UTC (rev 11285)@@ -166,7 +166,8 @@ void File::childSetSize( int len ) {- string filename = _localbasepath + "/" + getFilename();+// string filename = _localbasepath + "/" + getFilename();+string filename = getFilename(); _of = new VSFileSystem::VSFile; VSFileSystem::VSError err = _of->OpenCreateWrite( filename.c_str(), this->_filetype );Modified: trunk/vegastrike/src/networking/netserver.cpp===================================================================--- trunk/vegastrike/src/networking/netserver.cpp2007-08-17 21:47:10 UTC (rev 11284)+++ trunk/vegastrike/src/networking/netserver.cpp2007-08-18 01:37:36 UTC (rev 11285)@@ -299,6 +299,60 @@ f.Close(); } std::vector<std::vector <char > > temp = ROLES::getAllRolePriorities();+{+char hostName[128];+gethostname(hostName, 128);+hostent *local = gethostbyname(hostName);+cout << endl << endl << " ======== SERVER IS NOW RUNNING ========" << endl;+const AddressIP &adr = this->tcpNetwork->get_adr();+cout << " Server Port: " << ntohs(adr.sin_port) << endl;+cout << " Server IP Addresses: " << endl;+//cout << " localhost (Local computer only)" << endl;+int num = 0;+if (local) {+in_addr **localaddr = (in_addr **)local->h_addr_list;+for (int i=0; i<5 && localaddr[i]; i++) {+string ipaddr = inet_ntoa(*(localaddr[i]));+if (ipaddr.substr(0,4)=="127.") {+continue;+//cout << " (Local computer only)";+} else {+cout << " " << ipaddr;+num++;+if (ipaddr.substr(0,8)=="169.254.") {+cout << " (Ethernet connection)";+} else if (ipaddr.substr(0,8)=="192.168." ||+ipaddr.substr(0,3)=="10.") {+cout << " (Local Area Network)";+} else {+cout << " (Internet Connection)";+}+}+cout << endl;+}+}+if (!num) {+cout << " (You must look up other IP addresses in your system properties.)" << endl;+}+cout << " You can also connect locally using 'localhost'" << endl;+if (acctserver) {+cout << " Public Server: " << endl << " ";+if (acctsrv.length()>75) {+cout << acctsrv.substr(0,50) << "..." << acctsrv.substr(acctsrv.length()-20,20) << endl;+} else {+cout << acctsrv << endl;+}+} else {+if (this->server_password.empty()) {+cout << " Private Server" << endl;+} else {+cout << " Private Server, Password Protected: <" << this->server_password << ">" << endl;+}+}+cout << " --------------------------------------- " << endl;+cout << "To stop this server, hit Ctrl-C, Ctrl-\\, Ctrl-Break, or close this window." << endl;+cout << endl << "Have fun!" << endl << endl;+} // Server loop while( keeprun) {Modified: trunk/vegastrike/src/networking/zonemgr.cpp===================================================================--- trunk/vegastrike/src/networking/zonemgr.cpp2007-08-17 21:47:10 UTC (rev 11284)+++ trunk/vegastrike/src/networking/zonemgr.cpp2007-08-18 01:37:36 UTC (rev 11285)@@ -189,7 +189,7 @@ StarSystem * sts; Unit * un = clt->game_unit.GetUnit(); unsigned int zonenum = 0;-if (un)+if (un && un->activeStarSystem) zonenum = un->activeStarSystem->GetZone(); for (; zonenum < zone_list.size(); ++zonenum) { bool found=false;

[Vegastrike-cvs] SF.net SVN: vegastrike: [11288] trunk

From: <ac...@us...> - 2007-08-18 22:53:48

Revision: 11288 Author: ace123Date: 2007-08-18 15:53:46 -0700 (Sat, 18 Aug 2007)Log Message:-----------More network fixes. Still a few crashes remain.Modified Paths:-------------- trunk/data4.x/mission/networking.mission trunk/vegastrike/src/cmd/music.cpp trunk/vegastrike/src/cmd/unit_factory.h trunk/vegastrike/src/cmd/unit_factory_generic.cpp trunk/vegastrike/src/gamemenu.cpp trunk/vegastrike/src/gfx/co*ckpit_generic.cpp trunk/vegastrike/src/gfx/co*ckpit_generic.h trunk/vegastrike/src/main_loop.cpp trunk/vegastrike/src/networking/client.cpp trunk/vegastrike/src/networking/client.h trunk/vegastrike/src/networking/netclient.cpp trunk/vegastrike/src/networking/netclient_clients.cpp trunk/vegastrike/src/networking/netclient_login.cpp trunk/vegastrike/src/networking/netserver.cpp trunk/vegastrike/src/networking/netserver.h trunk/vegastrike/src/networking/netserver_clients.cpp trunk/vegastrike/src/networking/netserver_login.cpp trunk/vegastrike/src/networking/zonemgr.cpp trunk/vegastrike/src/savegame.hAdded Paths:----------- trunk/data4.x/sectors/Special/Network.systemModified: trunk/data4.x/mission/networking.mission===================================================================--- trunk/data4.x/mission/networking.mission2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/data4.x/mission/networking.mission2007-08-18 22:53:46 UTC (rev 11288)@@ -4,13 +4,14 @@ </settings> <variables>-<!--<var name="continuousterrain" value="continuousterrain.txt"/>-->-<var name="credits" value="3500"/>+<var name="credits" value="13500"/> <var name="defaultplayer" value="blue"/> <var name="mission_name" value="Networking" />-<var name="num_players" value="2"/>-<var name="system" value="enigma_sector/niven" />-<var name="description" value="Enjoy troy in a nova." />+<var name="num_players" value="1"/>+<var name="unit_to_dock_with" value="1"/>+<var name="system" value="Special/Network" />+<!--<var name="system" value="testsystems/absolutelynothing" />-->+<var name="description" value="Default mission used on a private server." /> </variables> <flightgroups> <flightgroup name="blue" faction="privateer" type="wayfarer.begin" ainame="default" waves="1" nr_ships="1">@@ -35,30 +36,4 @@ from privateer import privateer my_obj=privateer(20000,40000,500,3,2,.6,.25,.02,400000,2000) </python>-<!---<module name="director">-<import name="privateer"/>-<script name="initgame">-<exec module="privateer" name="init">-<const type="float" value="20000.0"/><!-- significant distance-->-<const type="float" value="40000.0"/><!-- detection distance-->-<const type="float" value="500.0"/><!-- generation distance -->-<const type="int" value="3"/> <!-- min ships -->-<const type="int" value="2"/><!--gen ships-->-<const type="float" value="0.6"/><!--fighter prob-->-<const type="float" value="0.25"/><!--enemy prob-->-<const type="float" value="0.02"/><!--capship prob-->-<const type="float" value="400000.0"/><!--credits to maximize difficulty-->-<const type="float" value="2000.0"/><!--capship generation distance-->-</exec>-</script>-<script name="gameloop">-<exec module="privateer" name="loop"/>-</script>-<script name="initstarsystem">-<exec name="initstarsystem" module="privateer" />-</script>--</module>---> </mission>Added: trunk/data4.x/sectors/Special/Network.system===================================================================--- trunk/data4.x/sectors/Special/Network.system (rev 0)+++ trunk/data4.x/sectors/Special/Network.system2007-08-18 22:53:46 UTC (rev 11288)@@ -0,0 +1,20 @@+<system name="Simulation" background="backgrounds/green" nearstars="500" stars="1000" starspread="150" x="0" y="0" z="0">+<Light>+<ambient red="0" green="0" blue="0"/>+<diffuse red="1" green="1" blue="1"/>+<specular red="1" green="1" blue="1"/>+</Light>++<Light>+<ambient red="1" green=".1" blue="0"/>+<!--<diffuse red="1" green=".7" blue="0"/>-->+<!--<attenuated red=".00000001" blue=".00000015"/>-->+<attenuated red="0" blue=".0000001"/>+</Light>++<Planet name="Market" file="planets/desert.png" ri="0.000000" rj="0.000000" rk="0.000000" si="0.000000" sj="0.000000" sk="0.000000" radius="770221.812500" x="0.000000" y="780221.000000" z="0.000000" >+<Ring file="planets/ring.png" innerradius="1353606.618322" outerradius="2809372.475550" wrapx="32" wrapy="1" />+</Planet>+++</system>Modified: trunk/vegastrike/src/cmd/music.cpp===================================================================--- trunk/vegastrike/src/cmd/music.cpp2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/cmd/music.cpp2007-08-18 22:53:46 UTC (rev 11288)@@ -742,7 +742,9 @@ void Music::CleanupMuzak() { if (muzak) {- delete[] muzak;+// delete[] muzak;+// Multithreading issues... don't care to waste time here waiting to get the lock back.+// Let the OS clean up this mess! muzak=NULL; muzak_count=0; }Modified: trunk/vegastrike/src/cmd/unit_factory.h===================================================================--- trunk/vegastrike/src/cmd/unit_factory.h2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/cmd/unit_factory.h2007-08-18 22:53:46 UTC (rev 11288)@@ -175,7 +175,9 @@ static void addNebulaBuffer( NetBuffer & netbuf, const Nebula *neb); static Nebula *parseNebulaBuffer(NetBuffer &netbuf); -static void addMissileBuffer( NetBuffer & netbuf, const char * filename,+static void addMissileBuffer( NetBuffer & netbuf, const string &filename,+ const string &name,+ const string &fullname, int faction, const string &modifications, const Transformation &curr_physical_state,Modified: trunk/vegastrike/src/cmd/unit_factory_generic.cpp===================================================================--- trunk/vegastrike/src/cmd/unit_factory_generic.cpp2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/cmd/unit_factory_generic.cpp2007-08-18 22:53:46 UTC (rev 11288)@@ -207,7 +207,9 @@ return UnitFactory::createNebula( file.c_str(), sub, faction, fg, fg_num, serial); } -void UnitFactory::addMissileBuffer( NetBuffer & netbuf, const char * filename,+void UnitFactory::addMissileBuffer( NetBuffer & netbuf, const string &filename,+ const string &name,+ const string &fullname, int faction, const string &modifications, const Transformation &curr_physical_state,@@ -220,10 +222,13 @@ { netbuf.addChar(ZoneMgr::AddMissile); netbuf.addSerial( netcreate);-netbuf.addString( string (filename));+netbuf.addString( filename);+netbuf.addString( name);+netbuf.addString( fullname);+ netbuf.addInt32( faction);-netbuf.addString( string( modifications));-netbuf.addFloat( float(damage));+netbuf.addString( modifications);+netbuf.addFloat( damage); netbuf.addFloat( phasedamage); netbuf.addFloat( time); netbuf.addFloat( radialeffect);@@ -233,8 +238,9 @@ } void UnitFactory::addMissileBuffer( NetBuffer & netbuf, const Missile *mis) {-addMissileBuffer( netbuf, mis->getFilename().c_str(), mis->faction, "" /* modifications */, mis->curr_physical_state,-mis->damage, mis->phasedamage, mis->time, mis->radial_effect, mis->radial_multiplier, mis->detonation_radius, mis->GetSerial());+addMissileBuffer( netbuf, mis->getFilename().c_str(), mis->name, mis->getFullname(), mis->faction,+"" /* modifications */, mis->curr_physical_state, mis->damage, mis->phasedamage, mis->time,+mis->radial_effect, mis->radial_multiplier, mis->detonation_radius, mis->GetSerial()); } @@ -242,6 +248,8 @@ { ObjSerial serial = netbuf.getSerial(); string file( netbuf.getString());+string name( netbuf.getString());+string fullname( netbuf.getString()); int faction = netbuf.getInt32(); string mods( netbuf.getString()); const float damage( netbuf.getFloat());@@ -256,6 +264,8 @@ Missile *mis = createMissile( file.c_str(), faction, modifs, damage, phasedamage, time, radialeffect, radmult, detonation_radius, serial); mis->curr_physical_state = netbuf.getTransformation();+mis->name = name;+mis->fullname = fullname; return mis; } Modified: trunk/vegastrike/src/gamemenu.cpp===================================================================--- trunk/vegastrike/src/gamemenu.cpp2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/gamemenu.cpp2007-08-18 22:53:46 UTC (rev 11288)@@ -552,6 +552,7 @@ bool NetActionConfirm::confirmedJoinGame() { string user, pass, err;+NetClient::CleanUp(); GameMenu::readJoinGameControls(m_parent, user, pass); UniverseUtil::showSplashScreen(string());@@ -578,17 +579,17 @@ // Caller is responsible for closing the window afterwards. (?) //static bool NetActionConfirm::finalizeJoinGame(int launchShip) {+if (!UniverseUtil::isSplashScreenShowing()) {+UniverseUtil::showSplashScreen("");+UniverseUtil::showSplashMessage("#cc66ffNETWORK: Loading saved game.");+}+ if (!Network[player].loginSavedGame(launchShip)) { showAlert("Error when logging into game with this ship!"); if (window()) window()->close(); NetClient::CleanUp(); return false; }-if (!UniverseUtil::isSplashScreenShowing()) {-UniverseUtil::showSplashScreen("");-UniverseUtil::showSplashMessage("#cc66ffNETWORK: Loading saved game.");-}- co*ckpit *cp = NULL; Unit *playun = NULL; if (_Universe) {Modified: trunk/vegastrike/src/gfx/co*ckpit_generic.cpp===================================================================--- trunk/vegastrike/src/gfx/co*ckpit_generic.cpp2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/gfx/co*ckpit_generic.cpp2007-08-18 22:53:46 UTC (rev 11288)@@ -257,6 +257,10 @@ } */ +void co*ckpit::recreate(const std::string &pilot_name) {+savegame->SetCallsign(pilot_name);+Init("");+} static void FaceTarget (Unit * un) { Unit * targ = un->Target(); if (targ) {Modified: trunk/vegastrike/src/gfx/co*ckpit_generic.h===================================================================--- trunk/vegastrike/src/gfx/co*ckpit_generic.h2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/gfx/co*ckpit_generic.h2007-08-18 22:53:46 UTC (rev 11288)@@ -124,6 +124,7 @@ virtual float LookupTargetStat (int stat, Unit *target) {return 1;} ///Loads co*ckpit info...just as constructor virtual void Init (const char * file, bool defaultco*ckpit=false);+ void recreate(const std::string &pilotname); ///Sets owner of this co*ckpit // unsigned int whichco*ckpit;//0 is the first player, 1 is the second and so forth class Flightgroup * fg;Modified: trunk/vegastrike/src/main_loop.cpp===================================================================--- trunk/vegastrike/src/main_loop.cpp2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/main_loop.cpp2007-08-18 22:53:46 UTC (rev 11288)@@ -915,36 +915,26 @@ { _Universe->pushActiveStarSystem (_Universe->Accessco*ckpit(squadnum)->activeStarSystem); _Universe->SetActiveco*ckpit(_Universe->Accessco*ckpit(squadnum));-- // In networking mode we name the ship save with .xml as they are xml files-if( Network!=NULL && backupcp!=NULL)-{-cout<<"CREATING A NETWORK PLAYER : "<<fightername<<endl;-//modifications = modifications+".xml";-fighters[a] = UnitFactory::createUnit(fightername, false,tmptarget[a],"",fg,s, &savefiles[squadnum][1]);-// Set the faction we have in the save file instead of the mission file (that is to be ignored in networking mode)-fighters[a]->faction = FactionUtil::GetFactionIndex( cp->savegame->GetPlayerFaction());-+ }+ // In networking mode we name the ship save with .xml as they are xml files+ if( Network!=NULL && squadnum<(int)fighter0name.size()) {+//if (backupcp==NULL) {+cout<<"CREATING A NETWORK PLAYER : "<<fightername<<endl;+//modifications = modifications+".xml";+fighters[a] = UnitFactory::createUnit(fightername, false,tmptarget[a],"",fg,s, &savefiles[squadnum][1]);+// Set the faction we have in the save file instead of the mission file (that is to be ignored in networking mode)+fighters[a]->faction = FactionUtil::GetFactionIndex( cp->savegame->GetPlayerFaction());+fighters[a]->SetNetworkMode();+fighters[a]->SetSerial(Network[squadnum].serial);+Network[squadnum].setUnit( fighters[a]);+cout<<"Creating fighter["<<squadnum<<"] from "<<modifications<<" on Network["<<squadnum<<"] named "<<Network[squadnum].getCallsign()<<endl;+//} } else { cout<<"CREATING A LOCAL SHIP : "<<fightername<<endl; fighters[a] = UnitFactory::createUnit(fightername, false,tmptarget[a],modifications,fg,s); }-if( Network!=NULL && backupcp != NULL)-{-fighters[a]->SetNetworkMode();-fighters[a]->SetSerial(Network[squadnum].serial);-Network[squadnum].setUnit( fighters[a]);-cout<<"Creating fighter["<<squadnum<<"] from "<<modifications<<" on Network["<<squadnum<<"] named "<<Network[squadnum].getCallsign()<<endl;-}- }- else-{-cout<<"CREATING A LOCAL SHIP : "<<fightername<<endl;-fighters[a] = UnitFactory::createUnit(fightername, false,tmptarget[a],modifications,fg,s);-}- _Universe->activeStarSystem()->AddUnit(fighters[a]); if (s==0&&squadnum<(int)fighter0name.size()) {Modified: trunk/vegastrike/src/networking/client.cpp===================================================================--- trunk/vegastrike/src/networking/client.cpp2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/networking/client.cpp2007-08-18 22:53:46 UTC (rev 11288)@@ -17,6 +17,7 @@ prediction = new LinearPrediction(); old_timeout=0; ingame = false;+loginstate = CONNECTED; webcam = 0; portaudio = 0; secured = 0;Modified: trunk/vegastrike/src/networking/client.h===================================================================--- trunk/vegastrike/src/networking/client.h2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/networking/client.h2007-08-18 22:53:46 UTC (rev 11288)@@ -78,6 +78,9 @@ stringpasswd; /* In-game parameters */ boolingame;+enum Loginstate {CONNECTED, LOGGEDIN, SAVEDGAME, INGAME};+int loginstate;+ charwebcam; charportaudio; charsecured;Modified: trunk/vegastrike/src/networking/netclient.cpp===================================================================--- trunk/vegastrike/src/networking/netclient.cpp2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/networking/netclient.cpp2007-08-18 22:53:46 UTC (rev 11288)@@ -352,6 +352,7 @@ ret = recvMsg( outpacket, &tv ); } if (ret==-1) {+NetClient::CleanUp(); // Kill networking!!! UniverseUtil::startMenuInterface(false, "Connection to VegaServer closed."); return -1; }Modified: trunk/vegastrike/src/networking/netclient_clients.cpp===================================================================--- trunk/vegastrike/src/networking/netclient_clients.cpp2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/networking/netclient_clients.cpp2007-08-18 22:53:46 UTC (rev 11288)@@ -69,7 +69,14 @@ // CREATES THE UNIT... GET SAVE AND XML FROM SERVER // Use the first ship if there are more than one -> we don't handle multiple ships for now // We name the flightgroup with the player name-cerr<<"Found saveship[0] = "<<savedships[0]<<endl;+if (savedships.empty()) {+cerr<<"savedships is empty!!!"<<endl;+cerr<<"SAVEGAME: "<<endl<<savestr<<"-------"<<endl;+cerr<<"SHIPCSV: "<<endl<<xmlstr<<"-------"<<endl;+return;+} else {+cerr<<"Found saveship[0] = "<<savedships[0]<<endl;+} cerr<<"NEW PLAYER POSITION : x="<<pos.i<<",y="<<pos.j<<"z="<<pos.k<<endl; cerr<<"SAFE PLATER POSITION: x="<<pos.i<<",y="<<pos.j<<"z="<<pos.k<<endl;Modified: trunk/vegastrike/src/networking/netclient_login.cpp===================================================================--- trunk/vegastrike/src/networking/netclient_login.cpp2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/networking/netclient_login.cpp2007-08-18 22:53:46 UTC (rev 11288)@@ -126,7 +126,7 @@ if(lastsave.empty() || lastsave[0]=="") { if (ship_select_list.empty()) {-error = "No ships to choose from!";+error = "Login failure!"; } return ship_select_list.size(); }@@ -432,7 +432,7 @@ int recvd=this->recvMsg( &packet, &tv ); if( recvd==0 ) {-error = "Connection to game server timed out !!!";+error = "Connection to game server timed out!"; timeout = 1; } else if (recvd<0) { char str[127];@@ -450,7 +450,8 @@ } } if (!this->server_netversion) {-error = "No serial received from server.";+if (error.empty())+error = "Unable to receive a valid version from this server."; timeout = 1; } if (timeout) {Modified: trunk/vegastrike/src/networking/netserver.cpp===================================================================--- trunk/vegastrike/src/networking/netserver.cpp2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/networking/netserver.cpp2007-08-18 22:53:46 UTC (rev 11288)@@ -36,6 +36,7 @@ #include "networking/client.h" #include "networking/lowlevel/packet.h" #include "lin_time.h"+#include "python/init.h" #include "networking/netserver.h" #include "networking/lowlevel/vsnet_serversocket.h" #include "networking/lowlevel/vsnet_debug.h"@@ -280,8 +281,10 @@ _Universe = new Universe( argc, argv, universe_file.c_str(), true); cout<<"Universe LOADED"<<endl; string strmission = vs_config->getVariable( "server", "missionfile", "networking.mission");+Python::init();+Python::test(); active_missions.push_back( mission = new Mission( strmission.c_str()));-mission->initMission( false);+mission->initMission( true); // Loads dynamic universe string dynpath = "dynaverse.dat";@@ -301,14 +304,19 @@ std::vector<std::vector <char > > temp = ROLES::getAllRolePriorities(); { char hostName[128];+hostName[0]='\0'; gethostname(hostName, 128);-hostent *local = gethostbyname(hostName);+hostent *local = NULL; cout << endl << endl << " ======== SERVER IS NOW RUNNING ========" << endl; const AddressIP &adr = this->tcpNetwork->get_adr(); cout << " Server Port: " << ntohs(adr.sin_port) << endl; cout << " Server IP Addresses: " << endl; //cout << " localhost (Local computer only)" << endl; int num = 0;+if (hostName[0]) {+//cout << " " << hostName << " (requires DNS lookup) "+local = gethostbyname(hostName);+} if (local) { in_addr **localaddr = (in_addr **)local->h_addr_list; for (int i=0; i<5 && localaddr[i]; i++) {@@ -332,7 +340,12 @@ } } if (!num) {-cout << " (You must look up other IP addresses in your system properties.)" << endl;+cout << " No network interfaces found associated to your hostname." << endl;+#ifdef _WIN32+cout << " (Consult Start-> Run-> 'cmd /k ipconfig' for your IP.)" << endl;+#else+cout << " (Consult the '/sbin/ifconfig' command-line tool for your IP.)" << endl;+#endif } cout << " You can also connect locally using 'localhost'" << endl; if (acctserver) {@@ -713,6 +726,7 @@ break; case CMD_LOGIN: {+if (!clt) break; COUT<<">>> LOGIN REQUEST --------------------------------------"<<endl; // Authenticate client // Need to give the IP address of incoming message in UDP mode to store it@@ -730,23 +744,12 @@ SOCKETALT tmpsock; const AddressIP* iptmp; WaitListEntry entry;-if( clt )-{-// This must be a TCP client-entry.tcp = true;-entry.t = clt;-this->waitList.push( entry );-iptmp = &clt->cltadr;-tmpsock = clt->tcp_sock;-}-else-{-entry.tcp = false;-entry.u = ipadr;-this->waitList.push( entry );-iptmp = &ipadr;-COUT << "Waiting authorization for client IP : " << ipadr << endl;-}+// This must be a TCP client+entry.tcp = true;+entry.t = clt;+this->waitList.push( entry );+iptmp = &clt->cltadr;+tmpsock = clt->tcp_sock; // Redirect the login request packet to account server COUT << "Redirecting login request to account server on socket " << *acct_sock << endl@@ -756,21 +759,28 @@ NetBuffer netbuf (packet.getData(),packet.getDataLength()); std::string user = netbuf.getString(); std::string passwd = netbuf.getString();-addSimpleString(redirect, user);-addSimpleString(redirect, passwd);--if (!acct_sock->sendstr(redirect))//NETFIXME is this in http format or binary format-{-perror( "FATAL ERROR sending redirected login request to ACCOUNT SERVER : ");-COUT<<"SOCKET was : "<<acct_sock<<endl;-this->sendLoginUnavailable( clt );-//VSExit(1);+for (int i=0; i<_Universe->numPlayers(); i++) {+co*ckpit *cp = _Universe->Accessco*ckpit(i);+if (cp->savegame && cp->savegame->GetCallsign() == user) {+COUT << "Cannot login player "<<user<<": already exists on this server!";+sendLoginAlready(clt);+user="";+} }- getSimpleChar(redirect);- if (clt){- clt->callsign=getSimpleString(redirect);- clt->passwd=getSimpleString(redirect);- }+if (!user.empty()) {+addSimpleString(redirect, user);+addSimpleString(redirect, passwd);++if (!acct_sock->sendstr(redirect))//NETFIXME is this in http format or binary format+{+perror( "FATAL ERROR sending redirected login request to ACCOUNT SERVER : ");+COUT<<"SOCKET was : "<<acct_sock<<endl;+this->sendLoginUnavailable( clt );+}+getSimpleChar(redirect);+clt->callsign=getSimpleString(redirect);+clt->passwd=getSimpleString(redirect);+} } COUT<<"<<< LOGIN REQUEST --------------------------------------"<<endl; }@@ -1241,6 +1251,11 @@ } } }+if (sender_cpt) {+// The client always needs to get credits back, no matter what.+sendCredits(sender->GetSerial(), sender_cpt->credits);+// Otherwise, it will get stuck with 0 credits.+} if (didMoney) { ObjSerial buyer_ser = buyer?buyer->GetSerial():0; if (!upgrade) {@@ -1253,11 +1268,6 @@ weapon?0:1,mountOffset, subunitOffset,zone); } }-if (sender_cpt) {-// The client always needs to get credits back, no matter what.-sendCredits(sender->GetSerial(), sender_cpt->credits);-// Otherwise, it will get stuck with 0 credits.-} // Completed transaction. // Send player new amount of credits. // Broadcast out cargo request.Modified: trunk/vegastrike/src/networking/netserver.h===================================================================--- trunk/vegastrike/src/networking/netserver.h2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/networking/netserver.h2007-08-18 22:53:46 UTC (rev 11288)@@ -78,11 +78,11 @@ intacctserver;// Tells if we use an account server // If we don't use an account server: stringserver_password;-vector<string>shipSelections; timevalsrvtimeout;// timer+std::queue<int>unused_players; -vector<Account *>Cltacct;// Client accounts+//vector<Account *>Cltacct;// Client accounts ClientList allClients; // Active TCP and UDP client connections ClientList discList;// Client connections to be disconnected ClientList logoutList;// Client connections that logged outModified: trunk/vegastrike/src/networking/netserver_clients.cpp===================================================================--- trunk/vegastrike/src/networking/netserver_clients.cpp2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/networking/netserver_clients.cpp2007-08-18 22:53:46 UTC (rev 11288)@@ -11,7 +11,6 @@ #include "vs_random.h" #include "load_mission.h" #include "cmd/script/mission.h"-#include "python/init.h" extern QVector DockToSavedBases( int n); extern StarSystem * GetLoadedStarSystem( const char * system); @@ -175,12 +174,6 @@ COUT<<"ADDED client n "<<un->GetSerial()<<" in ZONE "<<un->activeStarSystem->GetZone()<<" at STARDATE "<<_Universe->current_stardate.GetFullTrekDate()<<endl; if (active_missions.size()==1) {- static bool doneinit=false;- if (!doneinit) {- Python::init();- Python::test();- doneinit=true;- } LoadMission("",vs_config->getVariable("server","serverscript","import server;server.server();"),false); } sendCargoSnapshot(un->GetSerial(), st2->getUnitList());@@ -498,37 +491,8 @@ << " *** from " << debug_from_file << ":" << debug_from_line << endl << " *** disconnecting " << clt->callsign << " because of " << clt->_disconnectReason << endl;--Unit * un = clt->game_unit.GetUnit();--if( acctserver )-{- // Send a disconnection info to account server- AcctLogout(acct_sock,clt);-}--clt->tcp_sock.disconnect( __PRETTY_FUNCTION__);-if( un )- {- COUT << "User " << clt->callsign << " with serial "<<un->GetSerial()<<" disconnected" << endl;- }- else- {-COUT<<"!!! ERROR : UNIT==NULL !!!"<<endl;-// Never should cause server to exit because of a client error.-// VSExit(1);- }-COUT << "There were " << allClients.size() << " clients - ";-allClients.remove( clt ); -// Removes the client from its starsystem-this->removeClient( clt );-// Say true as 2nd arg because we don't want the server to broadcast since player is leaving hte game-if( un)-un->Kill( true, true);-clt.reset();-COUT << allClients.size() << " clients left" << endl;-nbclients--;+logout(clt); } /*** Same as disconnect but do not respond to client since we assume clean exit ***/@@ -537,22 +501,32 @@ Packet p, p1, p2; std::string netbuf; Unit * un = clt->game_unit.GetUnit();+std::string callsign = clt->callsign; -if( acctserver)-{- AcctLogout(acct_sock,clt);+if( acctserver && clt->loginstate >= Client::LOGGEDIN) {+AcctLogout(acct_sock,clt); } clt->tcp_sock.disconnect( __PRETTY_FUNCTION__ ); COUT <<"Client "<<clt->callsign<<" disconnected"<<endl;-COUT <<"There was "<< allClients.size() <<" clients - ";+COUT <<"There were "<< allClients.size() <<" clients - "; allClients.remove( clt ); // Removes the client from its starsystem-if( clt->ingame==true)-this->removeClient( clt );+this->removeClient( clt ); // Say true as 2nd arg because we don't want the server to broadcast since player is leaving hte game if( un) un->Kill( true, true);++if (clt->loginstate >= Client::LOGGEDIN) {+for (int i=0;i<_Universe->numPlayers();i++) {+co*ckpit *cp = _Universe->Accessco*ckpit(i);+if (cp->savegame && cp->savegame->GetCallsign() == callsign) {+cp->savegame->SetCallsign("");+unused_players.push(i);+}+}+}+ clt.reset( ); COUT << allClients.size() <<" clients left"<<endl; nbclients--;Modified: trunk/vegastrike/src/networking/netserver_login.cpp===================================================================--- trunk/vegastrike/src/networking/netserver_login.cpp2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/networking/netserver_login.cpp2007-08-18 22:53:46 UTC (rev 11288)@@ -192,8 +192,6 @@ void NetServer::localLogin( ClientPtr clt, Packet &p) { if (!clt) return;-vector<string> ships;-getShipList(ships); NetBuffer netbuf(p.getData(), p.getDataLength()); clt->callsign = netbuf.getString();@@ -202,7 +200,17 @@ this->sendLoginError(clt); return; }+for (int i=0; i<_Universe->numPlayers(); i++) {+co*ckpit *cp = _Universe->Accessco*ckpit(i);+if (cp->savegame && cp->savegame->GetCallsign() == clt->callsign) {+COUT << "Cannot login player "<<clt->callsign<<": already exists on this server!";+sendLoginAlready(clt);+return;+}+} netbuf.Reset();+vector<string> ships;+getShipList(ships); netbuf.addShort(ships.size()); for (vector<string>::const_iterator iter = ships.begin(); iter!=ships.end(); ++iter) { netbuf.addString(*iter);@@ -213,20 +221,23 @@ co*ckpit * NetServer::loadFromNewGame( ClientPtr clt, string fighter ) { ObjSerial cltserial = getUniqueSerial();-co*ckpit *cp = NULL;-for (int i=0; i<_Universe->numPlayers(); i++) {-cp = _Universe->Accessco*ckpit(i);-if (cp->savegame->GetCallsign() == clt->callsign) {-// awesome! this player already has a co*ckpit.-break;-} else {-cp = NULL;+for (int i=0;i<_Universe->numPlayers();i++) {+if (_Universe->Accessco*ckpit(i)->savegame->GetCallsign() == clt->callsign) {+sendLoginAlready(clt);+return NULL; } }+co*ckpit *cp = NULL;+if (!unused_players.empty()) {+cp = _Universe->Accessco*ckpit(unused_players.back());+unused_players.pop();+} if (cp == NULL) { cp = _Universe->createco*ckpit( clt->callsign );-cp->Init ("");+} else {+cp->recreate(clt->callsign); }+clt->loginstate = Client::LOGGEDIN; string PLAYER_SHIPNAME = fighter; Mission *mission = NULL; if (active_missions.size()>0) {@@ -247,6 +258,7 @@ COUT<<"\tcredits = "<<cp->savegame->GetSavedCredits()<<endl; COUT<<"\tfaction = "<<cp->savegame->GetPlayerFaction()<<endl; COUT<<"-> SAVE LOADED"<<endl;+cp->credits = cp->savegame->GetSavedCredits(); // WARNING : WE DON'T SAVE FACTION NOR FLIGHTGROUP YET COUT<<"-> UNIT FACTORY WITH XML"<<endl;@@ -311,19 +323,22 @@ vector<string> savedships; string str(""); co*ckpit *cp = NULL;-for (int i=0; i<_Universe->numPlayers(); i++) {-cp = _Universe->Accessco*ckpit(i);-if (cp->savegame->GetCallsign() == clt->callsign) {-// awesome! this player already has a co*ckpit.-break;-} else {-cp = NULL;+for (int i=0;i<_Universe->numPlayers();i++) {+if (_Universe->Accessco*ckpit(i)->savegame->GetCallsign() == clt->callsign) {+sendLoginAlready(clt);+return NULL; } }+if (!unused_players.empty()) {+cp = _Universe->Accessco*ckpit(unused_players.back());+unused_players.pop();+} if (cp == NULL) { cp = _Universe->createco*ckpit( clt->callsign );-cp->Init ("");+} else {+cp->recreate(clt->callsign); }+clt->loginstate = Client::LOGGEDIN; COUT<<"-> LOADING SAVE FROM NETWORK"<<endl; cp->savegame->ParseSaveGame( "", str, "", tmpvec, update, credits, savedships, cltserial, clt->savegame[0], false); // Generate the system we enter in if needed and add the client in itModified: trunk/vegastrike/src/networking/zonemgr.cpp===================================================================--- trunk/vegastrike/src/networking/zonemgr.cpp2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/networking/zonemgr.cpp2007-08-18 22:53:46 UTC (rev 11288)@@ -172,9 +172,11 @@ //QVector safevec; Unit *addun = clt->game_unit.GetUnit();-if (addun)+if (addun) {+_Universe->netLock(true); sts->AddUnit( addun );-else+_Universe->netLock(false);+} else cerr << "dead client attempted to be added to system: refusing\n"; return sts; }Modified: trunk/vegastrike/src/savegame.h===================================================================--- trunk/vegastrike/src/savegame.h2007-08-18 17:48:50 UTC (rev 11287)+++ trunk/vegastrike/src/savegame.h2007-08-18 22:53:46 UTC (rev 11288)@@ -47,7 +47,8 @@ ~SaveGame(); void ReloadPickledData();- std::string GetCallsign() {return callsign;}+ const std::string &GetCallsign() const {return callsign;}+ void SetCallsign(const std::string &cs) {callsign=cs;} std::vector<float> &getMissionData(const std::string &magic_number); unsigned int getMissionDataLength(const std::string &magic_number) const; std::vector<StringPool::Reference> &getMissionStringData(const std::string &magic_number);

[Vegastrike-cvs] SF.net SVN: vegastrike: [11289] trunk

From: <ac...@us...> - 2007-08-18 23:38:08

Revision: 11289 Author: ace123Date: 2007-08-18 16:37:56 -0700 (Sat, 18 Aug 2007)Log Message:-----------Networking EXE's commit on Windows.Modified Paths:-------------- trunk/data4.x/bin/vegaserver.exe trunk/data4.x/bin/vegastrike.exe trunk/vegastrike/src/networking/netserver_clients.cppModified: trunk/data4.x/bin/vegaserver.exe===================================================================(Binary files differ)Modified: trunk/data4.x/bin/vegastrike.exe===================================================================(Binary files differ)Modified: trunk/vegastrike/src/networking/netserver_clients.cpp===================================================================--- trunk/vegastrike/src/networking/netserver_clients.cpp2007-08-18 22:53:46 UTC (rev 11288)+++ trunk/vegastrike/src/networking/netserver_clients.cpp2007-08-18 23:37:56 UTC (rev 11289)@@ -167,7 +167,6 @@ // Add initial position to make sure the client is starting from where we tell him netbuf.addTransformation(un->curr_physical_state); pp.send( CMD_ADDEDYOU, un->GetSerial(), netbuf.getData(), netbuf.getDataLength(), SENDRELIABLE, &clt->cltadr, clt->tcp_sock, __FILE__, PSEUDO__LINE__(170) );- netbuf.Reset(); getZoneInfo(un->activeStarSystem->GetZone(), netbuf); packet3.send( CMD_ENTERCLIENT, 0, netbuf.getData(), netbuf.getDataLength(), SENDRELIABLE, &clt->cltadr, clt->tcp_sock, __FILE__, PSEUDO__LINE__(174) );@@ -176,6 +175,7 @@ if (active_missions.size()==1) { LoadMission("",vs_config->getVariable("server","serverscript","import server;server.server();"),false); }+sendCredits(un->GetSerial(), cp->credits); sendCargoSnapshot(un->GetSerial(), st2->getUnitList()); //delete cltsbuf; //COUT<<"<<< SENT ADDED YOU -----------------------------------------------------------------------"<<endl;

[Vegastrike-cvs] SF.net SVN: vegastrike: [11332] trunk

From: <ac...@us...> - 2007-08-24 09:33:58

Revision: 11332 Author: ace123Date: 2007-08-24 02:33:48 -0700 (Fri, 24 Aug 2007)Log Message:-----------Fixed all sorts of issues when logging in again and respawning.Starting to fix up MMO-style play with adding save account button.Modified Paths:-------------- trunk/data4.x/vegaserver.config trunk/data4.x/vegastrike.config trunk/vegastrike/src/cmd/basecomputer.cpp trunk/vegastrike/src/cmd/basecomputer.h trunk/vegastrike/src/cmd/unit_factory_server.cpp trunk/vegastrike/src/gamemenu.cpp trunk/vegastrike/src/gamemenu.h trunk/vegastrike/src/gui/slider.cpp trunk/vegastrike/src/networking/lowlevel/netui.cpp trunk/vegastrike/src/networking/lowlevel/vsnet_socket.cpp trunk/vegastrike/src/networking/lowlevel/vsnet_socket.h trunk/vegastrike/src/networking/lowlevel/vsnet_socketbase.h trunk/vegastrike/src/networking/netclient.cpp trunk/vegastrike/src/networking/netclient.h trunk/vegastrike/src/networking/netclient_devices.cpp trunk/vegastrike/src/networking/netclient_login.cpp trunk/vegastrike/src/networking/netserver.cpp trunk/vegastrike/src/networking/netserver.h trunk/vegastrike/src/networking/netserver_clients.cpp trunk/vegastrike/src/networking/netserver_devices.cppModified: trunk/data4.x/vegaserver.config===================================================================--- trunk/data4.x/vegaserver.config2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/data4.x/vegaserver.config2007-08-24 09:33:48 UTC (rev 11332)@@ -244,7 +244,7 @@ <!-- Each saveperiod (in seconds) the server saves its state and send clients info to account server --> <var name="saveperiod" value="7200"/> <!-- Time in seconds after which a client is considered disconnected if it has shown no network activity -->-<var name="clienttimeout" value="20"/>+<var name="clienttimeout" value="120"/><!-- 20 is too ambitious --> <!-- Time in seconds after which a client is disconnected if... --> <var name="logintimeout" value="60"/> <!-- Tell if we use an account server (really should) -->Modified: trunk/data4.x/vegastrike.config===================================================================--- trunk/data4.x/vegastrike.config2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/data4.x/vegastrike.config2007-08-24 09:33:48 UTC (rev 11332)@@ -1187,10 +1187,11 @@ <var name="server_port" value="6777"/> <var name="use_account_server" value="true"/> <var name="udp_listen_port" value="6771"/>+<var name="udp_listen_port_max" value="6776"/> <var name="transport" value="udp"/> <var name="use_webcam" value="false"/> <var name="use_portaudio" value="false"/>-<var name="logintimeout" value="100"/>+<var name="packettimeout" value="1000"/> <var name="encryption_method" value="rsa"/> <var name="encryption_keylength" value="128"/> <var name="encryption_seed" value="Blah blah blah"/>Modified: trunk/vegastrike/src/cmd/basecomputer.cpp===================================================================--- trunk/vegastrike/src/cmd/basecomputer.cpp2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/cmd/basecomputer.cpp2007-08-24 09:33:48 UTC (rev 11332)@@ -308,6 +308,8 @@ BaseComputer::WctlTableEntry ( "ShowJoinAccount", "", &BaseComputer::actionShowAccountMenu ), BaseComputer::WctlTableEntry ( "ShowJoinServer", "", &BaseComputer::actionShowServerMenu ), BaseComputer::WctlTableEntry ( "JoinGame", "", &BaseComputer::actionJoinGame ),+ BaseComputer::WctlTableEntry ( "NetworkSaveGame", "", &BaseComputer::actionNetSaveGame ),+ BaseComputer::WctlTableEntry ( "NetworkDie", "", &BaseComputer::actionNetDie ), BaseComputer::WctlTableEntry ( "DoneComputer", "", &BaseComputer::actionDone ), BaseComputer::WctlTableEntry ( "", "", NULL )@@ -5968,11 +5970,21 @@ return true; } +bool BaseComputer::actionNetDie(const EventCommandId& command, Control* control) {+if (Network!=NULL) {+NetActionConfirm *nak = new NetActionConfirm(0, window(), NetActionConfirm::DIE);+nak->init();+nak->run();+}+return true;+}+ bool BaseComputer::actionNetSaveGame(const EventCommandId& command, Control* control) {-NetActionConfirm *nak = new NetActionConfirm(0, window(), NetActionConfirm::SAVEACCT);-nak->init();-nak->run();-// NETFIXME: Implementme+if (Network!=NULL) {+NetActionConfirm *nak = new NetActionConfirm(0, window(), NetActionConfirm::SAVEACCT);+nak->init();+nak->run();+} return true; } Modified: trunk/vegastrike/src/cmd/basecomputer.h===================================================================--- trunk/vegastrike/src/cmd/basecomputer.h2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/cmd/basecomputer.h2007-08-24 09:33:48 UTC (rev 11332)@@ -159,6 +159,7 @@ bool actionQuitGame(const EventCommandId& command, Control* control); bool actionNetSaveGame(const EventCommandId& command, Control* control);+ bool actionNetDie(const EventCommandId& command, Control* control); bool actionJoinGame(const EventCommandId& command, Control* control); bool actionShowAccountMenu(const EventCommandId& command, Control* control); bool actionShowServerMenu(const EventCommandId& command, Control* control);Modified: trunk/vegastrike/src/cmd/unit_factory_server.cpp===================================================================--- trunk/vegastrike/src/cmd/unit_factory_server.cpp2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/cmd/unit_factory_server.cpp2007-08-24 09:33:48 UTC (rev 11332)@@ -36,12 +36,14 @@ Flightgroup *flightgroup, int fg_subnumber, string * netxml, ObjSerial netcreate) {+_Universe->netLock(true); Unit * un = new Unit( filename, SubUnit, faction, customizedUnit, flightgroup, fg_subnumber, netxml);+_Universe->netLock(false); if( netcreate) {@@ -92,11 +94,13 @@ Flightgroup* fg, int fg_snumber, ObjSerial netcreate ) {+_Universe->netLock(true); Nebula * neb = new Nebula( unitfile, SubU, faction, fg, fg_snumber);+_Universe->netLock(false); if( netcreate) { @@ -125,6 +129,7 @@ float radmult, float detonation_radius, ObjSerial netcreate ) {+_Universe->netLock(true); Missile * un = new Missile( filename, faction, modifications,@@ -134,6 +139,7 @@ radialeffect, radmult, detonation_radius);+_Universe->netLock(false); if( netcreate) { un->SetSerial( netcreate);@@ -173,9 +179,11 @@ string fullname , bool inside_out, ObjSerial netcreate) {+_Universe->netLock(true); Planet * p = new Planet( x, y, vely, rotvel, pos, gravity, radius, filename, dest, orbitcent, parent, faction, fullname, inside_out, 0);+_Universe->netLock(false); if( netcreate) { p->SetSerial( netcreate);@@ -233,7 +241,9 @@ int fg_snumber, float difficulty, ObjSerial netcreate ) {+_Universe->netLock(true); Asteroid * ast = new Asteroid( filename, faction, fg, fg_snumber, difficulty);+_Universe->netLock(false); if( netcreate) { // Only allow creating through system files? Doesn't make sense to be able to dynamically generate these.Modified: trunk/vegastrike/src/gamemenu.cpp===================================================================--- trunk/vegastrike/src/gamemenu.cpp2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/gamemenu.cpp2007-08-24 09:33:48 UTC (rev 11332)@@ -497,8 +497,7 @@ confirmedNetSaveGame(); window()->close(); } else if(command == "Load") {-// Not implemented yet.-// m_parent->();+confirmedNetDie(); window()->close(); } else if(command == "JoinGame") { confirmedJoinGame();@@ -546,16 +545,25 @@ } bool NetActionConfirm::confirmedNetSaveGame() {-// Do nothing yet.-return false;+if (!Network) return false;+Network[player].saveRequest();+return true; } +bool NetActionConfirm::confirmedNetDie() {+if (!Network) return false;+Network[player].dieRequest();+return true;+}+ bool NetActionConfirm::confirmedJoinGame() { string user, pass, err; NetClient::CleanUp(); GameMenu::readJoinGameControls(m_parent, user, pass); UniverseUtil::showSplashScreen(string());++if (!Network) return false; int numships = Network[player].connectLoad(user, pass, err); if (numships) { const vector<string> &shipList = Network[player].shipSelections();@@ -613,19 +621,24 @@ //} else { //UniverseUtil::hideSplashScreen(); //}-if (window()) window()->close();--if (m_parent) {-m_parent->close();+{+NetClient *playerClient = &Network[player];+Window *parentWin = m_parent;++if (window()) window()->close(); // THIS IS DELETED!++if (parentWin) {+parentWin->close();+}++globalWindowManager().shutDown();+TerminateCurrentBase(); //BaseInterface::CurrentBase->Terminate();++playerClient->startGame();+UniverseUtil::hideSplashScreen();++return true; }--globalWindowManager().shutDown();-TerminateCurrentBase(); //BaseInterface::CurrentBase->Terminate();--Network[player].startGame();-UniverseUtil::hideSplashScreen();--return true; } bool GameMenu::processJoinGameButton(const EventCommandId& command, Control *control) {Modified: trunk/vegastrike/src/gamemenu.h===================================================================--- trunk/vegastrike/src/gamemenu.h2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/gamemenu.h2007-08-24 09:33:48 UTC (rev 11332)@@ -61,6 +61,7 @@ virtual bool finalizeJoinGame(int launchShip=0); virtual bool confirmedJoinGame(); +virtual bool confirmedNetDie(); virtual bool confirmedNetSaveGame(); }; Modified: trunk/vegastrike/src/gui/slider.cpp===================================================================--- trunk/vegastrike/src/gui/slider.cpp2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/gui/slider.cpp2007-08-24 09:33:48 UTC (rev 11332)@@ -232,7 +232,7 @@ // we know is that some button is down. This is enough, since we don't get into a specific // mouse state in this control unless we know which mouse button was pressed... if(m_mouseState == MOUSE_THUMB_DRAG) {- assert(m_thumbLength != NO_THUMB_LENGTH);+ if (m_thumbLength == NO_THUMB_LENGTH) return true; const Rect cancelRect = m_rect.copyAndInset(THUMB_DRAG_CANCEL_MARGINS); if(!cancelRect.inside(event.loc)) {Modified: trunk/vegastrike/src/networking/lowlevel/netui.cpp===================================================================--- trunk/vegastrike/src/networking/lowlevel/netui.cpp2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/networking/lowlevel/netui.cpp2007-08-24 09:33:48 UTC (rev 11332)@@ -1,5 +1,5 @@ #include <config.h>-#include <vector>+#include <map> #include "networking/const.h" #include "netui.h"@@ -66,6 +66,11 @@ int NONBLOCKING_CONNECT=1; //#endif +bool bindFd(int fd, const AddressIP &remote_ip)+{+return bind( fd, (sockaddr *)&remote_ip, sizeof(struct sockaddr_in))!=SOCKET_ERROR;+}+ int NetUIBase::createClientSocket(const AddressIP &remote_ip, bool isTCP, bool isHTTP) { static_initNetwork( );@@ -109,7 +114,7 @@ } } else { // binds socket- if( bind( local_fd, (sockaddr *)&remote_ip, sizeof(struct sockaddr_in))==SOCKET_ERROR )+ if( !bindFd(local_fd, remote_ip) ) { perror( "Can't bind socket" ); VsnetOSS::close_socket( local_fd );@@ -223,7 +228,8 @@ // Creates and bind the socket designed to receive coms // host == NULL -> localhost -std::vector<SOCKETALT> UDP_pool;+typedef std::map<AddressIP, SOCKETALT> UDP_pool_type;+UDP_pool_type UDP_pool; SOCKETALT NetUIUDP::createSocket( const char * host, unsigned short srv_port, unsigned short clt_port, SocketSet& set ) {@@ -234,14 +240,16 @@ if( srv_port==0 ) srv_port = SERVER_PORT; if( clt_port==0 ) clt_port = SERVER_PORT; AddressIP remote_ip = NetUIBase::lookupHost(host, srv_port);--if (!UDP_pool.empty()) {-SOCKETALT ret = UDP_pool.back();+ AddressIP local_ip = NetUIBase::lookupHost("0.0.0.0", clt_port);++UDP_pool_type::iterator iter (UDP_pool.find(local_ip));+if (iter!=UDP_pool.end()) {+SOCKETALT ret ((*iter).second);+//bindFd(ret.get_fd(), local_ip); // Don't care if it fails... could be binding on itself. ret.setRemoteAddress(remote_ip); return ret; } - AddressIP local_ip = NetUIBase::lookupHost("0.0.0.0", clt_port); int local_fd = NetUIBase::createClientSocket( local_ip, false,false ); if (local_fd == -1) {@@ -250,7 +258,8 @@ } SOCKETALT ret( local_fd, SOCKETALT::UDP, remote_ip, set );-+ret.setLocalAddress(local_ip);+ if( ret.set_nonblock() == false ) { COUT << "Could not set socket to nonblocking state";@@ -279,6 +288,7 @@ } SOCKETALT ret( local_fd, SOCKETALT::UDP, local_ip, set );+ret.setLocalAddress(local_ip); if( ret.set_nonblock() == false ) {@@ -294,7 +304,7 @@ void NetUIUDP::disconnectSaveUDP(SOCKETALT udp) { if (udp.valid()) {-UDP_pool.push_back(udp);+UDP_pool[udp.getLocalAddress()] = udp; } } Modified: trunk/vegastrike/src/networking/lowlevel/vsnet_socket.cpp===================================================================--- trunk/vegastrike/src/networking/lowlevel/vsnet_socket.cpp2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/networking/lowlevel/vsnet_socket.cpp2007-08-24 09:33:48 UTC (rev 11332)@@ -103,6 +103,18 @@ return l.lowerAddress( r ); } +bool SOCKETALT::setLocalAddress(const AddressIP &inp){++ if( !_sock )+ {+ return false;+ }+ else+ {+ bool r = _sock->setLocalAddress(inp);+ return r;+ }+} bool SOCKETALT::setRemoteAddress(const AddressIP &inp){ if( !_sock )@@ -218,3 +230,11 @@ return nullAdr; // just in case. } }+const AddressIP &SOCKETALT::getLocalAddress() const {+static AddressIP nullAdr;+if ( _sock ) {+return _sock->getLocalAddress();+} else {+return nullAdr; // just in case.+}+}Modified: trunk/vegastrike/src/networking/lowlevel/vsnet_socket.h===================================================================--- trunk/vegastrike/src/networking/lowlevel/vsnet_socket.h2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/networking/lowlevel/vsnet_socket.h2007-08-24 09:33:48 UTC (rev 11332)@@ -75,6 +75,9 @@ //returns false if impossible (TCP) bool setRemoteAddress(const AddressIP&); +const AddressIP &getLocalAddress() const;+bool setLocalAddress(const AddressIP&);+ /** Required by the download manager achieve a sorting of sockets. */ friend class CompareLt;Modified: trunk/vegastrike/src/networking/lowlevel/vsnet_socketbase.h===================================================================--- trunk/vegastrike/src/networking/lowlevel/vsnet_socketbase.h2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/networking/lowlevel/vsnet_socketbase.h2007-08-24 09:33:48 UTC (rev 11332)@@ -126,10 +126,15 @@ const AddressIP &getRemoteAddress() const { return _remote_ip; } virtual bool setRemoteAddress(const AddressIP&){return false;}++// Storage... binding is done in netui for now.+const AddressIP &getLocalAddress() const { return _local_ip; }+ bool setLocalAddress(const AddressIP&lip){ _local_ip = lip; } // virtual void ack( ) = 0; protected: AddressIP _remote_ip; // IP address structure of remote server+ AddressIP _local_ip; // IP address this socket is bind()ed to private: VsnetSocket( );Modified: trunk/vegastrike/src/networking/netclient.cpp===================================================================--- trunk/vegastrike/src/networking/netclient.cpp2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/networking/netclient.cpp2007-08-24 09:33:48 UTC (rev 11332)@@ -599,7 +599,9 @@ break; case CMD_TXTMESSAGE: {- UniverseUtil::IOmessage(0,"game","all",netbuf.getString());+ string sender = netbuf.getString();+ string message = netbuf.getString();+ UniverseUtil::IOmessage(0,sender,"all",message); } break; @@ -1006,7 +1008,7 @@ bool missioncarg=false; unsigned int cargIndex = 0;-Cargo *cargptr;+Cargo *cargptr=NULL; if (!sender) { break; }@@ -1042,15 +1044,13 @@ } if (upgrade && (seller==sender || buyer==sender)) { double percent; // not used.-const Unit *unitCarg = getUnitFromUpgradeName(carg.GetContent(), seller->faction);-if (!unitCarg) break; // not an upgrade, and already did cargo transactions. int multAddMode = GetModeFromName(carg.GetContent().c_str()); // Now we're sure it's an authentic upgrade... // Wow! So much code just to perform an upgrade! const string unitDir = GetUnitDir(sender->name.get().c_str()); string templateName;-int faction;+int faction=0; if (seller==sender) { templateName = unitDir + ".blank"; faction = seller->faction;@@ -1058,6 +1058,8 @@ faction = buyer->faction; templateName = unitDir + ".template"; }+const Unit *unitCarg = getUnitFromUpgradeName(carg.GetContent(), faction);+if (!unitCarg) break; // not an upgrade, and already did cargo transactions. // Get the "limiter" for the upgrade. Stats can't increase more than this. const Unit * templateUnit = UnitConstCache::getCachedConst(StringIntKey(templateName,faction)); if (!templateUnit) {@@ -1252,7 +1254,7 @@ void NetClient::CleanUp() { if (Network) { for (int i=0;i<_Universe->numPlayers();i++) {-SOCKETALT *udp = Network[i].logout(true);+Network[i].logout(false); } delete [] Network; Network = NULL;Modified: trunk/vegastrike/src/networking/netclient.h===================================================================--- trunk/vegastrike/src/networking/netclient.h2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/networking/netclient.h2007-08-24 09:33:48 UTC (rev 11332)@@ -180,8 +180,8 @@ // Warn the server we are leaving the game SOCKETALT*logout(bool leaveUDP); voidRespawn(ObjSerial clientname);-void saveRequest();-// void dieRequest();+voidsaveRequest();+voiddieRequest(); // Check if there are info incoming over the network intcheckMsg( Packet* outpacket );Modified: trunk/vegastrike/src/networking/netclient_devices.cpp===================================================================--- trunk/vegastrike/src/networking/netclient_devices.cpp2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/networking/netclient_devices.cpp2007-08-24 09:33:48 UTC (rev 11332)@@ -174,6 +174,36 @@ jumpok = false; } +voidNetClient::dieRequest( )+{+// Send a packet with CMD_DOCK with serial and an ObjSerial = unit_to_dock_with_serial+Packet p;+NetBuffer netbuf;+Unit *un = this->game_unit.GetUnit();+if (!un) return;++cerr<<"SENDING A KILL REQUEST FOR PLAYER "<<callsign<<endl;+p.send( CMD_KILL, un->GetSerial(),+ netbuf.getData(), netbuf.getDataLength(),+ SENDRELIABLE, NULL, *this->clt_tcp_sock,+ __FILE__, PSEUDO__LINE__(189) );+}++voidNetClient::saveRequest( )+{+// Send a packet with CMD_DOCK with serial and an ObjSerial = unit_to_dock_with_serial+Packet p;+NetBuffer netbuf;+Unit *un = this->game_unit.GetUnit();+if (!un) return;++cerr<<"SENDING A SAVE REQUEST FOR PLAYER "<<callsign<<endl;+p.send( CMD_SAVEACCOUNTS, un->GetSerial(),+ netbuf.getData(), netbuf.getDataLength(),+ SENDRELIABLE, NULL, *this->clt_tcp_sock,+ __FILE__, PSEUDO__LINE__(189) );+}+ voidNetClient::dockRequest( ObjSerial utdw_serial) { // Send a packet with CMD_DOCK with serial and an ObjSerial = unit_to_dock_with_serialModified: trunk/vegastrike/src/networking/netclient_login.cpp===================================================================--- trunk/vegastrike/src/networking/netclient_login.cpp2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/networking/netclient_login.cpp2007-08-24 09:33:48 UTC (rev 11332)@@ -468,7 +468,6 @@ /**** packet data. ****/ /*************************************************************/ -#define NUM_TIMES 10 // Number of times to send back and forth and obtain average. // NETFIXME: Correctly obtain ping time. #include "vs_random.h" // For random ping time. @@ -484,22 +483,33 @@ double timeavg=0.; std::map<double, double> times; // sorted container. double initialTime=queryTime();-int clt_port_read = XMLSupport::parse_int(vs_config->getVariable( "network", "udp_listen_port", "6778" ));-if (clt_port_read>65535||clt_port_read<0)+static int NUM_TIMES = XMLSupport::parse_int(vs_config->getVariable( "network", "servertime_calibration", "5" ));+static int UDP_TIMEOUT = XMLSupport::parse_int(vs_config->getVariable( "network", "udp_timeout", "5" ));+static int clt_port_read = XMLSupport::parse_int(vs_config->getVariable( "network", "udp_listen_port", "6778" ));+if (clt_port_read>65535||clt_port_read<=0) clt_port_read=0;+static int clt_port_read_max = XMLSupport::parse_int(vs_config->getVariable( "network", "udp_listen_port_max", "6778" ));+if (clt_port_read_max>65535||clt_port_read_max<=0)+clt_port_read_max=clt_port_read; unsigned short clt_port=(unsigned short)clt_port_read;+unsigned short clt_port_max=(unsigned short)clt_port_read_max;+if (clt_port_max<clt_port) {+clt_port_max = clt_port;+} -string nettransport;-nettransport = vs_config->getVariable( "network", "transport", "udp" );+static string nettransport = vs_config->getVariable( "network", "transport", "udp" ); //std::string addr; unsigned short port=this->_serverport; //getConfigServerAddress(addr, port); -if (!(udpsock!=NULL&&udpsock->setRemoteAddress(NetUIBase::lookupHost(this->_serverip.c_str(), port))))+if (!(udpsock!=NULL&&udpsock->setRemoteAddress(NetUIBase::lookupHost(this->_serverip.c_str(), port)))) {+do { *this->clt_udp_sock=NetUIUDP::createSocket( this->_serverip.c_str(), port, clt_port, _sock_set );- else+} while ((!this->clt_udp_sock->valid()) && (clt_port++));+} else { this->clt_udp_sock=udpsock;+} COUT << "created UDP socket (" << this->_serverip << "," << port << ", listen on " << clt_port << ") -> " << this->clt_udp_sock << endl; if (nettransport=="udp") {@@ -517,7 +527,7 @@ // Wait for NUM_TIMES (10) successful tries, or 10 consecutive 1-second timeouts // (we use UDP on the response (SENDANDFORGET) to improve timing accuracy).-while (i<NUM_TIMES&&timeout<10) {+while (i<NUM_TIMES&&timeout<UDP_TIMEOUT) { Packet packet; NetBuffer outData; outData.addShort(clt_port);@@ -530,13 +540,20 @@ if (recv<=0) { COUT << "synchronizeTime() Timed out" << endl; ++timeout;-if (timeout>=10&&this->lossy_socket->isTcp()==false) {-// no UDP requests made it, fallback to TCP.-this->lossy_socket=this->clt_tcp_sock;-clt_port=0;-timeout=0;-COUT << "Setting default lossy transport to TCP (UDP timeout)." << endl;-// NETFIXME: We may want to try different UDP ports to allow multiple people behind one firewall. In that case, keep falling back to a different port, and make sure to set_nonblock or set_block on each one.+if (timeout>=UDP_TIMEOUT) {+if (this->lossy_socket->isTcp()==false) {+if (clt_port<clt_port_max && !udpsock) {+NetUIUDP::disconnectSaveUDP(*this->clt_udp_sock); // is disconnectSaveUDP proper???+*this->clt_udp_sock=NetUIUDP::createSocket( this->_serverip.c_str(), port, clt_port, _sock_set );+clt_port++;+} else {+// no UDP requests made it, fallback to TCP.+this->lossy_socket=this->clt_tcp_sock;+clt_port=0;+}+timeout=0;+COUT << "Setting default lossy transport to TCP (UDP timeout)." << endl;+} } } else if (packet.getCommand() == CMD_SERVERTIME ) { // NETFIXME: obtain actual ping timeModified: trunk/vegastrike/src/networking/netserver.cpp===================================================================--- trunk/vegastrike/src/networking/netserver.cpp2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/networking/netserver.cpp2007-08-24 09:33:48 UTC (rev 11332)@@ -820,13 +820,23 @@ break; case CMD_TXTMESSAGE: {+ if (!clt) break; un = clt->game_unit.GetUnit();-p2.bc_create( CMD_TXTMESSAGE, packet_serial,- packet.getData(), packet.getDataLength(), SENDRELIABLE,+ if (!un) break;+NetBuffer netbuf (packet.getData(), packet.getDataLength());+string message = netbuf.getString().substr(0, 160);+std::replace(message.begin(),message.end(),'#','$');+std::replace(message.begin(),message.end(),'\n',' ');+std::replace(message.begin(),message.end(),'\r',' ');+netbuf.Reset();+netbuf.addString(clt->callsign);+netbuf.addString(message);+p2.bc_create( CMD_TXTMESSAGE, un->GetSerial(),+ netbuf.getData(), netbuf.getDataLength(), SENDRELIABLE, __FILE__, PSEUDO__LINE__(1293)); // Send to concerned clients-zonemgr->broadcast( un==NULL?_Universe->activeStarSystem()->GetZone():un->getStarSystem()->GetZone(), packet_serial, &p2, true);- cerr << "Received text message "<<netbuf.getString()<<endl;+zonemgr->broadcast( un->getStarSystem()->GetZone(), un->GetSerial(), &p2, true);+ COUT << "Received text message from client "<<clt->callsign<<endl; } break; @@ -870,6 +880,9 @@ } } break;+case CMD_KILL:+COUT << "CMD_KILL not implented."<<endl;+break; case CMD_RESPAWN : COUT << "Received a respawning request for "<< clt->callsign<<"..." << endl;@@ -1404,7 +1417,7 @@ if (!un) break; // Broadcast sound sample to the clients in the same zone and the have PortAudio support p2.bc_create( packet.getCommand(), packet_serial,- packet.getData(), packet.getDataLength(), SENDRELIABLE,+ , SENDRELIABLE, __FILE__, PSEUDO__LINE__(1341)); zonemgr->broadcastText( un->getStarSystem()->GetZone(), packet_serial, &p2, clt->comm_freq); Modified: trunk/vegastrike/src/networking/netserver.h===================================================================--- trunk/vegastrike/src/networking/netserver.h2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/networking/netserver.h2007-08-24 09:33:48 UTC (rev 11332)@@ -164,6 +164,7 @@ voidsendDockDeny( ObjSerial serial, unsigned short zone); voidsendUnDock( ObjSerial serial, ObjSerial utdwserial, unsigned short zone); voidsendCredits( ObjSerial serial, float creds);+voidaddUnitCargoSnapshot( const Unit *un, NetBuffer &netbuf); voidsendCargoSnapshot( ObjSerial serial, const UnitCollection &unitlist); voidaddSystem( string & sysname, string & system);Modified: trunk/vegastrike/src/networking/netserver_clients.cpp===================================================================--- trunk/vegastrike/src/networking/netserver_clients.cpp2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/networking/netserver_clients.cpp2007-08-24 09:33:48 UTC (rev 11332)@@ -171,6 +171,14 @@ getZoneInfo(un->activeStarSystem->GetZone(), netbuf); packet3.send( CMD_ENTERCLIENT, 0, netbuf.getData(), netbuf.getDataLength(), SENDRELIABLE, &clt->cltadr, clt->tcp_sock, __FILE__, PSEUDO__LINE__(174) ); +Packet p2;+netbuf.Reset();+addUnitCargoSnapshot(un, netbuf);+netbuf.addSerial(0);+p2.bc_create( CMD_SNAPCARGO, 0, netbuf.getData(), netbuf.getDataLength(),+SENDRELIABLE, __FILE__, PSEUDO__LINE__(179) );+zonemgr->broadcast( un->activeStarSystem->GetZone(), un->GetSerial(), &p2, true ); + COUT<<"ADDED client n "<<un->GetSerial()<<" in ZONE "<<un->activeStarSystem->GetZone()<<" at STARDATE "<<_Universe->current_stardate.GetFullTrekDate()<<endl; if (active_missions.size()==1) { LoadMission("",vs_config->getVariable("server","serverscript","import server;server.server();"),false);Modified: trunk/vegastrike/src/networking/netserver_devices.cpp===================================================================--- trunk/vegastrike/src/networking/netserver_devices.cpp2007-08-24 07:46:50 UTC (rev 11331)+++ trunk/vegastrike/src/networking/netserver_devices.cpp2007-08-24 09:33:48 UTC (rev 11332)@@ -107,6 +107,24 @@ __FILE__, PSEUDO__LINE__(97) ); } +voidNetServer::addUnitCargoSnapshot( const Unit *un, NetBuffer &netbuf) {+unsigned int numCargo = un->numCargo();+if (!numCargo) return;+netbuf.addSerial(un->GetSerial());+netbuf.addFloat(un->Mass);+netbuf.addFloat(un->image->CargoVolume);+netbuf.addFloat(un->image->UpgradeVolume);+netbuf.addInt32(numCargo);+for (unsigned int i=0;i<numCargo;i++) {+const Cargo &carg = un->GetCargo(i);+netbuf.addInt32(carg.GetQuantity());+netbuf.addString(carg.GetContent());+netbuf.addFloat(carg.GetPrice());+netbuf.addFloat(carg.GetMass());+netbuf.addFloat(carg.GetVolume());+}+}+ voidNetServer::sendCargoSnapshot( ObjSerial cltser, const UnitCollection &list) { ClientPtr clt = this->getClientFromSerial(cltser); if (!clt) return;@@ -115,21 +133,7 @@ const Unit *un; for (un_kiter iter = list.constIterator(); (un = *iter); ++iter) { if (!un->GetSerial() || un->GetSerial()==cltser) continue;-unsigned int numCargo = un->numCargo();-if (!numCargo) continue;-netbuf.addSerial(un->GetSerial());-netbuf.addFloat(un->Mass);-netbuf.addFloat(un->image->CargoVolume);-netbuf.addFloat(un->image->UpgradeVolume);-netbuf.addInt32(numCargo);-for (unsigned int i=0;i<numCargo;i++) {-const Cargo &carg = un->GetCargo(i);-netbuf.addInt32(carg.GetQuantity());-netbuf.addString(carg.GetContent());-netbuf.addFloat(carg.GetPrice());-netbuf.addFloat(carg.GetMass());-netbuf.addFloat(carg.GetVolume());-}+addUnitCargoSnapshot(un, netbuf); } netbuf.addSerial(0); p2.send( CMD_SNAPCARGO, 0, netbuf.getData(), netbuf.getDataLength(), SENDRELIABLE,

1 2 3 .. 5 > >> (Page 1 of 5)

Thread: [Vegastrike-cvs] SF.net SVN: vegastrike: [10133] trunk (2024)
Top Articles
Latest Posts
Article information

Author: Gov. Deandrea McKenzie

Last Updated:

Views: 6314

Rating: 4.6 / 5 (46 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Gov. Deandrea McKenzie

Birthday: 2001-01-17

Address: Suite 769 2454 Marsha Coves, Debbieton, MS 95002

Phone: +813077629322

Job: Real-Estate Executive

Hobby: Archery, Metal detecting, Kitesurfing, Genealogy, Kitesurfing, Calligraphy, Roller skating

Introduction: My name is Gov. Deandrea McKenzie, I am a spotless, clean, glamorous, sparkling, adventurous, nice, brainy person who loves writing and wants to share my knowledge and understanding with you.