Rev 6648 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6648 | Rev 6769 | ||
---|---|---|---|
1 | ; DATA AREA ************************************ |
1 | ; DATA AREA ************************************ |
2 | 2 | ||
3 | i3 dw 3 |
3 | i3 dw 3 |
4 | i256 dw 256 |
4 | i256 dw 256 |
5 | i255d dd 255 |
5 | i255d dd 255 |
6 | dot_max dd 1.0 ; dot product max and min |
6 | dot_max dd 1.0 ; dot product max and min |
7 | dot_min dd 0.0 |
7 | dot_min dd 0.0 |
8 | env_const dd 1.05 |
8 | env_const dd 1.05 |
9 | correct_tex dw 255 |
9 | correct_tex dw 255 |
10 | tex_x_div2 dw TEX_X / 2 |
10 | tex_x_div2 dw TEX_X / 2 |
11 | tex_y_div2 dw TEX_Y / 2 |
11 | tex_y_div2 dw TEX_Y / 2 |
12 | xobs dw 0 ;SIZE_X / 2 ;200 ;observer = camera |
12 | xobs dw 0 ;SIZE_X / 2 ;200 ;observer = camera |
13 | yobs dw 0 ;SIZE_Y / 2 ;200 ;coordinates |
13 | yobs dw 0 ;SIZE_Y / 2 ;200 ;coordinates |
14 | zobs dw -500 |
14 | zobs dw -1000 |
15 | ; size_x dw SIZE_X |
15 | ; size_x dw SIZE_X |
16 | ; size_y dw SIZE_Y |
16 | ; size_y dw SIZE_Y |
17 | 17 | ||
18 | re_alloc_flag db 0 |
18 | re_alloc_flag db 0 |
19 | angle_counter dw 0 |
19 | angle_counter dw 0 |
20 | piD180 dd 0.017453292519943295769236907684886 |
20 | piD180 dd 0.017453292519943295769236907684886 |
21 | piD128 dd 0.024544 |
21 | piD128 dd 0.024544 |
22 | const6 dw 6,6,6,6 |
22 | const6 dw 6,6,6,6 |
23 | x_offset dw SIZE_X / 2 |
23 | x_offset dw SIZE_X / 2 |
24 | y_offset dw SIZE_Y / 2 |
24 | y_offset dw SIZE_Y / 2 |
25 | z_offset dw 0 |
25 | z_offset dw 0 |
26 | rsscale dd 175.0 ; next real scale |
26 | rsscale dd 175.0 ; next real scale |
27 | vect_x dw SIZE_X / 2 |
27 | vect_x dw SIZE_X / 2 |
28 | vect_y dw SIZE_Y / 2 |
28 | vect_y dw SIZE_Y / 2 |
29 | vect_z dw 0 |
29 | vect_z dw 0 |
30 | angle_x dw 0 |
30 | angle_x dw 0 |
31 | angle_y dw 0 |
31 | angle_y dw 0 |
32 | angle_z dw 0 |
32 | angle_z dw 0 |
33 | sin_amplitude dd 50 |
33 | sin_amplitude dd 50 |
34 | sin_frq dd 0.7 |
34 | sin_frq dd 0.7 |
35 | sin_delta dd 0.07 ; wave frequency granularity |
35 | sin_delta dd 0.07 ; wave frequency granularity |
36 | convert_muler: |
36 | convert_muler: |
37 | dd 1, 10, 100, 1000, 10000 |
37 | dd 1, 10, 100, 1000, 10000 |
38 | XYZpartices: |
38 | XYZpartices: |
39 | db 'X','Y','Z' |
39 | db 'X','Y','Z' |
40 | i10 dw 10 |
40 | i10 dw 10 |
- | 41 | offset_y: |
|
- | 42 | i25 dw 25 ; screen buff offset |
|
- | 43 | offset_x: |
|
- | 44 | i5 dw 5 |
|
- | 45 | triangles_ptr dd 0 |
|
41 | draw_win_at_first db 1 |
46 | triangles_w_z_ptr dd 0 |
- | 47 | triangles_normals_ptr dd 0 |
|
- | 48 | points_normals_ptr dd 0 |
|
- | 49 | points_normals_rot_ptr dd 0 |
|
- | 50 | points_ptr dd 0 |
|
- | 51 | points_rotated_ptr dd 0 |
|
- | 52 | points_translated_ptr dd 0 |
|
- | 53 | screen_ptr dd 0 |
|
- | 54 | Zbuffer_ptr dd 0 |
|
- | 55 | vertices_index_ptr dd 0 |
|
- | 56 | ||
42 | 57 | ||
- | 58 | ; draw_win_at_first db 1 |
|
- | 59 | vertex_edit_no dw 0 |
|
- | 60 | edit_start_x: |
|
- | 61 | dw 0 |
|
- | 62 | edit_start_y dw 0 |
|
- | 63 | edit_end_x: |
|
- | 64 | dw 0 |
|
- | 65 | edit_end_y dw 0 |
|
- | 66 | mouse_state dd 0 |
|
43 | menu: |
67 | menu: |
44 | db 2 ; button number = index |
68 | db 2 ; button number = index |
45 | db 'rotary ' ; label |
69 | db 'rotary ' ; label |
46 | db 3 ; max flag + 1 , if = 255, no flag |
70 | db 3 ; max flag + 1 , if = 255, no flag |
47 | r_flag db 1 ; flag |
71 | r_flag db 1 ; flag |
48 | dd axl_f ; offset to flags description |
72 | dd axl_f ; offset to flags description |
49 | 73 | ||
50 | db 3 |
74 | db 3 |
51 | db 'shd. model' |
75 | db 'shd. model' |
52 | db 12 |
76 | db 12 |
53 | dr_flag db 0 |
77 | dr_flag db 0 |
54 | dd shd_f |
78 | dd shd_f |
55 | 79 | ||
56 | db 4 |
80 | db 4 |
57 | db 'speed ' |
81 | db 'speed ' |
58 | db 2 |
82 | db 2 |
59 | speed_flag db 0 |
83 | speed_flag db 0 |
60 | dd spd_f |
84 | dd spd_f |
61 | 85 | ||
62 | db 5 |
86 | db 5 |
63 | db 'zoom out ' |
87 | db 'zoom out ' |
64 | db 255 |
88 | db 255 |
65 | db ? |
89 | db ? |
66 | dd ? |
90 | dd ? |
67 | 91 | ||
68 | db 6 |
92 | db 6 |
69 | db 'zoom in ' |
93 | db 'zoom in ' |
70 | db 255 |
94 | db 255 |
71 | db ? |
95 | db ? |
72 | dd ? |
96 | dd ? |
73 | 97 | ||
74 | db 7 |
98 | db 7 |
75 | db 'catmull ' |
99 | db 'catmull ' |
76 | db 2 |
100 | db 2 |
77 | catmull_flag db 1 |
101 | catmull_flag db 1 |
78 | dd onoff_f |
102 | dd onoff_f |
79 | 103 | ||
80 | db 8 |
104 | db 8 |
81 | db 'culling ' |
105 | db 'culling ' |
82 | db 2 |
106 | db 2 |
83 | culling_flag db 0 |
107 | culling_flag db 0 |
84 | dd onoff_f |
108 | dd onoff_f |
85 | 109 | ||
86 | db 9 |
110 | db 9 |
87 | db 'rand.light' |
111 | db 'rand.light' |
88 | db 255 |
112 | db 255 |
89 | db ? |
113 | db ? |
90 | dd ? |
114 | dd ? |
91 | 115 | ||
92 | db 10 |
116 | db 10 |
93 | db 'blur ' |
117 | db 'blur ' |
94 | db 6 |
118 | db 6 |
95 | blur_flag db 0 |
119 | blur_flag db 0 |
96 | dd blur_f |
120 | dd blur_f |
97 | 121 | ||
98 | db 11 |
122 | db 11 |
99 | db 'mirror x ' |
123 | db 'mirror x ' |
100 | db 2 |
124 | db 2 |
101 | mirr_x_flag db 0 |
125 | mirr_x_flag db 0 |
102 | dd onoff_f |
126 | dd onoff_f |
103 | 127 | ||
104 | db 12 |
128 | db 12 |
105 | db 'mirror y ' |
129 | db 'mirror y ' |
106 | db 2 |
130 | db 2 |
107 | mirr_y_flag db 0 |
131 | mirr_y_flag db 0 |
108 | dd onoff_f |
132 | dd onoff_f |
109 | 133 | ||
110 | db 13 |
134 | db 13 |
111 | db 'mirror z ' |
135 | db 'mirror z ' |
112 | db 2 |
136 | db 2 |
113 | mirr_z_flag db 0 |
137 | mirr_z_flag db 0 |
114 | dd onoff_f |
138 | dd onoff_f |
115 | 139 | ||
116 | db 14 |
140 | db 14 |
117 | db 'xchg ' |
141 | db 'xchg ' |
118 | db 4 |
142 | db 4 |
119 | xchg_flag db 0 |
143 | xchg_flag db 0 |
120 | dd xchg_f |
144 | dd xchg_f |
121 | 145 | ||
122 | db 15 |
146 | db 15 |
123 | db 'emboss ' |
147 | db 'emboss ' |
124 | db 2 |
148 | db 2 |
125 | emboss_flag db 0 |
149 | emboss_flag db 0 |
126 | dd onoff_f |
150 | dd onoff_f |
127 | 151 | ||
128 | db 16 |
152 | db 16 |
129 | db 'fire ' |
153 | db 'fire ' |
130 | db 3 |
154 | db 3 |
131 | fire_flag db 0 |
155 | fire_flag db 0 |
132 | dd blur_f |
156 | dd blur_f |
133 | 157 | ||
134 | db 17 |
158 | db 17 |
135 | db 'move ' |
159 | db 'move ' |
136 | db 3 |
160 | db 3 |
137 | move_flag db 0 |
161 | move_flag db 0 |
138 | dd move_f |
162 | dd move_f |
139 | 163 | ||
140 | db 18 |
164 | db 18 |
141 | db 'generate ' |
165 | db 'generate ' |
142 | db 6 |
166 | db 6 |
143 | generator_flag db 0 |
167 | generator_flag db 0 |
144 | dd blur_f |
168 | dd blur_f |
145 | 169 | ||
146 | db 19 |
170 | db 19 |
147 | db 'bumps ' |
171 | db 'bumps ' |
148 | db 2 |
172 | db 2 |
149 | bumps_flag db 0 |
173 | bumps_flag db 0 |
150 | dd bumps_f |
174 | dd bumps_f |
151 | 175 | ||
152 | db 20 |
176 | db 20 |
153 | db 'bumps deep' |
177 | db 'bumps deep' |
154 | db 4 |
178 | db 4 |
155 | bumps_deep_flag db 3 |
179 | bumps_deep_flag db 3 |
156 | dd bumps_d_f |
180 | dd bumps_d_f |
157 | 181 | ||
158 | db 21 |
182 | db 21 |
159 | db 're-map tex' |
183 | db 're-map tex' |
160 | db 255 |
184 | db 255 |
161 | map_tex_flag db ? ;1 |
185 | map_tex_flag db ? ;1 |
162 | dd ? ;bumps_d_f |
186 | dd ? ;bumps_d_f |
163 | 187 | ||
164 | db 22 |
188 | db 22 |
165 | db 'bright + ' |
189 | db 'bright + ' |
166 | db 6 |
190 | db 6 |
167 | inc_bright_flag db 0 ;1 |
191 | inc_bright_flag db 0 ;1 |
168 | dd blur_f |
192 | dd blur_f |
169 | 193 | ||
170 | db 23 |
194 | db 23 |
171 | db 'bright - ' |
195 | db 'bright - ' |
172 | db 6 |
196 | db 6 |
173 | dec_bright_flag db 0 ;1 |
197 | dec_bright_flag db 0 ;1 |
174 | dd blur_f |
198 | dd blur_f |
175 | 199 | ||
176 | db 24 |
200 | db 24 |
177 | db 'wav effect' |
201 | db 'wav effect' |
178 | db 2 |
202 | db 2 |
179 | sinus_flag db 0 |
203 | sinus_flag db 0 |
180 | dd onoff_f |
204 | dd onoff_f |
- | 205 | ||
- | 206 | ||
- | 207 | db 25 |
|
- | 208 | db 'editor ' |
|
- | 209 | db 2 |
|
- | 210 | edit_flag db 0 |
|
181 | 211 | dd onoff_f |
|
182 | ; db 24 |
212 | ; db 24 |
183 | ; db 'max ' |
213 | ; db 'max ' |
184 | ; db 2 |
214 | ; db 2 |
185 | ;max_flag db 0 ;1 |
215 | ;max_flag db 0 ;1 |
186 | ; dd blur_f |
216 | ; dd blur_f |
187 | ; |
217 | ; |
188 | ; db 25 |
218 | ; db 25 |
189 | ; db 'min ' |
219 | ; db 'min ' |
190 | ; db 2 |
220 | ; db 2 |
191 | ;min_flag db 0 ;1 |
221 | ;min_flag db 0 ;1 |
192 | ; dd blur_f |
222 | ; dd blur_f |
193 | 223 | ||
194 | 224 | ||
195 | 225 | ||
196 | ; db 21 |
226 | ; db 21 |
197 | ; db 'light No. ' |
227 | ; db 'light No. ' |
198 | ; db 3 |
228 | ; db 3 |
199 | ;light_no_flag db 0 |
229 | ;light_no_flag db 0 |
200 | ; dd bumps_d_f |
230 | ; dd bumps_d_f |
201 | 231 | ||
202 | ; db 22 |
232 | ; db 22 |
203 | ; db 'light comp' |
233 | ; db 'light comp' |
204 | ; db 3 |
234 | ; db 3 |
205 | ;light_comp_flag db 0 |
235 | ;light_comp_flag db 0 |
206 | ; dd light_component_f |
236 | ; dd light_component_f |
207 | 237 | ||
208 | ;; db 23 |
238 | ;; db 23 |
209 | ;; db 'col. comp' |
239 | ;; db 'col. comp' |
210 | ;; db 3 |
240 | ;; db 3 |
211 | ;;color_comp_flag db 0 |
241 | ;;color_comp_flag db 0 |
212 | ;; dd color_component_f |
242 | ;; dd color_component_f |
213 | 243 | ||
214 | 244 | ||
215 | db -1 ; end mark |
245 | db -1 ; end mark |
216 | 246 | ||
217 | 247 | ||
218 | flags: ; flags description |
248 | flags: ; flags description |
219 | shd_f: |
249 | shd_f: |
220 | db 'flat' |
250 | db 'flat' |
221 | db 'grd ' |
251 | db 'grd ' |
222 | db 'env ' |
252 | db 'env ' |
223 | db 'bump' |
253 | db 'bump' |
224 | db 'tex ' |
254 | db 'tex ' |
225 | db 'pos ' |
255 | db 'pos ' |
226 | db 'dots' |
256 | db 'dots' |
227 | db 'txgr' |
257 | db 'txgr' |
228 | db '2tex' |
258 | db '2tex' |
229 | db 'btex' |
259 | db 'btex' |
230 | db 'cenv' |
260 | db 'cenv' |
231 | db 'grdl' |
261 | db 'grdl' |
232 | spd_f: |
262 | spd_f: |
233 | db 'idle' |
263 | db 'idle' |
234 | db 'full' |
264 | db 'full' |
235 | axl_f: |
265 | axl_f: |
236 | db ' y ' |
266 | db ' y ' |
237 | db 'x+y ' |
267 | db 'x+y ' |
238 | db ' x ' |
268 | db ' x ' |
239 | onoff_f: |
269 | onoff_f: |
240 | db 'off ' |
270 | db 'off ' |
241 | db 'on ' |
271 | db 'on ' |
242 | ; light_component_f: |
272 | ; light_component_f: |
243 | ; db 'norm ' ; diffuse | |
273 | ; db 'norm ' ; diffuse | |
244 | ; db 'min' ; specular | or sth. like this |
274 | ; db 'min' ; specular | or sth. like this |
245 | ; db 'max ' ; emmisive | |
275 | ; db 'max ' ; emmisive | |
246 | 276 | ||
247 | ;; color_component_f: |
277 | ;; color_component_f: |
248 | ;; db ' r ' |
278 | ;; db ' r ' |
249 | ;; db ' g ' |
279 | ;; db ' g ' |
250 | ;; db ' b ' |
280 | ;; db ' b ' |
251 | 281 | ||
252 | blur_f: ; blur, fire |
282 | blur_f: ; blur, fire |
253 | db 'off ' |
283 | db 'off ' |
254 | bumps_d_f: db ' 1 ' |
284 | bumps_d_f: db ' 1 ' |
255 | db ' 2 ' |
285 | db ' 2 ' |
256 | db ' 3 ' |
286 | db ' 3 ' |
257 | db ' 4 ' |
287 | db ' 4 ' |
258 | db ' 5 ' |
288 | db ' 5 ' |
259 | 289 | ||
260 | xchg_f: |
290 | xchg_f: |
261 | db 'no ' |
291 | db 'no ' |
262 | db 'x<>y' |
292 | db 'x<>y' |
263 | db 'z<>x' |
293 | db 'z<>x' |
264 | db 'y<>z' |
294 | db 'y<>z' |
265 | move_f: |
295 | move_f: |
266 | db 'obj ' |
296 | db 'obj ' |
267 | db 'camr' |
297 | db 'camr' |
268 | db 'wave' |
298 | db 'wave' |
269 | ; db 'lght' |
299 | ; db 'lght' |
270 | bumps_f: |
300 | bumps_f: |
271 | db 'rand' |
301 | db 'rand' |
272 | db 'tex ' |
302 | db 'tex ' |
273 | ; db 'cscl' |
303 | ; db 'cscl' |
274 | base_vector: |
304 | base_vector: |
275 | labelvector: |
305 | labelvector: |
276 | db 'add vector' |
306 | db 'add vector' |
277 | labelvectorend: |
307 | labelvectorend: |
278 | labelyminus: |
308 | labelyminus: |
279 | db 'y -' |
309 | db 'y -' |
280 | labelyminusend: |
310 | labelyminusend: |
281 | labelzplus: |
311 | labelzplus: |
282 | db 'z +' |
312 | db 'z +' |
283 | labelzplusend: |
313 | labelzplusend: |
284 | labelxminus: |
314 | labelxminus: |
285 | db 'x -' |
315 | db 'x -' |
286 | labelxminusend: |
316 | labelxminusend: |
287 | labelxplus: |
317 | labelxplus: |
288 | db 'x +' |
318 | db 'x +' |
289 | labelxplusend: |
319 | labelxplusend: |
290 | labelzminus: |
320 | labelzminus: |
291 | db 'z -' |
321 | db 'z -' |
292 | labelzminusend: |
322 | labelzminusend: |
293 | labelyplus: |
323 | labelyplus: |
294 | db 'y +' |
324 | db 'y +' |
295 | labelyplusend: |
325 | labelyplusend: |
296 | 326 | ||
297 | ;navigation_size = $ - labelvector |
327 | ;navigation_size = $ - labelvector |
298 | ; db 'set color ' |
328 | ; db 'set color ' |
299 | ; db 'r -' |
329 | ; db 'r -' |
300 | ; db 'g +' |
330 | ; db 'g +' |
301 | ; db 'b -' |
331 | ; db 'b -' |
302 | ; db 'b +' |
332 | ; db 'b +' |
303 | ; db 'g -' |
333 | ; db 'g -' |
304 | ; db 'r +' |
334 | ; db 'r +' |
305 | 335 | ||
306 | labelt: |
336 | labelt: |
307 | db 'DEUS CARITAS EST' |
337 | db 'DEUS CARITAS EST' |
308 | if Ext=MMX |
338 | if Ext=MMX |
309 | db ' (MMX)' |
339 | db ' (MMX)' |
310 | end if |
340 | end if |
311 | if Ext=SSE |
341 | if Ext=SSE |
312 | db ' (SSE)' |
342 | db ' (SSE)' |
313 | end if |
343 | end if |
314 | if Ext=SSE2 |
344 | if Ext=SSE2 |
315 | db ' (SSE2)' |
345 | db ' (SSE2)' |
316 | end if |
346 | end if |
317 | db ' 0.067',0 |
347 | db ' 0.068',0 |
318 | labellen: |
348 | labellen: |
319 | STRdata db '-1 ' |
349 | STRdata db '-1 ' |
320 | 350 | ||
321 | all_lights_size dw lightsend-lights |
351 | all_lights_size dw lightsend-lights |
322 | 352 | ||
323 | if USE_LFN |
353 | if USE_LFN |
324 | 354 | ||
325 | file_info: |
355 | file_info: |
326 | dd 0 |
356 | dd 0 |
327 | dd 0 |
357 | dd 0 |
328 | dd 0 |
358 | dd 0 |
329 | fsize dd 0 ;180000 ; sizeof(workarea) |
359 | fsize dd 0 ;180000 ; sizeof(workarea) |
330 | fptr dd 0 ;workarea |
360 | fptr dd 0 ;workarea |
331 | file_name: |
361 | file_name: |
332 | db '/rd/1/3d/house.3ds',0 |
362 | db '/rd/1/3d/house.3ds',0 |
333 | 363 | ||
334 | else |
364 | else |
335 | 365 | ||
336 | file_info: |
366 | file_info: |
337 | dd 0 |
367 | dd 0 |
338 | dd 0 |
368 | dd 0 |
339 | fsize dd 1 |
369 | fsize dd 1 |
340 | dd workarea |
370 | dd workarea |
341 | dd hash_table |
371 | dd hash_table |
342 | file_name: |
372 | file_name: |
343 | db '/rd/1/teapot.3ds',0 |
373 | db '/rd/1/teapot.3ds',0 |
344 | end if |
374 | end if |
345 | 375 | ||
346 | I_END: |
376 | ;I_END: |
347 | 377 | ||
348 | rb 256 |
378 | rb 256 |
349 | 379 | ||
350 | ;============================================= |
380 | ;============================================= |
351 | lights: |
381 | lights: |
352 | .light_vector dd 0.0,0.0,-1.0 ; x,y,z Z cooficient of vector must be negative |
382 | .light_vector dd 0.0,0.0,-1.0 ; x,y,z Z cooficient of vector must be negative |
353 | .orginal_color_r db 1 ; +12 |
383 | .orginal_color_r db 1 ; +12 |
354 | .orginal_color_g db 255 ; |
384 | .orginal_color_g db 255 ; |
355 | .orginal_color_b db 1 ; +14 |
385 | .orginal_color_b db 1 ; +14 |
356 | .min_color_r db 1 ; |
386 | .min_color_r db 1 ; |
357 | .min_color_g db 1 ; +16 |
387 | .min_color_g db 1 ; +16 |
358 | .min_color_b db 1 ; |
388 | .min_color_b db 1 ; |
359 | .max_color_r db 255 ; |
389 | .max_color_r db 255 ; |
360 | .max_color_g db 255 ; |
390 | .max_color_g db 255 ; |
361 | .max_color_b db 255 ; |
391 | .max_color_b db 255 ; |
362 | .shine db 24 ; +21 |
392 | .shine db 24 ; +21 |
363 | ; LIGHT_SIZE equ ($-lights) |
393 | ; LIGHT_SIZE equ ($-lights) |
364 | 394 | ||
365 | dd -0.5,-0.5,-1.0 ; x,y,z ; .light_vector |
395 | dd -0.5,-0.5,-1.0 ; x,y,z ; .light_vector |
366 | db 5 ; .orginal_color_r |
396 | db 5 ; .orginal_color_r |
367 | db 1 ; .orginal_color_g |
397 | db 1 ; .orginal_color_g |
368 | db 135 ; .orginal_color_b |
398 | db 135 ; .orginal_color_b |
369 | db 19 ; .min_color_r |
399 | db 19 ; .min_color_r |
370 | db 19 ; .min_color_g |
400 | db 19 ; .min_color_g |
371 | db 19 ; .min_color_b |
401 | db 19 ; .min_color_b |
372 | db 255 ; .max_color_r |
402 | db 255 ; .max_color_r |
373 | db 255 ; .max_color_g |
403 | db 255 ; .max_color_g |
374 | db 255 ; .max_color_b |
404 | db 255 ; .max_color_b |
375 | db 16 ; .shine |
405 | db 16 ; .shine |
376 | 406 | ||
377 | dd 0.5,0.5,-1.0 ; x,y,z ; .light_vector |
407 | dd 0.5,0.5,-1.0 ; x,y,z ; .light_vector |
378 | db 135 ; .orginal_color_r |
408 | db 135 ; .orginal_color_r |
379 | db 1 ; .orginal_color_g |
409 | db 1 ; .orginal_color_g |
380 | db 1 ; .orginal_color_b |
410 | db 1 ; .orginal_color_b |
381 | db 19 ; .min_color_r |
411 | db 19 ; .min_color_r |
382 | db 19 ; .min_color_g |
412 | db 19 ; .min_color_g |
383 | db 19 ; .min_color_b |
413 | db 19 ; .min_color_b |
384 | db 255 ; .max_color_r |
414 | db 255 ; .max_color_r |
385 | db 255 ; .max_color_g |
415 | db 255 ; .max_color_g |
386 | db 20 ; .max_color_b |
416 | db 20 ; .max_color_b |
387 | db 16 ; .shine |
417 | db 16 ; .shine |
388 | ; ALL_LIGHTS_SIZE equ ($ - lights) |
418 | ; ALL_LIGHTS_SIZE equ ($ - lights) |
389 | ;#all_lights_size dw ($ - lights) ;ALL_LIGHTS_SIZE |
419 | ;#all_lights_size dw ($ - lights) ;ALL_LIGHTS_SIZE |
390 | ;=============================================== |
420 | ;=============================================== |
391 | 421 | ||
392 | lightsend: |
422 | lightsend: |
- | 423 | align 16 |
|
- | 424 | emboss_bias: |
|
- | 425 | dw 128, 128, 128, 128, 128, 128, 128, 128 |
|
- | 426 | ||
393 | 427 | I_END: |
|
394 | if USE_LFN = 0 |
428 | if USE_LFN = 0 |
395 | hash_table rb 4096 |
429 | hash_table rb 4096 |
396 | SourceFile: |
430 | SourceFile: |
397 | workarea rb 180000 |
431 | workarea rb 180000 |
398 | else |
432 | else |
399 | SourceFile: |
433 | SourceFile: |
400 | workarea rb 180 |
434 | workarea rb 180 |
401 | end if |
435 | end if |
402 | EndFile dd ? |
436 | EndFile dd ? |
403 | align 8 |
437 | align 8 |
404 | sinbeta dd ?;+32 |
438 | sinbeta dd ?;+32 |
405 | cosbeta dd ? |
439 | cosbeta dd ? |
406 | 440 | ||
407 | xsub dw ? |
441 | xsub dw ? |
408 | zsub dw ?;+40 |
442 | zsub dw ?;+40 |
409 | ysub dw ? |
443 | ysub dw ? |
410 | 444 | ||
411 | xx1 dw ? |
445 | xx1 dw ? |
412 | yy1 dw ? |
446 | yy1 dw ? |
413 | zz1 dw ?;+48 xx1 + 4 |
447 | zz1 dw ?;+48 xx1 + 4 |
414 | xx2 dw ? |
448 | xx2 dw ? |
415 | yy2 dw ? |
449 | yy2 dw ? |
416 | zz2 dw ? ; xx1 + 10 |
450 | zz2 dw ? ; xx1 + 10 |
417 | xx3 dw ?;+56 |
451 | xx3 dw ?;+56 |
418 | yy3 dw ? |
452 | yy3 dw ? |
419 | zz3 dw ? ; xx1 + 16 |
453 | zz3 dw ? ; xx1 + 16 |
420 | col1 dd ? |
454 | col1 dd ? |
421 | col2 dd ? |
455 | col2 dd ? |
422 | col3 dd ? |
456 | col3 dd ? |
423 | scale dd ? ; help scale variable |
457 | scale dd ? ; help scale variable |
424 | edges_counter dd ? |
458 | edges_counter dd ? |
425 | ;== |
459 | ;== |
426 | triangles_count_var dw ? |
460 | triangles_count_var dw ? |
427 | points_count_var dw ? |
461 | points_count_var dw ? |
428 | triangles_ptr dd ? |
462 | ; triangles_ptr dd ? |
429 | triangles_w_z_ptr dd ? |
463 | ; triangles_w_z_ptr dd ? |
430 | triangles_normals_ptr dd ? |
464 | ; triangles_normals_ptr dd ? |
431 | points_normals_ptr dd ? |
465 | ; points_normals_ptr dd ? |
432 | points_normals_rot_ptr dd ? |
466 | ; points_normals_rot_ptr dd ? |
433 | points_ptr dd ? |
467 | ; points_ptr dd ? |
434 | points_rotated_ptr dd ? |
468 | ; points_rotated_ptr dd ? |
435 | points_translated_ptr dd ? |
469 | ; points_translated_ptr dd ? |
436 | screen_ptr dd ? |
470 | ; screen_ptr dd ? |
437 | Zbuffer_ptr dd ? |
471 | ; Zbuffer_ptr dd ? |
- | 472 | ; vertices_index_ptr dd ? |
|
- | 473 | ; edit_start_x: |
|
- | 474 | dw ? ; don't change order |
|
- | 475 | ; edit_start_y dw ? |
|
438 | ; edges_ptr dd ? |
476 | ; edges_ptr dd ? |
439 | size_y_var: |
477 | size_y_var: |
440 | dw ? |
478 | dw ? |
441 | size_x_var: |
479 | size_x_var: |
442 | dw ? |
480 | dw ? |
443 | x_start: |
481 | x_start: |
444 | dw ? |
482 | dw ? |
445 | y_start: |
483 | y_start: |
446 | dw ? |
484 | dw ? |
447 | 485 | ||
448 | ;=== |
486 | ;=== |
449 | 487 | ||
450 | point_index1 dw ? ;-\ |
488 | point_index1 dw ? ;-\ |
451 | point_index2 dw ? ; } don't change order |
489 | point_index2 dw ? ; } don't change order |
452 | point_index3 dw ? ;-/ |
490 | point_index3 dw ? ;-/ |
453 | temp_col dw ? |
491 | temp_col dw ? |
454 | high dd ? |
492 | high dd ? |
455 | rand_seed dw ? |
493 | rand_seed dw ? |
456 | align 8 |
494 | align 8 |
457 | buffer dq ? |
495 | buffer dq ? |
458 | errr dd ? |
496 | errr dd ? |
459 | drr dd ? |
497 | drr dd ? |
460 | xx dd ? |
498 | xx dd ? |
461 | yy dd ? |
499 | yy dd ? |
462 | xst dd ? |
500 | xst dd ? |
463 | yst dd ? |
501 | yst dd ? |
464 | ; screen_ptr dd ? |
502 | ; screen_ptr dd ? |
465 | ; Zbuffer_ptr dd ? |
503 | ; Zbuffer_ptr dd ? |
466 | 504 | ||
467 | matrix rb 36 |
505 | matrix rb 36 |
468 | cos_tab rd 360 |
506 | cos_tab rd 360 |
469 | sin_tab rd 360 |
507 | sin_tab rd 360 |
470 | 508 | ||
471 | align 16 |
509 | align 16 |
472 | 510 | ||
473 | if USE_LFN = 0 |
511 | if USE_LFN = 0 |
474 | points: |
512 | points: |
475 | rw (EndFile-SourceFile)/12*3 |
513 | rw (EndFile-SourceFile)/12*3 |
476 | points_count = ($-points)/6 |
514 | points_count = ($-points)/6 |
477 | triangles: |
515 | triangles: |
478 | rw (EndFile-SourceFile)/12*3 |
516 | rw (EndFile-SourceFile)/12*3 |
479 | triangles_count = ($-triangles)/6 |
517 | triangles_count = ($-triangles)/6 |
480 | align 16 |
518 | align 16 |
481 | real_points rd points_count*3 + 1 |
519 | real_points rd points_count*3 + 1 |
482 | align 16 |
520 | align 16 |
483 | rotated_points_r rd points_count*3 + 1 |
521 | rotated_points_r rd points_count*3 + 1 |
484 | align 16 |
522 | align 16 |
485 | points_rotated rw points_count*3 + 2 ;means translated |
523 | points_rotated rw points_count*3 + 2 ;means translated |
486 | align 16 |
524 | align 16 |
487 | triangles_normals rb triangles_count * 12 ; |
525 | triangles_normals rb triangles_count * 12 ; |
488 | align 16 |
526 | align 16 |
489 | point_normals rb points_count * 12 ;one 3dvector - triple float dword x,y,z |
527 | point_normals rb points_count * 12 ;one 3dvector - triple float dword x,y,z |
490 | align 16 |
528 | align 16 |
491 | point_normals_rotated rb points_count * 12 |
529 | point_normals_rotated rb points_count * 12 |
492 | align 16 |
530 | align 16 |
493 | triangles_normals_rotated rb triangles_count * 12 |
531 | triangles_normals_rotated rb triangles_count * 12 |
494 | 532 | ||
495 | else |
533 | else |
496 | points_count = 180000/6*3 |
534 | points_count = 180000/6*3 |
497 | triangles_count = 180000 / 6 ;($-triangles)/6 |
535 | triangles_count = 180000 / 6 ;($-triangles)/6 |
498 | end if |
536 | end if |
499 | align 16 |
537 | align 16 |
500 | label trizdd dword |
538 | label trizdd dword |
501 | label trizdq qword |
539 | label trizdq qword |
502 | triangles_with_z rw triangles_count*4 + 2 ; triangles triple dw + z position |
540 | triangles_with_z rw triangles_count*4 + 2 ; triangles triple dw + z position |
503 | align 16 |
541 | align 16 |
504 | vectors rb 24 |
542 | vectors rb 24 |
505 | ;align 16 |
543 | ;align 16 |
506 | ; points_color rb 6*points_count ; each color as word |
544 | ; points_color rb 6*points_count ; each color as word |
507 | ; sorted_triangles rw triangles_count*3 + 2 |
545 | ; sorted_triangles rw triangles_count*3 + 2 |
508 | align 16 |
546 | align 16 |
509 | bumpmap rb TEXTURE_SIZE + 1 |
547 | bumpmap rb TEXTURE_SIZE + 1 |
510 | align 16 |
548 | align 16 |
511 | bumpmap2 rb TEXTURE_SIZE + 1 |
549 | bumpmap2 rb TEXTURE_SIZE + 1 |
512 | align 16 |
550 | align 16 |
513 | envmap rb (TEXTURE_SIZE +1) * 3 |
551 | envmap rb (TEXTURE_SIZE +1) * 3 |
514 | align 16 |
552 | align 16 |
515 | envmap_cub rb TEX_X * 3 |
553 | envmap_cub rb TEX_X * 3 |
516 | align 16 |
554 | align 16 |
517 | texmap rb (TEXTURE_SIZE +1) * 3 |
555 | texmap rb (TEXTURE_SIZE +1) * 3 |
518 | align 16 |
556 | align 16 |
519 | color_map rb (TEXTURE_SIZE +1) * 3 |
557 | color_map rb (TEXTURE_SIZE +1) * 3 |
520 | align 16 |
558 | align 16 |
521 | tex_points rb points_count * 4 ; bump_map and texture coords |
559 | tex_points rb points_count * 4 ; bump_map and texture coords |
522 | ; each point word x, word y |
560 | ; each point word x, word y |
523 | align 16 |
561 | align 16 |
524 | if Ext >= SSE2 |
562 | if Ext >= SSE2 |
525 | sse_repository rb 1024 |
563 | sse_repository rb 1024 |
526 | end if |
564 | end if |
527 | ; SourceFile: ; source file temporally in screen area |
565 | ; SourceFile: ; source file temporally in screen area |
528 | ; workarea dd ? |
566 | ; workarea dd ? |
529 | 567 | ||
530 | ; screen rb SIZE_X * SIZE_Y * 3 ; screen buffer |
568 | ; screen rb SIZE_X * SIZE_Y * 3 ; screen buffer |
531 | ;align 16 |
569 | ;align 16 |
532 | ; Z_buffer rb SIZE_X * SIZE_Y * 4 |
570 | ; Z_buffer rb SIZE_X * SIZE_Y * 4 |
533 | procinfo: |
571 | procinfo: |
534 | rb 1024 ; process info |
572 | rb 1024 ; process info |
535 | I_Param rb 256 |
573 | I_Param rb 256 |
536 | memStack rb 4000 ;memory area for stack |
574 | memStack rb 4000 ;memory area for stack |
537 | align 16 |
575 | align 16 |
538 | screen:>>> |
576 | screen:>>> |