-
Notifications
You must be signed in to change notification settings - Fork 0
/
wz.dat
118 lines (104 loc) · 4.21 KB
/
wz.dat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
imagelist: { //обязательные картинки, загружаются в первую очередь
Zero_World:"img/kiev_pech_lavra.jpg"
,Zero_World_grid: "img/bgrid.png"
,bird1: "img/flybird1.gif"
,bird2: "img/flybird2.gif"
,cloud10: "img/cloud10.png"
,cloud11: "img/cloud11.png"
,cloud12: "img/cloud12.png"
,cloud13: "img/cloud13.png"
,bga: "img/44x65_bg1.gif" //анимационный фон для 2х входов.
,door2: "img/door2.png"
,Zero_World_interior:"img/kiev_pech_lavra_in_Palais_grand_salon.jpg" //zwbgi
,angel1:"img/angel1.gif"
,angel2:"img/angel2.png"
,angel3:"img/angel3.png"
,angel4:"img/angel4.png"
,angel5:"img/angel5.png"
,angel6:"img/angel6.gif"
,angel7:"img/angel7.gif"
,doorout: "img/spacedoor99.png"
,Zero_World_large:"img/horizon-architecture-skyline-city-skyscraper-urban-655644-pxhere.com.jpeg"
,Zero_World_large_grid:"img/bg1.jpg"
,cloud10L: "img/cloud10L.png"
,cloud11L: "img/cloud11L.png"
,cloud12L: "img/cloud12L.png"
,cloud13L: "img/cloud13L.png"
,Zero_World_demo:"img/beach-sea-coast-water-ocean-horizon-681907-pxhere.com.jpeg"
,Zero_World_demo_grid:"img/bg1.jpg"
,sphere1:"img/sphere99.png"
,sphere2:"img/sphere99_2.png"
,sphere3:"img/sphere99_3.png"
,Zero_World_program:"img/beach-sea-ocean-dock-boardwalk-sunlight-704-pxhere.com.jpeg"
,Zero_World_pictured: "img/ground.png"
,Zero_World_pictured_grid: "img/bgrid3.png"
,arrow1_left: "img/arrow1_left.png"
,Leaves_Falling: "img/Leaves_Falling.gif"
,balloon1: "img/balloon1.png"
,balloon2: "img/balloon2.png"
,balloon3: "img/balloon3.png"
,cloud_lg1: "img/cloud-lg1.png"
,cloud_lg2: "img/cloud-lg2.png"
,bg1: "img/bg1.jpg"
,loading:"img/loading.gif"
}
,imagelist2: {
ls1:"img/ls1.jpg"
,me:"img/me.jpg"
}
,worlds:{ //данные мира
Zero_World:"wz.obj"
,Zero_World_interior:"wzi.obj"
,Zero_World_pictured:"wzp.obj"
,Zero_World_large:"wzl.obj"
,Zero_World_demo:"wzd.obj"
,Zero_World_program:"wzr.obj"
}
,data:{
demodata:"data/demodata.dat"
,samples:"data/samples.dat"
}
,startworld:"Zero_World" //начало
// ,startworld:"Zero_World_interior" //внутри...
// ,startworld:"Zero_World_pictured" //начало
// ,startworld:"Zero_World_large" //начало
// ,startworld:"Zero_World_demo" //начало
// ,startworld:"Zero_World_program" //начало
,init: function(){
var o=this,opb,ncur=0,nall=lkeys(o.imagelist)+lkeys(o.imagelist2)+lkeys(o.data)+lkeys(o.worlds)
opb=progressbar({text:"Loading data and images",cur:0,all:nall,active:0}) // запуск progressbar
opb.show()
loadImages(o.imagelist2,(e)=>{if (isR(e)) o.imgs2="err"; else o.imgs2=e},(e,cnt)=>{
let nm=li(e.target.src.split("/"))
upd_obj(opb.pars,{text:nm,cur:++ncur});opb.show()
})
loadImages(o.imagelist,(e)=>{if (isR(e)) exiterr(e.message+" (src="+o.src+")"); else { //обязательная часть картинок
o.imgs=e
sbrO(d.body,"no-repeat");sbpO(d.body,"50% -50%");sbiO(d.body,e.loading.src)
loadData(o.data,(e)=>{ //загрузка данных из списка в секции "data"
if (isR(e)) {opb.close();stO(d.body,"");exiterr(e.message)} else {
o.data=e
loadData(o.worlds,(e)=>{ //загрузка данных из списка в секции "worlds"
if (isR(e)) {opb.close();exiterr(e.message)} else {
for (var i in e) o[i]=e[i]
opb.show({text:"All data is ready. Preparing world...",delay:timeout}) // запуск progressbar
opb.sanim() //анимация progressbar, пока идет формирование мира
opb.close()
app.worlds=o //;app.curworld=o.startworld
iff(o[o.startworld].initworld,o,o.startworld)
}
opb.close()
},function(){
let nm=li(this.uri.split("/"))
upd_obj(opb.pars,{text:nm,cur:++ncur});opb.show()
})}
},function(){
let nm=li(this.uri.split("/"))
upd_obj(opb.pars,{text:nm,cur:++ncur});opb.show()
})
}},(e,cnt)=>{
let nm=li(e.target.src.split("/"))
upd_obj(opb.pars,{text:nm,cur:++ncur});opb.show()
})
// return this можно возвратить любые данные в программу, которая запустила их загрузку (init может возвратить модифицированные данные)
}