generalize with python script

This commit is contained in:
David Rose 2009-09-26 02:13:43 +00:00
parent 03a7bfeb0c
commit cfdc400bcb
5 changed files with 283 additions and 209 deletions

View File

@ -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

View 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()

View File

@ -2,33 +2,24 @@
!include LogicLib.nsh
!include FileFunc.nsh
; Bunch of text...update this to reflect the product.
!define PRODUCT_NAME "Disney Pirates of the Caribbean Online"
!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"
; Several variables are assumed to be pre-defined by the caller. See
; make_installer.py in this directory.
!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_LINK_NAME "Uninstall"
!define WEBSITE_LINK_NAME "Website"
!insertmacro GetOptions
; HM NIS Edit Wizard helper defines
!define OCX "p3dactivex.ocx"
!define NPAPI "nppanda3d.dll"
!define PANDA3D "Panda3D"
!define APP_INTERNAL_NAME "Panda3D"
!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_ROOT_KEY "HKLM"
!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"
SetCompressor lzma
@ -64,10 +55,11 @@ SetCompressor lzma
Name "${PRODUCT_NAME}"
OutFile p3d-setup.exe
InstallDir "$PROGRAMFILES\Disney\Disney Online\P3D"
; InstallDir "$PROGRAMFILES\P3D"
Icon "InstallerIcon.ico"
UninstallIcon "InstallerIcon.ico"
InstallDir "${INSTALL_DIR}"
!ifdef INSTALL_ICON
Icon "${INSTALL_ICON}"
UninstallIcon "${INSTALL_ICON}"
!endif
WindowIcon on
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
ShowInstDetails show
@ -78,14 +70,28 @@ Section "MainSection" SEC01
SetOutPath "$INSTDIR"
SetOverwrite ifdiff
File "..\plugin_activex\Opt3-Cygwin\${OCX}"
File "..\plugin_npapi\Opt3-Cygwin\${NPAPI}"
File "${OCX_PATH}"
File "${NPAPI_PATH}"
File "${PANDA3D_PATH}"
File "${VC7_MFC_DIR}\msvcr71.dll"
File "${VC7_MFC_DIR}\msvcp71.dll"
!ifdef DEP0P
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
; CreateDirectory "$SMPROGRAMS\${PROG_GROUPNAME}"
; Start->Programs links
CreateDirectory "$SMPROGRAMS\${PROG_GROUPNAME}"
; CreateShortCut "$SMPROGRAMS\${PROG_GROUPNAME}\${PRODUCT_NAME_SHORT}.lnk" "$INSTDIR\${LAUNCHER}"
; Desktop Icon...commented out for now
@ -97,11 +103,11 @@ Section "MainSection" SEC01
; File "..\..\..\path\to\file\Example.file"
SectionEnd
;Section -AdditionalIcons
; 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}\${UNINSTALL_LINK_NAME}.lnk" "$INSTDIR\uninst.exe"
;SectionEnd
Section -AdditionalIcons
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}\${UNINSTALL_LINK_NAME}.lnk" "$INSTDIR\uninst.exe"
SectionEnd
Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
@ -133,6 +139,21 @@ Function .onInstSuccess
ReadRegStr $0 HKLM "${FIREFOX_DIR_REGKEY}" Path
${If} $0 != ""
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}
FunctionEnd
@ -141,11 +162,25 @@ Section Uninstall
ExecWait 'regsvr32 /u /s "$INSTDIR/${OCX}"'
Delete "$INSTDIR\msvcr71.dll"
Delete "$INSTDIR\msvcp71.dll"
Delete "$INSTDIR\${OCX}"
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
${If} $0 != ""
Delete "$0\plugins\${NPAPI}"
@ -153,18 +188,19 @@ Section Uninstall
ReadRegDWORD $0 HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System EnableLUA
${If} $0 != ""
RmDir /r "$LOCALAPPDATALow\${PANDA3D}"
RmDir /r "$LOCALAPPDATALow\${APP_INTERNAL_NAME}"
${Else}
RmDir /r "$LOCALAPPDATA\${PANDA3D}"
RmDir /r "$LOCALAPPDATA\${APP_INTERNAL_NAME}"
${Endif}
Delete "$INSTDIR\uninst.exe"
Delete "$INSTDIR\${PRODUCT_NAME}.url"
; Delete "$SMPROGRAMS\${PROG_GROUPNAME}\${UNINSTALL_LINK_NAME}.lnk"
; Delete "$SMPROGRAMS\${PROG_GROUPNAME}\${WEBSITE_LINK_NAME}.lnk"
Delete "$SMPROGRAMS\${PROG_GROUPNAME}\${UNINSTALL_LINK_NAME}.lnk"
Delete "$SMPROGRAMS\${PROG_GROUPNAME}\${WEBSITE_LINK_NAME}.lnk"
; Delete "$DESKTOP\${PRODUCT_NAME_SHORT}${PRODUCT_RELEASE}.lnk"
; Delete "$SMPROGRAMS\${PROG_GROUPNAME}\${PRODUCT_NAME_SHORT}.lnk"
; RMDir "$SMPROGRAMS\${PROG_GROUPNAME}"
RMDir "$SMPROGRAMS\${PROG_GROUPNAME}"
RMDir "$INSTDIR"