Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1 | pmbaty | 1 | /* |
2 | SDLPoP, a port/conversion of the DOS game Prince of Persia. |
||
3 | Copyright (C) 2013-2018 Dávid Nagy |
||
4 | |||
5 | This program is free software: you can redistribute it and/or modify |
||
6 | it under the terms of the GNU General Public License as published by |
||
7 | the Free Software Foundation, either version 3 of the License, or |
||
8 | (at your option) any later version. |
||
9 | |||
10 | This program is distributed in the hope that it will be useful, |
||
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
||
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||
13 | GNU General Public License for more details. |
||
14 | |||
15 | You should have received a copy of the GNU General Public License |
||
16 | along with this program. If not, see <http://www.gnu.org/licenses/>. |
||
17 | |||
18 | The authors of this program may be contacted at http://forum.princed.org |
||
19 | */ |
||
20 | |||
21 | // SEG000.C |
||
22 | void far pop_main(); |
||
23 | void __pascal far init_game_main(); |
||
24 | void __pascal far start_game(); |
||
25 | int __pascal far process_key(); |
||
26 | void __pascal far play_frame(); |
||
27 | void __pascal far draw_game_frame(); |
||
28 | void __pascal far anim_tile_modif(); |
||
29 | void load_sound_names(); |
||
30 | void __pascal far load_sounds(int min_sound,int max_sound); |
||
31 | void __pascal far load_opt_sounds(int first,int last); |
||
32 | void __pascal far load_lev_spr(int level); |
||
33 | void __pascal far load_level(); |
||
34 | void reset_level_unused_fields(bool loading_clean_level); |
||
35 | int __pascal far play_kid_frame(); |
||
36 | void __pascal far play_guard_frame(); |
||
37 | void __pascal far check_the_end(); |
||
38 | void __pascal far check_fall_flo(); |
||
39 | void __pascal far read_joyst_control(); |
||
40 | void __pascal far draw_kid_hp(short curr_hp,short max_hp); |
||
41 | void __pascal far draw_guard_hp(short curr_hp,short max_hp); |
||
42 | void __pascal far add_life(); |
||
43 | void __pascal far set_health_life(); |
||
44 | void __pascal far draw_hp(); |
||
45 | void __pascal far do_delta_hp(); |
||
46 | void __pascal far play_sound(int sound_id); |
||
47 | void __pascal far play_next_sound(); |
||
48 | void __pascal far check_sword_vs_sword(); |
||
49 | void __pascal far load_chtab_from_file(int chtab_id,int resource,const char near *filename,int palette_bits); |
||
50 | void __pascal far free_all_chtabs_from(int first); |
||
51 | void __pascal far load_more_opt_graf(const char *filename); |
||
52 | int __pascal far do_paused(); |
||
53 | void __pascal far read_keyb_control(); |
||
54 | void __pascal far copy_screen_rect(const rect_type far *source_rect_ptr); |
||
55 | void __pascal far toggle_upside(); |
||
56 | void __pascal far feather_fall(); |
||
57 | int __pascal far parse_grmode(); |
||
58 | void __pascal far gen_palace_wall_colors(); |
||
59 | void __pascal far show_title(); |
||
60 | void __pascal far transition_ltr(); |
||
61 | void __pascal far release_title_images(); |
||
62 | void __pascal far draw_image_2(int id,chtab_type* chtab_ptr,int xpos,int ypos,int blit); |
||
63 | void __pascal far load_kid_sprite(); |
||
64 | void __pascal far save_game(); |
||
65 | short __pascal far load_game(); |
||
66 | void __pascal far clear_screen_and_sounds(); |
||
67 | void __pascal far parse_cmdline_sound(); |
||
68 | void __pascal far free_optional_sounds(); |
||
69 | void reload_non_music_sounds(); |
||
70 | void __pascal far free_optsnd_chtab(); |
||
71 | void __pascal far load_title_images(int bgcolor); |
||
72 | void __pascal far show_copyprot(int where); |
||
73 | void __pascal far show_loading(); |
||
74 | void __pascal far show_quotes(); |
||
75 | void show_splash(); |
||
76 | #ifdef USE_QUICKSAVE |
||
77 | void check_quick_op(); |
||
78 | void restore_room_after_quick_load(); |
||
79 | #endif // USE_QUICKSAVE |
||
80 | |||
81 | // SEG001.C |
||
82 | int __pascal far proc_cutscene_frame(int wait_frames); |
||
83 | void __pascal far play_both_seq(); |
||
84 | void __pascal far draw_proom_drects(); |
||
85 | void __pascal far play_kid_seq(); |
||
86 | void __pascal far play_opp_seq(); |
||
87 | void __pascal far draw_princess_room_bg(); |
||
88 | void __pascal far seqtbl_offset_shad_char(int seq_index); |
||
89 | void __pascal far seqtbl_offset_kid_char(int seq_index); |
||
90 | void __pascal far init_mouse_cu8(); |
||
91 | void __pascal far init_mouse_go(); |
||
92 | void __pascal far princess_crouching(); |
||
93 | void __pascal far princess_stand(); |
||
94 | void __pascal far init_princess_x156(); |
||
95 | void __pascal far princess_lying(); |
||
96 | void __pascal far init_princess_right(); |
||
97 | void __pascal far init_ending_princess(); |
||
98 | void __pascal far init_mouse_1(); |
||
99 | void __pascal far init_princess(); |
||
100 | void __pascal far init_vizier(); |
||
101 | void __pascal far init_ending_kid(); |
||
102 | void __pascal far cutscene_8(); |
||
103 | void __pascal far cutscene_9(); |
||
104 | void __pascal far end_sequence_anim(); |
||
105 | void __pascal far time_expired(); |
||
106 | void __pascal far cutscene_12(); |
||
107 | void __pascal far cutscene_4(); |
||
108 | void __pascal far cutscene_2_6(); |
||
109 | void __pascal far pv_scene(); |
||
110 | void __pascal far set_hourglass_state(int state); |
||
111 | int __pascal far hourglass_frame(); |
||
112 | void __pascal far princess_room_torch(); |
||
113 | void __pascal far draw_hourglass(); |
||
114 | void __pascal far reset_cutscene(); |
||
115 | void __pascal far do_flash(short color); |
||
116 | void delay_ticks(Uint32 ticks); |
||
117 | void do_flash_no_delay(short color); |
||
118 | void __pascal far remove_flash(); |
||
119 | void __pascal far end_sequence(); |
||
120 | void __pascal far expired(); |
||
121 | void __pascal far load_intro(int which_imgs,void far (*func)(),int free_sounds); |
||
122 | void __pascal far draw_star(int which_star,int mark_dirty); |
||
123 | void __pascal far show_hof(); |
||
124 | void __pascal far hof_write(); |
||
125 | void __pascal far hof_read(); |
||
126 | void __pascal far show_hof_text(rect_type far *rect,int x_align,int y_align, const char *text); |
||
127 | int __pascal far fade_in_1(); |
||
128 | int __pascal far fade_out_1(); |
||
129 | |||
130 | // SEG002.C |
||
131 | void __pascal far do_init_shad(const byte *source,int seq_index); |
||
132 | void __pascal far get_guard_hp(); |
||
133 | void __pascal far check_shadow(); |
||
134 | void __pascal far enter_guard(); |
||
135 | void __pascal far check_guard_fallout(); |
||
136 | void __pascal far leave_guard(); |
||
137 | void __pascal far follow_guard(); |
||
138 | void __pascal far exit_room(); |
||
139 | int __pascal far goto_other_room(short direction); |
||
140 | short __pascal far leave_room(); |
||
141 | void __pascal far Jaffar_exit(); |
||
142 | void __pascal far level3_set_chkp(); |
||
143 | void __pascal far sword_disappears(); |
||
144 | void __pascal far meet_Jaffar(); |
||
145 | void __pascal far play_mirr_mus(); |
||
146 | void __pascal far move_0_nothing(); |
||
147 | void __pascal far move_1_forward(); |
||
148 | void __pascal far move_2_backward(); |
||
149 | void __pascal far move_3_up(); |
||
150 | void __pascal far move_4_down(); |
||
151 | void __pascal far move_up_back(); |
||
152 | void __pascal far move_down_back(); |
||
153 | void __pascal far move_down_forw(); |
||
154 | void __pascal far move_6_shift(); |
||
155 | void __pascal far move_7(); |
||
156 | void __pascal far autocontrol_opponent(); |
||
157 | void __pascal far autocontrol_mouse(); |
||
158 | void __pascal far autocontrol_shadow(); |
||
159 | void __pascal far autocontrol_skeleton(); |
||
160 | void __pascal far autocontrol_Jaffar(); |
||
161 | void __pascal far autocontrol_kid(); |
||
162 | void __pascal far autocontrol_guard(); |
||
163 | void __pascal far autocontrol_guard_inactive(); |
||
164 | void __pascal far autocontrol_guard_active(); |
||
165 | void __pascal far autocontrol_guard_kid_far(); |
||
166 | void __pascal far guard_follows_kid_down(); |
||
167 | void __pascal far autocontrol_guard_kid_in_sight(short distance); |
||
168 | void __pascal far autocontrol_guard_kid_armed(short distance); |
||
169 | void __pascal far guard_advance(); |
||
170 | void __pascal far guard_block(); |
||
171 | void __pascal far guard_strike(); |
||
172 | void __pascal far hurt_by_sword(); |
||
173 | void __pascal far check_sword_hurt(); |
||
174 | void __pascal far check_sword_hurting(); |
||
175 | void __pascal far check_hurting(); |
||
176 | void __pascal far check_skel(); |
||
177 | void __pascal far do_auto_moves(const auto_move_type *moves_ptr); |
||
178 | void __pascal far autocontrol_shadow_level4(); |
||
179 | void __pascal far autocontrol_shadow_level5(); |
||
180 | void __pascal far autocontrol_shadow_level6(); |
||
181 | void __pascal far autocontrol_shadow_level12(); |
||
182 | |||
183 | // SEG003.C |
||
184 | void __pascal far init_game(int level); |
||
185 | void __pascal far play_level(int level_number); |
||
186 | void __pascal far do_startpos(); |
||
187 | void __pascal far set_start_pos(); |
||
188 | void __pascal far find_start_level_door(); |
||
189 | void __pascal far draw_level_first(); |
||
190 | void __pascal far redraw_screen(int drawing_different_room); |
||
191 | int __pascal far play_level_2(); |
||
192 | void __pascal far redraw_at_char(); |
||
193 | void __pascal far redraw_at_char2(); |
||
194 | void __pascal far check_knock(); |
||
195 | void __pascal far timers(); |
||
196 | void __pascal far check_mirror(); |
||
197 | void __pascal far jump_through_mirror(); |
||
198 | void __pascal far check_mirror_image(); |
||
199 | void __pascal far bump_into_opponent(); |
||
200 | void __pascal far pos_guards(); |
||
201 | void __pascal far check_can_guard_see_kid(); |
||
202 | byte __pascal far get_tile_at_kid(int xpos); |
||
203 | void __pascal far do_mouse(); |
||
204 | int __pascal far flash_if_hurt(); |
||
205 | void __pascal far remove_flash_if_hurt(); |
||
206 | |||
207 | // SEG004.C |
||
208 | void __pascal far check_collisions(); |
||
209 | void __pascal far move_coll_to_prev(); |
||
210 | void __pascal far get_row_collision_data(short row,sbyte *row_coll_room_ptr,byte *row_coll_flags_ptr); |
||
211 | int __pascal far get_left_wall_xpos(int room,int column,int row); |
||
212 | int __pascal far get_right_wall_xpos(int room,int column,int row); |
||
213 | void __pascal far check_bumped(); |
||
214 | void __pascal far check_bumped_look_left(); |
||
215 | void __pascal far check_bumped_look_right(); |
||
216 | int __pascal far is_obstacle_at_col(int tile_col); |
||
217 | int __pascal far is_obstacle(); |
||
218 | int __pascal far xpos_in_drawn_room(int xpos); |
||
219 | void __pascal far bumped(sbyte delta_x,sbyte direction); |
||
220 | void __pascal far bumped_fall(); |
||
221 | void __pascal far bumped_floor(sbyte direction); |
||
222 | void __pascal far bumped_sound(); |
||
223 | void __pascal far clear_coll_rooms(); |
||
224 | int __pascal far can_bump_into_gate(); |
||
225 | int __pascal far get_edge_distance(); |
||
226 | void __pascal far check_chomped_kid(); |
||
227 | void __pascal far chomped(); |
||
228 | void __pascal far check_gate_push(); |
||
229 | void __pascal far check_guard_bumped(); |
||
230 | void __pascal far check_chomped_guard(); |
||
231 | int __pascal far check_chomped_here(); |
||
232 | int __pascal far dist_from_wall_forward(byte tiletype); |
||
233 | int __pascal far dist_from_wall_behind(byte tiletype); |
||
234 | |||
235 | // SEG005.C |
||
236 | void __pascal far seqtbl_offset_char(short seq_index); |
||
237 | void __pascal far seqtbl_offset_opp(int seq_index); |
||
238 | void __pascal far do_fall(); |
||
239 | void __pascal far land(); |
||
240 | void __pascal far spiked(); |
||
241 | void __pascal far control(); |
||
242 | void __pascal far control_crouched(); |
||
243 | void __pascal far control_standing(); |
||
244 | void __pascal far up_pressed(); |
||
245 | void __pascal far down_pressed(); |
||
246 | void __pascal far go_up_leveldoor(); |
||
247 | void __pascal far control_turning(); |
||
248 | void __pascal far crouch(); |
||
249 | void __pascal far back_pressed(); |
||
250 | void __pascal far forward_pressed(); |
||
251 | void __pascal far control_running(); |
||
252 | void __pascal far safe_step(); |
||
253 | int __pascal far check_get_item(); |
||
254 | void __pascal far get_item(); |
||
255 | void __pascal far control_startrun(); |
||
256 | void __pascal far control_jumpup(); |
||
257 | void __pascal far standing_jump(); |
||
258 | void __pascal far check_jump_up(); |
||
259 | void __pascal far jump_up_or_grab(); |
||
260 | void __pascal far grab_up_no_floor_behind(); |
||
261 | void __pascal far jump_up(); |
||
262 | void __pascal far control_hanging(); |
||
263 | void __pascal far can_climb_up(); |
||
264 | void __pascal far hang_fall(); |
||
265 | void __pascal far grab_up_with_floor_behind(); |
||
266 | void __pascal far run_jump(); |
||
267 | void __pascal far back_with_sword(); |
||
268 | void __pascal far forward_with_sword(); |
||
269 | void __pascal far draw_sword(); |
||
270 | void __pascal far control_with_sword(); |
||
271 | void __pascal far swordfight(); |
||
272 | void __pascal far sword_strike(); |
||
273 | void __pascal far parry(); |
||
274 | |||
275 | // SEG006.C |
||
276 | int __pascal far get_tile(int room,int col,int row); |
||
277 | int __pascal far find_room_of_tile(); |
||
278 | int __pascal far get_tilepos(int tile_col,int tile_row); |
||
279 | int __pascal far get_tilepos_nominus(int tile_col,int tile_row); |
||
280 | void __pascal far load_fram_det_col(); |
||
281 | void __pascal far determine_col(); |
||
282 | void __pascal far load_frame(); |
||
283 | short __pascal far dx_weight(); |
||
284 | int __pascal far char_dx_forward(int delta_x); |
||
285 | int __pascal far obj_dx_forward(int delta_x); |
||
286 | void __pascal far play_seq(); |
||
287 | int __pascal far get_tile_div_mod_m7(int xpos); |
||
288 | int __pascal far get_tile_div_mod(int xpos); |
||
289 | int __pascal far sub_70B6(int ypos); |
||
290 | int __pascal far y_to_row_mod4(int ypos); |
||
291 | void __pascal far loadkid(); |
||
292 | void __pascal far savekid(); |
||
293 | void __pascal far loadshad(); |
||
294 | void __pascal far saveshad(); |
||
295 | void __pascal far loadkid_and_opp(); |
||
296 | void __pascal far savekid_and_opp(); |
||
297 | void __pascal far loadshad_and_opp(); |
||
298 | void __pascal far saveshad_and_opp(); |
||
299 | void __pascal far reset_obj_clip(); |
||
300 | void __pascal far x_to_xh_and_xl(int xpos, sbyte *xh_addr, sbyte *xl_addr); |
||
301 | void __pascal far fall_accel(); |
||
302 | void __pascal far fall_speed(); |
||
303 | void __pascal far check_action(); |
||
304 | int __pascal far tile_is_floor(int tiletype); |
||
305 | void __pascal far check_spiked(); |
||
306 | int __pascal far take_hp(int count); |
||
307 | int __pascal far get_tile_at_char(); |
||
308 | void __pascal far set_char_collision(); |
||
309 | void __pascal far check_on_floor(); |
||
310 | void __pascal far start_fall(); |
||
311 | void __pascal far check_grab(); |
||
312 | int __pascal far can_grab_front_above(); |
||
313 | void __pascal far in_wall(); |
||
314 | int __pascal far get_tile_infrontof_char(); |
||
315 | int __pascal far get_tile_infrontof2_char(); |
||
316 | int __pascal far get_tile_behind_char(); |
||
317 | int __pascal far distance_to_edge_weight(); |
||
318 | int __pascal far distance_to_edge(int xpos); |
||
319 | void __pascal far fell_out(); |
||
320 | void __pascal far play_kid(); |
||
321 | void __pascal far control_kid(); |
||
322 | void __pascal far do_demo(); |
||
323 | void __pascal far play_guard(); |
||
324 | void __pascal far user_control(); |
||
325 | void __pascal far flip_control_x(); |
||
326 | int __pascal far release_arrows(); |
||
327 | void __pascal far save_ctrl_1(); |
||
328 | void __pascal far rest_ctrl_1(); |
||
329 | void __pascal far clear_saved_ctrl(); |
||
330 | void __pascal far read_user_control(); |
||
331 | int __pascal far can_grab(); |
||
332 | int __pascal far wall_type(byte tiletype); |
||
333 | int __pascal far get_tile_above_char(); |
||
334 | int __pascal far get_tile_behind_above_char(); |
||
335 | int __pascal far get_tile_front_above_char(); |
||
336 | int __pascal far back_delta_x(int delta_x); |
||
337 | void __pascal far do_pickup(int obj_type); |
||
338 | void __pascal far check_press(); |
||
339 | void __pascal far check_spike_below(); |
||
340 | void __pascal far clip_char(); |
||
341 | void __pascal far stuck_lower(); |
||
342 | void __pascal far set_objtile_at_char(); |
||
343 | void __pascal far proc_get_object(); |
||
344 | int __pascal far is_dead(); |
||
345 | void __pascal far play_death_music(); |
||
346 | void __pascal far on_guard_killed(); |
||
347 | void __pascal far clear_char(); |
||
348 | void __pascal far save_obj(); |
||
349 | void __pascal far load_obj(); |
||
350 | void __pascal far draw_hurt_splash(); |
||
351 | void __pascal far check_killed_shadow(); |
||
352 | void __pascal far add_sword_to_objtable(); |
||
353 | void __pascal far control_guard_inactive(); |
||
354 | int __pascal far char_opp_dist(); |
||
355 | void __pascal far inc_curr_row(); |
||
356 | |||
357 | // SEG007.C |
||
358 | void __pascal far process_trobs(); |
||
359 | void __pascal far animate_tile(); |
||
360 | short __pascal far is_trob_in_drawn_room(); |
||
361 | void __pascal far set_redraw_anim_right(); |
||
362 | void __pascal far set_redraw_anim_curr(); |
||
363 | void __pascal far redraw_at_trob(); |
||
364 | void __pascal far redraw_21h(); |
||
365 | void __pascal far redraw_11h(); |
||
366 | void __pascal far redraw_20h(); |
||
367 | void __pascal far draw_trob(); |
||
368 | void __pascal far redraw_tile_height(); |
||
369 | short __pascal far get_trob_pos_in_drawn_room(); |
||
370 | short __pascal far get_trob_right_pos_in_drawn_room(); |
||
371 | short __pascal far get_trob_right_above_pos_in_drawn_room(); |
||
372 | void __pascal far animate_torch(); |
||
373 | void __pascal far animate_potion(); |
||
374 | void __pascal far animate_sword(); |
||
375 | void __pascal far animate_chomper(); |
||
376 | void __pascal far animate_spike(); |
||
377 | void __pascal far animate_door(); |
||
378 | void __pascal far gate_stop(); |
||
379 | void __pascal far animate_leveldoor(); |
||
380 | short __pascal far bubble_next_frame(short curr); |
||
381 | short __pascal far get_torch_frame(short curr); |
||
382 | void __pascal far set_redraw_anim(short tilepos,byte frames); |
||
383 | void __pascal far set_redraw2(short tilepos,byte frames); |
||
384 | void __pascal far set_redraw_floor_overlay(short tilepos, byte frames); |
||
385 | void __pascal far set_redraw_full(short tilepos,byte frames); |
||
386 | void __pascal far set_redraw_fore(short tilepos,byte frames); |
||
387 | void __pascal far set_wipe(short tilepos,byte frames); |
||
388 | void __pascal far start_anim_torch(short room,short tilepos); |
||
389 | void __pascal far start_anim_potion(short room,short tilepos); |
||
390 | void __pascal far start_anim_sword(short room,short tilepos); |
||
391 | void __pascal far start_anim_chomper(short room,short tilepos, byte modifier); |
||
392 | void __pascal far start_anim_spike(short room,short tilepos); |
||
393 | short __pascal far trigger_gate(short room,short tilepos,short button_type); |
||
394 | short __pascal far trigger_1(short target_type,short room,short tilepos,short button_type); |
||
395 | void __pascal far do_trigger_list(short index,short button_type); |
||
396 | void __pascal far add_trob(byte room,byte tilepos,sbyte type); |
||
397 | short __pascal far find_trob(); |
||
398 | void __pascal far clear_tile_wipes(); |
||
399 | short __pascal far get_doorlink_timer(short index); |
||
400 | short __pascal far set_doorlink_timer(short index,byte value); |
||
401 | short __pascal far get_doorlink_tile(short index); |
||
402 | short __pascal far get_doorlink_next(short index); |
||
403 | short __pascal far get_doorlink_room(short index); |
||
404 | void __pascal far trigger_button(int playsound,int button_type,int modifier); |
||
405 | void __pascal far died_on_button(); |
||
406 | void __pascal far animate_button(); |
||
407 | void __pascal far start_level_door(short room,short tilepos); |
||
408 | void __pascal far animate_empty(); |
||
409 | void __pascal far animate_loose(); |
||
410 | void __pascal far loose_shake(int arg_0); |
||
411 | int __pascal far remove_loose(int room, int tilepos); |
||
412 | void __pascal far make_loose_fall(byte modifier); |
||
413 | void __pascal far start_chompers(); |
||
414 | int __pascal far next_chomper_timing(byte timing); |
||
415 | void __pascal far loose_make_shake(); |
||
416 | void __pascal far do_knock(int room,int tile_row); |
||
417 | void __pascal far add_mob(); |
||
418 | short __pascal far get_curr_tile(short tilepos); |
||
419 | void __pascal far do_mobs(); |
||
420 | void __pascal far move_mob(); |
||
421 | void __pascal far move_loose(); |
||
422 | void __pascal far loose_land(); |
||
423 | void __pascal far loose_fall(); |
||
424 | void __pascal far redraw_at_cur_mob(); |
||
425 | void __pascal far mob_down_a_row(); |
||
426 | void __pascal far draw_mobs(); |
||
427 | void __pascal far draw_mob(); |
||
428 | void __pascal far add_mob_to_objtable(int ypos); |
||
429 | void __pascal far sub_9A8E(); |
||
430 | int __pascal far is_spike_harmful(); |
||
431 | void __pascal far check_loose_fall_on_kid(); |
||
432 | void __pascal far fell_on_your_head(); |
||
433 | void __pascal far play_door_sound_if_visible(int sound_id); |
||
434 | |||
435 | // SEG008.C |
||
436 | void __pascal far redraw_room(); |
||
437 | void __pascal far load_room_links(); |
||
438 | void __pascal far draw_room(); |
||
439 | void __pascal far draw_tile(); |
||
440 | void __pascal far draw_tile_aboveroom(); |
||
441 | void __pascal far redraw_needed(short tilepos); |
||
442 | void __pascal far redraw_needed_above(int column); |
||
443 | int __pascal far get_tile_to_draw(int room, int column, int row, byte *ptr_tile, byte *ptr_modifier, byte tile_room0); |
||
444 | void __pascal far load_curr_and_left_tile(); |
||
445 | void __pascal far load_leftroom(); |
||
446 | void __pascal far load_rowbelow(); |
||
447 | void __pascal far draw_tile_floorright(); |
||
448 | int __pascal far can_see_bottomleft(); |
||
449 | void __pascal far draw_tile_topright(); |
||
450 | void __pascal far draw_tile_anim_topright(); |
||
451 | void __pascal far draw_tile_right(); |
||
452 | int __pascal far get_spike_frame(byte modifier); |
||
453 | void __pascal far draw_tile_anim_right(); |
||
454 | void __pascal far draw_tile_bottom(word arg_0); |
||
455 | void __pascal far draw_loose(int arg_0); |
||
456 | void __pascal far draw_tile_base(); |
||
457 | void __pascal far draw_tile_anim(); |
||
458 | void __pascal far draw_tile_fore(); |
||
459 | int __pascal far get_loose_frame(byte modifier); |
||
460 | int __pascal far add_backtable(short chtab_id, int id, sbyte xh, sbyte xl, int ybottom, byte blit, byte peel); |
||
461 | int __pascal far add_foretable(short chtab_id, int id, sbyte xh, sbyte xl, int ybottom, byte blit, byte peel); |
||
462 | int __pascal far add_midtable(short chtab_id, int id, sbyte xh, sbyte xl, int ybottom, byte blit, byte peel); |
||
463 | void __pascal far add_peel(int left,int right,int top,int height); |
||
464 | void __pascal far add_wipetable(sbyte layer,short left,short bottom,sbyte height,short width,sbyte color); |
||
465 | void __pascal far draw_table(int which_table); |
||
466 | void __pascal far draw_wipes(int which); |
||
467 | void __pascal far draw_back_fore(int which_table,int index); |
||
468 | void __pascal far draw_mid(int index); |
||
469 | void __pascal far draw_image(image_type far *image,image_type far *mask,int xpos,int ypos,int blit); |
||
470 | void __pascal far draw_wipe(int index); |
||
471 | void __pascal far calc_gate_pos(); |
||
472 | void __pascal far draw_gate_back(); |
||
473 | void __pascal far draw_gate_fore(); |
||
474 | void __pascal far alter_mods_allrm(); |
||
475 | void __pascal far load_alter_mod(int tile_ix); |
||
476 | void __pascal far draw_moving(); |
||
477 | void __pascal far redraw_needed_tiles(); |
||
478 | void __pascal far draw_tile_wipe(byte height); |
||
479 | void __pascal far draw_tables(); |
||
480 | void __pascal far restore_peels(); |
||
481 | void __pascal far add_drect(rect_type *source); |
||
482 | void __pascal far draw_leveldoor(); |
||
483 | void __pascal far get_room_address(int room); |
||
484 | void __pascal far draw_floor_overlay(); |
||
485 | void __pascal far draw_other_overlay(); |
||
486 | void __pascal far draw_tile2(); |
||
487 | void __pascal far draw_objtable_items_at_tile(byte tilepos); |
||
488 | void __pascal far sort_curr_objs(); |
||
489 | int __pascal far compare_curr_objs(int index1,int index2); |
||
490 | void __pascal far draw_objtable_item(int index); |
||
491 | int __pascal far load_obj_from_objtable(int index); |
||
492 | void __pascal far draw_people(); |
||
493 | void __pascal far draw_kid(); |
||
494 | void __pascal far draw_guard(); |
||
495 | void __pascal far add_kid_to_objtable(); |
||
496 | void __pascal far add_guard_to_objtable(); |
||
497 | void __pascal far add_objtable(byte obj_type); |
||
498 | void __pascal far mark_obj_tile_redraw(int index); |
||
499 | void __pascal far load_frame_to_obj(); |
||
500 | void __pascal far show_time(); |
||
501 | void __pascal far show_level(); |
||
502 | short __pascal far calc_screen_x_coord(short logical_x); |
||
503 | void __pascal far free_peels(); |
||
504 | void __pascal far display_text_bottom(const char near *text); |
||
505 | void __pascal far erase_bottom_text(int arg_0); |
||
506 | void __pascal far wall_pattern(int which_part,int which_table); |
||
507 | void __pascal far draw_left_mark (word arg3, word arg2, word arg1); |
||
508 | void __pascal far draw_right_mark (word arg2, word arg1); |
||
509 | image_type* get_image(short chtab_id, int id); |
||
510 | |||
511 | // SEG009.C |
||
512 | void sdlperror(const char* header); |
||
513 | #define locate_file(filename) locate_file_(filename, alloca(POP_MAX_PATH), POP_MAX_PATH) |
||
514 | const char* locate_file_(const char* filename, char* path_buffer, int buffer_size); |
||
515 | int __pascal far read_key(); |
||
516 | void __pascal far clear_kbd_buf(); |
||
517 | word __pascal far prandom(word max); |
||
518 | int __pascal far round_xpos_to_byte(int xpos,int round_direction); |
||
519 | void __pascal far show_dialog(const char *text); |
||
520 | void __pascal far quit(int exit_code); |
||
521 | void __pascal far restore_stuff(); |
||
522 | int __pascal far key_test_quit(); |
||
523 | const char* __pascal far check_param(const char *param); |
||
524 | int __pascal far pop_wait(int timer_index,int time); |
||
525 | dat_type *__pascal open_dat(const char *file,int drive); |
||
526 | void __pascal far set_loaded_palette(dat_pal_type far *palette_ptr); |
||
527 | chtab_type* __pascal load_sprites_from_file(int resource,int palette_bits, int quit_on_error); |
||
528 | void __pascal far free_chtab(chtab_type *chtab_ptr); |
||
529 | image_type*far __pascal far load_image(int index, dat_pal_type* palette); |
||
530 | void __pascal far draw_image_transp(image_type far *image,image_type far *mask,int xpos,int ypos); |
||
531 | int __pascal far set_joy_mode(); |
||
532 | surface_type far *__pascal make_offscreen_buffer(const rect_type far *rect); |
||
533 | void __pascal far free_surface(surface_type *surface); |
||
534 | void __pascal far free_peel(peel_type *peel_ptr); |
||
535 | void __pascal far set_hc_pal(); |
||
536 | void __pascal far flip_not_ega(byte far *memory,int height,int stride); |
||
537 | void __pascal far flip_screen(surface_type far *surface); |
||
538 | void __pascal far fade_in_2(surface_type near *source_surface,int which_rows); |
||
539 | void __pascal far fade_out_2(int rows); |
||
540 | void __pascal far draw_image_transp_vga(image_type far *image,int xpos,int ypos); |
||
541 | int __pascal far draw_text_character(byte character); |
||
542 | void __pascal far draw_rect(const rect_type far *rect,int color); |
||
543 | surface_type far *__pascal rect_sthg(surface_type *surface,const rect_type far *rect); |
||
544 | rect_type far *__pascal shrink2_rect(rect_type far *target_rect,const rect_type far *source_rect,int delta_x,int delta_y); |
||
545 | void __pascal far set_curr_pos(int xpos,int ypos); |
||
546 | void __pascal far restore_peel(peel_type *peel_ptr); |
||
547 | peel_type* __pascal far read_peel_from_screen(const rect_type far *rect); |
||
548 | void __pascal far show_text(const rect_type far *rect_ptr,int x_align,int y_align,const char far *text); |
||
549 | int __pascal far intersect_rect(rect_type far *output,const rect_type far *input1,const rect_type far *input2); |
||
550 | rect_type far * __pascal far union_rect(rect_type far *output,const rect_type far *input1,const rect_type far *input2); |
||
551 | void __pascal far stop_sounds(); |
||
552 | void __pascal far play_sound_from_buffer(sound_buffer_type far *buffer); |
||
553 | void __pascal far turn_sound_on_off(byte new_state); |
||
554 | int __pascal far check_sound_playing(); |
||
555 | void __pascal far set_gr_mode(byte grmode); |
||
556 | void request_screen_update(); |
||
557 | void __pascal far set_pal_arr(int start,int count,const rgb_type far *array,int vsync); |
||
558 | void __pascal far set_pal(int index,int red,int green,int blue,int vsync); |
||
559 | int __pascal far add_palette_bits(byte n_colors); |
||
560 | void __pascal far process_palette(void *target,dat_pal_type far *source); |
||
561 | int __pascal far find_first_pal_row(int which_rows_mask); |
||
562 | int __pascal far get_text_color(int cga_color,int low_half,int high_half_mask); |
||
563 | void __pascal far close_dat(dat_type far *pointer); |
||
564 | void far *__pascal load_from_opendats_alloc(int resource, const char* extension, data_location* out_result, int* out_size); |
||
565 | int __pascal far load_from_opendats_to_area(int resource,void far *area,int length, const char* extension); |
||
566 | void rect_to_sdlrect(const rect_type* rect, SDL_Rect* sdlrect); |
||
567 | void __pascal far method_1_blit_rect(surface_type near *target_surface,surface_type near *source_surface,const rect_type far *target_rect, const rect_type far *source_rect,int blit); |
||
568 | image_type far * __pascal far method_3_blit_mono(image_type far *image,int xpos,int ypos,int blitter,byte color); |
||
569 | const rect_type far * __pascal far method_5_rect(const rect_type far *rect,int blit,byte color); |
||
570 | image_type far * __pascal far method_6_blit_img_to_scr(image_type far *image,int xpos,int ypos,int blit); |
||
571 | void __pascal start_timer(int timer_index, int length); |
||
572 | int __pascal do_wait(int timer_index); |
||
573 | void __pascal far init_timer(int frequency); |
||
574 | void __pascal far set_clip_rect(const rect_type far *rect); |
||
575 | void __pascal far reset_clip_rect(); |
||
576 | void __pascal far set_bg_attr(int vga_pal_index,int hc_pal_index); |
||
577 | rect_type far *__pascal offset4_rect_add(rect_type far *dest, const rect_type far *source,int d_left,int d_top,int d_right,int d_bottom); |
||
578 | int __pascal far input_str(const rect_type far *rect,char *buffer,int max_length,const char *initial,int has_initial,int arg_4,int color,int bgcolor); |
||
579 | rect_type far *__pascal offset2_rect(rect_type far *dest, const rect_type far *source,int delta_x,int delta_y); |
||
580 | void __pascal far show_text_with_color(const rect_type far *rect_ptr,int x_align,int y_align, const char far *text,int color); |
||
581 | void __pascal do_simple_wait(int timer_index); |
||
582 | void idle(); |
||
583 | void __pascal far init_copyprot_dialog(); |
||
584 | dialog_type * __pascal far make_dialog_info(dialog_settings_type *settings, rect_type *dialog_rect, |
||
585 | rect_type *text_rect, peel_type *dialog_peel); |
||
586 | void __pascal far calc_dialog_peel_rect(dialog_type*dialog); |
||
587 | void __pascal far read_dialog_peel(dialog_type *dialog); |
||
588 | void __pascal far draw_dialog_frame(dialog_type *dialog); |
||
589 | void __pascal far add_dialog_rect(dialog_type *dialog); |
||
590 | void __pascal far dialog_method_2_frame(dialog_type *dialog); |
||
591 | #ifdef USE_FADE |
||
592 | void __pascal far fade_in_2(surface_type near *source_surface,int which_rows); |
||
593 | palette_fade_type far *__pascal make_pal_buffer_fadein(surface_type *source_surface,int which_rows,int wait_time); |
||
594 | void __pascal far pal_restore_free_fadein(palette_fade_type far *palette_buffer); |
||
595 | int __pascal far fade_in_frame(palette_fade_type far *palette_buffer); |
||
596 | void __pascal far fade_out_2(int rows); |
||
597 | palette_fade_type far *__pascal make_pal_buffer_fadeout(int which_rows,int wait_time); |
||
598 | void __pascal far pal_restore_free_fadeout(palette_fade_type far *palette_buffer); |
||
599 | int __pascal far fade_out_frame(palette_fade_type far *palette_buffer); |
||
600 | void __pascal far read_palette_256(rgb_type far *target); |
||
601 | void __pascal far set_pal_256(rgb_type far *source); |
||
602 | #endif |
||
603 | void set_chtab_palette(chtab_type* chtab, byte* colors, int n_colors); |
||
604 | int has_timer_stopped(int index); |
||
605 | sound_buffer_type* load_sound(int index); |
||
606 | void free_sound(sound_buffer_type far *buffer); |
||
607 | |||
608 | // SEQTABLE.C |
||
609 | void apply_seqtbl_patches(); |
||
610 | #ifdef CHECK_SEQTABLE_MATCHES_ORIGINAL |
||
611 | void check_seqtable_matches_original(); |
||
612 | #endif |
||
613 | |||
614 | // OPTIONS.C |
||
615 | void disable_fixes_and_enhancements(); |
||
616 | void load_global_options(); |
||
617 | void check_mod_param(); |
||
618 | void load_mod_options(); |
||
619 | void show_use_fixes_and_enhancements_prompt(); |
||
620 | |||
621 | // REPLAY.C |
||
622 | #ifdef USE_REPLAY |
||
623 | void start_with_replay_file(const char *filename); |
||
624 | void init_record_replay(); |
||
625 | void replay_restore_level(); |
||
626 | int restore_savestate_from_buffer(); |
||
627 | void start_recording(); |
||
628 | void add_replay_move(); |
||
629 | void stop_recording(); |
||
630 | void start_replay(); |
||
631 | void end_replay(); |
||
632 | void do_replay_move(); |
||
633 | int save_recorded_replay(); |
||
634 | void replay_cycle(); |
||
635 | int load_replay(); |
||
636 | void key_press_while_recording(int* key_ptr); |
||
637 | void key_press_while_replaying(int* key_ptr); |
||
638 | #endif |
||
639 | |||
640 | // lighting.c |
||
641 | #ifdef USE_LIGHTING |
||
642 | void init_lighting(); |
||
643 | void redraw_lighting(); |
||
644 | void update_lighting(const rect_type far *source_rect_ptr); |
||
645 | #endif |
||
646 | |||
647 | // screenshot.c |
||
648 | #ifdef USE_SCREENSHOT |
||
649 | void save_screenshot(); |
||
650 | void auto_screenshot(); |
||
651 | bool want_auto_screenshot(); |
||
652 | void init_screenshot(); |
||
653 | void save_level_screenshot(bool want_extras); |
||
654 | #endif |
||
655 |