source: abuse-lib/trunk/lisp/upgrade.lsp @ 96

Last change on this file since 96 was 46, checked in by Sam Hocevar, 15 years ago
  • Importing abuse-lib 2.00.
File size: 3.0 KB
Line 
1(perm-space)
2
3(printy (get_directory "."))
4(break)
5
6(setq platform (platform))
7
8; Load up the messages for the language we are using
9(setq section upgrade_section)
10(load "lisp/english.lsp")
11
12
13; Get the version this game is using so we can compare it later
14(load "lisp/version.lsp")
15(setq current clive_version)
16
17
18(defun slash ()
19  (select platform
20          ('WATCOM   "\\")
21          ('UNIX "/")))
22
23(defun remove-slash (path)
24  (if (equal (schar path (- (length path) 1)) (schar (slash) 0))
25      (concatenate 'string (hack-string 0 (- (length path) 2) path))
26   path))
27
28
29(defun hack-string (x1 x2 st)
30  (if (<= x1 x2)
31      (cons (schar st x1) (hack-string (+ x1 1) x2 st))
32    nil))
33
34
35(defun append-slash (path)
36  (if (equal (schar path (- (length path) 1)) (schar (slash) 0))
37      path
38    (concatenate 'string path (slash))))
39
40
41(defun sf (filename) (convert_slashes (concatenate 'string source_dir (slash) filename) (slash)))
42(defun tf (filename) (convert_slashes (concatenate 'string target_dir filename) (slash)))
43
44
45
46(defun go_there (path)
47  (select platform
48          ('WATCOM
49           (if (and (< 2 (length path)) (eq (schar path 1) #\:))
50                       (system (concatenate 'string (list (schar path 0) #\:))))
51                   (chdir (remove-slash path)))
52          ('UNIX (chdir path))))
53
54
55(setq target_dir (get_cwd))
56
57(setq error nil)
58
59
60(let ((source_dir (append-slash (nice_input enter_old_dir
61                         "dir>"
62                         (if (equal (platform) 'WATCOM)
63                             "c:\\abuse"
64                           "~/abuse"))))
65      (start_dir (get_cwd)))
66  (if (not (dir_exsist (remove-slash source_dir)))
67      (print (concatenate 'string dir_not_here source_dir))
68    (progn
69      (go_there source_dir)
70     
71      (if (and (load "lisp/version.lsp") (<= clive_version current))
72          (progn
73            (print (concatenate 'string already_updated))
74            (print current)
75            (print clive_version))
76        (progn
77          (for i in '("levels/level05.spe"
78                      "levels/level06.spe"
79                      "levels/level07.spe"
80                      "levels/level08.spe"
81                      "levels/level09.spe"
82                      "levels/level10.spe"
83                      "levels/level11.spe"
84                      "levels/level12.spe"
85                      "levels/level13.spe"
86                      "levels/level14.spe"
87                      "levels/level15.spe"
88                      "levels/level16.spe"
89                      "levels/level17.spe"
90                      "levels/level18.spe"                   
91                      "register/alien.spe"
92                      "register/alienb.spe"
93                      "register/ant.lsp"
94                      "register/boss.spe"
95                      "register/english.lsp"
96                      "register/flyer.lsp"
97                      "register/galien.spe"
98                      "register/green2.spe"
99                      "register/micron.vcd"
100                      "register/people.lsp"
101                      "register/powerup.lsp"
102                      "register/readme.txt"
103                      "register/tiles.lsp"
104                      "register/trees.spe"
105                      "register/trees2.spe"
106                      "register/weapons.lsp") do
107                      (if (and (not error)
108                               (not (nice_copy updating
109                                               (sf i)
110                                               (tf i)))
111                               (setq error T)
112                               
113                               )))
114          (if (and (not error)
115                   (show_yes_no complete_title remove_old_reg yes-key no-key))
116              (print "delete stuff"))
117
118
119           )))))
120
121
122(go_there source_dir)
123
Note: See TracBrowser for help on using the repository browser.