mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-01 17:35:34 -04:00
generalize with python script
This commit is contained in:
parent
03a7bfeb0c
commit
cfdc400bcb
@ -1,173 +0,0 @@
|
|||||||
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
|
|
||||||
{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f36\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}
|
|
||||||
{\f62\fswiss\fcharset0\fprq2{\*\panose 020b0603020202020204}Trebuchet MS;}{\f79\froman\fcharset238\fprq2 Times New Roman CE;}{\f80\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f82\froman\fcharset161\fprq2 Times New Roman Greek;}
|
|
||||||
{\f83\froman\fcharset162\fprq2 Times New Roman Tur;}{\f84\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f85\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f86\froman\fcharset186\fprq2 Times New Roman Baltic;}
|
|
||||||
{\f87\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f89\fswiss\fcharset238\fprq2 Arial CE;}{\f90\fswiss\fcharset204\fprq2 Arial Cyr;}{\f92\fswiss\fcharset161\fprq2 Arial Greek;}{\f93\fswiss\fcharset162\fprq2 Arial Tur;}
|
|
||||||
{\f94\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f95\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);}{\f96\fswiss\fcharset186\fprq2 Arial Baltic;}{\f97\fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f439\fswiss\fcharset238\fprq2 Tahoma CE;}
|
|
||||||
{\f440\fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f442\fswiss\fcharset161\fprq2 Tahoma Greek;}{\f443\fswiss\fcharset162\fprq2 Tahoma Tur;}{\f444\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f445\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}
|
|
||||||
{\f446\fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f447\fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f448\fswiss\fcharset222\fprq2 Tahoma (Thai);}{\f699\fswiss\fcharset238\fprq2 Trebuchet MS CE;}{\f700\fswiss\fcharset204\fprq2 Trebuchet MS Cyr;}
|
|
||||||
{\f702\fswiss\fcharset161\fprq2 Trebuchet MS Greek;}{\f703\fswiss\fcharset162\fprq2 Trebuchet MS Tur;}{\f706\fswiss\fcharset186\fprq2 Trebuchet MS Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;
|
|
||||||
\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;
|
|
||||||
\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10
|
|
||||||
\additive \ssemihidden Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv
|
|
||||||
\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{\s15\ql \li0\ri0\widctlpar
|
|
||||||
\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 \styrsid8735456 header;}{
|
|
||||||
\s16\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext16 \styrsid8735456
|
|
||||||
footer;}{\s17\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext17 Golding Agreement;}{
|
|
||||||
\s18\ql \li0\ri0\widctlpar\jclisttab\tx720\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af62\afs22\alang1025 \ltrch\fcs0 \f62\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext18 Agreement;}{
|
|
||||||
\s19\ql \fi720\li0\ri0\widctlpar\jclisttab\tx1080\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext19 Golding Agreement Numbered;}
|
|
||||||
{\s20\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af36\afs16\alang1025 \ltrch\fcs0 \f36\fs16\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext20 \ssemihidden \styrsid394374
|
|
||||||
Balloon Text;}}{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\listtable{\list\listtemplateid1000929706{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}
|
|
||||||
\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \s19\fi720\jclisttab\tx1080 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'04\'00.\'01.;}{\levelnumbers\'01\'03;}\rtlch\fcs1 \af0 \ltrch\fcs0
|
|
||||||
\fbias0 \fi1440\jclisttab\tx1800 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03(\'02);}{\levelnumbers\'02;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-720\li2880
|
|
||||||
\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03(\'03);}{\levelnumbers\'02;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-720\li3600\jclisttab\tx3600\lin3600 }
|
|
||||||
{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0a\'00.\'01.\'02.\'03.\'04.;}{\levelnumbers\'01\'03\'05\'07\'09;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-792\li2592
|
|
||||||
\jclisttab\tx2880\lin2592 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0c\'00.\'01.\'02.\'03.\'04.\'05.;}{\levelnumbers\'01\'03\'05\'07\'09\'0b;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0
|
|
||||||
\fi-936\li3096\jclisttab\tx3240\lin3096 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0e\'00.\'01.\'02.\'03.\'04.\'05.\'06.;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d;}\rtlch\fcs1
|
|
||||||
\af0 \ltrch\fcs0 \fbias0 \fi-1080\li3600\jclisttab\tx3960\lin3600 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'10\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.;}{\levelnumbers
|
|
||||||
\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1224\li4104\jclisttab\tx4320\lin4104 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
|
|
||||||
\'12\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08.;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-1440\li4680\jclisttab\tx5040\lin4680 }{\listname ;}\listid1268391648}{\list\listtemplateid-2041952680
|
|
||||||
{\listlevel\levelnfc1\levelnfcn1\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \ab\ai0\af62\afs22 \ltrch\fcs0
|
|
||||||
\b\i0\strike0\outl0\shad0\embo0\impr0\caps0\v0\f62\fs22\nosupersub\striked0\fbias0 \s18\jclisttab\tx720 }{\listlevel\levelnfc3\levelnfcn3\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'01.;}{\levelnumbers\'01;}
|
|
||||||
\rtlch\fcs1 \af62\afs20 \ltrch\fcs0 \strike0\shad0\embo0\impr0\caps0\v0\f62\fs20\nosupersub\striked0\fbias0 \fi720\jclisttab\tx1080 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
|
|
||||||
\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi1440\jclisttab\tx1800 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1
|
|
||||||
\af0 \ltrch\fcs0 \fbias0 \fi-720\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc2\levelnfcn2\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03(\'04);}{\levelnumbers\'02;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0
|
|
||||||
\fi-720\li3600\jclisttab\tx3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3880 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\jclisttab\tx2160\lin2160 }{\listlevel
|
|
||||||
\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2520\jclisttab\tx2520\lin2520 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
|
|
||||||
\levelstartat1\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\jclisttab\tx2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext
|
|
||||||
\'01\u-3928 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li3240\jclisttab\tx3240\lin3240 }{\listname ;}\listid2106997074}}{\*\listoverridetable{\listoverride\listid1268391648\listoverridecount0\ls1}{\listoverride\listid2106997074\listoverridecount0\ls2}
|
|
||||||
{\listoverride\listid1268391648\listoverridecount0\ls3}}{\*\rsidtbl \rsid394374\rsid403996\rsid468085\rsid801551\rsid863304\rsid1245290\rsid1275625\rsid1390265\rsid1454435\rsid1472111\rsid1577047\rsid1930144\rsid2370055\rsid2637308\rsid2841200\rsid3037637
|
|
||||||
\rsid3151112\rsid3158885\rsid3292229\rsid4197951\rsid5571198\rsid5666566\rsid6120287\rsid6227191\rsid6229523\rsid7562685\rsid7623063\rsid8070803\rsid8611077\rsid8735456\rsid8811953\rsid8925087\rsid9004060\rsid9520111\rsid9855581\rsid10819564\rsid10890474
|
|
||||||
\rsid11421308\rsid11668119\rsid12136995\rsid12138535\rsid12537356\rsid13253341\rsid13572892\rsid13793396\rsid14299738\rsid14424377\rsid15750450\rsid15927901\rsid16076604}{\*\generator Microsoft Word 11.0.8125;}{\info
|
|
||||||
{\title PLEASE READ THESE TERMS AND CONDITIONS OF USE CAREFULLY BEFORE INSTALLING OR DOWNLOADING ESPNMOTION}{\author ESPN USER}{\operator VR Studio}{\creatim\yr2007\mo3\dy26\hr17\min49}{\revtim\yr2007\mo4\dy19\hr15\min20}
|
|
||||||
{\printim\yr2005\mo11\dy22\hr16\min6}{\version4}{\edmins3}{\nofpages3}{\nofwords2080}{\nofchars11859}{\*\company ESPN}{\nofcharsws13912}{\vern24611}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}
|
|
||||||
{\xmlns2 urn:schemas-microsoft-com:office:smarttags}}\paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect
|
|
||||||
\widowctrl\ftnbj\aenddoc\donotembedsysfont0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180
|
|
||||||
\dgvspace180\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1\jexpand\viewkind4\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\rsidroot2637308 \fet0{\*\wgrffmtfilter 013f}
|
|
||||||
\ilfomacatclnup0{\*\ftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1
|
|
||||||
\af0 \ltrch\fcs0 \insrsid12136995 \chftnsep
|
|
||||||
\par }}{\*\ftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0
|
|
||||||
\ltrch\fcs0 \insrsid12136995 \chftnsepc
|
|
||||||
\par }}{\*\aftnsep \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0
|
|
||||||
\ltrch\fcs0 \insrsid12136995 \chftnsep
|
|
||||||
\par }}{\*\aftnsepc \ltrpar \pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0
|
|
||||||
\ltrch\fcs0 \insrsid12136995 \chftnsepc
|
|
||||||
\par }}\ltrpar \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\headerr \ltrpar \pard\plain \ltrpar\s15\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1
|
|
||||||
\af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid11668119 FINAL
|
|
||||||
\par }}{\footerr \ltrpar \pard\plain \ltrpar\s16\ql \li0\ri0\widctlpar\tqc\tx4320\tqr\tx8640\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1245290 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0
|
|
||||||
\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0\afs14 \ltrch\fcs0 \fs14\insrsid14299738 Pirates Online Game- EULA}{\rtlch\fcs1 \af0\afs14 \ltrch\fcs0 \fs14\insrsid11668119\charrsid8811953
|
|
||||||
\par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}
|
|
||||||
{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8
|
|
||||||
\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid2370055
|
|
||||||
\rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1\afs18 \ltrch\fcs0 \f1\fs18\insrsid2370055\charrsid2370055
|
|
||||||
PLEASE READ THESE TERMS AND CONDITIONS OF USE CAREFULLY BEFORE INSTALLING OR DOWNLOADING PIRATES OF THE {\*\xmlopen\xmlns2{\factoidname place}}CARIBBEAN{\*\xmlclose}
|
|
||||||
ONLINE GAME ("Pirates Online Game"). By clicking "I Agree" on the button below (or with respect to the installer, by clicking "I Agree" and t
|
|
||||||
he button "OK"), you signify your agreement to these terms of use, which constitute a BINDING LEGAL AGREEMENT. If you do not agree to these terms of use, click "CANCEL" and DO NOT download or install "Pirates Online Game."
|
|
||||||
\par
|
|
||||||
\par THESE TERMS AND CONDITIONS ALSO
|
|
||||||
APPLY TO THE USE OF PIRATES ONLINE GAME ON ANY COMPUTER TO WHICH PIRATES ONLINE GAME HAS ALREADY BEEN DOWNLOADED OR INSTALLED. PLEASE READ THEM CAREFULLY. By using Pirates Online Game on such a computer, you signify your agreement to these terms of use
|
|
||||||
,
|
|
||||||
which constitute a BINDING LEGAL AGREEMENT. If you do not agree to these terms of use, either (1) DO NOT visit the home page of the Pirates Online Game website (currently located at http://www.piratesonline.com) or (2) DO NOT use Pirates Online Game. I
|
|
||||||
f
|
|
||||||
you do not agree to these terms and you own or control the medium on which Pirates Online Game is stored, you must erase Pirates Online Game from the computer memories and storage devices, and destroy all materials obtained from Pirates Online Game and a
|
|
||||||
ll related documentation and all copies and installations thereof, whether made under these terms or otherwise.
|
|
||||||
\par
|
|
||||||
\par We reserve the right, at our discretion, to change, modify, add, or remove portions of these terms at any time. Please check these terms on the
|
|
||||||
Pirates Online Game website periodically for changes. Your continued use of Pirates Online Game following the posting of changes to these terms will mean you accept those changes.
|
|
||||||
\par
|
|
||||||
\par
|
|
||||||
\par 1. General. All software, documentation and any content accessed through
|
|
||||||
the software you are about to download or install (collectively, "Pirates Online Game") are protected by United States and international laws, including copyright laws and treaties. Disney Online, Walt Disney Internet Group, The Walt Disney Company, thei
|
|
||||||
r
|
|
||||||
respective affiliates, and their respective licensors (collectively, "Disney" or "We," "Us" or "Our") own all right, title and interest to Pirates Online Game. Except for the specific rights licensed to you hereunder, Disney reserves all of its rights t
|
|
||||||
o Pirates Online Game. The mark "Disney" (and related logo) and the mark "Pirates Online Game" are trademarks or service marks of The Walt Disney Company and/or its affiliates.
|
|
||||||
\par
|
|
||||||
\par 2. Title Not Transferred. These terms do not transfer title of Pirates Online Game to you. The rights granted herein are limited to certain of Disney\rquote s and its licensors\rquote
|
|
||||||
rights and do not include any other patents or other intellectual property rights. As between you and Disney, you own the medium on which you record the softwar
|
|
||||||
e underlying Pirates Online Game (e.g., you own the hard drive on your computer). However, Disney and its licensors retain full and complete title to Pirates Online Game and all intellectual property rights therein.
|
|
||||||
\par
|
|
||||||
\par 3. License and Restrictions. Disney h
|
|
||||||
ereby grants you, for the subscription price, a non-exclusive license to install and use one copy of Pirates Online Game on a single computer (or one copy on each computer you use, up to 3 computers) for personal, non-commercial use only. You may not mak
|
|
||||||
e Pirates Online Game available over a network where it could be used on multiple computers simultaneously.
|
|
||||||
\par
|
|
||||||
\par Disney may configure Pirates Online Game with certain tags that identify the version of Pirates Online Game being used on your computer and which
|
|
||||||
permit Disney to update this version without further notice to you. Disney shall have the right to poll your computer for the purpose of installing updated versions of Pirates Online Game or to uninstall such versions automatically.
|
|
||||||
\par
|
|
||||||
\par You may not (and you
|
|
||||||
agree not to permit another person to): (i) redistribute, sell or otherwise copy Pirates Online Game; (ii) modify, translate or create derivative works based on Pirates Online Game; (iii) attempt to decompile, reverse engineer, disassemble or otherwise
|
|
||||||
r
|
|
||||||
educe Pirates Online Game to a human-readable form, except to the extent applicable laws specifically prohibit such restriction; (iv) remove any identification, copyright or other proprietary notices; or (v) create software that incorporates Pirates Onlin
|
|
||||||
e
|
|
||||||
Game. WITHOUT LIMITING THE FOREGOING, COPYING OR REPRODUCTION OF THE CONTENT OR SOFTWARE TO ANY OTHER SERVER OR LOCATION FOR FURTHER REPRODUCTION OR REDISTRIBUTION IS EXPRESSLY PROHIBITED. You acknowledge that Pirates Online Game is not intended for us
|
|
||||||
e in connection with any high risk or strict liability activity and Disney makes no warranty and shall have no liability in connection with the use of Pirates Online Game in any such situations.
|
|
||||||
\par
|
|
||||||
\par 4. No Warranty. PIRATES ONLINE GAME (INCLUDING WITHOUT LIMITATION ANY CONTENT) IS PROVIDED "AS IS" AND WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, OR STATUTORY.
|
|
||||||
\par
|
|
||||||
\par TO THE FULLEST EXTENT PERMISSIBLE PURSUANT TO APPLICABLE LAW, DISNEY DISCLAIMS ALL WARRANTIES, STATUTORY, EXPRESS OR IMPLIED, INCLUDING,
|
|
||||||
BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT AND TITLE. WE DO NOT WARRANT THAT PIRATES ONLINE GAME WILL MEET YOUR REQUIREMENTS, THAT YOUR ACCESS OR OPERATION OF PIRATES ONLINE GAME OR ANY
|
|
||||||
|
|
||||||
CONTENT ACCESSIBLE THROUGH PIRATES ONLINE GAME WILL BE UNINTERRUPTED OR ERROR-FREE, THAT DEFECTS WILL BE CORRECTED, OR THAT THE PIRATES ONLINE GAME SITE OR THE OTHER SITES OF DISNEY (OR ANY SERVERS THAT MAKE SUCH MATERIALS AVAILABLE) ARE FREE OF VIRUSES O
|
|
||||||
R
|
|
||||||
OTHER HARMFUL COMPONENTS. WE DO NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OR THE RESULTS OF THE USE OF PIRATES ONLINE GAME IN TERMS OF THEIR CORRECTNESS, ACCURACY, RELIABILITY, OR OTHERWISE, OR THAT THE USE OF PIRATES ONLINE GAME WILL NOT
|
|
||||||
ADVERSELY AFFECT YOUR OR ANY OTHER PERSON\rquote S USE OF THE COMPUTER(S) ON WHICH PIRATES ONLINE GAME IS DOWNLOADED OR INSTALLED OR THE NETWORK OF WHICH SUCH COMPUTER(S) ARE A PART.
|
|
||||||
\par
|
|
||||||
\par NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY DISNEY OR AN AUTHORIZED REP
|
|
||||||
RESENTATIVE SHALL CREATE A WARRANTY OF ANY KIND. APPLICABLE LAW MAY NOT ALLOW THE EXCLUSION OF EXPRESS OR IMPLIED WARRANTIES, SO CERTAIN OF THE ABOVE EXCLUSIONS MAY NOT APPLY TO YOU. YOU MAY ALSO HAVE OTHER LEGAL RIGHTS WHICH VARY FROM STATE TO STATE AN
|
|
||||||
D JURISDICTION TO JURISDICTION.
|
|
||||||
\par
|
|
||||||
\par 5. Indemnification. You hereby agree to indemnify, defend, and hold us and our affiliates and our officers, directors, owners, agents, information providers, affiliates, licensors, and licensees (collectively, the "Indemnifi
|
|
||||||
ed Parties") harmless from and against any and all liabilities and costs (including reasonable attorneys' fees) incurred by the Indemnified Parties in connection with any claim arising out of any breach by you of this agreement. You shall use your best ef
|
|
||||||
forts to cooperate with us in the defense of any claim. We reserve the right, at our own expense, to assume the exclusive defense and control of any matter otherwise subject to indemnification by you.
|
|
||||||
\par
|
|
||||||
\par 6. Limitation on Liability. UNDER NO CIRCUMSTANCES, INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE, SHALL WE BE LIABLE FOR ANY PERSONAL INJURY OR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOS
|
|
||||||
S
|
|
||||||
OF PROFITS, LOSS OF DATA, OR BUSINESS INTERRUPTION UNDER ANY LEGAL THEORY (TORT, CONTRACT OR OTHERWISE), THAT RESULT FROM THE USE OF, OR THE INABILITY TO USE, PIRATES ONLINE GAME OR MATERIALS OR FUNCTIONS AVAILABLE THROUGH PIRATES ONLINE GAME, EVEN IF WE
|
|
||||||
|
|
||||||
HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. APPLICABLE LAW MAY NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY OR INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU. IF YOU ARE DISSATISFIED WITH ANY
|
|
||||||
|
|
||||||
PORTION OF PIRATES ONLINE GAME, OR WITH ANY OF THESE TERMS OF USE, YOUR SOLE AND EXCLUSIVE REMEDY IS TO DISCONTINUE USING PIRATES ONLINE GAME. WITHOUT LIMITING THE FOREGOING, IN NO EVENT SHALL OUR TOTAL LIABILITY TO YOU FOR ALL DAMAGES, LOSSES, AND CAUSE
|
|
||||||
S OF ACTION (WHETHER IN CONTRACT, TORT [INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE], OR OTHERWISE) EXCEED THE AMOUNT PAID BY YOU TO DISNEY, IF ANY, FOR ACCESSING PIRATES ONLINE GAME OR $50, WHICHEVER IS LESS.
|
|
||||||
\par
|
|
||||||
\par The foregoing limitations will apply even if the above stated remedy fails of its essential purpose.
|
|
||||||
\par
|
|
||||||
\par 7. Jurisdiction. Unless otherwise expressly specified, Pirates Online Game (and any content) is presented solely for the purpose of promoting programs, films, and other products available in the {\*\xmlopen\xmlns2{\factoidname place}}
|
|
||||||
{\*\xmlopen\xmlns2{\factoidname country-region}}United States{\*\xmlclose}{\*\xmlclose} and its territories, possessions, and protectorates. Disney is operated from {\*\xmlopen\xmlns2{\factoidname place}}{\*\xmlopen\xmlns2{\factoidname country-region}}
|
|
||||||
U.S.{\*\xmlclose}{\*\xmlclose} offices. We make no representation that Pirates Online Game is appropriate or available for use in any particular location. Those who choose to use Pirates Online Gam
|
|
||||||
e do so on their own initiative and are responsible for compliance with local laws, if and to the extent local laws are applicable.
|
|
||||||
\par
|
|
||||||
\par 8. Termination. These terms are effective until terminated by either party. We reserve the right, in our sole discretion, t
|
|
||||||
o terminate your access to any or all of Pirates Online Game and the related services or any portion thereof at any time, without notice, which such termination may include an automatic un-install by Disney of Pirates Online Game from your computer You m
|
|
||||||
a
|
|
||||||
y terminate these terms at any time by discontinuing use of Pirates Online Game, erasing Pirates Online Game from all computer memories and storage devices within your possession or control, and destroying all materials obtained from Pirates Online Game a
|
|
||||||
n
|
|
||||||
d all related documentation and all copies and installations thereof, whether made under these terms or otherwise. Upon termination, you must cease use of Pirates Online Game, erase Pirates Online Game from all computer memories and storage devices withi
|
|
||||||
n your possession or control, and destroy all materials obtained in connection with Pirates Online Game and all related documentation and all copies and installations thereof, whether made under these terms or otherwise.
|
|
||||||
\par
|
|
||||||
\par 9. Export Law Assurances. You agree not to use or otherwise export or re-export Pirates Online Game except as authorized by {\*\xmlopen\xmlns2{\factoidname place}}{\*\xmlopen\xmlns2{\factoidname country-region}}United States{\*\xmlclose}{\*\xmlclose}
|
|
||||||
law and the laws of the jurisdiction in which Pirates Online Game was obtained. Without limiting the foregoing, Pirates Online Game may not be exporte
|
|
||||||
d or re-exported (a) into (or to a national or resident of) any U.S. embargoed countries (currently Cuba, Iran, Iraq, Libya, North Korea, Sudan and Syria) or (b) to anyone on the U.S. Treasury Department's list of Specially Designated Nationals or the U.S
|
|
||||||
. Department of Commerce Denied Person\rquote s List or Entity List. By installing Pirates Online Game, you represent and warrant that you are not located in, under control of, or a national or resident of any such country or on any such list.
|
|
||||||
\par
|
|
||||||
\par 10. Government End Users. Pirates Online Game (and its components) are "Commercial Items", as that term is defined at 48 C.F.R. \'a7
|
|
||||||
2.101, consisting of "Commercial Computer Software" and "Commercial Computer Software Documentation", as such terms are used in 48 C.F.R. \'a712.212 or 48 C.F.R. \'a7227.7202, as applicable. Consistent with 48 C.F.R. \'a712.212 or 48 C.F.R. \'a7
|
|
||||||
227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government e
|
|
||||||
nd users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. Disney reserves any unpublished rights.
|
|
||||||
\par
|
|
||||||
\par 11. Disney.com Terms of Use. Please read the Terms of Use fo
|
|
||||||
r Disney.com (currently at http://disney.go.com/corporate/legal/terms.html), which are incorporated herein by this reference, before using this web site. By using this web site, you signify your agreement to the Terms of Use for Disney Online. If you do
|
|
||||||
|
|
||||||
not agree to the Terms of Use, you may not access this web site (including without limitation any content thereon) or use Pirates Online Game. We reserve the right, at our discretion, to change, modify, add, or remove portions of these terms at any time.
|
|
||||||
Please check these terms periodically for changes. Your continued use of this site following the posting of changes to these terms will mean you accept those changes.
|
|
||||||
\par
|
|
||||||
\par 12. Privacy Policy. Please read the Privacy Policy for Disney Online (currently at http:/
|
|
||||||
/disney.go.com/corporate/legal/wdig_privacy.html), which is incorporated herein by this reference, before using this web site. By using this web site, you signify your agreement to the Privacy Policy. If you do not agree to the Privacy Policy, please do
|
|
||||||
|
|
||||||
not use this web site. We reserve the right, at our discretion, to change, modify, add, or remove portions of the Privacy Policy at any time. Please check these terms periodically for changes. Your continued use of this site following the posting of chang
|
|
||||||
es to the Privacy Policy will mean you accept those changes.
|
|
||||||
\par
|
|
||||||
\par 13. Entire Agreement. These terms shall be governed by and construed in accordance with the laws of the State of {\*\xmlopen\xmlns2{\factoidname place}}{\*\xmlopen\xmlns2{\factoidname State}}California{\*\xmlclose}{\*\xmlclose}
|
|
||||||
, without giving effect to any principles of conflicts of law. You agree that any action at law or in equity arising out of or relating to these terms shall be filed only in the state or federal courts located in {\*\xmlopen\xmlns2{\factoidname place}}
|
|
||||||
{\*\xmlopen\xmlns2{\factoidname City}}Los Angeles County{\*\xmlclose}, {\*\xmlopen\xmlns2{\factoidname State}}California{\*\xmlclose}{\*\xmlclose}, and you hereby consent and submit to the personal jurisdiction of such courts for
|
|
||||||
the purposes of litigating any such action. If any provision of these terms shall be unlawful, void, or for any reason unenforceable, then that provision shall be deemed severable from these terms and shall not affect the validity and enforceability of an
|
|
||||||
y remaining provisions. This is the entire agreement between us relating to the subject matter herein and shall not be modified except in writing, signed by both parties.}{\rtlch\fcs1 \af1\afs18 \ltrch\fcs0 \f1\fs18\insrsid1577047\charrsid2370055
|
|
||||||
\par }}
|
|
Binary file not shown.
Before Width: | Height: | Size: 7.1 KiB |
Binary file not shown.
Before Width: | Height: | Size: 156 KiB |
211
direct/src/plugin_installer/make_installer.py
Executable file
211
direct/src/plugin_installer/make_installer.py
Executable file
@ -0,0 +1,211 @@
|
|||||||
|
#! /usr/bin/env python
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
from optparse import OptionParser
|
||||||
|
import subprocess
|
||||||
|
import direct
|
||||||
|
from pandac.PandaModules import *
|
||||||
|
|
||||||
|
usage = """
|
||||||
|
This command invokes NSIS to construct a Windows installer for the
|
||||||
|
Panda3D plugin and runtime environment.
|
||||||
|
|
||||||
|
%prog [opts]"""
|
||||||
|
|
||||||
|
parser = OptionParser(usage = usage)
|
||||||
|
parser.add_option('-n', '--short', dest = 'short_name',
|
||||||
|
help = 'The product short name',
|
||||||
|
default = 'Panda3D')
|
||||||
|
parser.add_option('-N', '--long', dest = 'long_name',
|
||||||
|
help = 'The product long name',
|
||||||
|
default = 'Panda3D Game Engine')
|
||||||
|
parser.add_option('-p', '--publisher', dest = 'publisher',
|
||||||
|
help = 'The name of the publisher',
|
||||||
|
default = 'Carnegie Mellon Entertainment Technology Center')
|
||||||
|
parser.add_option('-i', '--install', dest = 'install_dir',
|
||||||
|
help = "The install directory on the user's machine",
|
||||||
|
default = '$PROGRAMFILES\\Panda3D')
|
||||||
|
parser.add_option('-l', '--license', dest = 'license',
|
||||||
|
help = 'A file containing the license or EULA text',
|
||||||
|
default = None)
|
||||||
|
parser.add_option('-w', '--website', dest = 'website',
|
||||||
|
help = 'The product website',
|
||||||
|
default = 'http://www.panda3d.org')
|
||||||
|
parser.add_option('', '--nsis', dest = 'nsis',
|
||||||
|
help = 'The directory containing NSIS',
|
||||||
|
default = None)
|
||||||
|
parser.add_option('', '--welcome_bitmap', dest = 'welcome_bitmap',
|
||||||
|
help = 'The image to display on the installer',
|
||||||
|
default = None)
|
||||||
|
parser.add_option('', '--install_icon', dest = 'install_icon',
|
||||||
|
help = 'The icon to give to the installer',
|
||||||
|
default = None)
|
||||||
|
|
||||||
|
(options, args) = parser.parse_args()
|
||||||
|
|
||||||
|
this_dir = os.path.split(sys.argv[0])[0]
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
#
|
||||||
|
# Locate the relevant trees.
|
||||||
|
#
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
if not options.nsis or not options.license:
|
||||||
|
PANDA=None
|
||||||
|
for dir in sys.path:
|
||||||
|
if (dir != "") and os.path.exists(os.path.join(dir,"direct")) and os.path.exists(os.path.join(dir,"pandac")):
|
||||||
|
PANDA=os.path.abspath(dir)
|
||||||
|
if (PANDA is None):
|
||||||
|
sys.exit("Cannot locate the panda root directory in the python path (cannot locate directory containing direct and pandac).")
|
||||||
|
print "PANDA located at "+PANDA
|
||||||
|
|
||||||
|
if (os.path.exists(os.path.join(PANDA,"..","makepanda","makepanda.py"))) and (sys.platform != "win32" or os.path.exists(os.path.join(PANDA,"..","thirdparty","win-nsis","makensis.exe"))):
|
||||||
|
PSOURCE=os.path.abspath(os.path.join(PANDA,".."))
|
||||||
|
if (sys.platform == "win32"):
|
||||||
|
NSIS=os.path.abspath(os.path.join(PANDA,"..","thirdparty","win-nsis"))
|
||||||
|
else:
|
||||||
|
PSOURCE=PANDA
|
||||||
|
if (sys.platform == "win32"):
|
||||||
|
NSIS=os.path.join(PANDA,"nsis")
|
||||||
|
|
||||||
|
if not options.nsis:
|
||||||
|
options.nsis = NSIS
|
||||||
|
if not options.license:
|
||||||
|
options.license = os.path.join(PANDA, 'LICENSE')
|
||||||
|
|
||||||
|
## if not options.welcome_bitmap:
|
||||||
|
## filename = Filename('plugin_images/download.jpg')
|
||||||
|
## found = filename.resolveFilename(getModelPath().getValue())
|
||||||
|
## if not found:
|
||||||
|
## found = filename.resolveFilename("models")
|
||||||
|
## if not found:
|
||||||
|
## sys.exit("Couldn't find download.jpg for welcome_bitmap.")
|
||||||
|
## options.welcome_bitmap = filename.toOsSpecific()
|
||||||
|
|
||||||
|
def parseDependenciesWindows(tempFile):
|
||||||
|
""" Reads the indicated temporary file, the output from
|
||||||
|
dumpbin /dependents, to determine the list of dll's this
|
||||||
|
executable file depends on. """
|
||||||
|
|
||||||
|
lines = open(tempFile.toOsSpecific(), 'rU').readlines()
|
||||||
|
li = 0
|
||||||
|
while li < len(lines):
|
||||||
|
line = lines[li]
|
||||||
|
li += 1
|
||||||
|
if line.find(' has the following dependencies') != -1:
|
||||||
|
break
|
||||||
|
|
||||||
|
if li < len(lines):
|
||||||
|
line = lines[li]
|
||||||
|
if line.strip() == '':
|
||||||
|
# Skip a blank line.
|
||||||
|
li += 1
|
||||||
|
|
||||||
|
# Now we're finding filenames, until the next blank line.
|
||||||
|
filenames = []
|
||||||
|
while li < len(lines):
|
||||||
|
line = lines[li]
|
||||||
|
li += 1
|
||||||
|
line = line.strip()
|
||||||
|
if line == '':
|
||||||
|
# We're done.
|
||||||
|
return filenames
|
||||||
|
filenames.append(line)
|
||||||
|
|
||||||
|
# Hmm, we ran out of data. Oh well.
|
||||||
|
if not filenames:
|
||||||
|
# Some parse error.
|
||||||
|
return None
|
||||||
|
|
||||||
|
# At least we got some data.
|
||||||
|
return filenames
|
||||||
|
|
||||||
|
def makeInstaller():
|
||||||
|
# Locate the plugin(s).
|
||||||
|
pluginFiles = {}
|
||||||
|
pluginDependencies = {}
|
||||||
|
dependentFiles = {}
|
||||||
|
|
||||||
|
# These are the three primary files that make up the
|
||||||
|
# plugin/runtime.
|
||||||
|
ocx = 'p3dactivex.ocx'
|
||||||
|
npapi = 'nppanda3d.dll'
|
||||||
|
panda3d = 'panda3d.exe'
|
||||||
|
|
||||||
|
path = DSearchPath()
|
||||||
|
path.appendPath(os.environ['PATH'])
|
||||||
|
for file in [ocx, npapi, panda3d]:
|
||||||
|
pathname = path.findFile(file)
|
||||||
|
if not pathname:
|
||||||
|
sys.exit("Couldn't find %s." % (file))
|
||||||
|
|
||||||
|
pluginFiles[file] = pathname.toOsSpecific()
|
||||||
|
pluginDependencies[file] = []
|
||||||
|
|
||||||
|
# Also look for the dll's that these plugins reference.
|
||||||
|
tempFile = Filename.temporary('', 'p3d_', '.txt')
|
||||||
|
command = 'dumpbin /dependents "%s" >"%s"' % (
|
||||||
|
pathname.toOsSpecific(),
|
||||||
|
tempFile.toOsSpecific())
|
||||||
|
try:
|
||||||
|
os.system(command)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
filenames = None
|
||||||
|
|
||||||
|
if tempFile.exists():
|
||||||
|
filenames = parseDependenciesWindows(tempFile)
|
||||||
|
tempFile.unlink()
|
||||||
|
if filenames is None:
|
||||||
|
sys.exit("Unable to determine dependencies from %s" % (pathname))
|
||||||
|
|
||||||
|
# Look for MSVC[RP]*.dll, and MFC*.dll. These dependent files
|
||||||
|
# have to be included too.
|
||||||
|
for dfile in filenames:
|
||||||
|
dfile = dfile.lower()
|
||||||
|
if dfile.startswith('msvc') or dfile.startswith('mfc'):
|
||||||
|
pathname = path.findFile(dfile)
|
||||||
|
if not pathname:
|
||||||
|
sys.exit("Couldn't find %s." % (dfile))
|
||||||
|
pluginDependencies[file].append(dfile)
|
||||||
|
dependentFiles[dfile] = pathname.toOsSpecific()
|
||||||
|
|
||||||
|
# Now build the NSIS command.
|
||||||
|
CMD = "\"" + options.nsis + "\\makensis.exe\" /V3 "
|
||||||
|
CMD += '/DPRODUCT_NAME="' + options.long_name + '" '
|
||||||
|
CMD += '/DPRODUCT_NAME_SHORT="' + options.short_name + '" '
|
||||||
|
CMD += '/DPRODUCT_PUBLISHER="' + options.publisher + '" '
|
||||||
|
CMD += '/DPRODUCT_WEB_SITE="' + options.website + '" '
|
||||||
|
CMD += '/DINSTALL_DIR="' + options.install_dir + '" '
|
||||||
|
CMD += '/DLICENSE_FILE="' + options.license + '" '
|
||||||
|
CMD += '/DOCX="' + ocx + '" '
|
||||||
|
CMD += '/DOCX_PATH="' + pluginFiles[ocx] + '" '
|
||||||
|
CMD += '/DNPAPI="' + npapi + '" '
|
||||||
|
CMD += '/DNPAPI_PATH="' + pluginFiles[npapi] + '" '
|
||||||
|
CMD += '/DPANDA3D="' + panda3d + '" '
|
||||||
|
CMD += '/DPANDA3D_PATH="' + pluginFiles[panda3d] + '" '
|
||||||
|
|
||||||
|
dependencies = dependentFiles.items()
|
||||||
|
for i in range(len(dependencies)):
|
||||||
|
CMD += '/DDEP%s="%s" ' % (i, dependencies[i][0])
|
||||||
|
CMD += '/DDEP%sP="%s" ' % (i, dependencies[i][1])
|
||||||
|
dependencies = pluginDependencies[npapi]
|
||||||
|
for i in range(len(dependencies)):
|
||||||
|
CMD += '/DNPAPI_DEP%s="%s" ' % (i, dependencies[i])
|
||||||
|
|
||||||
|
if options.welcome_bitmap:
|
||||||
|
CMD += '/DMUI_WELCOMEFINISHPAGE_BITMAP="' + options.welcome_bitmap + '" '
|
||||||
|
CMD += '/DMUI_UNWELCOMEFINISHPAGE_BITMAP="' + options.welcome_bitmap + '" '
|
||||||
|
if options.install_icon:
|
||||||
|
CMD += '/DINSTALL_ICON="' + options.install_icon + '" '
|
||||||
|
|
||||||
|
CMD += '"' + this_dir + '\\p3d_installer.nsi"'
|
||||||
|
|
||||||
|
print ""
|
||||||
|
print CMD
|
||||||
|
print "packing..."
|
||||||
|
subprocess.call(CMD)
|
||||||
|
|
||||||
|
makeInstaller()
|
@ -2,33 +2,24 @@
|
|||||||
!include LogicLib.nsh
|
!include LogicLib.nsh
|
||||||
!include FileFunc.nsh
|
!include FileFunc.nsh
|
||||||
|
|
||||||
; Bunch of text...update this to reflect the product.
|
; Several variables are assumed to be pre-defined by the caller. See
|
||||||
!define PRODUCT_NAME "Disney Pirates of the Caribbean Online"
|
; make_installer.py in this directory.
|
||||||
!define PRODUCT_NAME_SHORT "Pirates of the Caribbean Online"
|
|
||||||
!define PRODUCT_PUBLISHER "Walt Disney Internet Group"
|
|
||||||
!define PRODUCT_WEB_SITE "http://apps.pirates.go.com/pirates"
|
|
||||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "installer_sidepanel.bmp"
|
|
||||||
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "installer_sidepanel.bmp"
|
|
||||||
!define LICENSE_FILE "EULA.rtf"
|
|
||||||
!define UNINSTALL_SUCCESS "$(^Name) was successfully removed from your computer."
|
!define UNINSTALL_SUCCESS "$(^Name) was successfully removed from your computer."
|
||||||
!define UNINSTALL_CONFIRM "Are you sure you want to completely remove $(^Name) and all of its components?"
|
!define UNINSTALL_CONFIRM "Are you sure you want to completely remove $(^Name) and all of its components?"
|
||||||
!define UNINSTALL_LINK_NAME "Uninstall"
|
!define UNINSTALL_LINK_NAME "Uninstall"
|
||||||
!define WEBSITE_LINK_NAME "Website"
|
!define WEBSITE_LINK_NAME "Website"
|
||||||
|
|
||||||
|
|
||||||
!insertmacro GetOptions
|
!insertmacro GetOptions
|
||||||
|
|
||||||
; HM NIS Edit Wizard helper defines
|
; HM NIS Edit Wizard helper defines
|
||||||
!define OCX "p3dactivex.ocx"
|
!define APP_INTERNAL_NAME "Panda3D"
|
||||||
!define NPAPI "nppanda3d.dll"
|
|
||||||
!define PANDA3D "Panda3D"
|
|
||||||
|
|
||||||
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\${OCX}"
|
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\${OCX}"
|
||||||
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
|
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
|
||||||
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
|
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
|
||||||
!define PROG_GROUPNAME "${PRODUCT_NAME}"
|
!define PROG_GROUPNAME "${PRODUCT_NAME}"
|
||||||
|
|
||||||
!define VC7_MFC_DIR "C:\Program Files\Microsoft Visual Studio .NET 2003\Visual Studio .NET Enterprise Developer 2003 - English"
|
|
||||||
!define FIREFOX_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe"
|
!define FIREFOX_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe"
|
||||||
|
|
||||||
SetCompressor lzma
|
SetCompressor lzma
|
||||||
@ -64,10 +55,11 @@ SetCompressor lzma
|
|||||||
|
|
||||||
Name "${PRODUCT_NAME}"
|
Name "${PRODUCT_NAME}"
|
||||||
OutFile p3d-setup.exe
|
OutFile p3d-setup.exe
|
||||||
InstallDir "$PROGRAMFILES\Disney\Disney Online\P3D"
|
InstallDir "${INSTALL_DIR}"
|
||||||
; InstallDir "$PROGRAMFILES\P3D"
|
!ifdef INSTALL_ICON
|
||||||
Icon "InstallerIcon.ico"
|
Icon "${INSTALL_ICON}"
|
||||||
UninstallIcon "InstallerIcon.ico"
|
UninstallIcon "${INSTALL_ICON}"
|
||||||
|
!endif
|
||||||
WindowIcon on
|
WindowIcon on
|
||||||
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
|
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
|
||||||
ShowInstDetails show
|
ShowInstDetails show
|
||||||
@ -78,14 +70,28 @@ Section "MainSection" SEC01
|
|||||||
SetOutPath "$INSTDIR"
|
SetOutPath "$INSTDIR"
|
||||||
SetOverwrite ifdiff
|
SetOverwrite ifdiff
|
||||||
|
|
||||||
File "..\plugin_activex\Opt3-Cygwin\${OCX}"
|
File "${OCX_PATH}"
|
||||||
File "..\plugin_npapi\Opt3-Cygwin\${NPAPI}"
|
File "${NPAPI_PATH}"
|
||||||
|
File "${PANDA3D_PATH}"
|
||||||
|
|
||||||
File "${VC7_MFC_DIR}\msvcr71.dll"
|
!ifdef DEP0P
|
||||||
File "${VC7_MFC_DIR}\msvcp71.dll"
|
File "${DEP0P}"
|
||||||
|
!endif
|
||||||
|
!ifdef DEP1P
|
||||||
|
File "${DEP1P}"
|
||||||
|
!endif
|
||||||
|
!ifdef DEP2P
|
||||||
|
File "${DEP2P}"
|
||||||
|
!endif
|
||||||
|
!ifdef DEP3P
|
||||||
|
File "${DEP3P}"
|
||||||
|
!endif
|
||||||
|
!ifdef DEP4P
|
||||||
|
File "${DEP4P}"
|
||||||
|
!endif
|
||||||
|
|
||||||
; Start->Programs links...commented out for now
|
; Start->Programs links
|
||||||
; CreateDirectory "$SMPROGRAMS\${PROG_GROUPNAME}"
|
CreateDirectory "$SMPROGRAMS\${PROG_GROUPNAME}"
|
||||||
; CreateShortCut "$SMPROGRAMS\${PROG_GROUPNAME}\${PRODUCT_NAME_SHORT}.lnk" "$INSTDIR\${LAUNCHER}"
|
; CreateShortCut "$SMPROGRAMS\${PROG_GROUPNAME}\${PRODUCT_NAME_SHORT}.lnk" "$INSTDIR\${LAUNCHER}"
|
||||||
|
|
||||||
; Desktop Icon...commented out for now
|
; Desktop Icon...commented out for now
|
||||||
@ -97,11 +103,11 @@ Section "MainSection" SEC01
|
|||||||
; File "..\..\..\path\to\file\Example.file"
|
; File "..\..\..\path\to\file\Example.file"
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
;Section -AdditionalIcons
|
Section -AdditionalIcons
|
||||||
; WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
|
WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
|
||||||
; CreateShortCut "$SMPROGRAMS\${PROG_GROUPNAME}\${WEBSITE_LINK_NAME}.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
|
CreateShortCut "$SMPROGRAMS\${PROG_GROUPNAME}\${WEBSITE_LINK_NAME}.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
|
||||||
; CreateShortCut "$SMPROGRAMS\${PROG_GROUPNAME}\${UNINSTALL_LINK_NAME}.lnk" "$INSTDIR\uninst.exe"
|
CreateShortCut "$SMPROGRAMS\${PROG_GROUPNAME}\${UNINSTALL_LINK_NAME}.lnk" "$INSTDIR\uninst.exe"
|
||||||
;SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
Section -Post
|
Section -Post
|
||||||
WriteUninstaller "$INSTDIR\uninst.exe"
|
WriteUninstaller "$INSTDIR\uninst.exe"
|
||||||
@ -133,6 +139,21 @@ Function .onInstSuccess
|
|||||||
ReadRegStr $0 HKLM "${FIREFOX_DIR_REGKEY}" Path
|
ReadRegStr $0 HKLM "${FIREFOX_DIR_REGKEY}" Path
|
||||||
${If} $0 != ""
|
${If} $0 != ""
|
||||||
CopyFiles $INSTDIR\${NPAPI} $0\plugins
|
CopyFiles $INSTDIR\${NPAPI} $0\plugins
|
||||||
|
!ifdef NPAPI_DEP0
|
||||||
|
CopyFiles $INSTDIR\${NPAPI_DEP0} $0\plugins
|
||||||
|
!endif
|
||||||
|
!ifdef NPAPI_DEP1
|
||||||
|
CopyFiles $INSTDIR\${NPAPI_DEP1} $0\plugins
|
||||||
|
!endif
|
||||||
|
!ifdef NPAPI_DEP2
|
||||||
|
CopyFiles $INSTDIR\${NPAPI_DEP2} $0\plugins
|
||||||
|
!endif
|
||||||
|
!ifdef NPAPI_DEP3
|
||||||
|
CopyFiles $INSTDIR\${NPAPI_DEP3} $0\plugins
|
||||||
|
!endif
|
||||||
|
!ifdef NPAPI_DEP4
|
||||||
|
CopyFiles $INSTDIR\${NPAPI_DEP4} $0\plugins
|
||||||
|
!endif
|
||||||
${EndIf}
|
${EndIf}
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
@ -141,11 +162,25 @@ Section Uninstall
|
|||||||
|
|
||||||
ExecWait 'regsvr32 /u /s "$INSTDIR/${OCX}"'
|
ExecWait 'regsvr32 /u /s "$INSTDIR/${OCX}"'
|
||||||
|
|
||||||
Delete "$INSTDIR\msvcr71.dll"
|
|
||||||
Delete "$INSTDIR\msvcp71.dll"
|
|
||||||
|
|
||||||
Delete "$INSTDIR\${OCX}"
|
Delete "$INSTDIR\${OCX}"
|
||||||
Delete "$INSTDIR\${NPAPI}"
|
Delete "$INSTDIR\${NPAPI}"
|
||||||
|
Delete "$INSTDIR\${PANDA3D}"
|
||||||
|
!ifdef DEP0
|
||||||
|
Delete "$INSTDIR\${DEP0}"
|
||||||
|
!endif
|
||||||
|
!ifdef DEP1
|
||||||
|
Delete "$INSTDIR\${DEP1}"
|
||||||
|
!endif
|
||||||
|
!ifdef DEP2
|
||||||
|
Delete "$INSTDIR\${DEP2}"
|
||||||
|
!endif
|
||||||
|
!ifdef DEP3
|
||||||
|
Delete "$INSTDIR\${DEP3}"
|
||||||
|
!endif
|
||||||
|
!ifdef DEP4
|
||||||
|
Delete "$INSTDIR\${DEP4}"
|
||||||
|
!endif
|
||||||
|
|
||||||
ReadRegStr $0 HKLM "${FIREFOX_DIR_REGKEY}" Path
|
ReadRegStr $0 HKLM "${FIREFOX_DIR_REGKEY}" Path
|
||||||
${If} $0 != ""
|
${If} $0 != ""
|
||||||
Delete "$0\plugins\${NPAPI}"
|
Delete "$0\plugins\${NPAPI}"
|
||||||
@ -153,18 +188,19 @@ Section Uninstall
|
|||||||
|
|
||||||
ReadRegDWORD $0 HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System EnableLUA
|
ReadRegDWORD $0 HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System EnableLUA
|
||||||
${If} $0 != ""
|
${If} $0 != ""
|
||||||
RmDir /r "$LOCALAPPDATALow\${PANDA3D}"
|
RmDir /r "$LOCALAPPDATALow\${APP_INTERNAL_NAME}"
|
||||||
${Else}
|
${Else}
|
||||||
RmDir /r "$LOCALAPPDATA\${PANDA3D}"
|
RmDir /r "$LOCALAPPDATA\${APP_INTERNAL_NAME}"
|
||||||
${Endif}
|
${Endif}
|
||||||
|
|
||||||
Delete "$INSTDIR\uninst.exe"
|
Delete "$INSTDIR\uninst.exe"
|
||||||
|
Delete "$INSTDIR\${PRODUCT_NAME}.url"
|
||||||
|
|
||||||
; Delete "$SMPROGRAMS\${PROG_GROUPNAME}\${UNINSTALL_LINK_NAME}.lnk"
|
Delete "$SMPROGRAMS\${PROG_GROUPNAME}\${UNINSTALL_LINK_NAME}.lnk"
|
||||||
; Delete "$SMPROGRAMS\${PROG_GROUPNAME}\${WEBSITE_LINK_NAME}.lnk"
|
Delete "$SMPROGRAMS\${PROG_GROUPNAME}\${WEBSITE_LINK_NAME}.lnk"
|
||||||
; Delete "$DESKTOP\${PRODUCT_NAME_SHORT}${PRODUCT_RELEASE}.lnk"
|
; Delete "$DESKTOP\${PRODUCT_NAME_SHORT}${PRODUCT_RELEASE}.lnk"
|
||||||
; Delete "$SMPROGRAMS\${PROG_GROUPNAME}\${PRODUCT_NAME_SHORT}.lnk"
|
; Delete "$SMPROGRAMS\${PROG_GROUPNAME}\${PRODUCT_NAME_SHORT}.lnk"
|
||||||
; RMDir "$SMPROGRAMS\${PROG_GROUPNAME}"
|
RMDir "$SMPROGRAMS\${PROG_GROUPNAME}"
|
||||||
|
|
||||||
RMDir "$INSTDIR"
|
RMDir "$INSTDIR"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user