16 set [key_fall_cheat], 0
17 set [key_walk_cheat], 0
18 set [key_plev_cheat], 0
19 set [key_nlev_cheat], 0
21 set [prof_fall_count], 0
23 set [prof_dir], DIR_FACING
37 jgr .nolshift, [pos_x], [scr_x]
39 sub [scr_x], [VIS_WIDTH]
44 add [.ex], [VIS_WIDTH]
46 jls .norshift, [pos_x], [.ex]
48 add [scr_x], [VIS_WIDTH]
52 ;if (profY == scrY+3) scrY -= VIS_HEIGHT-4;
53 ;if (profY == scrY+VIS_HEIGHT) if ((scrY += VIS_HEIGHT-4) > 24) scrY = 24;
57 jgr .noushift, [pos_y], [.sy]
58 sub [scr_y], [VIS_HEIGHT]
64 jls .nodshift, [pos_y], [.sy]
65 add [scr_y], [VIS_HEIGHT]
67 jle .nodshift, [scr_y], 24
75 set [spr_dir], DIR_LEFT
81 jne game_turning_right, [key_right], 0
82 jne game_turning_left, [key_left], 0
90 set [prof_dir], DIR_LEFT
91 set [spr_dir], DIR_LEFT
102 jne game_turning_from_left, [key_right], 0
103 jne game_jump_left, [key_up], 0
105 jmp game_left_stand_loop
107 game_turning_from_left:
110 set [prof_dir], DIR_FACING
111 set [spr_dir], DIR_LEFT
115 jmp game_facing_loop_w2f
120 set [prof_dir], DIR_RIGHT
121 set [spr_dir], DIR_RIGHT
129 game_right_stand_loop:
132 jne game_turning_from_right, [key_left], 0
133 jne game_jump_right, [key_up], 0
135 jmp game_right_stand_loop
137 game_turning_from_right:
140 set [prof_dir], DIR_FACING
141 set [spr_dir], DIR_RIGHT
145 jmp game_facing_loop_w2f
185 bsr prof_fix_position
186 jmp game_left_stand_loop
225 bsr prof_fix_position
226 jmp game_right_stand_loop
232 set [spr_bank], BANK_PROF
234 set [spr_dir], DIR_LEFT
239 rst FRST_LOAD_LEVEL, [cur_level]
240 jne quit_program, [rst_result], 0
242 bsr prof_fix_position
248 jne .minimap, [key_minimap], 0
258 jne quit_program, [key_quit], 0
264 set [prof_x], [pos_x]
265 set [prof_y], [pos_y]