From d49d082712fe0aaaa007dbd6eaa43d93a1df59a5 Mon Sep 17 00:00:00 2001 From: boreddevnl Date: Wed, 4 Mar 2026 21:41:58 +0100 Subject: [PATCH] DOOM!!!! --- Makefile | 6 +- boredos.iso | Bin 8280064 -> 13033472 bytes build.log | 533 ++ build/cmd.o | Bin 278352 -> 279872 bytes build/explorer.o | Bin 258072 -> 258872 bytes build/ps2.o | Bin 54240 -> 55488 bytes doom1.wad | Bin 0 -> 4196020 bytes limine.conf | 1 + src/kernel/cmd.c | 3 +- src/kernel/explorer.c | 3 +- src/kernel/gui_ipc.h | 1 + src/kernel/ps2.c | 39 +- src/kernel/syscall.c | 4 +- src/kernel/userland/Makefile | 11 +- src/kernel/userland/browser.c | 3 +- src/kernel/userland/doom/Makefile | 54 + src/kernel/userland/doom/Makefile.djgpp | 71 + src/kernel/userland/doom/Makefile.emscripten | 50 + src/kernel/userland/doom/Makefile.freebsd | 50 + src/kernel/userland/doom/Makefile.linuxvt | 51 + src/kernel/userland/doom/Makefile.sdl | 55 + src/kernel/userland/doom/Makefile.soso | 53 + src/kernel/userland/doom/Makefile.sosox | 54 + src/kernel/userland/doom/am_map.c | 1355 +++++ src/kernel/userland/doom/am_map.h | 49 + src/kernel/userland/doom/assert.h | 4 + src/kernel/userland/doom/boredos_libc.c | 243 + src/kernel/userland/doom/boredos_libc.h | 96 + src/kernel/userland/doom/config.h | 100 + src/kernel/userland/doom/ctype.h | 1 + src/kernel/userland/doom/d_englsh.h | 693 +++ src/kernel/userland/doom/d_event.c | 63 + src/kernel/userland/doom/d_event.h | 137 + src/kernel/userland/doom/d_items.c | 128 + src/kernel/userland/doom/d_items.h | 41 + src/kernel/userland/doom/d_iwad.c | 848 +++ src/kernel/userland/doom/d_iwad.h | 52 + src/kernel/userland/doom/d_loop.c | 826 +++ src/kernel/userland/doom/d_loop.h | 81 + src/kernel/userland/doom/d_main.c | 1845 +++++++ src/kernel/userland/doom/d_main.h | 50 + src/kernel/userland/doom/d_mode.c | 209 + src/kernel/userland/doom/d_mode.h | 98 + src/kernel/userland/doom/d_net.c | 281 + src/kernel/userland/doom/d_player.h | 209 + src/kernel/userland/doom/d_textur.h | 43 + src/kernel/userland/doom/d_think.h | 68 + src/kernel/userland/doom/d_ticcmd.h | 56 + src/kernel/userland/doom/deh_main.h | 48 + src/kernel/userland/doom/deh_misc.h | 83 + src/kernel/userland/doom/deh_str.h | 47 + src/kernel/userland/doom/doom.h | 42 + src/kernel/userland/doom/doomdata.h | 213 + src/kernel/userland/doom/doomdef.c | 28 + src/kernel/userland/doom/doomdef.h | 168 + src/kernel/userland/doom/doomfeatures.h | 40 + src/kernel/userland/doom/doomgeneric.c | 27 + src/kernel/userland/doom/doomgeneric.h | 49 + src/kernel/userland/doom/doomgeneric.vcxproj | 339 ++ .../userland/doom/doomgeneric.vcxproj.filters | 558 ++ .../userland/doom/doomgeneric_boredos.c | 133 + src/kernel/userland/doom/doomkeys.h | 96 + src/kernel/userland/doom/doomstat.c | 35 + src/kernel/userland/doom/doomstat.h | 281 + src/kernel/userland/doom/doomtype.h | 103 + src/kernel/userland/doom/dstrings.c | 73 + src/kernel/userland/doom/dstrings.h | 41 + src/kernel/userland/doom/dummy.c | 53 + src/kernel/userland/doom/errno.h | 2 + src/kernel/userland/doom/f_finale.c | 718 +++ src/kernel/userland/doom/f_finale.h | 45 + src/kernel/userland/doom/f_wipe.c | 294 ++ src/kernel/userland/doom/f_wipe.h | 63 + src/kernel/userland/doom/fcntl.h | 1 + src/kernel/userland/doom/g_game.c | 2302 ++++++++ src/kernel/userland/doom/g_game.h | 80 + src/kernel/userland/doom/gusconf.c | 271 + src/kernel/userland/doom/gusconf.h | 29 + src/kernel/userland/doom/hu_lib.c | 347 ++ src/kernel/userland/doom/hu_lib.h | 182 + src/kernel/userland/doom/hu_stuff.c | 641 +++ src/kernel/userland/doom/hu_stuff.h | 59 + src/kernel/userland/doom/i_cdmus.h | 41 + src/kernel/userland/doom/i_endoom.c | 101 + src/kernel/userland/doom/i_endoom.h | 29 + src/kernel/userland/doom/i_input.c | 341 ++ src/kernel/userland/doom/i_joystick.c | 359 ++ src/kernel/userland/doom/i_joystick.h | 70 + src/kernel/userland/doom/i_scale.c | 1452 +++++ src/kernel/userland/doom/i_scale.h | 53 + src/kernel/userland/doom/i_sound.c | 420 ++ src/kernel/userland/doom/i_sound.h | 256 + src/kernel/userland/doom/i_swap.h | 73 + src/kernel/userland/doom/i_system.c | 578 ++ src/kernel/userland/doom/i_system.h | 84 + src/kernel/userland/doom/i_timer.c | 96 + src/kernel/userland/doom/i_timer.h | 42 + src/kernel/userland/doom/i_video.c | 495 ++ src/kernel/userland/doom/i_video.h | 175 + src/kernel/userland/doom/icon.c | 262 + src/kernel/userland/doom/info.c | 4662 +++++++++++++++++ src/kernel/userland/doom/info.h | 1331 +++++ src/kernel/userland/doom/inttypes.h | 1 + src/kernel/userland/doom/m_argv.c | 265 + src/kernel/userland/doom/m_argv.h | 49 + src/kernel/userland/doom/m_bbox.c | 54 + src/kernel/userland/doom/m_bbox.h | 47 + src/kernel/userland/doom/m_cheat.c | 89 + src/kernel/userland/doom/m_cheat.h | 62 + src/kernel/userland/doom/m_config.c | 2128 ++++++++ src/kernel/userland/doom/m_config.h | 39 + src/kernel/userland/doom/m_controls.c | 398 ++ src/kernel/userland/doom/m_controls.h | 168 + src/kernel/userland/doom/m_fixed.c | 62 + src/kernel/userland/doom/m_fixed.h | 39 + src/kernel/userland/doom/m_menu.c | 2125 ++++++++ src/kernel/userland/doom/m_menu.h | 61 + src/kernel/userland/doom/m_misc.c | 536 ++ src/kernel/userland/doom/m_misc.h | 51 + src/kernel/userland/doom/m_random.c | 65 + src/kernel/userland/doom/m_random.h | 39 + src/kernel/userland/doom/math.h | 1 + src/kernel/userland/doom/memio.c | 197 + src/kernel/userland/doom/memio.h | 38 + src/kernel/userland/doom/mus2mid.c | 737 +++ src/kernel/userland/doom/mus2mid.h | 9 + src/kernel/userland/doom/net_client.h | 52 + src/kernel/userland/doom/net_dedicated.h | 25 + src/kernel/userland/doom/net_defs.h | 248 + src/kernel/userland/doom/net_gui.h | 29 + src/kernel/userland/doom/net_io.h | 36 + src/kernel/userland/doom/net_loop.h | 27 + src/kernel/userland/doom/net_packet.h | 44 + src/kernel/userland/doom/net_query.h | 44 + src/kernel/userland/doom/net_sdl.h | 26 + src/kernel/userland/doom/net_server.h | 42 + src/kernel/userland/doom/p_ceilng.c | 324 ++ src/kernel/userland/doom/p_doors.c | 778 +++ src/kernel/userland/doom/p_enemy.c | 2006 +++++++ src/kernel/userland/doom/p_floor.c | 546 ++ src/kernel/userland/doom/p_inter.c | 922 ++++ src/kernel/userland/doom/p_inter.h | 30 + src/kernel/userland/doom/p_lights.c | 350 ++ src/kernel/userland/doom/p_local.h | 297 ++ src/kernel/userland/doom/p_map.c | 1448 +++++ src/kernel/userland/doom/p_maputl.c | 1001 ++++ src/kernel/userland/doom/p_mobj.c | 1049 ++++ src/kernel/userland/doom/p_mobj.h | 284 + src/kernel/userland/doom/p_plats.c | 304 ++ src/kernel/userland/doom/p_pspr.c | 888 ++++ src/kernel/userland/doom/p_pspr.h | 71 + src/kernel/userland/doom/p_saveg.c | 1891 +++++++ src/kernel/userland/doom/p_saveg.h | 62 + src/kernel/userland/doom/p_setup.c | 855 +++ src/kernel/userland/doom/p_setup.h | 37 + src/kernel/userland/doom/p_sight.c | 350 ++ src/kernel/userland/doom/p_spec.c | 1489 ++++++ src/kernel/userland/doom/p_spec.h | 637 +++ src/kernel/userland/doom/p_switch.c | 648 +++ src/kernel/userland/doom/p_telept.c | 133 + src/kernel/userland/doom/p_tick.c | 151 + src/kernel/userland/doom/p_tick.h | 33 + src/kernel/userland/doom/p_user.c | 379 ++ src/kernel/userland/doom/r_bsp.c | 573 ++ src/kernel/userland/doom/r_bsp.h | 61 + src/kernel/userland/doom/r_data.c | 912 ++++ src/kernel/userland/doom/r_data.h | 51 + src/kernel/userland/doom/r_defs.h | 448 ++ src/kernel/userland/doom/r_draw.c | 975 ++++ src/kernel/userland/doom/r_draw.h | 104 + src/kernel/userland/doom/r_local.h | 45 + src/kernel/userland/doom/r_main.c | 891 ++++ src/kernel/userland/doom/r_main.h | 160 + src/kernel/userland/doom/r_plane.c | 446 ++ src/kernel/userland/doom/r_plane.h | 76 + src/kernel/userland/doom/r_segs.c | 743 +++ src/kernel/userland/doom/r_segs.h | 33 + src/kernel/userland/doom/r_sky.c | 52 + src/kernel/userland/doom/r_sky.h | 37 + src/kernel/userland/doom/r_state.h | 127 + src/kernel/userland/doom/r_things.c | 982 ++++ src/kernel/userland/doom/r_things.h | 65 + src/kernel/userland/doom/s_sound.c | 670 +++ src/kernel/userland/doom/s_sound.h | 89 + src/kernel/userland/doom/sha1.c | 319 ++ src/kernel/userland/doom/sha1.h | 40 + src/kernel/userland/doom/sounds.c | 229 + src/kernel/userland/doom/sounds.h | 227 + src/kernel/userland/doom/st_lib.c | 284 + src/kernel/userland/doom/st_lib.h | 209 + src/kernel/userland/doom/st_stuff.c | 1416 +++++ src/kernel/userland/doom/st_stuff.h | 89 + src/kernel/userland/doom/statdump.c | 392 ++ src/kernel/userland/doom/statdump.h | 23 + src/kernel/userland/doom/stb_sprintf.h | 1906 +++++++ src/kernel/userland/doom/stdio.h | 1 + src/kernel/userland/doom/string.h | 1 + src/kernel/userland/doom/strings.h | 1 + src/kernel/userland/doom/sys/stat.h | 1 + src/kernel/userland/doom/sys/types.h | 1 + src/kernel/userland/doom/tables.c | 2227 ++++++++ src/kernel/userland/doom/tables.h | 96 + src/kernel/userland/doom/unistd.h | 1 + src/kernel/userland/doom/v_patch.h | 50 + src/kernel/userland/doom/v_video.c | 932 ++++ src/kernel/userland/doom/v_video.h | 108 + src/kernel/userland/doom/w_checksum.c | 87 + src/kernel/userland/doom/w_checksum.h | 27 + src/kernel/userland/doom/w_file.c | 95 + src/kernel/userland/doom/w_file.h | 78 + src/kernel/userland/doom/w_file_stdc.c | 96 + src/kernel/userland/doom/w_main.c | 198 + src/kernel/userland/doom/w_main.h | 24 + src/kernel/userland/doom/w_merge.h | 44 + src/kernel/userland/doom/w_wad.c | 612 +++ src/kernel/userland/doom/w_wad.h | 78 + src/kernel/userland/doom/wi_stuff.c | 1829 +++++++ src/kernel/userland/doom/wi_stuff.h | 48 + src/kernel/userland/doom/z_zone.c | 488 ++ src/kernel/userland/doom/z_zone.h | 73 + src/kernel/userland/libc/libui.h | 1 + src/kernel/userland/markdown.c | 7 +- src/kernel/userland/settings.c | 7 +- src/kernel/userland/txtedit.c | 7 +- src/kernel/wm.c | 19 +- src/kernel/wm.h | 4 +- 226 files changed, 71703 insertions(+), 37 deletions(-) create mode 100644 build.log create mode 100644 doom1.wad create mode 100644 src/kernel/userland/doom/Makefile create mode 100644 src/kernel/userland/doom/Makefile.djgpp create mode 100644 src/kernel/userland/doom/Makefile.emscripten create mode 100644 src/kernel/userland/doom/Makefile.freebsd create mode 100644 src/kernel/userland/doom/Makefile.linuxvt create mode 100644 src/kernel/userland/doom/Makefile.sdl create mode 100644 src/kernel/userland/doom/Makefile.soso create mode 100644 src/kernel/userland/doom/Makefile.sosox create mode 100644 src/kernel/userland/doom/am_map.c create mode 100644 src/kernel/userland/doom/am_map.h create mode 100644 src/kernel/userland/doom/assert.h create mode 100644 src/kernel/userland/doom/boredos_libc.c create mode 100644 src/kernel/userland/doom/boredos_libc.h create mode 100644 src/kernel/userland/doom/config.h create mode 100644 src/kernel/userland/doom/ctype.h create mode 100644 src/kernel/userland/doom/d_englsh.h create mode 100644 src/kernel/userland/doom/d_event.c create mode 100644 src/kernel/userland/doom/d_event.h create mode 100644 src/kernel/userland/doom/d_items.c create mode 100644 src/kernel/userland/doom/d_items.h create mode 100644 src/kernel/userland/doom/d_iwad.c create mode 100644 src/kernel/userland/doom/d_iwad.h create mode 100644 src/kernel/userland/doom/d_loop.c create mode 100644 src/kernel/userland/doom/d_loop.h create mode 100644 src/kernel/userland/doom/d_main.c create mode 100644 src/kernel/userland/doom/d_main.h create mode 100644 src/kernel/userland/doom/d_mode.c create mode 100644 src/kernel/userland/doom/d_mode.h create mode 100644 src/kernel/userland/doom/d_net.c create mode 100644 src/kernel/userland/doom/d_player.h create mode 100644 src/kernel/userland/doom/d_textur.h create mode 100644 src/kernel/userland/doom/d_think.h create mode 100644 src/kernel/userland/doom/d_ticcmd.h create mode 100644 src/kernel/userland/doom/deh_main.h create mode 100644 src/kernel/userland/doom/deh_misc.h create mode 100644 src/kernel/userland/doom/deh_str.h create mode 100644 src/kernel/userland/doom/doom.h create mode 100644 src/kernel/userland/doom/doomdata.h create mode 100644 src/kernel/userland/doom/doomdef.c create mode 100644 src/kernel/userland/doom/doomdef.h create mode 100644 src/kernel/userland/doom/doomfeatures.h create mode 100644 src/kernel/userland/doom/doomgeneric.c create mode 100644 src/kernel/userland/doom/doomgeneric.h create mode 100644 src/kernel/userland/doom/doomgeneric.vcxproj create mode 100644 src/kernel/userland/doom/doomgeneric.vcxproj.filters create mode 100644 src/kernel/userland/doom/doomgeneric_boredos.c create mode 100644 src/kernel/userland/doom/doomkeys.h create mode 100644 src/kernel/userland/doom/doomstat.c create mode 100644 src/kernel/userland/doom/doomstat.h create mode 100644 src/kernel/userland/doom/doomtype.h create mode 100644 src/kernel/userland/doom/dstrings.c create mode 100644 src/kernel/userland/doom/dstrings.h create mode 100644 src/kernel/userland/doom/dummy.c create mode 100644 src/kernel/userland/doom/errno.h create mode 100644 src/kernel/userland/doom/f_finale.c create mode 100644 src/kernel/userland/doom/f_finale.h create mode 100644 src/kernel/userland/doom/f_wipe.c create mode 100644 src/kernel/userland/doom/f_wipe.h create mode 100644 src/kernel/userland/doom/fcntl.h create mode 100644 src/kernel/userland/doom/g_game.c create mode 100644 src/kernel/userland/doom/g_game.h create mode 100644 src/kernel/userland/doom/gusconf.c create mode 100644 src/kernel/userland/doom/gusconf.h create mode 100644 src/kernel/userland/doom/hu_lib.c create mode 100644 src/kernel/userland/doom/hu_lib.h create mode 100644 src/kernel/userland/doom/hu_stuff.c create mode 100644 src/kernel/userland/doom/hu_stuff.h create mode 100644 src/kernel/userland/doom/i_cdmus.h create mode 100644 src/kernel/userland/doom/i_endoom.c create mode 100644 src/kernel/userland/doom/i_endoom.h create mode 100644 src/kernel/userland/doom/i_input.c create mode 100644 src/kernel/userland/doom/i_joystick.c create mode 100644 src/kernel/userland/doom/i_joystick.h create mode 100644 src/kernel/userland/doom/i_scale.c create mode 100644 src/kernel/userland/doom/i_scale.h create mode 100644 src/kernel/userland/doom/i_sound.c create mode 100644 src/kernel/userland/doom/i_sound.h create mode 100644 src/kernel/userland/doom/i_swap.h create mode 100644 src/kernel/userland/doom/i_system.c create mode 100644 src/kernel/userland/doom/i_system.h create mode 100644 src/kernel/userland/doom/i_timer.c create mode 100644 src/kernel/userland/doom/i_timer.h create mode 100644 src/kernel/userland/doom/i_video.c create mode 100644 src/kernel/userland/doom/i_video.h create mode 100644 src/kernel/userland/doom/icon.c create mode 100644 src/kernel/userland/doom/info.c create mode 100644 src/kernel/userland/doom/info.h create mode 100644 src/kernel/userland/doom/inttypes.h create mode 100644 src/kernel/userland/doom/m_argv.c create mode 100644 src/kernel/userland/doom/m_argv.h create mode 100644 src/kernel/userland/doom/m_bbox.c create mode 100644 src/kernel/userland/doom/m_bbox.h create mode 100644 src/kernel/userland/doom/m_cheat.c create mode 100644 src/kernel/userland/doom/m_cheat.h create mode 100644 src/kernel/userland/doom/m_config.c create mode 100644 src/kernel/userland/doom/m_config.h create mode 100644 src/kernel/userland/doom/m_controls.c create mode 100644 src/kernel/userland/doom/m_controls.h create mode 100644 src/kernel/userland/doom/m_fixed.c create mode 100644 src/kernel/userland/doom/m_fixed.h create mode 100644 src/kernel/userland/doom/m_menu.c create mode 100644 src/kernel/userland/doom/m_menu.h create mode 100644 src/kernel/userland/doom/m_misc.c create mode 100644 src/kernel/userland/doom/m_misc.h create mode 100644 src/kernel/userland/doom/m_random.c create mode 100644 src/kernel/userland/doom/m_random.h create mode 100644 src/kernel/userland/doom/math.h create mode 100644 src/kernel/userland/doom/memio.c create mode 100644 src/kernel/userland/doom/memio.h create mode 100644 src/kernel/userland/doom/mus2mid.c create mode 100644 src/kernel/userland/doom/mus2mid.h create mode 100644 src/kernel/userland/doom/net_client.h create mode 100644 src/kernel/userland/doom/net_dedicated.h create mode 100644 src/kernel/userland/doom/net_defs.h create mode 100644 src/kernel/userland/doom/net_gui.h create mode 100644 src/kernel/userland/doom/net_io.h create mode 100644 src/kernel/userland/doom/net_loop.h create mode 100644 src/kernel/userland/doom/net_packet.h create mode 100644 src/kernel/userland/doom/net_query.h create mode 100644 src/kernel/userland/doom/net_sdl.h create mode 100644 src/kernel/userland/doom/net_server.h create mode 100644 src/kernel/userland/doom/p_ceilng.c create mode 100644 src/kernel/userland/doom/p_doors.c create mode 100644 src/kernel/userland/doom/p_enemy.c create mode 100644 src/kernel/userland/doom/p_floor.c create mode 100644 src/kernel/userland/doom/p_inter.c create mode 100644 src/kernel/userland/doom/p_inter.h create mode 100644 src/kernel/userland/doom/p_lights.c create mode 100644 src/kernel/userland/doom/p_local.h create mode 100644 src/kernel/userland/doom/p_map.c create mode 100644 src/kernel/userland/doom/p_maputl.c create mode 100644 src/kernel/userland/doom/p_mobj.c create mode 100644 src/kernel/userland/doom/p_mobj.h create mode 100644 src/kernel/userland/doom/p_plats.c create mode 100644 src/kernel/userland/doom/p_pspr.c create mode 100644 src/kernel/userland/doom/p_pspr.h create mode 100644 src/kernel/userland/doom/p_saveg.c create mode 100644 src/kernel/userland/doom/p_saveg.h create mode 100644 src/kernel/userland/doom/p_setup.c create mode 100644 src/kernel/userland/doom/p_setup.h create mode 100644 src/kernel/userland/doom/p_sight.c create mode 100644 src/kernel/userland/doom/p_spec.c create mode 100644 src/kernel/userland/doom/p_spec.h create mode 100644 src/kernel/userland/doom/p_switch.c create mode 100644 src/kernel/userland/doom/p_telept.c create mode 100644 src/kernel/userland/doom/p_tick.c create mode 100644 src/kernel/userland/doom/p_tick.h create mode 100644 src/kernel/userland/doom/p_user.c create mode 100644 src/kernel/userland/doom/r_bsp.c create mode 100644 src/kernel/userland/doom/r_bsp.h create mode 100644 src/kernel/userland/doom/r_data.c create mode 100644 src/kernel/userland/doom/r_data.h create mode 100644 src/kernel/userland/doom/r_defs.h create mode 100644 src/kernel/userland/doom/r_draw.c create mode 100644 src/kernel/userland/doom/r_draw.h create mode 100644 src/kernel/userland/doom/r_local.h create mode 100644 src/kernel/userland/doom/r_main.c create mode 100644 src/kernel/userland/doom/r_main.h create mode 100644 src/kernel/userland/doom/r_plane.c create mode 100644 src/kernel/userland/doom/r_plane.h create mode 100644 src/kernel/userland/doom/r_segs.c create mode 100644 src/kernel/userland/doom/r_segs.h create mode 100644 src/kernel/userland/doom/r_sky.c create mode 100644 src/kernel/userland/doom/r_sky.h create mode 100644 src/kernel/userland/doom/r_state.h create mode 100644 src/kernel/userland/doom/r_things.c create mode 100644 src/kernel/userland/doom/r_things.h create mode 100644 src/kernel/userland/doom/s_sound.c create mode 100644 src/kernel/userland/doom/s_sound.h create mode 100644 src/kernel/userland/doom/sha1.c create mode 100644 src/kernel/userland/doom/sha1.h create mode 100644 src/kernel/userland/doom/sounds.c create mode 100644 src/kernel/userland/doom/sounds.h create mode 100644 src/kernel/userland/doom/st_lib.c create mode 100644 src/kernel/userland/doom/st_lib.h create mode 100644 src/kernel/userland/doom/st_stuff.c create mode 100644 src/kernel/userland/doom/st_stuff.h create mode 100644 src/kernel/userland/doom/statdump.c create mode 100644 src/kernel/userland/doom/statdump.h create mode 100644 src/kernel/userland/doom/stb_sprintf.h create mode 100644 src/kernel/userland/doom/stdio.h create mode 100644 src/kernel/userland/doom/string.h create mode 100644 src/kernel/userland/doom/strings.h create mode 100644 src/kernel/userland/doom/sys/stat.h create mode 100644 src/kernel/userland/doom/sys/types.h create mode 100644 src/kernel/userland/doom/tables.c create mode 100644 src/kernel/userland/doom/tables.h create mode 100644 src/kernel/userland/doom/unistd.h create mode 100644 src/kernel/userland/doom/v_patch.h create mode 100644 src/kernel/userland/doom/v_video.c create mode 100644 src/kernel/userland/doom/v_video.h create mode 100644 src/kernel/userland/doom/w_checksum.c create mode 100644 src/kernel/userland/doom/w_checksum.h create mode 100644 src/kernel/userland/doom/w_file.c create mode 100644 src/kernel/userland/doom/w_file.h create mode 100644 src/kernel/userland/doom/w_file_stdc.c create mode 100644 src/kernel/userland/doom/w_main.c create mode 100644 src/kernel/userland/doom/w_main.h create mode 100644 src/kernel/userland/doom/w_merge.h create mode 100644 src/kernel/userland/doom/w_wad.c create mode 100644 src/kernel/userland/doom/w_wad.h create mode 100644 src/kernel/userland/doom/wi_stuff.c create mode 100644 src/kernel/userland/doom/wi_stuff.h create mode 100644 src/kernel/userland/doom/z_zone.c create mode 100644 src/kernel/userland/doom/z_zone.h diff --git a/Makefile b/Makefile index ab84945..4021eec 100644 --- a/Makefile +++ b/Makefile @@ -111,8 +111,12 @@ $(ISO_IMAGE): $(KERNEL_ELF) limine.conf limine-setup fi \ done - # Copy README + # Copy README and WAD @if [ -f README.md ]; then cp README.md $(ISO_DIR)/; fi + @if [ -f doom1.wad ]; then \ + cp doom1.wad $(ISO_DIR)/; \ + echo " module_path: boot():/doom1.wad" >> $(ISO_DIR)/limine.conf; \ + fi # Copy Wallpapers mkdir -p $(ISO_DIR)/Library/images/Wallpapers diff --git a/boredos.iso b/boredos.iso index 71d79e1601b9aca12fc1e4a5a891a11b5ce0379c..b441b7be5da9f4ae0ed91533f262bb134071790f 100644 GIT binary patch delta 5242798 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Ν#_bKV&rskO~Nb* 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 z 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%0D4g!`@V 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

|oB+Lo< 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%0A?H7jARgmP$ahlTQ>L{-yD#8>cUE^UYSua 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 B~{897!C5OgfCFGSi2nG8?mM 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

A%DQiUairkiq zlNXcAdSlI%N4v`gf+oqDqb<-~H-eQtcq;qLB7iEg<_`#gHJ9h$1&DpR>-0E<@zd^( zCpp0|=}oki$(jo;$m~d6A;s&*p_tGtDAsrs#l-Ev>r)h?yU&i2E{{=+n<7UGoeo4^WI;s^jihy9~wtatsq`0E)ql zgg<FxjT{}EvP_>YjgC_?BzX!E#w5Iqro2ABYZDeAu{)x018(zrxE3MQk3X6j7V zCTu~NNs^V~eZXQf^%8Z2Gz{ns@>V{@WLcI8c@v-iBN7A@=U28uGYRq|0d2BDjwz6j7l@kEOmb$@;qVo z{ETVmv*YxiN@LVKjp=$A!bpNgq_}h^a)KmqzS1P&)v9L@uj(XS*HUPXDA-cf_|Xqbt|^MqTiz@=b}5B&mSc@HIB!s zk|c3FU%r!0Px;pmrgL``C7HL9a#^*;F6s1XSs5ux8mR^5pje}n?&(Eg1Tr6b(5)yc z=iPLy7c3@CKT26o5>*kI$+Q?PqfjDU2NHb7IAOeEvom|<$nW^PXl$|&%oZRp7j~2Y zj5NVNfkg&>99Hx!V3M!dveBlT_rwLjC+`t`a=)t62*40nGGzHl{z)JM&t(q?xa4Bi z-UR5AZn%{_uZW;7c|>l{o)%!UmnjWo?M{A_dyX$;f29dNWbc#PvR|_|+yLAzSF=B~ z3MkoDlpzU7U~Tc9s+y;mMZ;Zi^0_lXP7A4J&c7rGGKDADgzS0%2;JbHk%k<`7&w9b<1&@ z%}mYfBf&dgP){jDDW3iqTvzauGFTc1rXZ^iE>q7+kH_WHy9Z+~D*3{dv@oR{aTc_n z%c(*fD&fO=A$jU=`KN#Wg%k1p-1EC9f7SWGI+?rk-87v_j`UIP;E(R;C(@%6r|(SZ z-+laZyQiPu{oK!{>Xr0M<7D)9GM!8Puk8M?P+3`v>K5n(9h&M?Jmk ze4wZwMTP6h=`=lg{R#&!=hArBpFbKGtQYdTZr(c3r(CN5ne9eaPDvqdKms$l=%!^0 zGEa3b-BIR~T_skOv71-p`T5kEPg2V-g$;i5HU8JL2dU~GP-i2t_ zDNpHnBHeujkfw$56g?@p#&hL6%Ej2q!MRvuN^8Q_5*Qe`l2fAsy;+JrpG$W2DSf1< zF$hvnmGPMJH>{4L7ou1nmElgT46M{w3#>VOl68YCsd+&lD|Pdne^*Z2lgeo9Dpo>z zRbdpX2h7Z!)>C05jLPD28q*FF2O(j+z8fd}^{uk6sv{D|%a&50T@X28#$_l`NJ=2Z zyjXY{dD)N3WiTbO5DOrAO7a9@f*G@e_a#sjC`dnglz=Zt1>vpWWeUZVqZrI3Rs>Li zvT;P?ZboB1m?caSEaeZNW0(w32E!#%cR_1mD)bCJiCBq6ct8(=lf-u;i=YcRHY+0% zZWk^fQ8pP(2-D?W-m(ugz-JLdV7*+GCs`z6vhq>*vCM>PFeWA=bV8?G&YH=F2$@SK zys+kJo4aJhLZ$M~6a;iKDF($%g)d~Fn2b?w+(y+gcwZrS!Oc%C{0hA z;W>Uqo z&dlcHFSKynNY>SZKBX1;e=^=5X=d{1WGu&@<&NVP|FQu*=!apVR6g?Ukw+hC=FwXo zx%??KXyK9TKmOzKJsD&kxkHp>UdI4?0iENElzHqG(P#9U4QiQWOk3-ay%5d=lElG%OiJ8t|NaRz30Kb^7qF+`baB} zPHyt~(cxzOW^Et0bNuO5V=apGP?3ZuRh#`?*lJ5P?Hzj6JC&nO=~>HgrE>9_NF zH~wh1Jo;DB#pl12?oQ>@-7D!herEmy{~tbi<$7wR@mP7%M-809RxGlc zREX~@7ZWS*Orw}w5tYb|6tq3RoB_-&C}V#wGMNQ$G`;auUNr&BCB5%Gr^m&Rc0-G^u4^5Vp_0z zF&3E^&0=bxKZt@XCI%Lri{XzVnrRrKx@738V5i8yQC=?k2jYkTy5K06XbO`tk3}!T z2Z1T5ky99FWEIdO1x4Z*+=wvo(YR4F)pC@dzMf3EG=%nigmRn!p~Cb<|0q6LxPN6T zHwH0ZP)C@Ax$C<*3;mh-&GWRC8{H|)$IMI&2DOYPo2b!9Xs292cUJr~l0JB>yt*8tab3pqbYTnF`7*AM)Y*fOz#Rx7lp1N_tFI4ML2?iegW z>Bay7%qbYe(q@YS?9~MIU(`+Ur(iO;O1yjL&yUg*Q~u+>XkGj#h54_%a3#6^f4F~Z zDt14Lb7?+z;QDDY{Us&-(#eZcs`ZP`i9b`UKfhCW{vV!BzI|}|ilrZ^r;q;P?du1p zkN$kB@b2{W|9Ho}|3^n7wQyzk2t*fKw^M7XL#%gX9jsM;F`SgBSnSMUq zEj#%mHJ3im2}yB$C;ynGKdDbWd2)JcwCn26KlSc`8cmhoej7TPy8dq29bXja`PUOQ z2gt8jYFT~0@V1}cn~MHze3HsWcdkrR=+(dY%;<;DoW3%z>;jUqawT!^TNiVA@x`R0 zoO)d?E6NqM;7(I=0W4PpM@7d!vL26)6nz|Fs3tiG3cSUSq>qo3dGHR;7v@E(b=ZoEg*i?N`DBc>H}9)CKgvV)qVEfvNebm% ztKf_<+0=px=4BibKOMXkQ(v*hsyepvObT}jlp7~%=9CixEX2_~b&l}eiFuc*g^_Su z*d*M9#$f_#EN(jTh5fP+KO|kwJTM?G=qfx#5Gi5*RrqUCR(M#vBQOT&2gYEPK`aE0 z$Q-d3gvFJidM1H15J-ZDa7P8#9!(^$4?G=M7e+bv&|7@t-!w+&Rtq9A^OcLRsLS~Fl`V_9pq>yQRk%0pX zxjlPUxF}a;(lS8#^6-;{7rfN)L;MWlK_Hee)`806O+&xHmJpF zA~1vF_6Q7Wx@`iC*n4KnK;k3V^rPsBPn-l7*rStRUUnQOVZV6xX@NaI60j)sMT8(b z4TMs#;Yaj~+(y)t+a~3&&QTU*un=khNC+bE$pVt-V}qljxly8L*i_*Hy^y`p<_JKk zKqfm7#Q4kh3C$A5L0pX=Q}+jyW5a}SNPZ)YmAFRYH0YmDB?%Oi-~hH@AGQ|~hD6v@ z7OcTk7z3Na1b+~7#EAjaMP`^dEo2j1hR1;)9OTXZJi(SSUxIzI=7KO152@3R> zldK0DDn!5$re(H!KBwuDtLG8TK}-;L6VFWOI}MVCC(|XshR_7IkR<5PljtkJONX)+ z64xyGEvC-FpUrTv=2nSDibD2i<$wv+8pw$dEI&3#9q${;s65G^jciM!w5^us|R0p6niLfR3hL})lBN8|qM%=?Pn8XDT zyDdWlNl2=zlq26qx6N)Zjo~^1cG4K(5L5$~qJ!DUNCWLqK1(ts054n4 zq+}2<#6nR5uE;TXDdkaXz`!HikSM>doFxmh0qF?+lx#l2;*=Us(;QJ)SrSt(CeuhF zRR}C+aOCt*wqrG4Xtrq%xklI?C~UgX+FF;qRS8IWv8Hmd%wrSc& zD~Fue5hntgMId~zva&3-L&<$JD+G%ZQ3l!2ym%y`Fi%L2)@mx{DGTIyNgX^%m!+al zcYVCM*#?eMCW-)1jo4ah=r2%=)FYdVNW{?ThA~-^?M_0-k4ads6#A0j2R7tam**Fj z%N%Y``if5>R?gPm+Bw+Y>PvDdxl*KB5O?wwo2BNOu;64_Ffb8*#re(J@Oq#;t0 z%#Aorm+DuX``&K%$Ky0$;pnPfBKELZ%*~vep?0nW9T=3!TOX}&ru%pA-Me>d-E3Ht z)2A$Du~aB7tt?!eIrZY%g$kfBy2DXQOzv>g;oz8VvYEz1igEajiiBUPh5S-}Y5L?# zuguj*aA9eD&W9fF?CAB_n%1WhNhXH`UQk;K(XKQokGKY;`S>GJAqb`I>>G$c}+`{biD`(D}U0UXTIX}k+ zp1JsFR*x=sF7L1R8TT652FQ8noP(K*9z%6??G0J{mzg zBM>BN(=eH46a^#VpiJUwHtgj*Mc}hAA(A~Lf;WFoHwp4D!3T>1 z7f=9FD;A3ti9aNmQWPm-g~1^?E>DgdXCw&&V^nE>Eg^)FrX;M@F~L%BpeExgtgftZ zL_H@6P#>0nF#=yC_A67!WMFdi9!a|pPM?1?822dBM)h!ttJ0hV?n?AC!bV}mq(y0T zCC^)tiGnW-T$-G;C`Y46lT0^jGFhW(nxh;$Y30O@Q>X)ejY!W9f~Ne!Z#jGJ2Vq(y=K*k{~YhWfp$YnY_zu(hWB}>`2lJSatrF0xplfEf1QIc4;{KGx^Au2S0xHFCArRLbQNc^zcQm z694t!^+N;feB|w~)GIhYS&dH{kg3W@9$b-ICNK24<4=>3eEQDq z66^osV=tXL`Qr1>{q8eQKlvmP{Exm~;^@=gefq0UeC5l(`K4d~wO{>}M}K?lx!?KP zSD$?1w;%r>ev4nf_=R8l)qnE&&;6rc{-uctZ~oICW5Q?LN#gbxgjlRX1ww98zC_lH zvC1`BH6#pCd?IE@(vqS!d?3>SVkIXHdgMnzbP-pgElkKxh=8ZzIv8sb+YCA2nxQis z1hh4jf_G(Ve!De|WL2(yM;V65C4lKmKv0wNh) zq*lU_rGRD7mU?M4)0QH-zz4yOh1Eh;@Iy&mA-R}rDzd;}w4^?gD`Su*Z5UK^Fm(?p zhv|*^WV&6TM>Y@xzz}P7=^x-TYQU+JAxhO>GDJvMr3NsBuX}A$i80%}kfgE}nQLUK zQpKB0ZBx=*sBSQMClwM00~twBwMSY!jdRi`;6}}oTrpzTC375qkQ{vJc^r5{3OY&G zE>&s8iR4Jm8;%Lqi>)A=TBmIHT1KSKInx{3QF7fE3HIhFWQ|iO_kd5dxNK=xsNnS!9k;ELy%O&hRsFB6z z>z=JiDO~JzYNCNCx=COt(GNQ@)#tT5zI4Rd9jsVb?)ko20f)OcxB!UNkjqD%F z7f2#6`BNmJ`LG!-l8Os3v2W?qG5i+ksw4w~wzls}@klN3HJlRoK5)N=q@{B&iJvS1 zP7wlUd}?!As!?1>I^nBmgOsfY1ue=`0XpBHA_2Mmrb+Q4?nRv!M5X-}YB~!; zk{oI7RPA824#i3^Eqp1QONtl(5fw(VZE=e*X-lURA?_|VNf@bzT@+I&$00>WmIsv3 zDeh=vM8@lBhw8-C@pa4|n>t`8y`Y1lQINi(22|VR6dDpQ3@i1>2X_N@GiqpGR4c4LbO>%#IVaDHycmxgU6A(ZnQaVMo&0tlrQWmGq`(>Z*-jHzg~Nea4L|Z) zefR@;cV;*C*z?2@s3;up!r&8XM1Zp|;%%{uMSQdAZL6diOrCI=>}jc$JsQMFbJ)1Z$T*3@eTc&3_Tc zwywzrmZbi*ldj+Q2pb0VAx_ijbV>e)VUX+0I=enp9gMKL$T`K8%7S*dNa7<-GSo6E zi_i+Y2J1slV9_)=mr>CJ4|`x)QWDqvXx?m0~Hf%z?L& zZiUSf%taDyDTY66g%!7v`gTLN%Yi?Ps}wiUQ+Q+)XjaYjI$f!wqHc<&3-6&&5Jm@V zOH0Tsm&J3cMl*`rI8~Z{5UX)yxV5m^;dlqs4?h@{&8}{&f{Lvq)U0Yi#Ii9;tulw8 zM*b)XZOX~pUU`vIV&K4rRQiesQYMhXQxW}1COGT~Y=vT}`Caq66qtrQyf$ZD!Sx5M za|s>4m9$!vAmT_+Do5+o1M4Xy0^>^Vk_TC<*lbxUt%PLoTF}rs>oK{J6oA)sEC8x5 z#t90ijYrGSqYkTIt2r&jh&u_Ub7zBEUMx3t#u-XFbSSc`SRHD-B3s&0VO1?Oy{7LC zy6Xdn;!|C_QFh{*>R?fMWH})V*6m193ay}8p`>58)!7=wUeoiM%cU~NSWED2I##u7 z_lM>X?nIx;lyb59OJsvT4x7N2sw$+dsPQbZwZA)EIohAjZ zIB6q<00+Hc+f+=>>}fQWb|)xNN2ldPnzt8qC1r~v`fv+yzMCqc2LR^5hG8EkYD zxXmzaQo&YPrO3lzeY>mW$`p-S?rua?uOGLn%@S3}<@|Y0gLlg5K=bU4ZjE{iUO3vV zs>PzVy3r4O%7Jw_pbBScoCao>vQVuShZ-fVDCOh@W8F)g3d!>o)%UtLHim_YwpgOB zk-E#OgU*|KUV|L~&S$9hyL)cM%`a6j9rrfc9STvn?RBS9St+PiFLXA$O*7cw#Pha` zld@Q`ORFoC{_wHc8Ud#g-WZNJk1F)bSQUfBT|Y2e1>Nh|`NDDqSr%@#OnbC-g!>fw zU!5sq*%U3OTc$DuA)nsSLEQ6`ILcj`)7c zRmGQ*0mDs-W|YY*(cM}#*cij5jJ(F#nZBlRLL!xiK+o-Apf4Dq(satkLNKHZTbq;V zH*CdJkdKJYWM>!}xm9&lTcjq^u+bQGM@aZKiL&cK*j%gzTkEQ}*$woT-nP1Ku5qbW zP!GEedozt}x6z|6S0N}jYmNO@*Xs4km1fPs3sT_#QlIb)yUa;-5%MqHX5X{AQj21* zs%-ggE$xufy}#LAIk~u8YTF8159Nww55fW*JaMk}dwXLa&p}78;lPQGpy9{>-;?d_ zMy;q~J{x`NsaT!#*6Lz$wcKhIYQuiRDm6D-e$i-jW4F#{%Xc+XjHk{QQzMxlfv-6?Tu`X39`fOI5-FU!3*8PDqV8*NN z!Hu+vT9Tx8mD+WcR?RPuB+JT4)etoci-9=SYfIS(028>V=XIA zwY&-bje3DmvpV5SX}WkeOxj9sH}2Ist#LWuDH`hGxV@C5$dFO$EiYFK%bopjson3P z_{8CAamk(QUG3-c&Sq%#cdpqvPE@|Ib+u*RTKC=cL3K6f)TnOLTpvXC-ezazmAPC{ zTHttFa3naD%PsC7a_-w^v>8UT^Ha6MU1MX%?M6GB0H)eWN`u|h3z99nnV-3&Ew4E0 zYT4=J7mIl$d;0p;(DD2F((KZ?!>j3?%iH5{uGr>ynkXIBs&P={AeOF^yD+mlU-Qz- zF_oRl-R;f8v{^#>4*bq8p5W_Bk&}`ZFXb8wE#vjOL0s$=l_?=W!US1_csHvGF(!tP@sN=I8P)sDsjTz0twp2A=8Vvn9(>az_8^ z#{T6SR~^6ME2s%tcYqSo+vyfB8HMQDPG!Eam|rYwUU6yW)tMRh(!A2^I@iAO?zhH0 zy)utrSwOqoxO(^ccCEm9E$gFdxjhU!ReiLz6_lv?Q=VB?Yu70Xqm4LXxvQn^ZZvJo zC^^o5JX|*_<;@1g@>`X4Ys0KwDpwTONgaX>)~P$;wtJT?>$N=UUMC*4w4H7`wA&Rt z>ZS9qDR#{?HmIV<*{q3E4X?M&#q!K~cgD+aTT;!VaCa**1L{Ox)t39)>t)k8l~*fP z;}&K676SEf;B@+1L+UIT&VJy{BLcRS@X9E#YA(Kqbvbq**Uco$AjHMJr|AvJ&VXy}eFZ_HPea=zJ*8msG_ zPItY~YQDT=nitMAwVEE;^Gh{n_4<)>uz&ZB@y5VEcjndU`5SMoUpu_)br1HN&a$rE zI5O97CsAkXV0HPGuRWKa=io4_!jXWBc|538a=84){Tm!iI6tqH%7d)oB*IEBS;1bY?ytPASY@@pK(5N}?kC=(^W#$nP@!@AL}hMjBd;kw+q++Ocn>Y16j^45y6Y;AdIe=iEg9LlkLW})Wom#aI@aNF76!bU!O z=0e4FI&F(nz{i`Tbw3^$x!D5enukHN+=$re!PVZGzf`Q&s{LW9v48nsYkj1ZR@6$+ zwaf0X(@WC0_VSst=ZiykaW#oroz1b|C@Krf)$QwewGXJ+72Dtf=)#oZLcjmY4 zgS~51O?syAjT?J6kId!v@QqvFY(DwxQ!iFE=iG^fJDm@%-+Jw}OKhL@m0nQ}!wcowOE12f-*k(WRdk#iH@|hz9W6R;?!=Pg-!=O)N~|T# z!N7HsRp;E?va)`&Smm7^!CHb((}dhC4I2l)0LHe>&|{0j4aBLpRPKq&SKvh zUQN5!TYIgAa!3ITUwwQo=x?VtIk)=8x88l7V-J_-YLz8BakX$uTRwmO+;dO8d~Vjs zHMBz6TkoNSsw>{LtMTQ#W4E)F;ABu=d3G+nIo?0K(H^8XukISw9y^gQKR-3q(6*BG z%j&Ap3e(E`ph!bCc|+pvb2r8Ykp^Ev-$M=KXcA6hWp9vxvPKpO-GOJy*OnA zmGhPVhp{(%Zsfl61p61aiv|4USZCR45TrR6l7K>+*1VMlx4&nw9 zKmv(OT!|x*nK&|m#0?N62m%DJB3Z1W>MoT^C6#1ZmTa|K-JY?>z1_XDFB2QF8~f1v zH2cZ&zI4RK#!`+liv?!>?&JIY9MQPd+y9^y71`*d-Pz7D(ycmC*&BM|Qp>s=w9>Ha zD=oT6A>rWKgZ&a45Z8F7e{ieg)t#M+E^EC$>c%CVknI_5l-e$KY4 z5mORhB$lSnn(?*&2xUiB zD8+2rd7W#?i9>MOMp=n6PsBD3AMFX*dQ|fM$b@tF9Myn1ddgQ_+uO)-oQ+MHmJ(D( zJH5KR#E|-lRPE+&o*A~9ijiCs16J&C{lhzz{K4++L9&xJ=RH5XXmlzjt$AW9vV3)x zBdYh0Zf>MTN14oeQChvIkDq?FR_Rx_O3Sc-VrPDM*`6O{J&AyA&abO^2x2XD`e%2hZ`Ad^6^(M2bA^3gmC?7j=%DAo&Q*Sg>|i_WSqlzjy%DZ!tgYnyz0$Ak}BR zc>VI!vLNS(h%9EqwWE{Wy(7^ILu23U55;R^Li1e(g_M`_GzQa><&sYF+-tjRX*BRuovI?WTTTAGdjXQ zp4K}|dc8B&xqoN<`LqA{HvkK;wQ9PO|0B|SQDG2@_Om$$sM?vwKII|`rF@p z>+EZjsdXhu+qU-x>FM#A>(ld&omQvTWc$xQ{^Ty=!$ss(nM}++HNiQj9Maxra(TB5 zQ)x%k;Jjp$LTyyA` zCa13d^6wvUeEX*#Cg)5xn|3PQA!%oR<1`yPJ=m@0Pb=)Cfe@VUe&@m}3{iJ_n&_07 zZmgF!s-FxFd)S-?hLlg&a!M@1XO344|s%HHy3sW`44vLY`K$^ zN=}C-FGY=PrvG6tQafEWXs5l+GUTgsP=T`O0<9Qr&G&%G0>CQQ*@$_wf&!l$KS6Ok z(-s)soead;rjol&y9j4(dkx^sEL_HzQfh6V93RpZ%ctOqh(PKVOJ(8w`-(t*}(Yxw(a-jsK&$BtCDtZ zj^QITk@J~Mk^WwGz-#qEBUY<83RhTAZyb)<`7=Z~*ACXDuQ zLh*3hM_C_ESWS@ydN>fJ((9EdZC>)&f{^fED|HV)JwB?{iC%|AHmu3&uwGS+}j-lS-20 zNS1agX-aG`<_pV}V7K3I3yH`EE2U=LqW6cFvi**fV0AiEj@Hl4`4i^!`v+;Ev?eI0 zUyfjy3PLisUH4cMVVB(*E8A=l!V=5%->;f%P@9p8Yh@TaBIUtHMqx+9{FBQ|;kJ_J zRu{;WklhecPGh8g^z*MD*TTMeHF_B~O)h&01m&!(QlewUVMl?IY9>PZOL@NBMx1f< zi@P`qR+3Be^Al#o<&2uiMK781#=7~8xHcGOa$PnyxLv6uXRrT>pTW#jVpRL{?ZC8{ zbrC@t-E~n9LbGV{=CqMmsyDj5_ovJbhH(4Zu z_SpqfG>$7+tdb*_mhG8Zo@+_*`ojZgu1CTi9g`mX=3hQiwwoEVTf1<6K5~3eht#Lx z@^UmhJ?|2m6?v3O49eM6s*_q?Fxae!+dlurtzoB>s-!*lhD!_HC6{SIPdUba{F>)x zXMgAEy*ouW5jWoOAARxVe(UB?pp_4Y8Hd?9Kd+td$c}N-+_=>-Qx=zWHog(9)b9+B zesO>IVGBV(DiCzAHh3DDv>H>uZuSZFeE#TW0_M|@gKWxaCK^r(<=tL8?an7lV1PJ+ zQ7-}8sPHf!@O#sNu#@-2G8GjUE|COzQ?b*KyvraC%@Q96;q2|F=7ZO+-5+;+~#FAU*&a0Zy&HET>O_6d5zuhahl5sf;I7X$B%{MB7l0%P0axhb5bG2eB5RcmICad4= z&FW3|U>;%cwTiO;;2w@SJBJnMEct;ZW5X_5in!iP5M4Q(mfs7HhS z55N5BGxlNLWLdOF0_mu<*Ucp92(dJ0@cNR6U*8E6d|ZFSusXBgU)u?fYvxQwuErz> zN4@sr(Hb9?S+}`y0BiZXd7~i{iF$pxjcW1uL3Ek0XqKG|7M&9~BTGD{om)=9DP^NM zc)DYarpTQS_BtjvKfB!c1^YqAQ}->7PyhI@Eyhg6wz?+`Vp3<+Z+1-c0ny?se)`Gw zQCl=m*<}{jT54)M)@i^uQ17MevsVosGd+58yt7jwt%T4$I%+mzRx3Qv_qRkU=36~C zt#jF&LBoVKFi*xJ?cv}F9JsS(S?S79k={6Acj_F3P*<0<%T^{=jEX{;G25nZc!E)8 zb!OTuogUpOZ$0|*Mb^ic;DXKH%u{|7b~pXBVaB<))jSx!_)vldrQK%bBGDkBckLt* z#DVj@Bh}b={zZPm6Y+Vot-KtyS*jyB924UWKOn-%!6PlgkhUd%&u6#mZ+Kd2E@G7) z4MsOlzic|#VzZkd9L`A0g`CvRac2AQ>#uAUuRhRnc-#SE+E~=zusIDg;?wqpX^-%t zm8B`JXfe&YYGtX}ee$(TlN_IR5_+zU0zb{D#Ymlk*Vl z4C)a95bEimdF}_3dY7BD%?dq)(M$J+drx=n{q`Rp01Ztgd^QhGbXQ5Gdwf_;R%C^t z{qx#bp2dE!dvYQptQ7TItp+bZLvAl+tqhJ14r`Oko^V~DgB0hm8nwAp&@Vpvum8*a zr-^BEtaEowA$1qu4Q#VM-~5FInp>E0PhF2~y?FNVt;EvuQhOwF3DW2jZ^O0RH0e$R zEy-S8SZhD%96V`ys=1A3Bggsyc8)tV3yT-8YqL$8+qiTi(SJ5-J$o9^Nux@$zLArH zHsAqbtv;6Zcn0pZVPN69-M&quoj(7rkuhs2M91S^Z@N;erNh~^d-tFH=U*Jq8OrJM z21$KdPD@e+1hb%$HG;PzUUWU-nlXIuACW0M2E;6=+lpVbQ5_M{n|F z_QrKhI9_FG2w8C_@Apett8v*&%6qxxpXdTfyOGX0iKue={#PG=`9z`erbRDxec8m{ z`Sni)7GW_yDKwJSWnJ=CmwDI4IitC1yJFX|ML*l{%y`De-Wj)v%pxmy|L6ac{cl^2 zh}V}-Wc5??=Ju9jD(1bHI6h4yExle8gEw>@M~8GKRyUf%dI_l_x7{zf$1Kvr24jko zO66pKjk2sVnMOKlOwh%sH*O14rS;}bblvc<6^Bhl%X9I2=b7x<>1ldNYqCX)0fXMo zuxlr^AjvL`kJ}RM4~}>@qDT)P)B{Gw4G)@HY1rE6hfPavz5lpWJkHw0!LjIdkgLv1 zf3%dS`|7(U3!}*7&e5JC3QT*=Z?>}OkUCDJotVc%FMcxbXUq1ZTib@=c+Z$E6v=_mJd0gc7Qza z`Rt@nx@>ecj_TWWpEf*hxuQIgJt>mC={Jsr-~XU}ci@XUl%RL;K{7b!TPLDp*U4J) zFq0A@8B3*oB>T-4Vmak;2nVI(TI07TisgzUdv(Gd&oIEYvPB?s?tb#|^M13|Y3(@X zr?1b9Pp1ca+cr9>tfwYlJNwo*-@Xo1OA|nm+aDa4+ah1#N~dk4@(enk%V>1#wFX!1 z*|X=*O69{&7}+u=X*OThJ5x@3isU=PVXs?FrQ1^sHrQQ~Noba`(F>ksXYb+8F?*r{ zaZHfD+PasE1Sxll&=T`{sjHvYM6IvS&KX_a#O}iWYvj}P+8OU6t&sn@%bfl2pzuj&868w-}DKY4pb<4+`ew}1X|so5Ld`l8?G zYS#H1`AS6&M-tI$1w;UnNOWyK!833w4#A_#`#bm7=be5VT^7Ia0V2M;3 z&g6D&*?zLW4W_Jq{Ho0*GxeQ4Yv2yDk(}hRE&5pZaHq3%DBj@PU4Jm`@-7A(QchVP zj5G+2>D;10PZs0JnzUWt#nHDs93Hx<8*IkCIB`Rl@_6Pa=lQL>B<&#_mZ$d~J?tgL zn=k4yt8;!Ty^*i?B6NM!C4q!z5=|cXryESFq?^8Yee5a&;K-?WAGSv&|c$N;)t{wvJ-Ta4SE*Sc~Sb8?$D;mfld5%B@>X-Es$cMsI3i zj-7EczI@=`@Q@7Ddn3Ub9$UQ;jg=byoV4M0$Xq)`aVGi(2%@8`yp_zGVzi8mS37u} zh%9mO-IMKhq*e1TEZ4KeQ7&s`^1amsyY}K@)-i8waEs}C_xgKV_ahU!gh){`$H-x> ztptLrb8{}jIL6W=Fb8%UC#|Du#(XJJEQ>8R8FbEry_C(zV3<}c`y+XT?W=2PYNsA1 zo4s{H7k5rfCHYeB)@g5f@;SIx0jW4OCjmih-c z%y{E*gqn_yTXT!Sz@i>P`>8fSYeZsF>oRA{^-N{|-jI_OHcOVWTyzz0zq zQi+zBJZX?)2N~8rWlh?ux%E54K}zIZWFS*^X=f*hpt%znZdEe5U6~~bz#Xh=G8PUs z5kbtxxiTL!5HUsUC}oe8sEPqt6H&W1E_hfJVZizf)D_DxvASl2bt;(2jOw^|B$NSILY)Ji_E{agC>86y3XCQ!@JU&i z)h|#$zeUWMN|Nx?WsWP=qa_&Y1vA_2Xg(I@_qZ?*KQP9gP;v^~J+kY-Fv8{Yx;Bt7 z%>dZG-jWqDg$v)ZbBVbpwER1c*W+Q8eKmiQ3vmqsdRJB}lE^C&OPQOm)miC9u zHN*keS_iqX$5UG`*>wxvsKa5KjNd+~3PmsOt)+~?mTUI5)5}W{3+DJlvDv1|fa2sj z4x=u&-*v%^FXnSP>f4<*AL({Gymg*$4uUpYE4E-6Pt>~+%5qCjHoYVF%pzvYEoy5Ddi1WZq-<(S_SUVYc~awDXBkPFV_Y_I2*7n>%Cc} z+5ia+0uU*}=a+&5D@L4Wvz?Lnw2J7uQCzKHSePYbI~ZY7)_4KvRvTVl7GRust8c zY;12yX4V?zdOgKA?!P`^cH08}C03%6fJ%sEA|J^f+#Po0RfZ_-7Gpm82Gvs{PS9kz zG9xR+II(Kg;S`bq*bw>quv>_MthRas)>2GIQh@P^gmXENW9K67jdXfrt-+P@M3R#| zt2Rq8(x}L>Jd>_UiA+p!tP)xw(#&!-7ObVtPL6PAgDJx8q1(M)_i#66FlTcXXTTX0 zIKt>bMtsihGcmx9H9DD0wYvs%K->W`Lbx=j^*T52#4Hd-@wyYK{-{=IKf389)4t^; zlZ!58fyqdQEiNxk4}hWp;giZqSxg)*Un|EbmWp8;UUbtLMP!3fx!kI)6_Z65nW=(3 zMpG%jA51<|it7S0%W+Cm7E3*fv%t-LI~)&?jya^$t1a0Zsn;rUE*_JHafu5O5#AeJ z2Du1W)_6zAN*Uz->ScH@(Nxr9jpbVDB9SgB6*fyifJE#A_8agvb$5Vm?u+=H^X`Y`d~`j!Uhs`xT(5)TxP7Ec7CmsShcQ(eKD)W02L3h z%0@l$M826Dtp>8i?pE1qBa`7Q!z{1nV@eiw7znS{0Xz+0`A3k4_s}%3X!d1ewg$d< zF&oJ;iClutR&s2R;Fyvy+REfz0niTP4B@2*lE8Mv42&m}1YPdcTRC4k=*@4GQ$e%a zux!m?hIqMrAXqK)Vlp9kOIf$? z^(uz}7qJ6e9i||S#Tvg=j5uvD-I3O^qjJ!0r?3qsX$!Nu z>?G^kVphqEjfBhQ0GTi+)~Gt4gOh7cOeCaCa8Opl9@g)Lp;efmHO9r&WTRc_l!{WC z@Q|rQFcM$O9aQr?Eg=67I5QY}zzPC37|#SFQNpWV4bzyPxk@!HF$hdLfpo5wsyt<< zf!XK{XvS?dCINT~+URgTQ6EW_GMNqAys%=-_eyJV{6@7@-)D<)s|gqyECs7>I?Oka zHWq0NET&jV09(?}8}*JfS8hq=u*J>@UZuxL>7pbSOva0oxLifR9F2H`WnkCBQh=osNVGtkB89CmmXxJH0unO$M4C<|a!Ewm zYH@%L0(?gFQmJ55VW@H{=8goziVETm#*ib*Yw$cu^Y` zkZVLHaSwNr9Gq1oz64{mI1OYuJipj%!Ur^GoD{oUK1PrcI8VV+ts@FOCCI=QlM0h- zYZxl|G!$)OaW@h503=AlEfrYwOsfT0Um{mxGYr;u8IYu)gCyKJ7%ZlX*=n7uicytn zCrDsD^VL$8Ock9zAi+7Hhu~_A#YhHL5(7z~2{!;dRo0i4iqT*uN>j~TS&T-k(MVna zWg^Ej9x@DBd7E1zs$|QF4Vy1wm%b)f0S{paURK zrvd@m6{WqN z2S1YLQ(=aLuP?yOZZjE?l~OU2k=o^GQKllahXZzn#l;Co*kV1Fk(g{E2?TJm*it%M z0z9^WYIj3%TTFV`xZ7?6$gc#@iIQR9cL4Z~27>}$ zj%G!;Ix}&)Doa>c;G+dL0|4a#6j;j3;B0_a0m=bA+rtj>Val~87oY6Lieg1-&yCX(?C%Yf9PQUH)k0R}t~ zDb~|m9Ozi8md$hFF!$2CIvoZS9xM(=JP|JOam>8B@7_NbI97u;TeN~lS%TqI94l8gDOAmD%s05d*18%#za zE(AX_=tM*X><&?E)Tt~Z@DfB7;%qS=hsh;K7GN9HDHMt;jl_WI%{EF^*dHU&45~^3wFQX@7&lOqi||zjX#_5`@PDNw z)ghVXc$E;90DBdj?Q}885`lOc&}W&CFaWA!iHGxt48~N1iZZG%AV7v-j8*b^AndDP zC#X)vfTX6PK{Aj|gVr3TfkDnI;50;`Jpr0qx(f1c1lDLA6x$f69F##T2~(IkQHBFu z2JWb(d@Pbtjh)~TE{YjefPIGshMAE{i{K(f z*oqj3hZ)#RlwTI)R5}5o3had8>=h9uA&KZYIB>;CSKJ!NmfLLzOW^nmY@xX;?6GFyMuI zESMvx6$pN+3o+i4qOo5h*Z~d`2wJK!DB1$Wg&qhviZIYZ$v_t?f)NFc9B9d45GJs# zfJ`N!CLs2~f(wVnd>W$$Wy``?IuAAwMySNgAP&Nb6DvI)4(1|QgZlJD4VEe)>!k=bZmkLR}kd_2A}0Q)t6c2tNh-$OLevd z$q~8%s!5nCTA&iapvVJ;8;q7gY=Y$`S`HHlHv!eokA|Z!?DIhV10{$-Ux3X99y~fm z1XBl$Bbc0~A(5fd6~W`jY6}`7vQIIrimL0Nx;ea51%tyEc4lz&z~n;7RkEGx%ly*a zPIW+o?hwWi`Wg&Xm1e4X3!}ePfi0Ek3Y{#K`wi<^P(1NH2z;tV8eHl?MOC{1Psi`7 zR+}IVs_bhpmQ+zGbTG=R+J%F__p+zJro;G9KZZ}idmC?1xwEQt6bSg>lB2vTzZ0L% zyrd6e%;HI4!@lIxfvcnH8i54+a@->vjYdURpv_QfJOcGlS+ID5I$*(=f^ve&T*tqv z=3{s;>We?{6U-2-^!N){=r4Z){wxX)<|l?Y+C(iNx&uW7>mHTB@1UR2vS=NQLDjGh za~5E9^-U_N4T}zH{F210HYpyDNuoXs!7P>fi}8kbLV+>AQ4qDzs_hy|qE=WnSyIcS z{)Spcl?|*`;P(~BzpJ0bi`44iBkK3+=hgpL8Pn<`UQ&V8o>ISgS;LqAsy-Y)z*Kwr zG<@=3ef_~7{O}LH|JwIn`HR2$)}Mdl&%XN~{>MN0<3IkxKm2zpb^6use)E-A{`9+l z@#n97=Z)`vgZ<0zed}9)`Rzad&NsjP=YRH{KmDU`{QE!rq@8 z|FW_w2UqQpvychFT?GsP7y#omfX-&n zMJNXLBq%GyVDqS2KGMMd!Qe6$ha8mpZV+cxhh(&Y$e`jW$j4%EV*0U72)_M@QcHVujK)4J0Hd+L$Tb#iD6lX;Vl3HFjqE{Prf!?(#v$7~Dd4+Ga2kVMbXbEkpQmVA`XwDRRz-&Ww#ORLk z6*`VqObKF~OcnA{qnji{VCiuTavFAvW!^ApvCaob+v4!V22Tr9C zI~mAlI^Dtgu#Z3jhDD*azPo?4+hGx4a{K*m$Y(*HjR#kYFsw{ozUB@^B&8xqR0#E_ zBSNwOSs9V9r8v+lVf?|NG#r+2m80zD=@dFoMa$r3&mNQ@VZyD zI<3JDbBzLDO9rfFCqRX@#%NIL@M46`i*kQoDx^A%j?_rS%s9b^0yJWCR4Cx~f|ghk z)!_@wh%_4A9t=A;tHo%WRco*@gy46xTK&x1Z=9LcESjatI+Ak)!`Q8%?r`(){$WMo zD636i#KXtKZl%MdXg(wF9<@ZdQb^?^gjGL3W;2J}Oo(-_Tv=S4yf|m$Z|xib z;19*CMy1{^ILrUirqiUj6*0h62G%^oL5N0ykUk6x&2a%?;hn# z(h*9jnYr@r8LhbQr%zh~$&z!|-gxWnb2BY5=j?@x?4+6GSPW;FNa8NWLmSN+>*r~y;GDBZ7BzH5+2q@s2-U?SV{ZNA z+h?zx)y)#p@aeP1x4Qyl2;3SCL65oZ#&~A`SHJt`fBxNz7q_KUWc>0)W6Tf}kNQtu zJbln_v9bBtE8qD3cmId~@XDDtuf08Ma0|-jd&lfx*hO4fYqU*{x&3qTNc-fgfBBdH z_J922FJGK+eqwC$npWfF4|Wb8-+y`{CA|RNYTi8m&O2vq6LX}{T0cGg=;WwZN!nJf zeE-b%-ZjjnYOH0?^2Li|nDWlqR&=3|d^kFm*^oISKq>3m_~N|5tTiViyZuLZPw#*9 z;9#c>2>r#^-aPZ|Gv_B(D3R^=G04P%{hU6avqg+fu_Hfv^vUmj_r>4-{MpfNp#U9S z>l@#H>$P#GCe#uR4o{C$Qb*9f_PuYv{Vw{UyMD5}GXh@Oa`Cm-zBQrsBLdFB2gf!` zF+{EPv{8cyV4;=@7z4HZ@zdRB@3l4?u|lg?prwo$pxG6j-fK5bu3Vn6PU|^g{lSCV zcXzstKI@&C89)2hnZ*@Ng<}fVIm5Mix>f+Mq9&K(ez(D$WGaWB{O$kso8SJ!FP|Rr zgmXq~F-Ah8TB%oP;GR8ayf}O1ymJmdEj$!5{4n4lLMukU!J7(kh1NQ6@sb)nt2f*A zIyP1)?C$Iz9CbSK&t3TLYp=fj&crxb>-BdZKO6Oi>s-LNLb(lkckKAV`in1~ z|Lj+PJL=X+%0O{X+bvvtRx8v-aKRr^8L)a{HeLbCS-d;HNqyx93{ z_}-Jd{ml5;`8loIUT903>!1lk7KYLq&%E~SS6+YZ>@^Lw`}nh8{_N?~$0s|b6zLv+ z=kkP+Y8~%CKd4D|94|CyzW3_)-kn_`EBinD0<&_|y<6(WQ&Iz4d?dNKzAniyoDa+x z=N8|2s&p!Co7f%kJ?KIkXsZwdI*GgR}&ii%KXV1NH(W22@eiw_|^py#N zy>Qz9^o!fapFF+)?6fx!80Z|dyZzn$N<3LuPhz{B8J~B~&0L!g3Cd1hUSDS;D;kYv zW=1nTK7D!CN>&|8ML+{r&G=JZ|LuOsaddgR@CW4tU** zbCc&@{h$8i4_`kwvEmmMvD?_m(8}?8PY}Jt+^nUIS+w8l5|=ghN+nMjzkl|!ndv|M z>Wg1Js>Prg&j;p1Ow3?O$%Da*_exyGZnb!AR^8Yz!_D=KbN0OE!i09^^4R&a@1DPG2qjP3JZ@Y#fD9iD6gFNXdyn7SKRA50 ze}A-pe6+jCg>>_JulB9;=73QPMR0`Gtri@`{WjhCH($GG$B7+5(#X7#UO)b5m(#yX z9CV+(`0YRZ{U`hF09zU!AMTv2$3ib-Izj<@a++7)eA~h$sYT8FH(ot+O*0=kIN=xB z)`MSu{q^(XJ~#gQn-`Kh3axIB1kw4~fs}E-@y%DxEc&HKAKe{wTGE4)2TzU;)+wAh z0#2dSqE=?-E*Nxime9QM_SkEG@z#|^T|juS-?-2Ir{DbU>rY?YJsENni{r-HVNEd` zIi2RpEEAu-Jn_b>SH>5uZ0Gii2hU$T=->U-<4@k}wQ$I5=ZB|Cfm$KV#`9Ok&b<1~ zSI=L&c!h|?L&?pK*E#4E4n}uB+ecJ`fRn{hPas!TCZT2O3_&l`I7dpO(_jDNFP}VM zpB|hX-G6ZR?vtZZL7-&_s9VM--hAzQ-}ram{nqQ>d-aVoZ@+!+nl28;xAfx4-T(CK zU;XxPpFMvf^D*|>vqz^Tn$qj7vj&Sj!`SUBI^xQl*8uc z8$bX0xBu+*S^c=q#>PV4P^co7+U{$tnbRBf&+qP!+WCTYT05bS6lxM-v|DE{o_T8w z1LxfNb2ECP_T;Nyef9M2?e2PmZFO%Sk1DlfT!i5PS0;5<-J$`vh?rBq=%>-wMS~Yr%D6X{o;M1S~?DUoZ${A(% zkloqLv#}M8!9WBc3QMzLaeanfW=FBNu!al8SS(n@)Y63WfNj7d8Iu%-s~M89IwkYNl4))=G3luEtCam zOPX}zE@{V|&rSMq42p2@5Q*_D=!OMZC6KHI%_Y|4u5G0^!FJZUa zy-*?`fxo7i02M%BA%p+|ViUO0)$ogw)ZkebDlE9HIPpxxdIhnd6bc2%X(CJk1uE=q zatZx~7v&*gN#cg?I|=dLc>cBuOIVC&*AJ zf^Xb`kRO7b&;=`Saz&CGV9g`Q(kMZjRY9kScs#-(B5I073cAY?Hl!-(BVvIVO-NO; zge@*YYAH^AF|R6@L;j3LWAWjq!2<>fr82(?{NWFdQtFO(0q`U8Z5@XIkZjHw0y z5gd4_=n0{5XqKagsQ^hrza09Zhyo$Z1Qj7s%oS79wk61hZk7&do#9Ee z_h0zAnnl1TUPhf&X+-s-_^jGSD4tpoH7KTjgMzAq4ddx$tE-_(Jn7~5QG;?Q>A(I` z#VP-PhEo4OBB}r8mH!tTX0=^Wd9@_!ANcxxO_0%3!|`gDqE=`lwV8hZ5j54yV*mbc z&}2lzp}cCz(HiRG&;;t3P#=W{;y2YurutL$S5Q;+llc70TBBEZs48MCs12_^2QfD^ z5k?mr4UpA`m>v2SKZ0m520MO?fGAoQJ@WE7XmQLt^e_JVeMzypAc)u1@mC@ccMAHs1aj{PMS$83X@0yO5Zu0qZE_i;=JM??Qfo%9(@ z5hyUkA?!?suw<$wk0ls57tmqSAMgbcHA1#4n*;C-OQQs#YpjzHmrOuW4XUXzQ^*Ju1*ht=f;$0mRf zFfYj>J(8mO0Za1juYD#PMWkzs$>t9q`pejnj<5pJK)3ngrX$&j;4 zW|0mAwn-EVNcJH^1>=Vhb`!79?F$fr5ETfMVdNg-n5xKqiAa;7*HKnqh;T#coA9_n z2lPPSDijSPV~ved%~YTbkT=8Vz<7Y@^2=e0mO&e;tAVO|3As#s22GETa(qsN+#}Sp zOG>@HzCGIA**)09?RMB7ZuHk$^>Rfj<RatSqKh=z-x$XJoHs)lJE zwZWJO(nP=md3s288%;V0favrl8*8xxln3o@=s`2cV5(x`$UMLsB7|k1fZtfm9}AK} zV5q|GfETNNhz7p`)j_5WStCeILX92iyds(bIU!Xi8hJ?`)k5YK3nkZw|Q4hdgJPf#c0x6Ob9D_1C-hoh?WDX1SNgUnG|{zNnkfp4-xfn zK){0p&L$+r2rH;dZ%RP251RrS3D#o3umF&Qlmcc0zyiPyM7(}rrx8~U!Pc)(Du_yJ zv$s~MH1~H-j9?qUJ?cDurg#V1*wF)Kqaez-bAy z6*H8LQ3SyvC*nt7*X6a_Ehg>q(z4B9g~|#6rFW7dVT=YPTj-*~E}<+!rxXISBg)mr-D2_a^lcMEmz>u&|GhDG$pnx$Xkd|+(#T6vZm04`Ee8%GJ@P*A8vH2jrB%_ ztyao8#YDxQ? z?vT&9a^w1}4saU3+ZFJIqQ(BrgI3HPO4a)7+k=)2Buc*7QY2{cK{CZ=aFD=4!tIP@ z0dVXLwn}U^RBToS(9o1hlckKyD|Q!h5(Umat2F^|7l)!<-DPvt20L4V2o3-k1F*~x z19$}hURt}uPp3qI4w;N5I#qyPSPJ~5YVDtVv9Yzy&)A{IZch@=8Sowns*EAOA4UvVOd(HP23?cxfA-0tpGmsZ1K zE7TjD9?B3#Xw~XG3&}s$zp!LVZk%j4y?GW+50OH}djp0i`UnvKXGht=E?PMf2~+*i zom(=l~eshQ;!zmYZ}`Ngt#9^Shd z@rDLB4ai7@Ngk{f+@^&EBO4I5*JR*tsMOl1*J4)vald|XIba{3oi$Nw?2OiH z4@ms!$(>%n9^bjMx3}5kOiRmj>&{M#^v}%ONxrmO-EBqUG+d0_*$z3iI6b>)3481? zp>R;t?r4)1gvQDG;ksPT0>YOrOA(iLg(=p{(E=dBZU?(Q=xnfOG}?bUK&}dOconeB@lEySCBn<^caSm~=}% zfnU*ISoDJ32%x0Zmnh~qWp{WCh%Vo2*Lz#_EV6}Mf%B(WS)yZ0ag)$0CL+mDS{T)Z z5;^yyAD_Fbb#XK9xVO;5rK~Hp_TzV?LTyjNRWCrXDag}UmRC|KoXucGgBv4OIzK5_ z;5F#5xmaV27D<<5d}+l?7q$*}nmBv(dhgx2+2UA7Muv0{<#pSZEG%89L{udMHzn5h zw+1q4S~hYUg`HAnbz#bu?B=^jSl%!i1!b_+Dy3+5s=c+{Epd#?WpqdU$X%ImNX%r! zP!qYi)X~m+kM=j~Nz1}2S*R%)$~1p{a&a}rD`{%cIA;m7l~${i6?StX4%@zdI zIt_KoWu4B3h%w~U{ATUKjoB5OFOezm0ju6Ym20DoYS?BY;USx@GIY5;9%IrnyKrXm>W{9^o9tepI~Z)` zf#zj+M}a8SYRW(!+-!aL-s62Jreq-Km+2yf>sYzr4XnmRM|{TXa4`8&$TannA6>el zw`ZD}3MX-LuORdJ81S$D61O?nTHAT{;o-y9&1AE;_o#iZRZnK>l)?nAz4cdb{NU;o zF*$x|>bjoIcSXml$wcJ?!irId?U(k}nvXIA{{F4OdutWil49@lnmat5WJ>k5)1I7P zFfCZT$rabsPcEDrpV68qsk^Co7RD#0r*7!=7QHnnKwUfoIdp&- z*!8`WPe1;n-XQbID1_|s-FUu6>Zpushv(VU-Sr$Mdr(5qps`O;Mc&>5#I zNknL~&kup+MrHKq@duCZJb2WHj#)Iol`5>XRv1MF1w?YZ?s3y%z`wY7?5D z?CiV=EW*u=lg(SVj<&n?LSTOC`uqx+lhJn7Yt?A%J)Lq=^N#EEct-Fxrj zXU`tLw=?QC1&7J5UtYYVUvfp;o1=rRPMu5SgZAZ17pE^wPK{|TOhL)#*M{pk-mNo2 zjmNLz5AJ>R;fK%J4B+%htrXNQYV}02RuQ-4z0Gn?H+J^TA6}eV zShf(U?#%}eZ{OOw+uiPTT5#%tOA*JI&i(MUAN-J=)H6-CM38ZtfAI%b&SAk=byL#m z&i(FBKmFN#kuB8s+r5W_NB5rHJl*Q8)hm*iqK&p6T=?d{|IQ!1^4bs1oWC@_pm*1| zZ;pCMb-SQI4tA#3 z-gxzuSAR5aS_T<+za=v^`_<|$GrRi0TVR9vssBRwJ+3&YT{dzfM35h$mPv5`)?Dp;b{ZY45lT!A{ z`Khy07cb0=P0e2=xZZXv@4Pg2?$Y?8&hC%YySooRe)Q@6&u@Lb_UwqQ_nIHyySEK( zT%$!Bl0qAqZ3tcqG-W@(_{|^w_4m(TyJ2EWF`TH5Ha6NgNmJMD4n14qq?#j6El=qu zr|cH!P<6NWAAkOfFF$(!*5M9T6NU9NM*s3puKn=L%)BYIvAw_F?q)`OA?~{J+IPP5 z+L>!Jiz|+h!0x~J_@^J<-`m;R+-ONDMJ#psdMOps{`Ggi`^xu!a_RcK*0$mo+Bffy zMm0KC3AEhZ)tG77vSOp+%JCnoPbGXMF9^vk%_um*eJ% zs~0a_8Jk;LvATRTzxC1I{POenZ|x3H`?&rmKRP$I9E<{3(`oOus!F|5%s8l&HKEZM zuDi`Ekh-&&_&{Z&QP|vQulMVj^nzYzjZv{+KC+f-Fnl2CCPGFkkjd|#JpMKNcYpV* zXZP>i+#9UdIQNw+XU|@|KCja`lACPRb;WyiWy)gp1>#)w=7;aU|JlwRsIKjd_L>iS zql4jSd!qr0$HMvVz5YF9({C)9=a;N*o6l-9M;OAcUtK1^>49J~TdnTB|Kan`pWVB2 zYje)@`GB^0H~#ny(>;-TB^GTDMw7Fr^{L@?(J=9_zWj<@#v zn+nv!C&#Z{Uod+!I1XZd>}+-mv1KA)UtYK{bNzx%yAWC;B`6%VH-xTGFFg&1Q>}{dUL26>7P(R@vu6 z)c?)dn@6{Goq2-wSD*Q-W@^sKRHsrWl}RdW1a4xb%iaD_9*@bdnJMtC0B$~%P!V(6k-kA7js zhSc%}s^BxCx?|eyQ3yGGT?6ONn-?p|C6~fIubnf^x}{9vlt^XJYv&?iXReSac<1x! zOlAS)2dAb@$T9Iam#UYqKe%g%I4f!tA;<^Gsfe~CT3)aB6RrDyC41h=byZF>tGN0 z;Dtp=-?@P?;dups)7P%wx_uR~Z*lt!XL@pIm@z6D6&@B5*44dhQ0vBW0;L#7r%w$tMudtvUuvtev6F8l z!VcZoSodJ>fIy@HG7g|~k>-Y_ZPK^a+J1QN{=IAayY*1a8(u`!60=#Nn;z9MdDB{( znV_pLssr;b(;Uwzp~ObH3aQ?}ah{ozIFkrO;y|$9j*Q=w(b{1#Ajkx^e&RK?`#v%Dl2( zK6aveLLiny$YcBW@4&`4Yvp_{8FA~zPQUir=>g`{v{dD!(#;Ywp)Z6&G222ynk*P@ zxRVZ@LnKtOcvAwFR6a{Nyw&BUJ6A95U2CnE(9d~;bYz6X6Hds@Vk%*XlDdsF6Z0&44Zq{0LAk^Asg-WHzTg)x) z!b!|GZ0@A29`H2$C9nBl*5J|4S=}0EUhAqVUFM0{Os|1&P_fgDxu`=QyIVfkENA?N z!Bd?b)Bsy3Q<=Pt2lwvm*Fn0l*EH67;#Aidr%z%Hlmo6MQ{HBk2uJmj-k#&fXU4<^ zp-4D3%bL>!+_C6>YkzO=@!|Hh&C*(W%T!7rPdzp!G8lw26Dp>R*C%*+iZ5{`7K)4B z{n*6|9x9Xe&j$@I1D4g}AntskT3p`U+kE}*jVrBswX~cHIYa{|q3YxO8NDqKy3lIv ztQAuhgIy)Z9-&bt;7zb)67h_B))q`(IM}~_dw+iqbr2D8YYeAr>&+{zY#2pmIm5gu z%pEp_hwSZMx`+rO}o3-bbYcjxKXhK9yeTpcMM6J7M=3i(ntl}W^KZaeE(6wPa9 zz4l1L9d4u$;Mlyhb|t%(PlfHXQ_|_7bHlxiagI=`1=w9Eu^g;LQ&fs-1d!OY6!0eI zVk^;9Wya&V1k@cI@R^#WrF15_=r#*j1K)V|+s__7b*As!#7r!K^bKm3;^-F*su&6y zNlJ-wy_Lu}%rT*->e$M-ZK@gZ8Ma~ZjBB=<3RDY4`faVAhjqC{Y_Vx~p2scZu-zLQdgy<2WqIF@Yq(~Dk_N+y_M^X0P|?-B(& zaeMn(V{NNiO1o8aJc&&Og8Fin#{U| z?B3@7_3cJ+tB#1%rHFrCJ^a#<7hgSn_8h$T^RvE{+S*z%yOhAroYtb30dRQYJc@?8 z7B6gKRdM6W#%iTN#lyZ?v3PuNVoGiZN8JHiD2A9UBeufWBDu-vb|78ST?*z)3#mCP z$Xze&HMjDsnNl$yT{Nl%*upF;!*i0E&WWi3A!BNsHzVVX>omb=sFV)t<5AZIW5!ud zwsOl0bIzHG;htdzU!v5{1unk(7VzhG$cCMBslJ*% zniyrU*lhWn$x|wCZZ)fBw=5HK8URbc)N1ubPiTLsRt+tCTzcj!FMj`M=kNr7#<_NF zf3KN|dJT-1Pn_zVfO(p=daDoazyIjY_QeJ~qjY#~0=3h6Cg8rG z=@pp=H9{U!1;~}w)^4$xtmKnO^qcAHIMH*WyN?NQ`*Le@_abKOsDEBD)YEyqvww{E z*Ryl}+QavL@Yb#Ei>sB)Jb!X@j3>c9Wp4fI?K?MbURhnqWtMCxRv-~d$0me~^A;r7 zD5pk8nC#Ihh2z53?(Wtm7H$!zXk>VBbW${k3w ztuLO2DrR?o!bVuvkLdwlc8b~TZ6nrew^h6;;0 z!xE;J4>*xTwXvLY&(3u8b{!ucILBrS)eH67?!l#7>y3Iai*s|h+fIXtZ=8!=Kq;+c zAfLdALOy_$CN=xq@t2QvoIS^q8c{_KuoBB@A0;0hIyZ4%Q{d(!wjXn^!LvvBhpmrkb%R^S_b$P8l9S}H>57D zQ$STIwMy4F*49^&K9rqCO=<5OLIYR=?!@%i0E?rS&AZoDo2_O&yJ(nXF(#B2XL6}} z_3&_ar@DelObCVHLV(1`eU0UOOXYwMhc*jtEsrVUh^8ln9GTgg%+>Y}uk3BDHcA&l znyFEiNT$ZFG?HkRFWr6P?tT+%_V}Vxa^{7%5oA#0q?m6;;-ORv9ibGKE_EqUYvCr@;qn-oZ4G!ltzL}#tmP#U)o zkE9W$JUZ0f+sEW8QAsV1!vvgl;eaLx`|I-CtqV?#fH}m1O_v$0h_HYC&ASIz8Y{(= zS250j>micq-HSz#w4RM-kbxS;*^Y`o(lOL4t-qp*i%c!d3 znB^UN;otqui8JRIEUr-Q%v`v8@8-372_qEB`pygtib&UKi?6)Kx7b|^0>q6hQPa$>{@GFKXh;7LSK-aL zGSuqr&E|S4QmL&)kd5Ei+`D!CjXij7>nm{CE!L_26EDBg4{RNk#=l%|6jC_-MDYT~ z7`C!S5{+)&g#7^al#n%Zer7J%*n0P!Ta8sC6`h_3B1dTV@X@b+{K-4F4lb`PdsT~) z+LEnkll!NMR4%aHY_8=KG1m;r zaG0i4`cO#3Vr$(pglHLLCU5c4Pk-^VclU};xOUh(buTp=A5p*k#V_t|U98<})shno zP3%%5=`JFoPxu#4!x_K9S;Z%m^xVa~<@7nR6dd-sPQ zKKk${zxd$6orAqgYk3c^x1*yQT*dK|Il6QE_Q7TmILPxlW`A$zk)to4VUCW9#LQlv zaUs9HvqxR3WFpi|&&w|zJ3E2%7TD^WAOHMkAKtyP8rCZ%Q&U2@!L@wtK75>OckgW0 z^Ranu-`Lpn=uyDl7((fsJ6J;ggT*;5JkK8Me{ryX@a!=_SjqYNIrtF4)JoFZc=z^u z&9z4A&APvXNa;f^OPd@oI_0do7 zUR)|;8nD`uq21=)-~8f}$9pxm$fIJY2F64)-nDdf(drUBd-Pm5uxN8DwFBRM=1>0g z>(9K>**nZq`j%HOzVrIwdOkQi&SsCx=ZlvezHIXKTYJCy;hS&oU22vh^1i;#)BWdw zr)*4JyLWfDk@w4Ad-0`XonvYpmtqR6*(O~3Ydc%3#mJm9o{u@tpX)x;!?)YCqbK_Z z7~?FiNMVj{+`Rk7ZS1sMSkMTkIZCrN5WoEP`yW2KvA1`9vzoL3x?9EJ@tJ%eD4M0C@ zt-~Muhky8&fBf0Ix9T^VtHylxV104ZzgTnm*{6=57+`8;a>_7=@X5s18g`nk%AQV! zfZ`p0=9%YCoRP6koa<%t#Y(N!n=Ib@&Hwo?|NCz~dVI5XGm%SM=dK-Y-f!K$y}!ID zWXYK#MCT{Wi_31|DC5WrU;FR>^jj~U7*Gbxru@#O-Euf&;LXlV^c*|GGYENBZ)JPY znv|s14t8$LRv*0ktAGB@Z+?1z^ZjdgcCeE1;1FeyJ$hzV*>~!@&mLoI`5KvqrwL)> zooBsSE+eu}GkE0t&pvzPG*F%-YNMnhJtYK*Ayws8R2*$ZOue7hXPh?rFX5=j9*|WnF=hY6>{|W{x z4}SYkzk7fG(zUDC-`U>!!CS9iUrRX*RvEK@aB50AZ-~SywX}=V!&6zTqMm^XZAfDf zoO=F+BgapC|K+oTV;pSNP^Gs%e)pXRZ+!I5y_<1+_3=+{g-X@U>do5+MVDd8uo#n7 z%u_vG$9kSWdg3@kWI)>Daw5N!i&7|@rk{B6yWe@{crSw^V=I*=clF@r&))mt9_kw{ z-M{_*hfT^EsNMhJkACx`w+?FQwP>lnyhP2w%JdHMM@NO6Ge@6)aa3!v@{au3SN`Pd z&mHd*+5+4eq@0x&tjWO2W$(&f?SK01-~Ojx-+27NjYs$Q9zJYsY*pY8xs0M|>r-$XH51oM+SL9g&ld@l&`w|_Q!ww>tBBQi+6Y5 zef02ygRQG;*?YHIhv!mPmT65Ag_tdhX?75-d5g0h<4-BC!hZM*YAGv z=;q^ntZ4Fnt09JHix~m?*=O0`|H@x=ai&Jcx6QpFi9+sTPQE#&qr#lvF-Fd>&D*(>O$QMC&{Io2%;= zyi2+DH}Btn`|%rF7fPE~uHW8WUDC2SERJl}g6I;R3P2Cp<#Z&zG_RfJDV+;OS=+X6L)dZCs z{xDA?w}zemYT6pkBtwhNMA3zcmQ-{$xs|M4OgHx%nWD$)F9t$>N7$)%1`Ir&NWx=H z@%YGb2%@T+bYe=Ywo*uvLTJXUS*J2uRU)Zy)}P$Jefw~GV>RUuW^llOy2Ft|iV8ar zO{%k5E%V-Rc4ZakP$Y`e69gI|VAhrFzK$24Kk{m4FBUL}%nBtl$?E3nYRa{gj8<9) zw{PwrUaghNE0>zZM9?DRj1D1gz3cSpt^uY{ZPfds(M&3l3i%Lx8m9b9KpczbGbxlI zYgJPj1k@nJcvdOmi3LIlU#cd67d9FdtiUSE zK&pXpucn6v0#@br7y0*T4A?Nj_%NOe* zzyL&1C6C!Rz?d99*MF8pArn|OBa_U|hQi)Jrn**gV}>Yg?d)zhFE%%8w9xGR0~sTOEnT?Z0dc$VM(lSU)w8Z(@6BadU*BP{$`_rH8Pcqc>^92p)Z`~vqpM5 zPjsB@=o#XQg;E6|>m2sQboF908%tzs2RNs=a%Hnw$z)UUOgfvGH>kBb5t}=C?o7`h z78lb>g=j`TqeLpXJGHuAi6c$A-dL;G*LQc=8jD<2dL38 zAx=+uBG3dvo6hBuD1MhIU2HYCwy*7A-#-ypt`|!&FXHmd3OM;l=}np`pk?(I6Xbdo|u@xHu5N@d6mw9 zBy~56_CYMLmvHUsS4zbkPT?FH9&@m_v!|=Or*B}4jUqMJ#@1^P5bjMZms`yyIen~@%GFAx ziUBRT5!Wsg^7$em_Jn6Om=nxey;5UBXqpota%qI0Ws=A>NF+iC)J8lu!tW5Ci3>rE zh}}Q{EFxS;9dy7UxEB#rhxCTnQW&A#zkmH#1}szm3ibo*dw=vt%U{0A^+G(AjbLfb z)?Ai>DKAAqVdt8DeU-=fb@k$#Q57h5!jqmIvrlHD3wYDLZ58T zNU>78u$<2?c`cM2i9Qlk+MKaPQibKrQn2;tpqWDKr1t#O$iNw{(P~F#L=>qWh*w-h zfMGPUl=NA&GL;TS3SpA5;>ubPae86zoJPVG&1lWi3B`Q8wv4ok^+&HCRD2GDPCeDr z@d{IC0xZ-*G!_H?6|i$-2r#7*xiIFb^D+aFJr)+@`BJ5rjV$ziGvNhmwD#zK`R&iIpg=Ec?A(z*|LYg0Tp?7OSuW?| zPPs-;g+r*@xm-l~T!}~^QRwHqi3`ZIEv2H1W-*5`DL5|$P$7Z?ms887%^R0%F^E6% zG>1mU&I79r)m{;e>M+j(N)#~K=_EpNl+zMmv71q6Jh@yb6|$(AY^T)I=V#9IL{i{N zWb=hgta)drmXEu1N|}f=dKSgvbS4tV4EQY1LJTK(NfZ-Yu+A!^BBjwV>&+F*a3ohy zFHbMUDad(&MD9!=STLH*Zrs_z5!xc^^l(NQLwvPbWdscnuZ@t-Kzs>zWKv-i9aYHA z%e88yJGY!)&Q_WwRCSh2OwWj?c^qp7!FvdJuI}$_l|f*;PBb>$5Bsgw85}?%MdeS* zhwo$YWIF0YAyJK5rO_GZBIRN(U#PBTe27uw3MAZ7>0AI-Gnrbsymzpk3sZA?F>|<| z$){u*#N`2F3pxAF#U)&%DZdqxszyLG@{gdHg-U4|+utbAAQ6vuv*gD4NTFD2?%exm zH;HQG5+QG5czjBYm_(xmLGlP6_W|s@h^Z?Uu)*IHV&MSr_0{@HF`dgtT_(8{r=McB z6!Bm2G=lin@87+>7IOevQ^X$XVr%CX=5&bRB{&wQz;Y2@PY!{P20n)+Qfc)LUv7PU zy%di{5Nya5p&XDxZg51)SxEfW2XEdiSZC!*6{o+uV;ZI0?KtIiyDcgcPCb!xl?7I; zZDwMMC(~&)D6`r)yjaL##FiNWi!Yf`=uDnOzMAxu_V0hV9YZY;bgA!EhSVPST8-K{ zocw52uJnbqY5_QjOLHQG2_hQToy#OwE;kCO9BdK}^0i8tOgigGZ#GxT#fSgltraWm z{s^P5YjE6ku^2{yV&|;*yvP7l)!j?2wOaLp3tNs1wm?Q@Qt`E$SJq$wP=91}WSlJl zz+R$y@ygYM$DiJBI>-7tIyz4Gpk~#nI?QYb3veA>LdpR2OeD>0v_YPN6I6vkL^>mDgaDQo7^L#)=}f(km0zueC=MK5ga-#XYWE*L~($UGKFRREL( z7Cd$F`lDa|$2-CECtiB~CGIxM+}TXqg=bG4?c-WAD_d8ttuN1uDc&SUphc8VzLd`_Xp}M`$GCLkcmMdmy?04} z^n3r~*S>O;X|ElAa9CRq4xf1WZ$@<4n?L^NPv2d&PdxwJGiRo4>Gd1?m(!?nC|4<9 zU6hb?EABKz#DuKNDJ|Ia_#l6~W^p8ei4ulAYiZ~XdB(Kb0ga`q%s zS$ON0|NOXNXPkWI#ghV0_2&I|uC9diqLFcGQoWFFtk%X(VXfZ!@$I^GsPo8)(`-%t{wII`!Syh&_r(*ZDS;!^+S;z?7Stjb zU0Y;%wN{PUjY=u@52<8mp}2Q=_ew2hpFZ6;%otYqljU^KrWA9r>uic|T)Veh^P_ss z*o4I3%T%!m60(~#8Z``HK9}-YW)*UoOojrwh}_P^1C*B}V`jo`!+GAsNdFi|3v{?x zG6T1C!C?mSda1A+uqwD5HixIO=XS3i)WQgjp3^I}df#%P7`9uG!Z9kFVJ+?cXex+VYGEO`luTobB5LCDr}?y%n~x@t=H>N9fkB-FO>LO)rUeS)Jb?}L zFQu1#db2H5xb^8Tf40mV#M-Ijc;AG*di8O`Y1S$cgfzEMxN_}gNuT z72)bgzrYj`$YoMMg|%q}ayV;Cjp9-W6{kZkyUCj@w_*l4&iSPR-ju=`EJUHKE}su` zsXv&=hf!S&Vd2OnwD}WRxI;*Rg12L_d%}qf@MGZVq%%v4b`54*z6c$$L8SmT=3M}y zB@#noKATaE4QDX#E$6+kgL0%6>0srS@+dV$En#}{&m#dQ1uPhu)?zZK z0igq=UXou*93u+52PPyqgfYd~eZgoLnHXN=@5~{IL8($IX07&xD1;~)NLNaj4HxWI zBu61zL}^~I8?5$4#AA3CTkrhtKmX=U=h4>&db^(aZ@)iau3UY)hD@{t)LveQ=MZyd zo#u0uRwYcZGg)p@aH-Rt|7*YXHcPI>3QOL%w*aTrR_IL?MUd|B)xNM8jxSPhI?_3h&h8_RFM>sxicc=)tL7kFhWS7|pG*5pI6uL}p#!Ae zVgO+XaMqjvrkZnQHkzwzYw!Q3fBZ=lJ6~O+Fa6n{eU-7e{gbQddAX;AgF6UY6a}PY z<5IHBXDglYT5G$tQXr`shkedYDPk`>Oyk7GWSY&h)HXGRLW+_Xg(HYEWVhKmA z1lWia$j0`78CmqmY|XD#hy-iqd{&i|uLSb+!o1xykDM@oOybpMxMSw|S&>MHN(dGVag6~_2OY0w5Kfk2n0QzXF`Lgc88R4uo?nYtWp{ zos3mA%>`Q6IVP790R|4{Kbp+sl9&a6kq7`sUjT{UIM~(5O)ei0;sfb?DQpJY|96mR|!qKRGKELzc|NNVu??>%2sd(VUzxwK5zR=58 z0$w|suWdAI#H1i$bKZ)qHzbEqkjI5kJXhPiw7rIXJXj9oTB@YeQ(Qh5s8rZh09Uc^ zTwX(zVIh+*EW+q;$C;ySp-5~3pAp&v;}Z7GTMa4|3=1kvgSFUEh@(ttG*b@G8C3Ie zyI4sw^XC=(f!p`jU`g;0_z)NtWpu2Fr`?Ab-K9U0W>h0s zFv;LbztTO*g@z%yVr^sl`aKl2-dHX9R6-`zf9ll9b6h!XFmliUY%qIFwA{{OQgMO6 zIm`|ScB1EQPt*r-Cr$F@;%WYrAynFIp~+@t70Z|?Sil`%Fb7UExFWd~b`xi`P+81R zps7Yj)|ugWrjSduDQ{3bXhXS-RUA??k%j8AV{*ZiXEs2_Mbp#p9CT(U z=9XM@`(PjIt#T5ILHtUD{!mgSY8Dcogk-PM%I5*k0W$$|B7lTgK|uaOF=4q;#=(j7 zW~)gj1Di;z^H82-p|VnjnW7t?Gx`#qBIARJTgeG&=K8XPw_GJV73Q;QTZB{5d&X< zbmLCgune|K(&;#4-2*6Bd_`M17$cbovdP6ZIq=Ipz|DYQ*P0vPKf;gZt!;w>bBnlc z4BQEG>!MqY)9od}91r&N3|P{et#(iqbPk8H&jUM*@q_bZ=D{^fx*dQ`D3mI2wBYK% zy+B+mdkQuI3rAQ}7)6jX9#6v_AO#$n?u4b2gY*a*H`pPxAWZ=V5Zwn}sV@!|t-?QC z#HJRP0iYs8pCV!dy~N%km<(HsjDL`ykhD-J;VR^@qz7wg;GJULh)B`$gm;<9z9u0AN!W&wLK``H z4d4P@(N`$c#wu14D(D2<@w3QPm=-H_G<{})umbZDCQ{dGwVJCdu!QW*lUL)x#`D6CPL`QIHPr%oixw+}auh4zXo$4i|xOgDqRv;DG+}T9$yYDu+xI4f%6J~3A29KW0JDYo<8+j*IAN; zMw9{SLts4Y@J=%2)s0KrJJinhr55HYvI3$V5PS_*AkBFW$>Tb?OoW|tq{dBy=yI54 zs})KRh{iLe73@cEY-|u$w3LVH6UD$Ykblq>QUnB2rBViV;begpN<0n3e8>jvOuI#*vvSDlW04!00fx8L%<1WnJ`0E@k&VR0+CU;o?;P3k(Gpg`r?@@EWm$04kB? zGSOmq-o#AM9zOLzsqkmIzJI76n*S!YS~#ZR?0Xhg5oGF=WamkRS~wTPcP)pF)Be5ksgFx(IzB z_5#ylc?C-lGO`>RgqepRMd>lp<`{DY5Fy|Rl8J~2F^nTwRDd$1`@ml%mVssvVG+oU zf8eWwfdJIUVi;~S(E%dCm;+$<@gU~1wg!Vkw8)Vg0h9q(Qv+e5Wfm?cG3vCpO@y0f z6J80CXxkzn;ed9i|6&HA2rC!RZ^#MRfr7+hWkEATDu&p?>4Xc3SA&(=L_bu(f|{Ghlz~SG&tYjmF9Vh- zNPVW2r_B=Z6H_2<*C6=t$lCTA(gacxp#tzdF-)KsmPw#CTw&0fh#rz^Fn*c_WDqoq zKyor%bcGf>Pzt06!DyPHEsPEN4>z1#SSVm(n}fsEmQNx}ZDAtINt(2T?c{mTnDn36 zxj83JZ^MvgOf6V&8g!5}sTd{-?SW-P&~OJ_WMZf*#6?O%`{;=sT_hK3F3^Mq%LqY; z2odL@t$svb2s?;|lbea?5M`w2GXQmwuD~(^aGod+ArMhUqSr*D(H`9vv2TP-&}Ete zghlj4SOzqVCuAY-!HekbfOkZFVHeFP{X$4WxQi$bTFxO?L<4aEhB=tXIPr0a?!W+J zd}IcM>7{#y-k>`$Fl1ICvjYA{U$hv3F{pb$zm^OSW28IL?g-sP+e(pE$Po~+5M-2S z6KiHNK>_Rnb`Tp_WHpEzXcp0IB7-BY4e={!KMGW$p9OV@w9ups0Xq!>LWWE94Q#`b z2rEW1Rkn3E8YNN=d(zeuGBTnkZHb_1MI2H9g`gv#7wHb<0>q~M9wKmrWAv#GF)YMF z(fUEe4;+I0(cUU~Gx1nx14FM(h6`XSxAG zQ!>HQ)}A)i5Vj|?ArW90d?Gi5zhuqbo;%P0`r5XE?Ew&}Bg{du9i$QyMnd#;m~=pS zaEGk=u$X}MV)iEXvCU(`mA1Hotb{6bXNW`)uF^JwFque5TkL4iGBAjqo@ma~-_!pP zE&_jyG}0E6Cj#>2X7CtMDEdNEbYo;RC9m>rr)WQ1glM9E>(iHNnyOX&2(@)1T68$pXbt=4#= z{Tvw*(HB}*$j;Jd9j7O0h%WjLG%T8QZU2Uhj7;NX-fGVSv^tW8Xw@TQYZIAh00>8> z5aLUqd-OaB?P<>uWZBiWUG(fq%MU%OHm!*WfM$ekWd5VI7}`UN4T1ThJAwYuwt?1W z!fM){lSfH^Fu#zQ;PVSTZ&Tw-EFqSHT%R-S3oJuH4Vt_3ml!mG$s@8#)P$a;FhvlH zPFn>CCsAu!06}Bo1(EBE>e+T&$;3%Jh{V#7mB!Oa>I)LnHg&-N`)piKxb;MCe~)9d zMA33as7A{-F{*e88THd~gJm>vh&Z-2g7&58my(CuuWTzGDwq%hG>iJrP-_9pVETeczs(G(Op7vnvO&# zpA6**1KWB>{BPob<3I9RBJ(tdL1NM*y~|0DkPH#u;UenZzUaT&EFo;6X+Sze%MKY3 z=^K&!&t;!H(ta2tA-_;h8AD73%~u**5px*rS`oD&P16rO89ezx^cP*BFY@j-C1@hj zucT>5Sn@M=N-HEN!+BLbS*5q&r`HzRkBb4Zc8y z_V@{fNUxt<4L&yx_^R?G8O<3~Ax1+|#UScZ@s%{ig{` zh)jO@@<^U=lKdb8`{H;$d)3otzDQ=eW295RcYW5~&we4Wm|wogBVQmE`Socl!$KT|^TOnWf@%1}O|z!wMdWd8pW;mGU0+$;L;r~UZs=O4W5iyuC{^A8S)U~=Mm zGNSf?+6*Qie?B5wW!lVXckK6`XpiS9YyJz`wcp(C2WggmU;7vO{ZD)N2Y=$eKSYVA z_x|3f$cOEA+hd@|^K>}mOLF&@q=vRXU!uVO>v%qY(UW124?er-&;Fk}jXTM(=!<^; zXODjImnTjCp&#wresAobs~UNrJ?JO@e%`{<=D+adllOmq&u70qy%|40`>g%T|EF)h za1;IOm)dyxC&4_$^@Se&zOs?~zA&1nkA2?yXHS0q(bJp0@bmL8pZxapJ5m_$OCLS` z>gnhI#m}cV{Hs6zizoi|5B`w-dD`y3{?s4(=Kmj1G4-XIZ^w@Q(I0)m=C*$YmOF5D z-Kf7v&~;IPk;YyIUN{ZGOmKXGL`ehhdV$3Yd{-J^8J_}(7udXZa=#m}sDNWdSu+5R zA_9h7h)bkUtkDh7Zh{4jag!2*q;w*R>;VRu00!Ibq_Cr%{7RQU#NPnf1(Gvrvf?B1 zF5E!sX_DU2kDxbzEhT@TNpu|l(7)oNc8~E1V2ep#NWnSsAN@bnbi<3#CYnb*S^EDL zMC7#pLcLP_22gO^i?R4nvXQjl13o?e1MV?t1Hh)FcW(02VFMT`iirAL0Oxn0_;m;a z_frl(ZUpJP4(uKHDLX370^tK#wHA;WJwz}W{zOM9Qi_tYxbQWqN1~u9O7N1#fplzv z6|(@8-iGB9=@ZiT@pAk}N-d%%sHI0n{rPawGlH`WtYokczkoC3d-@*wHgt$UZWBh~ z&E#tugqntqCRO(EJb`M)g?k8uG(nOk@XG`{n|w$RPNm^4dM)rnAF@P=>_G()lp zs`%kHz&N9#7Ao!mGMqBP(MFF@)e|VYS_^PR5#^4iz-+)kJ0LCq)FpV~0Ko=1@HcrY zaD>sg%MM19qNhNI_xN0X0O$H#sI3Xc5dOM+G-*hWoTMnL1*EfB>=x2J!eq!CxxtQN zp4c$QPvF*r%&3x!8xa}h#)qI5kt8=t{Shf8;sNpUg7>~)$cNB-U(oLcW4)+;j52_P z`$S@h96<^Qd@d0TLKjjX(TfJ`Ho8SZ5px^HN~iJ}L9;{{f< z5149b6<^^0$P_|YmBC;H0z6G@-01*{FYqQpkzl|Fl_H!5Z%|Yg?L$&XO;+@o5D}yz zu<}qkkkE}407~SNeLu)4%|>7k6NMpqMWb00=x#_Diod#?ZqzqLrC{eGQt!<(qjt}0NjXJx8VK2@(0W^A|pBuk!mZc6C#Y- zkwiYp?HCa@4lr(v9QMdbYD!}GU=5LNq8LQ(QKpXk-wfTt*zlFbXg1*GHX6_zIMx^| zDQS(BE1sZ-jJD7`5e=l0fs+XBgDjwL9=fV8DJX~<;sE!@sG%SD7vRoTJOvr`0F@az z1ZD^zI))4f^wa`iWONxkgwO&c+em`@P}Df!v)h5djS}8LpejKsP~6*Y$3`8k5JbsP zGZt3B7eSmYAs5~d4En(>AhtWre)0xb5v2|GC4}@ShKyZ9u#wTcqu&! zg4sa{h@)AlaR7MB<3Q8~2JFJEYPBPYu-=d(6eYGCHR}x&kdZwOvlqpHLD+~#qoiCG zy~GyD`+W|PMjP;I&B=t_E;j=0H|bDYQ4dpVA^o!3+`*VnPwCy!I4WeLoU%gei6k>Y zv(yR^CiS+x7L>;I$9$+%??c&g7wYl4tk7}@j?)k$F`Lm$X$;<6 zhSJ)d7AinQEEF*s%)VF<YqdbIy+*sk zhZ4{_IVysC{qZCP2?PNkJ<$kE1C$y@#AX?)PVOAdZ7-w-X8So6&g8ZjKv*VSSPbu=didDHciF6sAI3C zB0-14X!Y84ZkO5s{qn|xKxfjZ%@Lo)775vP2Af3(CG)u>4xKCL4#gZ6o82FD#eg_r z*I-tHIdMfo376VJ`GPQbsLqYD(H6H$A)=DGn9~+^f`a;?mn$w&MaYYN!C5-lboPrOjgx>;O}1z?+A zD=^e0Y`x7LFBGzF0bi(&q;grvnRMJ-*@)+aBC~cxZ?}}<6s5PZ7cK2r(?H8L~8G$H0rGip>DNQD)pA-fUr7=>E1 z&xV`}o1XIfvc;fYEYN47RxOa~9llb{W7X>fYE*edo*6J>LX^&EAaMSeI)D}KaYw8g z;2PLtNw3o%(kW1?-crcD-va6zwgXk%WrE8_Q>`Sxfa8Fv^gW{?y$)O9+mnF=H#0Tic&4RiP? zt1LZnpVbKHd>AT&&XX6gIiMx{3O?F7=oc(FBQ@ zO`ryDO~h@JGQ|GvEMQf<98RL3m*|X{m_3w@$R(CI=tY^8c4Q(rGI5vL48$6~j&j9( z5u~)aEMl=Glq%FPooj_$i9K73Cw%d^PNBBR`9gCfbGaGP4hum~pg&uJMMT%y)B>T! z5o`I34o9KpcI)NrabsaGo5Qi5&|=hkHIs_a*7kZvFB(&uQAddiX3K?ubY#eu_uG^8 z6l^r*l5mA6AK$DslL)Po8mzEN9(c?F8;a+85QC2yC7OviloAWT+uaUtB$4x55D+es z7_;?4Fo0wwxdiz(mT3KQBj=K_SR%bI5`?a1Vou=**FgDFjn#O-ZmF3M6~!zYL68+ zFBhUZ&hQw|Ua2G!z@`sb*vxUErMz{uoJpDi-z<)cVV)|-oZ#R@87)Cc@2x4{*1*o~CUV>5cAsF9WM8%CsFSXBrkrZb;jqDijC4Je&} zz{!GzCrOs@m`^>at!xIQGP_SMw3myq`npd$I3)5ob)k9+#Xcy_ct2C=if>gYGfFE5 zfY`>9xpLVI{7AnYsgNR;BU;Ht95RZ_bY!Vg(iPi|=*Py`!^-NF`erKP)w(EM_lVxA zuiZO{XqASbafrc@MsK}Ya-#52TqpC!0>(hrCKWqfx%EWCI?1yry)hJ<_NDTvph74U zYePxob7We@xZf@1%LEp$*|>iF?UJ51HaMuT2V3PH` z$rfZhrA;xy+urlK@)i9618{_v;AKi?(PvP!ES`*LhZG9KYQ~=|NM4erHY&cD)y!mC zq%Pm#&&*uAOQ6e{Q~iS0-mtK8H8P;vs4$*oY&@2B8{f_fbMI82|KkpqFZkv^e4_u( zFy%51tA*4?2gPu5)|rkN4%pU(w z-l+S^Rn~W&rK-9yePQ)p{?3N*Xy@1|K{B@2DCZjPBhU8e_CHBzy>adFZh5N8iT&z# zpT-zH-{=q`*VWtj)rO>yJS#+giE-@PuL{aPesnkMx5?zZNxflGkh*;EtA`%-Bz1~w zkSP5wZ?o>QsQLQr8IVfjkj+n%t5PEE$2!MnR?8P6s?BSh=ee^f$wwkJP!`n z-$Ma@iUsg?rm?Role*+pgiRlZ;4f=jRV7iP~qLJj;4v1bHDpb~C%ijjnh^ z3=C&mqZJ74r=*ld_DZkLmfE%(`FA+LXO7U`uO90&&W&P`fJ|m-jy4B^*Clu(Xmcr5w4fj z6G|jkYXSZ6*=`=@x9B^6_rv{&efWhQs*43A<9eae@@vFmUo|fpf8m(s-unS@Y`y5n zUWu}w`x?WVfB&Bz=7J-Gb_0`}49LBERsE!f<*sgodQLeqN{J(PHQqX?3jg{muO7Ak z_#fYFcr?=CZ=FtV`F)LhEoJA>B&T%mR?}?fzA|j6ZX`YMbg}HnH>{M@W!30nQI|_< zE9^x%Y95oNZQgpbkq?T_a*YNn2$o9bi+)TIVzGkbttB$mtlumU2vG~$lSkF@xM)DG zmpd}CdR8ee7Lm-Pw%X*@h~H3Y6l_ANdYGAPT!zh(i?|9;JZRK=)^{=<2S;d7Dkz1* zy1vtlW7B7#S1&Wxwu^2J>RW37!7S3%8kfsLo6#6>!u#aw5}O&fA)Dm)xNErxo0Zv! z=_Ny4;r8L(S}>#^KP#AYBmfUC>>(veq29nj9FBrr8 zE*9ug3AKKsSh0F@mdUR1VM>;%uO^(4%T>D)G09PnI}kG3{6?oRxLGhr>@hQQQkuHb zvvIev&Iy`Y}-z*K-t? zt93c0Bbr3Q6VGL{dAHgn8=O=)Q2GVm*76~0xJR!w8r0dVEsMh+(#9|bsa$OHX`MNj z?(%K7fF~8{)Pi6=6}`M+kt&14)9DR8xZY@aqVdk>B{8YIRLRs=$#Z2f9h6 zx{`_du^5~5MQm8=oSqD9HLq`beNM)pUw_)_QBw6QSEy{Aa`AdO1~W$=Sg-qw*Q4W# zP*S4dkMmj5>PHV_wVXveEORjjQNPI$fAfQ4J|>Y%hX4)4imb*y`KL-HW|nsT#h*^f z{QJMX{?2|hq#0rLKRXtT1-A~X5xY88)bmb{rwZ|LT@m|}$$GJ@6leyIi?LL%P(R+U zYxF$6dF=Fn|7y9=EbqrBIZW30xUF>cas%rVh1JNhc?%w~2+QA$ITYR6D{6Yjt?G_R ziTTmTm*4qd+urpT|K?9SEQK3?{~sSF4d&?Cum0t8>`3Xx;o%*h#?4d9M~>?1n;K_j zXVt|%E{+wQROb3d@7Ki!9c7Q-esI?-WOw(E8}-(MU$=r%y_KV8NoA!{@^Y(?9e+uu z;|clpyPsYODmY3m-)XK@n||bq^R-qXRRx@1d6K2zoaV@cS03+w{7K6;{5N0!<}3Qb z;V=K!yBUQxKK#vRJ0z{@R%UfWF0xG;1BOn0YfmG!uHQ&f%&&L2uWy$^+k4{w<~gp` zoq6-;@0TQ9$43}az3uSRErV1WQ;)Npu}a9jbW}l(+nLE{`XZ_6*yqdmmq~ zS2x__fA-8+f3GWk_qX>pcS>@_ssG{Y99{hIRNi*EOQQrTc;^KYl zmCixidaUBx+%E()YE(HMmPzHF6m|KHeOGqX)pL44@5I&x6s8!nn*Z# z9^J}ZUKNalvieuYED^1LbE9l!xi1G~g@SJI6^2t|^wc8TAHAXc@A$rvPI>jcE7iR? zm-i~ml6-u)TDDTB#N)lrXewdfPH<%jfrx34#vH-bWVPV4%jD)UgQr>sE_5x)wJSLc zg(i|(ZSIGBljD<2Ww6nV=zXXWW=m$VB=;%pT9F;aRaOH=;CV^)Mo=O3Uc(gxdMh)M zj9LurXsBG?vT|cqt$1jdY^tyR!^aV+pE0QP=#2JEt(bWy8Sn_%XBFmd-NT&OAE5>r zrKrZ5;ET-CT&tK0hAy)ik%L2>GMDJ>@CLp0LPG6}`FSV5*KM)Mg75#P6!rSY|6MoN zQoMV&M#(dItt7F%6%h?^+0TAUapmn_|I^!v{y+IQUw@7fc|`r=FAggZvsXI=dhg{Q z6pe|zVmz342Z|n@m)pzHrOMgW_wMB=(a>|>`PNCr`cHoI%d4rl_=P|IqhW`+`oS;$ z>2k!PIDYCC8PA-}ZBl(7IlAKE-P>`WzoSPk^`St-bNzQeNXGSJM_u*0!+R>*jg(H>UY8~9oj17x* zA|}^q_2;oa`A>A~EOEO@uMN~MxLxD&OEF(hI! z6VQ5~17Fe}Vsa_njP>Mg4LAgdia1?N$B;|ITbyjP7Lf2ns|L76M9y0aM3 zDWp!RY=C1C%Pr1AZu{{&B|T%{I8&&j>Tf@MfP0h@-mui|2}uX+8JFFi|GznV*WftL zGhJ+drc#wu7)Aq4!S&HpF*{!p?wR@_P{gF!LcYfyi z2C~n|N%A9sC}1w#Uw_y4d%yR6p7(WmC3m5E#WEL{(|G?!4}a3NW`A(5A_-dS`rY1M zKW3(m{FmPoRJRM0MFaw7nt@mI`drT3c>k||GLRSNrVODXTY95HU7<@9*SNLUE&cb0 za&i!F|K!m?2i#F~mfJ>q+ZPw6s0$GE+psT4l|wIFs&K8FcUum1{HXNd&+d0!N1GhO zk>yACvyIk`$`8lhnAJqreE9gsVeaU;nKx#tjU8x4kstK3xeJp^EmLY;?_IOsxRgR# z6kX;>QQ907bL(BnT9!kT4z-tlKo1e0YyCd#FW&clZ~;NMO2OZ^&70dlQvRZpEFG@g z5ZxdD&;O&E`=R@n|Kjz%!Sc=bq+-=&3deHq?+uOp8`hXoP>MHx(@vFu`oUpuZ!=|t z*AJhY&C<8dSd8}c@zRoXy0Rc@-ABy-@G=u_tfYo(QKw7j zLQO~p@69qhMxcIwY}VWe|Mn)PtM--eiPVf3KKrX*AwbFx|Kd_fY<;o5Y?>nCak=je z9DQMC%)GhZy?N7YRlo85nJVpU-a#a7^U_ydKxDAZpFG}lsW-lV^onqOdw8Rph+;K& zdQwKLh?_T3cvB2Xqv-1v4IHN9-Ds`6ae>z+s1?`+<4ic3o3oAX=KH;5xiWd~(xTbe z$X0lm>8q}3UK1BI`bzR3DlKP;lbTCN?HX1Do5!JVC6yO-L7h5P*|@*4E|nN1S$H|x z2-HO^*06}+T0ulZ(D153BR;hM-d{b;ZWaz*DGdf6Zgbzu^;|9O-4tfd{qe+@`sh*n z{!)qiSEo5OdH?CJhMuW>{pE#l@8e(nW+SQm`PiSnusGPyN|n?S-9!vJdZ~S~-#4ZB%@1uzV@*&B2YZcuBo3sLSwgT~0Tn z74yo{Woa3KFIW2hrKQDe87b;`jV=Y&&0D4_%*|ADX1F==sEZ>)Bqt|t7;)3e;v;CFO315aA z%6-_PF>QMR7#>N*-Uk* zAYeGalsuT_mndeDkxZY?RVQbPISv;69Y$9Zpn0AJA3DFd zu*BFId{xNf?n;XYp>+-ZNk~G`<6|c<1Y~2mf}0X}9MwgG9NmLtC0PzL2Q*WOOS-*w zgM)jYDbm0^$dUjjpL2Q1WRR;gy}6Rueg%oJmRDNaJLzI&dG^v0GRwz{dO(@smBQ;# zIT2~3{~p5B@JsFDUsBimH^0c_syxRFuPZz6(XypnUOabM$Xa`w@OieU78j-7^$%N# zC>17hinBS?Op!A*X6({}iM-P*nsGhWjPy}*g;~7rE+cUc?Bmkni8p-fdg=xoT|IpE z0tbiD$}qAP3$U1Oyx*2>-BB8@x+uYeWws53?%^)|fPoj=2(HnWy}@#?yBw;a4QyVYhM9zjWfVcm38ixG!Xc$>BMt5psHE61njh(eIh2w><1Myxc5pZ9i;z z*Np~(B#g~k-5-C{;0vc;7!y>#wYg_hN^{kvqW2+oQhHAO!NT%K@AZ3zN}oQrNQc|M zdax{9difM1R@%dz{X{nAxNI|V(~32_kSi#Rc;gzx#2Y`P7H(b z6vc45&V9dNJL^Nn^(|h|FTZ~)v3u)UWoahrTZR`GbC)JWTe}fmv&7j21l@Ws*@?4j zi}0;ok5&-0=JnErH@J$G#zC%X%xKzWO6bP!W+iIbeHnqj)aXV-bC}ELk5@1YcWx=i zF6hKf2R1OXn{i{Q;Nu8rKy4jl(}!;Nt7|mjzp;+V6*@ z%kll}%4G)eOT8rFXI`JXBKB_Wx0iB1{QkM3)@tp4)H5uJ!;o@_4b;DL(_J{16P5>Q zYtRyAfAE9LqS;uFbd_GbJaNUlakGm#T39r*>!3Pn1s}csSEO^6#-!O`WiN#9ATLC!4W)?ZIdPR!@C0RC? zEfW@>q`fSOD?s2VCNhmfh*gwe5%VTp2^&svc5x{hyuZ^!#3S(>@4GtBdt#0-_ZXZKpLc4FS+5 zS~ixi1wyfOMMNaQkYg&$;^l=3a`oM48C9V|!CINN{LGTzyJ>6;dx=9=5v`xr^krm7 zmWqfqq0;bqSU^z}s*0O+lk0G-7#f1RTuai#v5;9@O$Tqvx8h+7AGy4 z)(TwkDq6g};v|M6QWBNREolZY1yRs77J#!*C_{CZSC+HLL@sdAT&ilSCm2hVf+r=W z5sFI;MNyolct}c*gc8Y0+HOalrwEc@CBU?J%c_HHtfm?OWuscaNg#7LQlqI(AVRr} zt~-dRx}pR3At@zEN8ocytqO>)tT9WKnF?*lo}Ups3@0H(?{eG-q6APE0WdD$W^7Yj zD!%bXj@E%P3XpUI&=aI;ivi;akVF%RjxY&*;O&&^LIYAHiGbg+!exZx zT152nFiQw{1&A2}+=8Svbwmroq%~kfS8YiIdIgSNFN)#)L*r~W&~-`W&0xjx9YqDc z3lHNI$?<{WfQ>i+rpVD55@=L009HZjIZPgaU}8A)8O?U$YdYeWYElA}o3Ha#S@Mt%v0*cFg0b8mb{!qU zM|aZ%;zSZ?%LzS>(?!KZng`(jbcBauXI5IRNT^mTRoFjQ5?A06K~%Qm zkW5cm2)rmDm`p9W)@~($^yy9#S&d~CkQQ13MrNss2?poA0y%(1*6Xh$_C9k(;v?9{ zRxBuoRh-BhNO{hiR~YPy5-mD>l){Mwbq;X0u(g@_LA8R2(>RWyVkW-`Sd?0YB5f~Y zOITVen)-^L*<2MXq~Qx#G{$nU91t`bryIW0@V$l$p9G}@*LuhZQ(Y2eI6q7Q2)qE2 zs3fXzCEGfDBfuDgXN>7>yP7L2P`v>Q)I=NT8MyV)ODNazEPw(7fZAO2QUs6z!RQ49 zd@8A6imCvfp@OPLP`9QLxH?KSdBDdAgpd{l&H!#zfm2N?$~4eC0dylq2$z$<;#{Dx zGOQcL2?069V)QKJB;-+!in^(mY?+A{h@ND{W=}SkbS#bl*hLM$@I0(iO$R8;l5Gi# z31DLxFdRyUIUT?_(}jaEr6v!>LIXIWTFC$5C~hK_kdi%3gv)Yg#?RiOX6W<0z{Rdj9te! zfhq%58s`)g0uU!^I>N%D6lkv)S$ysQRfDpzDTF{r0B#9XDWIti(BUEE1TMp=3h}BU z-x5V0eWBY?3)x|HnL)a5$nvzeYy(}qC`zc8x!evdkzT@f4%~GJJd}g{@d^+0Xh6W- z7M23c!wNxB`nIbpm|r+FH4tKvY^?;1s_8CPBigFr14Wl?*iwKyR3$*e0pS1w6YwYv z6)}C-foz0PSwh^NG>kk0z*z(6u@Oo*Qg{xgE5QKPHv~Lf1x_4O6DZ*{4NxR1LFTDv zBFTY;-9@oD%pw7BAU8=pz`22xb)hCfc1NnILTXFc7BR0Gj_6*1+!|zeQG%dtxKM7C zBt+75BKpvafSalUc2@(SEFifF7(D=DPB20Tn=&Z{z-HG&=K{?RWWT~KshBp{Z?P3R zlAvJLm|;l3&nlVOt^*LCg3dy(n!qD!nADocr~;m~oB>}543>kmgPI4dwHaWhxqw)U zmV?p(vvfmf4iezO*oska4?$vsFpYq-UUoDEg<4ub(34Bh5d>aE-5?TG00}h$@|F_p zgqTKwfPm?a3NRC445%{J3Zxj8CIILJa%%#Cj`>AEz`&0~PXb6AkZBzla~*J4d;oy2 ziU2MSmH=?RK&%m5DE?P~1%|^P!h~SBaSJH|$aWxrYzrtre2CjIHwn&~1b0CkbF>lD zmf)QMw}J)%Y%f__=s!HqA(xQyM*IN_-vDFoV9673K7mf_coc!Rla~iTWvnF3eX_s_ z5*fHXlz~}`+7gto3lama2UZ%35sem6b<_t+1>_r~1d$5_<&HUv>XN4uP%=6g*nGkw z7;yjq&c(I?`v++W9wh^f4Jg50Gw2usc}EM#8a+U} z<3Xf&@)UUDVB2xbF$t>PL|f5kR7ezuN|A>i zbjaux!Jng4bT4|Be2cFSYJe7EhTwaQ5W1L996)WrO=!7k1qZJH04I0iA89&j2Yv}@ z8YUl#I_POq1e78Ih9~oew2U+b15AF8>V+=BOMFCnpNtW=hFPji*2*94mw$Yrxpo~f-Q-+Ki zc@U{S2IQa-qqn3Qm_(!sWRl<-@-b=0=!eXH(&u=K#XR~u8fr474}QqRB0r-hkJ^RW zlh%?l$&jE-(tJ|HmroqEkPH>Mf?PztBfrTHc{-Z(hY!B|dUPRKjHDn^;e#15DghUd z9)fQU3LU-u1I_LCFaAH~dH8=x^YAOJn!A=kZRjma9s0`qtKy`xXLuXlpcwvETL4w>SJ0f;8!qI|>igY4q z8$|O^@F>#Z97C}j6nlxnks9E65sE)bLKtKm2(Z@$h>q&JFl_)L54i$S?_gel5d#Gc zCnp>kkdr0waBxteI1qM{4EYbKfind}kppIq4qVnq0a=>ubeYfwY%8t4t|KiFCf6@#(--@hE8ThV3RP( zY(z`)QUpK>q6oScxJx+o0mThsj|!5F1T|8W5DQzf6pktutDuUfkqmh__ zkXH~H$k(AOJgihM?!`V0Og+w-3Yb>CCoDGF&V@pYe$KX5kMj(jVe++Q0%4Z9D{&h61s{*CQ|{_K8Y(powKA0 zRmR?F$P6plKH{0j^(4rE7PPH86hI(1dEQNN9QDFDXd?qr+A!M4&H>v6v{u8#a#MX- zpj2C+6&!PEDEhkQ!z2i{nHz_o5&3nfT&{GZd5`u12^50t_h%M#5CEmxHx}bH9hY)FN+Z?Rq1{7_RLO+s#fptf$>T z=N%tQ$Fc*QAVhM^h#Dax5PB*Hv9+Kd-vQUv^&uPXnN%#~+4uU)QNxklBaG_xFX;BI?j;i}m`L#%9 zZA;)-fi2cJfo3a;z|Il;VWB8kJjZYpgM9)ZAihSqDM*-drDVnptRF9h5}J7J)mv*m zl=*fCvDC4R#8{3n)}q>h52>KqutH!?!E<8?09T0?a1at_xv?vvk@0FPsYCnE(nbV9 z5yU}&{)gBBrAQVz7mgMdg~Dqfm638&tW?1|gK$FEv7;-<2$PV=jH0l@RM(O{G{2I-*m- zR%~Ty7}{3ocO1Q<0s2mKXdMzlbwvp@5;;_XC6;TlijBMgahfN4V52cup+SvG^G6XoQ zs3A5XB7k8JRump=8(3Z;u9|5BLDfOh0(lKOqQOgkBNkZ^WSGD=H8@S&)TWVm8b%_d zccGE*0Y_B}2S1o-t1M1rIF_(5HY$=ES&$xtP-n_a4T~c30p)Ozh8<`t&9Y$CfXIhD z#}P{5P0z2xm0ka`a=bdI~fCttHVTn^L7iUhos>F@D zT0`y$YuK^NMN}20Kw1q0O|e9YH}u(@)Qf6)Se*e-ql%295>_3S5qM&}h+~c&MWBm? zFx4ShI?j_S>}bd!8C&4a@J_Q@CoP%)UMD(O+bl|$?SR?3#K22CffiD!QZtB2MRuQ7qt3k2Q;>=NM zcHB=aqev6eiU&Op95`5?+(@=LK5TW{o>3N!bR($Je$!8z#%#`A3zcT9GH%lq@`~TC z_cTkW0$8UP85Xj7=$9{!b1@PpxpOm^UC4x5$phEmQIrj{M?JHtD(Ih;DpI<`UO`c6 ziY$9v4e5`!8sHFm9uU2-WrW?nn5#nT17S|^I-yNTPHZ;2J}1Q)wu(p+qkcoI!U`t( zNT|J(DAe@=kO@9C99c==+LWQ01v_?GP^AgEx0&P^52-A|RG5{My3)*o8lN^S*^j$g z&2Oy1)Z~C(Zth#aC zl`97P+wtZ^2T}>&gPty)B~-?Ae&C30lSnR3liA_ytWSk z?!c#z!FKA^b+z867ntUT4@()vCCWy|abPa8N|x!yz%Nb1)@!LG8DP+g?71APIrUb` zT%em?2{2{`w8^>*hl1}bBJ37?-d%6OE#T*KO4@d0Ms(VsK9woQh}W%!>0)cQ9%Yq@ zT8u#EoXm2)y;wv(Lp03i8BuSfapucdYOtZ#wOT!j5*Q0-X~P{D@v6tefTY;a6sw+w zT-iN^PAvA~LUYZ)+?~m{?{uk!JngQnM%5B0*{wZ&=4`t=u%`yJ-5W+S_YLo+E% zgJ9}nL0ixQ01JSFM+4W)ZX_a-jDkbi=_6Z(>1CQ+RzXt|vMqIH5;Gg*BZ*5>!znXd zTyHB2hMj_{Bvlriy~g|$*ISjVzL%R!Z*PeOXnVF5i_=0j#9XfCXTmkBpqK!I_4@Fv zVE;s-4KIw)Vq2keb`(lhx2poPrBaOnC~%=C!E{F0NPe1hJsFJc>bSKXCQY|C!?jjH zKAtNN)&OupdQH>nI&xWQp?tb5$)GIiVcTVEoLXi(y%3bqFtw!xxN54c``bLCwK={R z?pdX>x3=NPGS4N68E|kD5ys-|gxPk(W|`8U#TYd)s{4x3O3HJ_X4k=HBh&g2J3OyB zj@(*>xtnPwpuHI;z}z5N&QI{2t)_0JwKL;Z*Q9)pclU;toG(=+?8jECug~)oHd9BN zDSO*Jr{T^Ws}9y9x9^m-?T%a+s~LW>nK^}0UNOAD#Uii-u>|gzZWe)sLMVy zxiEFhU<6ByTE~>mdJe@S>rQHEUASU~X0fOSV$~hAJS*oKA-3yKsAAmw;o2tX^=TLwtHbwTu(Hf zElS0B=rBPhm*w`RObIbYxqsKo73Pes>#qT7?n&%2I@^sl;LWC*|x%B8Mu17Ik2SH&YF8+ zb$y39nqPmC7OJ_~cs+~e#`#{lp189Ys*N@1HWkN9)S?_ zWhh0RJr&&TN@1!^7sH)^UdyPWyxu5LoenfoMb5MRMyk~#YKCt4>P#)@w_9*S)XtN5 z64@p=)R_J!sZFmH2Ij)F7un)khdv^9J5jh=pD*G}But$Rx9hDft$ON(;$Sy1G)lAs_`0T9(dOfBWzLf-V_JPP^_?|&nrTE1UxVh+ z?ve}F_LvJ3v(t@_Z>@U^^BiauV^ewm{wH;{IDVSne2~pdmyPU$#`e%Ub+*3S%4_o% zt+gln^vQ8nWu>)-Pr*>i3ukFx-}UC*?fBwYvK37U4q%kG9t87Tm^(pt>axDIKcr7$ zBE|cwomiMHXSce-`6)Kuy|*#6ixDq#)&Q-BA??33DKO3w?Wfhd7F}n3QF>=S~%uDX93mG+e*4f|9 z#30kEwK(<*oYmWTY@PYW#jRg&8n%4wwfPTz(acZNMg8thaFV*cT`OkmV!7T9@~=Vi zo82Cw5cId%=PuSCw#~XWo3B6V9s9QF&DWpo&wlk)>+u!{G%tO(a_8~t_;iAm7RA@clhnciO7z9d+y$4;nr?<^|o{r7@&zMX>F%5sGl7(+y_s!ar&a%^B&#Jov;UT++<&U znR~czL*BCIkQ?TOiwAP^Nvdo}qQS|N2+L?JZqFC3fe|%rKaN=0OXly*V4R4DzfAl%Jv-!Zd zqnCAm;n2(4&i!caXl2`cxEf)^6>XI1D_AxhUS*YnT^m z<;LJn<*bQ~XMbDy=8^E;En$58qPu^mc4D5og{~w<`e5wnT-1N~*)8SJYhJrsJX%n9 zAM6f`uZ|bFERf5cLBeZosnV+p<-p&1ES;U7nrJ^+3mBwAHu^ojU`PR*?hVv>dX^s7 z;%8gWvYF?Ps)I-C8}{Mz>HX5n#*3%o-ltD{r%s$=hOL6KVMR}y$6qWyedgC@zqz12 z`rFo_=O?VyUu>I4j?f!xom*}C$aF2bJABsh#=r6}r|vyT^T*7FeD^8$@`))|ymjxV z(#iaT=5eu6%vXHb(?0uM|HvUhlfBJP{K_#wU0qc^7y}MpNPMtU= zKDy=HjvIXOwMu<|Yr~|Tdo{QE=||f5NjvLoX8CWuuyFgAcY94IoBHl4HM`qSar6n= zz3B8y&mT*^_-sR%-Ojyo+AX$snrn~Zs<6si7bcr`AMQTMUmQQ*ytlP&AARu!b4QzR zv?~2xoGOQmvA_$}hR8mAESzN?MQ2}1x5eZ9{=-k!i?4qB4C1ru+k3*1x!v8VBg~x* zqqJRpp8IG(Z|EoUtL>IMZ6ki^9ca~K>fTTk&B`lB+xKbfgLuLY+-TZSWF!suyF!#Rrd9PkOf1EioMPIo4yM6|zf_doc zlO^r*?&?1cPoEs?K5;Pdk{)~a(|D}1a7f(=lzUtE!)YL&Pt9tv+A%(Q=)6{aVtixP zPkS4s+v~@x)>M3N`tZV6)6I(V#U0^v#qJ#c=7h5Oi!Ye5iQB8Iu6gpr%-(OhZvL?O z)N*P^&!~I%o?ipOiwdrs;*qj~j-(I7}C8up}2-79Dlznh3D9&*G zI4xbA_cc9vayu3CU;WNeYj5qmw<)x`-SXs%{~7)H-#_97emwi_?XzEfWz7EczFSqA zpFc8BeCLl2weLOp!em^i`N8?Gd{h476FXga&WIj_Pxs7M|E021uT9I_58Ly)%fEE! zsQBoA-_J9z@GW=m7v7PVw2yw*UZ+pb3QDQlP^$Iaw8pV#7QU5x@EPa-A~sNOn>Q&XTSQ5=<}bJUuHkB-NDnde=-q0>2EyAjy)IsvT^E#Sqll4_Nnhu zzv${GF8b7w32CD#*0w)2%opbT`!k25k3O1T*xo42q&u0>v5h>6O{`y(*E8ltH{5p;cg~Fo`rp6encri+Z zaRY&%`w&aV!b|pWa`%K!Ns|uR5)33nkT0N?@~^ zPp$dmlIm~Psp*;L)jL0ZB27R4;&}2nZncMU*bwut{#S+Vd%wNkZ52)^)o)MwrQpFA z&#KR#bTe&1OseWnKY8L$o%qI?_}~8h&(=)-Ykxkw{*i2yJw{mnt5m2y|FZDxm!D*3 z4o_CL9yXI`yn4@>!ohIoBOKuJNOFFgI#kcLsAg@@*|oJzTNs{ zwIWo!I}1lPe->AYe=7X$wy0F-`7@QzKl2a2s_uN6-8W9WlG_~!zo@)K&u0&Wvlm~J zA3WrZh!?e~!iCN~?g)q*tGQzHUggLsVe9U8ke`#hLcGW1zcEq#b|X zRAKVj{9z^e?fo#}zEj@a<-dDzZ~N8ouCZ`hd;C}CpPckhO*KB|Jtji{?;mgqW0*c))dpD zzoCBq%slbE9afAwTHng7#S>)tNxjkS~f&gQM38<|)w||#R9y;^VLjP|cII4b!9cKsi^2vN)?61d; zPeRs-r(cnPrrB+-rh`;F@!S}^=D~0F*fYi5ZLO`3zj(M*?{z-5UlJSpTdOtY&;FV9 z>ufro))(YwzsP^%4E0L6`!`z!e|0!@c)siTIiZ=O-0hEcnR#wf3G%IHPul$9$>{Mg ztUmvo_~3uLJ8|}K%^m*kXU54Hs{b%$W^0HoG~C?!Af7#iP&xuP+1u40-I93r1Y9tw z{>pLpm;d;zG4`jYbM1dfC%;?W`XKz^gURPAz1z1Ay~w5&|MMrwV) zbK;2!dt=A_?sr9l-ESgBNwcla6=p9QLG!jU;|?TmHJ%&iGN+jQ)I4cLXSW{et)efN?aur+srJ^Um|ytT#H~j- zPUUm|;beQw%dA9pxdo7ye9Do$3I$4fh@6lgBdw)k$**R`05k)+WYI26y(?O7!`_P4^4OnfmrKS)Dw7LBI1zfAx%-Z8#=3JH-#zI!;wg z>JBTFC^<5BhN=b|BZ5c=GW=bRmefv-Z+^@gg^S!cm3{K5=JR7S;_8~fuGxa#X*3x9YP*R4E22ObK*l}aK%hdoP59&^;$g$t7cJj08wQVL)2N{=(9@DT$ns$@ZT#~LeRB3jK($gL)?gk{FU)B_erz-Xn+iUunUqTRy zL6Fola0_a-#9DP&YG}#@7l$v>zT4dK#JPF18O|+m@XNw)tWOsm@W&J}_L?c+9)ijG z615;^Km)|GLUU=2X{NxkYZWdYIN*f%bO|U#tDgCdmO5Xm*0_!R7F%0TK-+_vQ4)5C zS|-ghTxY8xNb^i5Zh+YnsLe3u=f!RtvCh;w%rWe|XaKNhM+zNuEQ56d3sLXNWqWKT zJSzn4e!$y2xZ!DR)z^o*ARy{u4*!4Bo8sHG>gzLfQhl6e*G5nGv}F zXYGblW6Rol3;uGThLI-Ou2ib^R$X*u`GUT&w!ei6xDvRy=Bc$P4jlDn|aM>wk5X=pH=;yUqql49OxQMQEE2< z4ak?&Mrd$$Xeep8P{_gl6~sbK6$)lxxp z+iuUONfjrpD?+8nwRU=TIbWzKTYCwM9Or7>U$b&)5Ws6>_`MDYH*+Pf(e;sI-m(O{ zR@IstbyLWLh|}Gut9g#9X~SL&UpYhTcA!%*7Xq=O&GV80qqxavN(691IOt@aEmCuA z(C`$7g2CG+?!nxY+UzwEvrU-bTfM%+)zoZrubl+>88%#vwJ0IJT&7Sn#HbyqWtibP z(+dDZun@A02|M)w%sHB^@2pytg$n$ypb{W95TL;Mg4NzgeGtKA04f8mDrH0Pad=(M z`Yn?$R&+qcHS4K?aC2U-6&hxFfdvK`PKH%G^0=9Nw7WU5;knfOCgxeZu^n;+_;bw= zi~&SB03EO>BRW>37Rmx4QUtEmjq5-{coHJBbqpN7c_GR?Fkv9L2;x-X0jH#9IaET1 zD^b!LnJ1T-xD$qKi58q;YJ#IIIY4v*{gUjpRJk~>I9b{cS-L6#`GOb_b2Xy}z6E8< zonb0-3)618zV5RNG~;-&LK~F5v8Gk#i<};&Elf=YI2~EFZQYGM1>VbgvuY#2#9(`s2>jivm? zELw0brL{&H!n=bO@#Pwa0FW(nE)R~bt?=-w z;Y+T}A)9YK^x(92Wt}OP47cvup<8ieg_F}xX2?~s(T_sb3S_(8b40HN^BVlU*fi|e zkQl%TEX@7Q%QiUUgbc-vvS=u(Vvs z0B*(UnQSg!l}yoryNbvRFjJWwim z#EDJ%Evs180TlwIm)5cltb>A$tZWEB1k?a1E~_d02Z%oHrW-9#O+{eNjeurl&_kSR zS(I7V?V27C6+GL3c`mAV!AD}*IV0TmoI>3c%T_z40z07c2t}CH8zLvE;Qo3o({K5{ z4sab=FWsa%$=5`q4qb9;a=}w280LX1W9akc3ZvutKI`2M`H7OOA%ZSKmO4pjp1sIt{Wwz! z^Ss*_HX|X&8tWO5EkL6T>mr|L>l+)1nyciLPS@mT5f@Mc*pI6L7{Tap-UGZ9H@lb% z3W8p(_d#d20hjdJYw$$zrO7#KxE7e@@kyq=+xN?}CAIHjeinma9My92-mXZE(?UV;uJ_L2sOg{qnQh&9deZXK&u7@@@w-I|#LjS=B? zJir`*4X6XE1~x+*fL>r66+|}0qz6`uQ|(S{1d;^=j0fZwD2SQ^Uok+7HE>N>fXhU% zMRX$pt5H+I)&dp|fwY0^L_?!`&`IPnFl|nKwd02brS8C~PbgkkX^sOJBbF7Ag*GSZ ze2M2l-f&c4p}<9Ldb(ZjAON$7mWSz}!RE>az&DP@@q*j#$RZ1^M-Oa))c`;McwSXR zj#9$dunmRcf%$SHy;e5URy)$^Y8A}1ZpY*rN0aFWPs}7dCVgzZ705Ck*3g9mS^$BVtaE*}Z`dqApt4nmR?jU5Oq5O{|~YMJ>P_?4M?pa6$Pi8)lIg{0!7e_0dG`UF=%-b0_H+1 z$&gE!6M>ZU5URQ+harK$vY<`MfN-K+5_m37yxunnUfHdKuZx{NiV-24a3@SZ0-6jFyUB2YePYoN>Ow#HKidPRmgR?Y@>kt!Nh#_4uU0sIgzl<_7=5I>mC zi%=U}a4ci^u@zCVd#TPT3V|P!fct=2gOLNcD(Jqfo^@Qg#JC9x`lC}aZ02c{7~Dv$@JhpDU}->%|eQ3ioPqq`79+&B0dqt{blI>EZB_fv%y zWdvSm1US6`a}6?*3w{$~KO?R*V$H@OPHd6~tQ-dj7v=`oNubx@q|b|3Ode2>06_!H z*#R^U4F!A*AXvdD+wBHG?H141yH-{7>mG{bFi+zU3mgX@3~z|ZY-0gqO@nV*6r&C> zyx=q2b&~?IRRsrFM%Hx)PZ5Dn*Rs_ZK?T4u1a=JJwgE&10Z{@Z0j~%fjsVvy6!4m$ z$3q_#KxLF!gpsHlN{wQ*#-L?mkYzYkZBam<0K5lwl#3_=1tw|}+K$MH2m_705VQiI zwP#@95dOpVlo}tPGC=r3)LAzZV# zIPRHu26ZHifqX<1tF=U>Ff;%UW9M}|Ppp-&HIP}W2X(}5 zXG$#guLy{Cn3D)42cUE$jR8E|1ZmN!qZQ?XycJ{Y733W4=$ zvTV3fH%!2Oq|QboP^gM&w|&s*D{dRsXvK;eO%=gQV24=6GKYczswaZXN1$!;Mc^oX zl5>Kv{XrT^a5|RQ8ge+G9Z|qm^;Jwk&>eZV6(i6-uh@1Nw%l6P@W2MI1Kwq`c^D4m zAZtV7&|vxl?jLs(C`c97NL!FVY!yi|>L3`<0z{n-Mj~l%MS`uO6Pi3rHX#p8BT(Z3 z6vi%A;l1`CGq_@|Dj^p{6o-K=RTx0Y+kM5Hb^Ou@OflwNqh)Vh%j9fL16HZ zmKvQ>6EtKPcU<7u0m>$HK(MR8WhWXZO82}G9afAjUh2O$v{pMj57fB$V-BG z1*$o82@rh{YzHw15Yv!w&`=)(Iw*jz)iQ-3U4aD>2S}zMO-48l>O3o_aReHMfM6rO zkNif2@C}L~7_uN9I5?Pss{`^6s4FAVgQUwWW+e6rFlB9%1N0R;E4mvsaXeu9q0j|n z>yhFHK%1cG<8p9qkeb54kr1>_yih27HexX1cniiZcr#EoFw6w6E`#8TqdZ9PGSJ>o z3bB>DAbx}~aM@5rFh#K11N0(M2M~K7dke%NVT{_y00g3g3i$)ADuyOv$UrnBMuZE# zHwYbx=VLp9u!idD;tL!VMOYum6Kn;MWpFA3>l~1KB+3Cx1w1o!E_Qk}3YwRQK1Cu5 zY@x_Ug5`#!Fn|Vguwa7s0$EBnMnHqzIut4}uTV1&fOQyw3D6!}Ck{zq`+%Aa@+s2z zXkLV?K`7=H9zpW>0KHFGpM-7?rl$rT1!0|l*adDJnaW`NA$1c3 zGX{ml?kym}u?D3Dd3n(FKzahTPpH}+ri~8o7KAkvQEZrK1cm@H$U$fbApJ~;lK=yS ztUM$!5AA|!4dH=3Smg!q7NCSF z7$pQVLBIe7Xnv3x!8r!858!uj-q9|!jd1wDB9~ERtZO_GorQQv2+#pD$4HX+*uFve z1J8&oJ3JX8q8@qB`(+g~Izas(dq9yx9U%Wv8>so%4 z@Z)6Idq_q#OesQQgc^ne0AU^yg8}~G7seWJC$y6286b(l22W_^m{q9dh@J=rAn6>i zs)?ZqH(<~)lBm884hW$gqg-4{`UiWmje`QA4ub>;N)6Ty@;Kp9C>n-$+>O%_=zBy+ zk-3H+Fkl4mB?wOvExE*}+NyA%&1S2s4J*kYI$y@S>klD0mg5 z<|8gCc5`Ic8jUR>gc5;6dK+^JFHi*eOSq!wD{}Bb<3Kn?A!ryFBIp|O5*36LL{C8` zp~{$Jgj9@KNl0fXV8q=-$Bek9WIcjjO9-A&3DFc-g78>$23W=97pSGE2YLu?!5?%x zDh~cRwmt|6EEF_>+)G3(IvCX@)N^zso<*ud<`L=v+&88m`Unz~^bfwpbRi=;n!SXG zitZvwzD6<}gG$P<(f6Y_qetMT z(KAVX@QU;@Y39L;(cPqhq)4)IF{1cv^lDTNUXdyu{2M(NZ%AuKRUka)QTGrIHR+wv zm7{i%_TU|UM#UX0mr;>;GN~Ot9u5t@H2XM(52+f!S{I9=neVy-~ZsFgAYdck@_9{2f`-emyqvJrO|hz zivQuwmk&9(YxIcGgUB<;lpznmuY*3uYw~c?tE1cS@#wMSj?w?*7Y2@e_~mEh1!>;F zIFnbuFOifpDsA)uo`%1pT97}Z;ThHV;6qY%@-6x5;G)r+QDLLI$nB#q4q7*QO9l!b z9}Lmx1!>Bc_mG#QjDugJdvX1!Z}I6tH4mzXN{@>8^4`&dM>QWk@1XdDmneEv3-qQ59p#)sL3jNmudl*;f^4kd1f@q4q@y^>Zd|94bHxej0+S^b* zk%A4$^PG3Cg8l9)Z}GJnSH=k$ffVUCu_EoOpdY`RMpwNb^wwMKo8p_U{VsyV zA^U&~b7A#Og!y?VA*?UoTW%)Fwe_9#&0*W{-M+&xB}se}u1|?`tOVt}jf7K3N>E~Q0!$SJnkj*i?&*kR#w?cR zXXjp@y)-?2`LaOyZoA)E-QM|d|H+4sKHl4VZ?(6K18Uv#LY#;|;z^R_cX0%+%pL#U zcVGI;7hd?<*Z=ufzV_nrbMwWe8o}GEhK~p)=x5tc8?Dvd`%nMPFaGA={Num=)sH`Y z@Vob(J^lR0&)&PgcIPeODu<|nD{DJpjd@ePy1d$nJhs3sT`9gk|ATX1{l<5{`O2&3 zr_W8Ed;M~5v0Nx#nYm|LF0vV`rx4E0@cYm%tX`YSLT!TW{htfsRM& zoYfom9z6Zk$9MKNcXs!;hx^<6yQ%)(?t}MkH@a8fee>O&+iRVIk)OZ%ZueUKP2pTc zzUtzrD6r-EHxSM4&EoWA4#yw+ZK&YyzEk&`vb?|*bpwG0c#D0@^zGDqhcC{RmzFA( z`5(Ue!to!LLEXKoTn*#a=H{Ibw{NsN8~R{%8D!|I;X6?$dk3MmT-D}h-Z=aEYZoq@ zntt6lf9mv^S!A5L8ey_Qd$h0WB*b66+wR5hf+Df^=+UEJ-`~8k|D$_%H=ca{^G$p0 z!=F7_)`R=EZzxk2)wi#nIz2aAnLTrQX8i2L_@x>{p^Y3r^YYMO;1jo#^2fb z5`vxD?}YEZ6E_;~x_-0Y>-5&wH@3F6*86J%B$b4%&v=urEmn&8D$BErmBk98acEcH zSx$W0e5bqlqxZIU?!I^9`uf`Ty+`+d^ziPDdbsReMb4xCJIJ+*Fu+3fa;{jZO^ERmg=L zJ9ke{PacYtC~>9L>Uibd;vI(WEz7 zfV%38NJ`Qh%r=V+>kQroEmVmfNdcG=H}TV)SSv*B5Isqz;E*r5iM!?V2BT2>4!cLE zSIMM&fn2B8Dg`3GOo5CNrBbCuYg0sE%m$+#(glk%oU23RE3rg0n~JAPJCA<)i$DMD z<<-eXHR^Skor(3c%l%E@fJUWKtyO94!9>6!oV|1F&J&g$z)N`IPKVtwSZJ5cVgc(k zl98kmkqo;Ic$vrJFlyBbnNnw2_62}2_yfUEB$~(+@`;cSzu|zN7J!%)OT}UiGS_Hk zLVh34uFBLKo6s{`;Jho76)SImqgH|UO@p)_pgToO>R5}BC zZ5vE>Uoeh(%LLS1K9h)sLa73_P`%OZZnUbPmUArmLa|72#fLZd`C(C@B0L}U*e!Y> z&ap(f)$Oz@Rdm2zTDE{Y2EMuvg9gN8)atc5oyh@z)uva;rE;}SPa^{BTjQawW ziXy}kOL#K*9JXFO93=d2OV}E#=zfjJphhYbizEs#Q_4j=?jnQ5VsrU&lMNUXk$;N= ztd6lnGL^{{%4O``a=o{`(e0wJqfyEr9c3+?%2k@JW;GM^`d|w!A#fv7UO27k(?c^h@c?j7CLRhY19lYuVkk9~wie*#LAWSFt|A>khEe@DT2$Bo937R82}B~xo&_gP|3#xH*)R!vaRk3~F>sxje$@k;oceD41zhYFWI0w%Vwd3Mmj=ESXgbFuOQ> zxFi6@VA0AYe33xN7w|Y-p&0C<8jE8E0`35mi(?X|YA}lR$`*>HEa}xiMw~)$f6Zx8 zt1y?qUV_m`$ZeKM6kuTmi$l2zY5+tSG$yMB%%t9EzEUovqkgx;;a){ZI-k#FusNfU zr9>)QAaakMxoX6XprtG(y$&B}H#68>)H0EX&*h8dh-MfJke;=06gV}k%@CdmLm|mD>$n8t}TYb}?*_5GX!05Ij4SI!;+FX_*EQas_k6W;GW_uxAZN zfGe2JH+nl;8*2%HS4If(_&gJuKxI575Nz0>Pfi?KDQ6?`lfLedfruDBc|6y!!!C=^RT zV}pMy2$U1!L8efg(E4~`cH`_=b~&K3wHlp5t0TrvO~JGkm5gE#2(28|jE7R*$uP4qMk1hASx&yp`zXm;B5S_Vu- zKz;#!g(Fea8ORw^8xA?RmNs<#VYXHxIO-Op;T`*%b85E(?96%_74tr zJ2_Y`f$TbV^m?OQ0rStQMb4znv-l#RkhRF*38iwGkVU66`BIh6gs#Urn?GKzcegfo z`+K{cS~>;I0DkH;5f4~%*<3aSR!ys3C1z2lCZ=ZSe2H9zj|TZq65b+pc5YFm)H{F} z1!I{)F;^%y>rfuedMO=C){C{I54$l2lk>1Qfq;C zMS%SPK5IVs{DEku(rDF7nJ9o>m(zhDT&h^9Rx71!#D`K_tyZH_>m9y$u2iiQ(h;D- zgrqB$gA}5mD34$ax~G%jZ!3&6N}9QBf)Fec*JZPl}24y}T15$UO3VLSPjt<A|QZQesmTToKl0Uc{k5f3h- z<&a9HR3Velm#X!4d#y?Zf|N?7OAwR2?alR89n)3vl&jTJCKm85VeXAMSWVal8l@a( zk5~o)!5s`Hn6NA8w+;ObQ;mRnUL2K`a=nyG;FPpL-CAK85KGK%RLMjFkyxU{9#bo& zJRX-($RIA4@;Of~S1OlFB{XKt#n;?GotNGIU^-VW7hyIm z+w^jYNUYZDq(ZhxvmAs*2nIn<2l^*HYFBY^*XylzZ)>O5$oiKoHZ-uuve_-rd1i2v zsS(^131LVx1$>E2rd8vlu(%NVN4gixK!i*@!Bi>q4fZG$8d=>D zJcxvmf`L#Fu`j>RjWh_`axj?#za9x$U_dZ{fvvzgcep%czrYs2iy%LdAod7Fz?Md~ zhzG_fjt-d4_$dMoFjffP9QnH)4gjJyIGZrr82u|a-bsLH z$qiJ+hZ7!;b_1Kjzhr|!@52y(Wr+aI!B6omd>;@Jfs~+SfUV(gIHQT)@vr&_&_u!& zcoV$b;P2#0eDl?ZKu82P^ODCAba8M)a!Y&@kH%?(Cn9eSk0;LuVuTO*@vAEbf5m_P zV-O9qMPMt09)M$!XMyhyCrC6B4wCsHze%3=>Kza`8a#j?QzUMP-yy$(gB(M^Yz@AH z``|++Xz-G+rsdV!k*E`*7K9-fFGqY0L{%I(M@i@fj*Hs@*9IsGgax^OcAF7eL8XD! zjfo{Mg2NX7_aV771!6%sk(qRgIB$sBC16-UkA;YZ5sOCQ3Sbjp0?0~ZDv1F`dELo zMzOwKuNR8xczJ#E^yK7dr`yJn4@7D$neA-$8;w-NsG^NejI!o=B2Wr~7uuj)WYQP; zdYd~Q%%;oP9MT|V^RqK-jo$9YM#9X5E5$~u+ibUrMQp((El+gi32;_!9>uCFz|L#Bh zU;oE1x(NqPPc*>=IEm$3iRN}spZwx)|L6bpfBUN^-H=hHwT4?~pZ)nSK6`dpv@YKK z?l-^noi}e&B_{Y5(PXZeM~Q=8C54r`FgrWrq45l%djDu|yP5PkwQ`X_v6R|=@fZL4 zm!CiDr`<-KM67c7Lzxon&NVxaa{KMy|0lom+h6^S-})EdA6itqbNd^m^@wBU_RzJ7 z=|x3kn75LMsM$6 z2km>sQ#Zc*)>}WmIm%cBv!NS^0#crIW_J{aR1>y3*i-{ZE60?XTxpCxx)w#ri4kB3 zNeo;I268zV`@y8$s8^_@;4G30#3HT;Hc4px?2}Kvc=`D9WD72^Pr_x&%|Q5^=IL*I z^R>6$xjiyPV+pl^PJe&587AF@+sB)wRpva60Z+|k&$S=?{NMiklgF2P8zHNJC!)?x zz5DvL;VD5dw5Ac#MKTq5ydCan=j_Q(|Ki{O_0K^|Y zcyDBky2zDVlE+7f&ri=Tp1l0@(dlMB;uEv4zxLg)zxLzz?oH9yV#7-DM=-#l&P^>*WSG|MVHH@LaRU8xjH;K+9+p`q3lI+j8`M$ zxvahjxLFqO4NcB1azzTQHMaj}|NSpNd-?4CQ4uIeDY|M_&Ak2ffARJ2y#DT;aVqMs zn#X6Chp1Zgr&_zG2i+FZrF<)T#yj7?HZ(EEHnbkTII2~OwT<)L3R0AO(boRiZcuRR z^>^@Ni6hn6J$i6{ypfBp*et8L&C91R-@kvlyIzW@?tSa`zV*Y~Vyjv(JI&xrkv(16 zy7=k8`@8??umAjumzPziN+2^jJg8zxSmxh-{rcUB*+m|#1b6ZAU;O1?ety|%?L2?} z{NYh8pKkzZjM9w-Wg`lrmp?)k8j?Uh~yk8U8Z&9dabQyBIZvvwoe|t|KW#! z^3&%J&kwemYZ~U*(48AUdHaq3?#II%p^!#p31w-y06>;hXLRT7*9_D#BXa{2xTAAj=X5<=B1MGO+w z^xbQ3y>BjaX)ai-aAn$!Qj!38Yfkt#T9r{Mc{admm2M6Dd~mXs50>8C+-bX<^(FeLdcct zow4fi$N%cz{HvdSc-bqbQbCVe%$}cFq%X19geV{}xdVw>Ykhlr3!qye5ef$U!GPOgMtDXkA4~y& zBk%~rMo;4vnt)$YVc#-_UYWWY~I>_86?Zv&u1uq><9YOTfQhI0^&XY++TFkrON ziVX~P7(aT0QH@ZU2Gz5GfAl)5%LfP_fOoN!FJ_|Q;HuXLQ`}9=dSZJm0k}568$#yd zGQjs$fOCarZ+myES1;y}s^-v&ftCVhP!drbAeV3xoQS{0Vd-U4K-1$909Z(d3$6ia z6$!;sbk0KFxdGYd4p1epMY7pa8Aw7r8u5|rG#A*ebxN6Nk-5m=$Td!17${33;Q@u@ z5+pcYs>2OThLHxS(dvwZNft0L7(V?zUm#U!^fuOOwQ>akmu195o#Yutoff#R4mv}r z1mceW%M=KUVT|z3&`1g!d({Vx$nUsS$OQHraWzm2Ljt2>Tn&3m}jb?xpR{TRWDa;30-|!gL5On}xg^S@z z!}rvI(%eCu8Io8Q2*Qd_qybMOlMTy3Xgz_BBBK;;rPXS|EwPPBjulDsBG_;YST_8s za3mN&1P0Ez*`x&&ERli>9HABXj07VgC_6EciT{M<#WcgwvpW#D2HuNSTX4MKTf&RM zk39~k6lgZB9c%67T$W$zrMTKS@X=|wAKv9(oP!Q5U z;i&kw4!0DOM-nLQxF=95fW*Z8w!qbKVoB`|ILQd^ z1cE>(h(AlB_3%*!6NczN29DrS6bLI~L$F6l3<{2rn#5S3iAh2x!H|jP2qC~~#iPL> zNg*R~AL9H0^aQG6B!?*6Sdv>EM^uWaGmIk&*+JTX1K_(IZZ({LY)|5YA~*v{2_b-j zKO&z1jx&5Es};zj2BNYA&lKnp+`Aai6W4xC#UGjdq)5;)ia3Sd^SlZn0}XEgy{Fn(A7KtqXxP7V`-oMGOHtPo~y zY-{2W<8(#n9K*%xy6}oX{>lEskBDajNhWg!cw?aa@Hpb+V^(oj2kp9dJOCa2eSyP|QT)Ni71AHIoG|IDpBBq9r1L?Vd`;Ap}I%5Ud&@ zGrTzZ0Ym_bL81XgVw8jR!S4d;!bHFvfT-g`l8m4^$aBfE4%VEAJ|-C2eE>;eeg^so zR}*DM{tH+d$Qa%h%T3TGyez@ruw{ws+H8>!X+ zB?o955hT+62r0~X5*Y>oXb92-!6a{ojfSWtqR_x9aBLtF4b*|4GX#@)h0NjkM0BCR zfiDpVhkWqA0Tf1FhTvlZ0O*x~Kv2jBi-ny@ZUWUg0IZ-1$dnKq5NnQqF)?J2gBwD} zlIg%a;8etL$yAW{h4_#Yg;baVnFK%v)D9n9O;Xv2%D_xR;0R!cdtgEE=fQI!gg6!P zGm*aLgIUEO2kS@n?BE7u9>^bGfsf?vF{k9l_!symhL6c1S!A!CJ(wSi^3`PF z`-6=-kVIU74;k9v9f>j~zlwJm%r^NOS&LUQNHhS^1<*5OR}DU7YmtQ;%+BD~V3?7K zC6h%ySQxx0S@U1LI(Y*5!Qk72$^3G4$e0HM#--%;WQ_)sHxOYmGh~>9pWsIr74Ae< zd@vkxNAhtK{FS`#m)ILG9n-H-f?@Rsw6-1^MGcp+2 zs|ODRXK>lyztpQIA^uD*BXj=cBXCzp;z0I@{Cz1f_}yQv8y-V$PKpZ#qC$R`EWoP| zx!vDO2f1|cirAKe>A-spmV#XSs~LDTv4i)=L&(nj)nxo?9$pQE%r1H2tFa6Q^W_#N zYxe5KgPW5XAvYb&4Vj-`-DmKIgP9-v=+z349}bq6T#0LO5t-swZ-`59D{?O~=wE$a zT|&fWa3vYY;0_q%;HiV>4Sx0|R*naJ`D{Fa*b`){Kz48zqd?`=n+~oZ*A3*63=)t2 z)w+^5Ad5U$+rc2oLkEKrdO;O+62c!OSD6igwT=Gg|kaZ^318z(fnB4Zu zy@~xzLN9vDa%b||zZ&$bmwq*|&i2Q%~ z`N~(kU-_^8;5&ct+Q0n4zkL1cum9m2-+1Gj`1;lx-+J?p24CNPlYITro8Nl#TloGr ze(;SSeEqfG|K9KY@jw68Kl{V~`uBh5zx}P>`_13|$N$Z5{?p(1ov;1YSO3XZ|MB4K zH^2IuU;T}*{>FcXumAM#zkdBUe*J5|{~M_Md$1AARjB|HYSI|2g3IU;D~` z`Q7JledQ~!_TPW>UxYwc%s}XZnaX;p81pV6^C0N+EA^O4(mfRYX^^Mpcbl9+5W_X1 zu^^BoV&)<6VDq`$A#V~0j8o-u`r@Txu9!yu4>%?&i!)b9=fDLK^M!3HgoxLI(X~`2 zh=M;DwQjT15l*imuoaJ|yk@w$cFSrKT_HVYSJc0R;uRlkCb({BloVV|ndEYf1=LN& zq}K{V(~0xcZ82B^(J&Gl@I)kmnG9$iO_D`cbRH33tyuC#QB{Xe29au1DuW;~xPY^+%HIUOPfUk8qXD7;N1&Uid3g+XSrXq`Gsu#|3A(cD9+w7Ko+ z8Zs?2NJexxO?r(Btto7)xqJ#`@c@2Sf+g@>l~U+oyM%_gT6CXBZ>-g1xtff+RbrDR zTHNSvHVf#u=>|MvHlYVQUj*)fHD3sU%1qXqNGDU}d@kvU;J{k8sP#sbO1-oiMPF#Q zNsb;c$?C?Vv)xh@3Ibd;X`H@33$ol+J-+!_4x6D%t|c+TQhIgSZL(RMOR!lR-F~-@ zvT)S@YgQ_i#;!kw9vdc^2~M{gy?K2rLAT8!kgHrCVM7fQ`aamgd1F_dc3A6Cwt)x)ibfTaq(U64oB^faT$!}CV$ zYrXUR%}tPyXc&`|B0fvOvIoK_M1v=$x2pAEH7>M{FJC^rIBr!lxqQGXkjr#JK9_or z!j;Ko76;soWUYjb?)GHn@MN#Qd-&vGd(}E|?Z%Cvv6+eSMR1^iSjHdqN3wu>?W>XM z`F`7T)hg!G&QThbDnPRqtyruAF4^C@+*w0QG6&KZ9Q}1gyy zQnfd{d3v$E9x^Bu3WFgW-MxHx|7;6gEM_KWd3-L5!d#H5Kq6DGmh(usGnj*sV&nMW zpq`Ipi*A!pp^!^>Q^ zLXY3w+@UxFTx$64eGzx<^OPix}gv)ySdZkp&DTi(ermf`{k3YTYl{%Y3gH9}z z3wdH~$aCzk2mFkc*&mPjlBve&;a8NKSR)b_p%waApby`Qe{r5lWgpo^c1nreVuyFHk#JwEJ3!Ek{ ze_D-)rYGL{(FETVNgf}VEnX>4 zwi1oB4<0}Jd9Ah-(DU>Z3U%V$Ym4AjX(!@YsgT~RrYrT`(<`v@0sjCO(gIB;bm^SQ zx(mLtR}$RZ+}u8V_~dx)yB$_)XS$%BvH#y z*t_^JU@!>jvvZUQ7DqVO-`v_e_JL<_akiB31e2|UkNRkxDQC`6CPzjoy`7_WjWMU1 zri^Kk=iX{eb}o*@qjeE}IVBDn{;2+?%u>A0F*Q{mTkI zU66*ZYxfU&DIk{Ubud3pVT!w*PCH~?N=P*JHNVLb%yzeC2U0ikwbSkViqfD)<2wPz>W^>rchWW~s$HBZFM#Dx3B9L5uO$&LPE0TZp`F7{ zn(vyI%7Z(#TyUkdUIc-WJK|A|4&9{+P36az8!d%II5B5DJlNe?uY{Yx>op#!m^nSR zsBzXdPR_bjx53C@IU|7ntDR~99D6E0ld&-Q-mtm0v$vO77DO zNkrWFJ2SFmW#=@m)hJo2^P311C@w6diUDfY;Eu1(-+%Gp8-*wGQw1yjke#;qKo8mA!l~6$wd)!;$BURYL^YDd~H@@@Q>)E}Ni${?}fX%eT*Vmid=l%Vt3VHAJvB}%7 z^JLEU;lrzpR?Mc3TPlsl#=-e%HDyroS0Wc4tHr|vw=^0X?~tAVopyEz5AZjk-U2O#hh|g7v*Y@DSTZ>_J+a7{pPyrj)_MoW_nT(M1WlCP>TVxxHaFu6re|KVI5BhU z=FkL9m3i{y@n+1pIDKz1aq(bhyH?Nmgvb$IoTbbxs$J!?i>F8ZB`JM)LY>}y^1+kG zXIpEFx8C~6k8Vye6cU9wUf8PFb5iP@$eBC;@Z$%U`>idJX6BeP`sH5#WIsH4@7_J zgx-_u)XJTNTx0j!yLJubBmO%J?L0Q6Lgpyg{E!CX}c|tDB#G^!f7#N1p8s zM3bp=G}=5vt`M$8QIzufHMU6*X}$l+pT2x@vR;{;nwy_vuy`WYJl|XlxNY+@@0tXv z^e3PF{G+Sm&W?_{$fh%4g-SdTjM%@-6^=2O{?daNA43S@3FH>f(l~5BXfT{B`8A78 z!{#_-%Yg@ndyT56y0)rb;4%4J0Y^wTLi3`x?F^5jUO9Mj_4MMTS1}0YW>_q-TWN?y z>q)dJ9G)JhO28pfYIhq|x17$MW$+v_iwvM=2K`tgJo>0&mTRa~YMolGn&hzN=nH&3 z3{HQ*RoE)5+1-jcHkaY=w-CqjavV~j<%#NzeUt4F;;I-wRRgrRiwc%zXiwwoKy z89I$7k{N8vu3+PFHy79Fr69749Bel0`BEyuy+@g)FbV#EUcJutE$7S7L1jZ#-4@x!Cz%ZJfb z!3qrtHSJ!z6!t9rcxZ|yG+3M-hdHp;=(P5dF`W)k#u5lwKrH5adt#2o5C{}D?@Imo z<8Euix|&1o*rrojRf*Xb!d8SrAzG?c5)|{^n1H zW{m=^C5pPPMtke9m=yb+Ms+AG<=m-I8QwLWs9yE#`#ag76h^3;*Xx8W9 zE#94_&{@+nETJW_{`~zH#YiBcwI>kqEg|WuB%B+W9+xl|g$ARF=dadx`@v*AuC~Oy z7L6uW-bka{?(jQ*@Y;J*B1J~leD?VM zgY#P6qT!qD$feKb3Vx}8Ha>pi=J?!#H596Ljt`F7;Q5IM{lfI!x8HsD&d3ZyB5@bjk9Lk5@gVpglgPBr#IuFy z+}QQ&Z~W-m-8qgv^YDX@e|p}H>7u#qtsc^kgQQzD6!p8aVx2-nrwJ6^qi6jkC5TMJ z@l3VeJUl&)jokRbcV7G6jd{6QBSl)$#@S}ZU{TOmVAfgkrbB+& z&t5!#-0=8$Gjnu%HI&NL>#5|u(Wx;S4`sz%0UHcXo&KW-nXucUFC_Ar@jCwqD=sWmi2D*C#1V9#^8*seolGk9-pz5QP=EwO(OM^9_c*!BzUbcR!O8iP7sc%*i#Z#MN2NsJ zqkNPzt56xLy$w4E1q&B1k*K#-Uk~u1$vKRvvC*07iCN8hE|Js7w0?E@!Joc=R4eA1 z5fmtZKz{n|*XQTlfn+2kjs9-6(!$1$+EHD)M4cGFb!T{D zMxTl$7&?nn8B4>N&sR2f^C%`UNpUF6%+HF!WrOl5N~<;Gc{VT}ym z@(hWVD#>)ztFyj&^ystC zJwBI+LLC~qcdOCeKMTx{-{m96B3py&)G8-)_s>s{?6a`ysk4(5_Db=vS+|Ns5@{q? zZ)}`CfA-NPvJsf0H{bINPfsoIRja*vbxpvN+#J)dY@I*;;QsUHAESs_I5B)@Y}Vn< zwNRtOqEYVL@rDc8M(6n9ek>jLIc3!0_uhGz!ccl#*<50cHGX}P%|V(}|LG?my?lx+ zQ~_n|?gW)#FJyq(Fn@AaV2Rg|w)*f-?myb~N`!Nhp1FG?<4mqtD$Pej`swL~5ysMH z|LFMi<;Q>4O06h)blNS(fM!zOqNveG)M5^eB~e>&tN@tx$oZp_ zGgR;T=E3=c4}SWmTP8Jo0cPMVM;^}|))OJxwVSsVJcdkh^WgIRFRsq}N!!Go(Ge<3 zCeWFrdYRWZDVtXcm)Gihr_cW6=RbWGu#VlnyTBGogj^)?YCS2RTc=~pEo!XglY^`M z^OIa$%+)$v8p#4zB{!~_%sS2@U1Ci&pMCn-r~P^+kXmwp>Mz18(l))upjl3aV)>nmCm&=&t2Py5cIeujJCj_oqp^QdFX&jz(M1J19aIiq zetcQ4?lVF?D-LU>hA5K zckj%yrKkb2H48}{|2BojOK!aU`13#c@ZzXF@$S2Cd64Ez;|gUAtJ5l#@|Dt=<>a$p z{>@+h^-rH3Rlv5r_QGW(oj*>bD6Edtq1*Rv-W{IM*?sL)JinGdIp2TO%A)YHwX?q@VlCXg@#7!8Gc-1B_Lv>* zTD8+V*m{0`x^vh+-98S4&7;>}`@?U3=j|a1Q=!Q}`s~A>C06uawJu!j>|Z{3xLvvR z&YM5{@etfR^oT9ht}ZSuZmZ0RCMcQi{^J)fj(Wm;HF|T9I z3{jlPjmxvG_0)>s-p!Fkp~itEsOV}j;zr$|))H@Yc217_8)%y>WAQ92ej8e7n*lZ3 zj1s0$Zi%iI;;Bkur{r0-EW4xCe70!S%6NPMTV;r%_p)cFvyn8cp?P=?mQ(~qw*|D! z(SvcpY*+Fa6m6-t_q^AzDs(co6wovzNt=FSo5M>aRzcGKeIJbpamSzyW?)$Ny$ z`*rmqjlq@_Iy>iAd%gAM)FPWXOPQU6>+0D!+}S-z`RTK+aB^pNYj^MHB(@@wEY42e zy>)knDbkoU0qmZJN-sia>39`9nb`*~940Uc%tV|alKWU~@3YXnrDU@sL&Gin- zpDjv`htIgXpfV%X#VKP-l*#q|gJhRz#2`R7&CS_i_ zw)6PIy@HYhB+CM(5b!@BnNKo7ot>pKxm*c~bEmk_jdS7Yt@c!k?N85hAM#`qqXw&lxvmUMijFITGBT}Pvh@;r3v=1IVJk2k; z%}NFx=q`mJwsOeN- z-p!x9{o^^RTo(oTM|oxY>goHR{plA^-#@$18Vn}&;>;W0{^Qqv_?_1$jQ&o4x3hOr zOJvSZ+I!~@&#x}*M#jW@Z@l%Rx8EHeiESSo*HR8ssd>4#)7yb3bdrNd!lDn~`Qf+! z_y;#;7I+d-aAUoiHQTH_P2O|VKi%E#mvX9U8k^0eEzs!P?XB(o;TK7X(eAhe*C!C-#py%_-ta0UM=La7%QH@=I;KQk4BxOYkcVp;uOWGT_NNN zSJEdRJ-IsWg_U$BZ}#r!2umMpwOXl~Z@ISG-&)_<**j>ji`k2d@a5<34&57*8dEu= zO3knYa~D^q7l#LjTL-aRIUn{p7!x<%Lluo>enO@Y-JMaJn1ew)KcC8n?5r(tdC|&@hph)v!#a*9`3b^Mme3sk}8$){e#`j zTEQy3cH{2&jAv0OV7n7ry>4&IdwBNn?EKLOA3of6jg60tzI*-d=p=(_G!`2Pc7tkrIGXKmZ6BRpJU&_vvcXP7o4!3h zPX_=)8y%hynM29i&gqkEGJ+Qp1>vVc4%k<3j*!bialR3)@?bSMk+S!8_kI#WqZ}qmSRl9@1q_a7|&&Oxz zc7LXSdU;~Vmh)?yZKRgB3K_rX-COq-1WJ=!0auq{F7KW_^gKm6KRV!4>YIC8-QJFu z#pTk*fH%%F(T_Ts-P>H>&*>HN~K91TD}h6SH&#Ta(R=V!2-{ zmdeG>-a)6&VeJ#Tq)-YzQ|cM601DEyu7-2 z_~Zg)FJgs&Ng2NWBUT8U%uSbjqqLnpJv}wQ zz@jhAEwI*Nh%T+?+-sS5*V}o%ZD&94W&WDx31l~Gk%wrq5^w>CF>2YX>sVxy`aY;CSL{q{vB2a%cS zd$(@hP9gU^xYOP`y8rOegNuu+=Xtdf@${KxnNBX_Oy8cP%q)c~{$RPX-hFu3t>#mW z{-x8X<+7=i(R*W)b2Hkd;LdIv!46-nxVzJ>*Q>q#%bFfN_&6Rmb#nMN_>G)CKPokH z7KuWWy*l05YIQeu;!>%C@Eow1RLaCSMkt`W1KER%i@ioF0a}Rg;YlMEUs~dG>2plJ zObn>cXbIQbL3_o7+NxrC6CVD-X}uf|T5UQJhcYt6SgG&qR-*wCm$qEm@Ap0Zlg%<* zq)emMI6Lg1d{QbE$gI(v*P|9u#<`+!qTg+&kc=+XUdg&&ArP{zepfBQYm&E zdaa&6I_{y2-GhfXYXZMF$mREsjxU~l^y$urXX|F2T!q$x)ba5aU7Z{8f5 zVX!AB&`*4M#pwg7&4b5J9^St?+}Ln?2uCi`wT)K#EEUo-bVsC=`Su=~^0iv){GeSe ztjCvoz3ysgHxcH;5Un-K{XqHQbdIwFV zv>^H6F3yfJUBOyqbzR z#Sy~fvKzv1*P5ICZBJt?h29g{ZSxZ&0W$sBh!Sm5y+wT5~HnXm9AwmD;^lEthqx zbP|26z1u6TE~^+rH*ejXS`^4)>Bh!JIUa}x5{>f4>60ffFJoRYV`}KewV^4FG*oNV zV@d{tZCg$r!kBq{d9*!C83BmMW-iQl#_vfic3XGvq-+SIZlSYzaB_LF>JD2d6pcP# zuV4_phy>07_MM2lPjlJsbbOi==2-abd0u&1vb&M8|X<=cWIycXj z`;Q)+_BXOR<{WjYbNJ-rpZ(eA4}vJ-ee><%8M>I~j)C4}S;bSKlD_@)WOw^$|MJqs zpC7w>=Q?lI1e=}DcKh9abizkMnYCN&4 zGrD=xnKVnISzm80+qpckaAT`m2lH2J2~OMWVhOgwz@V0V7%_S8f=UmP1Ztrd8ll2vggfBK27@oPAdBw7S>T(P$)T+g3<9gCU0|RZ+B;-wpmp2rC{wDo(P}_~BBo5tr$rca8qG=StzK`_ z&liXRR@uTEoqB7@$z#&y&}6K+b9z;c=`>Q2AilS=(at1Yi+nDV&JwwydUn>gVlJzS zC9Aj4hLEeYI$sxC!OnoXR(LI0{&dHiLiOA8L-MY_hv!xXj!gQ zs^FjTdlV|!YBXEEx_WfKl3YR-5p|f&0!!9PB4`93KB^)8y^Z~c+nY_RRz#nan{qXj z9XHF$;h}ruQ?sNna@h&=$7HELdvLO~;&3onC^!X;lB-->T|}~4vRJO3B|-?U+L$aJ z>Se)(qz4%kT4#Vrkd(7Y&Cz0Hxy zwV*#*^~oeW`mD*-=x(F0mqaWU1)<>9+pVU@NST^I1|OJ4P|_GlqPEkVK;2cx>(na{ z3*)VZ!ktngxE3_J!nMt99FJNtPs$XkjD|3H1yS6pkk4_@(9LOy2g8}x(bHBi2x2)O zO6lB7BC(JQnnskGf{1K(fg@2C&QFiig<~{`Hh@60;R%3h*Ge6E`^O`bOxwW+KYens zo%b041O*H2t<8GEA*M~vaFpH**u+36s^u)sQ4mQDK(IHn5w!J0G#yI3kU&pK2bxTv zwMjAqD$VjvA?)*l4T#>jvq4Y^IfKQGgM)6?s}(TWB4jD7qQH19ien|VvSyP@1USG^^a7?V zaHYjiylVxckK2nnWIqU$40<$4%T;St*j#8Y=$7!UNJvLh5Ccj(QJI0_GWe*)68f8= zBNj+BmwcdAN+*JDlUkwDJ65BpZ%d(66?NNgx5KECip6rBE0D-$QjlI5Pi$C@7C>MY z0rjOAVSbg>p9WP{5KMF+iLXlHnHYhhBbqSHUWe9kI<%?-2OxM!P!APLrqdWXsF^Wn2ng7j zLS7e&bI}yeOGz?^7fuyQMWmJw=!Za!g_d&)nOv#0 zxI-Bn&V@wK=S4nuu~NBUk90 zflRgC?KI2jC@RNE-7*@~pa~NwHBc*!7?;uJMziS*`1-(UOUSB7(-Bm_lDal@UV+D& z2zs0_w@DeZ-;JBfJSvMfUaZ%P2_J%BQl$}dSgwK71dIiwi3(N$<{qh~AS7H^M#!<( zA5E7U?RE`(&T6p;bguDS9<9|aYB65`PERQDTBBAXlYo+R!j=T)Mj1LsqdK0HO`?h{ zj4EW1Bj$^qA~@XKkS%aRf+ynDFi?D7z_HmXCD7`|4hf2&4nE`oFArZRH@McK5H|=M zm?udc??CP_3#h6_sywQFJ)kDTend(^u>b~9zuS)DNpzjc77!zKf}vT1F&8Suio z0Z~r`Oab8KS#g+jX#WPf1ymQJZ%-nV0S6N(;m{oltfUpR!czhmRGL>HaEY)FRio&Q zhs{XD9~4xn1Rx3tRund)^L~#(N&Jw_H5J9236wTbQEr`6L9u+LgAl`u7LTjLk0MwW$Ax4EH z%C#^DL<^vd2V_-bvdQEHK~aU>XeM>w0aPKAa&lDDLh@HozMapaaV`o@QRR;^OAHA$ zb`T#F96Oc~aVvrEuYe2>!as?cXDB_Qe?S6@3Um;LLkYejUqZ?f}7K0fP|xLo$&aXK-&Nsi^@RD*)3qdFc4ZsBE6)5 z48;#26uc5zVDJQj)e!}ykVrqM>d1k!hP#u;5FR)1VE}n8A$0?so))J!462qGdSZc& z6uKK5B)SHnAU}dqCLM_g1wR=GYK>7uI;ixkZuj{yD-%hJ^rw zKFWmg0ReRow;?6wWI4dohjRWwjr*V*&p`Q+idD490t*R7hxr}+4%!>NVh}A9(qS*5 zTOj%fg*mUb0HOTD(Tx`w6mXJBMFA{P4=6(=f56xkQo{nTu#g%Y#)w3CxKW3v;#C9hYl_nC>AHj=`m#@HuyZ?yIc4GIL3-4 zA^0#*W>{936x;;YYM~1f0l}bfNSv_rSJT1rV{TwJ8Ek_Mk+7J|7G_Od0ek`A)rmd@ z7AFIQx&Y9*VMzemOIlHZEeL`K+T0NfO%A2CPz`ay1ZeDOKpW%cUvZ8K)xiRG0vw4$ zY3K<^1hHic3H~0LYfE5>#NxOdDEa?*e7)8E;_(+B-~Yt^pY4CL_4TtC|MsQ7ed)26 ze){-NAAa;lkNovd{_^3r2iqQK`(fMn+rHQK-L`MH#lF?{mu-L1_RZE8Ie4Z#{{Pbb zf@8tud^8>v$;ogL@a?d}if({RFeg|t5kLV97e%Kvvd3#x$!lK?Fb_8MpA zaju@w6&ev2;zB&8$^#=9Z;eZQRKaI(0S@oL+sNnfR=gP<&p;i#5|wxkz<(k`u}lch z!Q2@I!vIb&4#qi>C1m#d*^rOJ z7GyMK)XISTt5>!^xN~QFW2v00FV!2krJ@zewVE#J1*HIZwhC$$NTn2jiltb^FqCMV zrO_fl0sg-?6s0M~N8!A_QUOxq`%l`sdMO~Ktu=rkwNxtP zw47O~)XiK57F4_^-<`09}-y_vaB0eP=*1@1`pU( z^tV<_P3H@`UM}cnPST7*skU0fyHYw#t+iUm_;A29WtdSg46vcm**1rM&e#h?pSgO@ zQ1}$q78^ru5EK9v{*a#nhXMtIWSuq)hNZmNNjd3qo$5G#{6vq}Zg<=KXa{eY zVtr$&xnu#OTLUAb*@*@+5WS~ZC3C4(sg=sP%4$WIkQ(B7M&xJ-jLOBlHn-o+rraPp z?e&G6(AsV;>gQQ6TIYg)DKE3pab~5QO98K} zR7af6gd|V_E2=Xz#K2 z_q&JOUI%4&*n5Yt1?G03mx{yTaJq(^UMJD@4Z&V;?4l#vJ_om33T*DMKf2va3 zG89pS%r&qOid4WuH|yJ5J9Q(4SC>{(7%2DxNX3kwjiFzS-{ptoVmSaG?en7+jiPK` zuY(D>eM2@|zZVCr7&HV(g+l%iO-qay=UHvXdwQZ;zi)`qI7tz6hL@#)@UmK}l$UgC zd!w?{(13R=>1$=nG~=b4tEHs^7k9g91~BLKno-Y51u3e;wA#{IBgIKkil_R!Pqgnn z^xD4H+K+e9In(Q9om@()*LG^=4ln>Yp7M)4&4LFciSqkMFGy%FoubURwM%>bL(Y!l zE}yhoV){?KXzTBBhT^tU9nqY>yz?k<~;kxI23>+%A#D`%D)8#_BYYip}usyNG~ zER=iJ45E*tPMj05E3|v4%WLZ$>Um+`DKG1%AZ4~aT|FH=J*T=|UP?@9SO#2bdu!_^ z_CHFZ(x|UB8+EJJgp#Q5+}^I&DjGnjQYqZ5VMbxv0Im|J+m9SRbm;MCPTE{}(Tdiz32qQ&875cAnNiOD!rmT)pE(@a;YCA?=IW(-v$C|-tZUHU zl-CctpR1KI<0#kPPB~nB2-nr2D|`hrn$khGl-_LQB%U=ZJge1msQJF#2vM#fDz&tA z^X5|Ad&&`G=pLJxD{rSL+Y3F8F1y0m9Gu@tOBe(w_S!>x_jRyV+<=}i=?*uAaje3= z-CW}xUYbeOqV6d44%8jEDhE9btpcn(9Havh517MRMWqn*1#s$Vj`bmv@9_3?xmaIR zPc?UH=>LE+nmrFa_OoYR>$N+zLYIwVl(ok0=gpm6P_5D|SaI6XVYe~4a%FpKwO%(E zI18n%rCK3JK_hxiE1s(vBDAh3x!P?M%}9P9;|^)O)9-isZ@>KQ?HIrpb=XW1cB-I-P`D!IDz!2)aSR<_`{f5qs6J;E#WMZ*rPUN~Kjbnh zYa2@iqzOB^JN7>Q*w0>g(OKEvt~UztXk6p$ZkFkH@H!4ulxh{LwzhNUb`!~pknQA= zBd2U`7Tb{(%UW97sMnUvR1WS!%y;0SeFyfvc+%_YdF@EQFIu)F9`vwsrIH3hI^ib3 z57XjOZna*+vpDy)T1V|OkHlVMV`KNDUAR@2CUPSB`T{);eeYdEz|QRM#-@_P<#jl1 zy*(}p%??_wDN8vWQ1XZc;JA|ei#Uqi)9dhYakJjsz4^f>fB)w%fBV_(I(j}MD-83` zLPHVXlB1F5(BSBjb^{EQz787)Xh+W7bLfRrT|*tm4<9+v-tE>ZOO^WWC%1QYn>y?3 z?diAC9O6};iJGPQ7VOaWHuSl|QBE{4KxL9yZ>(*hMN}PlrSMA8GT!e3Mkxym4R56& zg(Ti#>ppS(zzI7sRrc48J0&Y8g@Bb-s8~Ahr}&hH5%P@7>1Ir{3R9`K} zeM5Fi)b%+0GZ&*Z)*2N<#Np_u#5kRht0-VLadVg}4#z<|4&ac-adO7{L=Pod+n@i# z2Rm!~qDWA>8!)31&SRd={ck^gW z?svjxbhf{rf1$!TuE$tk785L_vAZy|m4L@*;fA>w3{??M4SB322TvPe{*T-^EE z-hDs&o5zmFY`wnH?soI$8VnBS1Izk(1x})^dkBVnyNNOs1xki?(QoN4 z%h2HsFgzU6IERHm+zBt9V<{ib@;bnHaif&eElVS0#{RS4ZSU=FKZ!HMP6vvq;7lu~ zX%c_EtU(oGmT|c%j$la=2a5`f4pFtrq%w zU5@^Ki5=1^tde5mDXy^b#pg?Frr(R}geXyTi3G{C9;+3a8-PlHPFQM|4HOeGUKn9C z-AJVj1AYhMO~kMYm`y=;8!m;$140fi!H}c-J%AwX2mZqCgP`i4yK^;_U@9 z1>qqH7~18A$=7gLrevkG0)`{9;7q5_<&4K^LSDo2r3z8Ez5Qno{-Euasd$B$-i6vm7cekzV}MnwaHj#fV$6r7h8{X=lwT~MD+2bx00VLfR;$ohEN?ent4 ziM9I>)E7!oP7E2oI})Xy_LJ>Cx0|IY=u<@E{*bGShH{SjyWK8Zl!Cw1?&4itPG7GN+z1jv zuT^p(e>{bCK@f)1<~!Rv+pDWv8*5weVNq}jhG%JbtzetDjx>k?%0duvRR}IM)YE;k z0~!x;Z6#K&RLDu9C_F-hUM|Y(fM!5WC#4{@Vq(RRumE(TRe<}z`Nb%O><+A=*G0sf zL$nlvM{Sig=w&x6QV1ADWLr2E^rC5wcfk>*oGxci_mB;3-yl@=tveq8n&guYcDI*u zdQ5|HggSxZKrROx0sxWDL6f322!sH`^|4Su20}^;*(Q>JLdby-4Rzoy*l}|6g2}@r zLuv_t3eKkaQ9fD2Uq(lFDf5SQ^{6q~S=bdkmQ}5?y{8kS|P#1mB@J5(sg`<`@?2i5I2; zuS5}l6ZZ^4oU=qtLlObKchIp2-l2y2VN}6 zfQbq^H;R%59jhQng0>|B!6P-|1)e*sI${PI$_Xk~hvXn_mP@fTZbErcM&?AM0kBEG zpS%Z2tSCfZ)1h{ttYMyz9e@PIFm6mFj@DiXabc(M(@cSb;00h!MD#A;B?UUKR4e67 zB}#j3IELB_HD1ZL5>6y1k5@Emjcu#Rx2)PfSV!?5y!e5EG$q8pNyAuPGWs@N%yiohlAnz zImrgH=^}i6_|PfQsDN2=$VrutH(xR#$ZB_CqaE2>qBW7Sz%ZYFdUk0M&ro%LbxCrWL6}32ESPWMUlpY zohLpAA#ZCYVhB4hKz`hvhA41nE7A*`xaX{^o(@}swh6{lQl9ISK zo(9_!rHu!A4WUW~>0$8Z`(71w#dupd6u`@dX;e?NZ>iXe7Z2yY6*@=~$$ooB)c4 zvjks<=l#eA!Cye|Kx_(j+@Tsn*k*xr-~sQ0q>S+cdMKCTkeiJn_X1Od)D$wU*#F8w ztie2RNU`o@VwegsK(Ih~6MB=t#QtV>HyzDc z23!d;EP~ZddEsPXyl@pX#7nRwAjLU$QxU_5i})FlK)8PL@p1BB6zo;BQ6OB2OAK+Rp8))H$Z6#MkRzDWrSY(E(fA^90kZ#l}@H;DwTr{QdU=rTzMVNx{ z0UNtHaFA~5c$jd}AX7Rr>52wD5)aWLA~%{s4HD8xydN3`+YV6YNYcUi2UkGR(y+Hk z^!eec1E3C_sZ&s(Nakav@b<8cfjmE%4t^znwI+_>n@|In1A`IIggBLm+MxoW=@q@@ z=%aBqac}Ssx(jkBLVS=qBAXXv_NeD0EDA<}^CaQU3=_k?3g}Ph4tJe|mC*1Z7PrD` zU`>ecg()JQfYyhm2DcFLC%-{8!OUZv5F1!2T!(xH=9EGa9?TL_vSjU`#z|PoMm1zc zh&PTB7X@Kv6yimSQc@}1%0b);rML)4Dst5*s}w{RV!m7%`SZp`4hzY%O2cG^I_zu? zt~1${Dc2MZ>K`!>PjN^VfHUF{X6Rd8t636wAcXup#0BHP)WBOH8B)kFlC6VWfb94A zk^ez9neq7{{WNmC&@hMtp+lg837JwFwtz@V0<23c1ul+G#?T=|F`*j)9$+^fi9uu? z$R9+J;B(OOpcqsl{vvD-RfDBMoI;E}u|lnTkka#(RmGZM|BdWjfu9j6Vi5^%L$|b| z2Vw*;eDX5UQD6!ZKSLX1Qw(owi3_d@8%D0%+L|L89N$DrAO~1Q42s-^Y(2Gf1(BO5 z_Mb>dfu)BABm$}Dz`_)IGm>H!q;ZhVKnDm0uCK&G_OXad8zrQiNrt6FI1dsAu7Nr= zG@@7GVS+HkvcQAGh)8)E@tKGm!^bA=Bw#;zhQ^4XSr~NaAoOP7BtxMS{SEJia1<7R zM1L@PP~}8KaCN9HqH>|{aW#0*(BZ^kBU}a3(Q31R->^hjA2`njSu*k&_ycgcuwulx zz*)eBKuX+LiUWoi#tyV;=@3wt+?wbnLL>~4s2~zs!0sXCNStV*mPu%Y7f`Q+ojQms zW`Jvf&oNpy3M!C>S9o9@$<44tSXZ!7YX!gBImL_Q?-*7TRK^X-DiJ%2#0r*?SOmzO zgr$WEBK!n-g9*n@okXrE5y{6E6aqAyXpoS9!K*D_0k!}}0CWeV5(`QwL0k_|4Bxmo zuBH>Of%p!<$Hl$D6l7x+%S6-)_=@a1!SO-33H6Dg6T09VgeO^ew#AuPPP9ma+_zqb zpGDXQoP3AsTMfefqFxB$kLOo6ax>p{jtrik~F-v|>y z81NRXFc}r@MKlwUhp)r}V$i;x@iflWXk zSPTT@BQg}nZ-l*wzumGgm<=*k@Z8AjUx_C1z;Qw1>a?E1Z9qUU6K=+kB?lQnM}=(2 z5;i5Onp_eI0wkr8R`tVH>qsZVYlP#2uBl`hd}!)Sf_cKJSUR&*0%wC?$)t(KCt|L^ z&JY6%TZ;`Q2pHMsBfc7LMJxg|2!{lU7hHm7#{i2*)&RM6WV=X6fI+oX4qj`d`+v0n;585)OG3y%y!4hOCr&IOEfyIofn|ZfkfF66xG^C(9x6K@>?D_VJVncm}}e_f{xIqJmDEPr>M5DIzt5v&gl`|KK%PNzfUT!(R{*VoTxwwER_2jeHE2hY+r12Z)Lz^hZEJ zR2PYnS{@x7Z)jB{hv4S479UH5RUu3Po`3>`w!?4`RlAWALBa}jA@`MFtS}I0Kum(9 zsz_x3h8u@~fgt3rUr7_*MD#H!xn0WF;xNr|p1G*V< z2j`BcU6>X)7Z3s5m?R7&Fy)C7S+d%}eDrPQ* za3AYKVtY`C=!}-8BR>hPaertz@QN4P?+zz&uV4z|$`cx6#;w7&6hiAadTwx)|hcU&k1_B8vS8#M0JIL_X zh-C)*k&%%FhX08NVR<}g!mp455@;esCl3e(@iGZtw6yM5S0w~#5sIiELa){zpdw6f z%i+PZc%`L%$XJLnB6%LkdAW$p61R{{JeYV*lTzQU7CQ)HfbzYirH(zyFa?(C$eH zgAs+KfV?EC8btv`#3+B1(9B)rBKQM+oWr7^b27k($pJ_S4ej9x;1|F-N0SK@RN`!YGtP zdm}EQA540prGttZ71fAcJe^%I6h{CGmJ2coG}mPjb#OW=g8S6x*V!^sJ-%3Yw2(Ee z{DO(Dp;9&h7;bF#8eHBmj$KKp1yDK|U_0GO@tU-_pa2I!@QJdC(%FQ>u&RI_8JIm0 z$sjuCMDWEXq%bP`R8$_T^ov=wx?qL{1~_nPx4u|wB%_Ilhsml7qo_he0U{d(DaL%7 ztjchpPzyd7)nu)FSa7peF&pfrWf5%;xuOaRB@<_5!t0tl2zy{YuLRU=Lhhs6!%|XA zoD2_^+iOWBD^gt2LsPO)2um^x&=-!4aPpx0tjJVR>`x<|!=ZrBFw_$IpKB-$&M!FV zaJlXgyvyjPvhZj=Tw1WAl9m*>M8cF%P$DEGMNsnl52LK5W^mzvZ!{1zx|Poo39(TY zMV5_-5z8z|nu-l#l%@w2>P=r&%`SgWni7gugiBN(YDCK)9gda=YML0muVFR!TQMzf zgsB8O#w7Atl=CFRfF__4_p{lsp+Lz8ShYv(s(W`WMfKU;qTNF^o9kuGdOi^-RvS@O zf6#G7S}-|7oD!cJ8F=OUi0m1intz2(kjhVx|#U5F=8Q3F?n-ea~EMYz!s`t2g(ufHYqfO+~P#vVm*O zYIRI`&_}vZPq6`ap!x&g)YX;+h8iC8gu@9jC;|+;ztdB$s~W8`(I1Pv2X zM@@kF+L5}AmFp5nuBl)dQBt2|is7UZ5qzVZphJf8D#r>_ER_gHl?c*WY9xW7feWLu zWImr1>j&!0Vp!;_R!u2_<0eWzpVw+VPbSoBcZw3JAfA#&X&l6jTE+UHj|qgegu*1a zyi9Y6ZVgAmVWlJo8+CJBzFNegy{OL{9!2x8ganB~p{Ed4SP&$j>&vy%yWiAxms)51T%UKYR zHPAs#(4sQDT2V@lDOfu}f{i(W>N1Cj56T*v14SUD7$iz;WiT=PSe(@n(I@~1#ToSL z;v`faLpvmk&sGIp%P;ONCcphpTzR)?6|3t%tVR+=vwCzv!x5N-ns_{~neqagWf$5$ z9d)4}sUSjZS;mw2=IWS~%|BZlp2}h-*vbH8O7Xi2OC@WH=nDco^r?hilq^H%l5MzZ zUdrQ-Slc4Drt)$j!TD59#5`C@l_F3o2`(H7!}N&Ij3}4m#0Zoa90wH*z>PQl2tMnVrxiK_Z!b@dQR+;@^V^pnW9 zZJ?~$wC=wptA%_*RcMD+Jv}C@K5|8~%tR!qb6z(8s8`7*(8^sym%T6>PW(k7YFc6* z2fTu)J78!b4Eal*ZBIxBrt+xHS!O}aMx%wc-K3!|XzNF)F>{gAv?_-V?cFY^XRE}+|FtG_jc5RzL39vM@!_ZiN(LTMM%E=l!TK-^I7N(vePJrhNnt3>2oBE?YbJAw8WxgRnkW>66p>^@ z2F-9tLX^XjfC6oW*g6?6phO)aBj7|LtQ`J~Droi=g`&qdJQaL|q@KA5%Jdi8qT666F&VnSsk-eycgm!h2QGgaIiKj+2q-yT9R)lIGq; zIw4qS{{Sh;tF)qoG0Jc_8iw3NaZp9Ztz-;>QvlS4Nq|)`6O07bR!qp4y^w(ZJ9+Ei zRum0Lt?=1uXU*0$8})wHZc2(N=8z^l1>m05l8h3HX?xmWY6bgV0x!2y&?GWBEs_>h0A}3c8qJ^|s##mJYl* zxFv=|X#)6vNrpH<*qhe2pqZ`fLB)`WyR0#QndA}oqxhYZG1 zj3x~AJJ$p~fvsRRC~vg=X1G}1{njrT?#khYUTeF_-fe1vAuhCC8&0g=za^PUSdQhx zqobmjh%osdi{3;&oRt$E2dChOUXYVnks0HBK@I#77J_h063Vwf!k$1<$p`JI0EWSe zXhyQ|{10o)l{?MlwtpIxv&G_dlXWMd&!b?UaDatI6|J`4duylJYOSg&N*3GozN9ei>p zXs*W^`kPyd%D(t%z{(b>hAB-!BL>mgouj0%po9xgYFzQ@{LaC}MQO2qMJX%9!<+Kt zX?==gJuEGF!tnaU1Vj%OfF4C!AOT19;OBJ0*z={BmHPkG_PHO-lh&Vkb;h5 zRW@NGp@?Mt8rt73WUyLTB-T@0IJ4xheoaCKPK4zq>?j@7a_ zXN*`xU@6gcc%4$BCZ`8EDI)eOk|G0ajY|YsHG!^-tO&Kr$&9-Uu92k#yh;z2NQWcpHCzLV?p%&6IgDFO$zt@iBZkGr20IAjFb=KCXi<+ z;0PNw13&nup3dE>x~j8N@NSg|HfW+;Bw1wc|5vV5y?-5NM~X+MZY8qc`XdMb2d-uS=SaQL_O`21|%-|3VqHJgd=+9r{ZMM38S1 zY3s!3Ivf^DQX*}C0?eO2l?c111l25k>$>{L?}}Qp$kFZq6`hh$UmgrcRoE@`vS5Hd z5R682dhabZt0txlMnNPAMb5_B{tK|W79v@X!#@5+r2T)LQiLRIAWes3uoj5Y!id5U!(k*iM1|lRJ?_v;2_6zo zDZ#A_<2bDp)}Vm#q$b|~WjJqT74_`Hp9+Rz!7gb%$3GXuhEX^uN2uCD(iofK1l;lA zEm|pVja5$x+HY1S7G(=`#;} z*u&J4L2FRbY>Cc~G)Vf??M$8rqKb@TcxD6ZIy=gAt_}KJ~{#A4+AiB%@)^ zlww3p+tJ@KrrNl_>KiN?d2CCl`+bFdAF^8oO^Cv$mQD?BNIJ9FKbDWm`9}L#K6{8O z#`Kz66}u0wdXIep$;<`>&lD`F)Zbp#-&{`=^|JS&kHUrHioPJ_MMewALCL&tBS;LX zDC=h*{L;H>ovgvGsBm@kz=O3id+Ls07zv~A=z8*b`Fd4B@zsgLyUA=;R05Pulz(_9 zk8oBEeCr?Na7@TsS_H7S33<9viJXqr62tQ!F??}`rvI3Thr^z4|hC_VI{K6 z*chWGYN8yF0)mePT1qsQWWn@dxVs40J-{mhdnba7NI$Wz=1*MHG^!BM0$lc+CDkf= zPySOt6rndc08WJkW3Rc$9{jW3{w1r4*(u4vMSKdYvqDf#w6kTBtx0fPAmHw|5`}O+ z@0cod*8-ZAhf}~DEhZGrLjITW_4OrcCAWHo646~WiZD-vWrZsW7Zb-Z@t+_u#NkCq z1UD!wNIi0~?{e8U}HFV&aas-tiLFQq`@~G6nkyM3Pn1l&2fqy1~R}@Z$ z!x|A$eVQ;ZV-Dy4;Ce6;Cqxv1#cdELsU!-6C5*z8g-pl@Mv##~EE3e9EP}8rkp%j$ z!k!R|kGF&+=!XdEqLc{HB?5>^bSpe(gWDU>j7Dwi(Esslf0^0y$0JRyU_Nq(eM(zZ z%Rb}C6R~Ti`{eDzpKycCylYG?B*ewYzD9qrrXT&padzF}5Rz(~hM@Q??L|U4B53)1 z1P3+Qpfcr#17R<6TCvPvK}ni}i2%9RP>b1Yk1ixdRXUzUI%dpMW6>Vi-CfiqN~g*y z7l^P-Qj{E0Om7cd5rX9;PVGEj3MeWarGp7|kGm?=fMKC(A`@2Z{gykgMZ0&^XnRv$ zEgma%=QRUCS$43!*j_A@8r_SDY&GoTlyJZkcC|NM5!F~MH?$Dv?6g7*ii)NQ*hGq#{+{~X05td9Q4V<0jya;KX`gU4&+z$yjJb(x5C!cf$O4G z{-G&3Ho}?#Kj^9Ek$@&yniR`x`90)tzC{vwICsq<(r3AV58*i3mo+6OG91*znuN@r z5cElIF^PA2m4GflO(e$D<$yyATZ^ZW>`CNLP(@v_$-;p<=o%#f8mGOxc)H1z3TTzC z90hFcF@*0?HLDzNx;rhUSco0FI~DYnMI{_0Hl6`+p%D@D>M)d)$uR{)tAc>NZ4t@E zz+lN|ubQ%ZD_V?bj6kXe;aDV(qdcn0<&pKHOu1`#*wd&r0qYPPJ1He4RY@xN*0- z$L0_;q>lskVK&bKNfRt7$kAg9KC`@K0uBD`k!IA)*6r2PoK(vj?k*44-h{7Kj7r>o zim{5qM@jC)jvYSoR6?`wFLSDHB_-MykUG(SOYmfqi7=u!NarZS=~z=mM@mtu!Bqg> zDkFLWtfrblPb-kiE1f1B2yE?~I2I7KT3!lxP>GQw)e{I(L_>yKMdMJJ0)3GPBNZzF zPD7QTIWTg>&kQgoJ59zgiU=5Du$hR=5!j%H5CJYrlCOy*hJ%aYcOvLWNt3)MGJRbV zmuCuy_N@ix`Q@|dmtlxrk1vcy_5vN%#J;4U+N)Mk%)+G*P8?p4e4hwN55m|w?7lGA zN6FR{!EgW!mJ${BR5oTJ&F6-SHzB8ojX=?ow0sb%2cFZgdkT4t0CbjWWVHzEp~FZ* zaxe!5Miv&r0VxcCIh8^Wk3=3`IgLn|q?}1(QmCycv>KxB1VT{syi1C18g4BzD2Tzy z#tDaB>S!uY;&oDE0bd824)MF&rxa_JTM9<3ydt{oF4Cc!MP>{M+XT}mX~hOA5Ii0P zcZsRfi9~g=QFQMMaD}Z}lIa>o-isuIktC7x;^`z;zE&-AqbMekpr8sFL?F^+aiHW%s% zX4DOuqD?y(5@8$yF(A&73XEk}j_;;-?so!{}t*u3-|NaNko5)2)sZlqLu9tWKyg&j^ATGvmqmWf`W~65{ zlq#SGGo}Kg2#wgIEhrlmm~B&`zYF=sry{9*u>g=C6o)`QE&!4N7ZJq2qel8hX;HQ2 z=PeabNAxr~HzeJ&As;Iw$j0Q*Fe48%ac=wX%b^9V0WI2;J)8gOJ-qFrCote!$+r_BQ2{<;? zYtCOPsZucD>3!|QHKOxCcj+fZ<_g#EEwfAGKfDyt`dWu;(W!WN?f^0n2W4 z*v9!{bG?!dpSO>)B05kO^K$U~;EC94!|JuWoAWZ>1fX5ir5bYJ{N(8AJR{A%5x zY+!cbLT0{-=BZ)F{vSQZ-1yIb*vJIX@dpi4*Bb^42;|=0@$}~V&3xE1KEX(4wPGb0 zYU0f&p7UJ$=RaIa2XOl^V(GLT7=H6jn=pTEvytH@9l*qnrO;ickYa|9KK;@}^B@25 zdg}bp*>kK}U!0eDIWU6$VgrUN0r-CI>L z5Tk)@8BSPMh6hycI9ElB5t$wy=8gHP$^g-IJW~*9zyJk;7mBzd2f!aRt2EN-e_oSZ zXNSVYM&hj}k1#cyf=f^?=0XOAqu7uOUMOVfGo2Hu`U(yQGE^`DWDoi6hkovU_shS( zmZt&A2KWy-A2U-zaI*i6erf&votnz@cL(JBY&p++&*2>Q2tBv+?qUKBp;$SUp2d** zANu!4(x3n9Z&$>TciwO(in}X9_ZuTn5f^~!CBjEVP7Ehw40BdGurc?}15XE*-@9H- z1SYV*lus~Y!(+^aVlg8z6Rt_X4$a2^@CkG<=8Xq_(!cS){hz-!CQfxuU>gB?lcB;W zgG6cskS<~n0aSW+E-$(J2ZnmiCARLpJ1;Wm5Gmv{Tp*k-iaoFPi8Zv(Ow-NOP;J7kQjom$;D*dmHRNugh?-b0jH$AM_#dIHg?xce)2p(r1;F` z3vVBpscGlE(k!4&GgHGO;iRlxzE*ta2Tx5EX8{_wpo;ut|9Md>7K_r^7vA6(R#q;V zp$RYQMv^A_>PDkSDcfHcw;!62~=ar{V#29P+&Yig#H^S~TnoUcu zJ#dVlZESAL2{Z7&_{m8zdBNK=G$o^HYFQ&*4?5{y3jg$h;qvC@`hq+;8RjR)W-^PL z<#W%xWDkj%OB*+@gr5HPOG0CP^LiuAINifTp~`#jH7<%hPyOgcy7BSv?$u}PIPF`n z_+n2T3NKU^X2Up{52%>*MeAbv!i>}2*V)5VZd|WJrudM%4{i-PCM0_7w1&f%SX}vn zc473npLy25_+;&Zy}i>7^oHc-y^oo5eRlMy6c<0Zp7Hi|wzm(7>%YFYD0_N_AXJsj zwNTet@45Ylq|g85*Q?@itZRs`ToT{fZwGknMMPUuApxjanTu&Gf&IR=p|wB$!`%gD z=&V~H)RP6_GyW$R+n@yw5pr9S-f({(Fu4x$ZWxccGMqBi3km(qfV(iSdX^t}9BPx{tJ>-msx!slaTEA8xX zCanxX{YuNsgeQb!!j0g*2Vy6a%U7>1<%7T#q%JO9^E%QOV?_}S4w0RB>%pW#J;PZbJil87yBsbElN&dwAXOO`YPNe|6P2H$>Q zymB27=OJps6AX!Y0J#~qAAjww>c@AlUru`Z`vXaM8CpmyNCSIcig_%6SkFrn!xJ+z z)8c$Fc=jxX>gM9SA@iZYL@;kT_P%4>yf&WvNCt~!xZcQ9>q%2g$Btvk+#OVMJ z(5+xk*LkB_OsA5ez%;PUQ}Yd@>qpN??_O^dlEL#ML7tI}mAQ0E8hGdt*W%sX?W!>F z;&bPhuV1Z7uAbol>W|?q%^7Jaz=Jh}>A-X-nNIQ{>{g0tJ#gR<)7ajuN{nlQVf5;D z?bO%r7jEy?(jp2jU;qJmCQ5UL>3HK!SF+Hk^4&)VZ~+-$-x%llV6sq~-@d+CHA2Hf z6Vq}P?wUOP=3~$Fq~87VKW@s70auLClW+W_fBDz%>eFaHlq~DP$&j9$JRg#IR5GVh zWZM)SQ%K#jUT&mL{q!Jz{dUt}93x}X(1O@Lf}h4ujG*IMP%jtL{Pg4`oZeca$eeiU z=|26|=eLUd@Too=`CVBt0>ek2dwYVf-uti?8tHQ|dTiyr4-21suv6oQ`X@p{s+j8U z3KZs2(*!nD2L}h`blNNw_2Gvfp4hy%S>WBn6TC1zDL1aK$YXuOj-e5;)?6uy?*2)P zF;xa$^XpH(aDMgP2UUJ-WO!0EQGRGLZ|`BmS08!!%T~FIgR6Jv*`WFaK#(7#o{LiSX>K{or7_hK}`ea{9;{slJDQ z?q2=$(`IU{6D9{dS)5CU&_HfvQk-jU)dY9npkGMOH8;(!M_={}eDVDoMQNh1YfQhi zS(b}(-xCiV_tt*@Ki`h&6P-ZuH&yCNFMOv+15^X-R@%PW@v z1d45IIXL0wv*v7h$?W{@!((%|KYf30vg^!5FenulFJ-5J*E8bgOV@TT$?oo6cSxOG zyfQcb@-ZLwU@mQ5Qdu11XR=GP7t3o-5%OpXoqjR>`!&64l%zK)?m`Qv~1=%TOp?Ll^K_fF}J?>;*=yScMD z%ezO$-P4jjSGp+shWZA*V)@GItl+hez|otV)ziYzTW=3B7jJ%aC5b1;d}8|IrE3?5 zj>X;@s}EkC#H{2ECzleQlZf+aHaT>RF)X0fkR=4l-yqHJc3$o*fuG z$FF{TV~%(B4NfO7&Xt6|Zl7LC`$kxOP8ZnF?AG#Z(jR;6rNQ*l#uL4uQv;Xo-I){p<8~lD$m!U^T50g{ zLwxn-a=f>wZH&?9bQ~OT_mv6nl%#IKA`%}x;FLizGZ{-hv zc_kZk4cMl|)WwVHv=ihIcsUy@Wjy;2O1GA2&$Pav4?Ovb{^75$W&I~#84xnoyp@`E zjr+w64y}Ana7#G%m{ch@9PrpYlt*loD{`$Uw^)K#iT5Q*mm){UJ zKX`vR*z-o$bYb&1_k?e?by@2lez?M)`o#-2v2gv~x;iyF3a2(^N&CNf?)nGUODWbh z;K4RUs*s{b$61oo0tBKIJb!*#E|qlFbzYF=;M7!*oUg$vu9tf<>uVMep{Hn}u)M9l z@YiS8cMFJ%rpFQJ>h;Td&@;{Rxs?^^&|f{L-urYt7aZv7cL`Qyxx~{R56tayY+Zf% zuV0{-?|r_hyI$Vk!&a_u*46XpJV7}nj=p-Xe7#u^BJB7W&8o#rG~r_Y^>WROcq>5=p2g}AQjWqo+h^K@ft9VTUbe6)WowbHDp^aMQ> zhmIcp@g8<-tD?t%+C0TdImAWN6Es#DjXp)7PXa+vLMh?j)xBjtLRz@ujAC10BAjoeA?xhfbFRk#-4sYa_#!%TztwlHieR7 zHHS}53k2<@oa%l2@ri4{x=|L#&h$B^)#@r%1Vm?tkJ^f{+dH}QuBqt=pj75_!t`|f z{NY}~m~UJuPQ3IsE?~q16G8!_C+R%^UFOujN1tJLe|0q{x?X?%JU(@~tWFJM{-T-|Q1Mwj02zn3-^T zXNqW#6OVhJ{rc0hfBN(7;`Et5r)yf9T`UT&J_j-sq$pIRoX#1vMykH_^)m~L3wbRb z#A*mJa(Fm$_~~f`jYU0j=5U_?-*Yxa_4VQHjT=opg1mz>btAQRU;gj6gAV7J6M@F| z0??Oc94=JY=ou8XEf#qy>8q9;X}IYud<*&kW6OZ#T5S$naP&HM>}jX@Q|Pj|8Q&ufH;!SzK%6MPS>b zrS@DI4CoCAL0X_k+#0H7B0%f)3T2cDpa6-Up~iy7Ts{@SvAh`}laFVD6by`znww4a zK65a zjxz#uJU^F5eFjeR;P}fuC(ej{p2k1wS}K<6dPgB87%8%yZcn{Ouhzk3NvR<(Z)ipoR0*? z#?bn&u{QJQUK;G1H&hnS1jNeblJ}7(yp{E}iZ;DcSWH+L>&;xj{o$Y15lbLtE=)Cn4ER+<&+l>Q3T^#uK59xRBERr26dVF*| zjvSRhd(NB@7S}GJj&O8zJYpb&5MgQiS=w5N86YUiB?T#CEtbxH?IE1`p4gIX2tQYlV>6e>&urcq4R5B8`%6`{(0A$88|sWOV+L3uC}K$H)b%U|59_`5pCg&8)xehEYB>2hY)*KceJ zzxdkI^yX*xni>BYba(NTc5hu`2L>i161rEYY9`+Gou|!z{OvN%fxOY~5!8kCx;pM8 z2gk%rb*UsC`K!I^ts6_FSSI2)=NOmZ*u@1TApQPGJRXUlU;Yb~_dCvw1Fr@4b>ZrJcW-0|PYy;(E9lka>^w)4eK!$Zv{?V7sHsw%^^BiG?=4f+ zGVuuOICN-o=~_KQ4|aDtSZfQgZESa}9cX6NY{nFhJk-DPt6NK1c5<-CA1{@%g7e(? zOq}=uYTVH?E@T(Xj5gVR(rGSL&8#V%bIu5Hb7eW+zyHW-AKQ}gxS>Wm zfBw4M+*+x}U6ZJ6X2jyWc1utY5@#kx9e&j)8Uiq%S^ubmQR8sEj5L4o;T8ligYvs#z~vFjpOPEH!H{tkG^%<#R4_nV31-S73$6TtUB810M+Kz2}gRn z=y$O)8%d`lqy6W^tZ5dpl`zSQS;IA2*-kT~69HBhki?D~F)_f%^Yf}0@CQb_9dgku z&dZMe?g91c3aKyxlt{K>bUg03_R+G+I?lLY9gWB&i_h5 z6Th4Wj~8Ws-x;($Lv8|4Z;^?3}$qcK|6!_c);NZ1pIOqF#q#rgr9u%W&d)sk_AACI63N%&(9linH`OdjQD|G zrW)9$j2oiu@BrGH;CQ~DF|r6p*a%QDK!N27J34{$28Nl1YlTN7on^ZF)XVb*3ZW+_ zK)nchwZ;*`pc6&}fsL81m@LX%CTxE5a(rTRbW&6eGtK)a{H!cSidT!spZG^&qxd_% z`rdrNHUJ!Io|TKWVtQi#fyv^vjcl5I=goKg*~_*0VtlmEA1|W$e9@fz`2!ur_di}1 zNBc$?IiAJ>8}j6U%@s&j=F`}kz!46=Sk1xU#j8a=zyx?zobt)lm745>r^u#@n6b!o zztCNbU9YB9(Fd5*srl=hIbZ*ToG#*o5kPMoK>EO9rw!gW5eWFE#EaE5L7hO|7l;T| zmKI$TfDD2P;%x`I)azGO7S0oJ#(A|UPhn?*<+1!Kjt!2y`ufDmudd@tr%z2?tRl4r zxE9xxJfDm4fk^J+|Hak2z%_l|`{V4sv&-4(wzGBXwzjr*YHh8eC@PAA1|k=M0D(Y& zgg^+nkP9JKz6sxiKrWDk5CVY!fk1#DLL`ccqIjvcYPGi7cC%f#p3~iaJ3BkuIcGcT z{_iJt=l^^CvbNLY`+T3z^SOUM&+~jfG|rtiN)hd%4y00vj%_WL;DkqCf9z;^v%xuf zYQ|D{sIeD~KRjcj7G-T&8R_kdKa|&iXrs|VQv;_~**ofk6t%*$kUB@BQ78X6`Pt%} zoV4&uYg&;AYb`(C>a-6|j`m6mnYA?HTqV^krF(t7I0cxz=t=wNT8?QUKI*X>8VXDG zG>YD|LNw7w1H|=sP$j_7Tw2ZN*GMUPI>Tx_X0T2Sks#*U#w)l9fkW$5jtY3Z(4q@&{=s@I9j`X*(IWfQ9-!5rHyP-`L65VgSr2<|AcbXURdcf* zeuhESAVo);vQoq3?C5ZBlExM(zd`S`&<w2HL0*9VI}U&=Q>u^vgXY6#l~jf< zLd{a=%!Nfu_S1(fb2A>Cp{OZqmZ{uxgDT6QySc$RNGp{py-6m;Y6l%yl9G?Q*#@VF zZdMtjD)fi3Kzvm|r-{bFRo|GYAX_$kY6dX!xk{KArOHA#H>>m%Dvl!4r~=ojq)LNc ziFE)*nqOFkE?0v-r=DBLcMdx(PJM$C)&D(%7CkNF<4Ul}je&ZZ3Pl4jiAvfmm8oct zTd$%mw87o)Fi4dqRb?qM8*YP&hbAkIez#ucaH3%fbiBg}*PX`wXG6`wRKx36J<$EU z{8CZ>>E(VYGHEivJs8HrGNil-Vqij4=y(HXREg6)GH@G>A7!A0+hn0-Kq20SqX!Kv z<=}{iR?_H_qpGP9;jp3JVR1WYH=Y*(MwQ9aZvm*V4m_oU0&dC5X;XEz`}ApS?B(ayb+tWXMznC1Wv~Qt7=&9g1j+%L_%J#}1Re zrc&xfRu^eqlSwK9J{?|%C_T%y7#Z1{ch;NyHNwXw(g}h-zZf2&fl6GQ?)T~i z)zu=EgXYSxFbSHiVEt$T<#4$4gs2jcNssPr3Je|@p(P5vLZHyA6qb?k5sRp_KxA=y zEqe6!lhE!F)Tu?MK7|Tcv*=~jjB0Oq2&^Syf#<1QJuK;)n)+T{Y2COFHk5r@oV zK^u4AT|s-@E{C31D!?5d3;tD9a0RB=xW!OiYI0d<6k|3>Dk>zdDHni%-Ea-LEfxWz zg6{A4_PYTjR|IC!D-?S7$cR^RI3H&Kt&m@ZL7{S3Wh$%7Z8a#k#guG(YRDz4Qvm{n zb!Z%omdNpVod`R7E*jsH4&*=|Su#D;FJf7d!ZfKwRdu+htuVQ8m(+kHk3!c!;ZT`$ zT&`o>rBE1DxND4$Nma*H;kcF6YLKYN3370*6>P6Vs@tG2xyQYfL8Zt$U>Nt}H8P}{ zWD@Ka^*dC8j2|m*KMVnrDwRl3ry81{@~T9Vs*K|PrTLImA%LfW?aYu>2E2?<>9{f# zx_6N>GY&UUBeS}_j{IZZDThvl{{bFQ3>O}(Zo1;A0q?@{MRh8JgwoMEiNZBuJ@krV zZk*PcARpi=)D%(}a9vuK!wt<1SrsBw7;?G2Rx*joW##7U5YdxkMkyAOR0e3X34k@s2RZK6P8V8^RN~FyUbu7>`-l4DsA{cUm!9DIMX3!I14_=F7J1VOOn8K|CY2HzZKZdV$l6r--sb1&BAJI|9 z1Q@YYLtdt7J{F{#stFmT27egEmlRF)QkU0i0QM!B#r`l%grD+Y%{b+Z*W+ZYF7x^7 z(1hPwUxKbvI*>Ow9rAii)tU97FwTB~Zc>Fx=Lz~z87 ziq@5|T@xX?zFG&0Dy&|ULIH+ycn#GOtE=v)G(7F4b!chjZ~-k=C*^c`to013-vi9K zTqb1`n_Vwa0w|}FT_UwQO*l7#_F8ZYs!c(dCS{%^zU->wH0fLbopu2sifXI3dcSls zXiB#Kl1O0(FaT_8tuL}p()CR^Z{`hqoLGtyKkDijCEi#NPgp&;|AWJk3WF4NER@v@ zMaXZ0GIT1N6b7r+X$1y?A&;a^fwON;r_+jpAWD;|2^WhL9JbUDiu(yN>!nhuK?y>7 zJwY!@lMvpQRGa#&P_l-mTCrH?^Z;W9g%qf;TE#`C`B9S?=a-cVbiNG+0WAt^(#Lky zdSL5_v?#<%CM0fsiz?q~N+j(VI1y3eB%FHZqf{zPieip6h?{Bf2iQeAwCJG~C}nN+W5rO2I`%PB&|{+DU0^=IZ_rt3vDD>v zN;&neQ3L9!J3W0SBI3FxF>qqFDzOmHsH>^o)YnHVtsVnq_kpv0N--bI zp!9gaDRhsg2P8u`sDU0*-2xM#4ux2#wD!R5qLELduuu?RM{0EA#rPh?!GC%PNx(i% z5L`!=j*?kYG5Cz`v&v0LR4`2)my5Te$jjl?72Nawc#uqg;a;K*U`k9~^hnn#`PAkJyf`( zUJ6d2dj?E=F$m!q0BD$lyj#cT3vr4D5aCLVXBZ1KiGeKO-`WGlfCozi3M->~gNI2MllIKcN=LC=wRRJ8xrT7atCiy+U1SeZT2ZB*h zRVRf9XT=J^MFW#ggRoMFgLRXrzAq6P#>OBdaxqHb$_?HggHBi}@y>YpRPN!7>_UzZ z>+KmE?!mk?(s~k{=OC0sl^?AC)kVCe&vV!~PI6Vue=5KnNn45V8i0JE25CJn}BE zESLm;MKprf0x{%mm=~M}PK7i>HQ{|AD3L6JW`HCCVF>!jKPY>JHIQ4^5LvttFT`&| z|KerI-^q9QiF`0$66a*z$D)EK@JEcsF!DOQ4DU&P$lvg;`AG83 zfBy@ZoqS9FLtcsYS%3fQ<9azbAp5_c6f}tX+SmV)e7^S8ucjoA+?H%fN%`Lg{_j7a z<=6lHX{XTK3cnliuL-@i@PFvlWlnx@C0wHrH%SbAQ`Fr2$uVTktA)biolpJKKW>+= z|MhQw`=2+R$6iW1R>pk!TVMF+Z2wO``P(OdoXLCQ%Rf3&l=0MOKl>g2^-u87`{o~~ zeE$3C>Cb#I<@1~TAK|P2S~&8>FZ{5ea?dwYQodSq=Wl=e+aJ#qf9ng+)wJe6nUeDL zlDF~9f2@~&>mT=NdmA@=?dw0Npw8U9{osa&C+J)_>#yAK^&jTar!FqX&%g28Kfc?S zp7O=#svOhvGbe8U``>;&x#NqU`9b;c`tt0BM}Pd}_kqnRU)|Y$`sTSov-^!d{q=0Y z=Rf=Xx}^u}b4!~}yyw2lUw=49)5BBF>K#9NsU~oRdhN=!i_ZLAhfB-l z;nM*=v$S63!roCJv+AY z?;p~eQ@;E%b^Dk17jf)Ma4e(Pc;eDT!>)9`HL&p7odEN@PrO(@{p(NOb?$lMD;w%2 z&P9yJ`O%*}43_PBeq&L8eC0BABQAUCd)q3z=OWVWnWO*l`%}Cv|MZQcL$ALP<)yaX zem}}d-SkAd|ATiI2i*FCXP-SNihcN=tJb~Lha++9BlYv|C3MBvg)M{g!mnH9f z^7FpuKmVDH)O&w=OS5a!?&BTz|8%YCg}vIyrHk%E-`wlFalVtC%Pej5ee}nL+#eTE zjYp3AmxuH{bH1trrLEnglYLsLd8DV|=pjbK^t-=!868xJq@s{Kd~c-5CAFU;cWx z@oS%XBD3TC{a0i9!o!svLrW)Jg1mz}GNjAD__v3%&6_{>`Bz$(-~ag5q?cy>;}@Q5 ziNEvf|M`>q#gxxKqkQd;pZxm`^9!F(`Jw3izy0TL-yX~PYRZ!(qX6PxBLL#_M+V;c z>!05r%>V9Zzj4U2{_EepG0K1C2b&A@5$e+FDBV5Qk@dqDs~jgUzj}M!u;GbqHNDfZ zX`hCReh0q!m0;12zqe0!=2!po*VW?BrFSiGSG4AHV(RjX4`<%U7SN z3E#MT?L;R#gW7YrR1=yWnYeVlq>zxtnlojUeUDbF^q{Nnw2`H>8c4O>1{ z)k4eZpWZfa{qlDhofm)m=X<*6Kl`P9_S?Vy$q8l7er63C1-sGzXJNUo{Kbu#qM`Gz zT@Hz|(({@vJ>8UCKl9#A#qP~}jti{8>0k$ZfPRnW*pHvw+q&@R&wqT)lK!QXFC6mT z`@>&;8yCLtnJ>P;AG!SITd$vSmpqm7l|us`{OvD44;+0W1yHg9)!Q~4lN6g&J^n9_!}FUi@H#dl0EOi=!AO-&A?v|d5=UAcdG-orbzE0b#(86D`@9wwjM0Lv8qqqI6 z)b!(R6X%xtTE)%MW?rpOq3k;S!OeL~*{*E|L?iK&<5q5Qb(1z2?XyvEV8+myKCe*j z4h@;BjVwv6XC=Tp&BbJ0eY9zdMjUkKE1Z*)R~aW zJ2KK)k+$uqGJN&tA1tf(KK0`q_4M@%qquXZr`lS?&B$T}!Xs{rURuSfRyln=9bHpb z&pXO?ZAoKyCVu`O@A@;p_NDFE&RRV=JLxwy7BdP3XkzR11;;|cK$kFU>-J*H^6g7F zq+xE#*}hL0x^&~>>4~b#pBwd>o0xktIXZtVKIf;6l&UP_K#hCpbTl;FBRu%ZVd>bVi<5Smc9V*5Fw7Ef> z*-9%)kCagpCuc$-r!X(8Q0!lv@6)w8d$k;9nLc>pR4icPAKksLR5Nn=&iijqm3%AZ zn@61M?|txQ!mBQL{(IZ2Y_V7W^>?qCQ@`@1E&P$|4}N+ls>t5BAxkw9i_Wi6tNm5m zU)a~sw|F`>752)D4(E%z{rw(yAk?QU&f~~Byg1y@+o_SL%w{EzE7Z7VFRczX^$dL+_-D{QBD+XSFXH}Q>xsU}(1#QbPG`*3M{aFA-Ku4^=%{r3mK+Y7ionx+}gVOj#odr9#G_Gm*EVC zyTfFr&`@2bz|Gp|oeN&k@tktq$aFtiM~Km%gpyzS@QSN0kFD&V8c^0X;X0tIrm%A2 z*Z&e|Dq!+m)5EH20W}yjR~<~RS^C{avkkjmC>eR{p8xpHqcv*Wj688}uDhYCg>u=I zJTXoV*^IL4qB6z!_3L4EMM-_{Y*2%CYXX$U8oP2Kz}>?z&8|#YMcn!pW4oM>{U1f- z(QnQucD~3|kIs)-aVSA2C}0`p&YYUimzV3urd`sSI^6J7^UIX0@2}grSxmk&I_1=~ zQ6^b&u_nAUu3;T6>bw8ww3U^9NZ=gm@6tBaR5x{yJYYi&U)Fp5oipZwv_s|U;aIpw z+fY%)Zkl-T&b&C2!KJD335S?dZw?HatB&My>GS{j9}ATmf4EmRaW+az8k^N9P)b|d zjK1jNyhF&?aj12CG16IcG@C#BFTXq`*s+Z%51yLomP=F`jkLP3y!W;HD?R*UxwTzG z4tY}x0uo7WX_@u)|NhXIx8?a=jnSLu19~aHid`c|gTLSuHPwgm%x(3h)iRCQW-}SF z!_(D(+aqYWfQy&T9krexr;Wxl&v{=b-1**-qR@bTw2K=T~+N_S?+{z1eJ# z*HXu;dT#yv^^hPG(MRUGQZAAT08 zdf|JUYa=(;!|l~fX1P!|{pMRIO`L+_8m-rBB>fiJQM$FQo$ehT=v1S?hgOA4QK+I# z1;+zz?5r~XgAd+t9eL(?M(_H?ehF2QT`_R??MU;HOs;cwDXd`~7aBUzDjHQ(jj>y+ z{c3hjPN^!ifQ{*DW=^4Y^|$x>xp`$mTy?OuG@E^HLwzwbul2S6`pxO4O;0>qI{e0s z$?g_5vqadNeUC zDazIRb9ZAnfwz$lc1j@ zSf&ax@*0LOEtzo&4Mo#QQ7Ly1)y%1G(giPHi?rsa?`CSF3-D?>HA+OHN;PRd)J+eL zd9^%b(%O0k9B9%lX|XS?jJ4z+~ax@Cma&z;k>%V#{Dn61~By;w3XwVwQWtP_#mo`!E zfkA5dQruOWeXLT^I~5%;$%IYK4anm-F8%DSlP&w7+f>wl{_;t$G(WqjzLn}Zedk8Z zTzp_}o+1cCY*95gatdoZXD(h(cpHu!;#fz=``R1PI=H1pY+Qc(PDFHI+aX2tLd4Wm ziyo(nh8l(cKkzcOoeNuV<)K-gQ~pkJIZ^{uT9cT zRaF87knX+u*1DgI=uH^8cs^=x$j>QhGFp3<@4Px8%iguS$h>fB+-+7%>Z*7mt@q^m zrO}pSdk;5x=Ho#PucB6Nw(48#@vEnLY7gx?B%isM7^8W)SuACb-!q&z8!=TJI8f5+ zk9d(Er20L^nxhAbJC?7n_$9~lxylY3)oPAiSRRmMzOtY1U%edjD5}b88f55&?z?>F zjH~>`%?#z#^{W#`K}kuiM5;1}FW)@X!%p3LL>W2195l5wHp%6}x_Vvg{)4#gz%yIR z9EqDNL8_5eSYFrMN=NR!ndoM1+PJT2^a^!#zE@U~QzXDm{%*T(YTDmcoWT@y&9Bbc zRgLvRakE^jw@qEUHp$=m{cTl~Kl$zb;hMcK?I}k;P|wh*D+{iYjo;rXT=@CNua7lu z`_T@Tesp1CY++&8T>R3OEX9e358~bR`AjyqL1pQW-@iGfO8@8Qm{j7uN0)+%;@l#t zyhg0WVWZhGo2&^%1hu6Ha>a<#ULUF2_>C7TyqE5+_KH!E!7MB+ln$l3LB!+>o~HXo)&>aXq3gWgabWbq^1A;{4m}n7ukXm)~{b%EeGi&dWQi>@$m_ zMxAqLsE41$sP8?0dzmWUpUv;0e2%tyekYEfw^voQxdMH9PMO3LUq7MBPRnk-%7&G%Rb8M7(Ww7GtN3e6K+uAc;eu>i^Gzv zwA{wNi#Ja7$&T&Ms%jsa9I_gEW+%I=4rNz&oO!TjFFSawUQdzUi3)As-&#T-tT^wU})8h6Alj zKlxx;x+nFRpv@le8ASBCOHp0Uiw7D47j9qh2w04)q88_PY_Lrpp7FPqWS6Rk66eO{ z1;v6k%Hnic+C=q=;E7O&kXrbhMD#hETq?!gixHM6=B#I55BL5mShNsPmD!$!2<7MZb&*Wx&l2&!_@ z^JIPT)k!V4q7paXyE~Nv=jB_AmVzDos_gOgcvn5UTAJ~N>|_HvfQe`al_qqYJkThw}Tr@lK(opeKaR~jeR*21dX%);ts z%NUNC!C@5CHJb+~+_J{5xp5=^cwU|B@;hfb3U{Qj=}{b|6BluZUOQ*5IbK+2iJqBu z;zBx4q(PgVwrbVlokgc0dmpnUeC^h9XX);jvZaBg_^?jZ6EI7KwTAv!KCx;bGiVzCW|h9bcKYHdKpc_4Nv~ zNuiJ5z2KpwM|T`-2wb{z*~87;bC64i7e)=5k=S4>>+n&Y|N0vV>+$SL1^OhYaXugr z^~+e5JcwU!r%EX7S-l#R6=fH<4$e;X8*n{ZS}#x-RYLvB&t4CTcYbec{nT4Od$qSD zZC4i0Iy~Yw8z+5Z+eAw z`Q8O*+3qYZMZ&Q6_G;nA_zFdw9HCCRU;+ zsk6&!)+y>MW&ZfWp!~?odm3X8-##HrfB68{JT&HQYcR~;zT`Rj)Fy7^U1-A{8}qb- z6GNRXmB(c#AKe?O-o3rBBX%~{Bd%&xwc`4Lkdai?JX)?26b`!_Mf&ato`afZMYL~BUY?9r*jP0hyW`EZ9IXCJFQ zl34I7D=O=y8ne~b-Yjt3yC0|XpWn>tx%lSA?!x`Y8qIwJ4y}-cV&zE zPbG$$j+N^@9-F+ftOXivyeaMFGRI8Rr|0C9BMw|J9C>zA-Qv$aUe~?+&CSK;$y1B{ zEka8;WU4z}DjR=Pacexy`P~biZDr#zqp(8lf3a z=h{!Mk2UW2VOrzZ8}FU#& z*@1hH&b01)E~~jaI5q%}zv;w#*T+P=H#6x|H_mn!?9OlQ437GYqULrSAD}vEt*8a} zMf`p34V9Gw!@#)T)LfoZGyDE~C$*W+rZ$XRycDA<3MvJ1%I>n6bS>89n=?Ar-t6YS zF{Hn$*kTGHmtj0H-raC`XRi6|o7V&Eod?QL!(*hgr9tLCcYRKMXmhr5{wF_~xS?U%3nxi3DO)gHgSK2Uim zkFQ20V^u@5cH*u3vyxZ7pDLPt@a}A5T3VT5aM-PF;AzIsEp}ICWbwKtXNS!4))qls zQ=7HdZE2BDUW~g1`?ejCj=y#{rmxP+%B!~o$@Kuu!qqtCD0=S4C9bu1Uv)6IAFA&h z8ud{ko}l~OYqM18p0s0aOK;zc$q#Hjz%>ppL=5FD&#O1*+7JA2OYQW#kIuF2+jdOU z-tG2wTTu*GD{E4B_SjU-5-}7O%KPY4)QMZCJq`OeACiXF?<^Z~4>7CSdirsFx6$(Y zJ7-LXzeD|qHGKD@+g*E+th0v31MN)$h40nZBC?E)M|82*@65@wGV<$gA`tl-oLW`|YXveYloE)d>YlV7;Q!5gQ^}T^^acMEXWA@Fv(YAu^ zyLnFBIrcQ;f@+iA-fcnGqrk-rBQ4omsJ)W#^*2t)5AVsBdBy^r%K94N*qire4UDaO zs_jb%*#)J?S*TaxcA`lY?uUmh<@*m-I}+HWD9*z5=ZSD{Ya_a!damAxwimpzyV82% z(n-3ah||!93zaIqKyIDAzSLE7cpt|Sni%$W;)r%*O_SN>wrd*Nm#Nh$hcxS@O!;U$ zae7EzoLgM4b^3ZyK4$3JWv}AcORrRoT)TG4Q@8(cg=XNyTvuatqkecb(bJfhU9RmP z!3jZ~LMao=)LK1CNO=-xqK>*fn{k!q(i^LG_MxL(Bii=pB~4Pp$=A+0IXhm-SBI}& z3E_NmeM3tt`VY}oo1Pk5owafH?q#=+UN}D}E@IVa+(BQv43g15vEY+e6qdHQqKlI@ zK~Z^qYj?myYg=TNQ|Cw3h3QPy$l_v9f-n{pT+Q0%28nTCX)5T$k;&p?CGz2wiz`D7 z`;K5M#Xm97ZEWD%;H=7zryo(yUt1lc^aWX!iVlabx1&uW($Aiq>}+E0D=~(aR_4q# zGd`CB(8HM~+J zuR%*U-PQ}tDGqPkDI8vZd(~2bDi~U;t;^CTX;zs#ZJjha(>1ou-Z|e>yMI?slXLOn zxjEdcpthwJwuMeF4>Xl%;%6q**;~@8Lht1HD}uVTEAmwOcc$d}_zu3Qgb4xz+hTRp!R+mEAL^CXD>Hlc%RT zOP+hWz@UU%Gk=e|wz6$}!K)Wl6!C{2T=6s)ZcDA7eQ-a9G+r)MqwT?= zGg9}rbvP02)YLG`sOU1XP25U}+2!m|Hu0Mz`pARpquTtJch`E)Tm#o}idcNL8GTUN zwOZ@>E2FB??fV*rt~|KbU!InJyk&TPvPV@_%C=s9aH@l~pDFB$%m=z~*rcVRxI*k$ zyu4^CIh2*B3{DSG9pb9erpXU(4Jwap-YuHD@#;cH;Q^MYz1Q#5K#ytKXRl40B%B;p zTX11!(1d%O8mkNYW5O1VQX9H_+NG<{&8+sGoR9cg*;Nwsx+I6x)NP&1C=McHzMR=Q zdG7oPmz2kEY~b)7_Hk+dLSljzl$Tbko!%Zx zTT@w;|J}Qbmckc)To`!c7k7LGuWZYf49!gTs;WyxiFYq}n^HF%Hmv^3qtnu@Pi-$T z#V#*<5lr(&)>i_$V|$Oc&)vK-DbL)RDZsA4h)#$@Wwss@&Q0nqojCXv!reKl=ty3@ zbLG`j&W57=QkerATB_RWCR^h5C42SW^m60uod?T0#@3gZn&FcRLz;31Z}!%earwS& zd8SkMZw-|1N@X++ojMaSRTWlBtfPx32K2bAD5uOQ+Gi)3Z)qDU)}hx<`^fbR0eOB} zj-oF-=~dRr+>;{~9?rk8+818C92DhcAFFTo4E9;oymH0q`&Whpd$wdq<{mtpYb!f+ zfTi+E^D%3;K5xSnuGmS0I*{jp{3&WRgChT=Z zCDlN()zc5tA*!z8i>&c?ZcQl>&q=!n{GF|>W;8m0|BuwXR^M(m+fYxYjYg%VRza1B z9yzfvX66?caI}MSOY;FW=U5JQ8BlexLtIfiaB+1^eQX~?HFN9sgdltWkt*ct`sg;b z9$g`wO}WKNPwdKCNS?JhwaPxX5+9JDf{sY%J$-S~(ju%A!kabfT4Y+>e+iBC7=*<~ zk4t(^oDQjl%{Y~&k&009sk1$F_2RJM_=_(V_g?$yZ4WDT$6XwH18OTuSdtw?hcJq;RsK9 zH1)hXiG6lCYT@SO)KFdXrzhKscO9s6CSIRa7BMT^rx*Mx4yzt#<80y6vms0EQ3hKT zIvMep#MSk3twy8OQTE`}M4!5{xY6JpAM=_eH9R@#oTF=%3MFmk@TK)RCwKpTwss&M z>s6z}yhzh-G@Cj-!I6NqCOuOzeP(UhCn?D4TrG_ptZwXUSbd1L$gs3}9n(E0PGo$zi9axv@ct z3O#;{Sg6v$vT1N2ORJTN+$-zxppuoF$2B5C=V51y+MmAnrLKAo7FAW>BPwa3A4CH=^7gu=xO8CDya^$LD{0hF*d4uCKhxV z8u$&hlJ3xur&C$Ssc*H|aJ;^6aAer6fb3+qU;X$u?@UP#zwk_!%rmz#?~+!qo6vXB z9iqlZ{7zkCb$y!+l>vP1jpapEt-T}T{thX>9yPR4+W`G}Y*v^*zgZ!MDbn{1P+~s6 zN$nhqjyiR+#zv(cilkoAm$-Q=PII#MF$A=KutzVIw&4_Vw;7kjEpE3}&a0DBPM^<7 zY3W{%t+lQ=uT0WS1&5uw>b7V;zm9c||Ru*mxh^(!?pLYK8Uc?nW{AHmb|nO>0q` zMJ}usdd^?Jyy#cvZrWDk2u-3Sm9nb1LfB^MviD6b&GZ??b*07i-BUAz-Dub>5XiI! zqfx7rYQ`>{j}IwI52mxbqH{>bNcfGQK?5aeGt$^dou3=?=<6zq%bGd|{C$0HyG<|T zmX*o<6GIM7b^fvH_Q8=sSXmY24fbjq1!!c0>qK2mtWv(R!|ih##kgyrZuiDtUzzI` zRTMI-JG|(++kz8uU432~rENvU&F*$-T{ViloV;`Qd~ZEt_s+sL%0D$7>}+k|ODRi- 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ν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%0AqbC5l{lNEZXQpM0}|o5 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

Bp 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 z zIm+pmlEo(Fs@Xg5@~TybNDfkzJrB5HHERl7Qz~#B9${LLMo6LT*p3Qf?>G1=Ba{}Q zL(ZtWc5Y;6=bmE~`S|92I~Kp#PSq`1PYEq(f$Ws`^LJ&a{0a0;D2c{%6#5zHG3YB$ z9BoG^$o~QQ1oY3)UbLJQNX-ibKsShnb1QTa`ZY+kLSra6cR;U!J~~YO&sX_N0`2DI z&|4t^&-u`3glr-Ymzoa!DfBOpJX;}|hsa`>ls$$hOA^4V%+B$79RDTuFoIfpM`SbQL z?hl5thx+Zvm;)HT#{s7I7< zvc!prM!`R$0T?2N`956aBqnN3M72in)!4Qqb~A%zdvHKToQfo_A+iei)0Xc8TZY&L zHJdd;z13=+f_f8jU|ryjf;lNfk;yeVM}ml;oUu$MorO7FVm^{qNDq721*~Iu3TXv6nB!67*Nz7XA7m)t;MTIdIv4r_ zM-2fe@*L>QNMmCrXd(&dDHjC)8IL&9H*dSn%p~Zzo%$!1W5zvS9F^*J%u=1JARuS9?pP6(Z{58B!Uy;c|(1{BMWv@kq zG7&rWfh5dR??P!oBnwlK)ADCBq(~v$+#@V=2>Bm^vxw&2eJGt5e1+obd&Q`_eDC0SR>wdcSfHrv+(?K(L^iS*52oZ-0AskCuPirplp4J+A6;JJ7HwaZ`g5$v z;9`K>VrFYRxI|(eg}3!8P9+UzM)3abNXPI{cz`5TxOp_PIKM!Df^d-K#3zfy!8)m@ z?>nN4I0^;90obPpu3)~c`Lc8>Ap3{;D7Xj<@PJ1CK0rgwVSHt-h5hRRH~7gnBAUew z61XI66b>!IsQDlSdCU!h%2BMC2g+o6Axa{+Is%Lpat7at(wal*O7Ymcbg2gO$-Fx& zQmgGFL4+xfT&e3(H2aW1%=X~?LO7Lw-)+fC$vsSWNiA_WR>FwyK$Q6RYe9SSJsuUB zO1kpyJCY<^m+w(jlR<2}T_zVU8vYIg z^*~De2YQxtGO`%SHUOf={H98g*q1_FlDGOSNiE zToQ2RxcYAg!kM(taCkqc|J`UMI-Cc-!S^iJD>)oJ;{0G%!X;u^)VzeHb=iR{p}(0UU-FEH`BH%2sHK&x=ExUV zXO1)@GLbllmCjAu!=C&qgJeVq1>~%18U43gezj-juqP5Zy}l^;Yt?F2T`7QdKqd6% z{ir8cXH@%=FQK4@k-I2p&ZskIR#@@wio|bn%Rr2X*=NudJ_r2;^fgGJw*LVAD>Q-5 zplDhPx*JmQ@@oc>|3bL^E$EM+uS2R_ejaolQpW4=LEnHfC=~ZYuY-OIQb2Aj=!ngn327w4CfY)yHAQ!<+5daU`oU)8eo&d%_WQhoYKZ!b{H2qXfE@+Dzj# zHgYuSmQ*r3h|#L(ks5>qGlbN#N+Xlk9+JFau=K)39;tYqgt)ZUB-o1pQ6NTQ;UyY_ z$0F1pa6Ccv(y=^nmB)@@JSh<`nq+peHek)Lq(ruK>`<<1?q)C<3ZCl)O$fDAx{;!+?~I(pCh4(8zu%N1jO6{&b3|IHq#h)V*z zN>Ts|pR7<=U?i7cK8W6yKk_c2X+ekXK7y1-2y%DIazOeaqO~f>XF$s1{43^<@(5S@b9P8^DjmCf#r%M1$!f(+YDby2&o}XX5N|O#{v4$g3-n&HCyG-kz=S*I96#OfvzS5 zJaPMWqrIFwIc)QG=N% zIcx)auq-=|PsM9u{=N7m=g=gi7@^bQ7R_-cI6b)^nty|3>?TPvD_blmkL6*3vpDJ= zsvLlF@?bIBQV6O8gTf{mq>3Xrk9sAKl0npR5|mA)aS44+h*i3vHWeTti`Y!ftpj2*sElgnLLy~Ro6Ljgb5&3^P`l8g z3gvXV)j=`w5wphD0)kjZM5R$hlas4Q-+==Jk`<3PyI@RE@{HjCtHze(fLdOu5OO6* z$AyD(JEmwiO8>(Qx}A794ntNfTawud%gtJQ5h||UJ_`Ihh#EJ2$FS~!3<+Of{uklCx}q05QtYW!cd)v#%_U(}m(N{L!dz9dC>Dz0Fu?1P z%PDJ}mzV}r40+5`N@QXQ*Dh=LWCiCzD3XdUs`ZoUi$%t9qR_B-ZAo&#q*CI4K)=`R zOqH~j^mdsgYHr8p7h~mB!FZT!^fX9ou%Jt*g{HPnK@zP;8Kz_#@p99GEn%dbJ9|9T z5^k59(=g?Q=koafurG0ua9T5#DV~eX zV`9j6PNe{sr2L;t+KCx{6+VSFeA+17sR=V_u}7qa+u4!4<@^ArybZfQG0-&f`d^UO zgNWiWXda3|B}ho82O$BBoq+^C@@D8)p*84}kbDE9i0dZwBhVY6-+?{{`4QO%p!3kX zpilad|Np{YRN1P~$j?LT&=;X0-Qtij{QkK+h=;DMDD{y23CPB%An>eR{wUe_E- z5Jn7dYIbySF@hXJblS75LnXiqsKK5YUnEnBIB}_R|NZv#1XBgeI*~$6tk~1k2O*&- z-#0Bx>?s-(GbfOy^+U=KtJqWEucG2gzP|7M4m-6cX|t)7S~~jv_Z&36SuzfsMQGfe+aJ zJXdEJp0m8Xc!)LJ5O7AFigjGM=Uw*$w}&IIfct{pZ_3>(y!`B?M`f#{^rw>rtJ#du zEG<)6zQ4?5wg-!W0MS(xQe3yilc#`20vHU5N`Zb3w?sUhDj&v&VutE-uy(Oh>-Dqe z9xazJm{rVxH!-cDxkd<7TZRtcCgH3sUSvCJvhfFjRGL=*MLd28?_9Y^BU`Pi0koGm zzCu*|cmfou28fby7y&P0B2dBrdsWRojuodJ&w#*-`07|4a6R;Cjg`HHBNrybS&9m$ z!lw2*nH>W~^Z-uJm$!(c70aX$!(LI{g=@erY9*9fN;KH(FEl_|Brachv+(ug%4zaA z701V*#~Xn23fs;c(C%ZTmOrM_6t|1i_Ot^Z9#8841HPu4P-ukVpbP%09{-@ zHvBcJ{J@Wzi}I;TLUE~&YJrmJC?6Fg35~Icm`Mq)%K#E*ig_MLBe}`MX_HYl#4Ml^ z0u2-eUU6-twS}uWL+&lAM2(V3`Xf7G&tV=ZtgKQ5Mhf>H^N|NI$SzVas~8!S1iPtf zBiOBEFe|m1>LdCdV;6EvjKCEq&sN7Ba|G8nPc|y!MA^aWydAV8;CRI-y}5W$v5g8m zjDQ-lMt(zLb(&#Z2|F27G{Sb^hw?~N%;aRZW7yz3MTq9htP*=17n;7?Qhad{#|brK zu}~lqL>Y+VphAaAP)kPUU$zG1FQ8`@b;o>?I6gY*19ZH>9O4OB$cRuP9B3;@u0oyh zuuJ5!&PZB3T!#c@A+@1Jq!D;#aifVLmTNL|ri;7|JcjhSOr$uq#wx=h4KOEzl|zWj zg7^#P6_^;8VpY?vSjA2<)Rh0hY571vYt-Qa8ad0V;)(Uv5bqf4Z0Hl9eKHP4VjP6> z32Gp3OO;661utBNJrZ92ER2OZ0z&i0y2MDPg-OnU&%s}a=@1?b2XWc(d!6SlIrC?Z zC8PWeaZcmR5f}nDq8z6>5SYb+Gk50ME#M`&4>APl8HK-xQEBjEP<3-og5#neUTvk* zk(ddbNqnu~+XUWNQfV}4J2QgSlLr3?{+#nOsrfTM$SG`;j{|hY2?M(BA)J1d-&7?t zh;p$2r6CXLR7!{xkUxY3yRK^46Ohtz)gkA9LMe2N7ejA?u0ekf70@w`Tl_~#$0qcb z&=d;BEzn6wDY@#=sLGhHLPIDSLNdDxT7iBJ`T+EY(BD8~C>tf{5OfCmS?C?mZ$sCh zKY(V4Ih?bnaVMBRPFbhUo?Yv8H!v2#SYvRx#d_N>Ny&xk%yygF7aN{K;l?ey=;9Ym!)o>vxhG4KTS>+EZd4v`x z)WI<+^!=&$ko^gga}7LsPNgvH6;B8sQXMNf(rpmN4^BLLrDwEnj}i4 znDGou2v|COR(Zktx;jMgSvrIOX(Ga}tY#7yt5jENwKI-kGp4m4UsC*mM?>Rk@wl`L z#%aZ!;d_7$5KgXC=?%;@V6vpt4X~#EFA9DkeQ~D%(ggd1R~qmNz6FyL2S6FHZ4O8# z%cN<@70tT?R5aW0886HrPM(nRY4GUtq~^wDHdV`xrwIYCtVDj#6MAl%64*gJv|#i_ z(SMm|;<-G#fL$1z&G1y5$?!CeW!Bj~JhMEBrV3MsPXtfp67EY^3<9~%OiO}PWTHEP zB*Ggu9>Sj`wOG23HYrHbg=Gd}n_0HMD5wtQ{9KQYA%TvXB72cfX%8`N^@s^jL^KPz zEU!w?n9deQiRHT!7R1v9L#Cz{_ab_{B944Vasf0@^9sat;-hJvpJDA1DDA>z;2sGV zbDs<=+oO03cLT;iv~W80u0ct_GU3Lk)54DC&X^VHq~4QR^!E4-@h~j09wBB3?E;QqsS#Bx+0H`M{d-~&mq!b^pA<$+~P<2mKJd_UzYOUTLBRQIqlrUiB3q^jW? z;)CK#A`(&`LjT9LSF&d~p0~(Fg+4Axr+VpH8!KbR1H#Co{b;f<1vx>j1C=o=NKlm- z^VoQzIE75NsxrN@7tJHi&ojALAbLs%1%oqKm2RMn(2V@N?8eJxE|9B`M$(4JU?yod zAD!JWbrzZl>%_AqC28S4Ww+R$7*W>9eQEOvbvLw`pej00uA3$}vq$z2_!lg8dkF_K zvx!Nirw}-XF#~uHc1%S*nzKxK7Oo;X%wl#V=FRW0G)2fws0T5V#OXwlpZE!m7&}Fs z2#LTjB*ee`buk?jN5X-; zlwnyRJa8B*#!Ur2@=>x?TCvgr#2m4QOr{*Q_eD&1eqh?~3KF3w03*VbO@OLM+2K+j zID{qrS+~OLhRJg-?!*s6#}uHWJaR+&HLHeKCc8s=1QR&N3fD&DjbJ*M1BS_k;^^f! zM1!dMSxQVvA5xHDiENE1`Hwg*1q6Ya!@+`ekZzPp>6LRK+YjEg2J?A%XN+Np?oK0l zUrc`Q;|!3jE#wFHf4g8m=tEw1u^(Xi`k&?efvAuo3{#WthjxUy3IB1hA0)QHmGJ(@ zr)R$4AU1lIbOLQoi%aY}*~0y>4`u`&a3lKE5EPD&l>r}d@Gr0c5$u9};HqY8I^YjJ zHC|wfM`X9k>7^&{pgx$P4Hx>sjK#GS0S`oPwGZ>b9qVW!8Y|$e81=UxKI{(oAO%lq zs_oCA1xCU`kRa`!$LFoHR+vpPui8Klb=I!|dhp|bhSj0Cs`y*OZ-DQB{)JVlobjPL z5rJLjGg4ISR<3(#(#o@N4!F^3QOc?oJwk>>B(Iixz;27t(rPq;L1rPEp@JkRQ09o? z+6`7a#~|)-N-&|NJhSPRhHE$ABvP*xu#xS6?q-Ci#>1nm-I-K!jHQNRlqSg3eyzhd zZU zEFcr^gMJEnAM|PHJCHhCybSs|Xbt)cXbgF<2l^4nf<6R&2Kpuxk^Of&v;rwFU(V-e zph4t95qb&qZ=v@=e+;QpY7|)^2eisFFGBwo`d^{9K)(WIJ#>TQxLJ!TNr#g}<|IKS zPGr0*&zPxgErwX^IcBQnx`ZnnABM`Tv1j=JC{p@%+Q$e-DQ6~%Jxg;UCd~`hT3|^q z`#GL56lcJ~6=osn2px)AA*om--77Tc=t;-{CJ*^9ImB~8O}7|cCi~sM5fov=BrBlF zpc2W}XTwQJu!+B5N#S8}!3f4l(OK0>;8jrIkv-6mWrs z4^+qnMr-GW1eeHxJpCBen$j8!j(+8%`n>MNVNAFW`Bqx5jYJPWT^E;4!Uc&|8&9d|P8U+eR-zVMLg_(1-FoX|KI zo%hfCWLgqDl>N@^V%7}tiqRa!qJqpv@nhIcR{4`a;?nZL#USt#R{%DEhsUpt%8AKi ztWZV4Yo-jY>AQ#`j6jvWiUih)!5?xhDW(aoF6CUKANmyC6pxEKInJ8jGT#_tB3CkR z8N`Wr>$3Wg|LA z$huGrS@-Tb9GIdqqc}b<-NLvVay}Rf)-28pMzWy6|5i5<>3Fh#;P*PfRHRB;;9HTs zYJ4TSN2C06w{nyy;n_UD{0(Lx=VOJKEIF-kmF3}tK~6DHwu6KywyERZK>_8<@cmuy zj(qG0KAlqSQ0-yhvE(>HTgH^`a~tJl#;Hrqh_UQ2d~gAGJW<*7upU^K8=(c^W z8YBhM3B&_%i|}3Y;9n-^mEuHF13!=9J~Lse`Qh`x73f`!`^Chv^ZpYj)DGM)}YE6^LD-+-Qkz64nVNT@7y7xW19 zzd-^K_)BOK33V%U2KtZC2J|Ip0s-|rNJ2|(805VCG9>4vu>O?!^ed2BFsYtQP(E^4 zz7zT+B>dkh&dB4!|NUwH@-9dq0>b?J8uVRgp75wzF{sbCLZ|mb4?*XkEbm0GDJO@z6EJaNN33kziK=Ezeb$S30qF38hWDP=-1I5DI71?Db3 zAt8$>9f7a}PpeX5;$iaI+jGWE!2}2WmJ#$0qyCjdf=+?`>>^n<#8c9}CH@5;v%An} z*VWIkXcv`3P726U08JaueKskBfVG%ww5#c7mI9`qkYpT^1-l^%21}WAc!rTi&ia>A z!JeU25UrVIMajk?u?k3rEPSQF8X$qi-twP5ZJosrKACoykBnt`pEN~4&@0!45ddqUY^&S2$uh*?uQLx#V&8*_>y z@xP#Ga4UFm`S^^7UpgC}a*b2C#+;V()9_T!L6>*EcVn{YspWAJ3uG&fa%P>4!6SGT zB_U{h>ih*3Wi&UEL6M+%@yVx5!2j?{#_eHQ84Q=)BK%?|Hu-Pzk)p+s`&6c;2bE1{ zR%}qGmQZA(aNDq5>0VAPd|5T_Mo^RL$62{LXV&v#z^T%OV|l7vg>mNkoYF5_P-}wY zn6qiH@DT`1TisqNC9g9-8@Vu;(A(qgc$Dg>Q;eiM8lPmn@O_jF zi2Iu*7YHG&C2BYsqpjMAh8v^Urzu1H8%RQ>ga<=O5+hS6jM9~0(Qq7%_A2Dn_?Q)K zcutt{q#-V4lZ!#zC_FFEkz#4dL+4e?V@0C6X^!*iIH#nom5(bAF2OA0ZJJM4ALi?* zlGPq4aQkFclOo9-aC1g=uGBQKWP=+%#f#6@hnWV_i|hea8wLUkx_v|-zArHc9NiT@ zEFYbh%&T*b!5PN&%|TqpEI_>~K2#Qd!H2IQs^BPMS9-lXQlnjJ&vlH>DqdmkJDwz~ ztOhct<0I17t+zsgEoLOjdW&J*e)FcA4wO)0)A8(@OU zNe__ktnP`a0;Q6C1+5fbxc&lXY`P_&0+T?WCG9T|jL@{I!1>Arb59(z#7pAMGQQ>b zeXT)*D5V3?zexjUAt^Ngl}Q=kDY)!VfpZj#draxRvQwE-n*U6928%yPTV^m`DBI6$ z(Ue2~&`RaiNPEV-a!{^Gb`Pg;Eb+CKu#m}EtSU~SLx%6u3Lk?WfqowP5Tr<{(zJ%u|0$26aW}LAy%Bmh^l?b}THl72P&f`k zuYi=Z_4|-a=Nt;h1JJ*Ru0d)>P)FG~5B&!8IY?gB7eOjye+>FEG>>la1JEhxO{4gK z-^X8`ggyuT9rQhD3MC^3m7)Dm9;d0^Vh%2dAcbSwS*TD$`2B>Qt-q;n6mk z^QoR%b!<-b&?%q3QTJf@-mNe1>SerYt3I7)EVhWEq)G=!_78^Hie^q-+02XlyXh~-4+ zTq6G&90EN>OR-ZcZZDb$LZN^!j8kNsIo#|Nh%XR>;J#rP=t)T>IG}W=TPSJVG*?%H zQ8*V@r~E^+ob}J0v`BMv>cOcufkzmlfoUs6S<2m>A-4*Aj`K?`Vnf}=J}{Nod)<{k zy9h_brkA;87%5$aF**0TMc*@vh!k`N@mb}TtHy->Pvw11vG=r+++p&BKw(?x7+6jv z)ntzm94jcj72zZy&C*ZDQGL=mO2Fi-S6BkgQtew}bZ1PM@;sCOl~*$T zBT+@CI|5Z|ZG>dT{-bS=#*uYv55w>cdrswWSHr#&gj;kgV)Z<=I{e6o&q$alI~ape zkERNTQs-cpG&j%Hn57ueRnnF1p)yhz=B5Y3sjUgi83U#M z+$5kvd|?FxjYgV_^ZoforZqZx9;+q<-)54S3!o-qL6ZQ?BL)M!GNu-MS@Qyi5%oU! zJpl|jZw>p z&5zSsUhl<}dJibc7ypmD$y2P1VU#V7lu$IA6gVB(UHCn~7nKu$siI9sQhR}7iEC9F zD?*!%o5hT%5y0c$P969F1ppZZ_*Ap3`IWR-q#P)FpSQ{vK#5lRG8w)(feYzG$}$^J z9a@HCjS9!>M6!{dMDCn;iH=h+1Rg2a4)j5cNN zx`;<#di;WXn>-%>Glwi6(UUfnrD6`ThR_$n6k;j2mH=e*fft{>z{{5#L`PIB%lA-I zqN^~#JQCapi#}o^p_oz8m!CL&mShK<$<8IRLwDVE^gh_yke-%j8OCvf4#Pxc8dEm; z!11#@F;XO(Y~p{`IH`+tUzN#7V|L6wAq2%w!6}&Sr92b2<&~VP!In`T(buI-YGWc( z*rKK_=S|i5h*T8TV;CdFa1c%P<_B5hZb$dgpmPT~i!20v8A?pNR=v*bB=eA)NVSA9EaH~epC}VQfG1=Bz?ab>{s%OKqOb(* zf$o7$L9c}bQ2d{u4?^m2B&Fidp+R&8AtIiK{&(pAf=196Zi8M0y%+iu=%1j>5c2;J zio<2-?a(J6p%m9#MdH2ushsZ!io;8xUxbuyHHeOI3v>}u$<}{?z5_MT6^=u1g48?m zccCvq>K`e@!!R@|_k=dyQQX4x0<~Fbd;s!E(Oo1@fTnCh>qqjS$`bqpG)~cTekF|$ zH-~YoCg*Y5QlD%4vFanly?BwFG(!bb5#%xFXV!TDj-RC*C7ewmkZhlP060@MwJH_n zUzMrOaG&xn869I`RjYIUQmM|ledA~lj1DNN+V+hZF9xn%9WZA4fsr!GKL*FKAIPGN zM990Y(gfyJud)Xx$-#s-Q8Qh9@R3IPV~a(K(94V`F3cYOT_lpJ z7W5KG-Y-gsw+GaxzzQr-XvI-4yGU_-j$C`mVp2HkjaG|ygKm^0G@b}?D%1(@u*HQS zIR<&U`j%_X5yef_`Cwu5@|3Zg{6g#tDBL6f7tj;z!9Bd65Vm2ufEOF>YLmrLE^kaAL{I75gq!GLcy-t5eU0fUaZ_YslCLgAvnTH`>$|l1% z%ax6T2bYg7q3fA4d8S5rn9He<$o8Qs;nx-xOC&&naWJ|0)k758EFWIGofNw$1)c5h zsVH_Nytu$L4Fu+co54+Tr7MN%L2LQR3rjhj-kTmK;ElZ(A+tX?A7reMV)K=I*4A#1 zfreHry3@-??m3F@B5Q&?Cm;owj_|E??M0i1^>!G^J#yU`wc7A3sR5g4k_DVfwIf## zFB8{KSQ>;QAJ0ILQz$^j7ia1;5bxAF+N1%r%)a)m!`wrcQGJErIutDAKeXtPvc|*qPDTz0|($EFV00gkpNj9AJ)t zb+c#&C?LYS&pHF@EJ(T!6>Kz+J_Lh5a`5osW$bb95GvzXFPi7HB%nSvkifu`$(l@Z z3?BDFMsih-wtcrMP8&nEQ{kV`p$nnpJq7; zb>z-IVlFBi6(a;ayg`o;`8>B>q zGmsM1<$`$!^kL{p$oee*`8qU#nsh645&9MAlaMmp>ZnO)ptnGO3@N)!K!T^Cw?Tgh zDOo{rA3^H;HYANnu9rKZS3~cI{ww51LplHnKkyeI64R}LPw*GP>wFdZ7Bq^g6oM4{ z*$2H4dO7q6^g8G*kiewZp{JlZ(uLW?h~xI`w4+OP6scKi-lRu$lqmBHJeS&scgY>=%`F#S7n+W(>xCbGSZmz4`m_8 zP>T*YGDHU{u&DClisb={s>{TUra?Ap4 zV$A46V(aqkaeWjUcw!x$FE#C`O>!X{7QP1-o)HhPT2*@roHwJ-WGht$8y(3}g6c|$ zcuS` zM*Uqmll-E~X+vVQ=WyIlHjtnwF)SnOb~c9QivWD^XR}##wH~acm{_c|%E|i5%E^@_ zz?j$)_~4~>k)%(fW{zl<;f+{vyrsN2D+i1YuC1+2S+x@ms9r>+9>|#F&EX zn;csT#mfirC2=pve{Lwh>Ksfe(m01Un}oao2e8Lcnu2TFJNYNFz;Uewgb;?9S>4_u zQBLonxo3nc;kprb^+~H9Pi$|mZ(jS@&J)=vy{@Txq;@>|STeJH)j4F}h?M=Rc%^@E zV`IY_@yU5I5nEpm2X~&>D9S1zkpc_lu4G~3>a`u+n~r+bs~nw1Pc$O%((xD?;?*a% zcebjq;2M(`rHe?^)oV{&<9qENe$}g9WmFpT5{C5>MicAnYmxBw6HjdIP_0#{h4DWv zWwNW;)$Pq|S2?P!(fBleL>C*&tgS^NAKTg5u7lo#(+p1?-PXC(>QxjJxt8eZ-PUL@ zQ@OeADKa*h?)7RcTez1)l7hry)jDai9KqHa$N%VPGLmRRy4tv|J4H4gidvx_iWS$^ z;#4|v=qgY<6k(amRjZjy+SO!qsQJW`4XyQ1sDQ7eP})8$7_(yS8M_2 zw0|sZ573UC`5$YJG3P4gy zf33Dy+Vxu5iClBU)8S{5u8yK3rs_rsLpPx24p(!bMLum)56wqVTt5FyGDR5CC@4B$ zx`y-ue+xyIdCjD(ae*cSSlg&lxZqf>YWQyS6AqXG`mmcLkt?8!}NzqhqDlDVm~XHPxCcg+aejpaJ*4sp~F z>%2WTwYd1;Bl<811U$;F(lIv`3Sp6;$zuMf_;7Ao!hmR#e$ZymQ%6O1semEiT>P*w z#k3R?Q+q6p2uwJ*4vPR2@XsKU0}XaD)c%*XNS8ThXNa6jQo&-Jtzd`HdE~_5@0=V5 zz2FlHc6e4-CFU^n3g{isRp|53_n?yM|6hbg^BU+^A$73&9&`s<&A)+u8~Sr7 zjz*&{89xiDS=FCGgJ?7@=mhj;=(nM#pie>1KwpQx3(ca`WFcujg8F$GBn_zPN5)y0 ziA@|MGX2s%ebuJWJ9q(Uzy4LJbr@S}*!;q5K<3N*(mG0v@}rXW_48R{TIuK5xPEbd zuT%(CojP;TIUqLHy@UAU$&=@uJxe;3yNw3|7mcl@lW7Ox7VRodF(00ZBrnRY(Y~m& z51~@Y&uC>aHyqPNdn4?{_o}_wIrBja&uERyOws<3rTP*%qS!Kom*ipv5{=DU_XFa} zLA0a9DzyZaRouP{%5q?Z%JS)~_yEgX`T3L(SDN))b`_m2Rb;_)I(LcFEg6WcY=-II zY*9mo{|$y)MC5WJ&*~V~1p`=IoC&5qLGR3-Cj3`oiIL%vNv`p~%-ZJW_D*J_s{OWk zm(Gczd<0ZW3x|iZC6gQ5Pi$}G^^E)7yCan@pN)cRcIO>;+({&HExxw>#8XcI|3r{y zpF3@hcpvd`cWV>6$0;&J3v2NOghZS>(2`E2I5kJ=ZhA!K!2fB-T@8!lEY- zv{u>Pa0gafovH8YQJme}{bUNMT&S$kQ;=g*sVmv+dSPdWmj-Yp*I+Z?Gt5(WqM0Wj z@rmTa#i9TbU7Rj@(p)x+kB>C6?CZQ)d0 z?|1PJ)j1x6*krmN`qGwO@6gmNBR_%F_1E1J$c45UI{IQ0Ti*dH8c4} z`70U>Q66-OjWz6C5?`5w%?8H?SV8(Bd<)9w(j0Tvw}mD^$S(PC3~eWq z2`%9F%a&Tje4)XZ0{7o5)md%FFNlMLs0m$4Wm%oLw|EDf+^Fk~QI2z$`|R-X~hjG61cvatyX%%=zH$qJ>J5f@jdjA zhT?5w`ej=>TXtCgW!vkn{m^&@S)ApmE3MW(XF-L;#(-JEy@72Q#(_@#V`MRH{v{8( zIu!GdrX9g9d;yd*1iL=n*fq`05LiW%|Ib236&s)WL^L*Lnk0L zDR>?9OVDpZk3%1aJ_UUd`djFGP!Q3pN{Ks^|8YNmISsuAdK>g%=n3d6&;+7bn7+rM zH$dyq*PwYs@@>!=NF{c^3w;a9A(np_QpLmvp-(~IfI^62RZRRS^jb(TzaNGEXaxEH zm;B|Qp*du75xNa}F|-1;9FyJs!$|Bdf!*|2S(D(Lys36$7{yexz%Ea|;uU7?n143x z5_;g}hIRtap#jbh7Or#_QRkOeI>);|T)1%gmHMl*am@Mi7hc&&bBNiv3O_VdG3Wfd zGI8!)=c;yPg7ro@y?X)uvw*uc<*3NzN$hVtmnrZmjEAl?MYp*^4CO5AIN*#$RGi@? zF-vsK5V+bkQJtb zEjv9c4oof{ieXBjZ=!_ex|0$nDLS~qpNY$uy$DZsr{>^S=}oMoT%0&Nx6AuX0b7(< z%WY;ri-l=OW4Dd42%2vgLGQ*9ge;ncJ0?<_+qhtBRq$uBic-oJ4uuh}L>;i1m9ib* zxwf6oRm*^@7g~dA);6Y5Q-iCktLPc5Kov%-+F&iUv3U&uyA~iA44X3}5U`+V1HrQv zLk4fIZER*VqFUxmd(7!3Ii0n!sL^;w!W)E(eklg&NVak$`$8E&HI~@B|D?D&-qqYuU#Xa5Q$g7qy>2q zWLOe!6RTSmS22OEsy(Uki?M6h;)RW5IDp`ehSoyZ_*>V2hg2{Oi`mEBU!i#kL+5ly z0Zhc)IOFUwBbft2 zJS(goL}H@D#Mg4k%_rmFe86L!Vdl9sHWHaO;xdp}Sdff7tRo3Ul`=Q* zJcscb@vlR+w*$C+7dTz1q$mLOkI8T*lB89(9RH3gc&n$rVFoTF3&zo`>6r;- zT_dGeRu3?(ie>?rxfY;nH{OB}COsw}-gmMQstw_-COCo(G#qCM1#^lK1gL)i6DD75 zERhybD;893g91#D3yy4@;KolCLiQpeRccW~`Vw}87RBE+Ax+YywN7P}{8RyTmo z(nf1PM_@``vhU={3y-+B=j;n2K8?WCao8kes7e{IGl*7%sk`g!*-Pe>W>*%VM8v2B zYjgY&3vGz!HaD78FJS55LI6xA_YW~k8c4?+cSv*#*Q#vb{o?hExAR~iNzMWjn9J?= zL_vN$7L%+sve)zD=4ovsd5a#$P|Yr+NM1tMVr57KyT0LqBYWHb9{3?@Ix+(lW9`l& zI_1|-L1kz!B>(=s&`Ic((CeXJhTaXWLQg?|0(}YkJLq4bc_gc{E?)>)62E7mpM(UZ z{}Jeqp|3%z|ENJiy;bVO+ac9}{3)b3KopVtL(oIe8=+O`OOOwdTZN86iV3_Ex(asy5ek!th~PQr!f zg6z*G?}NAIOS!GposHEe9JR>Y=3HoNtF*qp5n4-HxwXRD-8&mQDII?0iuW9xWJE%4 zo}r;52PwBpCbu42!#GV`{aBHKSL|tBX+F5MwS}X7BfA#Aa`#hr@2p?r?N)boxKZ5* zhhLHJK6K>J9S7H*dh)6DYng(McfQz^rBSott*zXZtzs)0NNgmc>vyYP*v`ky^UiVx z7%pcChl<(M*2lNj*X1lh?3ibn(g|kpu&u}IOWD>&Jb-^=eQQ0DtnkV7bf3%qdI>Y**FerfL%7z4dA1U$RysDHNjo;>1Xjklc!?b(xkiwW7ir)Kv{a>*1Js&PiAjQESzBXP%@~%z6%A=kW`; zVQMl>!PbEVuzs^4yx0%cFN)o8WlBmECp z5;7;luH{MChAlU7_UuYqO4{LZSB7e57FoA)p)Di5eFfQ}S;@!?Z5bIEYa5{z9d;3B z=ZZ*Kn2Drij8XRW$jB)8f=mf8{42TfN4i9$c92J{9T`w!DGTz1|s4F?6?(2@~YglqMM?KLQX^YOq zKGC_*FFF?xgFTW{KlDgW{m>&h^+S*3T%0^*^@z?uujmZ)icbBrOLQ*wNzR3S$vJ<$ zQ|Yu<;t~``-`!^fc;Bk)vH&x zw|90PleF?7BDzH4#`flxM55K$WH)=Cd=iOxUkKh$L(J_b9$VkqzIN@}V>+=v^yHHr z8MyPrI&I34fsbu$m|YToQQ!)$JoePKcCmd_yTVUCiI3Kmd>`L_?6Jq!u3XuCjQ`la z@XpSYA1iK00~Y-xqU#@fYTXfd8>_1{#^v-+6}DC#iMPJZ1-JAho7x$Dift)-g_tga zZewG6*}uF)areeWo!;uI?4INA zeV*1o_uNzOX`ttx2|f4hvxk~<#p$P?-us^Ssoq|E*E0tWJs0ZjnNV-fKYy^L-*6J+ zPiU&PXP!Iw465xJO)rS!`R1Ik4NvO+_Z;F3J7lJZsG`<>>Mpg`z;V4dRoY>`F?(C3z3JS>+4tS8%sTE;W>e&6{O{Ig zouSQgNt^9Geu@du-P)`(v{^2+8Iw@HK6R%yLz#7iGRxhi%qH(vX1QHucAWJm6L)K~ z*2~al6L)K~{2kiNY)@gS*-cWj5WEu0wYyv+1TX8@jE`_9vM<+_j#L`)a-p!m>vFkN;SlqD$J!bRCbqW7S>-tK zQkk1drBp1{c-`N=v9U2av9?wzS8DZYq^Z^G)nc{o+m5ZR>(@sIE?+K}c~Gx$)$2z( z`Ny{m#M;izNPn$XrRc@Q#YUZrgV8TvUMrQWHJ{b0)ha8f3WZ{+Qms>Ho!|ZZo+}i~ zHGVI$>!H7YZf>l zFn_95`_Er6VI+e9O zQY;qc=PnkW{$P2r)*xvmnn1qFA}uI`B2WTaXb1z$Z?e-r=!bJI78a;*cCKD6ZJ}tk zUdJ$#iuTt_(h8N^RI3Bi3H?>5k7QMH&(YjcVWw7^f5+mB&%NWdl}4#CL@N0}Y_$e+w}|h2B0dNa+LnMKiDa0_Hds_fvn0yP za%aT_L_WX9ih0MMJQhktN(nfG`{lK*#E8`_e{Oyr-kF=fY@bPKQZA$gk|7ucLP_;j zsx&P>R4mGij5K3vrw>e!%NBu_z(b_2)gI`qHhcs31~-$TTDPpj{XXVOsDj&R!#wQo zgT=)oJ<$~Y@MdjI4&ViyM0gF}xN#Y-OL9O#&>4hCtB{E|n%#ru-|&XR-KA2sVLr}y z+1%W?abtKg>V(!q&e(KIHUWD1#*LAQ%a;RDU=`6umq2=%*L`s)%*goKn$m|HfzlWO z$Z4c~b8~Zi$WAXVI-Vd7OcQ^sf&aidVtJq3UE(whTy4bsMmbRC9Viz+!}$T==K)VZ z`vV|{GC2$AcvRWwaMaoO{{jCIIE-?s0$&d3Py9__1l=+Zd?oNS@NocL(`YN9V7>}? z3ivgk4Ta)9?p5F)06z?T2>5N_FMw_o%n&dM96|&xFn$NSq1y%6lsg^-vmfZGzwl+p^rz}cXoF6^_gM;dLc>sAf?V1o~;%y z{q#%kzf`G=sN44TA`uoAATNaBNV!~?tvy{WZT#d@&uo;cmF49rDk&BuCz$^rM7=Ou zqlm4S-v92cVnyPRsTqe#1Ck`k0u-}QuFRJzKmES<^S-nJtw9FRD?*w4Ey^yGP{MAeAF>Tif?}lsmN^Nf zYXX7;%SBpG1_*5)Br^x)<_zq(=;!oLc($V>Nau|6&Y>L z`i^aFZ7eiJAr0~=GCYw@^pbiR^b36;iJ_x~bv_e&^XB%(>hg+ZIuK+_`PBasOCq)U zTD^XMmlP-JPHdBBlVTEb#Da+CCv;A|bdtJ|y07eTtg`&E^p;jx0_iK|`FRP!q~#@J>BDNG_}(f)U%<{D*8!iDvk5GjYISon+tYFF8mEr!Xnk^g_d%>WAG0YG=!w*oH#e++o` zM-lLN<+lMJ2L1r(LQfn5UIi3@W#Dn(^}rVbotnmol8zpRq58hL<>josZ((8XBC>q# z#TWbAmwkfLpKHv{%$MpfzPN_nnY9gSIn2Z45+LZ}iN=RiTjVdin6(YGot6Swe8~z%yZ2DNy)G}z&lVQSktSH=a9^aMv$l25+8VfGa})H0h1yBNDgI@yq~skT`7Y)NXx{nv?N7$giJFv&$Gcv(ylc1 zD#Mi;K%vKx^Ylc)8>%oH9^Kxih6;ErQY24zQ`H(VhCX8PxR_H%TWzx(g+q)oHpE1q zYTQxqr6odz$P(;`S~l6kNKrtgasmlObE?%+wcwjQU5;U?bOM9SqN~*l+QeY*&jEhx^(aDS3HS=&hk&02ejE5ppdA5| z14e+n&WNn5!a4RIcCTO^#;YtW-w(dEua>i_b=t%ZL2j)~WS=$~>s&aL9zEWi7 z0;^-fSTytRiLkaR^99+YfvHz1E~f&=6=3CRu|dp8J5X=e>Nh3ztYgH9 zO_4_1ouHA$>6}zySE|rU=Lnp&1i3){HcjWkUgQ){0t3=v191RPm1nVH3iA>+&F6Wb zB1k&$1va}$h6yAQQvfYUg+v!8K}Jw4*3Na}|1nDs4g%yYrNZV2e9Q<*!sJ#{Uu1GXP1SSgwMc)Qae~aOg#Q_0 zJV2CxyOa3JR1vnxX-xO@_Vy~`u<1Im&4^+OSN_-QM+ZPBh@q1V9qDrl7ZJm6r$^CU z64sCB!>Eze_?6|ysfG(NSu9kVR8X&<$kD2x6%+MCKk<%D@=747yM9t;m;SlO0XIw? zj?f}awAxzj4BQhp+2DYbMmrZNhgWBj#*$bzq+kfr9oE6elVLP1V>TQ*3pU0;nZ!W( zE@Z*?13w15ANVlvo4|j<{%9LO5F7z601LqDfo}s`I`gN%y~u-W!2ba_oBefQ7&+i< zR{7w!pnnbcuRt#{K@aL_UU}(?dy$uMXdWPv=d8t89aA`8_9MoWT%0~~g zf&BIB+lo^$QDXxD^Rs^B`mK=QJd!edaFlLt=7-Q(vMpmpa zdDfeYsS}0z6pWF!k@fbWT9G3@*|dOC{iS`6+=UMht5mP_rP~p zyo_G(N3$mqWRrm@lMZFwXV%u1X68}pq%1oBE-I*~sFl)rqIAjyntIL@3NxYWm0=5W z{3mNfYHLP_Q74msyIU_ z|1Oe~gAvZA7+c7@Xp)trM1k$vN%RR9Cz$BSVdz@6kWDDq1~UZSgDpTzRHLw>DfjbJ z(wd!}TWCaLP!3|#+$E42IB;MnN3qMmwZ9_TqKB zZ2;rJWuv^ZZo?UQ)q1-E5Hy!sthQ&-VQWA#-Ayq(h~4Zz)QfN0Vi>_tpR?Z#V$cr7m2@eKrg4}JkE4GeR27AE4d&!2>~GMzy*&(Cm*OdYeQ^s;eVs$X z?d%MX2j+aHUq^&T=G@q=TT46gSCmJnL8W@A(*&rdVXfXUxJ=Dp;vpDdKFAb46~IX3 z8a`pJk|y0g87MeaLN=&l;=Il$jcBG2Efw4-B>5Mnh~% z-*IFt0g{CxF&f)KilEZuf94lGqI8lr9qWB3@#JW|Xf37S0v3r>-@MErKI?V7*i}6N z9SDOvjitpGx@8kG|SVrUQlnYGy=(O#=w z+uWf9F3#$5zSj)p@XnEAfXHAZL?*Qot{4D%&A%|HRkl40-U;M1B9ilg4{W`Tc}9>& z?RFq1*)wL2OUY#Hq3vWd4wJ$-?|5wuA2`^rT4^Vme6*Q2VmQyQ zHq30f^o;WH?gWAs&oXIA4LzP3dS^SW%$jO74C{m(v4O1nG;9!8VhAHNm85=)kip5r z5$kDW?Zo0zFfAdU#)w0D0~)yt=^HF#dzzB{A!blUmO2=L6u*f9Wt^$af#Xskh9;8< zS|sV1BJGK0bv>wyqJb=>SZzK0-PB-CnUv|dN=Oot1mjXdQ)%wJ6HF}ZEk`=Ja>2gZ zd2VI~SzoJ{uWj0H6(CwT%iZTZnfbmUN{c5W^-)QKiT(V7?)b`rbBVZ8pfKkoAD^z; zOcJWq_D|6a+7k{#>{>{<)vpI*h7Mun@#@UX&Ig_(^=T#{^q(*!1FC$0CeL*x-~7WJ z#6Lkr-r(*W4sp9rmi~|%uoq7Vnx=4T9@hlD2;5TbG|?NJD^cUp68)48KwYi2kD0JO zdS2xw*Vi|awvw8_74CV&AdZKQot=%1{xRaejxE^quO12;@=?rY=E^(Y!u^P>kuB0iWLWbySt*lZf)N6RaT^WDUXF&>jC2crVcSY5sf^ za7(ox3wSl)iZ~U?j{rXp{65f)@;C|@*Kw`*KLI`hbf7=(1J;0V27U%`mV6!^;`af* z7x)F>F9E-R_9~zZYyvE5YqWhSH(w3B6*$De%tAHUK^&%YU;-Q->?ssL0jRwl$H81a z*fTfBtjNcNar8@o5~Dbqn-Rr1&|}E1NWQEc3z--W;gA%=sa8kyUrzTTx*ItAoFJtr zPQ@tBOV2;Efz#*8m3_U*X0wbo=Elt^&JIx=X7eRlRozP&vuWO%wH=bkccVDkDXaSI zG0qruZE=!luxMOL1Y!RamZeX4O@q_^wjGpf9N%Un2axw;=KogmLosJQ-OcT zpy1;XaKGHCRprk?U1o`v2lQ@u8s(!D2J5t=y>q%aG~A%nFFw!z!@p?fJj1!hpPcma@^3MH65_)#w6u2x@Pzo3ai z^v9S?DF&DLTO_7X-B@I3UKC!huX9jy-w91vg%o8+?^H9<8j+S7Q>iWUae%&)5rNS^ zK>Y|rF;bWzRD>DNU^vmj6S7&aRGMoz`WmO4X;?NR2O-d$I#xBmO|M<=1cG8fsH-Jw?OJ3I1(SbK*le z=2Y#2=33ZOS>OG)Zr#|_u6GQ4UN2)VDex^ob*{E;=A=CqmgNsS{w7czaOvW+JzPBW zIyVRtHIV$a6Ddc}`VWxHLW}d}D&Zxu!l)!=AvdJ1+z;a?8(@B5v!PXjABYTFE<(7@ z4>*RJ4vl)n3sXsca{anT3Tb@Fz4fA9_imyuazYAHs4+ zpz|ag86+QM!4dJ7JdbD_(@@J8lS^!vKgL-tV2e1Ndy=Vmt$yW7wl^FUd)s#!kj)9~ z`w{l}ybTd-$o(1MLx5uWPXX6=9R)4|j{|x!zYq91;E#YY#PDkY7b5=z@LPZmido=` zfgb_>CGgjPr=}Zme*$plY~x4x^IqUXfZ_Mw2mT!R??5jic?9@u;gs#W!YR#Y%J$zH zP1#GF415?-6IOfKUJ;WA@CEgKcX~kV|8x#q%Ai?*j zgJaED8wyamW@Hd-1IBmaB?V#L;&X(3uiw-@!&OqWRLBgT=x7)kDQ>UcMEdF#s8%O= zsVPuB-u?va-!UBV_UlV?ywxtKR3=Q}EN_2@n*MkQtWLt-)^D^(imX(|BN-)5YfBnjoP|#fl2&2EpxMcauRS6o0IvSiE{Q>mH-ktQsR3A)Z=IJBTP`xV&)MA3^g# z#>`Xjd5%e}^nanm#HGeR_Ioc5CJ1nG@i4)tKn;(p)mJcGFjCSzN;`-@fslpSS*9=r zgjP&=gJ}*Dr9!EigJOXDS}~LE6Cjy3BWz}op(;>peJWz4OfSnSgUzB#M9~vj76>sF zigbzKhOCf(102CR$e?@cN-hFCq?J5Zt3Oh?WifjZ$dIeiqNp%iE#=}>1YLM2l zzO(4Ha(QFNR5B?)Xg?{FP(T+Oksyb~VV<3F{oM{O`f7Qdv{I8D2!2%}EYeL9QiKGN z^`GLeEx$>(kk3gbGIx-!sY4xaY8q9|22Vs%Djpa3mw)$g~L&c7bZ=Q}%`{sug!+VM7UrEbmO@?GJT80=Q(mG!cC%6;9%8 zjG=1yN_Mb-RuF9}QBJMqo5*FvhH=hL^w956Cx)RM+LOdCk?m%tNFQL0C2#eGrc?G* zE_7HzO?JAEE`)w0@tFoeA;X!JeHPLVvdGRsY7|z^&c_@nYdb=mXPh|CHzN(d2Y45t z5BGNf<2(~c!Sld8V1U^Z4mDi=GjIxNxC*%H)w6#-4s;<2)5b>pzpb->evXHq1oYp2 zKClja8Sovzj|0yE9|pSGZ{50;52o+J-o)=?$aj=(SHe!h8HD)B4PU*wWOp1wn8O}+ zPwebq3^IPM)8IMlZiHn68>&gX*&Xg(MMrbpd&0Cw4*FQBqs*Z z01$!z7OB;Cu8=PotE9sLOaYXIC9`9Ov1Uw~F=Y@SpB>g8mJd0EUM+Nw#B4*tl60i8 z>i&Gp(`cDYMc|@RphIn=AxN3lKohiAJzL*5)Jh7y>H3T06c&M`N^SiL4nCx?G;9B- z#%`ylI^;O!Q@Poej`Lzd^I7?xKJk$nVtNxF&%-n{ zk6Q=5YkGbC3PzDs&qYNcCTt6-8)<2XCG)kU?QIMnN+UW04kFa0vE$tLJhM>Jbll4^ zhpS7e3<{*H(al}ww!OvPK1|=dXai#%D@>pQn-~|5`S3FmzCod(uW&6WWyR?36{(H{ zPeRC|hTc-zU%$Q?Ly{1V2y3MhC)mw+3@TX;E^!riy*@T2=JY=~FrsjT3WKuGunIRA7uSzt#-EQnj8#6;0Pw)M1#HEO119$!f1P!YgIww|H& z_02$c8Wqk}=pxBu`3GKNDT zpiz|g3ffDJjAEH*FG$ZWaVHr>r@Uw-prJ>*=^|I7%ok6LNa5}xk$wc3-BMer=@^zB zLoRv4foI89V3|;q9FuGa^3L?k)yyyNag=HMIg1O+(-zYhRXpWEi^Sjj6C#QVy~xqV zqH1V0wb~3^D%ogKBudgOW#um$n^=`dj!+%ZQrZP>?1O!6rp(&zjdX#IAXe-zi*Mm3 z3a?g=A>O&NwhNKG8I20bs42GFk{FTKI}o;A(Lk1HJNpuvY78+JQKHoN#K5%8Wd}}* zmA~!y6H9ALqSRh$!MkFzxmE?1@?l}l9J&-7gL9x|VFqUc8GJ?o40y8+A7DutbcdzG zO6fXNVXZXQGO0yn$TTtDP^NK-uNXuXBPs!BpY{5fzvC{cLA@!rO@{7BlmDeX1*sTh@!B z-(GfAQ1sBJK>=Cc*!uc56BA~tHqYl)+dHzoeT)9MrU^<5na83>n^-Ipbb^lAh`! zY|fZuTBp#0qF*_hb`mL)^{Q!1rN=|9{X+!vLPRuo4h>rjvYZ7qp?^X*bZl(w?2L|F zz6=p##!xsU8osptPJ>K4BclvD*hjb___e>mb~Z4ufj0m*mX-*p-;XjVu@i|A9_ZiL zfG&`R{Lk9uSOldSO3MX#!3F)r-U67H%1B3<{RE&iTzsIj`kowJlbR${LWe9nr`)Z? z+W5qyVZ7oB5;ZYPVd)*#S4oGvEeqW(l{aOTkE$G_(P+k-@+Tou*X2IRbK^r{%G%ZD z+$HEs98|In!{rfZN-{E7$gL(IM|Ei?B_a($A-JMN-xcNJ>$tsjC`pKh$irucroLnE zP>2|6WKOy2Mi53TxGnY$H3LrQkqQQ~O=5P|+B!rnDh~46hk6*WpdXaHeCv?wzFGf^ zV{|vGgTdxza0dN1<+`2rQ>w zA`TM95kn3S^<$bOBrN3y>K0`VyIadX@2-fH ztdxdVr=qz@25rK@;Y&sSG%re2Otv-_-LKTd)2eL6rOQ}~P7N&FrLZ4uuasBWFR+_k zyOGYb`fH&Ok*S~n2UCT>MM)5nD>Es_Ml)||C^)nH8B`92bSpl^%NPbEvbr(`H!?(J zuWH4b`tfA3wkryzcf_7?0x6luAzHXD!1ogAtDP=`9<5Mjaxn~!UgL;XV_ct?;!OSh zs5ad?jxB<^e*l@nq&r#WHg@Rd&2>#9fg0!1DQ>yy_xg6u0R zhS4e2xf-cbuR{Lk^relAEiExq5JlQAF=HodU;DLd*F2!2S{)yzOsG!=i$3vsq@BRh zo}4%i<;0_@?hV2xT##?u=d}%Se6O2U4K{rc_~*b!0GD6=8TMx^zdDBkadEgS7`_#F z7x0U~r+_Jx$t<9E^KHN{1Ads`BueE9@K(U(nSRgd97<&eFzEElKo>gXLBNBEZUSEg zco@+;fu99F+Rgm`6WshMupciH4G)%Qh zm}*sZ7lUDpRyz>8xEZC|CQ7vp<=|wr2XG$Q+oolmJ3~~Bh*3$rP+MAXD$S!wgOW>z zr*y@On6^E<(JsFuG6fk?@RVe5E_~YUZVYN>rs7s`iY6RWN864P4)FFVlgWQ~#i)Yl zkH8~gB7+pUkJAZA>|Jy1XSh@pV>Ha|Mok?>8)MkIPQz;{d?m3`3hf64dM609HmB7* zAwBC)yGgzq#bO;Qh@`tn3CoKfTQ1KL9=I}3Md}pE0ymT_^58?t=4vIijO^|xR@yQI zlO=~?q*VUN<{-b9l5dBxQpgL%2t#T?m@Hj#Jzt%K5SlS8lR%J^3wBdsq&(Ao<3`Ag zSK*~5N8c&pSdeLwJ#JePf$E&dHv|^K!&4Ll7_znAW zvXEMk=llAZf6`H=8qu8#dGfR};gRTL9V3F@YNz`sOSMVi*+8F;Vo43d64_&$sbHXw zd5@Zf+DuR116RboRDKWvqZ6g+3I-R%x*FTtSEL%BQ+J>)8yvZLb7Pyft1hJrn?ERz zyU)l-p3LjRQFz)4`M;WtVf}jJZI{+JH*JTJ|ATF>X#0BPean68;sf`Tq6Zpnf6Pq} za{d@F1GFMs-^IP2j$Z|Ok@v3#-U9sJfZz1fhx-WdB=9}J&jX(Vrjh%)Z#_}x&A^uc zpB}(kT59bFYLw@%7{Oxce%cV!j9^{)TO(Lg9V`=BAWX&16)^2A!Rasotcw@RcfE0N zO2wU>sjj)X@|=iZMyXIk=%GM}U*Tuj(>=%f117Y*&SN)(i6Y6S4MTfW9R<hi|bMr>xJwWZP?qbQ4uCtZx3bz#TO%+0Mi!KMW)&M8iIQ8C4yj6DzCEPT5dn|D}a z!OAu~$R^NCnNDu5qunu~UtWHt1sieNN13fGEaYcd1M;_CFG~IOBQZaYxoq)%N{V#4|G+1v$0$p|7V}`^x_~IpZutVsbPYE;f;J=4 zD|HlfV3yh_B&Z?lS5qqUU|YpZnCB^N4Pv23HsVl(9AD7tcT z$bTcXDv=*q|K!HT4J17mKj|wd11IJ3$szNKA1-p)a>;0jJt7rsSr<%bu_{VV4VX8y z1YN=Z!Akg)u{wzWvnBTMbgZ&emr&S<5tcoAC3%Be6`NTU#~Y;5Ui?)&P5~rtGUF3G z+5Ptb5%vMxtzU+$`3Jx^0Y3mdgZznI?S5!<96{qQMZFwf0=W9=Ujdy6n+Jhgz;^?F z8SB3QhY>cH0e7_jFrWbX1ki@Sac|H;pu3%hFsFI)Nr*PDot<^KL#VoQi}B32^Ziq7 zp?-(9dTaH12=9Hei^dp-hQw%HzY>@;q8p>6xEN0UM>YrfPP#}TJ9fqYw;>v9Ja{-KRrBz2dZ2|Ws3QT5k zY&yCfxYliyECex<+!lfcP>jehK5QENVjLxbyz?RNwb(rWU^hLv zf-SX!B9S?e+Q@jEfQjNXMxtej{@nJ$0NA+HC^IMu!WYHk=%`(dHd$5hfxqHvWZf5t z52-~!lD&z@Qq*C4s7+Rhj&mPZ)^~&&s1I~iLh_P1m2cCU*Le&BlQ0f_N7Mr%jen85 zHkleI%=HI6jclAV4SnYKl1(IXY3M6owCY6vaaO~VwpP0UiIO`TAT$}5LldGXr92LU zQUoc_v!c&tXM==kYygX*G})p?LMe?rL}(4*ic|^=D1%W9=}29qAqg}ljxA^y&1K10 zY7QMwPxeW-(GNrg-a#B$Y=Gs)_qEeHqTG%_#(jLm%bZ#2jHfmv>V`#T>@)%?XIl^q6e|j&ouqh zHynKC?FrD|XWiKF8TUi<=G;D^pAuZRc2D&7-MPV{7g?U@^fT|&!2e%uZPoZY?fv+i zJ4=k?#Hg$4cek%pU3!$F271F;{}QAjtI=BYS;_>BYH986l_5GY7XlRq`rKP({to+c z(*Bi^eHsK4u; zD=X?gYtU_u{imuG=;U*4?CLqqKCsY@}uikPf35a1~;=tV5@#(c|x71@kWsqa@_3*&f)-6oSYQ^<%q|K9d zV`FGgp2F-1OP)OJLS0(g)?EX_AsOS)q;B-H+!M{ER+E-c9lBR?Yy;EXzzhKTs!w%? zy~?~P&!oduY$z}-)4k1gp?QKfbIwClY$&klc3$4Y`3!McAe$L@TPo_Y4x{$qAo{6{ z{gW&wSa#RIP>U zHmSV2N%__4Bj6k-^c`DHV*j5M$lM_Mlso|}?Td|ank%=!lw7uZ{9D_rHHzjg&Uk{G zK^Q$Xlu@^KmNUtUG*s&oEuEH>kb=(J$+kzDK@IkDZ+)QgT}1_?GYpm_1@n)M zZ1rlfe(MI=%%0^ikKuv>ffi~3j6XG5@{XcO8^y@_EYMwGy2x^Lqj{iV0fC zw!kfpVUYKv#cK7iQwq}cjo;(|hj70KmIF!k`XRz;j1@b1SRQlp<{;|_sL&K)&Wnv` zcGl>1o97UAwA9Y~XtQmxx!EvL8IWl|(I^cD{8vza2p9TIsFpk{!8__$!KLXwje9ZWN8?pVPz#Om!JOO+G zFy%B445!7~j!E2s*D80qemwcjRo<-r16A7l5?!4GN4OJvo;(t0Y#so&2Um;_A{4`F z4TicgNdYn$vt1WpaEd{-c!i_h@QTJ#aNRWNU3uQP%L;LqmDan^SZ%~)JOPda-fpI? zK`f=y(}W8KKSnGRZJXA#oNb-(#%RMNNPhhv6m~kDSFq1qY3^v(5o4U$;CrqUbgEin zU3eQ4v~cgVqA-=xmFO;sj%jkkj&Fq3+E_V<%JxZm zKy?v|kn^WHAMrgEb{L`&1slPu8=r|KNKF24#PdB zPZ1oN>PR8e;QzyD;N%R8f`ShhA8d|(7cr+$21*%OH}WZb4uLIA25Y9KG>L_=NQDX1 z{Yr;buLcpQSyRyo@*)uFQp%;OL;gnCf)aJfXFW$EUo*U;SwPI&&L~ZzE($q2AZnw- zavvMZ596p2dSoCAE2Lx+IKGUfEg}|yE@KTF`!B2@ z4F~0EF`?S^k|Mnp7tbkC@O5%}+a@6!+&~sYv7(E#dO$-(QRd=x4hHM?ptsGntFH7H z4@qdDJ`!~?%vN8kt*{+2ifu%>p*wsYipGIf2-B?O{lM%x>Y^Ckqp^m7&P1O~kS zEpK6wQ@D7em|AU$HKs8F;NZ?nnvXS(`X8CSLY%wFTIG>Gl6jJ2npo`1MIv|p5M4ve zCYAAEI#O_uIPNS*NU@KDuuUxErfp}DF0mNI(a{w%*gHGx?s9N=fFf9bYAEKczM9Ys zuawOtsi7W@XNY*#RKMt8IOWKC{Vd)>)sQY3js2nVtu5AufmhJxif=Jfub<0{Ly|F4 zOk@YgIQe)JPSS!1=2vlC=wtn#D74Pl%0xtaFfzg>P3n6EULP}+veCTg45}p4{q8m( z+ZZUKDvQa+JFi@^^&o<^cr??m0iOc&qA&qzw7rfSPp#I4;z6QM z0lx(NDc~ez9{3W#4W}Ok{3hV5fhPc0xElL+GNR&n5V#6_Iq-i0KLz|8@GF2DoBkuv zhT<6j_5g>C|GzvqG@imdcOMx?glN1K=82=@?l?Jad^gH72=lQ~Y4-%Vv2NGkK@hjM zJ+*>HV}^Gc5#RApxwP*IK7mcgTfv=|?Rp|=G>-F)0VZUm>I;?z-&PWAGP?dJ*-|FVb&u@c`;6{5R4t zI6epSkbvVj2zaurqLmt9j6KD4Z@=n^(n;+)8FDqwyKM!^?Ku|lIrnT5XN9g&fV2nO zlYgDkDc~XT^DN}iJKw`LU0H1Ns`bA1X17g^X58MRyH>W!mUEmg1gn`)UN$TY+x|JiW@0 zxpurh9M6CG@4!JM;HY=+kuyWKL)0elojBA2i^sI4Cq5jJ_Kw4UkwF%9yT#)y=nhK38eSJUFr5f3g%cleHYXqF`$bR9$nz1i!6`~9S>Fv`De&{U@gHo`2cx08-d2~(=p-&*a7CrmEM zbTy93p!g$jmjvHeYHvyjQw99>=Q*~{VzhJ}*BXX2X)BG7GJKupq+t@J2A*yDr8>_p zFFz@F>0s5f61buD|J ze&KYn8wT(YuS`_az*gLp9ck%r_i51MbC^WKs?;C{?5si0#h7s92kl{ILiViB#bhc1 z7)x<$Q=N}>kZsi8 z6w)?!1BK`npPWZ$B8e&xCa#X>6poY~35EtpAk`@jd3(~RF1KbLVV1PKoX*T;Zs$UK zD@^evV^20R^DN8ilZ_{{b8*lU{OpFH$>x5b@8BTqWZX9r|rw30wl) z3+^)fUkCc(aRX0Z1pE--H2qV+5!l*5wLJe$;Fka`rVgy3hG##W0SrD}0bD-$zW~ks z0W`ZGI|BrkucVCwI%Ga=YeC-_K9rYlL+Ei@$MDci=E@4sNtjmpJY4S)ZZZ5*z@U~sao zGoN9DND!)wBMMAP`p>-qg*w@NL7f`?n17#fk4wzI6i?Fb-J4uK`&Js~VF*H+1p{He zM=hUy!;V&k7flL=)@Z^1)7lfH(1is9U1<3jlct=zV@uFy-D&i9-@3&4N9RJ1q*Xq$ z`(68^f@o-Xj1o-5_Nc$>2CUDzzYG6^eY|snSJ(ga<}pq){0tk>XsK7$orl}`KeR#h zvw*QTO!XKZuR}Nw5!=Y=}cK6i9#Gcsg&d&OJ-vEM4CPFsqKWuH&gDI7z%HG(= zCjrZTSbu%&cY)rnxc;Az%MORErTu@zzCRx$DQE`v?ZbumTZ3w@fcNO?rzyJOoZhjxQ2Z^)}d?%oU za;M^}03+hg=YA0IAfXI+gt^-n0e%hd-vZP43+I6iK;Pll1K$WthyP+)qa~YehqjJ1 zZ?O#yBc+-DWYZn&sV*Nv8jGiCX5y@!18Mh0()~_=cyXj%yzTF0{=l9RUT6EU|Im+d z>-;C|y!|ZPauGfY##QSS84Je4a^#L@+B57#x^d&is57p{-rL3W$EUMK^#!`p2X-X; z0OMj>=3nCq;^16oO4&g7*47F_vNY!NC|O0C4Z1c+lN+LQyd$j(RCU$B{CekXb-4T+ zg~GrPyk`alG3j~LK|hN#Y~C&w`+b`{Ac&86+s-lH#3x>OhJ9!AOgVI5(Pt6V7AJsn zBHTNlPdl6zi*wbm7Vt+#_+(+uxX*cB3e}<>O=>|LDw)ZU46z4OsAc!$yWM_**0;RnEp?VHG6ONM zD#M&K5Q5>dDEu|e!}i1;b#wj(gW~J@%tbQF>gJ7%v^=hm!g0P|GrU8gI6PCk^b+Y! zj`o5?`@4HFq~%s@r|*LHoYUJ-t+o0bvmVa>ru5W1P`jIv8;{!SJK};VEHy$T96C^2 z#OOwAa7DLtF0oa=FPdvXcov!CqW2Iz^Ybg)XX*pN;$!HGonL=R_10VKrg4Mvgz&g}0upz1}l%>(=)5m2!24Vze0MbZ;;qd3zZbn2YZz zJ)HL4^qzoGP>~l&XhZc&GNi#!jDH9;oKfZK%i;?VT9 zc{xV&#r10SAzZ=WI?kvoaqK0MrpUUCdF!Kbw1mrbBh0j!0yB12q5Cp-0`DZAYW#o5 z7z8QPZo8w1aQOzvjmoIhqct7TERO=2FKpj>{hRdQ;O7qAjXG}SY!f1E>t@wZ>IBMf83Gq`T(Z0BY|He-PgcDQ)g}{V^ zENy#bL#J(>?jJD3U-l{}1;fLNlyrVXQTiAp+))m;x0{iYo)Ui{kIvXLx$rzwjFdY* z7D7@98hSPj*I9jfWY?m|_6$<0&U`DSyy{u47-+@c*;GHQt{Rih@i@Z4(vfZ0oAZ_Q z==jHHcNFK@K70tYl{zcgbReCFNVbz0%e9C}q@Cduzfk?Pz>fpJ2>b~!jHG)F;HPyOz}tZ5 zfL{cD9r$;EXT|+DU>w7U=K2p^9Mel4|9W_*zjdE8U5EVG*D$J8?e7lHe=5HC^xUOO zqnge>YX^;`!t?K&Uu9!X$K}g2Gox$=afsNV0|ybfEOF}G3a2}}*cY1PP1~gIdz^k6 zqT5T?%WxaFZ+V|t#7OqnXioK4t z7L$P8uf?Y=~bo7oU! zus@BpUt*681SmL@N0llHJdO+@k@fi1JHF@1nqKu0NhmbZ2e+SyZ!!4^HW!%AI8A|_ z#g6I}`%C{{urnu-AC6Q80!Uz!El{DB7@lN=)_F)#IwGkt8A#5(caxAPci0hN0HW`9 z*q)&I6dDw0LH!3AI;&v+Uuk|uoFL^w`Z_=+892DgL8`fY4+RVpl*>c5m~WKiYq;ZuP(tm*@XF@SlKT zB%L18%fMFwKMDK>Fo?9%J9-oNhrm04f2RHS32y!dIEut80dE1m7jQq%UjQDNSp%K~ zz6SUK;Jtv(2&G^;ZUip^B%J4*C$>EiyN6XkGsjV1y?PV=7w`IN_=5W~N5$sz+uMq} z=J{71?!^dnbzHsr#1lE3mRKS(pC~ww84(QVxh1XvNwMXGbx4#?7O)s|!DR`guh-rC zMAoch$X}QP3*q4hu?LWziVWN0Mfi#RFZ^KXQ{<@@E-I~MiRnpar>2*KWdqd`V-lvH ztWm{NA69~&#v`$cPC|DPtn7{KQ!bA*xdd*3K;5)a-rM|e5kIwm{AL~nqX8qsXqx(= zjQL%w5Eo~&BeDi@M24WB)ZkacK&e(=<|Q2QfOEbeEl44B&VmpmT z(Gc7uv3=Sm1Y)cNN8Ob17ba0?30`O~1RjG8dct%q;vk@%EXQS#sXJbE-?P4sI&jiv zrN)GLr&MTN)ZKMtd;8{1qvrIH#1ThMEo-HM|5>|4$X-*^DH>);$gA54q8q*UKw_2? zJ>*+*pPmT(o=Y^`%ibg!7R{o!G@9GgGVMLKNizhdRea~y8|$xsed=<(K2C?hLo>OF zJrK!x%vl8qOwgCx+~g)Hy@^n6;M#>Spq(T*o?6Mt&W>vwn|aKM%0)f{2{*WfkY9|+ zF%}A48wEwrF)3iAlm6)^rzu!Lrm zB{XkCviT`qCEdROT)U~1y8?V2@NU2ukVi3%Bh2mtT&{_WHBPYCl4Rtbp9z|3i^jM~J6H^^t`h zNM)%iN;iZU4C?S}?1U<7v57`blPWF!D0D2-MU#*$>=oZlZs{@6!33Lr?6Jn>#GiJS zQo^EYmdf0}JVYcxCM}S9DL=K=tjM>*z#`#};Z^nBaxPlf1Nm z*ywXQ<|cf9nkcVwGq5eUif|dqJ|Vm0JNE@y2A*3NpC~HiHu{BT2%060m`C=?zp^7^ z*veFxzsOE8ULdzwn8KKvNlNGZ2h7?cyUSHHm4*4JDuiJ5vC9Z0C6|~?^CGLFXlqdD zh7{*_WQx(RHuo*~0X0k-t{?|8sT80IWS}Y_$R_j5f7kyJsk0(G&zfHhD#^$+B9Hk7 zFZ~^~fLfK_T*nH2c+K)by)d`0poPkX_#_~K9BJ70GH~n?N&-G49NUAKL!*Bf8i$on zA3gS134a5M0>g-b>~lGVfmK8tR0C_F+#aJLK>`Cgzbk~iDXoyX-$=(G326NM(wn7` zksihxn;KAXhWi)7)2i)Q&T*svg6SS=P5P{vaB zwbT9V9I>J?z7=kuTH*9zz<{-r(oX{a4H!iz9S2?mXqMdqj1hg4>;Ha$n`eQK0X;~m zhk@4vKMMQ?Fp6N(ENcMo0i2k+@yI~+cLE;<{u1-Q<9 z1UL+w1t!{2tXX5cb7p1+Q9I7`lX=8E$F(yFD=aBgMln)@G$mKUWRE}o_-KA+25R7Y zBEf5Zmz^W%@^f>K!X1Sxq1E#y9OKzirFd}(v@&*iKAcN#N0c#|y_lZ%cQibyS<72j zVN(F%&Bcm@DwtOJG)AVMQ*|{CkX20+goB`VcA#7++V&~!I4p{#D$K;fKyg6x1GBRW z_^Qmv@5Q67GX--)NR|@cztDzopozldlDLba&Pq@bI$$qPZkUBUFh6OpQM5Ab&>)HB z5=kOLFdb)+BkV_#o|Q8}_Gm_>Qj?#c8Yr?Ee~E1_4FXBeJZHgl^iB4{jSmE0La+w| znjh)K67zHbn+aAz)#TSR>KFGGC z55)Ez-mw1}#-PD6NHBgho+DXAjI;il$VI3naTa;_L$OqM zJJ;&7Pr28~TomqFLZ*RArl|kUY_{`QtDSC-YPORit&X{r(kn8a$whS(!Nty|mm|h$ z9_M9vww)q3q`GZ=D2b+aaEbr#4)jxygpFI3#z}XW)Q(HSrcH2FzN;BJ9%7`4MIi)Z zHmP30#fq?rfkSN&osn9pFB%wv+vtcvM+mC#K86t~S0?`D5--R^)JRY)ZZf1u=9Z#p zg-3GdW@l57qZCvq{;U}7mrP;&xl5}zL?~I1O*w;tE|#JW1)&1~_RJ7ILg+>RpXE?c z3W((3v$+MCh&(|H)5JsYt49dtPHgy*chrNDf!%*I=0S_e9s4-CAD)6gpeWHt4FooE z)`F0S(jL5AKU<||X7T?d6zyZ7aI8x^j3pXIB)E7uL~P$6pZF#KhkBw&%G!&FB1DNK z$@=)Z+}4f}pIF1d%PFiVG}fE~tQVg==ab`wNAEGq$Akc1^L$v|w>=$OTaBAH2biKU ztx4Xc3TxP@g&;C5k0W#$ahBxK{%m*vBGcgT%NUF+9s~Lx9+B7?z;EQ19LPgZN{C@$zdhv1K4}re`{s!npH>gBh zc;MFi3&7t4Ty)@qgRcgD2yn5%?*M-T96)!x3RnWZ82EO;m5?6+{u1zj(uGdu|9&Fl z?Z8KYeiX?Z@MXX|f!_jLEbflh*4Oa9pL=&Ny#$Oin4GE;fAM|lx7ZVZ(XKAV_9Nuu z-JGmfXB$_hQuV7U=?-r>{%=$+-@a4OxChn|=3C01vmoOnjSD@qyD8@7yzB~3L-RLD zIweB9GL|jzMF%vns`u-70g9T3=yNt%(VNu91NMp@vey7GhK&{m8)A%Gv+R zrV*p-I11wn-<+4jp4LcbNp?ExJ%;0F4&9|(^aF1=r`cb_*u_Z5f?>h)1tJ1KZtPLv zQ!9(W;axR_;){tnVi{botfAZcP7wNO_<4KS)sEssT+js3jMvPkkP!aJ{S?aTJGr&B z4evK4BZc!_D${e+x`}0c2As0UQS{)r-qTxKn~!gY*H`U=Ly9F9wgwbfJpKkaPpL69apekBF84_L6lpTTS$(Z!lr}W5ww5O4a1YJgkAUGd9*9Qz z@{yyK4JnyN`=Z^PUADb_uE&a+?=S}qY4gqb#~+U`dyr!<4&TQgzt7-xmgG7g>A0Wy zz`1Z%I45w^siM3ak$eR3h&M&H!6_E5HrhVKjf=y&k;z7=-0!3P|1H1^z@Grh>P4Wn zg7x2U--&3x0Jvz?1MHm({8QjXz&XK3flmU?4HV%AfwO>{P(7UB60nx`{~+DyK!>5I z>iY;qjrHQYDHRwALQV$dpuPFk)&BO&moJa?I&`Ra*tZ#unl~J^T7Tk+G4Ta?AyV7e z2n2zk9ZX)ic{AQs*j(*9BT~vH{10%=)>f=>NGY^NS}AOR0hRUjwBeWHjeydsbebG= zy#8HSC`;PAXuG=uSFO4(XwQYs$MtZWynezwB+lo}^8S1Y( zJyaZk4&Ii_TPvDYkd~r+tUHL9Zzsg$pwnH;<@Kdto}hgh$hU3<>M{(rf$tQGm-`@5 zimly?x^fv*H_H-`jjaFHU6>>dn7W7H0f7MB2R(R#6?i43qthly_7J`~L;^HSVv^_> zS=e5^93EQOiX;b}WT{Bgx+W5VXi7z>HJO-12N(nOi1ByPRpU$}Y)?WMje3)1qX75bi56eD@Kk(uVm&88Mq@ujztj> z#ivtBKC?t?NPePUfx!)}X-KSj&iS%N=wH`)w1b9&KdL#Ihk_!uF3u5TR6ut8IJhV& zSy86YG3}`w=rpZQvmsq}ppmb=P^^R8Y0dsSlA~@A*0UB}bh?+W`u6r& z91tWi)r99w*}N#qN2aRR&lAar1bYbE-|@CNCv#|R&=g-{qnTtn!hRgpC-`5?_I6nY zdkTCVS+ZlXM~8&jaa(3Uw!T#d@uI$ClKg6^u;^L1-U z!&=$;&pll7wMW|?er)INef7;vPaSG+S9Pg125$Pl|J||Y6Z3DJn{d=Ud7wk54-UI~ zRXvVWjO%t}6GoHM<@I_4yr1t64ZQk){q&`{))X2F;Va!?E9f`-*Skz$=%IIWHfcwpOjXSMlYCs~)W0 zysxsnV&|@JKJ~QP7#QTb+}}GnKAcUz@ZyW_Jbz}2AKG)spwS-*wjZj0VpqdcTh$h| z$)%b8Z~yW3YbOp^FXWXPgURmp_1f&Sr#fvKU5iY4;y}`6klnHKg`EC|F9c7|q_X{A z!cUc$hAv%v>EGYG`qG;V-QDfono@1NZEyRLx#+~1O2j^$L`}bFUt%rK77KwoHFoA@t%k?^UbKX~rMZab)~w;B$qtVW~fyr;YFNyE(F{&cpLn@gVi@rmh)@#hAQj6MHcTE9)*WY_Au zI=T+(3_t$%ac-aPSx0m2HGp|JwE=-$mp;N`dr96<}>J;4EyR@ z?E2?l%qcVGQ%;@3o=S};p1n8|<-hQ3CayNPLS1zS8uzw!bU79>a|_|j#Ow>F7QQnv zHozbL_SxwO*W(|XO%5FiN7AQW@O=G?waSjVzkc|u->g<2dcqm;1rvMrbsl_j-(#&R z{;*cb9sS$O$A{;id*Ow^$kAh$bIB7YPiH44C;ldw&xelr&z?MX`TVm-o}ZiUvwr@* zM?1Cq_Nk*k_|C+%=Y>i5{v7_{es`Nakr~iht*!O-HSN3WbsZ{h+}Sb8ht>5>YJ;si zo$FC4hmM7M-GO8(vg2#~DuN;!`1Kd?dlOst&1pJSl&`%^f}c#-+*0ne2>TrL#tR zy4~g;lf!0v9yzI_$Bzz$hf-4sw_*I~NHBHWQ};xb%GcYwcSoHmFg22l^6?RWFdlPu zJh8i}t+h>kpsh_8b9#DAI-gbBqja>iHTGJ=qob4Gd+FST*Df4=_3ZdmHV|-Xd)(SX zRJIYhnRDlk&s@3i@`ah)_*6cGXFQgQ$D&S~ z(`oB)JFQlS!|LI59$OD|pgR-`+uSBcnosj>hw7DFuQid%MtkGAnODbSPG=xK6jW|$ zF(sp_9kJMWemZdO<+G<>crF*Uc33^SL*Lxp+^kj|YOHT^PJQdy!x?b! z$>j93pG(B^;|^QT&|Lml_W0$qx!BQfU7pMh9Y31&TPFk7LmiHu#sfOusXEl-K`pUV zFffuDjrwdIhdR2^T_2wf#^OT>hryr@2Tq+mdVKQv%dh?2Ti-f&IPS1E?y33a&bp?K z?rxRJ#F?GlDuZV{?^NvPai-2+^M;v`7G$O*{o)#PR(`u{Wg!=YVGB04l`#p z^r*F-P4l7Bl)@0 zCx+tVsq}bYD47g-e6d(4!13{LHZh(bP5N|7lhfn(I}Gh@re2dl*K2baOpfT(^wGJa z$MgAPlWAX&H=DFQ9?sziq>@3-pf#Ag(ULRhF?IXKvqM8U)I2(s8cIh~erGs7K9Wtx zgVtWFLEX~2x2dD8eQ$eDkWUOv&mEi2rKjhPpPCuZriT)#WGo#Iq_d-kC$q6o4B}x> zfstB+N%=&b%Ir4V%+`(u(9d@G4Kr9>#2NKCpIOGoS@kA&X;M@UsEH^zq zGBiFjJ)Ik!$p+nA(C^Xp^g4p6R5A@+=&<#w)XGB#4k)!wo7v{>HF2I`YKV7uqOsAD z^hk7MI_3{jrP-r%F^4renSk)b`R>-1Zl|H6MQw8OiFnv)^#?#kEX})pxyhqb@u8{w z_~c|f9`t#Vqa$&@!yQT|F>HrgyH(vStz2j*>ob{r*~xUk>EtJ$n;A_xb?$gL73y`S zjy^X&IhXcBVZ@^juGb%M_He=cXhNrIZSM($V#%;SKAw$6gWy6s9!muMkTB59amuzf zGuNwaYc>0Vjvi%?)@*J&Xv_G&E}+*rqGHd;N}{?p_Zjt0T^bqUp(4I24GE z=Ca}TMqO|4<+C$aE?;=z)U(Hr=Hq^=_E6*Qns0t{#}kbWd)otv$-}v!7;oV}SV{@xg)uHO{Hs}mGt=R|h z2n7?PC!U>~J9X;V;au3~=fix!Z8K@L-6mfwo{YtYCXb#tcKGl})WbOgK8}Nf-S6>v z+-7GW6ph;2JG5rbW;WYAd>{-KW^+Sfzr*GZShYG;N4MIFg%T?Cc>?Jnh;jb#%;8*o zC?1W5P~~mgZax<6@AEjFE|;&*@ArG$ zE?*$X4-7$`M&m(`pO1t>UOR_OzsqJZS)diHR+rCf({@6Cn?3!JSYj}f9Ug_!oy<>7 zj*mlCCF8MyB&O8p=x}x@l}HQ@#(0m#pl;j0ueN6Uj-8L!?s>9qUrT4N!x!ww+A5J4 znwZMZJbV7z7hXJf`neN_$5Mld!9*nBu^DijrqT79ZRFOrxgd{&=}b18Nu|(ec4#=4 z8yguO%EbHqUQizJd#M{ip6}=Tz37z7?RIlEtI25Y)pT{X9PH?^xcmCNE~mrBxqV&? zNHUX74#p#)NDQ%bGLghGGM$V?qp@UGBz`a+iw(r%@mRPYcXLZzuRH$?QU;sXl(7a`TP6(K#9%f zaHA`OSpH%#z5W2|iw=(D#)i}J0rVsqjYJ0MiN&I^Xe1Q$xHzlDY&M(pdZP{Ov7jqf z3@qmb=Yqlh5Z?Ry`FJ{;8N^6thK5JS#zu!na=FoLYH$Em@O@q%Sl#DCcc@o>9^;aX zN5Wu09NqFb?N*b)VCXeyb$WwA-)rnO**!iVXahzv5e-KMGQ&gZbY?Jue#PShVID0; zQzPT!Bk8c;gI@TZ7HyBtU}Bs$Q6KyIBZ=hD==j8FW*`*s_wf-te9-6OF!p>1V;GG@ zBjFIMD-?_IK`%Z^#c_74)#mEs!m@bvM~SUizPrP8TnVju=7@8<*PQ~=ty zKY+0bha=HMdL%bFJ__psnHU^QBnBcuuia{~T1`5Q>gfYdH9vLe>5h)}PHa>3W+zI8 z!Wg2zukH23*D9ygYDc0A~?(P*~WvAF0b?hc%f=k(G*W4D+{B$A|k2|t~PK~VYwUYKZHq3_Y^AiRcNvz3D~f!u)o^njn)Y<3t^ zJv|8Vp$=e@6NylxK0ov<9!zsDGWr5R(j35vLb6htTt@fu99Nga!k@PkRHmDNHF46p}Oc+f5$Dh!EtIvjQmItu#G3E78! zj0~iPvLiIBM}{)cHDCa!0^j*QAE9HYQNn>3=b(P0tlJC4O1%h^4hiv?ZN#@YrgIuH zLrexaL{L9QGyqPZX=)o25GuxO!ewz6n1Nvng^6L&)bQBEL@t-ZQVo^~3}Ir>=dzhi zW~-fZxWPF;(GQw2Qp7-%jE2LcATh%rr*R0(V0?h+0T+pB4ltdu-sA71(hwOkuwXA3 z%p?tU5S`HQq!^BAI+)xdD|!42NolSYo#K5uqNJ(~eR!I$%%;_5x$& zAze;0gd~K`6Jju^WWvKZ)=vWlIiudO{!){`qQM~5ABKMP_%KP(f6T7|z7KVVX#|Ol zAORvtlz{(iig?^4bC|Z6xR|*j-EymaidN9m1J*bPQnW+H?HWNoCmBcdk zP))1}^or!4X-i@cxCBBAydeN}iOf53n(-RA=nb&IYlyQK1c=Ir4Hw}+WwVlOM8%#U zU;>YJSx<J zfWwkP0#QO@Sd7u=8UrJT{s_ttq%s94g+Z~1fQxq;uR<9rhtU#iV71U2>%LG4>zdfm zqACOy7v68U0pE@Bb=ep1|MLA`_}u3||KPp%-}4uryZg`Yy5}>W`|MqJ-FE-2_iVcV z){UF)z3tZ9?~vbi=gl|Xdc*n~1mE(nzaW!omOt(0fupa!m34Ub@2K0?)X?NkpM3R= z*S~Y-*f^FZru~n6{VNTg$Lq4D^z`xXy!AJOzOl;}M~`HqeYV~`+iM@)S=-vnXFObD zZ2ZWPBj;ZK!4FGk5N<+q2`*$7{DARB1SmnHwKX=krI79yyZFPft&$!(&GW zI#r!+kNc?4k$3m0`Yt7U^@Dup!S>d=zGH))BX6I|%xA|3_2ILVsj*NWr|)QLQmTzs z^;7N9;h;U`ACE-_Ctxb;c7yj|@&b^vBGLI=3jB3BM zWuKaVRMF{fcV|a~?qjdcKdm}>@nX2|SbFTp{PFqY$BrF;;ng#laG%4Z?QCj!w6riW9e)xALJ6lleygVbU5bZ270WX-i{|bIh#Mx-yheu$8iAypC9UJ z*`x2v=MTTI@WQ3Ped~=MymsY#|I7DZzjE>H(QGD>=(BT%ZjDCU)2%j`G+MLGXm2S_@vw%a2dmMXtx@k#x}cC+1#t+Xgym0a2xBlkExuf$(a@jbKji9#Uz*CKT z9H$E57%*~Bu^6_9M z6XU&>u0~wreE6n2?vUMmk+GlyE6I2=g0*pg zJO|ib2SIZd5ALmR)tFp-EEb=dTR1rz z<|2+3P5s`Qn(Bl8u%pY!^VzZd%!x}EPcIx9<82-7T3vhV!Gmob&Gn6KhVa;tg^O2S zd*k(2u3S8EWP1igBZh-IQ`4heoP`f$rsEcDs&Z2^^9!d>OrTgS9aOd(@cGwvo32Z3@y3&;*1*{x zy}Y;Op|Xb`*}V6QB{jP%>-RJ^)-^@u=i-sfnODw6!ejFzrk2LA|DZpRJuyFj<*lEe zx%kSzzHxahef9$H@~XjY?VcT7BjL7|j#$`*?KiFMWANq%#}+O^4qkrc>PxSmp3dSx zb0Y52wCt&Es@c11Z)3eir)+Okc6I3jfndk56Y}ewW3lZP~M{X2z=Dveb*zlW2-L`F8ZS%o{t$XSl_tZDn*VT7)9E8Al;4KVh;RKkTn3`Bv zn0e{Vx8C^2@4x)>fBN}bFJHQH_R5v{%dfw5`TYF!iLsHn93ROB`K(vx<+W;~R;z3` znY0F*$7l%fE`KsHmJVdc(i6F<+3ESYlk@qpsTo=V^i@ z=g(faeBr_?S1+ACb?WTgk+~zem{(`SHne?5d+Xjk&2`%iA$L>&;A!@xkf2+z9WFPo>9Zvk~6wO(X*`-ZhrYj(LMeOqwL`ax{B*ok3aO zWD2L_EC}ab zFI~BO=EU?!EISjkxhy7sBBpE8D3y+&(Gm$59YGg|o0MG!ht3s)8nQSrkFyEC*YEQ1 zNgm(2!f86XOq`2Tw|3}s&`%m|Yb_2ETk2{adF0VYs_W{Taa!Ei)MkWedXh<;iycYF zMyB(*+|>M~D;F=EKXd8j^CvG{Jv%WnHVvVI*DN`bPU3Gi&-)WuKc-DEks-fqBJQwx zERKMoy{Wmm=Fyt1WsmLI@#Tt^mYSN~HBHKn7L(Uza!e)s@tKK{325ERKmPffufOri zn?L;dFMjdLEC2YzE0->vI&$Xn$z&#*2pBZ&8jI#&yUF142e3_w1Y;5ShXe2l`(r`g zq%&ZQb=r=Ww%R@Qb&cw-4xQ2FP9Q=%=gUJM+gs$e(xlC+q3WAr< zBD1qb(AT zIJ|Lh*dN0wkr%#w=6C2-k9JSpo@Q-pP4y!WJ@nY_+WHn(5@&1ig{v1&U%tFBJ#+TV{OLLL zH}0{8$EM~^pTBhV^_NbcoSvAO%4NrJz^QC%ZmoM{cSmz=z0#&rc7bay9PuW@iFhEK zgo!;nH#?8NYy!u1Xx8O28BOht?HzS{T3U8L0+HGMU|DnHuIfj&K3Y@1XHRRpQs;4K zUEcUaB0DuRH8XwU?8$|Tm(HKRcz$7KX72pOh12KH%r2Zh^U_;CIzK&?9m^%rpwVk+ zRq8sL8(W&&OuCLXL%{2>xq<;Njs|lRSva}o=1$CKl9@y%mxyN)e1><;<}=8TWKZUB z1d-%38JjI`^Je%!G8yn@lF5l|CK=DFxaX{YM^k|c^W>;-X{TG|KrkclUl&!7pT!f3yEG)o| z=TBaI^X(s=hen@C#&fxdw@VxGYFi$ydGxW?Ixw_L3rXp6!J2!u2A9`>GuLdEYgdBD zL{IkQ?9A-NE9V#T^RK;j@$$mN?840K$up?#(v?eBU%vA4r85g>&cAf&?80oui?aYt z%kJvhMq}96*4)z4+}!xcW6f=?9R`or1JO=olYBgnCDN7GUw`fLY;Gdqbs077EiH|; zyBpgz9nH;3gQj_RBkneJ)f)`3^v!j3%`L619j>@5J?08dOiky6Ei30vylnX zx5+pMlc=q0ad8>0-F5Qf$unnikt838c(DqYNP@qvq``d0u8#UW?OnT?0;Z-8?H<_XHl4}g za$sGd%ceQ4E$A>AHChO6hcP}gm(NX~g(13h`TU9b6Z11!-exd3f*vDI#C0Y-ILFM4 zWs@F_vb7C2%}kzPBCc#~)deH*MA#D^o0*;%OXn}2&wIHvZrZSA$TV+rK~A$Xv-to- zC*buq)hfN*V|Uzm&!25;ues;zt*!O7ty-Jc704x%vlka2NU#6XuYdJVKZibj`?Z%} zd+p5J+|2Cki4*y$>FG>50f#HTJqru8mYT|~kL|90Y|rk;I&>{smjiA)R{-|}`0R9k zYA!!BGm#vd$jm?mWN^lai(+Hhu_W$w1%h5w;tg;{mj}Iq`fY3Du)QUZufv3;PF_xW}Nk_toOd{yQqBr141U0s}(ctNVG1s(pkezRDYufc_3(l)BSiBd~ zT&f zF_YvB2F}=2^YzEPt|o6XlY=VBVA@aQX3pei&rof+Yyw3Q#}HxB^5~=OO|_3zZo`bn z?8Pi4M!Q^mGMkAdO}|os1l!3EMuTYI}Lh$Ry5(dq)Y6=rfJamw4ar@6fgD@FLf z;ByFL9`d-^0(XJOo1U3Y^SUmZ(O|UMOznHxI_kUPV^itr6EhQIv(wr9G`iLrnDTl# zZT)UzAREvIyj@CzmdnI5;10BAZXO!7wcV8r*o=Vym(O83djn9q$=pN+^Dvpk44yxE z{^d8{{Nd}b|M0cT7tv9u47ehKZWBIrp>p@O)b2c}div@1gHLPB9-P#gapj1%I&i4> zab^cC8u|utES*g!qCp(!hNJ0G91La0#wI7TIO>QFL_KET0M^$DTi<{O?i07q=Qe3^ z)5X@SQFSWubaZxh_ZX06b9fw1oVFxJqh6207Y~PUfG`kCjbo$}!?q+1O#FH znH)~pGlTJXG&YzRh!19lQt^0t2q)tSIO5^@$9b~ThOKNb-Otb))K5R%tx-O$)hIQc zot-_#UaQB=*==roB-)81BO9(EIB{^A8G`R6p2kvrc=DOV=#hzBcKn&i$$Wm8?pPu_ zl^#qF3eKECJ~}!*njXxIk4B@Tc^rxjc+9~l4WCV8;yq>_z9tXNNah+s3Mp52})6+0KRSugY zI53!r@&nn)JkDrA4je}wkHcfu_PTNQf#Km3qhnc|1LDR&n$lp0r>_s*FZjZ2TD4Yh zGCRx~eXrW&kMi(}dH8;h-RbR542=!bWeOi33&&&q{{Df1!E`Jb&5WjFDZ14d4AE5> z5Q<|`IM#4xANF>(+ss&oJu|Yq1!*)i$fz>391Av4O!9P1KQO zb|gMFHbN612W>c*NDhx?$A)=aI~c%C-E=A(NhEx+T%-@zG5RgBvBY4^AIbEG#!`^8 zexDVWb6mKYHJY^OLPKd^V6;CF4<^%aZAP&H_2W()$En(krmjv)(5pAPx$btmAAK3* z?KYj&WyUhnr0>$X-GQM#jm{l)o9J$e-4n*rm7L$vR5FUg;aG%jBICXku4Ld2jP7?T7gk}h)K@c<98B9fkILptDWa+RG>SHi7I)Y0j zDO_|(;AkG_+qeVcbi>=z+iTDpu#Z$(aIeXTdssO7<#7CpCUDN09?cCWLIc^{Xc9M) z61XY@LV_M=KiZ4gwGM1!T<4#AhzER)#tL)Wf+~-XzDea@l6vtqt1Z)k4B@_;j}oc&Y%|>C>Tvfl9B#M z7zd9rKaUgOXc~vPxcq>#M7lJ<_c?tyx5cd{_%Ql$WF0^$oPXhRPRQ?t=E1RYpPz$C z42Oe0KkiE4(2RT@!DtwlA0iQqC}KF5jYptjhEkbf$jS&Vi6j!4^iU=_7!41^BRG=5 zks4i{f{WY%*AHjZaU2vJ&O`@> zriXDCA`}`3^`}#~F&mBe6Rw^?f3M%4#?9fBQx6xRZ)l>w-|UY#`z(>+sMF9F>or78 z?qR(uVlgIql=1NJpdmF7N`>rpKi3gC>al6ur}8FcPx{%TIeX~2A?wgMmwgsS&flLM zibRI8(X7wz^+ch{V&1@Dpg)=%wONJ+qkcZ>%S8Qy0|UXnSjMCG$8Gk6L+^7Nf_>Uh z6xYC9k-nhI5cHbxnUau?gK71K`y*rNBwb`3981M9pX3$wr;otucDETC>+<@CSS`uOl3>dj_0=p@A@niu4UY2Mxqv zMMCkQ-wyllf}hmKkB5UWF9Rt!;?fD+Ux*K+qhSbk3}^Q)d;dVdD-@ke*P4kB0hi$I0XN!IbpD35zQrz8IOhM6@p!4Mh8~+87Ap zvtAo zrxV~{h8`b?;-(SqPXt4_3lK*G@ko3KY8Q_DelQ&D>4Qqe;k}RUF4Bt*+Q8Vxa9SjK&Bsd@e2!;Y-yZd(cwROv6rH>5nz4sC6O=V`; z>)W6mK#(A1C~4+>e$nicb-Qsv&V!z3sk(1fWMssN6UTmLfBPeja09{sfjVH#CNtLu zG}43vKHPyd(gc4qK!UO$0+uUIfRaFsJ)j}651WPpPzqLLtk^0_5wP21ozry{jcdZy z1*h`Pm1{x11|SXd8lT}F#UA6i=w>Wp@YC-gCj>8LLNYK2)&l52yettOAdX1@p1>t+ zn8YUmOd7-)+rql>p|{(#h`Rz94}$F@xG4h10g{2Z;o;V|2x>zEEJe_DOk)|2AkR0j z2nGZvfF2~+6WDx7nOM=W?x1Oj_rowzU6hG+1}hP+!k&gw3A#q1z^%}SjSgCtO!t^L z#rDrgmPf`QHhjFaXE|6RBdimC?7^5!uu52b0JHE+VB9nSRi7`Ap-r!a8R+Alvl@s)s9^pC2D^<9Vu~OEfGo+dpVI2YJ)%%mE5L;4+R*SA z&BnqN0r1VVC1s%7oRLZ_Z04NdTCr`p=rlt?J7F+lNH~U-_}D8w7eFG%409jj83P|% zB_v48Rn)N|RcKhCqA=D;O(UC6U91+YpVOjWq_UanHij^!$SA@Xi7Y>bbq}io+6kUe z00n^kB(n_oHdY5DSOXpgLKoyH(m&X2FzSGrG~f&%GAY2BJ18tLu`*z8GO)>>qXK4x z_9fm}-S8ZYI>W;jg^`5q0qu;P5+e#&SZtzzI=TVb58&Q`GzvtL?;8$QRw!tW0W=;y zn3z6}qkFz$1*QSdF!}=sMc*}H;e=#1Tychygm9cpD6#z#Z{8 z-<7=#D;nm=4lRpOhw_u=|q+6a7pUFrElN$JR0Yg2415 zvv}E`gY#<%sD3qt=6(goZ$v6b6F@Ssv;ZRznk*Q#7!FZIsAKco~djSe0!& z1!EZMPDmsH8&gE_0b(_rA|!*_h_D_2s15m!02(zdid^47C)>6vW37Y|f*FvY@9oGl zAT7kHt6R{0dEE~*FNLKMAY5z)STQUk2!N*ofCiHuOOL91uh#fr3sg> zIdvrFk4tyBEV0eyDIcF`#%MJrmQGKsMh)u}z-Xtyx+$cCcKdD*SOuMG1>K(9r%gw} ziZlth#Un!x2J*_3;DUl)cM%POS~o-{N{zj_sf6^P-}U`cy=hy0OXzc=5G9U9Q=`=M z5F0hrLr=&@5X>YmFm*Q%Oe`fnhLvv8+RzOv!8`T2$X3b>5hA`T4Wjjc&txOPK-3L{ zC)GBrKMr~{j1)7+Y%(&;4-s=V#JY<=5WVce?stl1pn8#eVT$DuCG)!si%&0OJMNfs~L7EXrMu^LX@8~Fk;Gi-7G4m1Pf)cQoVQ<4- zWJSbO*&UZXhjzPk2Wn(BcZb1P(o@QaFLtX$OVElXsWmI#N+wg7f4` z6oRsW86YQc9xZ^!qS81;K40r~*AGPn$>qCC$uf(x?c0<|M~N|fA@*c{lO>x_mAyjZvR*0Mj{f?Tf0o0QYL93u-2phN>ElAoMJ3bz;TlO7Svr-EZtZ#R%3Qv-p zNLGsg+pHg(SkZi6*2_>7+&mSP(l7$qh6-TXaJgz4B*=F>&b~tYWGxJZJ`(f{Kn%6I)}`y-Q!7JclF&hWibRW{5S%~(s4ip|7zASnvTYQHS)U#i*h77_PIV}U5L-%IW4av6^tXJq|5{`g9 z8514j1aK7%53>zRR)WNWSsE%728U)EaZKbf3_DAML>yh~G}v#UK|l<{7Jz6^EU^eS zA%n*T!V5cS;BZD1L&grEL2Hq3!hmTzq6MG;*`{E;F(CFkWa5*-ht<|aTnYX{LvT$K zPKHQFQ~-*_7!L5hItf?BWFqZEWPt!1IgDhkr|TFc9uc`Q%R+45WSu5^m5Vi>3|*Vp zrXWmVn}y^+=C1>R!m=RpW6VN%M?+z>LXE@#-c2s(4y00K?%)p^4z)!6NL_FW8WS1a zs0|*BnM7n2pKKVI31m2;Q+G=Ny93;hW3uyLypywd z7lPg(D=Rr9i!gZ+oFlWEtOdJ;9H)21>}p7a3vzn559}@?^(C{D{KgBAb|bHZI_+jM znfQ48brp9rnADS0Z+C82XL4e9mfV4PzgzjpeII^7{$3YDZoIyje2EXc#>AqrTWWCz z2WWHDmDGpSdw0X`!rdo)fBpaN{O+;12&>KWDtvUfJGmm2DmO`CrXj0 zkYaEZDS{l4TglJv5YM|Vn|#`xCU<;ve0>eMgdCCPeSYVz>eq!lKP30;*2G<{uCL#f z{`{fOZ+u=Nz99vYo5=O#hgAL77m=f1*YTqxT>l%VuW$X0voBnM+de9sT(f%$dDit8 zAHKx%YpzSVF7di5&yUF?KYY*&rN4N1T{tQFdD*+e>k?l$d|t}+`Hmz^zQJ(+WyA*->l>FTK)4sAH68K^}{cJeYAV%_30O0;`*7p%U?Kr zu|5AqWj|_(-3_F~>pP!6@}slAQOFBVf3ay_yz_+{pBMG(5c`4>`In;MaHV?)jI$KDzQ>e)T_a1`j4zkwQNDA)j{@AisA<&kMS)(en?x ztDaxEtM7Fo&#S$=h+O|s`DEw9E|0C3lnRXtdo}i65;cXbj%X`Hqb8Cc_H%5zL@pr9 zGTD)_gOJ^CCx5ywyj8I6xsG7CvLIP7DaC=xiCIOWHmxXuv&!~0l~|W;Cxw& zIK18+i1h)REKJ6l5~cSuWf8*^;*U5I=F^g(!r9XnQ8%ND&z^J_ywyfo}DPDbP(#G62}gYkm27OX39 zmaD`n3CT_MU|@k>frxb*>ZuQhG|=fko5}L^Jb=ITx|z7VbeEAk-5{4;_pOLU7sb)kIhz zJ_uO0AYG~&fC)s8M;W*lb}opbC>2T*G%&e^=!C@TgWsfG;V6M| z7t;dfT%wEVb{-&TRE0SgEG|Ysy#LS5xx^-kLg4}dD+oFmy_UKhG#0o*a6cv;y5wJ& zbKygVF%g3Y-MZ@$G(0g}V+|m38?g&R@CH;KNM}}Xi8;3khv##1uHZWpUkOzub>Jow zJBHuk0APbTcVpPwQlpRfV4CuoZ51Y8oDE^SEw+NTGv_*>i-}AvOSovI>ci#eBXh2O zwln7v2tfvy^S!<}I5g-^)Th(|Yr`<nM5 zXUXN{dr~O*Lk`IA53hPIbl}`hZ6)85&wWMyCYQRpa1+Xh%X+0?9(6r^v6H*@!$RU=RW@XpZJ4M{NX45=o6p++n@TaPyTP8 zc=5mA`o#19KKa|9{OwQut55x_Pyg%B{F~3>zu$$8p73K{eB)yuBiszX@#Dv2@AMEO zr5gmc;}VDuFouYSf*EM%0>qYU1(2sa2jocDoG?nTQ^A#M!{Y)w3a*325>6jTcLae1 zzc3*LfJXxxHnI4GkiCc-8SVgJq*MbuO|S+AmY1RLOt`N>?j`8(+yi(3YmBR6Hw91t z4gdp0Q;-6{{Q(?ko@PwPz|<&*0L}hBaKq{(h2s;D)Q~FgJ8Mid_Rd zbeW&4@GjVJGlSdA5G>&1(A+S#!iHvNp{V*GbKxZ5@PfoGfCdc$Z0Rb@hj=gqLJ0sp zGXtCqunW98AS^a8Js_DzzJ2!AP574rzHSV{3JpHSRk}QOC%}8 zR!AxYeuI_^EqInOfk|7FANX4!ZIQ_hv=?ec06(zEq4h0OG61RaQ^-#UPSoLJ$M^#T z3h-qZ{UHAWID)bOzrgSy9(N#kV5gMfJ_=$RPlxt^i}9`k=ty)~G(AHl3IM|SLMw-> zGbJJ@;BDwm$WZQJt7g92xj!=8UVEAc^V;8cO83er3TI#PU8SL%tj1B=XjZ1ppc~<$ zHLMc;1S>?#LU8i~MTA_1n5rCarSO_1i@;967o3urF%t#|dlmICMi4ou|a9~*(7+U~TMeDiX zumO7!T08gw2Askw0PjMo1p5vY6A|NIHsH11(YC?Z99NTZ zm0=_U6NYI=6b!KN0Qd_`FzC4mz5$3Uf|^iF^cJlDE>8f_aC4`a*|83&Gcc(b<8Ywq zkA^8`N;{?4gVD5*yeMd5G$+QTABmGxl^Ay!RhGrrd9Ou9Wp)x2V(7`H2#|ssB(en8 zFPwDXohe}ZjTHm9c@2Dm7!iUj>26|WRb&7_1{yJN2)bDfp%U`}R&Jo*hc46{j#EU# zOns;}0SE;|#807nF@T_>!k4+TBxBXvnSY7u1FTjA1YHWBxiFA?&OQz5C?0S?mEMV0 zMIN1Vt;F<>hmqrfG8R0S!_3RlOf(X?=Ml&?0-B*Fsl0CkIcrG3U$7!{7la@J>f!(& z4v!=J4*Gj zp323O0-7A^DAF!E4?_RE5@#xLUC3&8Dmj~m(W2(hz+KM@N#(x?{cBtyc0>_ z&P|fzO7Gr8Z>CiMN?TY2SR)S7sEWY-XeyFx#94(sON0+1h#Z80Z~#@~Srt?=1nPBJ z)8y2&1eK!`2^ue9XSPjN2A#GfYQ+q&QxH9(-$8&E`nqJuT!_eO3=JTML92%?Rac;e zW3hoxXp}_;I6n`<(vAZ*4)nh$l`>k)&qqN({RGJ4Fm;|jm~~Q4lRPad7X=Acf-;WK zB`E9IbR$KMGy{rwj@klXMwTz^sjznFjOD6`j3Gn7w`0kS3F`xoK6B}|dN=7y>(nmi*a8qK3L+d5m?3Lc%J${@F&6kwJ!@d`s zT>%`=@=}-8>)A3{%rI3o0j`%=t3%BeWLxCn%1^7v2NseR-Fcb?K!SoKMAyf`u*^bm z(*a2jeoVyA&}>uijC@q)Ks*sKM?w|Bzc~PM3f38U0JwQQ@v=e}26qs1S1{#_`)S#J zU6ZC~Z>}HOhwx7_LGcfdPqsDJY8*GIxS048>}D_|07+C-lNhlb98jqcHfEKoNqtr1 z^vn?ptog^sUQerw=wv*LFa~*`!=yMK0`ddg8bm5L1?~@d+(ES2$9PSF%d@21ndXUL z?i-OBN>1J$Txi(E?U`LKSVq$o#`hl2P5|V03r%iERaS2EF;N0~vd$PefH|<7SkbTo zM%VTb%SMrh(yrbSbPiw+EL#3_RK?CfVkDX~%IO@fDbR*djq;IK+uoo@fqxW?V5)-I zFW%**kOZ^rcI$ya_r~GmWR>-LCS7#v@x^v*4q3`{djps@(&dl@Ecmin1fyA4Is#Cc zhR-O0If1Q??{xtkHlmqkOW=GH2>r!kq&9)$7eR;&nbxIyAUOl=B0daM7Fc8;0g`+? zj`_}#)|+nrdOG(scGmR|PNL2R^faDqgm$(bC%}I5{azr32z=U>kq6v$i-{!1E+UMP zKrx1KJ_4O$ix!Un6$NPlFz{VH%Yg(dVRB<6mc$om-Wax;o-W(iMvNQ_884$h&0cP5 zO=bK&=@cOQV(S^BS$m~0wQ3i|Gzc=634l8HEOxkE%=0XV58I?r`#24JhB@kC7>AKt z4wFCzBU=y?%bu1bW)VT~OAHZ^O|~x#L^w~eTPO%*${?Tlsh@dDt5Ujm82!uH6R(o4 z3|$Pu{l`POn5Px&sLK^z!3R2~cT1nwRyK?YSeHqP`Xr1wyU%f=BT7Uf_d)0^@nDS| zhsL;4Raz=b2mE}6(7f3cR7u8?pQwmLGiw6o0&p;J8oc`#?X6te55nMHAb&qH3xBhH zGRb@XNESViq9(IuAUj1A4QuTE0s!3^?2dhGpsoU-p6wzA`nYRyMrDRZDmv|OJ{m1f zhbqreU5-^ammipY*;4W#LFkTeYZUEApWR5dR%}(j9p1dLPz&}K7vm~mAYZ^TDNR@N zR?623_Hsb@T-w(i$ydS64s(?ctDqN6W5P&lXsKx0fFNT^$a*yl%vyyU9m;Z78T1r) z2+%Ri(uvkiU;W{`on`)ppEC6QZ7zGhHQ!M&`s^oM_CHIdNYEx(-W*1TbRP7PLc+(*pEN!B-Ai{ zb~0hjqn~<>g;Ae9bccOTpo}sC=j_<5g$Nudm7#+>QBx4BP>uW)`z`D%EZ|bw$Jrm69=F3TQNd z9z$m+XO3u(z|9HKk{LAixdCI0^wC-$kASnRE77AAR!88|pmCi3?wdnvRR5>RBO(1M zrM1=I!Q)>sqaP(d)%N4~^0e~liB(%`$dn!=07P~tAVN1JQ{%O-~#Jr)fQ- zTs|EZsSP9Zf_LR!?)72ihZ1ciOzNj?DNK_5;OXL3BXLkJWM*Mtn5jtjP+tUq~a zb$B-aFWXI+_rK`G@rMwxMhL{xX{I~4jfGjB zd^I(X%;+D3x2lOmua6;sC0Eg-eXV5dVx0=%=b_n# z^#@O7W0?Q)WPMzHZ*B|%V_r>*$L)7}R>Nokm#Qes^1G=T*^Jr>xn7K;+ zWi**O5T&&{+WxnGc^}@AQkl@+OONfjT;>;%C&vq>4=8r(QU~Mm5w!2hv_vF$p4AgX(saDN4TIOdUY(&;YP#&lMVTiDiWIG+j5fGv+ z;TUf=>IY}ptk&9$;1r80(?kGhRlSOfhY!loy>rYZUZl=aNn-jS%PsVBRY;n*cO(1U znCivFI_?L#A-7PUm3CL1AU9l`Ymd4kv#2KFW+Uq5~}%ar?8 z-;5$@0)dhSPdw|7w+}oy;%Msimln4w58_>0J?u}dBz=;u_^~V^W3W;p@+<1jqBCIL zsb0ezdkN%GICA;WPA{LHj0zrlMV%pP*TTHdDZ6W)tZT_}Z<~KP(HS|JWb<484+?ue zd4IOn<+vAh+DCmuo=8=&F3(K+wtzS;q_JrCn=Im_nRGgPFk0IQ6dp@sf{xqi8H~~m zr&pI|U~p9XdryBlQr~drjQx@hMe~h!s|RW!mFDaF_c$R;R{eK^jp}#$f#FV^sIT@Y zy6NR=wtTzLW#3-U5R9j)x4d4%>1zD8xbiad(EFi#@k-2IEpy%dUIO`Wy#3XA1(dLL z_xM&{vQCt6I*HZvSd(Cqu!4x$=@2;mlZhKM&dX8CRga~ItcG{_&Yu7R=mBm*Rm#j{@LqQJOv%Qyw|C^ zx$*4cS7|mEOA#rf6oXECZ_KAw)??e6H$)J;YBj_r^i_ZeXGtau7=3;=o0S}IH23Zt zh>=roM+5zfQ20jq(-Z5MdU@#glHs!_tIS5kEv0q?+mo8c)q^5PDRHms3@1w}z?O7h zl%`X+4vPk3$m613g1O6Ta(j1rVlgi(G5k_`XlC2&RFZp#nOw*x#k2D`?@T14*>r^v ze1wY=A(iC2fj)!XQm%OWh_{$YvCIsM*X_h%!g3b7W6rp_e^=Rr(^V0!|5)04(veQ=(70oSo=CY%1X-O#iNYLV*mJGa`Jt^MSJ|=qu|t7^02lM^N1>?Jp@qF zU2ncv80|YH9M4f177>zp^aGGu<#r(te*6oz*dol7HEzVgz&t%YdF;kB*vp7zwA+%} zkK9SPYQ!yZ08;=0?-^a_3jkC^1wx#Z*x(Ta0kt2Nqjtmb=B!!2RL6m`a5tQG|NacN z-2UFt(ng5eleezCu@KpU8C0U7v}P&eWOgca1wB!6)k;-H@|9&UL8xZS zoLESTqGdIeQ$Ee><&X;GZ$4=1^QViF*S{g^p;l&ZesCEt>6xGpknIBj^ACVn&Mj%c zP=#p^61UcyR3sM3$}gD)%<%yJvanJBxGVcks=n&Bwa0WEpUvWq{WmEcaKZc+ADp0L zi?H7-r+WB$F!YR|P~0BXvK2pJGA3`cj6W{UqEv0iHrH!-d}fSbxMpm5I8gi_{oPL{ z_R~e&7r&qRQPZDXyt56a;v&&I!-cHuw~gOEQnYpLiXdgkK%gsNc8ACaM1MZX#1;4nhO&^ zAFfuO$~P<4HfNsAHzmD$BqCP1Ml#Ytl)yST%jctZH#qLGjwK`DKg$+~3V-$d_4=(3 zF6hDCZ_R?SI?J9t8X|&XgAm;9B)5-@k?K{t7Yw*geR#~XU>7;0q^MRCgc$|vFc37l zC36Y`@|V&E^QO}{-z%4w=U%7ta>`dyIsVn(7n#s2VPL!*8~RP)Kak$W@LQU%?MZvG zH1a60kcBW#=W)75>x-S?&j}J3V-)NZI1yoD+V0SjnlnssHPFHtdCws#$Lp znsQjGr7`9fn%}nAW3`(I$^8~b4@WM`R`zTfCWf{Dni|;1`&8GSB?yOqe;6)KpG4B& zi!Y^)qI%3>&Axqf98{sj#_4DhF{Pm$bG=BW zbvAZ~>g-$ZF=0A=TAA_J0QOOm@ao-@=~6{BpPav$gv={5IxS{a3dDtFcE@`W=j_vV zFPAl1Rm#=l25@EgGZO?_4%ReG>m_k~~6?EN29Zxv#z+ z*hMx2p#L`2PnZw}4&!cZsd?iFiP1skfPy(2Q;Rbp!xXCWz=F zdjDtin~Q{F!w+T-bolJZH|~uChGni8_MsPhpN)>BXCq zrI`Q3nlU+6)OSdF8WpSn>+@I@8j%r<;V04}K13#}ejfX+22GcG|LDl-FVz!g91Bs? zRFNl5)&q9?-N}kQ{n=TON#9_`h!Ga8hfixzFH~W4eii1jB05msRJoY@JqX_#qeFwA+NA!R0`&XxHO}WwhfKQ>O&K|{YJb)}6O->3* zzB!G&yl}zrq^ot)VALS(K`;uf*703Q8^sk=Bml6E9e%$n75YRrZ~i~~?&H}ejSheG zerv>q{ikm%Cl9F^dc>Hj3MrE0ul+SFwb2!(s z=#2M|4Yrn>j4`pr)-lVEUCJ(wJ$Vr&^5R*TJj*hf^Rdyf$&4%2L5 zbXBRI`Cb25RFziOvo=;j?>*{{FCLHF=*IDq^|adm1u|d;5>S}glVTvWBV(yQk@7?R z*enE_O;{V0eVlIz{*lZh`I?d!s2ycW$5aFkn85haV=tOL9Okn1!&;2t4LyH%v!2Px z5N6StOVP$eHEI%qGhhO00F9ob2Tg%T+AeM{F{iN6mo~+BjuDxSXd2ky4;v4<=Z~f* zT>hG!v=eEq{`cjxdZH()nvW)|v0ocg`H}1N4iHsy>`SSl9(Op+R2xFa@fVq|XXT#S zW-PhQ1$CO4(qF%KJi9u*Qp|gusW@d$)n7cwH)D04*zRzu(X3|I#+5fc;Ez?MW9YT6 z9(CI~qKw_!qB+8-pJl4hy3d$wBM)bpZ~XbY&_dsM$MfiKUC61hwoZRJ*$#z~?MtJ1 zY|vdLOIGzz9_;IEPl^4sj~=$^x-WM7UW}AxK_TzQeN_STjb|5LaetCClhfs95dGO( za%>sX(J!~v%1eVx_qTPASL9T?9Bo?4E#5FiM=@lH+SAyA8_0Kb@DYHxD;y|;V}xMC zp^2PqcY@{qZ2611r+jk)mw`Si-hA_P>bj+%4c7~(34nWm+*NT7S&r5$vC@S5O%a?j zGJQ{yw@C`;jUx&zQQU`>R5C~3oiD=e@O|GndO5A?DB(x*i{(Y3EnOeENN7d`L6(|T z7S*Gpu1kwSY9F_oys03c5T#GUP+lUp-9XSta z$9g7#P7tY~24E0O>{O0y)t5D^rytRREskDYm*!&rjyIA2auv@*SmW~3@%Rk5UH|kf z14oD4#i$t@!hp+fuzjS=GFk366z_g#z-to|mM*Xk>}Qfl35wc@ZbT2{^YRxNzHac(V0!QA=5n65e199gfInBl*%<& zjL=%uSV1y9ITaZrmgxq2aQuirn|*Lm`F~Zlr{&o+NVHLUTGn>FTs*U)J2Mb#E#{`x z;=$CyrgbQQ{0j=6aM(2EanNWfFy~mr-ECOCSNpHj<6ymdZ|X8XU2AnRoRv;cLZ~W) zYI}*L7;*Z=c{%2#cAHn=jZ9Mzj0`||I_QctASXu+tpil4;qMzcCEW_XeTuBBoA0Ts)bM9UJ!?(GC7-qHHNl&15b(sumVuFZ1&qX6t|9gjYH5}xoILC z7vX@r)BfH&!sX&;mzDXG6jC@G_4WFJQj5#BJ$v@fNR55gtX63$icJ|FRW^`w8$8N} zGHBl9jWiXz^eZimTfsfp4V3%r*G5{lIsd0|M%^3pm&#I^SlfA-1pyyy&aa>o=h%1G zp{q1iM&>kkVcMLn22zLb?Fo6RHy|wBW9?bSA>*CV{ppW3_f9r{``|(T1IJ9gIp7qN zXXBcUTH48@%SVajC;nueN!GyP6avNqR2t?&q-q!M^4KTfg+6ZdIw4HB$OChy_pQr@ zJ==V6G45$%3O1jiP`oiMYKK+QOluBa zZ4H`XkS3!+T$fbipQv{G@AW%165seLCWjf#LAN=4<%#ugX7C{^K?RqE(@#4MdXb|+7P4Gdr z#^ze)i-qoBt}B$PR(@`{lMpLJJKz zk)6wjb)fYd{^gU6zo4ha`UL5K>1KEUPr0w>37~Jf4E|&_4}GN}9PjnoQk1|pDzw^1 zKYoNP)fey0%vVY+apF9dP9DuCp>bCqO`a4hHuGo8$GIu?`zmAVNhak!T#XXa1TwOg zniM16>2z=9HNfyXd)WS=mddOAy_2#*O}!j`RaLvVoJ|ykc30aIWzDYq+4kIo#a~6| zYPn%o00fmPm{)n*94Qiea8o&8kbD)HJLy~P@4aW@S2~u@<5c|4Zfbg`>-HFoPSnQ7tZmF>@Kg%^vV>KkwPB6)IunyF3&I zINk)vBAnN`-|v_ywiSqkd)$q^<&0e0?Zzk%YhS+QnP5Nb5W?c|A^kfA_VM}a- ziO#R`e%_|~(2sv$oyN}=)!2WvqfJ3rvJA&=nVi-N+pjJz>HwNr__&N{R<>p6HAB3k z41W?I_9+j*ey7WK+OjyE8AuY(x{Mlq`6>VGe1%o#H8>p0Dd;=BC_6vxrFZJZvjm~U zrdgbnq0~V?2ppcc=&HvE4)>a9MayPDp$R4i!-0Dn_6;?-(Vw{MH>Pv@M_p~csRGc$ zXD9U;g8-0h`(T*vd;8&|%b9bJvATvT4hwLhhz!Eh!Hq}fIxv3R(ItNU-Okn7)oFVBrt4p1@C#C9vWiazD|#8M7CzN+evz!Ha*~RGz}DRAdf**`4Cy(nmh&fYWC%)-EH{JrnrBjtmeT)%Ty;>&*yPD z2gFqP>log#k&L5TP{g3xK&?Ssrt;yYbFSPoZ`(z0`g zZeh_~Pn`buF8Iajsh7Osho=&cd=+87U5pn-%8ayCmAo9?J+02Qg4Q&PGW1;Y6RLR( zf<)G$SjzG@E8pknMqszYJEEJc*x>coFV)rMDxz-}8A5uLaCkby&nk`>f}gN&`p3^E zS9~eMQrJ)3rS1&w?Xwss_{@saqMDZqebffb(HsQ(oA^xF`_exSo=nGf^;*e$P2YVw znT7L5@0_*m`*xWWR)eya`3yRTD)#`Znz=mNZ#NC#PHa&~ifUaO;ePWqd7{KUpreP7 zJ-+@kTQAPDh1lrw-TY^hQ+Kg`yV#0Q{XpdEv|iKe)x%3IxCdr2wuadq?4Uh%01ykr zN*K~k9N|Xi$eeZ}a5E{ReA1>r{|hy!msNTD5aVlcadzVC&)&Vb-0SWeiVaKCJ$IdL zk#)~hn1L^L!GuTCZLHi*a#`Cwh!Gw#0(0~vn3%l6Y|}}%{TlO(eqav6{tpvlvAQ~Y zAS;{4znaN6**!f>qH=F;FWjw_seOjx5WohRQUEb#KdhgYFf@Wqmg%(wstoHwV?+ml zU&?v8*4Q;5Gu`{K@OX1_Hqw*R#WI$)xIxKr5$w&ipXKZ0U=KW>f;O;e0O;hP$5t2T zQ4Dket9uidYJdYd<6QydM>!+BO0Ag(el<33mlZAX*^GC_vnqS104N8CQ687D%;iPo%eZK2Q5AuPzKF6P{w3=xJ@Iyu*)9hr^B zmP&u~Eom`Y7Q=t$!OmEH)7)VTq7?$D2lN5kbX$wqgTI}#7aTTfu~ z*)-Z$zF&40wJz(uY)}BZSDJmetEECsHj|~-;}b0jk<%7Vt2C6jul*x8BMFngpYXGD zq|n{wPy@W|u6Ec08T#bNJU9t9n$bs4*C25UxIU9Tq;Dzi1 zp5^Q8&|l`~AQykF4?GI8u8UG=Ub^(`>lMHv+j?=dCj^UZSX7VZbC3iM8b`N8uQxUa zs)y|MFy!({T>~^K#jI}%`!a-SQ%=W|vI5~NCFC}cxFD3b{41+f|HxW+qvcRPe$CO( z0l1hfM{^f;^jG=4rpo3%?FAca*7FC96i*N_$rxN@N*Jc`m<0zZP-ws!X`J5&no~Fi z&&Pa5RX?_t?b0qs+^xWji{)9K8%T2caPa!QS6bpQ40@qC2LM%}1W&p|=1Ty4fs*YG zVr?-6)kB#rCW|T0V)g3?NbD|ItC%b9z4m~5Ia;0^pxCf2tAd1QfeJkch z$R&~Mllsb>bq<@i_Yg}v(rPXZ#=O&jTOJ5QVD<96D3lF}kD;&Z> z#ZZ!VBJG?5m28iF#TY&{w;mYJI0?6%t^KtL|U zk$quBoxX;*cNh@#vV|r##PvL)dLZDB{8=)gk4Cg1^b~|8rV)F;_?vS$0j;=xNnsb> zEQ<;xydKKdP5PMCA~}`4!4u_;DCo3UdAc6DTF;$ZTB8WpteYhV3&8~nsc_)=_U#iQ-)+*`{t(Y#!MBkjo^PRBl5)8YBheq%2{6Wd+g1l$zn8|du%*++5B^?B zfbcW-4B>43c6nx3S)N(`YlD~Fc;u(;tb65NF?J_pCetM+b^ET?=}GsqY`d8O(h|P0 zjJWQhrUT(1_XpkRYRSXZ@SVSfTM4<;j^fTLe(UVa^sDVCVE(Gr0N1oruu&7>u@G(^ zIq}c6@D|9tdCES{(&2pQAu@ZGja~h)Z?(si&QNkW$*De^&kvET3(*m`^G-UwSb@{L zoB~Y!YVW=dwtYZggo(RBbhwEuX(K7?FtFG6qHYn5&p_lay6Z9YCb}!rDQ8hkH?7Bm zE<)u8Pur;Y%Y`G8|SDTEBaOv=O7#!ljixT@8oF@c1|V=|(>in&-Fv@0%9m1ieF-t$*?UCbNfeB=E;~ z1lEIr7Uk9E+Z#u3NWmonR2tBWda9}PlIrsDCi3WfJOTEg$##pOZZ&T(#qd<+mF{*w ziz(YH%>_2}6Oq6K&q+G@jsRvEyT<_dH715Jea_-g7(M@`vh<%UdUqi2s7xot|5 z5oq~(O+*j??cM-tbP@LwB^rLelw`j%I&RFQr;p#=R3uUlu^Tt(ri=s{nns23<^(os zJ)O?YKHXyVfdClY@ZlrKYzT}3JG-ge;}wLDDD49&_7+D7sCTm4GFHohYf@WzbH18i zWPKS??OsFa2}Tv`t^&mPBR3gn{&Hk#{X+@>S1QiV#@o#UiwcceMr4cHiJ3Vd_eb^- z(rTEI0PN*oUH;Uf{Ih|RL?<6yZJ{7(Wh-ccY*_W3F*Rfz<>_gG9j3@p?ZZw>F_~xu z>)&}j#bD$>2CZ8?!{lm7We$7CCu;{9njO4;>~|f$E*fW!|K77jopeGq*22C=-o^4hqNoFK8rvVw*$L1RG6<7Gfcjh)VP^N`#?t|MH;G#U(tj3E9#ByyuEg*3- zc2iC$?#PnDapv_bwT%8GktwUU5Y)HShmTL{VI}w-LkV8X4-w1*By4XSz4b8WDBGT= zoOECwF(9~@hv(zfcBo-6fJ#5qWSZw>xLdk5?ZRLQOmpCT=XTZz`qQ!nfal+xrHiny zw-H^oueN0?J`sGrF`N9uG{S}n6^$2XIJJTkvbh&9Bcg^uPhz6|mM?`6LbHea0J2XZuVKlN>ep&W!i%C3w}DLNAbm&U6-w z^+=9Xy8;zmIAE9|P%liEFJ`9ovea;})^>T#^OEnep0cRVA2FvgKTQGHXS5<4O^&GB zBot4a4wA|8nd`R8CPE_}st?rEW;HWp-OJrT2pYbQd^kuk2PZ$H-?AF&Jd6ehz}@A| zmp8{@`1p#x(j9)r){2NcH~!<6e#61K#pZ@mU%V9??TA0hg~}JC&|hWSN>tgnR_uTi zys{L03E5Tb5~7sS16`om;fJ*oez}CJ?esxJKLBGOVmq_|5ksr6bJWzhGM2ad3-9T< zW#20sO9ZY-td@;ttK4!Wp@cL_f>?$I2sq$M@?kgDTA(GgV9x`G-r%*N_iG9?~4sbb~1L-0}$^GC%K;<2VgRUnHchG7BsuddZ-MYV8L4fPx>D@6U>Y0U*x#e&bqbR5p5b$U zcG`}-`LnwxkaW+pRBbS@9F$xvc#K~i$7~&!f9rU65SF*%LN4qe9Ijp!MVY;wDeT^n zHeUdUb>FIi&NF&yue*Z#9-Q9U*XsSqjNb2N=6Lg8SA}`RNoFVCv)k2Ju5T~t(x$evr9 zH{YLa`*HwdbLX`^+M1nZeA=w^)n%-3d;k1r$G`hqAN$H*e&rkg{2z(o?}2w06z9MB zV470pZ61hYn(-@x~-c0n!i1qJYPUfS!|V z;D{Ing*$>AU=#!UGpdHLW+YQV^kY&?5eqLHMLbFjSIpk2H?Hg#vy;q|_q(k7hIo7| z_8cr1TDODEj!tA60c}X8g|dK{Ve!%~>tnYfErkM6Y=xYyh}`s@0{Jy?&PQcIwgb9X zUoixYC2X*0F!T~hK43-}y2FIwlMu0kjwwMhDTXHRZLk7tBatijWpFp4@nz(dK?o?W zLh6o$a7!W%G$v#SAR#~<4EW1s14%;ASxld$SypDy;OHJk!HmKPF=LPwC=MdB(UPPm zNxv#egoF*6mUvD=5~QQ|5buw$V;R&8E?Q7y=;NN)>vtK35qcuo!0_~7C?GfjJ%|BD43y|fu%IIs8)yQ^aPvt&Aave|&=wvE z7bV=Bh!Dm{!j6fzjZrU>W+I6TKf@7P6|VsL05Esqy)iP;+xSQF%!`N>U|FW$C+UA+ zHAm>F!Z;dJyBl%z|8n(iFOFnso?yT1%f1ae?9M(c(=<%a?hIYsR25a7RA!QyWJC}b zJRHB^F60urAPF-WcEQZB3ucC0unT5}nGBPJBy>TN<8u6hdk`K$T*yi)yQr$BdtiE5 zhGF+*|CIe5ui2OJNRRN8OJ>K;`EKVs-}n2e>29>T3eBZ!E{mY19|oD-XAl%qeUqxv zGTo*#m$4%qXkEB?2K*ER?>3Y1U} zWoQOrNihr_NoyQ4C^GQZO>ldo`NRe<8lwxy8$oGY6XXkl2_S_O&*a3Q;=&I)Iun3_ zk_glk%I^kL}cQzq0oGmF1E-BYmJIH~9{dK&Dui56E| zF(f7yP^=7zFrwU5BLlZH74-dsL9vYDAt-?-IaD1I3oU{@QBz`*kX)4omoX(SP{~!) zGyn!1I`YXr0}72dVqq1i4U7;V1yCXYsYIiGj0{KMq382a$bl@3OQG9^w^4H_2to(O zhY@5H5I4Q>$AKwVC5S75LV;<;GGGxLCr-)oprHa%2pl?G!c!sYFv2o=4R!S6F_eM_f<_s3 z9rb+9GH4+U?FLJGf=zlLj80zF1GR5iaXd+};&w!yN&u@7*v9DyGA_7AUYb1I1i)Bq9Xmlc zPebUAlwx^8SVh!bc@O|%GeSj%(3ACpnCmL9GJOf+C_#nb{&8d|5ZW{RC&`%j7^VZt z;FwXA57RUSc`%${R-jPHfn7n^#;6S6=4eoI33RvJYVOAau?_ zJpt>6(>rLEB!PPbnt{@($0a~+D9Z}lk!;+|^#Btc8u)2DSj4F+mOn!Zv(0 zI!iEDk3JU*Xa*{7r`Q}>Kv@t7e))t#Q|^%IHd5&FhlB?sICCJCL^ngrZixB=sFZrm!ZfIZ&=DW z&Jeb`AX{=B89oU9468vX)e)1Jh5|zk9YF{L%1U@icvxBC2;jetp~I*W^ME}BD0fPg z2|8i6qt$Y%&!)l7Z0E|sRQhGxs0G1kH?C9#x*c{Y%2d-1f}D{n5$|c2pbCwnNJ(+z zZDe|A%nP)$3?n=QVXg~!cnC9`W*)d2?Mw(`7w0BM=GlVMMdCOB>LY{&_8LK%En_89 z7{JKG&oBxgM?}=2qM1Q4Z5+1&$wd|*aG;{(bRHI0L2)2r62wLT6;UOg)EcQA;9`)1 zHzN;>FzCAui8aJUL+BQQEm#PcA45jyCm|x%Vf=xAuxDM1P6{};+)V61e93f zJs?m+gh~7%tPzP<09pgp$7CQ#!<>WN0_ZG=bBR~L3yP^?j-l%w;&lhWA-dvVE%2xg zEC*&>2R$f6R)QJTB?;b^N9QCK0Fj!EpD-wdeh$n!Tqrync{_eW*B~Cv#OlL4Ai%;> z;1S^?RDf^b=@l3F8i*Wld#rx|5tp%jfSw{6gx_{h7Xh+1gn@=Fz`g;N3tEIA8wc)) zNbowY0>_R^kr~DG;j;)1un{2t73FxU^ls3MTYP%uwC)*bSMa}dybVAQbB*e=1Wz^oE*O&RzI0PiO|5QLUk zEo=%f!wCNnh+&#Zu!1uMTm;&Wpee#Nbab5~#zN;jR?)$PVFo+{?TA2pFa<+`CxQCH zp#Xylb_QSg4Au)^76=DPc+RVwAoa1r&-GJ?eLyW<_3L6FQ1UbTrV`|}efvF13g^andGgwRFaWFW1 z0Kp^#7gC4^S8zfB%|HN3HXC?@LFO5Iju;j*#RTa_gj3)!bVx-2&N1;p*i?8j4AaJI zyzTI4YBXSJ@#fg(Lz~Y%Ideed83hU!I4T_MFFXU$!ng^#FG6i172qdEBq_t>zzSo|a9ag>1O+4t2F)dVMu<=z!WY<>9sD1((a<4Y z5MCSh2V$fPo{jwh{J4%7%O*<(4Mucp8yt}&%#@D!Qh@Nn^^%OAgl^-2V~ET@EpdC#OGu|@e;8yWa#8$7(CH8NEf09AlblrAo9Y+9yi-0 z+C=vouv1_g;4g6r*jOUph`+HyurYWnNF+=Y3HM<<@YKX<0Xr6QVRxBB=gf2?5 zvqyl4&U09ATnq2SZkSLSL%9S*6EMpFViJfr5~oMZ0F)X-!X5BT@b3t8acQg;^d6vZ zutX$4!NcNa*z}U!etE&w|h%pu}8@cTY)gcy);EEka)NIoKAVp_?E$Yc4FenD6%W5eNDlQ?1QpezFl0#YAs#~l zK?gxMF?uM~Ark*MEKD36DOn<-x7Z)T01=%dq6?D*m-0BhWO|fGafgj3dVq(AYQZ*= zdBwC7M?`kD_(Nu2MnfY)UG(9>#lwBessOV}f;BR&*qMOj5SjWsf@sBHi-ru6Tm|Nh zI7!?c7ltRrZ69-A_>mBSk_Z8c3qdC;jzK(nRU%?g81fVtKY0?Y1<{Jf{Kezy;w4bU zJc=-JQ6#B>0YIQ3?qprbmB?j?Vq(UyPa@ZcQV}gzpjFT#7!Z7ur-RGJ&5!}X5)jYz zXXAwE0@uSMkiRhqk}tvK@r6nK^W0!*VB&~cBI+cW8gd)xF1a_EVPf{Mzx(qq5k->? zEqO1w@#C)_pOHv9mI_$Nh>Y%U6SP?i6LC$(JJ6Jm}o-$iR@#oJ^MD&o@2x6TGc_cmug(bNyJTyrKku)SxW(A^3Z}>e06+-RMiPPoQVisw#B0Q`GUlTPMxqYEY6#PY zRV24}K)`3iD8m<%RVHAO3S=1zNe)l3BSsY?qM%1lfKWxz1*k0`CJ>2Ww~RyvCIfRy zzTnPmB*L&|dSeM~M4Cs8D<6Gi}iz)MgoOd&=@enp-MBg16lf{-0z35Wq8u@au;@t%)1 z?QyVJv&YXoS~~pvXbAs2E=(P+_UEgRrNN#G&K))Yw6EQF-V;84rvqIVr&G690}{lgY$vJPwxljsF&EJT5YB zjm01?@9~yoWr!ohyNFN0Esx3wQT%W87Hgd?_;^>3tK=Tgy$3`68aF1piLn2Fw zCwdevGF9-<#E!ytA$tkQfdeEz5!*~w1$QGWOcw2N-H9zG(?zaAo(+rgxGs3I$8`Wb z9l53(BcgySN5UP+8$>a4R4dueY>C9AYcen>6Q<8Faf&cg_DIs0@HPlWo+3F1s8e`J zq;kj(gv>rP3IPNx7Cw8NqLIiIRvsVv^A{0P9B;wF66q#d zK>j?&X}CA$ffy8A3wvvl(!rpRh$o^2(~CcdnQ$0|-JmRBT@aZtIPp*r55W&3XhZ4) zCE7p^LL36o!iIvFD#YVhT?Y`vL~!uuF>HjE;NnD2p$T{v@}wldAPYBz7aK zPfQ;s0TYWwB31}re~#)O^#c=xI}(AxT}W_DEDTW=GA#T=20|ou3Q54_rxRNd9px#A(j)-84e~|Kl zJ;5VkSRn5v<^hGgNSlyp_98NFkfp%2VMt^+h<|Y_SH>cffnxeXB<-W@lB-u7szi8aQ}{<|;Wx&Q0G_&5Lizxm7m z{+pb|-aq||zxeMF;4Q80)@51y1 ze3Yh>(U_r1YzUfKFetJiERE8 z-|cn3ac951WV?dVO(*PZ{-^VF|LKXV?n+H-z(Y1g5&Q1mX>}Ns{t~vquI(M4PQ~&v zFO@vgNR2X6oOy1qZA|2PyW8&Ve|_E3;*ZynB9?)m zzdkoU+^r|c zXakmNF&l+tLRDV`RN~K8c^@94XKOlIE=G%@8m7)@AV+q=_Zc~va4%kVyw-7R)SZmh z37+XZ?HMOt@yDC(S9{&td8sQ*<}2o4vz^?ALgl!s$Lly0*iJuCEorJYI9}BY-wC&& zEip%QMHS);!x_FAo_@Cv`lEsWkRa1oReGErB-fd)a%CD$G2Nb{z#h4t9o7Cxe74*#{DMyA6ydV^hswKmo z@w7ty+v}cG&ah1L!Ge9=ko<=q-_`aQd+DTXs|c=>Feq=lh1`28_STqigE|s{MA1k3AtOl4xTlPiDWvdyD!j*`Gbntc$NVgpI}GF)U-o+e%TO!Sm&el-lIvYLVX z*TSiXfW|^kJgA+->`CAMW;TAmNPO$9@>DunUu!bCuXchV;J-S2wD9We>|xU3jN{|yLC#6e;L}(!>j$zo@tlj*TWz(2ND3HrU`ilzZ8@~~zCyV(fPZ+Cj>;vwFefj<-{ExCG!s6)p zcrp$^pB_#}U6yP3rjM#$du&8Tz_S{~nd)-DSNO^G^ek%A-*W?+SHjT`vEBGa^pn_r zmzS}2{JJd{r9T6@pVkizz~PjoH=>oEWw)!ZyJaB$RoR#iR!d^!My$90TDckued+abuc2Zqkl&_SM^yt#>(M=IVCQs6XWv z_nXVFS=rrii*gidJ3UQQX*c$}otJ9d0f19hda;KlbD$-FpFIdzWn&rjjr{!NEas;% z&8)_Ad;bJ*`Oe^WlF9UU-U%Pux9fMYB-ib-xUgaXEQ%+-+D8>?tLPtnea`si{UuOH z*P+z<#ZmV0^Ss&D7=W>iih(%8>6z@5+ekP*JGI@7IRKDh5r{@x2I7geuoZ?6XBrED zw8JNfS7)U3!$vFmXYD>y+}^AVqk3{yjl5)Wz8j(GUdTuDH9E9V&k||PdKD2b_mq3_ zP|d@O?JAwGYTvhiJ&Dh+X9CtWS|@2Xgi2-OjCP9=_4G)x%B8n-dpPk$>Zi>mkjt>g znLFJ}t?cD9s^4W#^VRKY5uLr{gdn@QD3zMnthInMeE&WlbOjs<&WgDVa$c@yc?Z3g zp+pkZ{BF{T*Y|<^arvRX|J9dvn*GD9BM$&e;|(Pf&2`%>@PSgjWO_2c`}0Pbut2$=tY`UB z9-(%|+$!@@C}< zhg$&CiK2Sz$ezB>)^yspdv4oeU7regKt1!&+6y!yw=3VCogKA|<>hoS8ORO9;6ASw zmx|t{6=$sHcz}yAi7}JKRF4y}dZMFIv97CEMpgK`D_WgJpR$X2dho@`8FRN>jL#3u z>Rj2L5ABWVO>qvXEM=wTMYFjl@IzIjm5wZgl#-#jO0j{dy$N_udj8^Njc4QeoAdmg z(m7=rTC}g;E<2RSv2JgCF-W(`z-vg{;vERcj0$g6>MWB;g%tH#djMn(mbc3Xt6AAQ zbHvyxK3-KiCl41F!PqYaSJHyQUjT_h)MBMDhJhtg)x$`Y8@ub6*XpX386PxV?7#Z% z?`SO@jqWd9oEq1UIni0CL!dLMO~AA-Z-97SWhQRY)vP|9tEN~M{LgV4y$wry%z z*x=#oo4wx4Ggwo4a(Oksn(<%#^2~e~rQ3x~q5i@PZx{K%)x6HQa7UBWXt!H3sv_mk zq)U}OmcF|U5QF~H(CbKzzdNSQ^Yz8Uu#W#|}~ zhb34M=#FTMJyBNYX1}knzy5tY8Jw?jouS<&@A1W;y4ThT5%)i=t66$E7ZR@d|BWcD5Og()R=T+k@BT z{c4eC2Yw6D^35t24Y`PhJ!jl!2N{oy#UrW^WJlaBs!NllC0 z<%3>rbT@;$RSdJxLpGu$XYxI{tqI-ksL(L0DUd>4Rf}YUF@@-t4xkLPLUHkqiN)6t?J0Xh%19*3F@oV$ZMq{eS?HA&(wJFuElbJVKu zb!O~x@#*GbuR-gBS-dID$eP3~ZLg9U)$Z`labLR#fw!I(8pi@W)M@qxbl?7;rfq5I z`iB6|FJA{bGym!Rtp06-dNT^AMIhtMm*#?vlXfIs&g{gSJ7JUW*Icu6)HD#H-cZ+o(l<-swf_b!P1eyooktZ>lRNRyuLC9>^g& zOl`u%$A5d#DwtA|%V6vsdWW;?pJvHfzoV_=$#6<%d}mB6dg*I)sf#v0)F%;+{$$`O z2pv-!Xu5i)*xy~DzIa{8lb+Ill8E`$o4XzTl^X;OOD!JXMhqpIzx6`zxwkMA= zi_&-(i1ca!e1KESZrcCztpXkbr=Qp{XnXHv*dEoW>;)&Ln;$0Q zxLtMFX#3_qIvpGha@2K%14(W3;SpNFmO}8#!_FCnX(&G_DVshyqdjA?Nc$X;nuiAC zZvU{!gMCrqg89X7y@u152V#(oQ?}QGS6Ep2oHsg3x1D$bH*&m1wa?o>hbqd8sSuov zqBFK$4u1bJ;0_F5j#jJBq9<1XZ{m+{m}6eViR&cEJWH79>~o4dcEL?gYqzNNc!4MlI0V9Ye_Uf@!(U_MYzVw-~A5@dK~0IW8$#Yb|L-qd05Wqqkg}9d%c^r*&4)a>@Ov`%LEnhTS-5J{nvfT z*Fz4yR;CvVXLP#~&YlH}5o;!$(KF9nVrRZk>qoum#r=cJQIUnxy?N5`G>Jc1<0wAK z-2={ur?S#Uk_%2-q7SIAHfP?s>vmR2{QAfX&zGCwP(BvfZIj67JijhIdS`H{P?q#3n_jlN~T{@%ug;&Xgd6fNbB^~eA-dwKzB54n5iR7el zo&w>ak#gvX8`!6)zEW*Qw4#kkYh8<{f3a=`=#6aO*hc^5sGpBNUQXCvjlV4C!@OaR zL#bm1GZ~#ehRX|aDRZIdwPqfzp^~ephjd?7`hWYr<7i{M%qw|Cu;Tgh$GO&c9R^cW ze2p4qs8*W6?L6b@29q*A=Ozz zUyV~xs30`&XD4!em2nmz^q}qD02o3|8qm~rKPXLkxYrbA?dhn`CZiiA=}G#D;1$?0NI|mCe@GQRW3&@Fj=T>430T$HwU4QGFqpT zNb*tB-t#Z%$Q~o<+^4>B2luPrXA#rxcSoZz{=|aANo0-X&45;zxWV-S{-~(v04k7A z^!3~ZoM%sO55N3D@DZ-sXbyT+TNLAmH?yFA#56BAi&@wxP_szO@8@aQvyKiO)bs*z zNEfuxS`JtcWmo`Rr}RU>*0BCv=r!2rR|9pi`Il)(^=VKh2Ia!#Lo?!q%T=9GLfP

<~!H=_=k(Ja-f)!yY)xYW-La6 zXAP(E0m_|2Khmg4Q{~v~+=&DeP4v9aby(}0H(oLpGARxE$KQ;cfNp`r6J{lOH#?-ThiE z+ukmVLkqONOn-JWv}%33t-5M_VN&0!{-nf6hgqvlX<@&9GTbrgf(2zC8@^`S!Q%h< zaoYP5e0!R+x=FbSHD+q|+D{c))JEub4hNK0$0iktB*q9*tKNDFaNn)X0l!cJx7|UW zq{YQ*;eCtB?&&-#uon8NUr82aivCBO#+On#JQf;uFm`MfU=-A_?{tr<-rUlcx#);P z?xoP3Y~Q}UFrJ_X+8s-@y+ z+iwe;s0{gWVRGFNNdcoF*^4}=i^kbWb<77V-|xDSS|9St=;Qjl_ni_A$HjJ{1#}z1 zP_U3)jS+f`pNs&K*#L-~XRVqAx~^M3h)RC8RmOH9i~aMccM^EBt0*noJ=F`#`}a~e z&0y z#)w05Dw-q+#N52cP`by7?Y&hZ=9vD=dm)RaVkl+7amAX={=vzmmpHHz zrsqFqTyS~?7QP!pJ*0)D>bu^)!;5t&`AUwI*A#v{b2#t&Ke?R8qH)_d2JA zoLZJ3vrK#M`t^EriOS24d*J#)@ZqX3&J507q$_kUc`7<`odPU2{R+o|f50$f;QvY| zJWt~!f^GY3^sly!Z1#54=xYfDLZ0E}Ixb%}tnlG{rk@1`dND4yS6+$(*LHhg4kEe( zp<{YgQpORAoOqUhfALjty_t&p)E)16{UTVF;hub!uYVZ36+atV=45e^rY*J^Ii(Px zx2pj?+1Kn|Uql0&;r7q~>R+dke&&0ui}dGW7)W2V`@{Qp=Nez;0n?go?iYT==36sA zQ(Td4xKpRul}#Kfi8W#H{Bz}W_-57A8Yl=(&Gl8jW50Y=V|Jg2fa}>L`ceu31!N&JBQES`uhin6y)Fs!e$qSZH)=7x8l7hinKJg~&F#DGs?4gL)>Fgz zv532dQpC>PT_zbV)f=!NR*LDY**`GdalrLoY0_D*TQA;zz62tA^X0toX6y6w?P>q7 zt+FT>pcYbe7;iu9x{%Xq3T`_;Mx#snv>A?#SgkSLZ;bVsWk1{^yjh zi`GD!2b{R|QDBw+bgiby)A&5-ehS!hX|KjQx!`f9;ulMn4<@5GnN@E-GsTC`qeY-< zPPK~En^fOKJnBG}AGV_H@~#@BN>_=;CcD=ez-Sz4VzPJnYGH3ctQGNpr;P&trd(aT z0xEa1V0nd09i}^2JlwjJ*F`)N$6+6gLNa^IXZJGotV{iJH0T$ziE|e}KYjiYp~d3- z()}`5l7ZQa`(Y-kHv9eodFUbQj;)y+GB0&jJe9O^Y@E_3ou5CnCX?sCk#U16M_r;07Mdc9)|?cCz@8u!0l@M1noZvd4o@7;#! zIQg^_&Z15d<6z?mNcZ``Utg>^DPrk)d20#C54DiX<+W7mv^$N)SdPXS(808JJHN8M z?e492z-vQy(brozrxRU!{yEmPP@&KH`Gwsx+I_RmR8kOGRSp|pUv&z=stk`Dw6u(c z?fY`;aos_yxVVz2-y|0Lt;F*;m!cq?_=`mtW0S$jPZ?DP-hHdB{2zB+d43~IdH^aG zS1axEd^l`Y^X~ZKn)ePwR!}#i?0ptcQM-}G52bWw$8x)YBl$+{NId5GxU0U?mWa&S z%*|zgu*=?0p75M?y=`HaM9G0LU#%h^pm8nN0N5U&9bh^c7Tfmv*>P*{MprL!Ya+4=t~ zb)AmcIUKF+>p!e!wXbAx{dU4__Y%p(ZQlM^hLW^*7U;KIM-wmA)5Ak^Am#_J+SRzA zjP1BwQIbH3U9hf zAJ>hi(La9ji%OusoGL|carM)3?`1bQ|1`Q*dprZ6j;s66iK6ViQcZudb#1iCP^Tb) z81;|#g~4RnzKfp0Om}+i-^R`+)ft&7+{t_iT&-K7@&C3r2&%V z=e@(K+Wn$R!7Wg_mhk6-0rhnjP`CVzQiYPRp97@@A~Hn^J+a*tkGdRvhPNdNP|k{lGUF zzsI@`0s`^uIkJ&Ea=G%jP{ETW2_J;~)xv-^3hYRdF7RKz42qCU~gGf;@+ zeH9v)9G-TX);GoeX$c^9FgUaB0F++C-GeKL*04m%+DBOATeIzUr5{s_10R&4V9*&z z-Lu%kJ@<5f%9T2R^MQR+Jv&;j$GTcZ44}pus-7odH(7#7PJzqx=hL=oCt0G&S(c)z zzh{Q+3eEKQpDtfg*2lpn)wIqQ$HJraf7uxf-(;3IsZX8CpLNhCL<4jSsz}j$+MtPs z0lJT{$z+b1EStwlHxCM`){b8Fqh%tn;Ba!aP9t7y%VT@G;_bda^rVOvJ!I0n65&ff z>8ah}$ZEdaKbBhGU;aWV{{`luXSvsrU!TAIKQ9_*^h@o{^=f#^@sSlR?%$4u6Q!f0 z%q@52BSYr98H(Uesy#Dvdb9N~bG42m)cA6;c7P=Vf&y?~VlSPq zQ5_9#ZZR3_W?d@`zJBzIx4X|w`nd;cjLTGtwR5z8&Bt$p+Ce8=ykF<+L7TfwZZ588 zpt|A2K;8J%8PIh`DNr)%FFKZNB+TtLQB<}`H~4NpSh@P_gLK@~T-IG>Yh7?IM7D{v zq_yzVu@RO!*q=ZRtfE_ss@9s%n#O_9|KTMU4RErpXWWI^Zm!>t{Fc0xg>>g9LRSG9 z?PhgtQ2lC8LZaL0b9!nI%%D!wXh*d?3zZQCZ`L|`pF0%CYsJ})=}O$^TciB*8=f1| zGS%-#qqk19Prm1VfsJz9D7r^XX=d~?49lj+p&vxuu_PGit(hL=OX zX`ADV-KdBXVZXt3$I2#cvaFUTa~$#DOhRf$o*b0dQrJ`mmDeEQ&UZeNn@ode17kM( zm>gebjV{Goelhlop&Tm8#EZ1?G^!nT0HE>euo?EGy^k+mIu8%m7lF`T4}|(CyqIXO zl6E6`|5M0v*>L2Rqeb6qB2lF?*P6)21&X%Y$TbN}s-#?M6qgM!tg6ypTiv@aM1A8o zgn*{(tILm@!-Q|00!$!WT?{X^Za3gpizJDG=5VT;I1gx71*Z1oPo28@=|A5jeWo#4 zdwWrIzu}IhV`uegH$n6t-VKnnjr#qX(Db;$BIiLPH3pq9uTdh-hABNdKW8)}Zhh5k z%k*Lq(Oc5_)YZ+)$=f+siB4;RFHf&8vcl~$ejoEYc2O1u72%NMdR_G-s+69F@BUMs z3h1`m)EnJm`QABcSSS`QQxDtDjkW{Ht!)(J-o;mbuc5RR4rA~&>G4Q%SqHw z3*-4d(_#iY)GJMN>x2@l>Gk4G{*t8+nQRgiw{tgWs)Au(-A|A`WKk`^8`SGsOB*ZS zTvRIAzr0IL(AQbZjyC=Z0THV+v9lW+1fdSY# zMQ!#%cjjfs$;j-Seo31wiWThfSZ}ip-v9AovN)@X{Zlk!%*(4F6CgHuu^PleAmH3{ z$Tcd5Z5DkK-|W6-uiihPZz6HS-hO?zx^wF%s0#aOwh6xVx>5XYbX$h6Uv-Z~Z?jz> zD33=iqgb>A7VXt)Hk-*x*Y;ED@GCz!)ng&ME$j{`IL*b|*_>?%uLZQt&Cf|GV!vNl zgW1g0a<>f-v|f#=3LR(SKTW=tmhax9puy_WM(u2Uv0k$j&?y%;HyZ13ey|>lc5?q^ zyCtE!V~2X^8PFO`mF3XVf$&j|D|&gM$ND#W74`7d4IaOg8*SZ;r=$5oJ?{8bb{yWn zF)b$na)ebPSSLtpzj*?T=iS`|`v!wW9YYWbT>nsXrUTKe_^4r9_Z!s;`%0Y}<@QsUHxC8IKOfB8 zZY)&d;pC11c%+6}dYxG%17%0$IHf=Cby_vMC`9H(@#Jz)UZruF9p5}V>uk&Wl`Bb~vRzAN~R8&0|h4f$As zWxl^2D^ycP5@4|L$HP<287xD2HjBW9SmW#&A~HZSx1M)74edRulC#v`s8$|dy%UpA zs;S6Ho@ZNM*>{ay5Z?`Cv1twNHzETt3sx@9Z6uS2l!23hJ|V;f>X9|`tQHPsZF^!> zI)3x)l9h@F*tkQ9cBUh5$EX?Dd~!OTkFiDcMGgJYSI#^_2xU_!=U@TR7T3Nx^DV4M zWCaS_bDm}4X0a3ZM-~dwrx4GozPMjYD4G@}tC+X~fXc-faHk!c25F41dEYlq!eN>&Rl(UEmlOIMYD49V8d9*Jxj>jJzbOiY4hlB zf2>{QKESXQdw==&w0nbfJpd27R+zsPH9@_}i?yiFbk37wEv6-e6;e+*(=AgWHODwu zuRXV|dt}Jz@4I$`50;2u9JbzLeJu6P!lqN5O(NgF9WVzt{OTDK;2erjAFW>AXZ+0m~Md?Z1^`n#mp%H-Z~Q*6R+X#ogR(C(Rdo_3Jl(_=8%vJOjvc2yOc~a~+|>j<4&q0i1Ln zHNZYs>Ee(Zh%AynRs7lk@0SY{WF0+cDB4X&)3=kL{ymOkimUV8xGC6tU$l2WEyc4a zuqYw?a9K2scD;v_S0Ly#(AyCoH0z66F^fN*Z<*KMpY1m%Z$JOvgNoup{x9b9($mf@ z{*%;+Gbi!vp@YfQoeribEZAqZ0>%X z*FC+j?V|tW#cT+Mn`=|{8?C9y2qnrB_SGf;6G8xw)KoxR(2b^7%rD%2v--2IT1m3F z+P(jr9)I~|Et-x#uO`Ej=Y}Rl^God1(Nxe;#_w!zej;=OuB}KK1;eVB9N#^RGp^Wd zHeK~_|Aoow|MKJ2+GwW|m5hG-(976y!CUKiMz<*7+sasG6hVPvXg*6+pXhzv#v!A5 z`$m$!{@HIpnz>yscJC)*_2;LJAp7u#S-`#S4-wxRZwYh+n%=_r!cY31EVhubJ8c2@ z#sl}c)iMuv%}R2!)uVR*YeV(7*VmiutY^F1{QAn4`FJZD+q_6mzZXv<8B-GZ&Y}LP zNGL)rgzk@)*aeQmXPJKbT(zZe+8MpS9UAn>t7^Vp%USD09x>4H`7J% z=%5jiJ?hobIjo^1Hg|gL&o=wE^Sf=))9K&z=+WCZ>0ouZG!oWZ{+Adn=3qlw=ZSax z;z;c21S8XOxpaV&K~$bdeHp$~s=3N_+5--0?Tp*<&i2!Cp}gFCp_SKDoL!px4XP>? z+sn;R_c=6nxE>pALhG#61RrlKgkC0+A7`UTe0A_- zx+rENXFxyOZ;j02_Ij5GfY6NX(g3z@TBG=ro(Zy*#4gb#S~az&rn)!&G#XP%tJ#XU z_1n?p!8hQh-0?qeGr$>On>LcPYHz=9i~v*5){s}4&8VbN_;EOVL92(#hd z(PG#i|KUBa)xQ1va0X+lKzV=`jakep-jL?%Aq&4+`8B~ zZ7rX!rkB8cG-?N>QNDS|&oxc&pBW#2`amZ(_~? z3;Yaq`~#F*=Z8EB(Ts8bVGoYD4M=tK}mQ%TR5ZCPB{{BKloj&%s z^HJmI)lp-zL-jP)zhtqE7Vrsd5W-BL*l*k4-G|ot=DpKuP^=+`+xKg`|3dHMm~k;0 zbsNSm#lewlHcpO2|6<{rs$aCvSP+l{ODs!5OEol_{h~EOKKmL+-3NZ(N$>t~9P>S# zf4jxv>IUTww%`=QSg5}~HROv?;Y7oLN0Hlk3d9K=yd_@OsCLBPeD3!~o108~Wz{pg zyj~A1;Wyb?;iB%_YJh9N7!7Vjy?3@p=NALu{>)-Qq>Bl#%7(7yYIX(??C-6jH{?GK zdeoVsg~g8_N=tj@u<+;?Z!_&k;_NWHH2l*FQe<~4^r6f(a>9ucc@|YFsjLMcysRHg ztJ><_N)lgrOz4*XX}J_z-^*fRuCEtxF}^Pq*KcF`mtQvN*#dVD167o5R58h!-&5ta z>A$ELe|x)!9sSO4@aC&HSs)`WSWnUxFjs&3L20$=2~r*(X};2FoAPu}#ugM63?059 z;e=b8s@?RUBLBNjmDCt6!9p)IOl5QP(+I_hdZX~Y#d_Uko2Zdr?;@x3^7Xzrn&42` zi%>?09FU({N;`J)N$0TlSMLuLq5NsiQ|c*Q=I7hH()t#y#$0ssQ^=uesVh!D%!Fsh z)SwZn*||L%NlvTd#1dM9&_yMCFX;ZSf8XM$$-*?zwgGl{(2{4?D_cxFHQ%m$(7$?V zaG{uV?F8{_;>hk`8qbB6k&37`=YrfRPMXi3UG^AtH%o0rs|8l}emj!&Bftky&h7iW ziqayrD6c)^#Z${ws7YelMe62aNAg%ydUxClkI=?pOEe;u}=GN7bJdtO7K zKmTc?s$co``9v5_Ms`;Py3cTekf_;IgB7cY?H&^kw^y-npgK5+((?zi{e91>dE&y0 zHZ1+kO4$AJqKLk$@N;Q0y$?-`&284&*uEsUklS*#Bk%!eT^Hdp4M4`({ zjXYePQeV6kOMfJ>BkioxokgG5AIAD`TD2we@EhHhdVo_%l7Ydr(Th2PJFgsZMr3Q{ zP}RX1D)SSg^Y#0FIq*;ilyFT-R_@>ZP-M^Osvqr&-;QkywSvK57Ah?96a^?FP#j-F zU4>g@oT_z2U+`Q1c43#hWx`g&oc=Nhi|h3jj+r~fGTRN-YSc8eX?78aRT>;si>VnH zT=fX82y8F|2Lf^wiFNX;+zV&*9#pX=f(Jugton}jmZ z6DEm!NX1<}o#kj-wKZ3&AJeGg1Whig3jWtoA6=m%ueVvUPb}nzAFlInThwqivab}h zM2V=;OUAZHd8l6tL(q=dW!mX9W$dja4&IXgh356P;o7dY!?d=u0)IB%9W)!-^oL1q zTLXJ-OlKvq$4}alv|Wz*9u9{u%DN_LEtcge{vxjbW^!iF&(&5GS}#2YOh_LxuMX(S zX|YTlpy;DP;Cdj5yc$*Gelc*xGd=pO^jd6BvQBJjY_K&=vfiaqOR(O3?XzIzS{1z} z&%3*ancPX^nSY+G=c>{>LqSWhDA24)`-?PaOKpzn2yO53n^oNsr)#Ier%79g$hm&} zy++x|&Gg-IY)p7_u|WBf@Uo*Lw7xEs(^r1B0wSLx)H?@;R;FM6SZkZhvCSF-p|4kO zice+zOCVH_K~$%re@R9kWX63%PmXJQ&h_ay@#BHJ~-g9lg5;d~L1WOOnmhq(#qS4y!p3nc9be*m%C^PQ4#T z9?h|>ST@U>^@IP5_P3?^c3v_7Zk0f2_PbTwQ`-V<`)Dr9f#4}J=*11+B1EV3^utt=TWka|RaBY!?avm&-J$bGZ{APIP0?CpA5S7MwdbJqCw z&Y4)}rES*xtyutaz{^qeS5$9iE;e~v+d7n$Cm+!X1d|n&wy2x|D;7uJb(aN`hth3w zPcPd}v_+m?kUAqfD6eiNqn|zN7y9sW7;7Wh1ZmC9dI*@C!N%^G$R=v$*0*rj$+TE0 zr8@0xMKR;C2zXj!&L`H}AFtVeQ{{&Cayc}Na%Y?(8vKKg?kRm>v8B_X(2bh-XI-AF zfSIHB%fht4pXp<1xo}z!-roIj{_^MFqXG@JX|ow1NmzgoqSJ*_)4^1dSWdBhA64RN z^Q>1-LhAX4FE-9X?dg>Pv+4KBi~st&^sisM)*>KacX4EmlZ^~)sywO{OECSYf zGdvvbpPwRN>yH}}U~-B+o5)NUP;IJRt40DiyU_xbsLJ~P7Uur$?~e-8}q zg(2UEGlk;%$2YlCBQFBY$_-fqYe9l(+ce~;IYR{TQg;D}K|^VfW?N*DK*UAF&zHs* zuP-gdTn^lE8_%?A&3i_Fcz_lYfK6Ccd_}Xgv8ttKK$x9Y;#Ap8W`VjM@_xceOacOT zr0oU_%eqJnpB`IY7xj+0SaD5+LJ6@k&(R8iH*1SGFSBEEArvE}7R>K+O9_DRm9mI; zERv*7Z1;1^jZRHF7klR+!0I=;w>oD=fQt;e-HA;qW*6jc*A{1JDo_G}(|kN$N@wB~ z$n-{>Q}56PtpOAB*$p=28h2OjWoC#gv>igCnRHy%6uU$Sz)T8J6U5F5=unW{5Vw%e zM+Nj{_@JqK(BdcCLtC#Z<>;#mLltb0LdevsGS#e&N~6YukiX~AadS%T(hPk-k(kk37sof02rO;!ima88TzI4v4#f30EoMj>MgXjav%}5v-V*$#Ca`n;%Kek#Nvn zxV?~=2xsW|rN#GJrgPlMkBPS398+#*`FTl{8dAVXm z-yWX`>YXch47QneOr(L;XQ?7DX5um%=VXntaF*2OGb4_3K{hiG8oC?m*B)GDO}uHF zE~<3%@*;gMAV{%QWnqCBCrg#)dpDM;kyCD@Bt$bH=mYeyCNu-X>G23c%63H)LAjPC ze(WV`=|FyUktVs|NX#L1wiiA&(o)7XAc(>F<@xM9DWxZa>sLUS2pa!nW&}?RIlZeA zb&8%jvs8P~loz4Lkv^YT+_Y=KAxes@8p{nB+sQYK%gffhyJs?rBfj~oFiZqG$lf>v z>4~WXQCQF?NriyXT>72fxaNymP*N)QPk5Hvhgm5|C0JA!R0CFG%1;J%D z5u5_PUn=Yv50^}7?EKOB#A4&~Wz*KOuW?hZV&_&T=^_=pR$1RmhG#$kv;?!e$PXrF zD#;nGwU`AR7HI}1^-0`&K;#V58nVtdAxE9)^^Uz`trj6x%J{s&Wbw+z_0o(Z5+Y~h z{30OHC_vPat@$N0Mn}jZoeqXGGgCnVs+)N5>aebCY#FUI^@4OpSh}9+h%s2(lF__g zkcOj;^wLeS;O-5lGZA)qeI75;Aq|%(g~Gi_Z)K)Kmw|Ma%NX9VSC7Xs0GMb3tzsgU zq|=$Lt))yqAwxl-yOFQ3l9rE5Ru*B-IX_dYI7fVR*cX)*V3cxr^U+{w^ZG8iV4r)@ zIVG=KwX3Ebb0qDnH|Eb9le<=0tE2_*6i^v)z;+8=W}5W6sR~;_pt}o$k|Vw}=r0NQ z#4FDc;<((paib~Vk%^g5B)ho10kHCT#uq7XHECTg&U>BG<&v?~iUfO|;2HW0^P*3S zCC?+i)kLZAF^Gatfip9agt>9`W|0IN$1Sw1pdP=WuuCP-3`8h^jW3iJ1vfY;*G$C} zB3TiV^JroWIfp+-(8)2Zn-+X)>q{#6zldfQK^@E!Y@(dWYFuQeSA#Wo>G{$L- z!tTP%01}8vGl?)r5#iZn)*Xx#$%Vpli|YmhXJSsGy?o=U24h%~ux#b&MtYvib5|?i zaN}~+PD9Gbg+pGb8vaT3u@7e3Y<64l?iq8oV^1KB-bbYwazj7hSzSlqMJL#m)!w z&>JM^+pEeJi!hp@L?!}0Qts|XVnOeZduL{d z+Mixu(y9KDQ^9QEgU1{5#6YkZ6@(I7Xe?y2NwT0UKq6kif@7EcqRy;uScz>p>p zL@Y2SEp@hIV=rGA2(y|}yS{hDAckM*PhMT>E}I+p#6&U+V+WN|$uvok5X{xQG&LzF z2|&U-0~x^TQn57jXQMDJWOlcK-GrD*9M|q_K&2p%21bp>QU^$r^)5+vk?ah2nnSn? zLZvp4h5)5xn=Ho$ePqE3MkAb0+@f4Zv&ej+COO6K$D8`Zg%dE?w|r&Uy6SZSMl(Tf z-Dn*UQ)}6514K%+Y$RSxf_{Spi5Rd!Ib0G@!XMF+wShdaIO7O1VVmboy~ue+|? z+%6aOQ;@P{x=Ty*)MQZy>I2P+_q{$b4i+zCXJEup*BZ7NP6A`!)Z`@e5|Y7IAvp=} zJAXQq+Kx*@!Utjy$?|to?zyGb@|Mu@c^ZVcZgFpU*@BiTszVX60 z4t?{bZ@u!&;jew|YX`hG=f3&1uc`m#rDz6I1PQ=v+bi3bx8AG3V2wo$yhw(uty^;- zv0Vq6f(t&(P9e@fFhn|zo*HzM&89J1Th~SgpFcJ&mz&FFysB{YumU{?N>Iz1$sO=* z5euDrm2RuL*{a)B4ITX5DL@sh8*E)QHBXu(P*tk{g|#p2IQk+&Rku{DY&D(3#4{HI z39VLZ8$bsbn$hTbmcf9fO2MXya+Mdb$E!O#wyHH1mMeVwqHi>`T-7)bm?bB@0Zg*A z3R!MO68)zgNm|-oTxpjD*HPrOKO9i2>ve-c6`^d#fozklm<_Q=5Wv(aHM*^CqgGw1 zWYw;FAdU>K>~83)CQ4JzUJzxL8Gy78j}D(bJr##YNevFaY3((^BcF;sSYshpMCNL8T!%z!cbZqGOU;tH1n|JTOUl)l{N1v0jTN~Z7Y0}nO)lelWTWxDg zh8zaD9JRQz+bq|*7PMQ?k=GA7$@+TJFl;gqM+7Y3Sn*u(-gQm5#-s&<`c3xz#(Z zwykxkP+)Ml_bljkuXLfh?WYT%q^*=qZEb~!_8c3UDz95N?rg7Z$&A!LaQrPvWi}Tf z+^GRJ!!aCCFK?803uH)00b@sJYvb;MX(^;~w2JrL$(D35+po?aoHs z&?!!Wf#{XhZo9Q&E3|iDV89_UAm^m3Nk%G!M}2V?BY}OEikusWNQ^QNkX6k!V`;s+f3;DgF22=Ig%dJlw*c~CJ*W#1G&qfk3L~gLI@M1!+pCQo zdwpMGM_=#ze!NyUS67<_mA)8&_E>x4>2kBC^NQtfx4VtYo2x7`aB}Q;1jS((pRwzl zI_w+uPSHd-p~74MG5DN^tko{JS1MOw0D0p1zA>`Zs;$)PD(P|ilWL^_a@S=A^i73E zrQB?GTV)~1YJF>*_jJ z8b0#7)11|*b{pljnpJQ=*AvRr>op+CD8qb-GicRXt9rGqLZFbTwN^^)wXJF>g8t}5 z2MC&g5@fYv&jvhWr*O$ih7wd);^-mNGq`?hv(wq%-B#j*FFU;YE#N1GvRcCH1OgXh z=eM%ffoO-ZCm&U}SiBXi~)-f-5d`BM9=YYq(F2V+7l1HtC@gFH)VdvefCW ze4rBEQyz~;FsdLQs>}4rA@4kp2P{|1rs$(|y;-jUQnEgU550IQg0l!l(v^t1HvQUA zB50W!rZqP603!V{hz?g)n&#c@^>)bH|NPXtVbx@%YR2d@j)kn1Q1QrYc(|CKQf^dR0Xhz068I%p+T;2Ykl|9-R+HK=xp|(I0?)eLQ^1z z&k;(c++AxMGF~+dL1Sr1M@P55)+8EO_T%Rp;(Dh_ zFe;PB-6yAd5rH4I1he5oLSq3nE#pFN0|h-WmvRxrAQvl7c5bXfSw{9B$_xwDhTRoe zPjA?iWc|iHtD386x@m$u5VZb~-tf?*&o3^!eT?Pf!a?*j7X}%IC<@J^wGiR;3&aPv zzO3F{zhf@wg%B#fxz*TIr5tMKj0tyTtv4|vTft1(5%-`DCxV*o%GiO@m0n6?0Y_+W%?H<4kt=jEWtJM{|Hphut z%GMdw**`WiHV_aLXCPm|kV%{hARO>zkX{{hpFuvt5s|waTT8pU-OCNFG3qgT%Ilk; zfSwqPnGLvFc4M_$wscly6pN09osN+~*B~wydKumHpcsP&1%(VIXkSi(;XNAf(;Hj0 z<;{m1Yx{T9RPUIV-rTM8SU3_lIt3`%SC@C*Q+1H97r} zvc7VuwNhSOUoFo`T*4P3W!&%R!2{tqdcXp$5S}EbxS^-X@F;>rXpnlL1P{Wtw{CTt zE7uw|CVgxmF59A%GaF_Ky7=3*?)u{XnyxUo2URMq$-XfOToMA(qH)GXM&lATgcs-p zL!yBICt2zmb2L)jd-T3p+ib4Xt;F-L0&k0Pw$n0kPHSCnw91#dwMwiI>5o+n`UF8B zS(hIn;vu&@Iyx+A1tm!`tT5PjN->-3x#NSr%&o1?=Jw8Rw^>&GUgSXdik>gaWE^bI z!fLBlty)^r=XD7davBEb>=~CYz@SJd-7^}<=mi-8d>Pjlmh-KOjhzik?X9hi`p({d zos-0|2JK6MDQR&ey0E+2ZNZDJ5U6Lu7YdMLZbVTTfP-KJf+p~Z10HxP9!_yGJINTW z6`CH5Kt=X?x4!=VTBRV;!xYRlibAzsL51q>)peuWTGQCrsLMI6hJ90@uOo$z!N_dD zj7|C_ww`6j@Y$8k zRz}w2($;SG-s;ZXHF{67PX)w_fdZ}X_tMbGZ#0=g%OXPVF%L0-5CExQYfS7#XnPDF z9^(TPNaUd^NvU|!4@I5^o|qMw>hAX4r`JBYPnSD2Zm7`blFH(Sfy=8O+|dYgN3)Q? zagrKxQ9&d^L0J($c6O4*`roL8{jr*XCB3@L2=Tbww8W{7OiTNn?T=R)>$Pg7e(9JK zNdP;&O=D`~POUB)8=bix$`_&nVI0Te)3t)&>33t)>o0p#z$qk0G*aS75+y3uEESRJ znB8nY{o+<@SJi6mmiL@Ii13oZW`WPGS&hgmn&AxgfKHK{!DDn-6Pf-#k4T(7UI>#S zs-QeuQOR&1kv9R+qwcA?viJDup1EqO8;xR5A2+UXN?ul1uI$z-thFuiPV6irddDa) z29!-4(cgm=0*3~yX{3r{enT$nh&vQ8IE5Ojw>3q+b??zbZO!O(>grgCd(KpCvnd+; zJM+3#H)K2R^9o3iWCJonYP|axRBzemCRbRODuDdDjaqT0hfJ2E*-I3ZPL8-u%@xLt!HrW;0!>Lr4UI)v3UHXgCwWFi`GGR17z!E2;~TJ z)X$(=Rj@8$w*Jwr&y4xqnr>Gp_fVl%lI?1%tT!slZLotfOHM?9$YD$%vj~a{PWR{} zN%i|IlT5QTnhBr^Mf66JVnv>{@1eH2^X2B2y{}X%VqkDcnE(@ht=fUSt5cvvk^pKN zIu&=I0O55^ON{4qKN7z<6yKr}VIzedh;eYZOGLW*mhqY7Ztnd0PS@J3n3_hhCv(n3 zYjLG}Hz%+gpy@4z12_qIcvp(z5^gtvOb+w}!p?rQTX3O_1Utz<5-0(Ks>*Kdfr;rK z{POPRYL!y!2*UU+C*7pB_7^0z++-7SFpPv!RLDO9TK9>5UpUbp!abwCL+ToG79?#F zL01jK2FNg5-rrw*OtWiGe*MYrYN1=&q1nh$)79$AYuC40RAr9>H3>$6Kr?>cW7CS; zb#kU~x@RQp9UOlhmuzydfL;Ii?=Sd=JROWnqHQQCO;*`2k< zas?Ejgv1y=y0TJRyVEVR)|zGDiL}5$(__$+5lqzA%Ms4LL7(sJfT#yX!ysuy&VW;N z`r>M>)mhydw%gZ!vAWf+)XcI_AOjs>fKqSW+o6rhrMLzi9TX_ky$%$?RnF1tqt6bX z9ZMWP>T3-TPUG=-s8FSRV<1Pu-J?9@mni;@f)2L-ItUb1y-zkBbIm3;E_=eO&1qoi3J z;&n--&4RJ~0K}lXZA)^Hvcy2f)Kg$Nd3a#7;y(M%FylGu+|XnGK@ZM=auHOqe2rFp zdGEa@xqIvJr&d|BD+EU}2x-RG>npq68p&?76efW|ri{lUeSwUYhzvxS&;=*rKi4O$ zRDBLtj42lwM?8FyTVHA1xpV(UVP)m^-L~;EGulFaGd}9$*CKEGg2n(ZHv%0yp_K`!au71)nfzVOGP&$FG0Obnh1oIQF>SoIxE#ML?) z3CHCmBiHTDcKfGxKwaP8YCFvLHGNfqJriBodW zIePlk*&(_UI37;eYhpMONdP23x3?ePdfJMMs}G+xZ485h2?NOGHLAMvV4a7`m5c#Z zudO>`tb7WkHT#X%j}XCuW3OL0dzM{Iob*bSCKrpNAh@L{rS`oipVhsEh5g5?yeAQ_ zbX2Wq?}qHg`f7ndq16MdWOc(i%`%Z7SJnDYpESpNPq+dDJ?v)Wn7dGGQ+UKf0iF&z zrg!&#ru8Y^_a4+{Fbx+iwJDn$9%F5{jzt2dh@#H2F7@Fw>I>i~o=(l@4fi**}30vD6Pkvzx8(Vkx)FgPos-ah#T8Nx) zR!k(p)zbkFTg8t1a*^Q(sn>_zbdl(}zCO<3iq~enPJPZ65WqXP1xW{H&HbO>1`X!x zdmS0*@v+M_d(|og!gIi!i3zqD@s62>_bfFNaL08$KK8a(arX^)sf(Pw8uwxx)S!I4 zqBWRmqqh9$vq$Ts$=zIQ02u>Oy}a_UV{%@uXw@Z%ur-`xO}E=4;qD=rV(K}4+TlX_ zBBI~HHVllGnOP*1NUN4)FtqaI%U}MzfG|c^7Zr|FR(5x9H8?Dw=E@K-0Fyrn#gLJc zV;n##M32Kg(9<(?Y$^<)pklNsz$a%=T+(ezHS{j9?6T@mbvWYj+S$z~Z- zhd5(S)`5^yrceg=4~$9ju-{L)dtZCu^jP1hGfoZr3l)p8!XP+?b1e(7?CbA6{nclm z;c=-Az=SZt3p<);Va9jeD%O(d*aJT-$fBKt!SAed+*Vd=aw)L|oyIa(1xWA&? zYMQFF1(9LS`7j-@CJ~Gb4?OqgKtJup{62dd9qg$v`;36aaH2;fiCdK-VaQ z7S)HJ|N8EGV;-ZrZm2$NVg2WiRtnU6BUZUuVJOpNBozzwhVl(>Uy>mcgD?M4|A>P^ z!(Jg!tjcnnG(i(dtx*Y--gxloU)|}Ph?tuz97R;*4?erUW-8s|^Qu|n8D)dRaADk= zP*U!MH_Z~Kzwz8*cLZ?>Qwc0SrxwUm!b#-~8^j-Q_R-(|^Di`y+WVBVu?d%*7S0Y(lp-Ldwt$f*RTTzx?8F_lOfjt+g(q+`4e<(@#6)ihZP_%1xdT z_6h_dj0P|@>8IVGV0iq0I_h*LA`u9v8Ag^^Alz|Fyj2eYJ)`>ZZ~o~$&gGHY^)iyH z*E*lh zJ^i030Q^t6^+fBtuZT-QcHACDwF6b4Rk5eiy5UA7bL)g(? z1SLuDx4wPS8N=da0;A}8PPKWEuuvLJn6+WdkN@M}zSs033OH#g-Kg0=FR#6qdvna1 zt(bC3;@Bb@_FV)On$d%&=y-5GR*E|C|49-;AJh%{3rjQ}w$KZmkrJ?bl|_3TSkjAiP3{#+)9`-+LB|kwo9O zzyC6g`n`GtR(1|TgmM9q&9&8fl>&+A z-K}4(+2!)^n7KI%JzdaTF$afS?zkX6Hy+3RBgek+^)pn#6T;Zx97H-IfprrUwq`+h z$lAH{Pk;7!txr;{y9G94T>j#>cRI8kz%{clE1D|9Q3>~0Uqm8@P!#irUw!uF(+T)L z8A$X=WTP^pfO-^wD{{c(aQ9dL@zalmli2*;Dk()8%|HKiYddESF+fsNB^isW(C*<8 zKUR&8hOy}A@QdGht)D?0u*Dp>qHx-1*3b9_OOnEr{foc&?X52epQ0@rDxKfI^ACU4 z?1ZX4a(k{NlR36kn?62-O8Aeh-Xe#1SD!LT3s?Fa#di*%x43ir&lSpko_~O?s(I*ba z)lI0)XiUL|AQey44IxG*!hu7tA3xHT!-)hMxuBQpk`ss@VN)1^NSyloi!XonMJqCn z)$X$@hi(1(=MQ&!m`$vzi<{6F$=^5KKXPVhXceb&pr2IN=mrHPM23Ln`#WA z4^OqxqWmav@5!%zwbOH=e{N02NV2v0^zQx+Z@4@~a5#nx_)szI4M_zv$!c)$29Lbl z3vLIaxk*1un+)aSk&qvhG{~^hc>H&dH+G$)K53bhFeiZ=wpVmMc%++i2z3XSk|mt2`Z|4JtkcNIb?zb7ai-=J9v>a1O9Y>_xv=w-5Ao z5Y(uUevw<6v5Ca2ZV0Mvr4xM;r zMq*qu$QZ^N0>+XSH$_>i(J^P?+T)-9_F;#9K54ACfD3f1{`AYXD%?846%3V$&;c2! zfczdeJP_umBJQ!*jy@Bnkr0%D{CK-=>PbOO%+<|=L}QPB{a2s2YA%=Fs3PTfy(4_N zUTx$ehswHLuMiYcHM|aopO%eq1kn)Zv9G^6Oc*W{iuGibnU^tFOsYr<>ZxG%`Y-?S zlddsDn!;sig7vps!1U-jadxBq`MW-4kA zdu!|3=Ela=^|iGttC!(gfeVy0A^5yM&dz-g6SC;{sS31y4 zw4oN56LSC$!jtJp!W-~jjQE27@rxJE_YDr58y*>)xEKi`SRjnhhFxyitp&4Of+FY) zNvk;!f)t<^ykyHP4YZz7Y&r&T>R3F5f!dXngC3in=RpmwV6^JposHYKuHCrX-CJq5 z>Sl|HM$ZRH(^{%7&e?P3EJ&zK<7h0JfN^s)nZlFk)YQ1EfB5`J|IoVwr{6uDjSC>2GMQc`{g%WAW1QE70p8_>)P7`M} zpvnhyw_s$mS~jO!nC%Z+!Dx&wTg$FTDKf+sDuJT^O5~ z48WtNGD`dYM_=q+UMMMC3cUX0#6_?jPPZ4_JOD?EbG1vCH(=Moef{LKU;OgV|ME9~ z`*(l;5C8Cw|M=VA{?q^RPrv=2|NY(73;I%&f=mD7G+c)?3Z{9q(cd*1@o4^=fYBlQB@?2?F&4I2j7Mu3N zYZ)2r@9jB#^7zp=Uwh@HL(f0=$KUzRcfa$UZ-46>e+c*f2VejCH^23r?>_sz7Y@CA z_>DJ@{^-Xi-g)Qr*`9NK{pSaVMjdXL%K{2gXpJ4*doFh%_a|DOGvAuii{SO{| z^zoCYKmGKxpZ)A-pZ)ZwpThO@;J>Fofq&sqA3gZ+-o5v4-MMvhcW3MB)vsJmyA9U2 z0UtVN>V+K7q_9{dIOTDUT^Q&)cjn}ej~{#ctv6s3z4G#lFTHr^hd+e1J9Oy9m%wwr za`;uaUVH7eS6@AHP1E3Sq7*e za4Z=|kw`cg@K5NS zD`1Fk?CtH}zH{gO_wRo2;fD_%JpAaRj~+oxe6S-v{`kOi-M@eL{X6^nd%HW^;IuY3 zuCBqB0JmGORm+wEnsGAN8HOfPIF^XVP$U`+hYvhw=&LLEfBVttFt}3q@4%yeOUb(!o)?Mjd z=|XUFd1ZNdrM=R<3}3vwy1I6C^V-(+t)0!C&CRuq%d3|zH5SWrv(Sx(!U+LO6rDx@ zZ-T-?!^guy!#^`5JbN;cM1U?P5S|K60imDIADoK7UBu$anRFV~3j76ljM=$^4c`Rb zmHN`9`laTj)+N}a^+ovNVxv;4)oYEV2Eg#zKrnE5!!jwF zfbSIpST}?)@z@N4qi7-=osN2ZPS^PG(E0N{@1E*8apvTiGd*Ye-@PzA>~J{T7hxOu zr~K3Y&~zk(A{hRavNV$e-6LR^IS-sR;U)#E|v$K7D2j;picbaf=>kH+|oCQExYoWTdv;ysK zh^Oj}3hdSDtf@mVRLp@GJ5=KOE`73&R7010y5jlat{9?458Zi34zj zCiqO6hqz7$e7Olqi=BlljZ00SW?h7{T(6bOHM`QOFE4fLmug_gI^Aw}v%9x>WAE<% zhj-q;dFR&c{oVcTYa7?Q-43jsW!oS?#pXG%QJ^Q7ok=q@#8xK9&55F>lxwSto#w)& zB{-kuiYg{kQ$c?qDVt_(D>k}C0_T5l^=(>CYf#pJAPMv6rP6ON(ty@QhgYz`!7Rh?ffca~cVjfw^+ zDM_Okk<*~b1M%%{i*Y~!Ul{^8_ zZD4fjLeHRgddeAyOeWpaWXczJO#0nGk+RTO*@E@n-&|OdRZ8XZ#Y$sIFY;MF=%*di z!)MR;2BMnpWxy}nb;X*5vDCo|xE<0(r~a(PbR z6H#A6zyLvMLu-+!>P2b`U;sJHJ&=X&2A84j?#v254Ga#{!=K38%&38Qm%{k`Rd{9>aJi@T5! z$b`I3Bp87~fqHYXDhB-iG{*9Rv9!9j*4>?-S9#nQ8xIDY<7Xy%2Ku2gLLwMYaPZ|T z55N5Bhx=QrUBgmg9$kzE>EexhKY#ckP&iGWdFA3TmS8U|FwVlJO9J)ef!wa!Bb=IcqB3!3j|=wMx`WqWo=EbmX_L$ z5-@ed;xsx%fKpg_^ZND2`^&f2_ujv=dt>8vbF+No-p_vZ*FSyo{>OjvlMf$l-v%tb zluQeSoH+;5pS5bNAV z_%H`DK4~Ty4xB&s%F#n7&JB&Fr_tbr@hL|-7pHv_{eAsmoJoiYhEJeKJc>;FM*QPp zf57QL#-adOpeIAVNK%k^nE%0pX@qH%%L{Myd$=NsFLb;Hb?mBnUNUM|*i z@ho08%f&p-!`vdH>nvy)aM00>XQoj^26~si8LgP1< z@K2LmEE9_>tN=A2&&bJl-WnJJ^9z$Hz@Ll2sB*ooTUwdHf)kMaGNP$x+p5#5D`z zTV$G0#LYK_r}g=lh3JkhWoQC!XM02-VUFZ)iFR8fqMmPQ^#Y$Hpf~I9Y?B zUIF7{I!{r-WE{b!ButizeAF}i?gbY^ioC`EV;w1)nG9NxwK>zM3uZ~wRmD~zEeARV z$eb#RkXiF2ky5QImzEaQLJFnn`Nf(7p@|`b_D>FGL0E>DtFi)JTZkC6POEF{4H?9F zA+jp)fLq{!;I3#;bbJZ~85WkBb+(B6{Akk1iBP%D8s4dnDDTXc8=72yJ zGC8$u(341*Eo9krGH=kKi77r?DrMtH8U<<^H4Q8WAdM~Ill>Dxs6Z<`=$VrxPa|PrDPoG|0U5AlbCc)aot#c$pp2YGCw;L5Hksrx7Io21B7)^AW-h}( z#mT-i2||id$tVI6WdLoOc8-j=+zfb5;2TeK zaB>v0Qdgki%;hSaCIb<1aSj3<-LRUKTD`~=@iK5bT*?(oEe#0bYK)YKI;ZIv5@0x~ zK`K&KE|Mj)0wS&1xiXZduGY$FLx(Al7zuF}C+3%w@U#cqII{?HMDawJ$kIU;;ehQU zLHYoCiuq1>r{d7=rBcv?N?}~eV0A*Fr(+I*Efv7~R6sW}IPHkzwfri8uM=^E7WjEx z7F0fCv0*fZSqB&!EFtD)tgu+EC6E|NPeEPXz67d$Rw1u~$W76l*Q)b6h#VK2S5|?i z)}AX7Oo&m6MsZO$NCkEUOT$30S``&yYTO4r!!$?~X7n`FsLT|6fT7CC5E&>ysjXbe zkP$SD`2f=Zm4Re9?#Gxw8k+2KN(jbd;MO3v1YHUu%EO#Iz@vcF4V93X8}pG;PT-ML zAQ@L;V#Y8FJQss9brzG2MU_O;7_Bimn3g_Dd(VhU$eSc#G?q%nlbYMEultY%D|hDdf{PRKBz^3eiN%YmvU#OB6Xl_2`s2sIIoLyMQu(k7Pz^&Vnxfs zcNH>eX&(AZfIj0zo`s|c7YH$B@FhKyNwcC_D?$k(!bKrFKmr_IOffjn_2f&Hd8pjB2#r(j%x}(n8KTH=5KYbV zT1o-2R>|NXGJv$%=JEs&Xq{Lwos%*gNM4F@DU9JHF9;l#!{xG~$OreAW#cK(u>y`6 zI%UYhLS9rT71T>zZeNs7WylmSu(Cy^h@eOsMFYt7DtRld{IKc;x^PpG`A5 zWXz0^MB`{AolP61ye6t(T8*3~6_rd*%oIq-nNmVlEo!n(Wl$o9$(drVTFz=j3M9~A ztXG9{GNj8k%{GbtvTObsO8fHT&YBwjORq?Uh)+1 zTY=Imct<$jdYUXU;8%3nk`I`zF@ooFhO)>P@g%%61-QYa5+}ku1;r``j5TJNOcYK& z%R^Z_&BnpVMJXm*$f}BHrf@OMmW0||v6_Q}8Iw}H%y3Y;p$X_07_>s92!aOVpvj;w z!-8U)0^3xraSE{9fs`?ai-ZaXJR_=-30(w*q2UB+N*?610Z%~jNf@n$M+ejf2jx>4 z*2&J>Tu$H+fhq8!Cgpj^oEdnIuaaUWn@uq(ipui9?S_$20ld8^Lt8n|%SoLw#jFU! z)))%VqN1GSQUr|pWD=PSFIw3=ko0HLFwv%A^vm}JXTPS%yUIb67!TS2sshvIxSk}q2dVmwG_Mt8$Oq3Ss|zKwwjf)oXV>l2l4_U zm0@X|K)s1+I-SizJt8eJSvU@KHk*@jd|IZnB4dG)FmceGkyS{=l8JOm5rF!QN`o8_ zjpBI*z`O<=St*yu;t=Z5oX8j0948BsC;=6Yd{8uGI2M{;MFIHiscbA6#t4AWz*~j8 zol~+vlnuM;pl8McR*D1=52;G5A^V+dgNf{<96isv9(4Zy^r8HK`iE5r_@kE5g@Kh2Y_B@!X ze7e9JPz?~}1qk;_P>uoX1*KJ9&8eoM2&_Qi@l-OAp>t%4p#+&y(ixIubFw-I9N3__ z1-nWIf~*`^$ZVPqCWF9l4n~*Bz#+mSpb-c;i3%qGE}n;NEQzL^=S3z%G7<*U_o*xn z1elbVg8&)KU!8%-Mm@I07ZG?h%l$uELpDI78aUI#4{ zKxRfW@*+n;ij_n-nuG3U4mLzSOOaUy0(dZ_IXT58p?wFlG}!`_DzbStn*xugK*R|y z2h!7=AZ1e-98bgf5NHv0pqMW(5Wo~wNy4Gv4d+hgAbl;CVQ&ER3xm7}J|F6QER7`+ z1avC7oS|7ILpDI<3@#BE5diu{0K_0pq#58rRYh2NIN1s>0&^xvLdH|jDTO~sXF!J| zo1vIA38816%>na8PRYS*qQFK8JP)N)xK-%Kz~4$i*^x^NGL+w_gOyXKgzN2x52SN-!;eOfQ%XH z#2|QF8aJ@-z8mTM?yiy6E)5#D_Mp6W| zkjthsL<%M=pj{1z8A2iPze2#8I%KzKS0$x{}7Pt9i)l1`HhY^)rhejzD>^8g(` zSyn+DT~xq?DN<20puZ><_za}q6h@ErN-OHPBG2R941tSCjxHXzi2x;hxi43t7M zJV(MS141@XwMY@^6b+SZFjP?4m!uq{z!uGEc@svTAUn=-;Hm_8A1Rgz@~z2g3Td9<^oEe7?V{r1#Sgwi%&5TF(TOUh;7V<0+% zjnBfy*8n@gvl*7p2+)%PFAjDLWM#+{m=Zn*n*d-81*wn~APj`C8b}6GY1j-Ru$sw& z%!4r%z+%A}f)gvkVF#Naz}tf_@fjN4KJ0W3+yR5Zrk0=pUXZe|L%<@zc#5dQ2n%## z;Y0zi|NlkSdqv5XTxWWC(9)7d)R04RM2ZVTYSx;ONY0|c03bZt_w}y4udGV%%}MXQ z_r5aAW_f$P@4nr)4Y~mVpaDpVBh4&HuX@(IzBpO8(V+6y&8o~3Cr+3hJ9b3u{r^Ex zC8(qA9=`)ikf{VUfYA7T*gVvMMhXX`;Qun2B|}u+=XVC|UeWlXC4Afx&ZdBp&aq+$ z_?)bcgB&!|R#-FCo0$O7;(!rl#!g6(gY`hz7eKGYum#eoY!Re6?1BITnZD*o5}Ef2 z8ALh|I}Qxl*^FbzP&Xe#B_79b6H|^83F;;a%V0{RXex2s%{h0F4#lI5!#--mp$qLo z+tcct03&uNBA!pN;?YQgJUNw#a%$$KSQxYnf++R}?kgC?)SQmvs5Bv*0g$8s-iC-- z7;$F(MTS&9hLm7}@@!IsLt*A|Ml`bK^|5|Ml(B46(PR`uG|VHhWkPZt`~>-U=)^=e z%LzylAZ;f9B$;7!)9ok-w){k!FjFF8JWRY8ZA=1mKfRiy591LWyy*mA5Y_KzB$7uW znhet*!ZC@4V={?Qrzo3e$u#0X@j{_^2t*ZeavclN)4o7Nh!z@~2BFNfJ`#sLhV<f`~ceD;T17JUSjvr!vCBCX8BT#zS3EZWO6M;GuWKC_;2Z148~1Ll@_= z9Gb9(VAL>{kWIuR;$ut(X#jCN#O#4lNqH$cB^7NT3W(f_lYVL#q&Tz^I)G8fk|8J$ zAoMK5gW37*KAHlvU2K^!j7tfCVU zOhz*rkSPm44|E43k?uvS@>DVq#vy`5vx*P=DMXPkc|IO7Vx&=d#yA^Ue#U_qz2rdt za$+%{#S)9F{1@UAVeFtSgccSaHPl+nV=2sc5H*;8gx`%AFR2vchUP)6cowb6O+wd; zCZsijNGUHdeni8i#L|-|$_>T95P~g+KJkRK8i|>okS2PBQ7GCOsSWWoGywyamf{b2 zP;(m^omx{st}raIW8z}4QV<$V44wcJTnN1`&sIVz8Q`LisU&wJC1Glf`eq7ZAd3DI zdGiYyz&a4Rf?*+KjDNz_K+I4m7EuzRpXlo_yJD1y=B3q<2NDYBBT*dD?^N&H9|>*1 zS9FTFlSd(ha_v6Rpov#64n+^Crqi&LVFy{wb?m7m7yZ zxF0DOiRfFQW@rsrnevBRDn^MI?czq>#W0h{I(L$m=ZPP=$GH)mz|xAz*h3}7?U>_o z{|PZb6wwR}Fj|N*2%*7WS_qx!TTyf-b28zFPNW@#C?n(i;~x5j(Ic8wbSDa*hx0*h zX|7Nsz9uiBqA03dNJLw-f>64m4nqDBKN<@KC3YZ&EibApch2xp^ciE9? z$D8PC@n|lHzr}atBZiSIRNNrT7Wt7FLrAo;TrrWqTsEYD#G*I3&JX=0Btf(SMWxJg z<-|ZDb6P;OxTuy~@R(>lvJ&Ht`Usg6nV|FJ2Mb}5U!uW;8ba2POYscK&8#qtR`jJwSm1q`GRM9&^toS7E=Zg5Ds6sx4VI(&c7s-u3MWfM_LUu$w zWf7+EqO9a4I#(nbDl^I@KWSJ_A;COdbfjopQ9cSlwz2{f52X*pbL1u>6{$t0m>5)n z=kZJ)N(Q29#IIoz`CW`-+JP1ojVc}_dVUr4FQmPV2vLuyJODo+taeJPeuBUD$k1v!bVhs8tkP$Hu3h9W>d;-V;n zD2w=!8&pWPEZpLDUgGkwbx9yMny55QD9RwdksmF85)H&hk+b}ap^)(|C!x)Rw2Fd? zDu`YaSLn`RpUGdJXUH#E&Pg$B&tVS3$BS%5ae0QwOl}nUJMkR8K{~`mkxKNac!(HW zluCXOH4^BZ;1gRnnb*lr7#Z8dtcNaNq?U5yzU~6 z_z@Y2K`IwgzD3+Pe3p2a=y&lT(bw{~a!%*ZI8QeGo_8U*;*v-&zrmm_i6W_->v`7Vm#CH8A|lnR zrr;|v*2qx|a5>5Fl6-?`k73&L{La7SCQ&H4`0`isy|1b$DkRGFrDuqbBB6L2mR?RQ z*YbNkr=n$I7oRiW|BA{7!C_ z8|J+EsrFEaxcsYIlCM8o()!+ZWN4&c9>%U*+^y;@L9l4zMmq^RUU*-HN*{{AIe)FoWr++<{SBYQUe4bpE zD^XLC-}(Pnm%jYiS5H0vPEImRciuMVbrbo#s=!dFWT_QNhteb8^hJ_kc3)KL{NpRl zLPHFbf9Y0|oVT8wF>i9#qU^6y|EdHczhMsYc@2{Fi{&=29F8wegapM>1hnMAN z$bWuu?N>=&J?G006jy14FO8H}ISxDTy#K_Pa%Em!<@b4ke(l$nF3Y8RRpDPt{HsLV z`^AS>`TVNj!*9svJk1v=_E)|#{?A_r{e|o5Q~%`FzD8#|@hfA`1BU9^l4aw5sW-k*tA?CQ<71Y`NBSl2 zspa6l%Vbi8>?>QnrcR%J{vZ@oD75Zp9ko?i+wNygOWJlR9;rx8-=yVXUoqx9QtR>$ zZ7yx-#X9UgTF==_pYtf}y5>K0t8}Jhr{0|pZ>u$(`wpXd+PD*GwiNk8-@u!+x``OE z6dto}9dPzO%BuXUw#->ZVYs>E(cd0e)zV(l=99Fkhe=2J#hT8(dZN=0ntH>utLyD5 zY+D<8wYpyLbsXzbd)ahYFi7^2Teo)R8AR6orC8UcziHZB)b(qNfhYSmzgg#7{k(#A z^19#ppfx=%Jxnbc#)1#rHnVwqCHPRMD!<&AUg|z_F6!p>=6h*VC}FU7vqvx8v)=u1 z-rd&NZ6#M_GSr`UpLI-DbMM62m`^?H%xPK=tfPVbj?cQaIO=~;m{qqQLKa#!uRM<~ z>#IA4teuUqu3Br@dFirNCHt)DV9OrXrf>V><>h7HvCm@AZ#~ef4#A;W+fht+YGbPQv%pyB z#M>{~OwB#Ddsn-tJ6c(^AKft-{kwi$sBPBg&TM`>5cIyymb3=@#d>gY{YX+NCNlSS zT*d|MUNKwfge3F!XC+5+&E>g&N1uEcHYvsfCxJjh8F6=2(p-4gn$)KnX0IW9`owOx zOso3uSLRfs-AySywv^j2Sfl|gxTTlD)z5NsmhCf@Y9nzg*KC8%vh?_&s&y$x+|E^0Iqrt7&d( zY-{#>cg|KvytHO*v*UhmOFw0QP*d8M7d4fBxw&EvZpGqdg7!+Ms`1v7?!s~z$`iBR zRNp@Bb8z3>Y@HaahTeNVM?RryXoCiWdteOs-AZ@-XgPWtw9Ds_zH`spST;<|q#mYc zEJjCX=Z*q z)Df{*dHJEkd>db=P)4;lo;{dX20z%>SZj?!Nx5Lyy=zdZ4i2>q|7di7MmKnD)-N>H zH4igO`pNu@;H}7qhXyOC$@%vZQ=!Kltz$vD|01DLE^IutL5UK|9{Mv=!P_OH*?Ce` zW_Ij}+wF06e@8#BmP)2=yiKgZ(`~ai`@ult&bbykhgScQeXMR9vxgP1OG}$Stq`7f z`f=C-W%kqF!qVc(^USSmXMDo>Bw*~{G62+8Feo}v!?PoMa4z*CGLw7eoZsA-apdmn zu9c3|mj1%rWaoixKJudMJT=XyKg=nuF85sbX}BDjZJk=YM%8laMNwyS55ha88Pmau zOQRc~X+181#dSZTWeB;V2dQ!A-E#CywWz;y$E29{KC2K5l}p`@Z_Mv(J1={-RYs>? z)46R5xgI@pWhJe3@KJh372UN|!=XuiIlH*+Gp45ow*wZ*sI&C%NZAK_{-kg9o&gV% z`0BCOx^2IC^L2;!EqhDnb96&Ze^QD)yzfj^>QDTE{_c#fd&o#L=tjcL(3-9&byg2r zQzL~P*P?d9zR9*(F#n?`;X-Kju_Jo=B2Pqzd0er%qczTk<^AwWv{oq(9H=~@aJ@GZo zHl-%{{!5_s0uQq){bHpMdX}71EN(nWYb^FV{+ar*KKVE`X+CVun$LFhj!Mbw3*Twl zd=^#lY1m@6_OhYV?5%jOaN}LWL25xWqF;6IMlx1+@AQ7pX3ai&>Yi8B>ob~}%Ck+y zadp3xP0xT^?itLp~Sy86Om>TYUDd3|Z{xMg+M;oeN9OQ3NV zQteNh>QrCfPfq6z7ajJ#b6hv&P-LV@Wpy0{%3%Ka&vLQNUu?R=Hl40}-)vU7?sOFv z#i(`f%pfgWijOnnlfeT=Ozm_p9-QJtXESC$Ik7h$y3OT}8;jxY(nRP%b8-g*h<@)VtGIeKnVGb&SSc1pjwe!$5_`uI3pzPU4r&4!P zqs^6x#Gdh8)5_v(YhPzu4(_);4lR~Hgv-~W&}x*{)t{UiT}LkqcHPWG@_xeOwCcPk zC4KrVapH2bi<6v>uLrMTU1GAvHs zeDjUvs0tL?^e0aU#yI)7)GHTax%c+WA>*v7d8EEkbiFyIjBodeQT8@lR>xdHWigoJ z&HJf!Pyc1_XGCAro)RzMK1z-yyH~Quz8_w&?&q#n?cX(?xh}76X_m)rAGEEVq}d*Q z@lR#EDhfY(k{ul_Z%j`1`^!G(#A57WVg1OUw%^?_dL^yS6et{i`kpsY9-B^{6&5GP zT1S$@r*f^b7v}SBJn!AP-C8Ks)H7EuUd-Hco4k6Rr*!y}Ezg=Sp$zP2Zq3$<3McXN z?$tyhQ%EK{Kkfvd<@ApEQSabEdCWK?Wlnb-^AqpP9&9Wt8_&yU#2h>A(U11R<)qJ- z|L7-C-Qx1jkz#RvVcFTbV;HmTw(T>M5M(NStq=T)W?`ljO>K)c*V``sy zJ2(CAYq6t>d0C~>XsW;5aculUHyZPl`r6En#=iX|xOjc4v!fjw9kuQbRFO#E?lvv@ zZ|4_vt55Sj0`@JHN0pCqgpii+JhJ-@le)t3!}v94>99DbocybsYuiSfL$CL4{_>N6 zDfhuqR8ulcF89Oc9phs5w*SEz!OA(S9$tkAu2;DakMx1W)`RDjxrGU(+7N8ICPG`q z3gJ0UhvYl{mpz-8CANYc*xzZhr)2f_v-z|*$ z?Bj2T z)>IZeO)idwBQd4xV!Kd4q0r$#PVp4OE5=qD|+ z%hc|>p05B(tk!8X5EHHRTIEJ>BQx@~3+0^g#t$`XX31)6{@wGF6272or%z7r?Qb<= zF5}#lD`1gKE}NZ!tVJ^pT8Wm z2!7fe>;P%Ay#X6d((8(sYUNDCW7RH>U;e?L|N9Htxry<4BZPq)$M>JU|Ki2-ho>9u z&7-rEot09=p`5t<`ggtw%Eq_GddIm$z0~ThgPy;=-m0%3-FyDBfBCAT>3r?2cmCwf zWOx38>f~+!m;aD8-Q3$d*>2a4?glOz2MNvO+?+b#1yuQDr-&PPYjgi#Yo(I#8fV^p z*Q$E$yQ(H3xs?rD{zw1YT8n`J+yNm2&mS15h$Z)RqdR$r#x zCm8b%3>}yUx9=PeUo@#o){8Zmz?TLqtGXMcYWo}6Bj$~$9~cD&^ zF<4&N+}U1h*I@o!`*GJ~4#w>lm)Tg6P&XH`v)07NmPaYoDC!GkAv z?%g>#7_2fXaDcU&bjpQ^t8+drK4(q`2q=1^(TIqRx;9#ATvF|ybh}(X z&P0iPvZ!5Kk&F74b?(ADUw=d4N&zO5L{-cxBEH$Nd`M|N+RRtV&GqWu`wtG^|JhN= zC0R@sEX7Er1^-Mlq&3gajo-R)?Z)V|(qQ)_&whHe(r;EO`=4#cl0KkVyij`9-SKLt z;F!94@zTvnh0fai6i$m5&%)^!8-!ZSIWzFf?5wu3L5pJi+Qp04r_}aPuHFMq9HxtY zt40VH9R&BUW=SoXXIvfAj1&-#3T&a^B|}81r{5yBAeO0uCUEc3!QtTS^HwQ=$B|ny zX_@XXyf%~6{@`tUcINWUOw()!jRlCpjf2}Ce%i0yEv2-Jqq;5JvWVx%XB!owtd3uJ zONS4Q_HKUcZA;2?>BcP}CdO1yX_O;5zzYYX{7xz0&s+nsSwE>&a;Pj?z-QAP>j|B+BorASXrMJ1UQprSYvt#dk^DjrP z{^_rK?|-zu(`!|Uw`pw-HoB!;F>w8z3*UbGwRhgV8UNtW5xBeJ z^%Z{h(%JmHkQT0!5gd#0P;YE*t#<^%lUY4GcJ;y!|4LERE4I6lATBBE|MaqQ#yncc z;Mq(JQD}Wnp%_!T!pR8Z!(r0Qjor9*ePqIt_Lfif_D=6Ux_|$@M+bYoN@M-F1L~Ml zH+o^jb@m?=J;OiWG$kd9hsO~P=`v9a;{d4 z76I9gcKhoq%~CR8S54ixbn)t#!t77i`-9^r_s&j_b~ie?^!|%Vz_`Tt@_EKatmSAv zQ}s=ZxC4>eYD4LTcB-1q`lU+S5H2~b6678LY4w1MfxRf7inxpz@cGs1)$5n9Umw3d zHNCL3Ow^t~n#sdO{D1wI&+d0{jVBDOkcs8?pZxff)M8-nidn+BAms37a^_2KegDF( z>1C5t{P1Um!kWe5a1fU3ixhXCzub@($8X*MSub>Gv!vcDT5oS@*V+d6X1-Mjqzmp^ z-ECy{kEAM{wE=2pd$U(BBy#Omvk>u*riESS(938pTBoErUEcO-spi?i{QX!*0JTZ& zh*#PxjZ!8Sbm|w!E{%r!HTUxDywd1lB3NU_IDj?g=~gmYX!JU@Y%Cxdm2(p#*DqhX zKCx`{6jzu8clUuO!hV1iA{FsE-Kt55Gl;CPXqOk}=H};SCPpq_vv*rWOBLH&$M>JT z`0&FQ&mNp^wdz0}wX3;^q#D2Y+V{ll%Jlkn?9L`QKF!|d?!gftSv#vBs_gD>_X(0W zD@NaXV@jo)8=(M`Do3Q;+daAW@Zp{PgL_Y&-alHaCcNx@U3>TSZ-4!3U;oYdZ z!N%Iw_TIq(Xj_}Boq93pwRz*EYAGE;eJw8lw1qiz_3~)+U}L4(S{)pm-n|bf*b!e>>_jb3`|_19nf!S{dg+S^wr)XwC}>fq?;B-`9Mz5C=n;If`SINM)`UZxlNu8b}MxLWJ)9G;$?ogD6N_L`+^oEZjMRh2>VcqGD9We6^> z5BHIBJMP%rZyxOJ95&0f)s4-AjY_fJ+ul9g-&t>$V)lj0-}~C1{_&su+1Gz~Wll2$r;3{*dClde(}lYpMU=8%l96h?$b=fJ-GA>b7q3t z;_7Q}z46AS8&iu~XR@-scXE0JC|9??Rto7&zIX{Rv2v%Abt>l+M36~P4CN~|U^7d3 zGV!rG(W#et)YSC+l1d|`s&VC*0=jRf@KDR-t1AchA3l9@a&+hZ!v}Xy_cyz>64=5H z)#TM1Gvg|=^M{sw&Jj{--2=^V2NOzy$5$6 zefaV-u;)Je=>2C;AKyEKl-6(4F3tc+dgbjOe)oHCj%(FQdvxO3vN6-G*Ed279?OzB z7D{ASAG8KP`gsmhZ;h!i=upp&UcdDEn@Y#L%I+lEO=#2Iy`8~EpCN_%z&AAmj!P5> ze^k89A4_EfxEi8Ld>8>XxZdZ%C0Iw@^+6iiN(uT%)e^b^^JZqr5(!R>ngVm*GD{PR zNFGQjf2L5_|NPm>;~#wjeBLL|9(GGsYr;7?>o)3CGjq#kcO+A)H&<3_HMSrKe2w{i zR>RWt^{ZF@;(JSPkNcHoFBF{~cq{r_dxwuc`Q#sev0ZvHh&f$24n~P_bGzM6vvPKP zY7t}`)ZOO6@yXF1>Y|#8R1f0X<+({vTgN9s&s)~cDI@t%8oVBsvc&rkv;#t5A~ooC zHoKKPRF|FA&Fx*J49vn>F&S`Kb$aEcY0b>y^z|S9hd;k|U3q={%IuUbxO4lX_rbk6 zLLN(T&Oo4H%>pA*>-L*_KYf7_9&05er%Ac2lZg7HJD+AK7H{Kz=_Wu z-Me$=u$7JXQcD`6-O5BXIdbC~sJj;~UK^R$IU@xir|vvp>2mkZ@lL;1Y#)?z8THcD zZ;h#caA9KMn%XS~W5`ZkawGylH-5;gcAuX$^II@gwgud61BgKpQR6eKRC*$Rymkpg ze_1(xbrzP;ThmHwAj=Zz+2fZ_-v8SlZQlOzX{UN{cI(>*C-)1>j-~613&H+cs}->8 z)Id_D%UIn<`}@b6jmFdTuG6 zt6S!-yrUrMHm9CjG6g)6odAdkq3`*yBbCeBTl@KR>4Um>@G|s zkJnb(2F#+^SXtjbe(>I>_a8lc_-KQG2||=2F_(Jk`nzww_QvaPy)_ohn3t0NWhv#* z1$*1|jrP`q5BJNZ<_d@0Af33(QySfzGTJ!WttGm>z;v?JSj5 z^Vi#cUD*IxyXv7Ci~n3-X9tJfknO7;#Q2*%|iAd261{nFgn$W?*Q zxuCQW6dhwPyHsuv0uS)z>c;lL@!9P&aBH_#+ZERANVi@&JE`)7gP!FZ7v6g3!sVM& z8fUEB?ys%&I-N>}%{GXl8_Y(%UXM3eO$e4ZTY&bB0b2=PA(6!4kejntl~OUkpuTc# zN~y7Fb;?DB&S-PGLy26u!64b#9AHwc_m2gGri3OOA{fYLSM>~~_+X9&Sf<>uNdGUWBzA6|YJl9PKzS?B4TkVc`!s$=v z8@CVg#r;ZUtCP*NcY2L}Z)3Hyx;rQ&{93EQ==QK5HF*u3^P3mdPH)uX1mMAH4i^iZ zjg7;@z0H+co}gn-I2&_I!CWYiFJ%a%0avrdT5(0--=@PZhfS?eOkbVQn-oUdyw+ti zF6xZS8tg{1Im|HIIb}t4b^_t^V11t&PUXPjWcAd&dxR*Pe2}kmkYCTUVzSFK% zC>EF0vWjtlr~&#J8@nNw2@tW7rXcCQNq^@$nA3hoyQfGxI8)QfVN* zJ6g$=Te~O6cOO0jM*Yt5!R~syT&d@a-Hc&&$*8h8v^s}&e&W{U*WVmjFrjA?$+*L6 zR?ZpXxe`RenQFb-Zf4@Wt&?@;wBEt)PQL>7CSjyV@sD5E`bb%d9uU}^hg)A17 zb)ryf_1AXJj&_bWSJ);CBEDdgppw}bGuXY+e1qko0B#qHcei@{=Df)X2ui>M&g12g zsU?f#^tp{zj}+?fbo(1y+k?S23p(sM5XDmUt(|(@Z`5!mp*6#V4Kl6`15*yYLI{Wp z$u~E)HvkF*0d~+Memx3^ie_?hd=8gegc9+lLCTJMQvQ!%D2hwUtlL=sB-2xq=m;FH1 z5?!~f1zcB3m+Q54)|dxJ+iUA9jYhj!Z!*-o0L`)R637WGN|)4tg(CaPX~hCo#N@1E zZerf(48}{%CI(sO`2N|wPk-`c3vzf+%&P*qo>w*Lr{y6kxy7Du7CjdhP6u5jO3Cc?E37 z%WOi(GTRj4M7a`Y8Rt*3s>N*H92}xqwl+b0?yXWZV2D&pleYl12Lje?(JWiwbt7Dy zNu}BA2zvxDYLI=g`oaCcwnI3aSO8R33x2K9Do}C>C{43OUs>Pmw>oQkM@Ik#?`*BE za5wa=j0HOoK9jfD$GCLy-K*mmw9w0-_e4}yDp#y_);7TwW|_1N0DYT#P_Zxu+R-v* zu@(jJ8GZtezl;u_+Z)MNyX!j#M@NTy_$yU_j4sz&T~u#xrI9C;JQ@IDWPX13+Qmzk z-o1GF!s|Dejc$%?!jW_+kdEhz1;%az@$RiuGxd#)R=wS**4W9XtIC;FJ|7COZ6vvE z>Lmqc#VnA?N~KyO8wysNAYEwm+0MTA`2Ova1D;Kv8F2bi?&&c;f;oCWvPhb~2v>Opcel8O zz?$d~5VT8~To%Sovs$S#+U(-9Q3-HNyYI^mHdzei)TTYzGWGG@vg+LhZaLa);e zTCK#iOSmoozj;<&)lx3%ciU`w#mwY1D&gi;IK!57Mmv(h#?9bhm;JG|&BL8`tx?VA zQ-vJEM7yA|JDiaWi-{7D5BWM4XNlmgc)|Sd)-zogW1h#v*#uvTZ|kN!);lavu~*sCxg zu#RVW-|Hi*)oQZ`0(P@h%toA)+oDG&j$XZXZE|jGMz=Jtbcg^w!sJ0+?lC4gYXMdp zEFS{d0zu*+35XStB8A$@+J*p;?tq*PoWQkzAu z2h6ZgTiXV=o+*&QP8gwxEyFD`F3fYUn|&aQ0i%KdbAl%W!0!uN7pelk2$fD@hBmwF zgRRZM-r>o~5kqi=lb%#85de;T3CwF5I3 zTTvXLfb&9NB=AP;bm`P8K+MfBkobwt&4FFU+Pfj{!O~gd)CF1twv)uUi&dx^wMxS# z;Ntx3^yK)&?BcT8=m69Xu&`2lV`uk}*_rPEg&c0Fhayb6n+S%PdKHY0`M3#*D zOd7?)JR(cuj!n-fmV~+nQyt*-P^?(5lrfoD=+r7epa`H833mYzoR(mXzp>4%T~G@yN4%&(}o>ldahN@ z!mb!}Tj1XSWPf5oV+8j;l1gNneWpQhfZL5W3qWwlGE9|u00!7w@whnxFzFc@N}WMx zq3bwR1jr#%MZx#kHSM&!omv?-DG?MC@i@dxs6pz$cXc@6M~10W65FQiIi}#NZ8kfs zrr2E>Y_4@#)8zoO6*2IPMCR{kh~cf(>P*k|v%*2I{M$#B5U(SlwB#x9c<@E^1clfTWP zW4_nvj6nY7O4WLaJtXu$!Vf0|(C%IKQ&T7lz%an;g7+1KPSD<1%sW}<0#Q}2RGM9y z9z86=@WJA6FxBdS_E#^=&MOpZlN;C(a4EplYjjq+O}6}ZSbCiu0~Wj1=J+q^x101V za%N`4VTEFTP6;PDTu2f)QAvoG*i7&tVIr7Z0JCJvH6ZW@8-tyVb}>#Ex&H(cRu{+7USOgxid%dxV^F|XynG&bK zK(;xoMh%-()3b95mDYfpgT;Incbv5iIN zcQ8x=yDTPyE(kF!oQ^Lp3Hyl+J<%b+WWbt$F;K0wTJR>1gt=_1C+sT#- z@D>~)J79!#VQPy>2WBYXE!Y)=lSH6rIcNokCy1v$IK51G>@r8GR5(%WY#;6nHhV2Z zlHH~k3u*kJP-3se_6vp1f>GOD+lEr0;SJ~zu$7N(3?Nn$<4Uv5~D zk|2`^h#ilIozxhUV;LN?RvQaUFpd<<^$sZht1O0?=JL6i+k%lfH#0RZNWI3V<`fz; z$_D06zd%{TnG3RsDCm?c>(F9sZZg5M@x8vju>*V9?sgCQhGHu0w&;}eqgO7&6LS65 zwF~cFom5I;R7I&Fs5fB0>B^6;G1$sU78+PKVIO-J8m&fyN2er#MHS9+5&o@mv(HL! zeH}vs!YD>gOt65!dZNaG0Oq9`7LA;_+JbrJ-?Q8M0~jKNX$C|chl@T;Ak-mxO5BFc zFPKvd_}3&0WwgZlV6fJurL&y45Lb_Rz?qbYp#b+$XlNE|8k5;*G;t(_n*zbGezr5J zEt(t^w!XF>yPf$`-TD66azLPG+(78nD9%vZ|0ptz`DIdRT#iPu1vm zTUcA=beO}=Mdn`vk7CCy7)jSTuHagy*UZNlJ8UA_MIAB~VKsM4$RE(AVHQhb!~rju zD_63K5JW3}uY~?ZM`8cDnVs1B#(}h4%#|A8FQfbcq~m0cZuCS8aNxA786gc2n{yP8 zbCu8`%oBPIs>LQb9Sn(h8lBi=rl71CGkHPcWQM;D)0}0C-puF;r7C??NxKZ2Pz4q% z0G!zW2C^v_M*ZXbh@!Kx=Fg#ia4r)O>ugHVxg0I9<(WyKxFme41gHeqKyr9H2oo4= zNnpAJAPX#3+{*EFK8HsKW)!$QK&uGUEQFj`3x=u9F1b01i9#wN7H!#Lty0Cb=SG30 zAfQm#D+4zrE4E&%OxCqBN0SiL^J1vCR~SFQm&aMsrP(b8<+g%wra<9B2@4uK2{S<8Jqn}>Jp8a~Lm*eW+yb~K zz=#xpH^2h~d;%K}t$?lu0f+VxSPwuvfLBM;cd_=mfLybYKn{G#ZXxC2i~;{2K8j&a z$77ob?jPB>Wt8#(AuwT1GNIEtn3AY+P%MDT>#VKzx~$Szhts31n6jn1*l(zp#r`wK zkmw`I#z_nKGaeT^ybvRS@X3mjdWpizFhXo9vxUIYiTR&H4@hhB0zpi`4X~JJq%eY9 z7}?@nFP$rvnBxT!6@*t#7yAbR4>JeWh7WD;NBVHc$%x%V=5cCIERVJhS z2xKaGSWy6uNq{^7bPz=cHlSO~N#dkPWI;B#-IXFh@PcTvlBuSl0c+m zA|!5&K`BW>>v5aQjX2>Kf?RUoifKTW6rSAt2mofKD2#xupeLyf4ZxqYq}*U)7l>=( zB||z5L*Ya#(9$Bg01shuV^@o#TwaVqN`S7An?uNh+$}?~5;BD>Ang=g$eip;MoIx- zMKd#f471`lOFQ0Vs2tHLpgOb9FE0n>Qy=72euiiyxeTOa;VkOToua~W=13z#l!2p+ zR-{_us(@J{;!j{Hpa*4*Dz~X9GL0?@&kI$-7NqD)YQX1V%|+GZ*D%mmR*K@9D1sP2 z6i4Ju5;{qKiB^?`;MEu6H(!vSTy*hvp107_UwR3Z`{kPu9dWDt`l3L?Jjh`9R4($z z@byKmzxspt#lQH<@BQBY@UQ>%@BZ%Z{?70G_HY08zxu7;`mNvm&40=3zvuNEzwsOY z9j|}E>%Zmo--wqS$JqSNSH2>;?AKnANCv?aMFbu|0NSB^K?Ma?l2Qody$EP|plGLlS$0Z;_z zjoD5B6oRLSUIn7ak2(ko=@G0U0tpdFUo>I_#L-Zixh#Y#4g=krNdf_jiwacHpiO6T zSW3YBaWmlPl!om+H|tF_ir>vbBH#k9N#3{GX5V ziIFPgjaeF)KS(T70We0XoG;8&Kurb69!Rx5lpMf=kz^8u3h!e!;Y#Ar8s<-m3Yvc+ z1dgE4Nr3p#BtdTkq+O8Q1MJT*3qdpGhY7Y)iI%j6e;t%LCN1 z(~Auao#n{1nh~ z7#CRa0ib+Y5f>49Um{H>aaR&%E|xcJgtJ`mB29E%I0v{Z*wgt)iqqXHCq}sveFore zC?!A(nU$e#b+L_wS#ARh9QRq&yuc=9swy_JhqsA`B$JfW%^fuE$~0 zvokC9;_a+{q5%LO{8#qT( zfo|=SqLSC{w%I)zkf3dn$qJl1o1U>~oxS{et+7$56uX?Y#p;7!M&2g?6jk-rnBqZ1&gcn`N908(<)ZtwGb0*)eN2DBWtSRi(FE z7%6UVIuOXjIdd(ouT<7cU@k-03r7Oyl*u57#sRQwAz09>w96*Wy|o4m3dRC2P|{D;)~eqCy4Nqs0mmaXj6q^(zfn zb=THfD_y+HVT>%KN(IIv^Q_xzv01gaG%W)b>ytc@O0JTKq;sGJd%*Ng_=*sgWH7Aj zZB|n0P!8{GI|#{G6QE`1A|MHKh?B^Jc#Oy2RtBo@^-xxBDjjRQ84OAr^B$iq;Y9whZM9jLWA)yi=;vkD{l4T zjLG3ciCT3o6E-hzp1liZKn^4W8PM_p;l&VzJ0zBk+QIyl+{_|q zX@K?7Rm=V1p+wkl~6ucO~qt-k$frDgmI__)=((p ziVJ|#m_O=d{}NA5o6!=rw)o%yQ4lr zSD-5bZQ2!KnG~s~e2JXT6-J|asarB`3T9kZi#`YpKchTu3C0=e>_Ub^4hj=?%ew^*B9D>@h(F5UBAPy`k z*xY`25u*SdGtcMBECnGFD6!}P=Bu=!z^g~J!a5{073Q@smx|DJw z*6h6J<3*g>B|^nU8upZWzFDp(Tk&Qk67H4?)^NZUv}sH#*v-|hIe5|8 z9JDwkD~6(&%2P@9q}U}(r;4kUQljEZ=5xWSDRRu_Iv* z7#(INa}LwcWYCrnM+A)l=Z~d&p69;|ZUinF?(7(^k5 zFX!>3eP&j~Rzo`O0t40NZ-k*gaO9C)aLsK?lELmrgrEi}=hryNINk29)*4}VB<^?k zi5C^h8-V5rS~BHM#ci5pwPG2rNQ0U+EBm|UN~c(CRRPTn+agvt1no>8hCsZsQmaE2 zez?20)!f>srQzTR`chs;01^n3$BU(H_t@-4T+ofIpPfc_JMo$Dg0Rc-5JSxCN;)#J zLXtD-dcE4n#w*mv9n6J2tX<0`Vkhe5Rt?N=j;R=I&_jr9(-s|6Bn}HRv)vtGXWUC8 z`IDTbdkk>pn*B!fgwYS;dn!r{SC^CHRrWC3jy3zNZ_9W|WD}fv1@sC4jlFIZCHfjN)pP_*{|sa;5Vi!7 zB`zerF@GRd%X6ZcsI}6yCX73&c*s%Axb$9^mrXLKi49_}C6>>^p-`$6f@w$^oXJu# zz<#GwLx4uS#9^D&n{CDX@W3SUB^DguLgS(o%|x~Sc!u3xl{Z)@vx;NB1X?=k4|Vdv zl#4ZKG#&IslkSwCgCtfrGDigX_Jwl15K6PH&}}6MrJeLM183QfE!9Gm<4V*{Pn?DG07?ddnXUzIDYoHn^j5>>;=;WygjN_U%m+- zSt4!?MM{3Frwma5aO@!mPAE0D4FLAcmU3yoKduWz98e@=%K;<1TJdB(QLkl*_X{`T zg;q5VTcq%_atC7hn49dY1Br89WO_vUJbdU+m`ZTm0`}| zq$NSPn@qEEa5ox}JXta~Luk-gFI02*<>fr7TuHFQ1rwZaNKspW&??M(Ok}q5+|0n4 zjF-Wl-)1g%r=qSX!Bb^;L-M7PuUd$-19evK0RmL3xS?cncHrVcz-MpB;55J};dVq_ zPNT)-Ncp@e59FChNi2}h!T9A*X1w00Kh<)ZG+uMi7&5zgy29kr;xLzTS%X;%K>7^N zxGCg^wbY7@pRHIWz-3)N*zI6$$VBTEkh3EZM=)K|DG`W>FB@=W>dBxDO#eV6lZ5KI zl8sd3DSINuQGXdWn20yo2-+c9mTb+GC(v#SPU1?mR&B-08>tA4lhJsdgY$fkm@==Q zgQ|40#In&4O|Wdj)h7k(l{4AQyK2>Vz#FfmnR7qJBVunn_=fGl6h17wHfb87OknRBUG?pI0h(B-NsYJ==vzgTGP8x(sgW%6VAB z@69k+LQ4*I^cv-y)0U3)axOE$-?4z(rIG;j&IC&yjn9dch?)W2u7egj3%Nl zb^Zi&Okod$kF}Z=<>{1QadfEkew#lN3S?6LQmGoX`e2g5W881au0$YUc60}fR$*PZ zG}$V_=ProlvMx7=LaAPlj?G5A4W_wdE7gDtJI$GYwCb(l5{>h)gSB|X;66!sy$bb0OiH+E zJ-AcY>k4LAEOLruB)(FRUB#lgiaXE^R9PmJyP0w=0F00$q|x7+QH87?o!cHW2Gg_Q zS|?L3X7Ym?LAZGSt{iV*=q3uzt<8_mW_6Mm*t+~JuTHC~@xFwIXH3`;tTKJG7;gN0~27hP}d6ry?7yWXVM z6EmoTCWCL;T zLY0c@}QPuAC>6)$115rX1mIxW#wLRCkNr) zN^v#1b(V)+xa_kUG4C_hJ7KFcV{K>J8BZ%&F7G7EM;T9Ys}v0z%#l_<*o79*QwX|Z znG_4y9yF}z<6bw}XtDOlrMs)C+;%`8kC^k(Vl@;Q0noV6v|u6`mA-z>SBScItvlwUEtu`RePF6$uepP-Zo~ zfUDwErR&)ZX137XNQwA@YAL?c3?@s$Hxn3?=30o@o?DA+*0*EtET#?i8*a5f1n0U2JJhzd^)Px` z`uxNFqs=5d!|OSF#Ks;=RQ zW6U?h<9hWw_V2wr5^y*#y&JfBeQZ<}eLEVqIZECqinYDn^~0Szt+wRZR?U`_g{*em(yDEYOwm^Oy0ax-j{} zMXy2Kk>+F3kvC`GzOoqk#ya6+dBR5gS)B24|iXr_Wtp&^W9*RGhSOE zd?Pxg38?0*?!{Z*wg%t$OXcjv*P13NoNcByKYjT(k30K+`}aS8nXCWe*=G5#f3o}N z^r*MGsx`$k-_RQ`=px2%ej_sRO{das2)G+wqZEAi&7kw9@uoLEXI$T&?`HNkw3&~Z z_>u%~3rvtoe3&hn>u{U?XT+okYco9(`*tp;1sf#AySaoqZK`-7OYQtKSpCc<&uh;!UqRPP>T z7C>>v)_Ag48^~IyvmV5l^_VmWU zx3KCgo&}OF)s1j+CDryCotnLk?GdAtk%G1C)e+ORa`F!^Y!{4)gbP;A(?L7eE8LOv ztKN9xQqUC4yRQ2aC&$t9>asp`x}^^)UVA+=?c8xDi2uzx{^7;id%MV_*RlDnOS$Zb zJ7gMNvVPBQv5yzb?p@dFAg!H9h6Ybp8j^jv2?j!Nrx>w)^yq_+f429_gO&b%=K-OP z{`tANTibbJ{l0(0quV>YSuutT-(uxs-v0QV`6}O)n z_EUx>eZ4wv*UqK&mX>CObBsl;cT$t;g=}fB6xV8!>j%$5Wp`u6?CYPQV6E!O`Qo6O zh?h01zUwO8J2SP~Ui;llw`3pNi)f6k4eL{@$LxFhKAF(~G zxe`5TM7e68Djz1zq3t#QVM+>You1sTZ}yY>pPoKXWN#m?5QUnw?GN0htUC77y(Lel zQ!el6qR}7E+iQn$T`!{D4r(1`&$K5zn;Il7j_dkGI8{$9(f^OF_k5CUKkxf)SugC8 z#Uf=}q~$7?r7FA3B1MV>L>2-8k^pYbn`U<>$DYpVbf42FpYC%`pU$~^a@g6O&3kje z1ug&r0!f$<1xpsIY`^k<;?L7dy^!T8;MTpnGd(B#e$Vd--;m9`^WDj1JN|ZkXLD40 ztKD18$Gq55+E$z4pS}C;x2~%7#>=^HXC~@Sa<}20j!M@%N5-cA${Snz!+gwGe)o1S zvv95Yb}VHmYkFcUwbLo+OGCWN&9h;#)c$d2zi_*Ge%e31ywl8F{_69S2X}_{-#v8h z{Pl;i<0tRAY5j@0OR*C89oyQwAB|5a=9Q#52-e*GlO4CZ|50|kKU4aj`u>CAy<)2x zhOwtVZk{!IKYaS=ti1og8Q+Pc-(bbAE?Dp1+xpfwO1}A^e*2AbHE$jMi;VHTQubl_ zYu2*vPdcUU%hwk5hVGhMue^NrVK4fV@1>t!*?bZed(QGgeAckTm#-}>cl@0j<=bnC z>+keq*Q}*4KCG@)W4oOPv6~D6?zuacXGuLw?fm3@>x0}|gD0I>WvMebFC=f?9MPir zla=D*T6r*z5J^SR#QO>+woPPTL-lV?cheJj4KWxsb#%Gn~w^EnK zPIuh)GmTv@NM<|dW-j)M*)FW4Gwqz;-BprR?WogpaUMl)Zo5&v8}&9@KmL9%m=r$< z^dq}piRHA;cy^TE*lbj{jMo?I3wrrB(2>^KcNwANy(1N^fzk4|cJhM`+5P0ngXVVZ zVq&I@y0P!LEt)cKcQ$V)rq1MeczhQ6UAwK|;}`5KC$&}P?Az`&;}J8>2ye7PHFMz_ z$%m({VlTe1Cxg-A!6V3Q@vSNsdH31zw4l`X9yr^xU*12yUFc+#jnsXkaXov0W#H;7 z@3tR?E33uMiJDH_84b(9-pm}VXK2$tp&RLU_La&zPN3(eeSNtQVo<&mj}MwiUAc{E zG%l`Jb`3q4ZF|M7E!E$;y^>8}^IUd|^!D==d=V96+9~SzUzPEV-Cfhxa$cvA8`>+^ z)X*x|N9~H?cbrr{Ss$0(c2UdSa`%h|`TTyu2V1GFG(IL? zF^7Y>N4Xg409~t7I=ChV=bhHUVRaIX?LPd`lU{u^t-(ZXg#o2TrCRG5r(Ty%{h~X- z8a2=|c600=oODg*Fyn`|nH}D}m=0;E8s)S<>eY;_UUVBagQRo}Lpj4x{PL`_7uca52kAtq2^c3ZCvdd2rc&6Q*kcA(@Z^~Lt6ig1 z9ktBv$%$R=wLE*D$ApzqV_k2RT9FZjJsLihOic|sw!-MaN*hhkr69uaeBZm-uXLIX; z<{Rd;i&;y)Iu7veQmP83=ryP0TV^wtuPUkfuu&}gBeHd)-Oj*s>RAS@21Ci2{jibA zcj{)!vv8ZoX;zK9lf>L)hK{u)f)(8-EOS6leIur`#m$scX(k=|$TChK}u!l5w z>8(0b5WIgqow-C|rmm#wDot-7?^DZen%gDp|6HXyQVoCF3CAYVGjvFi*z&a^VnEn$ zV?nH{exo)6x=?9g6Ni7Q9jTd$mhkLjP; zD(RwamjUXi^j+0zxvB+VW1P0?wL`Z$#gbL64#u?k!+I}j6hNub*dAi)>3T&ynwXi| z1jo*r-3I?4gG|kG)lvgtQC(rQ7S_sYv#rwu*(o}i9R9cIny2L|tzsIjwNeSBS1w}L5CjB6 zXZqk4ME^T2RCU93A?pUSjX(y?}LY;1V+9`uW*E>?XVwK@h#Vjy00`% zT=w|)X1kWlRw65(_J)3;;P?Pr86i|lbh^uoetpw!4tPZb;eE+mHR@z_ zV?d-RDUBBG6ZB3~IUs0itRxt*wAsSjkgJDrPwA)u`3`i;XZ+b7`n)ip8%AZ)r_$A$ zH1;&B)pW7URm*h;i|f$uSJFX?nN9(-(_F@=Td_Q_U#&zltXyffK^z)(6?mIoGs<1x z7b-uUV=oWbBv13X3_zw?=o|!w3ACO*dZq5@mE3>W z6u2}*+R%4H(^Ol`Z!G-S4W`jbxz3PVuOurpJhHeV8_q0~QK8NjPTyi>^dg91Se{yu(P?{-*(-&x!B5m1PP0}uIyicFZAEcu^)j(?=+OraCRB|u z*9VVF*2HVxri-25QfQ|*)$t}|;MU^ZQ z9n*r=SgSI?thF4RT-zQUz9KJ;*_@WPEG4q7j$awI4ZRu-8OT_wQ|bX8(CgFYKnLu` zXuXtVo zjGnEOM{XBSR*iRKihFw*EAX&hh8YlRM}5Zm5$z;;dfh>z4ODR33BgNL;ox{tZIEvG zZ6Jwi(Ciq^3eM(C2a*LGU(II11vi0TFRuWifQi&o*R59zOnkgawOlYgteuS}a8J_) z!qe$s6wjo^95k>Fb|G%tYCEqnsw#$drP@fiu}0hNzz(X~(2={?&uf0cthXFgW>UO6e30f&A`&xNSlNk-9 z9-pap*>v?<+3PmO%2pv%n%m%2SPZR3`Ir$%ohV#Tqo%W)HR(@sfdFXAo~N{#iH1&T zoKnZ_irFbmY;7>84a{ih(v_+=1NaZM-AHAxw{|+IidD4}6{k{LO&i_a<~Hvs;nlr# z5UG9DiPDT8)E4BlQOjW}T|D-OZfKkzxHNY8ykiv zT~ScOD>jt|2Z7gATfGUh@U!Or#6u1YO)n%)tWJ&*irUiC&L-Mmi`H&QF;m%`msfCW zO%S=JEz2HzoVdfWH}j?~sEjipf7o#67)1t!QhqsM=QDcISGP&W>Lq%Z{5p=-R#OKB zX61(K?F0npM$#!XJNqOujp@ZSyx&5H07VzjFl{rLEtZn&@5WY^-i*Jqx)9$nWB8VL ztntz1`NPAHPCvT8_xZt*M`5z1F4-H2SC`+;-+c4hN+Q0TEu#BEe>`mLA6^_EeQ^Bv zS@+q={%k-tTr5UjDpNy8ZecsFY}4b#Aw0XJ6l=9i>%1|Hywi)Qd4FPTwhcQn_4-7Z52wZ@s;c5 zt>u;0O+9l^2y3G+A3d9V^8WGrv;C)cR7ZPx<;quHer@qvS6}+xqII>|nLXG$Km6Yx zfB#pX{QQG2yl2S*zUOZhmS0?7FyGlv*>TXbBm4f7qx0!mcpi4H(cR3XHskAY`&RJn z(!2g{GOiqLZCQ$3=FR*o|NL9u{L26O z2fz2#*RQ^o^PJq}v%h)v`2YU9U;gkveEEyX)9Is&(%Uf|IEMh{{CKcK>|F?C-mBK^3~gKCw8yLE9)KS*5T5*lWD4x>Ph9y)XoTlqo-={ z)NC0kZ?&T5Urz3p*OCyXFV8xthyA4S%i|w?F&jS_)jMZ-i^E=$0`T8S0%d+LE%d2B@|2kj3#_wM+;!QNBvqp|UL*BTveM$UyEtt1~zdPl(z z-1GLykHXRCkDncUWIXOPPkg{-dRIMsy&Jn5ESz)!PPd2F{XzA-UOl=Wmh@Ws&`H%p zy*S7f_iya%nOA~n>!qdS?d4SJ*1uXz|Mqs;daY1-Q8Qxu)?)E)zJIp8(;4np!c3If z^tvmzgYMwf+qV+dR%!9w<=vIt;?)<;ptWE|N%t?#)sw(`_|Zq^?1vwJ<~9G#-G_hE z{VV&R(mG`)?@S7}|HZYm%jDV_Y&S}x$w#Hr10#cU;N}R{*Nz5mq(AzPo7y% z`hHs3eEa6B*S@pxy>(?FWp|o)?>&9+m%sY>>A(McdT@E#9&CBJMlMlEWZ!u=xt-j) zxqd}YC(=dJthSX}_{oD$e)OZ0FTZ@)INbB6j*F}zH(#X#c#g&1~`S~mEE_k_MK6Y!1ckt2}JB} zw5{Zw%~Q8$#7g|Xrjm5I*(57-ueDdKYuu&Po?-FGv5ka=1e;szy0o& zw{~u7x0>B1u-C@%cyjpY`0$567#}}9JKVP+vNnQtsn=t0Zm;dEeEsI1U3>fGgY*06KmOl-`h)lW^0R8MldI--H(`)1t}QJ8=^y{jAARLte(M|Gcs;0 z|MNGmUs;Z4H7%%&&JNp;r;qlIKR-M}!S7*obaXywPTS>td29W(g;#F>;kB1uTYhzE zV{08H0~{yJY`r^iX0s>vzCS!W?T&|cPV8g*0955pc-7sB=NHSV<@n;l=JoAND!rU5 z>@>_2Q^k|LNo%it)|}1G{lV;@)33GmJDp*@4$QA#uXxE^KAS4W3USj+O-eOyu=niX z&a@psg$wBwS(6E>@Wa8-gjKe=R=8~^pojI2PiF^b`)3D@UL)7cc{#uwR(oJ`G*q>? z8dIHOB1V2&uN@x_PTS34cMo)8si>(`-YFTrox-a&80uMCIbOt*8o)2h_$QQ!@F`v;eom;H-&FY?>KuWk*o9;!mU7}dyV-mkaSg>R?V&5R z_u$Th`|o}B>CZm-=`a56zx&nS{_WrX)!+X0zkct%_of#hPnen7$$08Uc6s%scivol z`}#{)-dbE&Hj}$aC5YScxU#ac@y<%(jT`U0@y^0K*Ir(GGya`-UwrwcTQ_fCeRpB` zMs6cs2&u9{W9SlSfoPs~rU?J|`5;MBh}u!DezN!A;__s4|M-w;QTuFqd49e>yL@_l zbUu98eM)1o5gb>K-1plbOi!Nm_s{C5z1bN^qFN;i+V$>`(##69M%nU7RPDe7I13oL zQ*T-WJ7NY7fgFr4(9W6wv6TGsu9{Sl>sa2*zMNV}ZLi;4e+#M9?aW$yc^&=3WHzyr zDaR?&sV?%V0LoiHC0cgMJGE39yOqsYK8M1{>-oiG0-R!oYPMR>w#%&(eFTDL&)@IQ zrj4mH93F(N$f~=i?q1Z@&8iw|4eETb%h518Kb@Q&9Uq>LPui2lw2ih%6?$5aqXJ4w zr`NtaJsljI@ZknB8tz6JEMPP>SpumYYVl5{MFMNj04w^<@nPqpdpxdp4RaD6bt#zq z28^jv&qAR=6OxmjxRp&VmDBN3s*qYyj65Z9MQTT?CNs?GQDs;M-kYgZjak?OZXMSu z39Xb}OW(-ex_xbNb>-UD+v*Nv(-Op>$nJIa4!RGHA5He7y><&KQ&B5Jj0Vx0%jeg3 zcTyWWYsyZ#5U(a$M$S|8WZ9?#?04E$we9w5C@{J1NUt}HsokmIBh-cpKW@%yuo2sC zH1ZJ#^IEQls0qxpFl>!m^=Q;I%lV*kLm&IPb3slDM44P;Q+w_!*4N!KpCxfEPrYSq1(3`gIl(nKkeS|ou0(oSo z1n4(biGxDS74ZuJ7+5Hh3C9)c0`V~~8A*jYgm#we6m+9X$w0T%27XYZ;MN^gz-)lU zrO43APRht3*jUbk_y%yVv;1pb&j-We1L}es&||tt)M-ti^G2X$+Z4vA05ezWsD)Bi zr}akz45#ye?qf}9aQTh_J*(|h>t44*kI3}uH1xzt8r&4XzyRqv9TY4;chyA~siJ#A z{R3T7qZgIR-3`svD)0+bJ#WBOfUsb| ziJ=EzWu2YzZk2Kr!7QH>|PrJpw04Gm3-OB|U{`x?uNk)KK$z7A_;M&vNn0B|kG zCA=e^6SO8Pple`)cxDRVX!yya%>Z?VMlu{9kFJz$0HZ>Nk5{i%!Sew>EPE>4b-ph& zeJH@vbfH@VP)xp)rvc|eL?YZA{74gLA5A(=EH9zJg?uhAnd1rqCO3^15`X8Fbj>Jx zoEkiBNK-VV12k!>q)>IjfG}j_q1miS!!rfl?6qm;S3{3q-oU@ZsW`&=LlcY<28Sq} z9v8GGTLxeck632}qnA-80OkrB1J+Hm7RhRbrbcHK>W{GH=qtgRu^>lPVOsOFF+9f{ zfX%{-gT=$zgn3Q_380@mUkh?4V0b>0cSs)$u9fOlh^ndzlL1nfP2mfdxt^tWlc!du87*+uWJ#5n&X8_DIo-E-V@&ilKjCk~>F!fkf zLeGOlM^D}70)(K+Pgy=U&qE>cWk>Nq*|K!Q=W8FyhKj5&o@Wrz>gD0qkZ|GAI0h#S zWGMcP1zR<1P(65wM$KcXv%mNOVPt^>KIG!irEH_8H@ z6OD-icEGmebu-Lh(cnS@r_B=1l^t;GGDPG`i6?aFJ^043u>j=F$*r)m==k%(h;qDt z`2h*ZJQbT#n$^PnI6%Zr{x9p0XUK6LAwK32Ny{FxDnv$$83h+n<1@JgA`9<}t>D!; zJXom0*MvML0!ly_Id2X533`B9jZUBgg&jUe+2w-aR>jcp;>H$++64YX76iZn@silyQuI?_z zb1R9>tz0hVH1XkSg-5$H{j6GKx_vNlqox%c!HufA1Eo$=_qMXqUG-}RcXuCu3%mR`rL*>Eblka~q z{PfdD$j@6uBUg?$v^zFV(Gi1?RV6er4x%uH`?5C%yJD47QaW=>| zp4rAuDeDZ}{?Gri`XjfO|K578^hz_PS86}b+9SfSvbFGMZ`|6}Hjf4mf{kW3HS_=U z-kY)XwOV2{ywmPp0>fM!94zg;xcs%n-OR?0_phQ?uOxr##&4&u{&{lmTD711sP$fL z@AA0kcP8d(CwOppP#-_^ro}}pgkJQJI#m5kM%rX4J72H1j}WvRj*LP3Xj*M(cg@q# zs)nb2nMQhc9aXbD7w#WH$z{f2=J$imYig&x!sGy?wHh^ z&MaT=zl_S=+InmSJ?G+K^vdSu8|&&~;(F0m0)0|vkTh7$mTvC4w-*yvf-B+LR{feZ1`Rhg)Q0JLH-6D|qSRoAVz7!gY9diw zj$K`tgS!?%!$FmaeaU{kv~}>rZcIwq9RR zN?(cJeD!cW=*EJ(wZ;R>edwN~{X3c1ouy=?ZzilL-I>&tv2jmr0@2sX4JDmQmTzC# zcro>2GV!N3maPSZDV`q8F5iFn(ZjzvKc79>_rgON&{TFIH&@E(wR+H5Bh@dQID_i6 z@5R;@tX<1_^x@^fgNL7;4yGqhx+gz4?>+3d9vteu;-R9oIv3*)6Qx_zn_J;hP_{3% zgUXM?%g-S@2F0uC1%xrZ;;fjzRVi^y%!=`nxjd;1s?Q#N@%|6>{k?}sg{>v8EhXR3 z&@N0l-;2NU#@GLso0dNvi)T277USPLB5v_x0)O;#Xh&`tScw@BZG>_3gn*?Oxe@^!bCce|z^=&;Fl-pMCb1 zpZ)m358iVjdS=&lEq}qvwS(7c>sPnp_F?yd)4dxV-2He|JJxdtT2&zo@AR^(X=~%q ziAMVm701q2JNDU~r)V`!heuu|c~Faaapg+wdU}EAw7yXI+Typ9n>*u`wV8hlag~+V zU;Fx7e`MX<*|@gFyz3O4!Ik1$3om89)BodX$(_tf_r2y2>`pK$cXoX3<=psYDO$eY zy?fSrf4Dz8eSH7CcW3r2(GDiV%b-5ww8p(8ax;z&Ca6o&*+>Pc_OjM;wvQN542BQt zM~!T;Ka8T!dLKU=@0$;Ld+j?t7iCx7-rh8lEu{hHx}P5I*PQpP{zX_nnjCn|gUhqY zS>qlxW+mM=C+dC;8b!KR>6FXu?KORCbF02u$mZ8xOMPo|=glh{@mFrI?kpoe!bEs8 ztJe3K+8Z^4y%u4naYP^+dFUj+Ct)$mT zPY=6?cR$>xdvNdY{N&{L0%1;=DsCyL{gT zYZZKT$g zPyuL+{alnTCqw+8Ry=Jzohubei?MQP=i1Wh>aCTntql5Pj!_85!*&&D|BP+}*|G0v z7R3vUy?h)ije<2e;(Tq7PxtpGXCHt6|NQyqKmEZc51)Sc`3IMee)_?WPwrgazbhR8 zNd3&0dx&w4-Dz#8R!5_=S?9FX7>DENV0ttO_j+2|ad(`pQqb|j?kw{sh*Th~*!QK_j7 zCsBQW)Hgb3wmod0{p7<(Pk;Ksr=L7{|KS&({`fPbjNkwKz5U~pahvYt>hq~$k1z0{p`|v3Wl6^@L@xzjIMf$4s%;8>Q*luC5)D2LbOSY+mMG<7x0Yh7$$ZSm z5ef*yw0C$ivE4&BBX&OQH)>cTboO0q&&JTCnMDI`)SY-Iz4McM4`;o-mbbLDv%bEv zmeR?QTP`wYD{&Mm6Wi+xZ=%J`s>)d@JDpB0?xr@^5@MHEDdFaD8w<$SzWd7CZ@&BD zB3f7g7HC+61FhZMJD(zixZkAi)oF#)+hmvYkkDM9J|hjT#+^d3%LqfsR+5%C7@S@< zCg)F{onJss8DHExJZgj$$4FI6v!m(W(dE4-kDgsj?i?TX?_EB;b2h$s^xox1Up#pB z$whCn-@5ql+3|aiPaloy>YP?b`J#ufBHmJFl-JJf5X#*BLOJKxohF4H`$MM~_bL zjt?J99^E;*^WCteA57+&NAAa=NkAC!%AN=t1%ZuYSQuj^TW>&7?=IQPTs;cd~291P} zmXYJvacTgLW+UUCPUlbt<J1R`LLz`xLoFOk#V>uP)?Qh>&Tv%Pj%W5mJv$eLGNNb2&id0Hkg%nBoOB2B`^ZED& zvG&UK+qYtfYnwDzP_F`~RzPzx8P8K0(}b$m=^uzvCkQucY70Ii1+5#1L=~b$Av$y8 zK5ME!VSRM5!W->%`*bo}bh!|jaXs|%Luu1dMB^!h;5{lZRKI~pZvhWP_Kt6&mq3#U zStSi6!g2*!5QNb@bO)eL20m>@Sk!aj8BL?urZh%E4+)tHHV4~?<7pMm8%!rtWEfES)kF4SM0|2zq#C@bUJ3$PT5*$1yr)M^f>|GHh5`+zK z^rKrpL-lsrYuDRNzu9m2y&gSDUK8IORZ1nuf*#Dn0_^9y!P5YZLO0tFtMw4$Bn5bn z^1OWw!mfzS#`-QD*Fr{mGn$A$A^#LM0s?_3SNFT)rcc|h!CD9+bUW#Zi#(HufkZuI zwX49w%nDULM11IQHsoqp#BIoZXwc;1aWu80>7*(K%06^uE0ptyP)j?Jo=K4nUP$K? zD2?wX3Kfx}QV@nf>Z{q_-$%p*WmNnOW+-2F!5<>`|P#RXhQ=Vb@M)=dNeU@aMB=2J+$fS zXwIU2Nwh{XkXE4R$kFiUjhI?FhmV5>XkFnY6*%8%zcV1=+C=k_kVrEc?-m|cBAp|D zE~3se#PAGlA}*b~qpL$hMs(6xba^!3VFV+$f~D405-BAcwvusZfj!sVRoSz)-ix}}9vij&`j)z0^9J|9YB9*A5(kEp{ z6_7ngxmEN;w-6IXUw;=#9-PMGNe0m=yi4X{-vCuR{V|H9$k3zEKbfI(i|qtHUWkH@ zMt!ESD0n0LzJGFt!6LQ;rw8IC)Ih}zjc+D9J~J-|-zp4jJevQ+tTMASRTJ&SIDACJ zE?W4cA(7n@9e2iKyi3r*$bF%rn?sq9gJtRFwQCDEm)3Xj+p%mi1YDe1%>tP;QPED| zgTRy?`9fr!Jn5NYrvfj?o6c6m?3@8mtGp z%+v^Bh;-$##LJ@YTt*?3STp`$>fko=6y@_Rmuw9JiACbVXv^WwGADD*%n}T#2k2Foa3}Q$^Ocy zh!@kTH20$M^jN%f%aPKhpQnK@E*m0fk5DJ5-8!@5{uncNH`c-pk~Es z1X!5qBC=ay9}@$Fio3j7QO;~}cyL6v28WkV-~afNkKTVIzI~|RuuD7Lc8B0Z_(Zgy zIt!-1%?iyGDxyNhL<(6g7IFri${d+23ptO%{3bloOc}vv9x>a{zKr>^$FZH6FwCk&^#w=bom?DaOlIpkdXFNH%xQFEl zqU1=acJYg10(^W&RE$seSrd&WR&YSK8FcUnMBWe$?yiW*&qfGN?qQ$HgcATWH05#* z*RoYy%n>gEC9}Cfvm*|C5J-BvNl`0CwEM>w=jR9eGaf2hN!b)qmbiP+7sl6#S7Z@X z#ky2RmWa-Zf+o|1y2}Pey@vIZ7M-h=#r2K#6%x6fR0fxq^$oP6*~2Kh76@OIUr@=3 z1B^4-*XVta1q=pbakhrwgO()_KMb+zVkXf>5EdCoW~2xjabsO%n|Tx{#(^xaxX?p6_U9qj`vtT_>V}B zoE6I{Ne`M`OOsoU1{t={_~#^RAtKd6=@wO55#10yMusemR%9m0I(zOI$M|KgMk@k< z;HHTrh()11PUTCP+bwgL5MoJL zh)kl?iROhU?{U&GOG6%Qt}Th?BNC&q9OUX5>p(g~=z?&|RWk{btTy8CMddSS_6d(T z7o!r3(HoBj-5}l>%Y!$@k1zves39d?MV1i%DN{Qh>0G6fXIhihmRb0C6cUrfb&6|Xh|j_S^3MF11f_#! zI(H@_lZ>^ol)+vBbA?n2({0>RP)ZS_Es=>wu1TiK9K*=^VvfDMwu7AxL7>ZF!pcKq zfFBmIR*ow~)tSrlGFe-NbZiIQ1S-R%CLK|W?_&Z!zXzx;{11&CS-yNaPY97rmK-5O z#d3}hAmZSbFk{D!Mp(8Zf{pvif7Gr=-kzUg*uvXlMaWKI{qgYUg59h}4q{v|i>!() zYHa+2>Kg+z#H_P<*1VXUg8o77A7%SQ5;F`|j|kJUGf+p9j00;EG;i8HEQXN(MV5$n zD9cyqAV{B*Zs6FEOy@A!L?~O#39w(db~pw}Jh2qVou3)~A{3o}p# zsG?AdSR!c^JDTH5Dh}C2a_+L)*c$vSzl`ykNcqmcSm2_Bt1y1z`pGsWy(UD=jVL(Y zxgIHrcpj4U{rxkFI1z~T!x5fI$T=zn(WoZQ@-HRmVdD3L(mCOasXpt7sWhUZOlsLb zqMj<@iSm2CJ*e+Q+*m3HvAkf9%>`U}7bII~i1D|`rjtB!riJ(xwowgkt}&03yC{>7XK710VOCArg#{09bKv<(sm|x zJRja5cRE+TodzG}9`^w9=$xN6(=1VlZS(y^<>1T@TqvV{dPJT6&u84O_2>koi zK0lYR+z|suOd}e^)(DFibe@Smd=DQ3ygfnP2ggaI`v8k>d#iW&$- z>k(!bIQ_|p6?JynC>$-UZARRzF*YXaS+Yw0hrrrgMOoNXJT|d47N!5ucuZBu`eh;G zXDk^YpD$PpHaTgbM26=+9`mItN26qnFkPubxguF(T%K(2d49p_m*ZSi7J2jh8DDa$ zXw;#+RVkKGFMs~${1rOp63HFOo95eM9tT*9!~hv_%h}B$miCYjGm!QVWq$mZzK@B#S7zd#$2LkO1gGbHbz+cE^@%tpnl{GGx z!JTvWxNoqt2o6Z@J4ivwTI6r}LM%=0jWx>|&mv(_b56?9iRxX*FUQS7b{6-kqVdX- z<->_qJXlUR*@yr**oXXnPBMxzbl^$8=f;gJRc7JH`L?OD$D~#ml;T^2wCQXBx)h;y z(hYv21b&sGGqFSAo@N>208&=-Bqie3fNt^plm@ayRgNpi%I$?43pgXC%KQ%$Mg^JPm*;w zPhLpeB>HgVbISewI^wQb!?GMWiNVu|hQDkUNxenxT%M|IO-VX=&-~_jkdf6x{FFT} zsU>e)7TbJ_fdb?)_Xw9h37-5UJB;l?=ppdS+T*kEsNe0`G?dmQM-qEIA5H`#4=tj0edd{&iN$=iiBM@8)rT3n)zC1UvU?p ztqHA?iOJDOe3Cs+@RJ8>eAogI{BP=x<~YoG;*FOu_nbKisVi$7jjaW zQL0L2AGG^(gODIKF=7zrpCrz5JzSt1P;A_}n7Uw)c-#b5QZ}Fd@o8**t#+{F3<-m1Lfk&082y z^7rQUS@PRBKAu~J^Oy-{a(|M`@r!vT5~j*hWM&iu`gleB0ONn1UL2X79B3?n=gD?+ ze$bF=P3Fyy5h)iwnMd@%DRU*)oIg3)1a#$i7xJSudK^GN#bi;|0Cz5xlB``hvE^+^ zT;yT%e(0Zx*#ku_UL_lwTlido9LL8(P9@S57AtFbZjrRVC$D29jx1c1WCwgymKa42 zz&l_C@`8zqxE0I`J=%FvFR=}o5`u>kZ;h@84Mw5@Cp%zSR_@%#gRA3Irhkn*GCq0p$V|P_8;hehR+*BmP?L~# zu?X3d1Oysh9ESMH#kS}T@C@Y^xt~mIeHs5Az80`_zWVOlZ@%`*%P+n75}vzju{c!< z$Coti@C9O_vJ#|xBEm?wLpp@=IKG!^BS^{EO zd4LTk0f#dc3#IAN*~JBY1TmhQZwm5Zd81fOQ4fek63>O_Gn5k=oG_7=7$QrCU*d2o-svc} zN|{aQN7x_f5ji<&c#=(FLL^@-Y3U6SMnfG0wNk4ymaa?66si{79cH&8a1&GCr z)Svv53XZ@@&cc&rqe{)sbA9fv!J#0<5g|d2RGI9srV!np?qL!s_aaw3o6&|nIue&J z3J21l`N>bU-)DW|sv_m4)Q~J}pcHfs<&t@Gk|PzRg&+zEEL>i`Jh%BOhQC0~CyCbc z$^bY9+iZTg(L>?CxL5H`;mBgO%VL*MC7GQ>E4I}0&*3lF==>LTwEU6S#6Ld-=g*yO zpJVVKmSNj`ZL#L(OP^T^Ir)5@iDL@2w8^dW0jy|N@r;9l@Jw8mL|2YbDYd1sYE-4| zB2Q+r&(IUcD2!5{uV)StG0d2MaaeQhazw~w&##rkUtCNi7E0HEt`Xf2YFOe3v7AON z;RN5y1pbiU?4kA# z*rXi8^VmWh4lqhTqLnFT#NzrRNw2guB(Ig^K~iJN59u(mQfcam(Ij8<$H@uJ0nh$X zxpH4y6OYaUr`Y`B z0n(55#JBeBnm!BSSdYVe@tBZ(YR`*RlrAo1g66UBC9g|IMW)+5K2bYO%nL;fTE zF7_K~pSY6}Sd!u^NMD9rKw4*#F3=Ifh=`+-oMgUS*sk+k#|xC2h}IDAm9dc=f_!cy zM&y{NonRj-hXN6VcINZoK`@dxI6pw-Px|w&nk0?ViI5Hyfq(wmdGC_UJb#Z=W|+t0 zqDNsX2_>s=o;}Qy0BPxwIZ8y3869s;5(o*Z@~ovd%zl#;^FOA#^Qj3h zxO;a##NoZ+=Df#W5r*dn$pOP8k_Z+!3xjW##VjWw$4-+_!b1erF8#oHSv{Yg;C6vo z9pn97P7^Lmj)FW7o&dl>u(N|T15MlKZ%uX;J!fe)NkKAR6Lro@G zEC0ZTt7hms&vs7J=nd?yl|${L=+lSRPYn7*E~caT~d?UHNFqBb=2v+$@<%~kRnCA)}9#LCj2zxd|%4Sm3%A4me+ zve}^nK(W!;*G#_@uVbcyrj@RQ!|CZ!Z?-?)pWVkYdjANaU_a=%krdT2P*W8z8sI zkDlO*envjEPem~ra7XilmE%a#S<*iW)rv;=Oj1X0?d)u9t&ziRg2tgK0D6hqUdm>g zyHZK=z!(%zd&y3cdUQ-0dL&`z^!WVFF`mV8fU~YR18I3sUNSz5i~ai6_Rcng+RcqE zu6CCJK9b>-^fF16b8f!Tr5nbvA!mYQ7gCwQ`oeP)L=ki0;}c4H_Ny4kar}$fC>elQ zXR(aM=Z;^CSF1#N)Qvg%wl*~B4e=v;9n3v;F zv9T$cU0UjRe3G9xHKj4l$xPfKnUX14L>@~PIvexY>E%e5pS+Tm3qhMZ&TuS{mB`3R zob!lgoMVJ@j=y+1hZ`!#KP3}~i%d4Cd*q}ecmkW_IH87Qyuz0>n8{2zASsxs!&qeW zOlTt!jK~{EB&8@Jl5)&RSVPx?AVy9s!)`giq>mT3A7xNesrH7Xxz& zrd1CijVVw~#Q34CW@HS^xC#{t(%Rb{7ZG!)etI9tmsmxX&2}eeqq`&rEPIrjV`NW`&Z1{g$wrl&Lyl7kyj}i9 zrvB81gh-Sa=a~&IVVuz9Wx|<@qde-jpUUrNr||0*`v$aADo^4RjE|aEPg* z%hHk-g0yl3!vWiyz(Gfoy(wchng7r%LxRI%{ z`$!?U$wq__CrOHwxXA=X?(JJQmsVDn*EWDdY+>oeiUz_a!!u04C$ z;~@}3={G_Z#Bz;o8}a1v-j-aHatFJ5`WchKu!qYQbpvTSV=kT|d{yCCN@s+*0K`1% zVsC#|Ue~CO@N;8)&XWZy z*9y2g&K&kXJq}K&R3c4W0#}nq1x+P$qc6#197i*{<+S;TwQaH@>MN`}^ZB&QW(9bO zIc^a}FwRLyxUg&DwX*6dc|%f40i4kr1(G3ec8=i2UjT=lCY2BdE!+nB@QB88hQU7N zL?#G1Fo?w04$}kK4fJX;NRUDRR%oSA$eVESi%_od^n&{cyVu4$3>v*})eufV;ZOzz z+*Ki6-c2bbhabUX=ZSKG*o>hRR1IrJv*|YRg>V~KDp1i$r;v6| zLBst3!yl|<1O;zU7hpDF7eL2XmF={y@$#^9j^XPI{0Z$r2XmQF2h-MW_bK^$X#F9> zg}Y#A!P3UJwvI!Y!yLDAIEe1!E}tyOA0aNnFG0ohTb&r|BaM#ki+#Mw)qKdb5~hz^;Ujgw8uRtf~b zcG%LRKHS!NSgiRZDHPpQ445>4ZPYhP4n|2T!VZ?7*NnCj`f7=|n`izB+7(o?imE6; z(kMV5#H(ysO?!RSF60~~kp*z5_0dxlQylaiNXH1$a8cPfT`rVg3~0I*&qp?>!fauO zRuM6kkcLGQ3XCR;D)6JeY7gP51G^=VP=|B@l%g5{_yWSW!-Mr%>HZW$9}HN!=U{gS zDlQa#NGK$(vsR_T-`glffH`ssb=A(HdypYoXVR9crIqrIQnazXC>5(+#5O3IjwgPt z>-j_!G#gr8uBMVHmf@VLG_stEY7{bsnp?;1ri`Q8+*b_xnB^c)N*Oa<4AS*h8{*<6IdxSreg3?NRrDW5U$-o z%~Lcgfix>RQ-YnZ{lU$nGb-mM!5 zgcN z0OFMjgk=Y^V5;hCrm_pr5ep&|aQ9G4!Y!)S-9Pjhy!OvJAbW!P{*b4Ih5DdfO{2*f zw2EpD)d{y+q_xhcZKo53ET&-0%C~mP+3ivqP&`INz)J+tmyG4SQm(9~RJt5BvyxLA zb^PjT*04r=#~+EAKZaRTtS0;QUf)BG0$CF5l(1`Hkr0XphG`q0Olu~zq<_4fU(D!B*2)ErtU4^Pj6}rA%F9hI$ zEghLvUG<9$i7I+7p;}-#bEvwNOE@B;f*3(_qM!#KN@hU19$7W?1}mH+ppHYo!I*=P zV?YWw>kb5M4tGMrA zULl?r3rbLJ*+fMq$yjcNMr}B>tRACU0K*2BaW#;vo{e+`&QZAb4PBl0g=4*CbkPwW zkv+n0;R%s-bDER_0wl;&Cm13I8sx?Jl8g<- zQ%jdkpc77er8F;akLXof|Xy;5BU8+i%@lxGT@bYT)P`<5CFqf(~hPnq?93oE? zRk3Utv%ay&J?^$}9(A#vqIfXs1CY0b$xhT@TL-m1z1kX!YFMvE)Wl{$Tbtw)8cDy^ zM7fj}B{@bt8u(2+YT*ZmW2gqo8sDfYr$J|Qk&!~J)^lJG;glH?(HOziZv`MryD<47{B9{uMstOnf``6G= zEWe4fF2W$dx}!EK%j721XBg%M{Sn^Bc*)h>0s>(0ptG4IqER~1Xrf6%ngX3ukz}-DST`V` z86sYtOYS1Mgx;mr?bOiE0EQMJm8Dm(EhHDLb|M)G;QlsjRCcnnvnhsT;qdgVMb-dx z6G?K^U}>38TI&E9YwAwa+)8H3{is_*s6Y({ zoz=xKRWCQStsRtDojmg6HB7{EE6M)k;waM8@ji7&D=c<;T28Nx>jBW<3OtN1NqfK+l4{^__jWN%2v z)wA3FB(n8Xd22JKV3&zfQH89jhrl-$jr9@M0hOpTLzodY2w+?#jHhc%O1vJqty^Vg z=NnLDhGQB4CDl?>vF)5UDnX>NXO4%e?ehDNTL)xlYz=O?$onja{i`bna7 zhU7KuBJx{Ml=1BXEZKBgZ#7i~%hgs*M>Wyn2=`1pACU)U)=t`1rtg5uvI70Z&6jc> z${~#O1V2>t32xAYGT)$-Bw-;Dtx&Jjc;~hUP7so)ivcbK zmKqHbYV|t&5CpyJ`T)AzsEN~OV*p^JOH>wHUYgIvX4!P=fmTJ1%RpSGNM5Oe|APWT z)W9PcG6@j=aygp>YNqNLqPl1J05gk?7Lq-9`zk0*Wzc#W0hKdK84LXwnkB<(g}9W2 zvZV#2mjW{tAZ~|a3GH~?z4^IJx~ynfJ?k19#ZnVZ7oI1oH9^4a6KN3+So)r9CEO)} zZB#v}q0phGII2axA#!S%o4Z(Uc3aZ3cPcnA_Kuo;cw-$mo3FNJ?Os)sgX=c)8>%S8 z+VrZhlmo9)&y_?$*u{&Q6SkD4>6bMMEGv$5WV_L%LH=0$F41IGR3`yK%c+>fB)bjL zFo#rF&eQCrg;6QyX-#&rFO7v?@;*!HJ?lDxJ?mA#zH#mnk}$g53d+)i8Iq zv*-=U966EON+yfx445+@a9Nb+%_7F$R<4qTRS&I5)Qxnr6e~FmwQOb0{8lDWNoo+s zk^ez136QOaRe*1l+dZ|ktJ795>An%cC(V)4^gU?W(=HiPJ%nM`_a-#2kw|xI4t5h} zCG=VUOdCaUqvfih-K>oeCv)*8uSI^;Mw?uZ>PY1aRBShs$1F*QWU&p{oFk9OLl+K}f)cDW zaxVn0ybcsn2Qo%1=a%x4C(=rwcWq)sU-KBqArwznzTppuz?Q>4qR&9lY(gN#$Q`q1 zRZ#wP_#uuqv~cLOhJJV60`vJ;1K};S*ytB%ln>cm#$RaXP~hb81jynHijPgj%8)4G z1gjKqyugB3m#zgHs6FT#;-E|_Ov2|lS`&t9rW|xY@sZ}>ofF|=yN6^t;lD+Ps0mk- zi!PcKoumxpda2^3Zp9TBrNUw{oy-^XT(Ro2oJtn*SoAZRxawvqs19jGmp{|&Rt*x3 z&4G-CJEDsn{3&{kHWe*O@vtrdM5~xR6r?vnGo_;Ee&4l^ApXyn;w_cYr8v+$QhJdG@uH*7R581Ge77D1HKkVLi)hOzIVzlBy8WX=BJ z@t{_*`)wc`L6By58$lnLFDgp6(e*uahRi&@mr^BH&I5tmMOkip4cB6Jc|4JYvb&RF zfQwvyK_=c>xllmv&8M$v1pGQmj{>5I+!>Qu0)ZsocC}M$bk4f8=s99qZV4UIS$&tr zvWxBMqUfvFG-lN5m9r47LDQuJQPj_Iq##0 zML;6W`a^H90P0QXzIEPU7V*>^@^d(fph|^^o^(>7aC6Gj)_{Lep;r!@H{v%UM@3x4 z`?}VFVd?c@-|}Kz4VgyoiAOzQwBKrAJ&og^fPeBi| zM1HMscoXeW^aA?b7*=(RKWSWB%~pThN8NSG$<=6iG}3&>656AWwTb7_1g1@Blb@1x z6RZI+peTyCrBT>by;4?4>P*s$sS?c!mqeCVg0PiQDl)%H7jYy_Fh5U}^=v*->r^rD zrK#G8dfcnu^1IVv)AL({hGW2d!~Bv)DHsA9vkA8b%c`NeP3kEvj2w7Td}7B2aR&|r z=ZGr)FSTkSO-;l?R&cCxYXwv|WoTThun{J0NZ{m(b#e#b4&?OEA?ZCvD7ZmLfD216 zn&1=q)R>lUK^B83&s&A&S%_gEZ$p0-amWho8G6y*Lt?6NDG)450Hr0AOfgVMR^)76*{5J9#TLo6ex4) zQho;{RVh)#YdwXvj-{rF#gd)05S|P`36XWM!C=OMm_X;>LPL`c45hWv37QiWYMY%Y zAqXZwJ@Q&z-^g<~Q`k^n8_ke}tU>BT=wYznaB5@NV$0OBOzE1<#EM2HnWw)b%zNxT zL~kx?!r_xsmzE{5qSNGPl2$*8jg%rm2bR9bsd8Y`=_dQc8IPpKrY%lui6@x@vjL|F z1q<5V1?FzWT9}LW#R!(XyGcWl+yfx1 zi6Ie+m_%!d2N9eEEHqRONCY@>GqD8)_Md*e@WOxj!tejVAO7K2zWUV{1UK+s{15*> z+HY`LfHbk@qytQIn&u=JOVGvhiA)R9;+!PLyn%U)r~!h=f4Tv!e zS_A|Ec!C44!AM46XTTu@Q^)LC=E!pvoj^aq)?1dQDk>L$%h07Y6m-~^2{ZPyb1OoJw5)43#IYRQ`#Z(M2o*F;E z{y?|_QHAGhLKhSv4}c$(5+DBWM*aGpI?N$=3lQfz7bv$@)l3-a_z>~zA;W)mSh>r zS;rhVqIi6gbEcE6xHc*K8;fQ*3E-tT?x#@7ZmjYHCGCobBe{@dxAT=*y*oh|x?Di) zEk-(Y8uty2(39x++;lCZ@v4}(P0lJOsW}o|fehDVq|djFioaJmms8z~LbTENc0q_%&7Hy?SYosa@eCq{3Bi&X&!BW=`KUTZ^pcP9Oz$>|TG zDiF}ou-CME9q=9SzyX|sRnD{XbM6O8Jrwka8JYzS1QY@kAqh=goe~yPk-#e=Agh-H zdo-r7u6C$E+SsV-(IOTs3|-KOK_{Nk0QR_p0>2^PlAO~8=q4#g!-0U$3)wq>ut5$x zDtdJ`Bxn}M4lR)*?GfZa_82Z`IGWEETr$uw0ni{0p$8%U5%eR__O#ehsu@oP1ZiRd zR37@+i~x8Nfqy}3gC)lZK}LX$Ap@T!cGcUx0r0e$P|axy_cwvRA;f|nE=0>Q4Em&+M?5BQUTA&v$EX9rKe z|HJQn|GVG*qYpoP^5DT^U;-g;R+IB7(c`2ZkCRXd!Bt$GvVcTzdb@rx{q!e2gIY_! zG+0W7d_3Ex3(x=u>R@a?u3xXV4l-16h=n9!$p|UT0;b8wAgxi4_tuJLp9#xC!UdQaF}Yp><7=LE?}i@DemL z1k*vZ@{!sHzmccqBgmkfBmiqA!No;_-t#l>soQ<#a=8RF;qc)3-g7t<&pvtf?AgP| zk3MevD_-iqQUmjXjh;UlZ$EwW^6nP>vX#J%0t*EfN=KeNRLm%VW#li+ zVzG$|J{n?wfK8A&Nub^l2?fvnUeD?2@zLJF{^_wBg)zi3z$ue)fFR*VI5d$IAn!>h z3V<-n%i@J0(XOE7F2&O@Rb_-)(n3~& zqZdU&AZpz)81(UUu~@HGn+xFi<1w{G;*by>2FeO%nLIH^9Up`msWCU<^PdS2nIOL~ z*N9VOQ4ASm6gcCMY<5sAkZz)Ahn~xn58puq#lrw)DsDjJU#R2A@o?bm^!WMSlP8ZK zJ^bjS2M<2{(T_g*_>-s44}kE5Wr1Z8PZvbUPJ$h%E}Oid?Xc{HB#FQb0sxZYbP|~x zfT`if3q}p)Br4Vdd`sQ}k{wPDG@+f&(VSVZBOzX1UET1yy1u%)WW2fiB`=K8`M0=Y zXg82pgiHk&yF=xQv`8oiWEoXbBQhNlKmLZqkbFrX!3A?4f`Dg7j{)-tM~H-nhz^Qn zcNaoThF(7(Ln;K68sdsbH<=vZ$N5P?&+>YGU<&~tb3Y)EiLU||3F(5vo1n7`QcVx) zu7Kyihj$A_8wQ*qzrWQ5Gktq`c_pU0xXGJq?sChN;&rj%S+ABrf0^)tqCi(b%v8cH z2uXlM@Inx%0PZ4QTqQ>a0k;wfub>Q(NU^<$1y1@%h9%%GJ4C<0NkbR`1{veFz(Vd4 z>3i6u>-3n{(b2)-;nBgt;nB$nI6G(*K460occ3eXdle6EccT>KMe4_Waz{eChKD9z zyTG)AyRTL}BFJiRwZLyY zQ)9>rNcWE12J#ffHV~On zt!GclPPv!qmPT3H5PGs&Xr}3dB@_vN`f{WiX+$(dMJ-#v04YpSw`V&*42!&*B3V9# z$|IWcx=8+L%+(Nt2q=Q9B(wxrg!~D(V1gr)7`d4cZxT#7LZt*E zTErHyPQbEpb`+~bz>JwSV!jB>-tI{VTIKy>6KHZUKtlXMtTnpl%vFML3=#}q3kOE< zCw3ePK?)SXKtu%*N)(|gB_au_zzzi|hKji>wlN_Rw0qeCILR_)h5Y@C$-H}U_!l%_ za#Q{-(UnLIZd>exp=Ay(@yI8&D6 zJ-h8@_ZIOsflK5H0lTot@ekNbK7p^}iL#n^QD*nUj2~mjulN5FkL5lDi8~d4y89|( zgCIHaFQKl-7o+p8p)9xi6$nHfH5llJ3KN1I+-93odMV5AtQWYac zA}3ye=)~{DxbR{tVrWG7R{TP;N3|KS?CzbSx+308J%V?N3*#lmc{dEZA-@lhA|Dhl zG2r)4=l$d1VTorUMvu=DUn?Hm?w8$liT`|mDdMYmu^-((B@X-l`Agt`2^j)MFG%U) zb^oQ}D;Tz)UzR|?|Ke-+Xc$ew3>D=c{v|G*Yu$YYFkD_7Jl?-pIdBNYsY^^xULwue z?MC-^ERwXe>Zi+_i~Qp8u(&P zqPyD`7cNFXjEMMW7sPlDeD2@R2`-LE%JUabLJSLIu`6;B)OHug)!j4C#A6UccmEQj zD5lT-qY)&0F{ADuE{~t3ySudA5ZwR5ABZ6pWk0dx#R!VsNn97V#Z%>0#m|X12}uFk z>f*0{zEBy*`?V@QnH`$H7az#@-p|3^_lq(9`3m61ghImoz`vj2VxI5j;BFd&+zXO)7=eHw-pa|HwU@D-F1pz7&$R^yI3l&KwQK7Tm5~0vuzwR${cTdb!CbgKTbaYrv_m6iMvITly^b_8{-p`X?`1JeGyn8%C z@8`>SF`@&v^g@5Xy4GRJT3-z+}&emZkI_xHlT`O)16i4`r@u}CpQ)Z9JB z`#Tet`HQdj-@O~I-Hf}}`yXPv_3omi8;-f`uxX+Gu*TUER-93m)HVgWa|L-ALX~ zvfZEk!Y_hP`Y%8D)nDR&|KPv=hyTs5{Kl{S=CA+OZ~gXf|L*VpwE~=H=)ri>KdH51&fF5QyiCf zX&@s*7-aJE9K|PyQ+<}wfKVME@4Bx|?V3J(r+7Z10YPfpLF!nn4>kmv=_KzEF=5nE zuGs}EE?TrMNQdzS1uH}{$T^!OM_-K41ATzQ0@uWUlkrjj5z+*lMdMNilgInz$DP5( za)*YZkBx;4VaMc^x*mP{S$wL zt}JCa7?2dt;m7%d9v6pyUrZ@528^XyS5vWo>+ty}j~+eVa|IIFa=kO0U91)pIGM0l zD7%5wrET1uZ0+(F_o3)wls6~A)k0Ld1-oBW>`}2SMpTz5L|K|Vx^Pm0o=XN5Pk$wJT`02+-QmN!PV@kX8 z%Qdi!N*5?7nr4iC*S|(cfR-B8#1yR!fIH$Qo?>^Jiv_p?VIfBeZw zAZ2uCo7>l)fA!<9K7V~ZvnxsO{ty4vAOGR+|Nb9-^WkwImNUk;pMLq(k3YRx4LTLs z|NQ&k{F85dDNE~>?c2dwOZmj21ML*hShJT0s?e- zbNAWTKmF?6&DF(hfKx`qb>Q|wS>}Jilz0c2VHS*yBoNjPG~zmT1@It^my8rS3&zi5 zz-ID!tY}3YSg!z$i05R&OadNsFeFj(U_atfWZizUTe&cxKPnpK($F~2Ve^#?YbT5gY~6L^+`ImJy5Vj$_l z9yd-C0sqO9htE&Fp*S>T_)diel2^F5q!kq;KNwVCQ&hmmlb&s2N?FbXy>8cu*B?vf zApJoy!(jqoo-^CN{^GNDuWm0dFIE$)EQJpDe8JNP|N2|s`N4yISA@L-Jfb0FCk&1g z^)}im912BpPyt0ykds;tzJu+IE>_E7hfW{`FE9&20o<9bHw>KSPjk4@p*eYi6BPaG3YW*IL2vq(7H)-LB=k)36ksmZbB7xhV{gVgZ|K^kL@B0IB z)$Thz*y->ZlF@VT^Su-I@#%RitC@Xg^WuxIfBLhZe0sZ?+6_&W!)HEpy?u0J^Oa_E zI$6xo>bSbyjAvu3CQj$HOtFImVKNvmr_&xAz0Ncaow<*muumNv9JxYqKvx3Ufs-JB zHc+DgC4?!1B!iW}n0BzZdi{#V*X3-EDzcsfUgmSd4)&aeUEZin8MEH$&9Lqidd31~Rsh%bmTH9ba=JHxo67za!hKBJT)pU&kBXSzkJfVsZ9 zxurw6nqp>e0|^ZrKlWRC>%|~jH_Ft znb3@Rv03$<2L6#~Y@egd|H%^~sR!ar5r2m{-C|_#gc!3%F}b9|+NU&~%&~s$9@)`w zx?U^>WDv;O^U40xgX4pv!&AEH*fb$j-CmB-cwcU&eSmpRlj6H&;zgy>4i=Ax`eAo~ z*qP0m0*giKQwr=KyPrP|93v0shhie7!S3}}4p~*%900WKR{-7Cdbc;*tBGUwt;zQG z!m%n@i6a4&7#g4fMYx`tYPOcvil{lGDoo#(PD&s|4nUkH2{37Sjv8vgn6|E$BSTBY zWB3p_X4ZF>KGyQc<06Ph2T`EQ%)UOXK*VRAw{T;oxenE0*wumZ8SUPx-_W7~Hi24q zjGTTV?w8O20KXXuKXZkWcmT9ZN>pOsA9iLf2T_Y64b4OZXtYjat3V@U*GV#RBHBD7Xt`{ z9zG50{vxkG+Fd(Wkl~$SRhQZws3ZC!KgIwY^Ykz$p93mO;>`HTLZ|Xuu8zq7_aFB&?MY})> z*+l1Ly#lR_-C7UPFsD|`<_E}b8r1~3WcB%!M) z9ApHdG@nMk!sm^kv0a9#OEgFP6=jA|t5vNMDW+rF!1Xi+YZ%vXRiOcpHfXZ+;V;OV zIc6_v7ExKqHf#t%L9fdj!ITF$xEu?}1$#0D*qh`?=#2ZQLg&)ZVF~1{W7x796aXG6 zAaIOvAiedlWCvXW#T3nGH38y8QfXAEnM5Lmh@?Z71JWx2X;C;5u^zyjz@X1a*|@|} zq=|i8HmB2suq`c-#2XJsT&6BV2%wk)P&!pn+E`h!9pfHkjVQlriiBm|6ab*`y6w*| zrVhlUnr;`@07^JK)qut|iV(k3QZZrXDm1G&4g)<_uwBTP>hU7z4xL4-MPr_`xC|4} z)+`oK16|wUY(`1I?$8i!<7$*ng4aZSE#V8KGG*W(c7>x?k(LxINm%7&(44R2*nPog zNRbRIC!lQ_$49fnfP>VwDeem)>M|q)^v4OHjC@)YTZK}Xuy6rDP3H*!ugR$;%a04( zK^%J(DjZNjtA;bgLP2!-9G)}0F3fwEjt}+HJ%`AP<3KZ`F`UpvY0J z6vEOEi%Djsg&#En8hLHnmHCZ89oSGTdx)ua&tXG8uD@qmBN6E%-I@LW;|KaA_`bk73c37OhCQcMlzh% zkz+Z)dE*)EkqhV~U^&JOn`)^Ir&l$g9jmo`N(FO*AcYpsSBKUReosMFASOc9Zg6Ah zpkOX;gZGACw(}|HyynojgJNY4%s%mly#!g8QkK3pu{O^*>a|Rk{vm{>eupRoV4^`0 zFIUZi{DOt)XQ8X0XUXg8rZcu1EdIA?XUJLy#Q7E`^^ zWUr-$!muPsu0XB>Oe0jWHPNb}*REGNI`$ok0!1v}cNpf33PwX1w3mzN1oD2lN)68; zQh4e%=rFcu7Q!y6wcs6Lgd`xZ#YwFdN-+3-sCn3~v%o<)3LzP&AI!eI zW@rdvfdL{)B}&O`rkurgtzu*oaK|(@eem=!dH}r$#u51*c@&-54k-F2XeP{Z$aA@b zV!3H|Ms2{M%1``8-A&OL}y&v>g8{!p_YZ)NQCXKueJFdYUA%RO@J2EZ=cQ zfgZx6kdhF}+*OB9*H{|uO3j&&>D5ggMFSI#B*Nw? z3H<;;<|}}7E>yY{dzcy(9Sik*wFp;Oqb1I!5^>8JIR;Zhu(D9cF!5Dk;GjXPPy_Ws zlH&J5(rb7;!#>P9Ft^kuGJ)wRA;K#tO3dSiSWL0uI zJRanoeNaB12!`am$@1S>(yRJ#Y%^U=tiizBg6kraBQ0hEVP0xjoLNAYOeQcNSXL0d zije=L5V-Cn1b*_#Oxo7#T_%i9^n(0RErUZYEeG4X1%VUTfM;pM~=Fpe6;=&1N(BZmQVKCOhjxo+3ahBE!DN$MDyJ-FPqbqDFve4cNYnl)_?Wd4rZ&}%U&`NDb9vzZy;&k3}s)^Tz9jQg z!ij8SJ+1l^wfUtT4;H)gZqfy&cwqQ~>3X*=`IFW0pmZKD^(OT|Ak&(5v*(K5oA6+@ z&SsK34QlqV7WAggeoGE30IW?8u+Fk82NLF_Eqfzy^XlimjJcYZyaBa4t4l7~TFnZP zM00-8gA!v;dX;!6Kj>=igSa`gBA85f#(FTCZExr5S){tS?1X%ZJscOpzC13@#15W{ zbnGcioJ!yzZcmI*SaWXQnvqa$^y0SRapk+4rsR%}Zk>!Tq|GjdYBF)E|Y~6`@B(@3d%*O~egU6@Ja%1>i(awui3E2D9bvNfd zZ(LusB8Rc&Vq6L&nxml|@Mg`)EOUAiFsCCu>Mh@{jPpQ#@n%#wJ5~nEsUGkotf3k9 zX4=b%cIYc~M`je-fHSI~p;f!=W&^(T^$S~e9cr6_p$6stsNa@D)#dd~H54~DTPGZ; zwH-4M$`tKc4Fy2;#f=sBM7kSG^`7Jx10!=Dvv5c&`jpmqV}$%Um;u3)45DL6Uo=%6 z4|zkpb2TnPkDd0^uumGSObTB)@V%|1kEzxv1Qo++DW@I{OJFRWOYM=ZD+)yQO30HQ zuNuiCw>Fvg^RZNIxEew7uTMvnpfA;&G?R&V0dpE4n+mJZic+=*Q&W@V+Qcp)7GOKMn5=iEHffavVS^J6 z#N1jjRas2h6pNb9bX1k;Rn!K$l9x-S>OYDU4Z9EzMiI+uw^XHWYN&A*MmD>3*68TD zd`PK~vLpFYM$n>AfMYXiRd9ow_kd!QjlpExh8ZpT&`6l&izv-ds22SUg{`Pr&ZC5c zN=+^jg_f;FL#PEc%7A_GLT^G6C{LF?T?wnhxy`wxHJ`Ne@j`dAZe@b9Ia~FUXHm87 zl#+>(JsoN1p0K_c*5aJW_p`O)i1@=$8xqc&X>JBv5eKqWj=uWSh@dkDDgQQcXJM4AjQ}tqg(T^TUh}c)7 zzHCu5RSy-B?%Lrd%FE5Lp#-zTk!_>{X%Zn__Lau-p(R76nD@+hrrO>t8v%rlMjM-B zNPczQQ&ZurZHbCdWk|j1sB%A z%MXT}e$P@!q*PO$bbB&tC*6taaNJ9sg>%hbw*Z1ka|UK1ovsqlNTsSHJCg~5x1W%yBIfWe#$8sEKvJx+nN9 z+Wd;!pVgdRPJ$ag>G$j`8ZS;&j^^4!Gst#upucraBX_bBDn zhGUVcGS@f+r!ojpzL{%Vew$YP-o2iPHd&REhNCoL#=@LZGqJ;zsT-kaDz+(Y@GzuDunjsIVLfX7r&F7JWv^e*wjGL%Q7R@>Rrk?W!GnSK28#$;b)GLb>Ja_c8tl?>^7b8;H znj3`(30!?tL%B(BFNei|CvEk+mg+mvMiY38XkD#FgF00KeKN>}$;Dtaq~lSJX-GV$ zG|W(Wu5xX>tS8X*ZTHM#?ATwX@ny@QJfio+3OV2GS|}IE$!fnL$SxXdLCYYZQg2mL z(LAaeV8!K<-6`i1v6MNQ4opgoNHh>uQyeTK0dFvCFVGTUCS6_Aazlg-_lA5hQtVBd z1t}C&v3VWX)mm?8mov#|C{xpwfaffbM1zzAl{0K0nO5wOHtaut=FT@Oq31`TWUW6b zC*rWD2d%VJpxAG#!IS5qYO7Vt2mBi39kh3<%bUv%2hdu-JJfviN^95Gb&bvgX7f0_ zwFWkQYrwx`uC&1t4Lp+JNM^fN+i4@sbQ|}}5q~gAq{;>k$r=~4hN?)F2AbRDf?P(Q zteTD_ICg4KQM1BG3`^#wJwo;$=2Xd26>zMao~hNxDbOJ#3p3vWp+JKj@tQom77g|y z-oF}H;q3y`uttmAzMRX^C5C7iIE!jc%>JO|3(c5PDyCr&Ue8llKS#=hb0~ra10h^F zytukvP3x)(IZQMY3LJwLvvv&~0_XCQj%W*pHHE-*Owk$@dIwOgfJdkrWk;x{8G2I@ zzAu&toy94bp|$~sV=^4p(8B@&Xc=mm%3;f-<&>d&J?Ps-wn(c6y`D=|&QFf_o`vE< z={cHJ^;|~wy3hilL>xY6bwD+?&_2PLm##~rySiS0aEJfA=wjid6zneB60*7)Rb^4G zE!M#ACxS7+ZZy*HlsscN+G1;$SPUa(t$Kk%uNk z^(2PrDSAZV;QldI^mz&y-e5Sz0i6>}xlYZ1`V~s#&`AlUs2o?T@YZZF$`I5juVU(~ z3me)5XlMywe?&n$kIGdtOH~Q~QWVKJYRPiJgdA&@3&v!9wVic!vp1PKT^(|dR)giC zV2rC%u)}v8S>o#&|FxX~E z0bqcYmge)GLPKQ&f(}R2icXej+uOa~m{Nqpah?`rw@t7y$Fu3ksyDk+46L&GXo)kN zFjJQbRx1}gbtftoif$oaFi03q`f@dB5jwjBmT9JKqJ`M+PbTdO3V~Wal`L}9&ZiRb zd}nCsh`;0wI#EVO5U{lx7T3r=K%GDmvOS&-EMYm`ha6`zXG?fIpss-Xbw;KuRi^2e zj>S_2AOQ&g3PR}>26q~LaIhCyopQc_k<{9_#addC`9dK?$4y>Tty`k!*RGS`AWVm- z69NponiNAxNmi@Yf$wIbp$GuLNVbi?m!o=4N(&Sg zM&;~d8XQuT>~gdmd;vL`x2bccR3b0ctx5yUMs&97NH3F*`6Fm(7?mv9J(cek1`3>m zfiu8}fF)Ie->grTHx~$0s+x(duGOIA0l@{)M8>Rv%&UnLbg!%_IV4Qm^_(04yn-KX z2=N{{9P*u?b1eG^#OReUMnT9q6S>GH2M`Rt3lS z)^N5QAb5e4Df+bZW`t*OHWBt=enxeMZYgMw$&`$(3$UHWs(^w5qJViUn%zYz5@m|0 zn0SaPqFTb3JJ?9VXYWUs2g+gP2|4EFJ2^ zwGK?cDuz9Uddn=Q!``!Vgmy}4_y>t1WydjV0t0$$z|O~=Lma0pl8VC>2W6}v{Tz*D zFu2aj;qwFwXCTBAPJMR>^L#uOj}NqjpIM$q6cN zi9!%u^8!TxG!ANDVnPuqEn{8HCL2hpuM%q}WLOw1>+niY{yu zgQ=tEkpn3soUGaS6T+Yh=Jx^55@c6sMgi`ACCtcFSfG=Lrz*eYnpC``htr>vI zsN2j(c+zH5NKxR)jA(7a8LejM|KV*@9k57206}ZF`^^HIUznauuTK|+AO~c|E+Ax* zH^})Lc_|o($i-Htp~iEUDkm@mL^~eP)}b$@(YK-# zh7!%_cC}h|DyeL>GQbL^iHNl|c7S+M8M>yc)fuj6G>HEXTDgrF~H-Q{wmRB zGBDNfDFPd`+~u>N%N-DVMmU5#y#mLqC`CfdWZG3aGF8ZHl&#VH=GEJueEAA^+2!lE zZ$5u>H4`p0NMKM%MX0ofz$RjC^jr{~g&Hk;ykX%cD3ofEowVCy;vy6&VFp&$(=k7c zXDB?+p6neSxxCPMPL5CgGF=ZGTFI|-vLO~#8US~oVFZ)7S2A+Oc5h@R*vfE%G*pn|bE4`Nds3b?&KZxZ7<^gm1VEMXh~ zm?191HX`9Ck|{Y<4YhpKd*BHxTpMY{!RdJdrOiSX84yM7kEiP%N>WDu;_l6-cT@Ds zjKTc!<(k8{lCJf}>y=~3=fQZc(z4OX@jl=81_(8&!11$#pj2WORONGTB5w?EcCwho zIiovWPFfnZ0=d|yli#P=U8%LF*dNTh9N0UP<#ODikw8f9;L~1+`Ps~}MLvHgc%cJU zKzklB6>=}=Emd%eqyY%8l4&3&ge(ZtH5CK8hhA8W#^mWCd^k^tqX?=Ui8Ol3z4>xP zN;p|uzW(CJ?{4RKs4Xv6n@bM6LT{3CFRBS{cy#UrhkF4!O%;@l*!fg+pSCyaq2-L0S68p! z+-$ofvo_$Qwpk(@6)hFf?uiA$LMk|wh@PK%YgiY^+34H!gSD3$3X8aD_R&Wi)yrh!6Mw$>Gz39*f5CBOB&7hGt@c&1PP~d9#Dy%JvxS> zb<3b!fR`M0hyCfr^~<~M6ug#Mw@GU;dq_n<$&l(vEM69J451V#f_{%L6o?gdvNGY* zOQmAI#{JWwxlwC5`15qZ0f#ko+*Hc_; z9pIK%my1yw%`Un*>~v(l#7g*O#X=(HIy`hA3WJo8@62-^qYK2*wNWdVpbgS5nocbT z6-CqOu|YO8M6`D{G__V6p$bHgL0^L2uA&U01BJEWlTZ3!pHK*1EY~Y2)j@oWnpl zP5woCw~IV*_eo+`+YO)(@}gR2aWNkV7GX(ijDV-j*$Bap&{4)b2fdb9EC-&mUP=cJ zo<7?@OL6@u%psngMwzN!W41vpCxbL?RC$5N0sSs;{zjP*lL&OKK)hg4iRw7jFk*5O z+s9sq={viAc{!b})-ytyZH~uCydmKgO`{)((wwDN^2iPr>A%aaqXT!84}vFMR}$W* z5B7t?lZ<>COBAxE6u0U*bm2IjNAd=AWL%+x-JXJ#U9^hO0c*`B5e9L?9KC64wz(KN zO=3W2Ivy`(LYXibLATKnve^X%De7t$9MBXfEB*Wu=vWGkP#zUIEBN}2Du8UEr-_j} zdVi^8lyWM&n}JsllvSRT4dIrW1|s#@qUB($Sk5Lx-g9oPGhovbWN&odFo`fr5a-G0 za3tyXz)b@h#509hq;OYg=vINiMPXJFcsi5WxM$EcWfWV?XoNiIHFMxaw}Ym9Ixdn& z)?5>~Va#`Q3Siq8MXNo`YE8wNf;kkW@W<2=#|NjLApPdNM23(9f|5>VDs)sso(QE~XNm5^ zjH)hsXdtdx>&wk_(o$1F?@1t8MpZ~aDk9Nro&x|GKHT11ikxq{9QB(77==Ut7V_e9 zVYfzgl@hEJ%eIgq;AD^e_1TI0ToG5>D5DvB9-%?YDY#Z7W6RfvM7-@BJ@tg&7sr(x z6La#uDm5+Guc-Knq>^I}DRsi{7YB0kYXZMcib<0Wa~~!F;O@nm9eqUG_1qgt>VqW* z0=63rG~!V-xKL`hfXk!lVIf#Ys#K`5DI*0y0U#QZLJ6T>Z8@w6Q8*-hCXudbpd=XP zETR^1Qe!ZVyc+b9(Qd^HpdhC>k&y`Gl{lPO)Pst2{y+who&q|-=%xa>h(IQCW>D)U zr7%njc7_c(4P6CJPy7W!d4Tm0(Zl9kC@577A(&#)(}tat&6I{S)ZrZ^`vqEjt?$9i-86#(w0DF zbp=VJcv53;6QpJc(a6V6#ys=B^*TVRCahV zikUd%Z$i6$v7Po>5lWk;BRq)5sbh?LE+aZ_1;gQwTaF9J{SJC@n zZ_U#0Mpy$<0=(EHIp26P7odNFj+DsL&lsWKX5*UY6Ddbp1xr97fe9^C}ro8ptfYt2;IeU zNO0i9&%R?%=Col%xY~&_sAbB696eDWq|7HFMQGSOm`a8c3mXAZ10Qyi{W}LbgWv$C zfQGut=73%`RZl^GrYsG&1ULjO05WCZK*AS5q3aSQd4(!q1EoX!G?b#w8HcKcaDriCp)W`&3ojzztrpQ9 zOa~C?3cjA4Svlkz#b^R}GPTtP&G@XG%f-WiyV{LFyh9KmmH6#_u zdxSM)B@a_3BS&!r!Nh^>ye5N>IhU!<)^TmI0enjcZ073&QK0ro^CeNc8PFIpPm>A`jk&?^M^t>_1TEBYxnu?gEc=w-r18#qkgmQZO z#k<=L?EFzPm#P-Saar$A-`u@h)DVnRvq7&PPb!z9npJGEnnu4_azEPJI|4YJF*@^~ zeDUSG`DhJRV*l}8Ag5^7=*_!zN29t_OZiV-PY-3*uv+YF?$+DO>ByiUd*CJ+M`~xf znD^VZL7_8ONd-e5PSH%E`OUloAH1Xm4?fq&CPZ>=sJxo@Ig4r!y^4IwM~^44!fj2SS;3KDwDBD%D3!|+)veT${ye* z0YnQ-Xd0Ezn=ik5d)3Y%;t4VphC>#Q0G0?o4%<0ame^ZhPykewBeFeTExNGpAf+)( zXqhKbeI+x{`>P>E$^*IlyXPQ+jTT$d7Mvza<|Wew`lJ}FxTHQWIL->p>?Z>mCxqG~NB4g5z^ zRoHLKeupVy(R9b-ihLP<52c>dXW<$gq;Y?|St`E1{NsAx?iQ|k7#h14Zh47 zuR16ypSszG^3Y&Po#~WReAr;nxtR3E zlP=Bm*x_CjrR)mAMe}KgYI9n1+SH?QIE?zAKiT)BxS7d};)9wv{LY6DPRlP26VP@bIN7HO0HIj$5L$n_ISR9?R04>A@`mqEJ-n` zGM-#-Z!U)Q{`S?&n`NtJTQW>YQIxHdFoMn z*Kf9+e7d!K`|{RF90Y~KUh(9+|H_pGEZLIJ_Oe5eM==*IlwLdQeX@U=o4&Z+bQ@)3 z^7_WfcrbptSoeyY$qJ3>qLT))(_3s8_0!`pD2YKcvhS~UUcR`jC&T&S?bW=_@k+%U z*2?(<5p#AiHM2*d0*#;4*@OLXqgV^N_K#H)j$TnxsZrm}Yk@tlKg)BAc-&!a@^)iq zV%g?+JKZ!h;hc4Mz3daw^W)X)Z873*v=>e_=9eSY@r$iE2sWL&^|+WiJ<1IR)uiX~ zzRwyobH|S#`0~!SJ1B;vVxw(KPuOa!i+4ADzmha6VEMGl2qRlv@gB#LjmF4uw2;*3 z6BnQEdyUN;7~kVZ2XYkyKP8xQuIHm>azAKnR)et?@hi1aw=E}Cq~}I$)eG=uGVN-~ zpxYyZd5Xv6>ip)5%ZB3h7dJoq$#x86n7KK-qmxD4ns-kywc-` z;p%{9v--^AsZ2lHIAL$BNlU4bJB-xcTrV4DU~ezkU984N*p)($FMjZY2f^mzcHv}Q z=+rk>-I`)7J|jV}6Q@4dklo_R!%yUqGdJQ-AG-4WepNbp=+huA^>SWUs(*cX<$$y8 zzx?vH;&~EQN0-~`sXMId@Rp7V#L2s$`#lQR6FuoTkPd|Ur z&m0{o=8L;)9mH*I{^@6vf;(95UEHk8zNbC~6in>dcMp>G^3L=r=eSF)3L z??#Eo`;pemcUQ%u!;m^(TsISkAN%s+q!Bzhk=r-p)aehN#mBcBC;RkCpt-uS7xf;{p#*z^WXhnxpk!RXTbPlD zf95jZzL?cdzx5zIoQ)fSy?tf0dNs&D{m`YYzW%Hm_~BzuJEA;T0)PH?5IREfj+}g|=zEAeU<=LxE`T28qu>aGq zSMtFp{@R}e)yjw-g!R?iTm9@4Z()3QQGNC>Qthr*RiEcP zQe3_n=FhzD#NsbL>nN^+^X8{l&9v7QAHKZn6+-*&+UDiUyFu`ih&|g*D}lZ9(s*en zPxj^dbaPRQd7=g9;&#}GC8Cw>)j&Dsa#ycFczFW3#p_q&QsmH=b1p7Nxr39WJ-?i! z_8+>c=(du86bkM3Kuw){&)f4=HRC$~XgIc{gHPN^YjM>rC!*=b&5Na(I}c~Oo6Ruy z>^M|_zt{+QGgP8PMU+M)cE2e}H{g=w!l3ZX(HujDP%>+eoq!KJQfOV8W5ypn>43Og&q^K%gbpg5LDxsbQl!R_CzB$;NSNa`!ItjD7RnTZrc5# zB(J`>Gp$r0WUiOG|J1EySFdj>2S0TCi}TM$8P~^;0#)Q&a}OW7Gm|ggZBsFS*1lT~ zQkigZ`g-9=Prmg~S>0`or+@UPr>rv?7@HF}A-~MEj4IYIXtGk=NdU~o%Hlq%} z-R$aiJL&sAlD6;Oezuaoy%z@QKh7K-!`EpJ)T0NXeDl>`ylP6Gp#J(V->sUl1DAO_ z?>3dgk0aGes+KwaC}Q6(Moph9HM&{$&A_22S6jTDDJI;IdLW;h)akN0_Q0lI>(^^I^u3k;Sw@Olp(tgHkKDQL?d7By z@*OLc5q;&L4;^kNPfDy={nyhhCk^}Z%QtXoL*Z&;)0H0`2SBCSn%nF0=RmCwq}<?PUDf1K3|XJfG4A`Uft+9$b|ax)<(`gl7|QnolL1#yH2~L zvLoBh^+Z0Fp=DWCHtgZp+L^rQ0(?-E(t2x@;1}gaqXxC7lG-f>T}dsTp;&BH_8%N1 z=~S4FNTf2ylUW7!+$>sybrYQsE15*{p3_!mI<2L`Tq>B%c$h|85r_o}ABeXI_8*3P zl<(wPDlXBv=C~ltZ=lCjq+@l$fw$erz-F{rSFraapngW!7mlaGp$u{c6}@Xg+Kgl? zg9%QB8CWSmJ+Nw&Bar$^dZz@2I#-%ci~07Z5sQ}$MYVv`6ywQw9$>ewp(xqtFV+^0 z405>B2Yg0HG#SS@xLwsojjC+fd1EwQW`k}#DyT(KJPtz&<^X3J93GAS)=tX)q*CMP zQ;l)fptdpU=VegaA*G=jlkrWbpV@awR5`bf8afWEjzeafaR(~Xn>9yywPcpUDG8E`dq=+2rWy!>)RScBR_$p}c0aqtT)b>>Er$|MG8 zB+FUK%T32du_VYT6)bBlOSQlh?%77p9n5$7G$UkhplD`OO`L0}W$O(iUm0|jh+)qS zOqnZ+QZXkR49JjDpc;m&Djs!lD4xi6YtnhTOFI|IlMZmAl-3!|TIzW)l`8kJN_V|#NCBUuQJ2)xL6<)UqSXQg4f0{gJ*CvaYG%+uN|y)YUJ2}AIAg!O zH8^6HYoql=liNXq(kP~a9(Mur=WOiQ6>TlX7B$P1dHwFrDMn(teX+1&NOsF5q-jFW zADtX`C{afnK#xB^Ot5G$^7ZD2FQ@R6F@1L?7tMS{2`BR1UNI1g z!)$KYa9H&Yu9^)+Qq|E&bj<^9X)ustisBFUSxo_O_r~&;e8-b4b#C9>^y5cz@|c`b zIXsebdWCKG6f2t5cH5^qo9e$>jGM6!e^BJ~MJIEga3D+$Gr>@8db8}>N+_d^`qdni zM1QhUfdtP>Z?h>Qvpt{~lZ+7+44`+xLw6jMnN(7OF{_WP_QJx(2uo>2$V))(}P;$jG?6FFCbW}ZnIvRa(42aWL<|C?-H&cRQj zN?nvQ$r=?)+pwD)J?Jzb?GNKU9`GLoa=IJP1hDQB_^3{IdwFR!=~d^8?NL!iJT-`P zYp&|~IFxG7ueY2nU`EsC5)0Mo>-%) zfpCtXk@9w-N8(v)`R22YsmT~p8b#^w>E1zR3IQvEHCpqju3D%CYLuPKw-9v_CS-|A3gk72QQkfWJ?6zn?VlNpIn6o7Ibsiui507 zr!JrDY-dI`CFg2D)WFR}a*g2-c@HHT2e#3mxT|)ich^o?p$BcQr=||ns#0(C>R7WD zaVx@YL`iDxE*8aFI-IKlPDemkQaa;)yH!dnc^Y(Mfu>VSNSYgQuiIbh-Ha7fQ z%=)E_{~R@=feG(^Uve<;E=JuE>&4ZeruYM;;nmV9#h&aZilf=89`!`AKN>VL(KryI z*|3~UVxH3OHHdCf+87S&kO)KR=A=7-f|kN-%;<9d@~=9{2!K7gY98QKg)%9?mfGNQ4c^jjcGm+v5(>oWqh;KWJ;6X$I3IVq#VQ@4(V)W@ z(2l``%9oWw6k@?G)Qqe-T?4DZ)pmM~ij(U1AOeM%Q^*r52~x41*HN#ynO0*8z+){N z+<)*mo^9ldk$@*)J zG=V~NNcrG}gmd%jaZd6E!qw5uT95NV{q^;zK|L^*h2HJ)R%$V&*vQ2)s9YE(wKL?^ zoKZK68x6eRkfhtSRLtl0%Ke+M#mMKNDlD3OC;b1a$vc#)jlu>}0L|%oEx0wM!2+La zJ?V*2kjoebp2t+sQV=Xg>rEB6UW9fgrW}r>R1in`WR7NY%_zwwW4WDxt5nzqm z3$dGqfC|xO2C$iFbeA?@VtDs-g`2s2ELNm~XK+>Y#WAMuJKeFFlg=}E&S8I?*ON&# zo^Zv=?S4s%%Q@Xy-OSq=k;C*S9V;IXCk3axf_MR5aik=9M2W4el1QqkkWC?GqkPZ= z(h7|k>n-Z$1#2=M)uo6p(-dg&LNt;`hM-f&g}qP(T~Msn!6ny~SW2n%Ci7-KMh{*l zdO@}Yi)n%_)LX+=6=XF83FzWURO<9vciPocAk-_k-I7Vb)6ua-3nqmec!jWx=mt?E zON;}%SWZ&aFJ-NA3OJ(ifPWz6t1)hz8^Bc62BQv~-DI{7%fBMi zTecR<0fd;dU==W+o(0gK2WPKB6U{cKnNpta@DP8LQq9p=-Z@$pXa+Hs|l~SO(EMP!IyqhSiV~?1_Lq3y* zK@QVBl#Eg2rt684KL&n4;E;v`-YCr56@aFFPEA?}>|=GacA7cCJP~-V6vv2IcVai# z%oR+30PYYJtDU(+#vhW6<;|iIO2(z)oH)=U>Y+$wO#1y$=;gI>8i=!gJT)yl1&i8%iJLmtm+wbq!GEUhPaB-CMf;YbEWrI3g(+W;aE z+Qmcw$dyyGGYbpLFo%1@Tw|GT7laM8P_8wIrcA(aSi@tE)nB%>F<4_kUbP%=XHW%- zW7)_zdyYCQ!5Gl)&Spz!)Vcm)B(Nje~Bk zx!omjorB-b$#DR0B5mF5m2sixG_ifKT{Jj#X&#>(5Z@Fh&^Tz6<vp%-0#1HG zxX3MmvIeC{0>}VXbb;>)_TwtYK}#Cm(sN+i-z79?v)QQ?6UCx`-0Ss9+O!;^;26o7 z-Ey$Dfg>qSFb_UB*eET4f;9)64_n)r*^Im0V@rvjYk>R&10)VJsB)koaWW=~Vi{@4EOVINEVKBF7r<7l z3M(eQMV&xm18SiDdsgD^=-ouYh8%bz#?fX6VaDIxUke@(KdH_EiU^6drr>qX86Tk_ zr97d;pp51da}XC2=7)4LZ8Y&~@o>>5V8_E>Lsc~bnQ}|5x)9(ysvT~x`uxe zbSiM3K^Tx)S;IMxO*T}bRha4k{{SHtpv;+t`zvjM>RL(7=PK(^Pv;4UhZ7iB16Equ zLVK{;hDbG6?d%`ycv&KfjB;xm)~xY~x#bQ3p*AglACuF1DUD$xM@W5Z1&XFzCBW@A z7gy4GZ)bbcQzO&&(pBPG^wIB3&SabYwyVv=;zVTQJa~UGktw$J_uFN4VQ~o+z^pPk zI;-JGwBx77rcMd6lg6g z6@&c;*~0qG{t}i3fh#gs@$AYLY|ca znxxkBj6`}Np63{Utyt1DoTl(=DP-}%EaBR|;p%B3VTU%W~q7rj3&HCL|ITM@J%IN221-@pPTsyVm0C~+4>gYS&4ho)8pwXduC3E4WoVNubr&p-xN;)l;M^#^KtYfb7sG~ zA})xX-QDhXG5($Lv6=go&COCYo10%=KioSxZQB-$fpWpa3pIH!rq?+7g#sSSi{@;w zBGqEBXJwXZTdeZ68JQ#=9B(i{VnBXwvDVP;-JV$P9v`=DtOzm1Ir;9%ns(zxM3eL7 zjny2>T)TI0|VOGvEONyvkR*3G^%c|x||U_C3xAFi2fpkK3}!c z1Q4%nR1F*G41ji-6z513{}*D@a}X8>+qLCFVrB^~OLU~ZG^cr+%pFTAK204Q*s5$? z6oVL?okm{6Ys0Fwn;=kOUH9B34mAsja;<3f9t;|VG>4QnGlIqO8MuD9M{Ko=Xr_!s z_Xvm`foi4Ya+~l=kPp=oREBOwh5W7nE#fMImW|CUd8@4Mw>uj|&t_ITW!x03#Oy@c z+ZuFjErZKPxw;YH!*EZ{8tq3XTcz~u2yh=q$7@7H;M`Z^bk4~xBCr-LCF+ zT^qM`oqfK|F*%3e6bSeIEPkpDHek8AxV4<~@F`_sL$DA656LMZmzLA6mGcQL=WclA zgo+z30lc6FX0Sy8e9B~`uuiKE_Pbs#J~6sr1#O@PN|5K3@Il;fEW`U+#v2+2W&Eq- z`WnsxYo&a0ECvVQ)&`ge_we|(-Oh$@=m{nQ%GIdCBq^k|1S1idcMNcs}T1)+o%N5DS~f2WxtKbSA&rJ>KiB=3>_-0I*`g zBXQsf80d3g4x`H5T1m5ELGjBAtXYd0UNUHF;;ksCql!eZN_l8=1hA zwuO(*a`K*PG`F_f0I+GZtgrFsMhmbi1cBRyFvzpghP`AH(pB@B8Bj>w?RM2$o{PX_ zKN!%pHs&}3(`dDzEW~CqtG%6r?P_iz#j) zSN(3IyP8{Gx~F3+D>+6HSJzT@R!3U8t6D5Ey^w3a{{TTB`@=h$-F$f5D@O2u@b*uh z_Oi=!@5Qa$T6YZwx^$dqylw}Ghq9Y1aw4?a4Vdkj0OJcfd~~&(s$}fq#s_N$$G$C=!Ae+H~?C>s;q&k1zL9zq9Gf$bZ3=qngug31kd%&t(Jp} z4DOt(X1QX3w1Fov4mWsal$SI260LP62EsK|7&n70;KAb4Y%fX`f8E2Lp%LHTsRPrT z!+kyh>g*ajA0v-oSsobO6(WaYi~8EZ$?;ZsW^!^;wQCT!HI`G0da<_F>r~3QRB~}a z%R;w|gHMhq!R7ifEO(Bcnx8A+j?rwI_wL}i-+upaA7iA7A8LK;gi$ztXD-Grqz&Ux zkWb}{1Osht?d(;SX0MOUW}7e(t!b0@rc>2N&zX6Xvr{v1E7;ue?#Ch%aIw03-Hivh zf#7AV=w54czn7Vx8^2@J)=wXG8>yK&d=2({>$|o#9f{7QWw%rX=xtex>SiH;S+cyO z&yUO(>+MDW+S0__eXI4s-g+y$5W`iQ-7D2u&gLMmu2k^d1&9?82jV3m^sIqSmPi|g zCRWt~5iBXo6QU;^w3w{*3{yAWTM&R~9L|D3?&eu#A zNnFjP*pp-K4jN#7Cvecjx3B`ZX1S2gvK3>^BB9~nGg(??yB)acxR#o;1BudKwwNI9 zuk_lGNG5aonCY-JbjzGWEJw7JL=pDbpqiXXE#=+X?rv>m)r`e;%*1Q!eIjd9--)L0 zw|Dm$sg>Nd5p_D(A9Q^e^ z)#AzAT-H&S8oSwAjkB5LN-kRJ1l1Ofjte?^>gX~2P_t9B_m);>@;eQ^k%{Kj`}h>* zcWV$=LmIu-$YvXxg#IM7`DK4)$=uvq#YG>VJ=a<)?C)3{+L_ss-%wX~*y=Bst1h@V z`NsVP+`-G`dIj))+a>5EUop!71g!c63?ug|>-8F*FR3&pDF2}6Zgh&e8O@mr{M#lD zN&5IgawfS>Q1^b7#p?a^{c87p+uy8O88yxM&H8@#(es{lXJ$^*2YuIGU(qAqnwlvz zwjkH8;V(4>j7;z2@AW&q`;oU{LEL-%-A-e@l9-yFK*86DKg!=v-4*AE#>0osYBu`z zJIS2)!G}+Gn``lVQG%=+faCA@=3+KEJLfRb?CvhlC8lnVzccIg4|X@#OR?)W zr=!{aULSw>mNqYO9JS1r$2Alxlmu5F&y8yiJ}uLx2Y&;+&RyaGH!dYLv~4>nd8XC^s2 zSm_>sbD76&YY`Mje`^y4#QV|cy~SJ&uwy*$3xww+?mL8=!HK@Yc4taSRl9pQE4ujv z^Nkhkf^}U3Szr#t)k1A!tJPjBE<~s1GucYF!?qT?K}ypJylTKr=q>|>ecvJ?WOL1J z)p2vb53zgJ_Ire*mzLOxfhOuTi1nx}7lC&qez)19O!#Cbpr3YtECijCpj4u2vbsr> z6EPY3y(~P~1auQ?Qz}C&FIGA*d0c2EGHG06!6gOeu~MyMwIbfGYt&jf zSH~i8Ry2AJ5X!0qm}(HDTP}x{E;Q(z+gM2fPjVZ;C~0#`pdGRbwhG;&tu;<&mKHLr z9A&!1msurjwlNiu!L`BBMlsyt8#YJ7g#aTy@e{Gx#Bz1H)W-B?RG8g?sVyw6bvGc^ z%`Y3PRl6#|&?^#pXQ<{%vj#HhiUtya1(&SjTD1)TAQl%=gqFB%f}ACyY^9WSB<>2I zhEh>o#Eb^Vr;#j_38~4%;_?Q>nod^Pd5R7iLj6-CQmL!PQXglIG+qi9$^< zBOP;TEx!r#LkC!&roOV2s4b-dJu;UK!VVJEwM1jCbCFid29PC57zvn z-O@TK9+ul@X8%F1dDJKz1f|Wu-t~%j3~f}Fy7odjHB(IAU6~(?TO&)06ASaVQ?oac z>bEkPkv{mtWz>JKU>2On%79vyw~;BfDcOMmiY^K9@( z)oe|H;tg!nr!AEU&-HbC$-VEHa?yI_QF*18?p3v-kUHk-AjGz z9cAJ7XJ)6zMpV$s(KB)F&Z;tteo*|lz0{mvg~((p>$&|U8B>rCp*dSz@D{aI?DMGFe739+xvKXFIqJBZo4tp7n|o(l+aCwVhu>{+Ah`MXVessu zt%Jdj)*m-N1@;A(nor!|yF10f1Fz6sTUSbcGh*x2$O1Tn?^N$By=mW?zN=inu@JfW zhl`V!ZYVeY#d`~v2m}1a!sNAk6SHqGj4gayySp_0UU4FKtNfllmz&6z^l5D)t1b<4 zmbPA879?7KL-T{Z^pU&o9`5z_pFMS-eD-Mj*|X=zA3t6D`Ti&E?|S=2fw|CJO&ja@8x$aRSuHK*{i!OhH`**SLbaLq3cUi+m*qc#h+*U8Wc`m19y}d9 z*?oHSbnn9_jSoKFczCeed+-6<+5`WT)!vcQIV<&;Xv%G)nyQ+Ks+Nlx*}Li3_`5{HvLU#Z!ax=>-Mdg_wL@Ax|O<~xRaU4PATeaN=*{Uo{g*QYIQ8A`l7wK znnfds@3{pa1uV@1m*j8Mf&(mKy`%M`&e_J`U~lkb@aXht4<3!Pg0_$yE9f)u$=;m!*37r=eB<8L+c!u4@b=9s zH{O}P@!qZRyWfdV-pG&6W|XOk>O}G0vcZuPARCUqp|`Sj&s{yj76{4%Ax7Pb?N+{Kl#b_oGjn7X`M`P0? z@q3X(Y#|oo5K)=SBo>vVT1qbD7E79u)PeZO<#k|8Ea+-8<|-6JOp2RjpaDIgWNQt( zTlQVQX8LBMzT(-{;!4c~pkS@&=S(N>EdkXG0}1C@fT5LuY_Y2Z_5tIM3>CP7X)TCr zjeN~r%q_7sw6eO(iat|co)2csrdC~^_t`x#4T2o2SB%1}cE50cHD2s!Wza@|n zE4f~_S5vEW&$8ZR3iOFn&CWFz>Vndi;b{1NZM+4fjG5hA-CXuGy{T;CbhThQO)Gu3 z?5B0LV6U&a8qWLaqP6DcIXJI*x$L25=lktkKbzkGi>L<;y*XGaWLyF-@o8|^RB(9- z@F_J5X-*<*Xy~e<)@Bx+v=*)8wd#~sFb!Luv1(ctJ9gIRXfK~7s;svTC7bVOo8{8R zYH7_cfo4MpAcn<_QkN}o1F+mm6A)+?20GAAMMAsigW_st71D@OoInVIA=5T6c)(Hv zb5qP$`Jc5oKyToX*w`GwX(vvNb85hA$~6!Qyy6;2MFd>ncxGhnj75Z4F~y1-Du=@A zqPNgkTFEc2z(S0#mJPswx3H%7ExP*y!a>W1HSgPhlnv^n|`Mw^wZC zN_uLwVgxOHBeM~x)oicOs2ZJ0)+ix?&Vt{VnW^TM|4z(V5C~t{fArdye*1TR=gYr4 zof`G~FGnOM*zTyMMS3yZRP1x|^tsW=BAI!hmGqMg&t!$fh>LOJ2%g4z}Ydq79vi3RsT0v?3P698$@G~gG< zPwzet@htJ*P6c=fILyH6YBT^MSp`&q$Z;VghB%nGnv60xw+MXDVv6|GbP|**c){SY zNA?LntwIzJ9dQ@KI*jyNn~+w8*|5#jdp zu>>v}I8N{>bHFX(pRgdasRjm-7-%ccITk$70Dh&wxMwmYnw3aeet=2_@iCO$q_9l5 zF3zpr=4^5o%dt>%299XZ+Si zx3{@9*aAafO(0vEJo{kp;P4pIj{QMz6ReEgtxX7=JMHe)V1M`E;KAU?iXepdcbD;J?%fJBLf734I&rjN))0j7YH6Q3BSB2CZk>w#0bTJ5pF{nYI=B zAikqMsTBl_6p;kz0Dd7=Yb?XpM84`Q30H_P&kA943eIxyg6<3JJ15=JrdEy{v~Lbb z6}B)Cl_ZIlk<=NwS(d=Lg1thBrU++&C|A(%g|q#B?tUh<7zdVYF`>@io0|blXLH8iW|n5U~eT zLSQTNpo?htF>pg(O~gJ&gLrPh9S>>}m@srZ@)5qYA_4bsS+|7P4hRS0iy%R7(ag;{ zfJnWNSRN#j9(3AR5J4Fc_XOzoL?8tuBLzOZjE$uXV*%JYnDgNEqbN}J62^^5jV33| z9m5>*L?FLN5}?6QbL<(xUqc5IwJ7m!>%HvQe1>-(_MCtiRVfdiQD7G!Ur!aB|nI8kl;3SxH@9;IqOfkGd zMwXk3#R@Fs|A1}cPeRVgGr&T0kE9f_*1xkRnC zn_c(|cfs_-P|8pa8b~ytrchGS>}!6TY5=~7rea3vppN+gB8EsBHWyGmiKrHGZ@>dF zvNDF@hNb4=xpIb&>Iy;nX{sOaO_JQWt<8QURZlyg(lSh>afwK%D4CHk!gMnZv*V z)Y%*eDul*^bc&sVi49m>+%2I%2S9?=&(e~XTI4x23(_tbq~I1otH5^y1|Wz-aGlTv zV&ugoo#V}_B(sccgOyURH!uQ#mR1Joj4M?_{OiCcaN3T-g&9n6U6@@cCWZn5lEzgT z?OLWwn0g35XCNaya$wI9#P9<$uOJaHFM+;*EP^irN)acVkfViK2Epx#P{xocl3^|ejGzQKFY_wR4OS48V2km2sIC}t zO#I4x96xpNkMIrP2Zwwt;1H1EKRmspe`qbxq|)i7`>6Lw1YEf3d1Zc%zCg}db1*!^ z(h~>`m`N7UFsTZlT6AmySS7Gd@E=1g#4ayti%HJo30xKMPoSCahhvQ)TZH8WITMA6 zmK0U!@*J|w9o(}ygNMJGrA{6{2Ua&ASr7>foK^?u$PH2Z-LB9D2A%HK?!n>F0aS00 zdNStu><$LdyrIq73?N8PMTf05I~!p5VUuikv3hQH=)5{pJ*W^uoQiG_%F^+(= zX2BBb7ql63yXZTS0HLT|5$GBUfI|xobo8vy^}-$kx(5TtaiB1lu?+A8>Ik|cB$=fX zgc(B3TLg-8DJ8>`@k4QFb_Tpikic6=O++q9Ukbw%58#RkVg(>m07Nju13@MWLIx=p z@Hu69HWS74iJ=uzN6{q)7&yo`D~SvvRaL=7PU9t);m}J2g3-tXFN;+8-x(-qHCgB4 z??O)k0gB2dYgy}&JI#SI5^0uY5X)zrGdSHL+OR1KT4o9v5#p4{hq*;Y>KE9A&;MkN z{tsUJug*V$`H=e0|3f^%LUb!6$*ey`)|i;V^WzG~dSFumh>8Uhp@q+?445s0&jGZA z_; z2SVd`sAD`m9bkV1eE}2!k*qwH-z+D<1@g#1_60mb9c&YWR`9_9)eET%QOsau7& zydGzn^|ICWap!Q#UIiOWYA%r|-uUY5tU7bs#sd3rQm@AgtDZ?^6gui5=(ww!KTv+0WQ>;Jg+gQ` zYw2%%?b_Glb8|Px9<{64^=Hp|-iyEen_v9vzx`kS?W52C=MP)`hyAqvO~roepM3Qz zmwxLj*M9qE+*0$+$GeX{`sJT}{`tTC?8l!y{g9Zx%*b5o>Tlkddi{;JCgX`w<*0r$ z0r^R*TWB_WJ8@{nKB6;~QVQ@$T33$~UI_)oJgz^^>0;{PHh8f6+VI zY365Ut;=73>yk2Yd2FJPxi&p&H1+B7j;(M1{O8YJ{N#W9$uEBP_@__zyLs!*=*@So z-X6VtCw=?M%>rPF`BZf`V{A8zgcIyO_K#23%Lk8|4HW2BR3M=hdT$4e{yzu`uzhB=}xI*@q|)8*sdS7yW3rTDnI+~ zH-7uqzWkNfFMadsRHbU|eDss2?T0`8i$~RmKY#jgx7!DX2U7d-KM%o4{#K z-57JccnY*OoE`ViI9lr;coq~oqu0Ltl}q3F`Wsi?9h;f8>pKVC-qVk}{ex}K@%Oua zlU3i@S$+HI;{ymmt?cCGE7z`m^V;<6o!P828_#Ep5DBy}fW>uPotaEodZN4zvFy`l zk6%36?t}E6Qsy{H%4F-kgVw=E4<8+!JvwSu>R_BejLJRqj+$pPS;P@1ap(5f?U9=| zIP3x`x7mdZWxrQvd%O-;2b6wkc<^Rz;9=@r;{7wa9Ur+fF?Mrwdd_aw+mAl`?CB4F z@bS}UPmfrPI>zkSTv~Ju>NSI2wBxfdK#q(|$EQaVMdH);PkRq{K788W@AiD#N~ID& zv6QRj=I-(F{{GoMf(pVuV4m&%deuMJU+?bktV4fL&CV)`ncKIgXRlqI)C-DYFlBVR z<@G)xX4yh|b_zI3if;iJX}8-25S4(}yL0>I<+pBLy>e|Vo|=g>2c;G8=#@Ci4}0J4 z+3|Y+(S8f(oqoIBZ8?}}<5M?okB#2BJvzfKIa}|x{d&38wX^U$S8$UTnJNmInWe?6;PwmvtDWf>FZZ-TpLxDiFAvotkds5>UAF-!H`ic5<+L>GlXss z#g)on(Nr_dvIQ$Z>(ROcyK1kw-iD<-Kb}gIc0R)knOFv@D^}@Kb|FwRqo{F69kc1#6bFKkNj3XNAD$i^J^tj` z@xh}}mCQx=2SbQ*%^E5DkW%GI(WdG&A^n zwCkYemNN5P22BR zq0@j;QC59ez4MtVwO&z1=JeFmjnO&$v-AQEG4*c0gv?KIF#d`dewk`gGmuATpf<=t zEE&%?TSWs81YiptJX&N;F{eAlc-(+4f>s|h_kLtFqBIuMP-{L}l|LD=K-`+iH zQ&SmsAVCu2kS5((PC~Lyc5ZTVYUJH(Gt;-nriclio*0|FGcuhi8!GTLRm*BNnYY@o z{Ps>iMzenW?AglOqkexMkK%QNo2@PEF4QzJGch(c&0cVJa%^H^ zYI5YZl9(8qP0@puD$e1MSJUi(rXjJIbnu32RlWYhZ6Bza9%jw$B?e+s+uHr&uauI$rTPKAA%BR)%5EJ2O)WJi=OSZvPq44J7qx-^rS8=IY-xP5gZ zJ~c6yp|cBCg(ykPR_nd~?v8JliIHN7$H0bFP*&A`yIzF|wCsS&&Q5{gXPdoIVrK02 z=-BPC>9ISbLi#>AJ3FPMiQ2KfN~OKi_o`?#((Ja@cW6$i0_q^v6vZrDXQ*S=Sx35e z4jxjGV_4Dat?e$*!=w(qW@c_SQFe;%(k$0;xY*}gl-u~GYQ~S%1(#iyab}HU^GliEoRvqauj`n zlnXq`enm`T>;f>?xBJ+XX@>SLY0HNV2%y($CX2uSC8~tUx{m0u z9|MlrX1Admgo>%G`j`-C72;M9ZuV3<0CYe};yMAi7vvMTo;aW+!YNX(aDF9FhxKNK zft@GH7!p~6JMgyz9!!VAl`R-y5Ts(@L6OI;85NtM{$Sqb^B~>ICXNkyme@9e>%EGM zMMqdIn>~6Cz1?3IQR$(oT5xqV%jAPSoNXTvkXU($?yn%M6f2YW@UUlp#&pe46S@nw z+65?uh$R%h$9l!@`a!t~M6yJ2)CmM5k|4#o8l*80 zz~eYOHBHEr=sZ=4XAlpg0>QXlDNyo)lsFBFxytPX(A6xMaMSGfclY^hV@|^iC9UW) z*xB78qD&Q@5TmeU*>0h}`YpI<+ni?*hGlTJ2zfPA8*?1|p$@Rx7@1|<)+_jgG7pPO zHO+%v0;`-@w?%enZ}bF{zU;Bt5y_e*3*fcR4jxV-iWv$9$B;tu%o}ou$%z9UlTvAT z;Gp>f3R{K^?LmtIPbfQoLV)NaMv|POP-v(^I4*Hej5H^JdQwn?1-NB8gJ&Ug;7Wx8 z@}Nh7>xdkSBd}M_OmVF&zqOFXL)hODe}Y9ns+qPvF`i?#P%I zID?`$na{-vAlV>+Tt}yJ5=3sWLA4o#*s0irce{AMGW)=XMqgrOWE9dGR7$EyhM{4D zR-=-vBnlv};_Ae+(o_g$*dOIQ@bn}@FFH8NArV+&#kRtkg--{H zp@oAwcp~^gFEI&ofe}o@)1>52cjhHA3P}+-{gEX)?Mtm`QB;UDgG`U2DNqQsD=iqJ z>WVE>q>(M(C%`@65J?)@VDfE-PAR7b_Gnpi_)D`W5jfZzDj93gptPYVN zSwAp=)6}AQ_(2t9Fohi`Iamm*sDDaAX-JMcG9J(n^ew*ux}`smWawlND;Z)^Eb&pN zh#0w$bAbewf=Z`_N;Jb@`|LSBryi;H5UT zD~3&jC#H-_86CQu!X*&sI3z|)x-t>S5=ahYD4~>r1`Ge%&gN*Q-Zl>qLc|b<76oGFdU3_FZpp0S5h|I}At*b#3^CSK ztW?9cEy^kq*`m%OVnW%?J44Z=ilj{fawIKtak%CtDQVzP>?k6$VOSc*0jofE+~g$c zOk|y)5+0NBDpDo&4Rw4t86eD}v%{e}Y}T;MwA%1PSw+K<0mWsAge@The%Kz;Wan)u z?S?kz8Kg2LJCd-CLdoJOMl%IO2hmK!X(iNuVdcX1qOro>lp)PW+K!*$U(%SOsObH$ zuR__Bc}~8VP?6HV!}(5T6DcZXmBtPQ48f8fB@Ibk)TDGN zU4yn2g!RAk3C|$jI{(NS#DDpZ{+=@k8i4aM&OkWk32Vz)Akgoe=;TcT$sw5cfE+Kc zPy{n?a@aw@vM3WgIfx16B?lyYj*|&*sT91@Ufg)JxG`3C#)J32Tl(6qJ9_DKQ1P#( zA3sh{}+E_rhD)H#+~>6>CM0VyxDI(&As=~SJUtPR`l~R2 zw|?)RTxq7JyFW_hPd5I%|KxP`(ym$98~MHT$vb1U)F-|CF)XiU>R;&E;Q#p3KmEV{ zWZ~|Y{*!fA`|AKmOUb|5N45uO-!A*EfFl$?^B<`jgKdbauVc zQSI8*osFq`aO61C?@hRW@{1p>IPVo7jPD<5N*$-;- zi}z+5ptRg8XsA_F}kr?82r(bPgdH2fAci&69!S|kR_HFxtx8g%umsy&1+()0!+fKe z25C3j?5-?j?%j)P1^Ce$y`EnoILRty6(gF0lqZ)N;w}MdRB=po(dq1hHlMXPK*`r&7|I)_PAG!YZV~yi zI5VFmND{)#oSkE9UlMjkT-b<*FR_{QAkr+>J=^500m>gxmUnl8t|MM*=_TAZ3QO6= z#hjimR|i{Q?qxC3+7;-IU=+kMP~ta>YQKzE7Yx8G&DlFv>TRGYakPM#IEnYdlKA65 z=CIN4b99d-0h%Nbtrp-^<-{BB(6?T+bv-mwmE2zrZkV z;<1E1E1aQO0hd_B2=5^C9cDqSG~|v?Ar1+^gWwkdk`8MkLa5-jV>=9m4`wLGZICY1 zw-p=^XkrpE%MMJLEBLj#EV#`w{;{PBZY}g4?upEwu6RFIX<|H`N_a;Ap@5Y>fE@+W zWtMB$4Pd=0TF|6ux>#WV9`U@uhi?$B4ct#**QXV$E8&GA==n?V&Wg9JL$MkyxF+%E%4czPDlmXqMyynPJhhnI2~g2sV8CodL*ZH* zv^Lw7JUBaxNmy^1ZFph~xTb0#*gG5>0&oSJkO#L6dygEQhd~?aE^vOR7aU+Xbx=nv zXt4MAkR=zvBMDt6Ay^eg4VYaxqmVtU%OV2bMpzzMOc*#X0p9>$qbamycsju&hNX%X zJS43($AuiH#{L!}AQmWi7^YRYy}^oTxwvy@*(S0&GU1jg;V8ATQUX21%4ka(dn49Z z0Rl))EV|gXxa@&(D9O>O5d16;wSy<6ENT0mZJcs1wH_MuJca%lh4_qF*rC zr=UV-Tik+zjNZ*@%Hk5im_l4!02c?WAdvpBO4FdSO_7a>EHo=FQG#ta*We=*;vXT4 z0GWk4Z3q(vXj8DREx|=8i{=v2%6if!bIvRv(y@Sjf)|YQDSA}=nW-z)VS!eF(iFfL zR*Q5k-Zd*Y6|#0^smUT6&NJ56&@T15%^FZNc*V$G6?ei6c1x!Y3JgJCFtQ#swk;HKAhm(|E^gw-Mm@%MaVQtd=c~krtE8u~N?=NT-44_&ikN6p& zJoHdd*t77gl3hQjI}#5_;)I$5n8mso)dMj$ng_T(SYoLimL3p&M5t)oG(2?0BF%tm zgkZi1As0HAHd;YlQ$#i^U~ko6y24AD9f>4J`fNoU4~7Q3r_r)d*>l!ifeI=#T;b*j zaXOTjv=Ht-tYF!<7o8@U55#H9pyvRDnG}I%Q`)Q{)D(s`!4U}ucUor!Kf4vovUE0q za;014DN5(sW4eX7AZ(Wtdq$CT3F^SzR_yf%^;SRp@{mG%?3WY zA&4Y3a0ufUU4s`VdtKT1!o`ZW8nc}c1jpeG@dJFop}8Ufam^($fbI&&cF?ZkS)PHX zl;&l=!hKh)FEEa=SjRUDH3YXdWWlr^f-SNJQ52FbctGqvAzURnX-l+81;Sz2dGUn8 zO_F$ZHZLoHG&DWJzL?q>&-hY`^B#{7lu`qe3?W1uY$0{6Fi;ViESXD>!STd47f2cg zFg^n{z@}h2K|eAeP>_I$L55g17FiWILlC3)degvJWZOBJZ2C|Vi~Nd{g@{Ou{Y zu*sqECS>>@)~qk)XMdh1hY+cq{?|i4PifUuhn; zYvjjw+1ZFN0oXxA14=~TId9~)y`zJhCmhyuh1pVJb@ zqv%)WN*Px5+6tB>916whRQ8f0?sPYUCENqk^+J=R!|jKIsCd%hRxTq$#s^tLt68g~ zrNj%Cc7^I2Wk~}ucM?&65gJ1zBu|*sMQPX&A>zc(01^Ia>Wl1(1%NqO_SY1N3c@}` zQE_T*QZ}3w8I1G->m^9LXl_JX6esh%*d%24O_Nh1CQZNYpe{0KHuNGRUaG?>4}FR& zqKqC2&EkYnLd5}E5=Dl-7U7~%89h>a#wI<0n#WTE=Umi@=w|vr#GqmuxR)1DqYN`q ziWZ~CgL4hqcbZscHknUE)nIR7C5{8Hc;MzRDWQ%TEqv%YcJC{)qopWlEQGia1(E>q7%UOQ zEGh(Zj1;7l7iGAh*$BhI#~6=qB#zb*qp2u0+EhH5aWO}^vob;{;~q*z6jkV0S#w8hU6bx~s?2M_B3209a|MQB-J)X{7 z!T%T0r3VmyEN)^(gV&IdAlwcF4i61a`-*7@4MMd^4^CoIMmp%|+zKF}(%K9Ku`NoT z$Oj(ZC?Dc0s2VLrKhsAPlc@))G!eG2JD4ySuq<8hFb6<`W5=+akziUiBbn7(B+7P665SlKZ*ya)QykZiORNs!dCW%Lw)(^tNbw z1cKNQR59X6hXK4UrZJY6SQ14ivm%#CG89QFj~?~PXcLg(XgKO<;dl%N5-L7aV@yP{ zoRI~L^ch6h)D{gze@mTNX@E|nvutFi!N`;YEEac+GhB+9uCUdy80J1ZE16BtC6Ypm zzLjY`oc3sKQTSX$Cm?N1CukR$7HANukaP&0w}j0%%iJduMVOcjD_OoU*UIpd?w4*7 z_0C%i7!;WX8)5i9LM&=8v`?N7YQ#@!LR15V7b~7jKcW$cbpSe)He;j12!R`vl8FwXdQ%hRizMa%PmhOyx zuvtA*GXOys%I5I(u9MU}K=On&W%#-asIE{c%JXiwV}qs9^;nrm@{R$hZop5ThAIuu z13hVXyN+Z|sX$4yf`D(lt*feYa_WpngC~0?1h}T-dwNuH2Z51fdCNbYk}wgwKD^n1 zrz=T|xl~8U!Bssu>m(!Q$rC>|5;J)U2v+yx#80Z0@4@aJQw-aTM*Yt|b#9G!KRq?Z zBS{mBfF9L?L7*!!=v+J{62qm(9-O-4quysPtXmNWn}KUYBJN2)IjXt=&BTAU?-`K1 z8meOMJ@3XM{zp$7ifH1QOZA+NmyB^&KvZCI3oKQQshuDH*!Z2xd;jJmK#TemznIdbLdNF<3{KbecbXnQaE%BX#E=!lz+O&Ls=lZnoNGU}$TM8_kF zu0_U^odHjinb+S7EYt78kceRhX#lmE!ZWQPI$BayfM%yTX(_r}85#9{_~Wi-?L9vY zOcnc-Ybg;eIPBX>#OOaiagwSFI*~d$8q>7sl~L#9tnUSb!@UlD0r?5AHONK(qzlSv zV8%wTy#A(n*i}b6pa0oe!0I#TnAfk2TZ4{;D4(7Lx@!6!&4?6Y_3}YmF_MG}$=c3l zT=7dKO*=R|IrQEBA-I9KxFYXJxbFu5sd{imFdCKdTjK^*){{w_%LbxCjde)#XlI5v z63&PtMP6qV8;a(2J#{>)amQi|lC6Ru8?jsC?%9)$*WJV94P1+6c~lvUITm7G|Mbuv zy%GsdytltJ;&f$b8iLAdyWPI0(^iJiQsZ&J4l0m0TDY8LyKL%JnkQwS1&8BF|IxN(;xON zv)dn>+2awbf9UDtf7r3n5d9!Inq*YL_-?Y^Q51L2SI3h+#n*3L9`^uZ*1c{Jbo+ZJ zftkdtWGWHGq9I+&?Vp?;A|%S_^($|@e(7p#` zO97$PmfvwBZ@qOj3iaSySI6Bx4esnc?{}E1X&^s1d@|4?rte#{x#Rdyby8I|2_lFx z8Zpt5mec>!zdY5(6-#^jpS^KCI(}vJRwQYeZW3QYh8^JLXZ`2TpPco{-EljE(=LYU zy*V2q5$#^3(U|MoZEy!`g9tGa(Opg;W%a;0})eAZQs=l`ld9zA((#bTOt znHC*4d{-IKyB#w^t665Bs+}G7EyL7q-5R+ydOb;tc&cf{My@a<14D84_PUO$82wW> zs`a1m?b${!_~9uSn(m2tOLz88yQ+5h%m4jzS7G(4+uv4Da}-Um=ba1=V^I%|f#==6;(vPf!cbiI(-(kTp6)rZ*Dt;K=Ij6L%@KwJ z&6gb2&z?L{Mv}}segEvo|LeaBG~@6v`PL=1)3wGgT|pU+DyGXYXG)1))@;QdoD5v= ztk0A*`1F@Qe$jXIt`mFnbxol(*L7_?^2Uf6=;OCyRzIpLm^m3T{m$w0laJ2)e&D_s zbdBiqkDi-JB{)Gw94mk@)`N1l<1%tRSB;Lwm^x553I%fm{cQ(XQ7(@Mfgib??6^_A z|IwZ?iq58`ApHw$OY=|r=3Ca`Nw=>lcGtH9fPkJ1_FUuiv;V=>BW7RME{|SkERA1L z^<+eOTkV)k6ytrgt$ET7T$BZ$J%CS*p!4E%FR=Z=3)CI+3sb1!54tf$#W^$3Bl^jU zk4$E|zLOjo85xg_kH=7W=o`lB=xFl9kKIxjG1o^K$cMg)jz^d1$~Y==5On#6Ct3ew z&{3V>(@zI_%+wH5$D&a`~;;xH59(dMq-oj3y&cfs8Ys>Jjyc3ADHN z*{O$!_7CmBnXeB{PoD(Npi6A^A*%+rYg!O}5Q@OSSI0+hy?N!9t|pWI*#O$R*r?5P zc}Qk`3$!xj)-8p}$3kH<6Y#tP49#vdjIAx z_iVl2^|b5P$MHN@uU-c+@cON{$IX~}E5h6yr9teIPQ>k;z39MEe|EBGTfv`w_T#?s zWU|?HR*Nw$uE_|WSPtNuX6L>-W?JotN{qn`Fx3304M~ykB-4`ck zC%zlF8Wr4$rC@yGV#Upj-t8DHnw3y*UKb2 z==5#V_Iz}Crw>*jG!+KypRCJtEhfu~q%t0fs#aGvKF&SWy8#kj@- zgM|+(6+0ODPy?O$CpYJqKF?hqVC3XVomL4mLVAQ=_gZl!#Rq zI|FLtK)}GNQ}$2}^D9dTUlx`qO1goq1Jz;W2VIuNWUtc%fTGjC3=`rl9A6eZ2((28 zJm*=i?F4%RElRF>l-aUts!5Lm>MXN;T0>#|sj)`$nYEEErW(GWh#=^oI(!fb6W?<7 zIPBHfXCYcLIncARc|%b`piDE$wuS2m5wgS;?y(A#9h5A6SmbqllWhlU4SozdEcaQM zAa5p_QB>1Fi_s>M2feGyYL!kQW0v2nMM;{>nI28>x+oA!KQ76hjYgK@$cB$U!iA{F zopdjSWbkm2r7SP-l?1to{XE=O@|}uFgAF&OvSOFjyYvGYvrY{2l?|vgNVp|sy-#xC zmQ?yrN=_pn{!~Ot$ZA*iqQfmMw^7BsFw9vlOS?#w!@uS6aElwhz&*)FF7XttEHW&w zT$D*t<(s@E35H+8OX1`4((ogTalXmJ{F6WVdGTE?48O=9a!)=Ne_h-Pp9&ucle)Mc zUXkVsrQzbm@apiETpB(s-{tS~E9cjxJj23;Ib3A?vK-;lay7jDGRs3lGuUuT>iC5PyF1~s(%q2`uQaevkz7KE6&+~kTx8)WeN%i8H@WSx1 z^Gg?{I)CU@uEY0U-R6PtKe=+A%<$LCN4{`1ye7}T`pC-{g?ZVW!xUdV^y;rLoAAf0 zYk%)w7fr^^zwhz$JTGnyGn8+?@(Ex4l`FsUh4O}V;o`46DPPET_%D1$9{A$Z!&05U z6yCT$mnAsA{OaySQo|JgZbldRgb9TSUZgrq zfuG?Y=f5tpdzs7^OCWC!pO&k9UKZ;7TloD8DGk35pOa#SuY}p1|8;ReZk{JL{Kd~O zor@om!NuPfDm6^*;;KwMazQ@fUqkIC@4UM9Dwm7Dh8c?%AAZ88&tDN`fBt=#%tca? z1-Inq#cSbjNk*OwFY_~;G=@){zj~hH7aro-Fds=v-sGL(tRr9f|6&Rn-j@43CB>CA z!Z&zd{*+%_m!Ic_#bT zSc9;7()^M^SO_U^_&r=E%4#ZHnn}Bbd4v^|r==3|p8Vrpn6xdmldR-+_z1a3jbx2Q zQ%EzO7mXJrMV7Y1GRXt7nv%!46_zDTBFto%{&}~_7x~DqFg<>UCE(lePiaHBH_Rja z5?%=F%qwIh_rofO>4(|M3+ErXEg!yy@5saF%0Pad3#mMC{>5`@jz=io7D#q#Umbz{3}J!pDb6%X=?hmh|K)J|Z;on{>ke!%__MmhbWkV#=TL zsN{D3X!yv>BJ)RB0(nH9kyZ|0<(rJ6@SEfl-V?Fp;;@wGf<-BY+X)$IQl>CTNkm== zzn%XMt2azso{@CIMh>5OnW$_e!u;eJHXUM8mcw;MyA(#cPsZjKgjJFxDV{#pH^a1s z6}l)c&&vbyIWHnlg+dwrl94BS4XJi0D+sLQB9)N$q(1UO*kST5Og+p}vX=M4=j5TV zH2jngsYxQd7A7{VeVA{k8p9VuRTDlTFK}u20>8o}!*5|V!kfcv!lWfl`N*ZPJd)%2 zN5({$y4(xzN)G2Ao(Z21Z}9fZC*_8G&QlCaFsx2^HO%U~DCdt#DbGJ)afWZ6=N_gd znGaKyJi~SzRw?XI$vP~mjMlKolKuG`uM$4LGQ2*#96lupzq%-2&RdNe7i}I6xS@BCjhIM+C_eIJtiy!6_X2+#rt}lO`m-*t? zMSGvO)A^g{cVDF=w}%-5GzsT3&weaikiI;cI^ErRwS8fg; zzsQnX;h*8p;p_kY)91+!>v-|y|Ht1KB^>@fZ=aVnx~S5t3;gx6v=>(|E?j(n^+b5* z3vbBxmrs4+F}XIpb^gS~bK&pvYv(TxznxzT?|&g7x%`D3zIZ2m{rvXunc>41Z-n12 zy71!SFwgT_{F3kCuZstUx40%Z!t7o>Fw}(dc=%M9*6=~O_VP1K;{50Es@xZ?Ap?^u zGRP!Z8Ik-RUJX+iJ}B>okA=5+PM#Xx4@a?llaE-?!aFjBa9_Sl`r#-K7bP#}1<8b! zmrR<&nPI3B!evzW2FXbRGIQ~LI1Ndbp#}~YT9Wm!6yX|9zKPxmb#$1-aK;Z8nLHO- z<3#O9qB7rbUOt@tzTfMzpEI%Fwln@I(mCqKjIJ2@^$Dd3d@Q6=Do*RgR*U_SpB!#uRW@P@ zwe~oa#hi&nTa4MZE-ob)$;BM(=&_j2f}dvM6j-JVlA+aUTMVR}KXV8{-8sXSR-%D; zK#Zbf$+<0V3kvT!$%t|IBmkJk!W4=#3ubj6%Qe--WzZvt;+F*WJ*MVQwD)`t^80&^8ckZ9cl9{|#(#c2|U9KPG>_y%Uun3|;AKAkJa;3}7NA=JUfO!VO>XXIOX8v0uy;B7|cr;>n_Be@v<58 z18zw*Obwq6{puA3cMIlJ4m;(TA?YO2`{cj!_NSy+X7x19* z7bTt*AXX|u&#<9isYa*&4Cr(VFn&R>d1(`H(;=shkY+PJ}#Rpzk`znYixQq z7De{ZJgnS1bRhb~CgM@fkVGs|B3(y`;$=bhF=Q61V#Yi=&2tqI_<&(ar|=wJ9-NI+ zagOqgpg)k}QX+j^hN=rm52{0s0o~z|7`W|+36bTe*ap(f`~WB|R#c;>_sFC9*BI9{PX z9CB$mFvvNKY(G$R92TRUI4AM^KED~Z@)a4EnS-+&l$3bnnUG$J&PT5TKj?5QBwGbq zU1v0Vq{p_0ycmT6JQJugIn{D(-$Ac%8YDer(;kd+#=g}LH9T`DFX2amI+t@GEt=$D zJU~67xjEf|>QN5%aMh97mM#i~fYU`2ozJ-%dQ04`&}?|RQ4KU7ic5}b3wF0Hm(b{igPAU5KxgOD>&MTI7jD^AQryM#yb2)o#ZC{=iz z#wnhU1BXl%QV991Tn z^q2-nMf4*Mf*d%8CML>2;?zW}H!4lXU1no)<~xbVH(tSOkj6n!M3QL$dI^0*k0L+J zi>O1h1pMLS~=yT8R-Ez7i0#eTjiXMOB~mUAW6$Hd}PreeL>^N zvV;spoS2g2CqIxlCN~-vT`hOyG*GmHv^4_4KUuKg87UG%H^>Dhd5TC?NS{$p9mtSN z%tw@7W?f%qH)cK>n?(#6QGIdJl%|$Ry~2kPCW@cx(3*IYNP(%M^o8v1Widt{;*lY$ObRXUQG?;?08#L4DnpT(P0#=` zlBoa#1wlZW;LnNTVYX&ug`)iXaP!u%D$#dG7z=?Y)B|y{f`xjSBLGz5oPyA=Cgp%E*Npxdd^^XqC7HgA=1b2njk65ClOyB8IT?2^q=PLV{ce z4uxMB6s^Nq@{AaPO3TO{A!iwjP_v*_T2tOAvH^-x>^kKlx5>jGgF(sg1qk_Jf*F*2 z5So^o7(GyPlQhT^{3y{(<#vHoL4txN1t!`T(&QzLK5Q9)h1q53%KbtOa*6+Pi>#b0 zk0^Yqbf;X99;KCE{TAfO6`GL-h0p}2j9nU(Zn;~TYvsL6bLj;>q%)pUrbr&(UXcT| zBsbB&@;t!vk@pguR<7^}H_L;{ee%6BM&%M;(5&*CuR(_bfsCFv+%Ij(OCEptR{1P& zmToP<_p48Whtegb8wD+o9+q(`Z7PonOr?9J#Zm)GAJVka#KYUZ*K{mo!{@$!yBIhgW#$;TQiee}40xM-WKIUp-X1`tY}Mx%B0)T`z(96~J=W zuYIk&{jXg5wKjSC@R5fP{#P3)_5N#*DUB*u|3CctwZZ+`Fn`s+ude;-&7-gWiwlpw z`2YE@f-D6=bo}tczXU;$^e?ZKJ}cLM)kLWUx%=Vmzy4I|@^5~}eadC-D}Bvh<$vk3 zyyg1CD{}48b>;R_ccnXi?E*JF0_5SF(#MAvOHGt+l9nH~sq`ba$TLc7CE%2g%7sVQ zAAVc<^XThG&y|G0!@($j9ySOEi*zYT6lwZVC-U}D=hB)8nbK%P25?(R>WBo8_8xwz zyy1%SgnUzK<>B{=c9DyUz$!hchy`iC^pN~5!SGOC@Ql*4@{9t~L#U+b(!CGw6uHb5 z`6SX(;NwU6%zg5deE;wgH!A&$#w*=a8j#$AE>{%X!wz^(5qhNuWCL5NUoqZjQWS7W zwm%v|sY~gT7Erm$JKhL~a4M4$6W2_hPi57Gngl;`C^o}ecT0|h&%O>TMgfLv6*kkN}_q$pp}KZ?p1%_h&I zLFGQ_Qw(cxCRW`;HI33%Od3oazNTeB;%mu*g20Z%F+TcHnLz}4)%aVUV>OLas+n*t=tawph@|} zLl~M|66`5YD0s(F#M9v-VIQ1k+zf$9&VH0y=YklMJRuek$i#VJ3dR1gvZ0waWFoM& zWOxFE&;cf0N;Vw}gmQyoiOM%v{sJTM6=n&bFpb5VFAYfWB%twtOqYU61}P2$mrD3# zho(@wi~@UDFsGn^ez-?QDHKjCf^z<1bu)v45zr}aCBZxe0VVrOp)HwG?xjnmWg#;m zW-dy%GGmaUGS4!8?v%L_QUC%OA&&u}n4Ag(O1DCi+`}Bu0G6c8x)`xax5{XQa0O0< z)RoSlOxodYnILJB`@~Y`8PH2xIHlYu*J)3I753*oI1moUR_7`DkU0?}T<(?jtN=IF%P@7jh9` z1bV@fK%qbxh?%&T8hg%a$D~_xOZV|b2dw%4$j!w zLPJxNlVh`Ui}R<*GDA6dlI9pmpVV)*dm5XX8XMZw<5P3X^QVUD4!`#7pFi>Km)-bybLQ;nk(5{6QhlPOOJmE7PR}mPW=19^PfZkZ!vQNv zpE!U|-XLFLZE<#*x*4Pz;efSmz^FDjC>Mw}B8>)F!1~)x9^89ycUiO6lP#W}+gP4V zI@-&3JoWOCm!|FF*e(6AUw`F+c((OxIvqQ#{6^Bl?TSLRACZ`HRVOwuY&GE+0eoG*o9~-8Q zR(@=JYH}iOW>>#PRbO{f7oA)?MGeS^#n5eyNdBEDhrc`qCzZ@NhVJODIl5=>{_@&x z+wkgxU;NGAd~kL$)PJ(6_r=EP`m4i+C$@`!E{K5LlsowGfwT&(HCtFyU$x-5ZcK!4M zr$$?k?s(>#uN-QM73N1~&s@3j?v3qB=T6T?)T)a8ue`PI4UIECHov;Qc6z+OqrsqU zsW`a%U|EM_Wc|v$^UDci!@f73fA+<)o{`W0^Z)su{^8z?tA77;Pki(BI{Vnxci+7} z9cg^)=|6tyV581!@@Gb}!y$8fU0Hdh$~U!n_p_@P&uz{Q`D-c;x3>1ihe!PZyI!v| zyEF4e%DE2bGaS!%^|c?UaHQvNUSC*VUmR>Y@a(SFU){0mK%LqW7s#|VsvMlGdTrOyn$Gmp`uBhM!S!=X{(;vXfBf)?#(l@TR=@c95AIzszWw?$fA)<% zC%fIb)3@$_bp7;H+}3vT<+t|jKd80Mp2-BsRz`k_4zIa344FynX41Nu zy}rr$xtPn`(?k`P!bmVQlu1FFi(y@FXLqkNlARn*WJadXuM|mBXV$4T2BWD@inLO< zPiqbiFPwkx$KStqX(^&U_Ts)1)m0tl)b!lanazc~r(N@=p-4PCvUFiLr2SLxefwm8ER&~>Lt&8QN0LlCknpQ(D%uQGrPL4fw>Q++ zwsmXtR`1yP`#<{l?#6_(v8lOV-!tF{k1nq)%}gYmx;Ee>-F`oL5n_p;Q`cJc=IeV~ zd##kY^N|U0W?_AENJ{;9(508Ax!GM zuRior}@%;|gI`~3d<*Vl8-)`o_rjvklA<)1iJJi9PTl?yCiQtBdQNi;%smQ>u^ zSNH7WZgtY5jaI+-OMI$4ig zP4(3C9AP1aV0kbFr`r3P%FD|egQKgb?|u5yPwp%w`cE9&UtX`aq-It(mgh!d4z;Sf zUZo`q3R%7eBOYU?3Q7Y*RA;4Z0-1-pyV}f!^DCzY-2?5-6^*SmcC*o!9G^KgULb>E zOM6d$9|;moj`347r{{(SDh};=;iyeqr1e)s0(voVKGXO?_0e!H1OW27l0(GCTushjAuMRO}R@7%rl&Z$7# z!GniRs?-|a$n5E*`H3NyT6OZoi58938%<^@JW2XQeao(=pWM~ZYjFh<*@^kBtLsA? zBhqy>wYE~_2PM$i)l$=D^F*>U7q>5Lt&R2_K63PU4Yip4!33dlkE!yFCl9ORn-?x` zfA{k8e8gUJ;MG5W>Ts7O92r|Wvwm(i?dtA0dh}>nMXkz{o|#)%J~gOO?RxX|*A7%@ ziYyacZjpj^|em3StER{$0zjdg?GctGW^4WJToRzGST5Z2A z7*G1ldR4`qj?VnTxf?gX``J%#Ekyb%Uw-Y+o<80`IJvNP?)=u;T-Ilzth0&aP7W%? z_UUY7D6$V|d;0pioA(}2$HpJr+TL35H`i4+Qfb7{KH%_9pPGmo`YGw28VO70u26!b zc4HZ8Zc`D{Ou`gI`I)7uh1Kb-e?ZgSTvqnVE3X``@39Ui^P{=JWOR5m;jE!{TYbMy z&G`FjDvlm2Yv}f%l1B!kE~}xYUQKb% zWGvwBZ)>XKte(?Pu}X)gwW_A3wLiId@uM$(`sssH=9*Vtd}e3Gz~HG17cZ|Yjt?@Q zH7%W%$jItUl0t%`Wm?PA#0?T*#%PPF+u1YfD>~HJWrGcREDJ+o_6+ ztsC;W+FDwg$)`zq=&^~3iDKMGO51*8c4h6}jZ14qTeq1!bN!uUAN7Wl5ueL~rko!g z>{T_^R31OBF`9McO4JW@)Re#Y>aOa(`42w-cVGPM#~)n?s`kJ3^vgS20=cEt)7zKN zF0GD*ZEjB#p7xqGZQXs|%=mOZ>2BKf?Bjp@r!Up%M=pQ@y z_nTFH;o>MYai~$_@l%gmQkjNBwqC8y$#|{CuDZ&%4;`p#wPkMp!_PmvzrB#|J#e(V zvQni9PRuMKgUAqLH`vJ>q?FUv_iIRqN;8t&O558{TECI`^^2Fb=aOdC$z!`-*mcA_ zJv+ZJKQkHVA$6|N;Y`o0ZWUv`eobFzhY`*~9lMO`#7jtxBIPKdyk&zv@E~(*MIwi z>#GiZcP9l}DPApQhLS5w@;ZBYi`*MCT7E%j~?e$S>3K9W0baI|975z_1W({yRY6p zcINK6>9jv$?5=HSY-sK=c~Zmq!BA{&CKO%Sx_ogwfnFL+4Uf&QpFOv}G|74~WiT|Z z!G$Y-iS+tt*iv71=)l2tvK~f9vt=Fpio$#f}8J(IsH8qjU^!Kzk)s!85yIdDpJ+rksoj27z z{p}}Se5=KC@gM*3@BixaYqOD_sv~c|d8~0DKQ=WtIzBPPD(KLuS!x1h6Qup}gi|>( zNcdU9?{4YnY;SjsFK?e)TPU*8rLC^+#O?#HRrXkuJ`D-x`!zk#k_U zMo^OvQ7p&iZhPXLzy0gKe6Ts2wlp=9#w?VYy?pJ~sgcyF>FK32rg&xG zN5K)z!D4=wS<1jTk^GfM-+J~Nd-}|gk-Pu&%YXWKdL*Vk@amIK?r-qqRxjV3Kh;-X zdAI^Opvq01TPaSAaN2oSg{nudRr}{NPHnT=kXc{9`QXaA)yXp>E^l{BO-py?@~!vp zP8PC6m?+OQyZX-k2k)n>-L38IT?4LE)Yn+GZ^u*L`1+qd`=)XA{PmAl$78N zHyK43RWXzj-T+0kcaGtknxwfRX~Rx>$H#MGB zRlN1o)6ec`vJWp_{^+m2{9xMDWzcq`4KRQT)13a!L?=dvXU`^-vfTksXlXS~K01rG zt){%Tx!)BnoW6Sh@BaN~r!OZg2Y2n>yYIl^9v5&e6elN&p7PUy% zmPR|8Yx-QF)L=H7FxDLY&Kqy-InrU8y!GBkXJ>3RJO2EMCtobDsp^jJEYD6FJL@W|PIe8R`QR`A`Jev&7e9IT%w$B}SXs+3VJjyg({!54*dLzjfev%|L7@=~wM};TwPYt%D~A;urqnCqFnh74zsD+q47S zsy16@YSN?EN9R}P$2_p9s?%Lum>J6?2WqNnn;PpY->y8_&`ce8M<_WmmG(-B#*?o< z{*A|9F|1zM7|)Fl_ti9N0{O{IadmAjL^{PtGL;@%pBauiT^@?Trxvb%@ehCd!wYkv zCX(LR$Hpc{JzlG-zN+k)5gi{-$Mk(rLfPScyY|6*^-VPuNA}`%aNu6=PC#XIcji1D zM_&2*jzikq=;gZ~ee(Ugxu^}VtDBvHm(MYB$>Hh`xh&>Pq^Yi`hcNQZf6MvEt0q`o`I_xtOQEs^Vx>eTy%WNG6IIKV{#J@2k_!eE8Aj zk3RVKADtWNZ+Y&?Z$0%^WxHNKdj8DD*?Fx5Gg@k@pnwB=s|-}>n{@S4Dv9cL8q@fV z+jnkkZ{Tlhdm6Ba+O5fAA&rSa`aPn8MAWmRl;R_8wUw-NPKU0&a`&OK>IQ3e`=?)g z{NT=7-qzGWOhlz|r*fld{2Q}Dr?Cao$ooPz;?Oj;c8T+l;eBtz32e}2U4Hw)m!E%p zb0cTfsA|iO9aR~eNOlt86T2e8CHJQAt+W~q)xp^~mGWQ-llr5!+d6UM!!JL%cVRxR zYppCVt5umIx#H9W)eI$XG8REh_F=gxeW?LlT63DTT|KlC#Hv1X;l{o5GsrlslYM&* zmGuB)aek(lll<|@PmrAQAvdWaQgCPwo?Lu=Vl5Tyw&Klt>^FTcE$)q&lkhw6H4 zjC6daK){AV;AH0`NfW5N%$jEIszjeGfBfBh_ZVy1YS5@E>j-7pxYwbR#gG^+ z%*>2qBbj@;+I7GY!wG1wJox&aL$zJmtDpShFTQwibpnjnR@XK4vYRMI-T`@;t&#jV zo@^%W)O5G^65x{HprH#r*Q9YIC)Tdsd2oAsG3)HAJ#+|Y%?dUUnZWCz9}1U)UkU;$ z5Zeqrs^+Gqh7L{P=AC=DuWro5nTH-#YrDah%x6iZZ(tS;RuAw=8fT#^iS0%r9;>#! zq4Gp^bC=c>FTV5n#}BS;6x{muZcS^osz*mc>m(Qr&}#-d%FwHsmNXhO*${2Ij@rtj z)r{-(Pk;K;k8hq|465qz?8>3aaj+6rXi)AYk2=;gY0{wv4|#FThVG`i>RRA+#+UEB z3q4Ha6%rL>`*$?UF5y#ElKAqx;|557p%FeesK*etK`aK;h<-;9IBQ zh}wmY81Lr6g~ewuq!P*JxjHnF^Q^TXR0sAlWvW=2nz zon!>TU=k=P zZ3tvHKK$^*JKI$7?&(l9L%&_j7%M#{k@azSe2Q6)DHx>?CB52^?qy0Jsm0qr{hVi~ zQ9bQQv?eH=x(L7}vywrh<`}sR?WU(S$?Q)UmsoT|yDe4RxcTvWNWua%EU#8Z%j)05 z`OJ?Nm?4UAXtY2>j#_rS_cT-BdV#KvC|@jp`o_(h*S60f_q!Ec(;;FM3d%7rqE|@?tSohww4045Pol}&@$oNU zJ>1w{&Ig!nRc&jJ2^l7ygqeQX?#RsM;33gkLjClLj8-)?Lj&&k)W+3&H!duqqs?$d zx1z~pv5d+e;3>ykMW7?u13B0_)<)`K^@Z_2KoKJ_{auWJAfJ>6{MzUa+ z2a$~)hgq=$D5r&_>BedidFacYhHq|OU7=S!bKBn4-J_>}6S^uM&rM7r(URyG9Xw-Z zEK*3O8=g4nV2#-mYI!9ZBL2>i)f{|haxqIv7oCus!uRKI(LS-{jTz?qrF*Hu9|uj zilVRp5-p|Z5AvoXLPg>{dbYZ{37aA_zy0BRcdlKSOS|c}4(V3vmmSCeoKyORDh!&3 z<7E#CxT>vgfG&~~XKudt@tq6Hqi&_&YG$0Mq4Y-ng_eoffW9s4AX2u&Io!_|e;mxh(iHI_9Cu>#6;~2A=Y&MHC^e4jTTprw?I?DMP#XE_p;e*JUg%i|pX7^cM1)Tx zA5DtJuVd!IXsmHC9arR>)Dbnqxg`CDKLR|f!QSY__Dqj1Ze2i96;cj`DjQTi$hkb$ zYYxj&(oB;XpPof7E5$mM+3slX0jJ4qapnAt&6(mvP}2pf#ipV<1a=d_3%Fi%HHAf4ZFO$|0hhlqW^1SpcaL)8J# z0r<=sJe)^%cEN|eicUx?9Au`>&?6gOv>_?|frX`S_#yzs>EPT}B!&UoCzYSuSY)(u zda~i$NTz@G7(B$ZSSk3VU{Uy^w?~5{u_^W;8Q2kVNY)b9%bZQm&&}i&3DOIOM1D%LeCoR+%}GiQJmMGiDEPODfJTSqky&}Z z@iAhtqO^De@+y^zKBVd=B|gLKC8q=$kv%d7Dc~vh%S%SUSvny(MY4T` zX|YL4Pke<5c}6H9rpy~PPH3qljf4swLG!4eN3i~8JJS1CFZu4PD?$bGQ+lzy{;(&p zcmx;n5`4&*W!ui99!ujA8kATCyS%u)gptxc(ubVQP8hr{;T&Ty87xVp$*|s>G2WG z$Q*oihqU{s*V24^g+b|8JjAc~sKgaQQ6)+&&C750Dt2SZv;55&dDQN|{7c<}#~=Ic z-}~3U|Fy4u?SK8V$G`RT3(vpst*4)V{@YKz@Wivv{P~mL__N2q_9tKa*Z zrDbBUxkSLOZLL*&n|^yFw|wR1yBC)h=3-h^WmR<<`%C(n&Y_99)j3jKvgeL5``o%# zRkNy9!*-H*VR`%J{Tml2JgVIn*J*v( zxs{FEpMCPdbs{7ucRc&#OFQ4LqN?M}!t&{L!jYSExsa*#*xpxnA3jNxD3PC8-@bc` zoh~E6u0wA=|MF{xYqY`a^!(CXab|9LZFw#i)Yj~J^2Ilf)Jxk}Kl|c`cQ;0T>arsT zj#t;zwe?!5Ml)0>6eeeuH&*6`+WNnlG?_yAv+sZY^UvQuH(@2dzxPN*jY@3|vyqFIsW6@! zD^89jX}jX^(Xx6uGM|~*y7lqBE30F+ntjjhc8`Rb9eeL;I-h8`8!x%3< zxc~0<+8Ct-yBh1Nt14?6u`N8QiKVTp@7}yZn)c4>ef#!O1fa{{iKNHou$OOcZ;rYf zUwiraHxHd?);hzPrEA~);RiQYi15F?bN`VO_3avKATzmqetltXdL-eu8d!j+scCBO zQkw(miRJU}C@u6$;np*h7Ow?8(er|M3q#xHMxq z^4gOxzIlS(ebM~VJ(36&OZDK2ka zxpDjaLfTsY=681NDO2fP(PVlkJAd(=>z6jB5JE}74C6rI>2s24V4<;=Vmg^*W=%QZhu{uA(&gc``~*wHm2ehRvl{Unp)dC2PmVI%+0Ky+djWB7U(HE$UHan z+Th}qix)4hOb&VsU2V;s82i0iBL&w&nQ=ICWiB5!vtU%qJZVi{uv3KBW+$^zpIy^j zUtQPO#@eSdFgSMMlTSXrz80u^<4?c&+~HQXXXV)P_+WdP1K!MpK+xW*p#oGWQJ6ck zef9e0oUi%q9XodHE$?zBCs!}uK*EeAY{a{oI=j_fcnubJEH^Q8`uqhj@9sKzVBhZJ z^}Tj~e5f$LdFk5b!bsSvuHL=#jpM3*XAquVrj70O0`hF%j-7{U)kb8_;?~yI>I@4F z_}MKrC#!1eyG>qZe+7=-SkC);tBxN!3I&^xi&(`_`&gDuM^2MQ=)I9uQAcp7xc%v8 zpWj#xweI=GpZ&>qs=J7st-t%d&+lEFNtjhtJb$vWy;rR0iM0#Yu553u#?>d@eB-tK zWi2{ydUE+3vpzpY5nxqoYjb@QbLoI~Mv8OD+8LyTj#Z7ys-{jo^RXy|dfAi-%jzJGOSVL`f+5~=<uOrMy46|(rEH<7e4z;63Vyoa<)f92K#`t) z_tSST7Q^kkU--t;uU7OrC@-*b@yg9h>*UGTtICcYDX#)5YbZN+ej9ndFc#7^9y+l1 zNTo{aPUYdtRYiw*iM6O2>yeB&kBJfJW`26Iki@IfcC|J(Hnz0(8eHMR@{P~FcmLvo zw{F+tPd>GaJ*uAc%I)v}{A2dn+8WIKmAT+yD2hu z=JrQFe!yJXI_r*Ape36XZWBCi!Wj!Wd-KuPUU_j(c{lNqb^Oq?=pG9c+D+K86HJQ7 zImGVL&GW0%Lq2WYkv9)j*0SfqhxEGe?tAZFnoHXo-gp7MQQK>ejxJqd?feqEowW63 z`wkvv`9iWsPcChq-B?{1jXQc<*hNxN)nW3dN2lkP7g%#hQ2fix`h16~jg@7Q;-hHl zv)dc+fRl;5Hk$FuDC zv1XksUYJ`3-ZRT%adT_+p~H%Xj^~QtcR~UIl!tQJaemv|pesF9_J(K9-@kKxebUo< z__^nw-%Eru2!9iKzrLKctB$?4hZe9d@R28G)-Il9dq+U0DnEkeY6q_ArByU@A?~vb z^s2kmy**&f6&}nN#tONiR9Gq0s`HSvi(Ev zdJCIX$EIgyP9eL*2k&U@Vpot-agS1C34XF;;}e6v{>BP)TC2ewWgFY)-$f@{*x|e5 zwJK~``q2{AJCsLx0-HZX|V`X!Fc{1bS%E{^$bctWw6)XV>v9or|9+6IZ zG{Om){1A?2kUC)T%uqJL(qC;^74zpw6gS_w{m#}x!O>j4`!G_e-{Or9A`=#trpGA7 ztyQZn``0Q0kn8JmCnR5&AsesNkjQK^qQW|E+jhpaB_>6 z-??&TI)QfGPwUOZUka-iZ(l|Bhge0dRduK}Iw!@z23e6RWT`Vuw5tbt>xO?RMTWd6 zZmln`uARzyH7)R3`Qhr;9=$U>xpnRS?Q83kezr&+IaXF)*Q!Ow&#Yg(esz0&W+ZNG zJiha-H})NALK;pity6|&4$X$|3;sG98_+EH)Pdo-v)Ar@@Ak!Uck|92-+tz~-IbJ; znV6j1eD~h{Gx<}?BLP!aQ`K8fyzpid#Rb!oYggXo?zyzC{Jtuck#nJ2#{-Km%)~LJj?$uBq z8!g#T6HiPM+sjX6qYh24x)r&p#i2|f$BOKO3ESD(fko9rWGIjtXH-kvNs(IY0*6Ii z*U~8~FQq8JAahK?WFi}!&4F%0l&*6rI$$V2QpiMYSQX{vEm}KrD@B#dx$SB87$;L+ zWVDGB0o`_AG^DJzgq%e3nCWP46f1|?#7O)k{bnb}@=?2?w+&mU53xfncPt=wr6F(f zGt)$xy}jM=i;aE38J<*P3-F?jDyuG_i~x^`)srG}bYv;#GgCad53Y$U21e?>1^$Q*C+?>3xoG0()`p?#u`Jn>Us@!DjMtT*at(3WzgSB zOj4^ixq?&3xlv{+1ZKjy7#wb36zcW?w~HE%ZYbQU^=4OYE)x|=N6qazxJY(axxyZ- zxhy-s9C{-?bi#S@)iawbcqBvA+%{W#8?{97yoUZ>j>b`wQ4ZY1a^urUiw`5$t+ulo z?}$#IkArwyJvD6_J$Ta@tj>O{%GtX&uUx-5E4jMheHHc~dy=s8Mvw@8?4S;~RtKg> zFK@8jC&!);CzNeh4?qigc$YGYaG2L)f@Uo7`RiK?OUpUW0Cq?}cCrhaO@~9W!rj=V z>(}TQgEz5;h0pR>(AaK9PHB4G_?TXx^|FG~*4|Rz)@$}nU%&g{GPYx|x1(8O@5K`H zF#|qqc@JFYlyZzZZLcLTh0YzF7$OuGOxV@Eti4kmnwhb6(S2(x5IXQMFJX}_&Ls?8 z^<9QuM&w00XV_e318WrGVmG6~I&yw%V-9~zDk;0*W6Ij+;~pEqQw`^JbYR*FO;2sE zEuAWij)f&}k#zuj)(f840|7rvY^z^8fZw6jPCmG@wm3bWbG91;Zd$NmrMcKoBXYwG zhug7;MvK!kvvWfPDojv~Q|gtYPkk06{!3eP8`gmE(R;mUd| zzTj{!!+2E+#~6{|i`Tc$&t($~LOQ5g)I+S|}L161UtET;R^&F!sutRfG(SEp$Q`!S?O3V+QERy&Yn1MuX??QQ4?9h)*(IRG#g`*8(zq_27xigpNQnIht(rF|TWY^i1K80%Zt!g5Z8uXtH zYFb7@Z@~9<;ApFBY&Iowld{l&t5IK%6xJeDe1WykZmmxv`Ru(8IavXA{csM4JeWxh zbZSD!oVtAZ@)9vtSlb7=O+@Q3DC8g$kg{;B` zuzqAUQo{)B%uM#;h4ZuN95%TNEo?%fhTt}eg~E**W}34`a9j~veilA;x9UKr1^x(< zg3HDUmmYk^9$@$SGQ~637oogiG{2MRv4yC;uP2&@xIh+V=GQO=u%s2qG^7^d^{eAaK;kcLP!(1XWF)pU)+O zX=I&~JyYVR?=|gVaLqz|L|IaHe87+M*X~WX}TN zMhj=|E@G>VGXh`2%G{Wc0|u=ND_jExZP0}qk7{md6wO4cF*Xz7kFLv(J z8Z?~-bk!+r?K$pEp$QF8vlg6Kv6JHLj@KeH3|d>zV^7ab;`dMEX{NB0El6NBc7>MA zimcwjBNn|GtXa?z^J3vnN5PC&r^fE)Kq}CL&{{pLWpVliO_;~N8zttGg@a@#LmM86 z0Xr-#35$@}1IPmnmSc8v5np&6T}}B{c)Fpc2MaR+P6BB3Zq^Azx{R}nHs>DQ97RXC z@O--KTH$81J%IKcLdrNdQsn#z6*e0Fj% z6KeQTXG$U0=cnfu5_sBHybB{VZzR6srwx}BpoVAky2QfD`dBatjl@z}&d!L}Q+=q7 z-SRUtQ&5c>TIt4XEM7Z9)MAoood*rjt7v!waw`B;P}rFt2^vpqjbryk3JG@>-^B*y zbihkSq-2KCx{#A5JRLWl^jJ8@YGDj2a&T9_A`4vbhO!wKooE4;SsOj*jNQy(5l98AnzS>S30>%bX^;wi8*ggKRc-w9-VKQh=z+-C9eJSQ#- zSs&Es@!8>9i`9s&Eo})eN|Zh}HV0&!rNZ_JDt4n-$X%Tn2nuW|Sz8BdMx>|Tl388? zwz)Y^eFag1Hh6gsstICk*TAuy#ldeFgG$qrBEe;cNPATi_O?Z#WEW#JLLVmm;Ogq? zh;Imfaie2=(7s07$9xUpQ;C<|N*u^w@TN9Dd#55EcY4R({onuMd+#g^ z6LqPVJtwVgtY>T6^`7zbcRsmCq|%C~y>ss|=-f{vb>+&%%{hFL1k~uXc9d6P=X4_j zT%O^js~_LmS{!o{LHZ8ypKiF|{3qA(hcak^C~*x}SM}aEUnxfq#m6wKF0K<7met?d zG7V!=jvuGV6iAWn0ywmFo!Gf^XO-H679JT}*u4J!G>d2+@YsPK6#FX$uaBaAjD{|v ziXE~KGLVFqig@j_?5|2#+VSCPh%xx_S;nwLe4M}O#0&7G3e!2fwGi?)&g$66*eI5* z7OFp4cA})<;YpV_#!n6|Q)tgqRKf8aFP!KN=bhL=9>=`P>*>Ki*xuwx;d+WP## zl`TBYfXVLBE4qX2Jy1mg{!Fq_U0zoFy?!j505SKAA75R{IyH@zhbrnwFNzHq@)*zn zV*3x`b1kzoBY?Gp_Gi}RNV`OEJ!l>yJlBhqjT5&Y_6$x=;%N*QL%pp;#+uQYIpRDL z-D{UMbtF%AZW^n7qBux(^8~gL_6N3K7t+lJt|s8-QS4x+uJQ2U!;QMa^~;<;yL7Q& zZ6Qja!jti{Dq%Mb@Q#DRNcF9ovuLCg6ls9Y1{A9z475YQ=TNM?9+b5wlV_CYh^S2B zm-kj4-g)3ygW8jyUR{{ZV6|wm!}_^vhKP5PlO!HPlwI~A^pzGl+lB2y&1|C2HUvVf zu!N785ZhZHnV<%&f+rI(qDl0gQSkyhxo>Fc#^=}OrV25;j&nc`>_0tPrWdX6K?kSc zyI75+Ov;wj8EYp^5!9tiW_IvQdp-J^h}CxOh}|2 zykgl)D1P3662I_(;SqG}Jn^KVrG&P%`sm&hcpF(X^C-Jex>4vZ>=V_aN+Lt%j`*X_M;a#DTNi;A(1WG$|KWP zh)a#7jCfTwM73n6VHo$NxVnNZpTzq(49`|Hn`FDr#M!%d@1D+1%*Ayr#59lWE^qb} z7uL>V>yA0qRmTpLBca7d9$7nsuFD~9<6vx{uAVb_diwTa6|o9V_-+W_z>GCqcA!Bw z1f|?~_sV7w`?&VdJ~-9NMm)uL#iE=bZZp3gC%)TC3qJgL@!oT+Oof`s%2xZw(;1&t7}**~Nmb{?Lx^ym_Rq zpSjAQf#S3uMB5iv2Z?#vphBaagLXt6hk)O%Ya@o;gCCn3o0=I(gxtMYZkdfGw!oZO z_Scu~J#?%ZdAkVC(@hLHY#RtLgRODpu! z2fwC@XRckpzBcCVJO-YQH``g^xkc=Mh)Au9=zN$NF{xUbJFpW&aK+LJBDFnO_X9}$0MWN( z)(_uh$8zbV>qWP=vHDmIb2x~m4h3vPTZ~vwvqV#4+J?i&E7h!VY`y>P&C_{Td&SOO zyBo2*n3IvoJT$fSyjjq6)8+d zkXt9va!yvx)|RMD%}T^c?AutrWWVUJ$9=xymGi8&=v$Ayy6aH4LZ8F*YbCZ|WQ6$% z$$u0@+Y~k?usS5Z)7EKL_|}Tw7QyDr5`hbAJF(SMMDEUGJcOf^X7KWT{hgu1H6~-=oc4;hX zX)oVLB;3KeP7IsY44(bzK~{P*)t2LBYv$Adj?v-oresK57O2NsRz)n_f z)QapPMFdNl^Gk~h8G9?M_OI=2vSwLpzkO|EItyRxkfL5^XW712_m#C8LWR|9Kll%S z^^;4P-hJQvo&Wid-Xv}?d-=nkfB*J5yfTUV)uW3lDw}&<`0%o}uu6;}{LpX0)|C2A@-yR~mykp0%BQ0o*~r6?A=+b59Vi?**R7(Wu1F~=%tr-OhhKfrZ=#E{^g7P9#1^>yTA8) zzyAkc``TlVJ@$wH%kTg0@ACJt-}&v|W`oCLkNwtf{g(WZ*S}Ksd-Q+%vB#9vlVAVk zCJy7_G_;S{MwoOtW~bQ_8uZ%3;XsIJrJI}-Rg)DYYbaMf4@5#MUUW3ahwE?$L?gim)VZ&jHN<; za+3%B!`YsOlP%`L(o9&_)9)Q$DP|nx1aV1ho%4QVweSW)(NNIk7kiET z9+%f)b#iRZ%js<|`+9r<-tyz|b0y?MJkv3|Z#Wa|_lIQbiQDb+1{g9Ml}IfU3J-FQ zCLFeFC}Nu!9^(MLVZiE3qPOsK4c>5qErIxTU?ZIhnA94KOJ(bkCmah8h9Z8e*pV#H_2iS^dCl04T=M{(nDd2YzRq}cLz(>v=CPDe9 zObF{nL6(k~8g6!bpev8l)LO0fV3fo3KD!*&iG(8{Sb@rI z2U9*yNV@}Gh$I~Fa6sSd#YJ>`*)v5{hLI@S$UrDV2!iNP5M;)v9#>-L=gu)ZW0!F2&o0Z zP{_lCGfbfZ889SAI4#8F`iS>Hgh4+Map;Ay$(R@zATS`J+d-T;A3y$(*XGRgyj|U0{=`TksqHkeB$*26y4X!+^QMAHli%U! z>$MH~3+~Z?%i*?Ltse3z*c}#sXlO7N0)^3V#4#Xej+s4&9o~v^D%9z;Im~1|q!~{z z7K+CQnZ}UIVY6Euc19E+u+GlgP!w7OJ4{X>4ECAo0Btfm9(H9r+=RbiRlnPhobmZw z?Av7C{+}@b0SGbzOsilZD;AiEIRCFF8S}&JG#4^)9zZ>2q5bSX=1xQ_(g|&0=#(TJ2L{!KT2*zqlkfiu8e}`BqdK|Kv8vOU5fR!3D4K7;=ecWMsi zrCGGH8qA>Bjxq0M+cwgNCS~GbE0-5B5e|D9q(}$Y3R;AQLkIwRCfY#f+~wp)fs|>I zmojYOI2k%0fu8ANF!anNK7k{EmV0?|iO)ivB0PcLV~hDPkX5a&NYrQaj0KI(>_o;f z;3wj1aYj+`0Z4h?@3i9M`(tP&xH3AJN=3b7`NAIHc3_6#K`<~Q3xtG( z)`dhwbqR^^9x9_D*{%W62IVd0K~M;WeiiByf>DqO;^6~45WPC+IF4wWiXDBY9*+aABKcESW>6iZDmU2!^~qWDwNn z7QN1dGV9=;T#Yh0NL`d~I2;Md{%C{}{3*Xcx*$gx8Q^ieTC4#w8nL8kvsr8`WGiU# zOH)BwX6Bh~nNXy(Vm9%f7GMW{bD)KsCoy{@5ON0fSaQ}-IPMn~I)Kyb#hs3N zA^^mS28lI+R7e36M#M4<$&G%}Bhj-hK;90Y)9>&kl3_Hv6>|vk739kg7>1EuE)<*4 znZl9SA~uKJZ9X#O3-y`8@vPUdB zMoFf_5FJ>LE@q1L1va}286cK;$<&eP3B42!Kz3fAuqIX%JwGBEH+Ya)7h?#k807>b z%Lh~y=;j>)Q%F!DP7!m829UuhG^j8DR46)LXkCax=0?mgJ^_S)Qldg2kPASCgp(P; zKtixF-(Ej+??808*zgZXVYA;8O&K~uZnO$(FHxsI5p#uYj*v^#3o4L_3HV8xg&oR! z(u=Z}#O(=%gm4&KG$=CCMO+-BQT(skQn4ZttdCd4fH4Ms_?SF4we8+ zq&v6cN-!ek%;iU@MG(opK+G8M#E1Hu(1789#qCVk{euZd#B2*YeBNl>>p}yQoH7|; zw3uvuCq&~6*j5}NIm|9HwpprPs9Sl zgYXn(hb~~ggnfj=IirjG4Ke1h%j}IBg*Iux9cO&xF%t_!#>6Zlu(_Qsw8n4joYD-7o}_6W1`!Ap5G2!Rm+YVrzr%u^N_5C+=`qJcPJ_nGqA%)$ zqt(dRcp}U>JcY=hA99-@1ej$Q9o%|7RyH^JJa)0;Eml!S*!c=OLUIcEf_dfudc<3sD%+Pp)hAjJSY^u zCmi-jeq0xrWe*dyD6SuAYcVS1uM=l1WW^c^xou%*C}=cdaCq!OHVy<9SVf7uG3XsW ztVBNpg}8iPbUWk;j)iEDa)LRhXf8jh5!}I*CFO!B6Uq~O3))2^$Q!|z@)u+ahbrHe z?h#Is2b4PnJ2b|m@}gsI6w+nFL_a;`Q7)BQJ&ylDO3u;@FU= zev(nbA;P562!Ex2r=L{J4md*;qp-8W6v7t@JC}YddZqN4X8~XOEP*bc1Qz8VZ{)2Y zr*uWY6ZrspkZ)691UZNddbi^j2%fN3E#x!|lFuOGi6)bw0AT`h-FdwcoFqSNBB-Ms zBp|avYB;ow$U7OQXcU1JG=UrGTKHawT7i%^G9Ny|@=OvWSlcH+mNq#|$ zVxEacF1?g%a-H*$ZF{WwTNfAGdUY4`A#H6{b}*xB*JrYYxW`XABp8ic>LH)S9Zv88 zLFI?%X&dE%h!xXWNLPqSOj^C#gmdeQVn6u_c*umoM9hoN z)ozM8J%fYk>aHP|JKx-!ix1f}A#XI{LSWLhALGk|qz92upc5xiNFSpftT@S%j`YC5 zL0r={MkxrB5P?Dl9w!be!$I;PB(YuTPRXgQ*ugT_f;V1*E3w)X3!Fs)7y@Fj6PMu~ zC=@ITnP4xm(hf2df)FcOjCjajd<_M43I=6f=nmo&jDm6|4Itz_!cM_DNPqYS+Qj{Z zj2Q}VafX=`3^>7(guP199|%E)B%-opY76O#loGQ*2pG7Se*jYe7RiGn+iwUai9fMy z=(oE#=qGE-cpn&PUR*P{DToolGqBIYc~=?*D~ty)fLa*=#3{$|1RjAy(XnFmLa=g4 z2uPtMg`W6T;x;ZR1S7wNYCZ+icXN-ET{!P zPN?D@M3`?5Pn&IKjvI@)z;a_OipSx$+i3x^m)IU*tOWTq$?oZ;BeQXU<#*yF@j;Ry zC!z@gc1dD>}c2w_Dj*Wt3=)m0U7TY*nA#3f3`$SS3UbgpRX0xk@(5J;7&ICgJ-OkaV)?@5%Yqd_!-DZkB;gGi9hiC6{;)o18_6f*K2X+)w*jlSO%k{vUM#$-H<2S?zC7&G3flPF^{7D@O5 z&Y&xXVg*t{3y4ZGa3G-2fUrNJ8Ws)t#2Y~FIz4cHm|_AR6CqWXJ?=NVf*{guwhQ}u zSbY(p#2IM*!fhNV;89;J>M)5WBHurm93-o4YG}wkJb{;D>}sJ@qoK!OcPH~Rvy;VB zF>kI97* z;-U)M5;1b)qT}Q9+Xk9gpb_?simVQyR1tZqb_`WIu9VS6_W(37}+Q`2P4Nm5lJdGiAZ!( zFyqC$NFt8x6)lQHM;0O$M9nf`QhG%s74Tw(iG!Z#~ms`LvZVuLo#OEMDoD{_= zK`sY_C{l6H5Sy|*BWl6PP6BcAgi?t~dZ>Zpgx+k>kdqXEP9K@-Nv0RF2d#c*fJid# zIl&AkQgI+{cUkDk?!X7O5HS@M1Er#dIy3TQg{K!2gUC>xS*- zZ1ZHWq9W}$h)!8CMV?B)fPu?;0m=~lFLV+Kv8y@mHR6%Gt*&s?X~3VR35Lh)1obhO z*NQ-QIzq%q2`Ab~)g)6Epdb7uuhN0*H?`#=GCo(x`XY@C>BR|B}#L`kQOuvteQMwRw z4mF_s5_3}GT7aO;9b_&xfc)YQ!4^2lJ4lv+B=a7YI0u#xw=>hkRM1lV1x`UE{V~6a z(a)sfT?q+-euk_V4a#B+!xYm`yi`^p(c27Pq5^gz7X%(eD9NNj9bWMTI56O5>5p-M zBxnX8pl3%wQuPH;eKxegriFMd; zxdl{7HNv-UOd>mBXLCQNYa=2K!GqgO06O3yi&L0YF)tJwf;J?+0QdBo)Tf7i)g3(- zPk9>KL&GUbO1Px<4K);;=nV)N8w&vfn_~^rmz+5O9_Em7a|A=At_+J`fGzJOzNWa9 z!pvX>R^~?-9CSbkiiOPc!lz6b){0oQ44pZPd9AJxrd`RblC>KNmtm%ID{}{_2ziMU zpitcZ&EA^_Ig)1gVH2T$EbE|cITQ{n@d0TCZSzrgz-&Lcqxq#MJyqAH}6C_=G^LO{s$2mVNv zCB6s_iH$AMnO7IE5@<9PsH!Sh!{`J8%1`V?P%~;cb}JY|UU8*-HMWyAGnJBBP*%4V z?}dyTP?5vRt3rPB(YeH}#4>!gLjr-1Iu4{M zfKwsbdsQjlz>WZd0@cXW4T$|WIIai>$=F3h#ab@XsWZf0nygTVaYaCH!1vKlbYg;j zgq#o8$64+MsJF;hD#cVhQV_B;e|_zX|MU2l|33fSyZoiq_qLl5zAsH|?HFhe&@ zZ1vQ_4IW{7Zm=x4MIJ}Upu1v{#a@I(pbHes;s_j$Y9V}^8bWbd8d|9XF<8d=zEQp* zVqd|=Wv8x*2pu+U+O zix88g3M3I|5;0Y!Y(+tzX4Fa=Oc}VB3}$gLo)U1NA>?%s-wocxP!QkKKt1S0fy1G# zEOG@EgioG!Fpd~>Xphn32pfQzNelqcdhnMlVDDRFZf&EaHFxV~(68JczL!fITOC7# z;8Gq{D@D`p8e_SWFND;T2IuA-xzq!C5q!L=Ab3wfwX~`Nuvo2W+(<-XS!l{LNnWYe zgbXx0?`a|oJ~jmHJ@~)E^eDh_jtN6SOi((9fYgGCs#eJx9~c>_9^qAw$Apq_bRn|o zOfsD-7*!k+K-ZT^W2hDAB4LSvohG)?7(x&*PB<}&ieeDZ1Z%7yoA4?G?K#qckz;~F z9xIn|w4JAk4u*qs1Rwwe#7UTLoY5ihW(HORCWz^d6I5*J=s|j#mKCURvFw71D_}`D zsfXP&dLK`LPhqmt5(`#}c-S&>hJi8H$79!($I4g&cnOTxsG?Z-Bf~z1 zpa9U^(0DA;QClqNLSY@0BF8X5a{yG`rAgLBfGR zg5!MJ+tXSL#Te;=;V}o^-Z02KRvb`1O=qlM7!T-L3VdFvVoISG(ESBG3)vPd4da17 z%s1!5w#vC=}m;Sitcr1`*;0y`mp! z8N!f2WRnDl^Qf!9!oQ+~6DBTIG4mT~wWfga;sHJ6;4gLn#o}un>R~lWH2oilZLV@6c?-+CU2lwHAvF zttTYY(Hnk5MX_$8(`b=I3u!^1tvE)gn9p$#wZV07@IdKiu?5YsENEOTa6oowWe$d? zP+I{^fdbIiI2yrOX`!fDSd2VG6b6h60#~I;L5n5jPirD{iJs(w?j>0Ql|$9&A1&;t zI1)?5r%S{JA(>#DKpohN00sqy4ao_I-Dns+fUzaDIffi#E0idV6xLpz1s4Ql44p2P z;WHS*LOuuanwJ!?EszJiU<32&jSgvjAR(i#Fv{pgh-3i$V6I?kp|uQh7%>7!{a8-0 zDv7qK(I3r>>Het z+)|N3Ef3Pb4j)Pzc&UQE0$TP$4$(o;_qa`<7wkUM@EU-AzrkVsz;aB4DIhun7yAzopPE)`X9 zWDyJ(-9agEQbE*1Q;DVus0D-PX@2&35P}Z@Lx`%; z`Ba5d;fo#yLk9h!gS?}9==H$j=r*++447sJ!I+?u!aO3Dk3J`{2$CGe1Or3mdk2ej zz>n}j=;1Pue8`CO*vJjEO#^^j!Nh3RkSvdpnyO+UeE?R2I?)OaIf0lGSSi3AB5C6Y z(gC;o*i;p>S;%i9%YtzWH#p2DYB3~V9ugt}I*>Q*o2n2G#Tm>EEt7;BMWFjjN@`0u`gbK)! zw0z`APD3J@_E`kn@+LTNOZ2d(1f;BxCG_A}n5ba%j$Va8Ps{{sC3?nNpOBvR-o&QC zL%a)bbeH1zfMe4|>>2F!lzq`{aAOaVMT;0jUF>C04;nPcP7rfxLSwZgAPix0Fc`!- zPhSY*gO!7N1^+NY=u6r)qZqUeikD)EgXRLXUBFrlIwLFt#wL$tl&FJ<1b8OYiB=1m zHN@+XlQ%!9OEI;;MPT%)#aNh7yD6do^OZmfn4dT&gyNeHtis zL_`G&zJV_J@?%6+U}{_@1Jk%^m(cEtx(jp((t%+DmG)}mP!ZG;ci;+xL7!mqdtE|} z!yh<5jNeu2%2!LnGepQL#tjC{DD6e#sQR?VqbsEsrJeRAu`v9O(keyj%2!7KPl0AV zAelD;G~CF_yQnHy7{TG7*ZlHh-i(2&h6WCyKHj5&dogmSrGXWFY2awQX`Vq0LoZ?A zzDy=w3upweO$V907;leENNOOLJ&-zVnM?LbroK8!_!2N$v7bqRn1s+6f z;Uz7jKZs7AQ`cWo8mQ|A*;Bok0@SuwsEgY6l9s(ZpHmmioL@ZVRsKJ{{HGrHi#>p8 zPGS$F9Z2m^<6yNhphm#t$BZN~pQLA8Abr?Y(TYe!40+R&UcCIk4v2|3o^RXdjMWn* zi58)cplQv%AjX$W1Qr7?*!XG9K-~C*15Izy_;b_RWB%R}_4AoX1*bBnEbI9a1+S4Z3mcR*Y8s&TmH~7 z%Q^wcVHi&8$*^a48Me)`uE8bI0#<6fC>@2cr~tJF1&ESiFfrNfiAf1fMlmcSIu6Iu zDv4I1vZw@Wh$8xd>PBlP?a9%0v=Bc-n}xil1B14r3(yiA4xw8p2mGg=@cJIQC=^Vc zL|MjAuj{!E4uGxH|_ChDaaeAR|bGs zUWWL|D~@^^Cz7Zd`^cf6h6@ZKp4eDGeU$-G~^7gUt8^j_&<>PMUoB17s4)Q8@w zkke#TlJ@`_BctCPl>wFDDb$YTT!W#WLWA)H8o{cLm_+C`DTWb2dKE-5?I?^9dW{p& zyC@Z@MP!4sYHAHj5t*ih=he}x-?S@{m`aCN6c%)it*Gj#F_n|sVhlymFnARPWy_#U zG=sVu&!E3SnkrHfO?tyieT zxcc_zLYmRkQ&vYsRf8O>O-8C z<^#=7e8BVgOe+uQo$jJ7$Ph&%5k3+-p@!fd&1&KW9wWzXFB`9hnBP>$bRF;#QGM}; z{zfgmnu5HL6Z(^G)5J&d(<)Lz{CWSWZB$G8Pmj_IJpu0GaXxzP`48T2UN+tnUSj$Y zPkNmRra>$Q57WJuYXsHX%iT-peZ%k5KkvSm6B2>joL1q*NAD)plzIxQ8-7Ox2^fv% zr+Ij52~tqCz4E=(_&BW<-K6U@Z||d*3+0I0-bHt(N$8!rmoEB9-@o*cz9WHmn<|D2 z->4U-C7nJ<_i@|%n-+AM7+;WdnkA+1E-$h7<@D3^hnKgfd4K8dmoj;oIi5tT3h`1vdn2!Ue^3Y5--hPET6J_araAKUi|PfbNc<~-S#?Qn#;8Lr+I$qNql)x z5dGkN`SU5hl;nAiFUx%8(`jBW-oBLk^Sdu@zS_~a`TV|D{PfE!A7AZHB&EyC@Rg6J zx4rwX-k#o{7Vq6ZtqFa8S*horUw!h`)X!6T??3lRubk(}=+Rd{zgk=G7ccMAM5muA z{VN~8^!YC|!h7^IwfFfn`DvlkThD9o%KM92QTpfiy?pS+dw+TV#qZOfrl~27_x&{e z^zL8%^+oCUFwOIManoO3{QkVK(;}Xy^1i-IL|L4En|}1toqn7?gP$qIi!cB2I=@Ky zA5Zp|{CZj!%H+j`q~2}1G5vJ<@U%uRbMk6QFJ65;28Rb;`ThAX-c4*lu*zfUrCcFe zVy(v73n2jO9QZioX51mk59>LWU6KokUD1k+6@*qlEF-ki!Of!TU@7&nYQT40WTbY_ ziOu+L-sPAi#rfc!)YE*5zPA~7Uh&RYpdUXetGmC4f=KB0<~X1Zo$Ysn>DmFsZzX!gq37ZoH;x`(>DIriD^vb`pNH;nPvXGpGZEdXn@o zz^EVu7jLa5nFAJ{28S#}DVFR(oP{ihJdl>x05Hnv@~E2bR<#03(CX(xeQn~aS; zWKJ4E{GZM>?4DhsGDyzSb#;sM3?y5E3^3T(Xkb@{Ej!g7v}=eV7PT~_Bt%A{4%-G< z7}&x?w1z~B>mUbLwhFq;HEFs15IAw+SvAmCc}^fNg1sR zP>n+E<7B`_!)Rl`F%ViE&S=xDVUm!NS=BWlRKl|-D?)`pA}$6S0}g>0k}yPT?5AuQ zl|bVehPHIn!So322~mA|rG6FdHph_2+*U)h7h|M}1HXSUwvF&z0oECkVnu`-rFI)) zG`d!nlOff?XkY}yEp-Mv7Mq3qN|O#l5}RXeCuwZSJrEG2YwR=7$1aEm!|II)I-YYN z=96Se$`Wi1WY!)Y|LLK7*{8n#OVag!nhbpX!cAxLf5?BwXUiYkAvYG z_p`R|^Zy`n?Q^j|kwQH#)HZtmws+2bz_9*v?vRNcav}E|!U@^-aqKloJR|zf%=mrn zp)8(z^XV36_?X9!F@b!Or;OaYPF<%?94>_ZzA14GcP{x@b?^F&e{IjekI?Z=Kb)tk z*Uz@UI6HSUzz)$N413d&A4u0jF;cX+?GQKN7?!=sC1pRz5}Qq;P7+QJrPqx^R_qzr ziaH_8Bv33=L}Krd4S?jJ)50#oWka?hZK-oiFFDtbMEEdcWTm*Sz@^d!n-(a_^GBoKiml;pJLR%ZK zR+@_-qNzf}b{H1VlIjEe022rNKw>~sSR!bdp=|*%HU_gDO~493-3Sr{Ph_F8!=!h> zHlWAAMgqDICBI!P~$tiPO;fK@8@!=F}*9+G9Y-lXimi8Rg+I;!6gm3T|Kudwj~ZOR1SUeviSyi}%3vvD3=D$i^$-^pWX<(^u%j z|MS=W=HL3;bp6f0@i(UD|7U;U=lJX*%nQz#p<5?Z1>(^G(8J4B;DT^`j3WR-H{kFN zu0~X#9B>1NZG^hT!Qm913spUGz~LRNqTo{t8VJ~%5GohCdM_2API46{csCFP0=6YU z3ZO%P0Z?I`Lm=S-!X_gj!Cr7ef*U9VrWI9$$RkHzbf5qXKAor{TVODNh*53$*#WiT z_ygcY{056szz_klkWouu+K?Ywf^*at+37$J0qf)eEzl5D0cbz~Hvkoa$9;GiMlGR| zp<`^S9Rg(_qBRcKfsCZq0;J<*htqxZ27DX=iv%xE1PGnhj(Un}2h^ErTNS_`P!xcG z0v((nH+%)+20%jO2HXsgBzXW+JRATy4o2SrwTZq%i)b)#Is(iZuvNusO+|cJ7|$ty zVgSp7)C32HbO3A_8bAm>z*DFkKtS;dGza($X044p(qIo3)Bqon{Ye`e6MaG3C5s^lXe`nQ_VmiuyV^V8Gs%k>|(soQ$X>_ zRh-x&GpL2obCemt4DhN=KK;Ck!6eg!qbfp&qH}R<40{PWIVU%3DFljh;d3;H9#DV| z1S-#>@T%Z3pf|uY$+`|eHa3TcksF{>o@r6dh5-si zfqILw@!oqDOh^ewgxr8MCCnra$-y(xJXAwQTvykvL;A)%!kIR3$`}El{W9?=x#Wa3 zS}_AaH$Y&RFUXw~jhI>r%{gS2 zp0Hqo-6O!BK=Y*oz6At3#960qyRG+h00Zj4J)kvm2AyBgfl&eW4=o9;F0O`hGT>G4 z-rw8oZVpEKC&x!X4Fi>~1Cx@aK(XA7nD62YtODWrOEwT*7JjA>`@CAM_j;~|K|@J5 z(trx`snF`uD!kDWW}pB^bgg!)>yA(E-o1O&D&{3Pq=(1HR63c8#DmvYXD==WGw6td z)oi-}&o;Y=wPHD4*KWcIhMLb1R+3A`BC&{n=F-*m986CzE-GRr_XguZy*)X)clXZC zS{b;2s$9tC!m)TH6k4CXc=7U56p>?Z0A7N6HV31=4KJB@kH+x6gc$+$t=xzpkXgvT zaOKKkAd87bd<)*0+T%gD*X`{c-@bdR1@}019iWDEAR1b}zIyHA)vJqemCoHrr@4Ys zZ*Of6HV4}~+xrLG-JY%29RMyfp-5!IKR-8rZO$J;WCAvctzM(ka=Y#RxaSNeCwGpv z$A}yVH%p3~-GG;CxGBB1w6eM$gL_u6Wtef*>j;z59t;L!MDQB8wU!N*Q08;#;M&|} z|KjEAD=YChlIP(02zVWP&>ghez3tuGyEoA73jDCl39zlLbyp=2_}q;o~hM!eN(jcT&Jb8vfi z(C)U~x>YkkZ86044hH;-tN!(9EFRA=H!$%*y5!w{Jm_}^+law=v(;@>4GS|A?$iCD z_28QS>iqm-B#QJDai#=fx9s;^MBV83$J@Kx{dOC)3Ij}tOo%lT4f>Z?{Yz^IPnS%= z`7RKzdKC_8>rEp4&B4~*@zJ$ck6 zR`KU?72-nx z>;)#_wl}-2!C*A(*Bf>Fy%t<`0rCk!f=z~lfe_rVV`4=jF$@A3ZKDeSQAho7?2q`+ zjaIAO#;j?BIE*Uth4B}hZvimCz=qVTbuK?oYhJEBr%b;PjY+#n^4j#vNARcxN z*kCYUveN)F%jD826bq^e1n~wUOJzM68I}nwAyv3VM!;*73=hQJc8_A%BOV+gFu{-* zDS)WuC?K zK!c~j{ZiB`7=BE$R4PSCJRl!QY67Ge8e=@Yj8QY278jI+2IHcsflM*)AR7RVgEax! zl3xW3F2QZQAmQjknzsZgCe)3WElmwf4$2Gv=|Y<^S%7ANT!sIh+>8z-Y#OX+kTVD0 z0l@PkMEx}Mbj~wiBO!STx$|I5?19&}?07Ai15mX8pwU7)B!OiOr zD$c9DCr%^9X$e#WU6dhu z4LCsy$p(OO@yenXDv>TK!fT0l6E6e@CtmyFqHK|`_cr~AFE4)m(g!LB1$p?Z=Pjcw zpXcqpzf#;6ZdXVt&H!Qm>U9YLLErw?8{hc)Z~n&De*M>e^;cf~?X`E``sN#FzVW-S z|MqX;*MITVU;EX6`paMWC;#}rpYG9%zw>kU=pIudpdIP}PEX`d^NgH^(0HMybdN?1 ziwaP8w6ef*irmQH1MCnmOUcFGO%8NZ3PugmQzSe#0Gm7WPtRLRM2N+Zb=SyV4DNVh7}4uhMJL6A9O0Y zIEFzI2+A|~hDZ$y6l@T&@L~eP5}u4MajUE;*!RQkt^_kCSTm^xb}yu;Ay0WaY!Nk> zXOLAD>>R;{$u*=_C8uP_rAl6D(K}ekv5l%gG*ET2Xo6V}Oq^hu1?~z%L|CyDV60py zz@0)-L=Z08TVs<{lr8iftaMO5c3Tw-#Z%8C%d!Y#O?c6T@dgY>;ZqkAUR0{E=*8Ad z(P8IRfi0ORzz->Us9Yoi6!;dHzQQmO`U4mWVKyr;Oh?{`J%zr8OhxuvfR~f?Hgr7{ z5>inF6%OR!+`KHq(JLv4$O;W=2aFXw$(7)sv;?zC1KO4%d~=XLN!a=76^P6r3y6M2 z34Ui_97N6y!FY88cIB|MhW&F5ij4v`U{Hd=H@RT}G7c+47&+N+v7sth4I#o{{e)#S zY>FU$ki|>|MZi8c2dg?&R7wIlm&JY@p2t8VViDL+G#VC;WS0!fYwYsjn2r2m(MBKI z6pTD1YBbM)$sLTbHFO%Ra^O9HENWrZ1iLU5GAnMvCKg?ZEi5c#%LTOp%Tek=#8Oeo zFQcHT0#pvrY(S@~!!jI6VT6hPhspzp6%{7`z|>-t;0KYkL!t=MgT@3kME}AQ6go~V zz##x^>x)JB3PM`Q?L?!>V+mLJu!<;1t^%8ES;OH(4z5S4HdHO-$3=2X6ONp9kVO`OWEbV^D&eGOU1HSt3fTo!OMeb!~Dyv>JrOgBtV@F z(<~yKAeXo54Fir~1>M!^*lY1(t^g8ai-Ik|U>#<&*giveFC*r#rPdX|dqMP=mBq4Y z!T27G0w%}M1*w?LS{qv{n14b)iorB-6K06eenAF>3O`i-H5|Ze7WhvjyI;tI(M6 zs%CSxQIK;wZz41TqzzSTGet`*BtV4~M;D~5R(91w+m#rE1~t^SqnF^3y`(TyXY`Fp_ z%p&}5)mRwhLOX21DlwNS;oy<2I55c0X?ekH*|1cE6Lmp^qz{*dwgcI+1YK1@G)#1D6IW{|RnuVc;zi!mTZIwF{J&K)STar5+Js4d4$DMYLuj?C#KpNX57$x%QK4hzHEPXj zku4&|O`d0~rj~}|no8Lal#yYfx2lL?hiyNi|0zn#(NYyIE9a$5qhmQ>GEJ9PJ<%WuV zSzbfXzWrt!p__D-!M3E~$gQnnB`GRqDVB_8uzKm;O0m@LA3`aLd7oHi$}o$U$`%8! z41i}Uhg)_{b!;QFu`bBg#OPRp0cD`7cENdBO{`lP*qUQgnb$z}P+@STE*f1`F>$a7 zAEyd&zUXvN=aEp#oLb8Jrc~P#7w5dM$6;Q5V8=Q=9oqeM`-XaXD3BD@qK4xfxjT+)bQbX5%@-R1v6^Ndl9RN)0^;w(acJYoneD#ega1pqw!dF?WpuDBaoI%;!=Z_Q!=foR~Hm0EEG=d zrdIEF%83y4JXb?&0o{}~vT&eW%#??A10kL3jdBC+O~_mOZWdCAqquFHC9P5#4y#_JI))T3Syk6U_hhpWfUaSxHN+HA- zUg_^vN=GeKZZ)!rP!9fN_*TOxjk;$1>Uu~^2NCcUI$t=d!kzLi7?Vw6dBA

+?h8HEq+U)MQd>YGbLp6uc?oL>^CCV;gh2tl&5dotO~B@yJL)y^{2rfz0MD2%l+tFx@=7%~vul3I1(2m<%hI-7>HOEx3G;tF>)O zT8KfkGwpUo7+7wzRLwv|o?c#HOSxj9qm{}CSn8Cs`lMP6Gpoz;suJ6j$c;wwq;C{8 z_+Z=>qV>%dQ!LEJxQvuPf?vF##_d40-fzOmL7_a>l=V<>Et65Wylpl*Iv1*!&8_yZ z(JEynwQGo3|CQJ(IC9P$LTD@6TD6Hav(bk~Be)rkMWQkn&6X|n($Z2`C~)?jlTl~) zpe3dw8%Zh4?L62WZf|w+h~X>3^ODwTwi_d(T3~Wa+@B}!6k#ejonEJ*F3n%_2lgMf_I9=vYirDx zqoS~XSZv*P470zLh+h5XyRiV`Ye^Y|%nQe$7KImu?K=@mbONFa8YzNd4GR&a9E61n|F>L z@n?SBcQGrJmo5j7%?~C=3kw@K2&=PN>qxD#$#Qg7i0tpwi+TGIe2HxD<#$$?+@*`x zVqH0vNkF98KX|fbwZn4ga-^)D6zi+3EjWCmAOGe&C(7Zv)ZBF~>EWmnWOTTmP`TIFwfd%efDq36PoCaF zP{8PVE)yv^vY_{c=<@Q?yKi1uS_|ccB%`!ykTh z_Nxu|V0T!MMmSKsa?a<=3w@`x%_RyI-K{;mt%R#}W+{8+s>tuSZQjW$1%q!k%-X&X z=FA!njf=^2tzTl{RwccvSv93Gz%d>V)*X#V`fatrZ-uv`}h9ob+)AmZrYTbD@c1unBSU)!F{ru$7tqOeNhWYet&`A_xwPLPS z<4XBV;nBn4b}Dk0h$9~Nshab6m19{;E*=eJivihh1I8@#;k%XXU?%cA4{mp)JjUAcUP^i9p_i@WUx%Frw4=VvX`P*-;#hUBBz{Shr z%DXdKy8ZsWJKM_PJyqSRIU8^Jr6)fbwRYQkjTMATDqsEWwq4&n(R>aC%`rd3^85{dP;q+7FIv%TcT9FzJPJxz5viCUg7!AATEw=4$r- zc>TgzMPfp4U3mNQO0{mK#k#5IJNF*mx_!?KA-pd$bLrxh!tQr&Pxeb$9_mM9d!jE0*w)&*v%fX6`+Bgfug^5G<0*FcD$R`Vo14d<_EYRqNDlepnZ;qq zeXxBzj4hS5M}OELJIoq2S0iWm2VA)qk>wD zT)wEqE=Qf)KdHO7T*Oz77J`XjtZYq&y^39Fm(pt35m(|`M2!bb?W6DPAeNmH6T1zg zZD@!6(U6_}or`Vb99zl7mxV*){!bnP3A1rIm~%U&6@T-S51VS=5z7;6n7#J3pjKME zx}qY+-L7P?+6NzXqW+~zmoNO`|Ma0|41WAQd3HS<_Fb+FSw3cOKhcX%PHwgBC#~|O z)pRxX=0Ew?2Ev3M?JN{72l(DrW4ryM$w}Rov`@;H0r0o>e%Ifa-cErw;jaA>3RNsXoXbT>fg3H;>A|JAM z0Hgvc${KDLQ+lk%JM$2tciASrbO;}ROm=$JnjOzOAb z95I}q6Z)ZrtB#uw>!Zee`kiI2svdt~md?yBhL2PM(1LXUm$JR@bocXdRjv;@ zEVHsIFq!bdcj|?Oq|t3VzS&v95c#yltgnl^w|B<(I;Au}zW`i`+ORgwhu{1B(XP(+ z$Fki^tX}d(E46&=%sbJGYmt1ZnbZ#M=?vtlz6p?Tw!l@kS_M9^lnm$K0)NyP-~GM& z_d4BLtJ5=tXp(mip1HY8=dr<#gsufwcM6$Ewi&BBKmF;0Mq#ox`;99ZDZq`Jjdt~e znvq`K$jk>7CRaRsznlmUcASReMCHa&tHPN*A@Hr0R&KnzJE)e#ZAY0&n5o}BtM3k- zQh9lK-QxW-vzbz$@|}}PwK1wTpZx3)QAA-EtQ~Zdp;A5`i51;&SWE|t*6w%O>tQ%} zacUzMK@V|&VTgzMs2KR>+e`UD)7CcTS*5CPSC!bB*uD4rUwqWbGjpVr%&%WsNu`BS zsN8Ju#oGR`3HPL`$YvV0;SQiaJpBAA#J-liG&grK0EOGy!llI&tE7r!TQx_MebpM5 zi<3vKE)L!O-^>V@lFcGF_~}9RimAubIWUoUyI<`6%cpyJxm#Gv--^7mY%=N6AMH5I zN-6N>H9Zhs6th|75C7<6Bh&F+O(=1L>vh!P(ZR&#lyaPJ5ACa&(%D#9Fqri3jUw^b zS|S{c7j8fN@lOv1b?l&(wy>IDYiuquGrwMtu+J*CEOu!nqIPU;(~-I#oWOCpm`^SX zmC3*Qf4<*5=&ON*Z~l!r@%~A-oL_x=rI5ce7dQK@`k_*qxcUY+R95C!!y)KmKl}W_ z{;;96D#>U2OY^Cv`1-t`i=IF8Ysovq6Bdt6JTrL}9Bdw=k=UYS*^! z-6lLApm#glrok1mG%MDm(M015y8WEQA`*t>ys$}yqgDI*l!frckn!VGE z@U=lH8LlPg`9>`n$bYmw9Pa~*CD-FC0l63n%-(JuPQKsIN*nd;M(nP=wr>4&=a!wD z|DAKIk!VgHauL;;boNzgDabjk5?3Bo(lLF+3d36v-k){0dpJf~6xvo08+Uojw7>X~ zT1d(zW+Stu#dtaVt+(I$9k#dCho81$WYu~4P{&EWeCzR#K0i`w%3{hCSM#Mr0I;q^ zV8w15%Tc>oHg-OHe9KL|^E>I?t#AMIvt7HQY#U4d=#|wg5pF3`SK}+8ytecGC%bAV zFk4|Oa<0DJ;KR!c7gOBm?q2_k4|cmdw|o2Q%H=ER3H-m#zdiTPB_?fDZg24mE6W$I zM04eK_x8g*8=fMeaN0KOlh6OvdkyL$C zmg+jN6s?|a_gdAah2at{L>eqxotl!B3gO6lD3eI({`E-ChGKivY94?48HAdnyDd01 z$^ZdY&c}I2Ow2~qa4KDWIB8ndeI;Li0%P)7Cz#P%`y;p5v|5IFdn3M7yWa|BGjA;< zuElo_*o{p1owxi#d#H=b@zLQN6J3(~yr}o;a zDi%_VwcW1W|8`*|9b8z6%?FobfCmMoqHlIZL41+z{^Ywyp@PC5eR6xao-k%sdY^wX zOm>;Y^HxZ5AD&t=UZQ~SLi9o!q3fyvb^7-Phr|D&X zii^y=yP6E}hacZRI%=_@baj01UcXlig%An+c+cdD%*HpaEXTvK-0HC_2#$^kIdT-kGdMXi*79WRziYRE0|SR2!yX(OXdo~#?>nU=gGat?%sz#`=QPl z4a9>s?$}&r9qXC@%IekF?Y;iV{tv(Bz`bK69MZ%>F71yW$DrbtPH-;ik@WS}nLf6YscA zfBf+mb)MCXN-XWy24H$Q{qD%jTl)uoe}LJu%$DBcm$HeJ7*9m~m%e@_m@%^1e6-t_ zCwFcg?C*c}Z~pAl@rIBJEzE>9vs7?KlTp7fwwf(S44Kup7cb4h6K2kj9e%Z2$pvPA zk=y5Q6M;l$d~wbJgVhnt^%H@oZ{w))*|%gKdto?qPD z1uK_S#B3YYyQNgB(&}_7d42Tk{ZIdw&rf)ji^Wqp)?cYt z9H#}FGqpKx!>_f-L<-eJvQjVd0pC2d`Nr}1@adfn8_N|Id}kBfptlhz%|%O**`?Cq z&mJ7xUG>;dYR-a>NfsRlm7+AZPwswHNiz^c*Ok#u9U((X`Ni{Z6m#|4Ke(j|_5o6qh)IFRb~Ynd`vt@9zado)qC*ov{4?X_0(W{k`@?-*|R+J%L@ z)GqUI8Kph^&Tc~wt*xZk`fY3Fo6A`_vc_AnbfNj=JAd?ppMBiq?DfSIcVT7Sc>F*A zxLSt7%aE%*Ikd7YKNt&d#jP z*d^V6c`h*6i(W3Ko|W!Dso-RJt7hh|EhnQxHdfl$?(cUSIQB_IGEU-L(D|SztV?XO z_3(Ja1vdn>S1GKO_*x+)h4WlvtA7XMwtsh1LWGCSe7H3D@mJyg#gjSAC0-SU97;|G3#YzLi*8d^@hJzRmTDxpv^4;4sZ^e>^OU>nSrH zJNb!`H_ULjy2z;?j#yFYwr_V^T;y^t6-XTJbAg1+j~%NP_P?EoZGkF*wf| zWZ4sjiLlki+iUUOz3xGm@#W74-)VkaPbzHrPG;>~{yU!xo=%uTw3$myK9O^?%vQQ^ z?gHD9@2W~wRD-R-y?Q1POs^=(X!WFVztj8Eht1$SQT^SE5lIyQL#+W(^YlkQ_-wb| z8Ezg$=dN71dj3jfa{D06%grt2(yzV#oB!yyE&z|x2gu{mC->cfX|%M)lL3z8R+pLh z+FHWzTa9-<{q(a>8}8j<9_L9_j(5%DB)ZQ~o%y9`N?Mu)3ow0vzp%D7&%AUJb#)+)5>vm1=7ur?0-%D{_~k2fa?m z$}$UF;p5uE)peZDD)!Ug-@F}X3+ZCLH}_P zYWLhTm!j5A=YykqKGkXZv;0~h*-kFPD`dI5wR7u(=JJY|4lJeI0~fHTteA?hg__(M zG8=qmI?wnj9{q#qx5(T=laxN$xlY-CGcH-TnQ$3GP~1O)Or#wyY$RbC>3f zy{9anOh<#?efHr8JFzI!-kfmIhueFLbaYl6~PzVgetHJl|uG-uF_Gi7GFgKgsY;^Z_YPm&~ zzv_GQ?73f`U!Q}`xgb2c(^V=BvvTm04e69QvrpY7jev)!G;YAAnh<65EE=w&QtI}@#I1BKJp z`D-xNJk;xZvb|p9>o~g_G2X$#Hc}sOPmoGn?C(osFm0&hdu;_TTC~+`QLT17}M$*W4`2x!4?R zigde(sA4rYBic~Iw?`H3sGDc|J6q{xDR%L)Y&5I~Pj*&>c2Du=Rxf=cesK4&*GUM~&iVOsZ=H*!0TIc~ zE*GS@lw~$tr)f4TLVriC+dZ@XYQ?SI{VJAzH?E8X#*~MIT(a*AFWdNL6x^&4G59n@J zZ5=<`*AT{)ZRlEI1wfl>SqROi-QBX)>pOZUQ_9I%-@6-Gxno$vBiV_wVhvHt)61!I zk&HgBbzJ)Z#2l3?2Q4dpMx4#6ZrnF> zF`Wwx#r?gOYTc@{X@C_%bfAiuE@IWxCCxR8tLb9X95&r#h}E28BDU~uX0TnK>^6Z- zsx%BGzH}iPv=wK4Hz4ttG+;~)aW$;h{z9*xAq>m`w!Z!pf8JdTkby2lrN^M zfGVBkBk#O@ZWXwYO|{g5sX=P{aP#Rw`>yS5M%bQW^-|i7lryn4DPcp)uU!7+f5t>Y zMpYX&(uKrGR^rfwy+Bs`jo(ur$9Nbun>+ktWk z5T>JTr~uq4Ma%gYJpc)ve##L?!7l}{!+TaC!_e5w$QhA&Bv9=5Bs6n3T! zbv11DcMd8mOJWdn`(mv>;9Ov6tYLI***YG_5v{Js#G>7U;lL2bBydy@Pr~ z*q%J>7$YYhiu!$PrDE0Y-G5X!w?}L!6;8yfKu;7HCAgO6Rxe*#4i}s5cD=sYDGTj3 zV1lX0dRA7P-Tf`MGpXkFYC(+985QD zi~7ma{b7AWNH=cPiVS~^+i8k1*sE%;P;b_x^hRhILWc@$AkN?OiE0t{V;k2Hg-IAX zO<;4xyk)^mbyiGlS1Q}1p4PC_vQ|%Sgo8P;*Qyt7q0)9rYOxvJNc*Z{U)MUYB^n-C z>4ctB(upKL*x4E1y;WQd=vFY6jpeFZdM$}F?b!&kE&%S;8>(u1Ji_U|6osuozA@?S z4DUQH2H}n*l_)8@hn?2o!#gRq!mKQ<$N7d1K!uzS##4|MfF1)hN3k3oQ%18pZV}Oj zu3F#C+ajNB^ zsUjw$oaWt~?xw|5aw&V;RdRvE>PpDM+(>D5HrI9yQ!Z6g>pINxZZ)<>{>WOCGgYnI zo3!9#B$|$7fP4l_7%@6GqWO~AZEK)4F#-g1o{ttwkyv`zGzMF4UW&7s&3da=>lk}A zF&0LY8fT;*y17V%!@?)?L1AMh#&!=(y=j}hQal`mai3*&xUOL#ys2fDN{*VFxXpaB zoJsL=KFu$zEpEuYL2KBkIhAyhRZ2Ng8d)c8+u*A>zX#|TCUZ8>_*r17b7CQ#@^9pM zOiZiQt~dhpjWOVnJB_x%MR))%b|$=#2(8J0Ddoa^-Y#_yotDe$`EUwx3hkZ7NWv5C zM)$ZTh1LOn0SDMf@Oh($lV6huO$oJD39yh|d(9uMXzr%t=7SNTnriN7PNn9UwRNps zj3iQQPTy(hsRBZ%rjnY?m-GUY?>eR=*JPkE-L?wdDVxY;c|ifZN_P~k1>ANGag0m6 z0RQm$Dr5pd<$#RWw|A9nNsi@&bXwG7F=nJ$t!mk*im99nv{~NCmiZD+P2d(n!Qxkx z>rS==w=H(5!Yd_9h6=4C0W**_R5QgXxqegNT&0*0bNMDAt#gvBv$YoDS(SK4uc@^> z@LYwA-hkJcC|m6*`E(-dw0KO3WHE;@8caqt`_+n3-_(tIfk6x|_+g6WT4f3A9UM9# zjsy&ZS++!pro??GK!OBFti%owhu97Q5Fh~J5C_CcfY<>NAXe@>MM|V3QHU-oVOnxy3g@J5D zC!#Hc7RZ~$$+=K)+T@wGkg53v-?U9WZSzOLXPEa|CyY}N8P3knIu%wM9g7+$Z#*KO zQ4luMa%#?P(K~_hvQcC>Mz~F&mCh$-ymN%b02;H~05GP?rk|QbxGo)w!0JzHoS8LR z7JxKzhUViDK$l#4a#lANj)Pb-O*&?$_3j1e0oZ)=Ysf-btP^h6#H=q2GJ!?!0x^)O z60G|RN$iO1deSxtq}x0I+JM0uCZK;34gm)Y^?_J4v*ZU`(c*PaS&cBd1qN9=ZnTA? zk)X#D$}CI=!=%kJK>>Dx(-9!6!Gzrtvd+!8fYfyb)6r~+h8Y!b=UPZt`&<)FhgPWo zC@%tFbF6?_D{LYrCOy3GaVMzi|vyp_i8D-Ji;Jc6rhJzu{>VR9eOcjHRA$<(?9{B zW}2CgyQWP@r@{~naM}=x47LjmhfI*D0klLm-RiW0Z^A(Ikr@F_d&U+_%u){ESjjki z>8GZsXEx5WQ+`bCHkD&$D&k%6plgFZVuOJ&>}}?w0Q{S5CaBZ|gC^Ky!MMx_OICWC zqT-N}z%gdV;1AJ|nX=gpFw$k5(jBoykbPip27T5r;NS2_o+cb_I%1o#glX(Prly=0 zrvo7dFAUVehqJ4MJ@>O zpwXsC;Pz)`X)2lxQBgqSZ2)#7Pzq5HHwi8k_^mULQ*irSn5LZ+Cc#-M1}q}l4$K*_ zoH3Qd?gqaKhP|kR8IvOzp7w-iW(^K2NCcn=O-$S7?URdO#sI1hw>rz5$u$ivAGm%& zqhXrHiZG3p**#~ay&)(XIGjPh1NM(#K!6O8AW=RmDA}0mtOzZ;XP`1}bsGFp4>bwK z$&6)%8LgvE`?Co4KvIsL^=BV^(;gk|D+~ z*hzUAn$ir2q##bu23=0V;FtwKIqbDrfhEVZ4#$izcua5sv@*VV00n}@74!RnfnNl9 z0CfcLsC(LEG|bL|Ts&m~RM;N{<6s)H4IQ zvcNMm;YS z$>xmt9B}#q$B5L2>9Bit1{4yw>%sxc<_pm-gu|hE!kB>CCqaXtt?qdrfX8SD$lAbj z6pSTo-B1(guy98OamV4rWbTA%Hyn%^17H`pz&4kGv|Bthcwt_2NqFHp>7aAg1b1Y( zWxGJNg%Of{Mvo^7Vj=T`z2kxx$CQnPT^=mormcF0a0TNan2QJLIV9wvinb7>=77~e z{UW;$qLl}XHz=WiUJwj1EHpQ~=V9~&NhI+680#?X9T-*;EE?ep4T9_R>^ykH(8^($ zR*Z`!==Thrb&hcpW;8%R>w|^v>@?aLtT5PfiVcDDU=Hgt{`|y5T${9 z3;N#-RuV9rLU;}k?ch~~{h@yrPR}UX96Xl&VCkT9hP+`A`Cw6r*&Wvgk&wc!3iLn5 zIuyl&!5gUAXia#_f?EZa97C;Rv{o3GSjlB`Vf;$+r5m4!~ zuzrH@07l646bRU0=z;Ko@ebx5e5&BV2;zwoY%8G1!Sw@_9H>2L56v;=e>2m#1Gqf! zEAzl98N(99MIXq7jIAd64?}T7)iJC_3g3jD2xIGvc^>uVobiIXhhhOF@AOiPNijnu zd1ge2kp=S29E2ih=2DDi07K4#1P(Z7a2*EU2ws$^Hw+={_!+-D3oLG7Fb66gs5(~k zTt>7AJp`s>3_A`BE?WGVxeS~JG5kPm^CFRC$6Uym@-Yj-GxaSvVPPo-X%6fv6r5qd zF($>&{NEU#Fv$F%522kw76p+EA7tbMP}vMe6a5Jf!%#c1{DV!0cd$m_ld#IeM1uOq z#qm|fgAyD*h5`*95u@LP#zk=%+iVc(o;4HbZRi`!$M7kbP~!#+iTy!% zV)*30dVTME*S>f8;!78P_VQ1D{G%Vf@Hc<`@BZqq{_-#Xf*~-!_`-7+F8u8aKl|~; z=P$kRqo2R@lb`(jr$2uFxu5>{htL1*_kZ+*zx=Cz^WXgs&pbE2{2#yfJ@mYP{X+Lb zStytW`>O=G4*A!|Ul6=e~_#LjBB{P__22Tlc8uj3Yaw1IdCEYLLY{>aM4CXThTly1(qSm z8rWfh$k-uTfY*cdqul}NCFa(Qt0IWMr~#i9kL`veE4nqtfXCj1? zoI!HJ4nU9^`Y=#%GLVpZ!HBTI4@<5b*Xh-S8tN6$YQy>sA6OcG3=mhM+yRLC_(I8O z%pZ*>vGzI42EyzK!O)eFS9SS)U}U3P5$&)clyX|y_Xdq2zLa|6J<40Y(QT^iz#6HAYyEkTW zpbFiz&tY^2{GnvtWi*2}M_G}fP)em7VV_jaF&Gux0g>1UV?#4&a83|5wpX$+@U$t7 z2EQkpFE3SA5GX*G2*j6G*SA-*h#hJ5dM$LSpn>KEe~J)_`r5j*W?Lv4qeG+_Pj9i& zt^kx=eBQX50@o3S859bGOGE-x6dVK!`$>zH05u6+nx^z>y-usOIMQ@99Cm_RYE#&> z>alLIj)XlmLG<-Ss8e9sq!)YOOS`lxI zCse|fBH)d?4DxX`Fo5x7tsKdEeKx1x7hYKp1>D(WHk5SR$FWs68!QOAk!Bzhz!Hr3 zn4Sx~N2pfYFITeInAt4~IZvpt60}~+Cd>#u4ELne=Rg76$Vel?Tr)+<6U_V3nN#lRg1VnslwnOm0Gc= zn>#XQP&-IBp(7M9d9xb75Ckw=K)4OW0Lw0X|+aC#S zqmU!4_FD}+-@4v%n5Kv-TtG?FZ@q`bD`n2t~c01EgdZ$?UXBdgo=4$MPH{@Kjg4w_CEWUfBA3!_4l7X z*`xGCXI~d@MD5+EZ=Iby*bBLIK*)}~)^zpibw%%xkxnli9zNRJF2r04QTyeFmu?A% z+;OLpD;9MQwUJz*YpJ#r^HDLSU&*&fo#C^yC+~dw6GzEN-9FpjL!dfMYXIqPA|~h*HUtvKw0DoH2vl{q|>%{{Fi! z|M2mXCp&Pd9a4zK%;xY`Z71wBk9%lnQgwB6Il^(?xXZS>a(eslaSM%*U)o!(*8nS)wp_gUlU|-4F>MOYF$y+mCF1D^$v8yz0&%xN zY>4}J9;}`prHe^>AYBMpLLQ&NA{yiCl;S>78%sXGr|6|SclK}B^T`#bj>YP}{(1vf zG!mn%0r`-yi(`ogKzfLWBM!Y*sC8LmTkrhh|M<-}-+lUE%S)(PJgL}buEisTKoSS( zA#n@4y-7U;a}zJLDfDoxAT@JClyHfp3+*W1f&BdlDPR;>3Be%j1aAmo_d zua#GbvBsai(K(_FIO)UWmtUWK`PrBE?ojcaz{*lSVg}ijR11fM+7OAkM6d2@dE04OoZl$?ISIHee4lO z{-{!{Y@F=ugh*Cr`;T60*Jf+=3gr|xwY0x>>H4KMoq^ig$nWpDDP3b{x4!n|?T=1s z@0^{N-2lO?np39qaI>)am;kI?hh|5Ic=hmkr5VaWT1PXjV(9El73Reb81T^UXk7x_2rXwk0rXZRG@u2 zVu&rxVEC*T@*|D#;q$4KKtm4)3_bF>s|xLY_$ue?r^#M?&q;>T)))QM>)#I)WAiOdz%kv{5ALgG8v> z3?)kOkTFy{{QCEw-n;W)V{iN9&h6Xxwj%-B5{3%7w7d7Ui!c4?FJAb`D=)oxso{+` z8oS0EU|olv+`IkjufO=_7w2!^3w!O(^Yhcgh=t_y9H!6qA{Xz(K{jZKX#J`un7*%zNZxV@iWN;=c|{heAY?sE9N5dQ%rmEGPqCLiMp zt!cZO&()JeddWlA_TGN7%`DG#pHa*e@<=aY&`=yO8pqq&Jf(JIK&mu5t!nuQADxMc ztloM0;rnlIuY}V(Cx;KVD`~sYs)tX3KSC2i-biP2SNE8RFBI`bV#z`tm5X6dbaks<^gHdM5uuPUKxftBj0MWRXoS-9dv7)M2@T`MaJ*RADP%HH1bEC$ zG};|aRtl@zzAz+c@>sj#(Qv%BLTSZAJg(4ybD>V5TBy2@)c%Jd2ge(o=J!F zI6vCM;gdUu>vt*@M9XZ1Xxt#xkvgMTOen-k3+?lggc|2bD4_VGnc7aVu(PqV6pn{z zH;!9so=7Jpr8l4*r2(fQ$xMJSlixNNnnlS%H;F4bO`%ly;!c(GftllUoy#viXe7o*D0AZr`r=i zFwcTZS!l``&)1iL6<^AxBedPXs0(?qc}5P`X(NQ=QXQ0pIUKQAIwB=4RvH^$3j1>^ zLgNgEqu~0T)1#x4jdIKzK=>FMpaw{~YQ2ZjT@~7GhxQ@%x2K4jaoAf8j#6}r89*r(!`N`JRSEcB9wekP?Q7s6RkMwTHqT5n+IA2x2!(P=ygpLnOeB zUG>o_{1Vs=BAkYdKvw1h>Tef6vCmf|E>O4~PF}N}15>hVnOBmoylSPyvT5Cn7wEAi>8Q`7A_im=G53 zMB&D`C8PEFEU=D{h@YuOnu3N3Qy%6cxC0Y-vNDk_d@ArG3MrscqgiwQ9eav#>fclVr1g*j`x{N z4kOjagh26JXfx*K_yLuG0zIpLy!ot9%;PiF&BQA4e2C&Pt;4hrQ!h-}@CDQjQ~GDu zz~z`yJd@W#xtJ$qe(|Rl-e+Qd_{6h7G9x_5d=ya(riT6`#)^tU`A|5Nlj&&aOV8^3 zPgV4+>oCDK-1c9;7~RMJ@A1)pbK(ERlbEShrWi~l^V#c9&w*MPPP%`f_UqOvApTy^%^$Ro!>KWaD zsdeTu2&SQa(6QhLfUG>^;?S;m3mUxW=6D-nPE;+L?Ac{d-579aTm1K@f?`fX=oWf% zsCU#e(_c{KOzYtGOwpM_KDz=Uzl?+^&*<^fg1gcyQkG-gNWHqJn@ z4ufP0`8Ye&8}Q82j2i?bmGKsn0&&kElLBc$q)nLOx)CjcB?9aQkUv1i0e=v2MT)_O zv<{p&iK3@PyJ0})ZSRG&i(M@V64TQl=8m5d>NF_KhMv=wxA>oAV)G4j6(M(Laznz__K6w8J`p8iE5C&?i9BAVYw0fLuRP|2CZ-0B3}X z&9J=-L;}8Ox>(4?VyX4|-gc>+&K0V)QW^w51ieF8+aj4#BI2X5q=umwNrxf`g(L7m zL!%U%0ql)1OffW_c9KAJ728UMLZeeEr4pWCRG<*bA#FlHE!{{OVIKx8X)m8q2YsZ z#MfFRW8(2i>^yy`LV7WfE0EO!dM%u15yW=ZM)p9xv5Q#sPj)ow1 z2cZ&$P-O&i5vE{HC-8{bGGNZ;U}}+e0!|i7IZ3fVq|`V)NYN^n}u0 zH@qPjpOyK9e^xm;H5Xj)Cn6b$pw7mYGV>S=NH0SEa@t{*N^HTXsgJ`|n|;ZITf&!1 ziJ8LwX2CcvF^B4#8=IA+RWa$CpG!sklhSd8*&7IA%Ar65SY?_{QyU#MouDG z39ETr5!BLduPu(srhI90p?tU%hAcrkp726a2CmAIDoswth{36}(0Af_9HO$gsc z7{H~8*0F5Hwta*oaeA;D#(5ivWPi*TGfPD>@7BR)Tq#gkUE76n!mI7$4C45qC;C|e zkzQ<(AdTg89^5_NwCT*{&8@q&Qo=4$NW$e@Kr0y@78~elE)3ud>CV*(X{$`{(DS(h zgR+~=mXJ9oi>Ff>Lf*r@gMvZns2{AY6;qUCRA5OT)YC>ii=#ApBdd$6X`90W(;w|z z*4WP-U~{EY6H53us7P|PRbihSwRnDby)@xF8 z1?*AJ0u;8!SllrUFpr7FIiqSmTs_>~Emjx3Rw^6J%#kt@Ff4=KGHY^~bQ3yoZ^HAj zd~P|Fp9f4=C>a}_q`e}3GgmhS(i&nJlQY42D!N+P0hZQV$RrA-#2m7IRDjaE!y$`( z)FGkM!5N#&JWJOSbi_Dx$QV9On$A(+x!!sX*j* zVM3kB3WcMC%{1jydBTwDA$3~C zsMHdO*%%!GE$K_Fm&#$IL?EV?1NDeUHr%gp<^6f29S6l?I$AEJBW{b8JaS7!G{XGyMjNIK<=rPGl) zI-TCAZd59n0F7s!h3=zZY)pY5Ff_~bAmmz(=<-`l;Ls|Hi90zPbWkL#ug56>|@6;O`L^qQz?0Rq<(6JnQ?J>1aO zaifPLQR?V?xm@xCb!+vi0z@PpkCwyb&Gf^gvvuf{cp}c6CyzX=N;If5$Q(YEgQZic ztp12u(tqiA3uKQ;qm4QGWtG}cKH!nDhB;*KNWgo8pbP zb|4~dRcl;?%`!fzhgxwmRy#d=>+Imp=?c`srVUgi<_zTmHCs7=D2-0rE#VsUT<&0# zlq*nl46@lA30Qr_<-OwW?shew2pBm1JsgqI6-pH8)cePePE)>RGGo(|qpnN}K8r@b zIgrX{w$q@u0^X+|>}h=c+LaqE9W2hML~HZKYuj79_0(P=j+AA|r8J9q1~cV@>*?Cj zgqk1i$qE!+lU%+kUk7}kf#o9(Go1kX=CZ(XYWuUpQzmq4m2BLm{uCg@m)sBfF zf1_vM1ILdZK79M(>Fv$+Y9R(Ft7kqMa9K3G-obvz8~9yT$#_rO^;a7H_LbM)?CRq{ zdTV+A!Gq(ia-NPluz{PKFKr$lpB(OOlyeaikIUl|u6WE>3a=Fx=Epj(zjm#qe^?+T z-1*HrclUQoxAWC(HVtbVnEFswN#nJPSFZK(ttn@OFgg@^?v?gN%o8##89J<=$<;!5*#KY0H87cO3DXlm^q=4%tx%~}D;Y7N#f z5JmO2^2vvf_R8)=wOq_4WOje4c9JQid@&$zq>_flmY?@^^lSQggVLAVTbo4!b0TxF zeQ;JUgp7OAk(J^;)%5%tmK;Lj(Q2EY8@tVq(f0$yGKh+ehp5 z_4Jf%q(@llRoT0f(mj;`7g6Z0KTfMJhAB{^aqy4^P(WrQ&ir*#N?zBuOYUa3>23$ODhS_>@a^!ZYS*~zb)rZ zTD=CBmN1J+gU7$VclPyHUwv_YacZ&KZ?!6_awsxXnr^`7!|k zvJKRaor{ZW_aDCf!TIsQ?&?~#QY|K36B?MPNk&IG1MNbQd74}ZrkA5>FZ8c95`{_b zgoMZBjA>qN@~74gc1r6j#VAC$`?|Y&hR1atZ2d4Y>cxD(E+7m_!EiIHr&+-pHjf%Z z&=blm(|I}(fQaGf%^NMOQ4IdI-NOfmC$+*d6_VK?_9?Y!^j23X6kYZg&6M37&ybED zvP-ONX0yA+VwJ%jKf3?u<98q5-`lR2;+6;?BRXwd?Bhf6Jt_%VMe#u7{oUjBVk%9A z^-5KXh!jL}v30MR6f62iSq;P2TKdEaXDGJ2zI9x~@*MTMH687juQs)FAkL#R+5_94 zfA!@j4-U3!rQCvLXt1wspnpuPGzHQ}OVz*(go^jFL4e*uNsnPxX#=}^)|s6%!TB)m z_Nc|99XGpr#!0#mi@4P88NzDTyXAvooU^3@lQ@9wSFis=x^ zWi>T+^>pz1*t}5@U!g@#i%E|k){0fYfpB_=nQd%#e`D7mOQtZ|y@kkT3Oc=ngd-Cp zik(wf-GoIa=xb&31qzN*0nnd)E`IR&Z+`RDyZ25G!O70jvW}iEws>3(`SIGFd-rbx zt+p_&92JiA_Vu%5EQw{pA6%@j)beHTA~{R4J6pTn>|~ECtm(wkP8u7p2q6;l#N!4s zS>3vQc#Pp(O-JEV$P(V@>mLxSt#gZ8g^j(;S~OsvWV2hk+q*;(9kgg5MhoH@4zIDf z+S=}uhmRf}A03qaVJbkw?1Lm_lS0NJgWap771M%vQchCN-(Fpj$%|S!tCy zVgM+umR1uP+9gtRfFm1|yMn3oZZ#2I)MaD_NPY5qfoV|>>StzZ=|ZiX-lns$ke!sO z6+rf>R1$%vUt_ieqDOC?9IfW!i`MyRd)O#-n5L;hA zK5?EV{9dcXqp^@Y%~kfOz)U%+g+wv37p^+19*?$<#pwgYfvr)w^9S|nUbPU1ccN7(BxiI+lR+%t9cZ2 z#wZ^c80CvODpKl<8iVFA&mUkX5TS-|ea62 zMs9LgD*c4ZS*;eT`FIdsepYA=3<&uBVm@Hgh|-fj@8m*p$sL%tixNe>#VRs*%wfm! z$=2T12ldig8KSQ?y;!61P`MO+fDK`$YIDaFWuK?&%~Rxw-smw{EpDA7L%50>7s&}L z+l>OFmK*Q4hU|v$`SQu;a>8ruzJcMu6)Uu6s`~ihgQGI)EkK#sO$|40vPU~)7T>bZ z6)|UQ7MYl3khQm7yQXAIjbe$Itsl1Pd^jQDzp1fJ*`!7@eP;5pi3ZZoS#t%hrxf!fz!+ds5j< zKDn5PhLL;K+iA&+PESn-qwYX;5pcx%c5Odd%Pa<_^*p(-x2LbYe+WXr1mxuW(e!*N zwCG%PR(+rwMSN7$8eR!47L*>(He_yq`Zd?{k$56TyGhY-*WX-t?!x68%^f`)WjG3M zh2A-8ppDuv?0;nW=yG{2nyHduv8QO?O1N!WrL>uAq?=v(Vk`hzcbAAe*wNf4f*(;N zl8EE&XnpVgAtv-l*&K~HB%>TSFyt9Qs<4?R&C50@%R8Lf0JY_I1;VkaH%?O$twO}( z3RHR>6~XjyfA_dr+bZVcZmpFsvnkj;-90QGPXyw$V|f_@4u`d}FFPx>m?Y%Q4%Q$S zMw4c8ayEImd30yDn%gP^92yCFXD0eyd-c*Ax7vEJO&{0Kt(0oDTrv_x$c>mXD4^fV z8Hbssi(cBq>EU#Lqf*E&1m^To=}@{nK(KDznLL2Y1n(pU>oH z7p)f5bvb)j-^x@H`CKMMnO#jaSmQnM>|W5IfArPsryf#zW?}ad%ax1 zZ-zOn{$VaxWi@;9%bP$OkZwi7?=V6YV2~gTIgkG+QY!k>9+zS8^-C{aZtCL*l#bf* z(P2FiqKy4l8g8_6Fe~XTRPphnPo6&5U9Vyv6c1QAa2RXt=L#fP+U<^N>2SNeTu;R) z3E8a^^9QxiIa%8}$kk(oObo<3Wk+K}YeP%NAmrhf*ESE@kSSGRB3Pm3{fj5!YZlVmMDF2cDh@PrX1!{w3u)Pq@#VZK|%l(k7%)) zPPz5U#`c@n`nr0!T=B$gxpZ){eQ&i|o=+n4jeWJlXcm~P;U$<(#eA74G6WePm_`%a zo@-aGHn#N)%S~`vgQP<`KIc@idV4tII>$nG?e>FrA3eOkzqMA$V&X~o6H%{CGT7SM z(mOUdqU38d3v({R@IYt(pgvj+zvS2PSi=&<1Om-7&h+;A z+vi7hoXHnxhphSHE0^EwVRMB_SFTb*5NCnZO%NQlY)Ht{(z$dYA5B+_u^FX!c!)cu zFbB)qZ@qnXu(q6vcvM~28=87xYK+Mu8r=n?s#1bkY<3|S2bh@E+tS`KIHrN$*aDIR zNLwM>GVj*AywjFhhfXxuJB)c;VYC1O|JFO_C;Qcv+#;nO>c>t)qA23?)DY z4IodW6$~`?wu{G9z(ty%TeaZQjj^y+U2hweSqP&qws*FFlwB~v$=gN(h#5?*ef0U) zzxepA+xwfV<$P>T)6smZwVx-DDh>AN!Qt(lN*Xpac0K><#g|@bXzuAB9uun^iKX+0 zXUF9{o=>dkXzuEhXv~4#^T$u`Z)3vpNE;d(ZuXCg6*?;8O>EpdyR)BNo(ooHlkjXB zmt4K{`kR8OY1ga>n2(54IC!&D&yuqmJA22}RKk_0+~2IPE(QywTF_{7RyPmt-Ff>E zyR_96Y|W=Eyv~LzuXjSsMyvCt%hl{6a+r|*?`I=8Es^OaXUsV7b9v%n<+##1U)}of z{d?7l$r%#PKnlZuaQEr&e)-k=_fB?dX-Z4WN)cPmrtkkie z4(#I)5p_rE)zAO<%{S*;>!pWlr5LAQ7v8QWC_%qnN&6Hwoq`w@5B}h}fBTm|dA)TQ z!9hD>BeK2@woYfpB8^m)GnzR5@Qcr$e)jb@pFVzYa=2Z~c=+v&jV)+WWRl3x-u?S0 zn>nZo&rA+>wl}?c`AYL3izSf`w)0K1nbp0+?Ls2xRJLAu?P?nb$rH@aXTSK(uRlBA zuLKMl8ILDc8C~h)N7&IEpFh|vXTmdM9c;Fcbs0i4Mt?lzp3j4wFy#=6$GPmzOWmE_ zZC9Zdr4ksd*fY#8uEeP7hxb3O*Q$%}{KK!meXDjFApD|~aiG)j|vRb@^gAjLLyxj5gYk&Ry7cO1B+0&uoiATdOyJGFI z9Kqc+k>c;Z`s(+e|LS}_vJ7i5i!J6qsGtAgo3B1NEV(5fZNIjQEm2anc#*caL>Dgi z1bnp3ts%Nzc>d4+;s?*a-qhYVteHz!*57~Y?rLUUKg8t@sb+FJ_PJ#2t$T;R`{JGV z4!7(1psJ&z=~ibC)QL@t#}CgBsu{29%}cLcZDLPMjtz<|$vU?1$9r3qT+r%R$b=o^ zJuS_xf@vGUy58BoU zTRX}Z3<@Aq49@oysTh+hWqM9u$Msv+n{aMcPaty}+1^`Q+gM(ha}XkxF<4zYu4YSx zje70ja@;sZkTVPRiRnr2%Cg5%U)wsVWWp4wm2o@XXm1&iH^14=6?Kk?MIxZB;*rI7|>KE~^J^%dA8=4iv4L$8#fmB0Ss95gdAO7W^|LY$<|KO~27EQ%1*5kXI zkJj$rKT6Z$Vb!1n@cAf7r`=*!|Em|j|KI<`4=*)zX?&zPv$uV)9Pk_YdL^gzYBS#` z=3A)3E^Ud);wfjc3m0C!1w|#=pVlQYR7BVo90$x4?aG7_rSaL>8I~O zzc=O3OUBhh9I2?M<aZ{K-;ck82f-?~#Ppo!Om_TPd;M|h6|;*YqXWGow7(;yEuej zXB6Fd`QoeB8eY88*3BM89LAY{_ZJ_&|M>0C-+y?vFkSrMSNHt+;%4#e{z=Ydj2P*# zqCoOmZ(ePE`EtXxeu)t*!gMqfNrm7pX5d_U;U~{uYwsUba5WmUyLfW;>yN)Ugd0%g z(fv<8t2-UO(xWfF{KJ>;o|NLXP`;dwIF*=O+PeiTmUy)J^2?W4gxSJ>^?&~JKl{PY zuXTuRzA+_OVEI`~%(t>btsIvA?vLO8pT9r-;M3Emj}D(aS=-nuVEcnyg0OGgG<=hL zy+zQ{B@m1ZwDoZKf&tlZV|QmCud{!oeQ=3JMEk+?!NbnZ-4*W@4or);KQd+ zK0VpGT}wW^4`_d}u(}wV)(ke@eBkMuG>T9rCPCnmz@*j@RGFrD^ws!yEk6(WBc(;y?nn%WNe)+<4KYyWH%WG|K zLD;2-&F9mJR6e5ATO``SKGCHctd4$k)#&DvlX${lTiyeXy1M<sKmYLK^WEJLp;u6afYUEk-E0_swOiZW&%f5kT*Yf2MNt;ck z>BU9YoWWMh%s5Q~LEp`h36TWpqMp~`FMO+S9C%bAa)I_xdGBbmvbsb?QmgMgdi350 zZ*MK-H}~({Kd3|q?&$ESLO%sy$fOn`3(0gmxDc5kgnW%-)}&~Ce zF(6c#q8?+-A3I*Y`}xz){`lF~zkB@T;lsnb%ejETp;0Ks0*BeL3>ICFSlrI*YSst{ zn@q>o(#x4dhy-0Ml2a;)mgbwUHgw^1rp4wivQ^$Z-z;n=O6Z*LpMLoM!CKrI+Fahv z$MROKxT9axah222J;)wK0M28LQUaM+hjZ;_v{-hRi!j^Mj0*brI+Z2h@D}5iKqBU+ z9nqXC9JM<``q);iv>vY?RTDXn#hZiMyglGBIDAGvUn1iV^Y{WV5a!{0Cg<>o35yfd zCEzObKw*H#)=2nLkys{> z>&R)+qKDt1TyFsC3`Vu!`}(1|0=rEAQfX2Ms?2AGyJfuKtm}p3b&m5ONht zg-oya2Pj{nSj)SyDCD>H4tDG7_07_9DiKe`qYi`2U^AGtqrn84q}$Yex?bj<@TZ(0B8r#cAZn373&n^>s8~dmZDug(Xsv1mo;S#{H>kB2q}j zs3DIyo(xBmr4ytb z_V+jIg+y|3ArVhTXN(iXq=Y**($n19jWdK$qn0RDN)71T?#0S#VF6_2a`r&2N4!zJ?TYxS+&<2}UjqrP-G zmk(0_(vfPx=on{2IN0CC0!EC>;YrjJ8Y85Dd{9_fEY!9)*H;mOSVX z{c@#JCKd`uxEu}#p_><%!ERwKyruFDTX=SU0q%6 z-Q7rENtjJP!kY-#Q2Vsqi^g2=Q% z2hcVZO)sz2>r4`{kY6qq3Pn6m#0}`VLM#wS#EA3ibyx>T!k_`QodL;*;y{cgVxR&< zqke#?0h$J0j)77F5Dox1bUCoigoGI2uMi_}(?G$2d=QQV0Kfj%um68=#lt`Q-uKe~ z&)0G}yReuH;_N&&DiBG=_0C`>xtL6s(dNrB_v9oY8DjPF5Y1sQK71TW~R(PDJL{o}Sbf0dyqBc>`U|Vo)BeA(DLZO|++yqc#IJZ*E0azEHtUB44L`jfxj(TRHlm;ha_32wD zg*m%%a)Q^|`1;_a84^shp>P;VQ&6J~0}L8X1+X%WD~wRon57po`9dxkob}GTt&?)~ zgvlmsW{K>nXds%Z>^=F_oz$GcJSAvuyxKOXhF7=49Zb!`)6fI(Y``0eFUFjj@zHVh z1Yxp9D(kzeg{553p~V3h#MwD;6KF+SYl|{4YYCN}{+B=gW`BNinBDX0U;XqF&*g_f zOL{rA;85ud&VV0&mgyY)WMvYOOl`1I(Irq`^NS&xl#cd~h{om60R)&Yy_n8#p6-;w z==dN__71SeA&3SCQ~*cqXEuyXTnt`&vlhKtF435bdMcG$#-4En zj&cS$avI|znaU9bxGxk-ZammRGK_|?%_ytCS1>W5HK7Ioss{ejw-CW65{m)Plv**a zA|^EMR63JR7V3F89LqRDrBuitwIl$x11!0Cw70d4+MS-1u=_eOXHQHT?GX2bBc^i> zzYj0O;-NVhZ0aVox=E8YxSUI6vc*bb4zRK@k!*}5xB4(w#uit04o_B70jJd<9qj8w zv`PmY9mK4_nRn0;yqGI_E$E{YfGvX-gb|r7jY1*U+vA({mF3)%e|&evg1LU6zvE{2 zkZU~`fM2geFCCW{src z559X;cd$De8yj!6!dq*#QVfBSr5NKOVj0^xynC=&UGgXg-)!mR6Q0ykd2M@VH|;b? zhdT#G1QIoNX3^|QeI@twpTB!A&S$kXUAuO*vDsW(+lZs(2@!Wdpq{VqogN=-l;#wy z>$loRb>vKP`@zR|D~m`0kM_1U4oFm!b~=_{KR$cw7ys#^4P>*RFK(&7q~OqkAU@xmlxx4Fa%4u7y}5^wihyJpJwe{$PH* z;kB1vLuo{F^{2bZIfF{TYH917Ozwa5;rnkLtb`3i&98v)9!M6pPIt@kIXxe6RypLa zqw_9k$;`|rQrWX_KYlB&VmCB2T))ne`_|Ui)<6%jz^Wb&EBtWKj4kD4ND2yuY4_en z#;xjj{svovJq3i1Q+9FhRUCA@(cH%A>D{7tVvsA4X-(5^Z*C{;QuM0l5JkoeG!2$R z@st1X-@e>Z{LPOq{OtKRI>_?dzkiUkjSLO6T_4nB-~H`BeNdh5zyAEC>mpC_?9uzT zSNsOaz|hFVY`j`2$0<@NU=I!o)zngXbp@NHLMoMv2CNF3XCl-88ieW}3{%_XaHaKqVJQvKbTl*{fQI$<4xs{u8l64&0cjFs-$}`Gn zJW}*wNfxOgIV8m<#isg0-Aw>Z00J-oS^$KP0U!YE4|ccM-P7IThe!@dlaeJxAD)>= z-to9*d}DhPm+gv^ic`M1m7A^2zuh1EWA`~|N}5TW?EP_jG-R_II5_7$?|ILA&UxPF zy=HJ1r(ZvJYGjH5Z)dd*2lT2cfWExby6#H(#MI=}^t{si#=ZM1*8pICgDo(ueZAGb zriciyxOAx~`R(OK2o^Q200L&%NW}?j9ww%%SG~pR5_TZM%ZZr_GqG*E5>`O|WLY8T zoU4$ij5+SYY@WXYT0UoS>AKAdvfp~=Z~po(uaBO=0_l}QUwvKa-}~-*Nni@V4!v=; zb^A}gS<9V2b@tpWnaS68ZufyGM{ES91-DtRfoWByXLIn(7T4R0K9Vo{x^mg7cDEuf zhjaSO?DYA(~xEhY~8&^o_V4Fkej>6>$C#Z*6atSl>o0k{n za{y3-((tn1?XTSEb>9MrCpQO|7*PNV8s>Y1^{CdhI%c}-%NDF(4k159*tW%GWM$G8 zF(Wxw5Smg0|4Nn-FLM+~Yrr>(P*36oY1kaNjPQeNm{kvTsv;p|36UHH;i|$(%9{XFm~U=<^mqU7&p#-A=_{vC9{J3F|L;!= zy?Y<7AUNzQ5)of5HvtoqF3cnfQUP|iRPAoSe=09`>tSi0hWCv?v;~eU*)GCKs?E-g zP8|%`7wD1;i>VTP;cn}ef&?S)_e^lPgiWhF^o#W zPJ^Ia$c)d?MNU8oi#R7GG(sd*G?xDY!q^dGx_q-obeDd^mgX}v1&}yjy`o&cf;cVk zH{!_xd@te3!rWXEnR6~nO4!}lZ^j-~x%%$kf4FU5NabdRU;gx`{_SgTcE8aA*U1vF zj=*f^=mms%qQAhBiXcGYvRN*d5e9@4aeLsC!LfsH9qP!OeOUpOYJs!^p;Wj_x=d$_ z@Nloeo5Wh(zJ_T8Eaq@_J2w|`B|`LJiROzXv+rZvC3A_ul>JCwI%jWKKB$@@IeL55Jbxuc7t+5+s8VJrFg=0gLDqM7JTD z`>MaVwA@;5b(+;T;r?AN&cg#+fOJSmUAbDuV0#nT^lMA5!sT+AY%ZJ0q$Fqn2@wXc z?5c7Z1e~QeF6-B>`ByQTO=wBky%v_MZ^kXiAuL3K%tMHbM8#aaY*()$Fz*T=%szOg z-zZ9@ViE~;5M6cUO$7QNU%PMG7~NN(cW6BFunR@3A}@pA5gtsZRRznbav7n%SE_4| zzW>fvh&5(%=+LJ=`|nR);9Om>tJwU9XYeNa1W}rx^g|3Hq=fRYE6~IXdoi$WZ!BDf zznO*Z7Z6Se^@lI*UTfaCi7~Ttt1iu7NPv~=Yom!dFs;Glht+zs3d;`yLXaccE`qOd zI7{a)>o!={-KFKuH3hV$Ir7TPDfqj!y#K+INBe7F;m*z_#)rT12Zv6)mPjF$2y#?! z++6D-EbPkVVs4(ENBq`h=*lv%8aOZ9Xkr$*49_N&OkS8rGE9teXcmq%)~fnqw`}Hy zP8~aT>}zA=liACD?*`i2S`M!g-B>6Ptpv5*o27*-*Lt^BpjQZ^Dw~&+Lti^Rjss5R z%JQx6{U1O7>D^GtW>TmB@PGNW-}%DHnF5Ha!{wFjjTK@_5IuQCLLeFfwxEeu{c>|< z=j;17u|EfcfxyT4%!TubnFI)+uxWrE#a43nCP0C$`f}?{*qX%H=xdY7xzuI!F(5gx zDc9^P5;s2&dxE6P=vM3)l##tNtaq=y!OdSOE2#nrjep~+D?#f)wTv-gUd8mg(!A!o z)y|SHW#-^<6;fHO!;6=%;I!oms775sTznI}lb{(h-D|GR&E@Df%mvuYE69D+L@8Gg zg;|0;7jOLOU;pHP-w)qNU6?%i!l!@jQ=dIHvtS}TuijZBa0XK%BMQu{mjwY^8qnbo zy4>4XTj`($@jQgym`O}RBZ{CFy;fenv3>W^pWcEKpiYwQB%5gpQPVnzT&DW0p%(1xOu5@&L$3p3|A zzq7N25;uBlSgnMRf8zA;=;@=wiMgBvYl(waj8#lYkSJXwYsqWndaDT!*SDKn-SU-! z4$OOLe!g(wwbREEv7Kz)z5nRJy<52SVaV<56d#zrpYTSpxe(Y#%6eF(P5DkpiKFAYquz z`Z91~7=_4t0{b<0VJ-zlgjKi-I|kkb{7;t8u)rA8ur^@4P|#~S)}`2qmgDlO=ou56bsX00 zf`q9CRKIR4Vmu$8BMKUm4PFbR(k^U4tJ8y51;+;71Q4i`=V1%5HiQXD{=|>%fOJ-zXMfJuaZ% zVX!dDam-5s*5S|*b&7Qf&$>*uD~TA$#Oj79q8a=8I)sXvVkB*^VZktu(Ez{u1R@D8 zqzc7YI^Zd}46AXCDBRZ8*2dZm*g^;ZlRFM95M56=Ok+PVt_ivewi`l&t;56?OC2N_ zAq0nKVmj^u)dyVz91MQoo1iAe0_XhX7|iO>Yonv1W6%^3HUjW=1#?q9mJH;L9FRm$ za65V7PTy2woulEW!aKq&f6cs{89#CK@K=tUAaP-27+~NK{tN}qNWHtZ{q_A@xAwoj zh1rR$b7Fr3-=ZH7Z2Sh|w~M*#9Jay{tabqs&%qW;=q@;-<$C7^wwSlKw~5!;S;mkj zLjw0e^C47d5Qsesg)I6CCk3%S;%;!xLoZ_23D$8D+PertS%zAYQBFoap#?ArH9)Kn z0<;uQgq~g{>IpA1H3yRjtr5uF65EGGtOT0aM}x9pyu3;7#aOutj}LSM@Gg+A0(F5u zgRR@5phKsd*e!!v!s8_`*zAGI7wLFD1pzgz8z$y0#|h8<)9GX`4*GZRxK6B!cf zk9dS5pq`9!!oC7Uf`*X>#qA+XBC+maI>&km4i?^!0SLQ;`F3swlPX>btOjFUMWcwN zKyzSC@FMkG!hDJnL&yh3<27(aE)y>ay@Y(AXeOLY3@K7rA_0UczELpdKvRyvkG`rl zTixCY#$FH5FyeuNJpwHuF9l@TuvHieMTm&3hso%Li%qOU?Ab$6@q)=D&BA1X_F={# zJw%K$VTT6sFGK^sD;}YQ!vh{0d~&(~;l`2y@eaO)tsy;zau(q+l8FZdf25btw*w1D zd^g0hBgUZK?LYua@TLnXnDFz6`63#KF@zdoBoI4+iLiSED-F`FCdz|phZ2Qx3u7CM z`2lPU@cPKyL-ZFWkt`k{7gBq8CZsi_b4d3<*7yOR9GwS7dMtP09~12-x(mAxTaWv2 z*I?wLdtz-P7lNV!UL_4hiq#d~C9&kOTTS#j?jt-A>M$@t;GTixKxP0bk#4+-T9Zm( za|ybN1w`BvnG_Tj{w2IcJQ>}HJ+Mv(f`L+mWZ`qr3q*uu%#aeHmT^}Sng?_vhHKnf zvicd+g0y@vY@XK);wJ^fm!KRBLNfScjUY29sRi_#OpNG5GLu0O7ExWO1JO&oP#chf z!0r)C4dRl6kueY6r8ll%n!qijzhPk@Ee@*@tUSo58FUBw5|dtR&7ksdzXmoMiUc_l zeFAknQB}wbiy?>_PA>#av<}fOXniaJ(uTNyAaBxG)Fjq8$O&?XxMGQ+EHn*znN5)w z)&rQz-hg*C&`hF613e-u##pYT%gOB!FsVJUZf}%u1bYp7jM)ThO0Ebc%cNkLP#*e= z=oqemGfb>=k2pkC47+$HM-AhG2U13N5or+ZA-=+3+>wDo`htvXaxKvsG794v42)Q$ zCa{O#Y$wBph=+_qGM>p$MtN~r#H`pY%`siu>!SOvq#KoVYgVH!^Ht4F#l2 zAp#*i3j{{2;c)ZF(8Ey{CS9W4#G@gj238lXBXb_?ZCo)_2DO1H7Jp20AvN%Y0$f*jikmzZqS5S zII)0Y*$_>M1qo$^Zji>3frc(4>mC|zNZcy)YZwy!h8Y=*5YjF(LI&CpON#iOAm~6n zAT3fG=maDkdpQTPCZ16|Llb*Kq(e3$;_e}W#Hb<%n)Kws zxQ_di3~WexU>AtBCoke9$M+L~k{LC&@UeY{o*m48M0a82iO!I|C5vhzzxai!4lEyO z2I=p(&ruR0dPyfj>5G_WAa?W&S=kW^GDwM7kEi`hx+K=#xNqZOh`Kz}5TY#ci>OMh zaWOX-dMBQdFd|~}ac~jo!ht0iXvl$XJila63hp8!DSn}(xGXZa;W{!=5lb2CR(v)2 zF|aaZUV|GN%O3Wb*ai5@7tT+PkB<|Nnam)uEhcjSv4`=CSev+m4sV2LE7u#Pbqn z1!BcxYXH3@!#UPH2zbz{fdwW?N~$&RQOQ&pJA=f&kp;!mdFf-di?u(VLk?Os(BP*U z`-$F)l_^#+Jb>u!;40Fm@YK+RUJ9y$?#3Atqu{*GJWoQ$u(%;U0G^H>i8cSguEZme zSnjwb2fa7w9dbYEKcegdZI64GjEGOP?_(Bb(8Z_?k;y@SkUohe5SK?r1ZfYc8qxXZ zT2F2v?TGbY@Mh2{u|7Su-tpp>=xaOz2bSePa}Jt+@a(7hFpxtm!uW}?E)L`~usNhI z0}Um&kXk&g2P*L~y&~<1^>)xFWJn*hWY8x>41+rd6?r=1@G-gXX^)VaeBw@0?9=DQ z4Fa6J)F{2CNMt|eE0;zd4s-ea*`pUd`RIzNyp`AHrV*NXJ;KwF=Ulc#-xM_}a> zzdokvgSMbXWNedmd|U=k>-I_c4P+hb;z5s-27SCe2ltU*cs*+y`D1WdEP@GSYlh@8kLvOP1)@)3!gC+0%kQR;Oomc-G#J*PlH3>9ap}CAs#KFH*^; z^&xeNWqY74aS0!j)Iiq;wK~u+B4Hxtf7*`c9r@2%6F+6}gFJX3rB76feDsOeC%*lc z{vdZelhfeM(?ZBCL<*!A22%dGEsZsdG~ySwtEl@t^%B zwRnE%vv*Ig`@}QIhl48yO^7S@v^C^Qa`iJQKh?6QCc+4Q}{E%Rj04gC-yRd|txS2Yu|$!AH+8dG_wP2$9Ip z0Qohc)I$qjLeI;!2oS2Y6*@{B-gZcu-mIh1MQ>Pj;1=e5Q4K*><$l0V{aV?O7Yg_)$GBMivc z5+>J^7a?Q@JutY83EegMkbFYE0Ut0fA`HT)4*!@6nf z4yb5t9Z4tAE2M9AI~EM7P>EzJ6(KlLR76rc(!Zn4QQ5yez!f}1~%UI90Q$dAr~;x)8bAnXiBb@$ko18T z3Q**@L?RE=5|2ltG_VdM!z!8#IUqM03Me6E0QhY|yKIBF429wg{6ho}uuvSwgGD`- zG_F)Zvka;SKk!@|yu_rJ(J@H03XO!8kVK`ZG7%vJMX1>^+#o;$9wCH_pU}{_3qj>e zMhY2FF)uWsz=m=mA*x<7ko6Opb2X6j;xF_Th^7gbJL-zRAU&d#@jyW?0B}&pA0vAo z{(+U9^dg1<`V}KxlR+@5>j21m=w_rzMQXkvz$RYkxf=4P64^trB$uoROu2~1g9{&= z#ZV;~H3cIzvInnhBKl5~ZrH?(OmI!n-P~e%SQYG>M4R{nAl3}|LP^MP4fhd zhZMiAttgG zhJs`xWIWa^8CIsi%6@IRVLK+9W3r|Ca^Q$k4P>}!26K;DZuJ|+c!CzeVrfZWB2Q1U zvQcie8piBQk_u|g26QYlCiJ$;&E%ZGoMRQSQ`T5aa)GT)d?_FJdVRmOOdXr!kWIAi zSoxr?O(i8{Vs_UxK`gNPa!ECLvlx1e>Nb}(lrAkD-^iKc3|>JMzCcBM98e>*p0Twre@iC zC^6uASMAP@-4z8aIxi#QJyKbx(@mWCt8@#d1_i-UaOK6 zl<9(G)}&gU=CiaDAsWF6%8CZ?3ZCm2OJ&zD*u4p#e z%}8QrCUTDFmCKPP8g8kWnWI%H+S#g_Anwiz9&*$AZmnE16){u4m@#U&#^K!M~ z;@CmX<@!6w2&+>g8Gr#QkvvO*Dkd=G%y7!tZ+OUlJ~dTovFRdTj}*TV3(8g1FUsxBofvGwU8D;fNrQ( zP-!|MK-+U^zOmZ!T*MIN(g=hR!_~d@rk))ipJVO7!yv6krR2E;r`fgjwX*9d*~HYG z81yz)yFQD(e_Dm&V$Ka+5z#~(g$$n-y2_I20wQ*hD5BnOlx2Vt5C*Asx9Wyl4;cKF zQKI(FUMnn44UJ4IyV7G^^i^b7%270u&+4cC$TdoN?rULQ}jhUIrsE7in!MRas!B+C3+wz2>5n7DZ z46RgN3wYLbY6hqKs=~{r%v&LnNmU%~T*iVag&tx8v)MFVT`P0QI{=hpOPo$uJGjfH zCYauio5?D6E~#|e(dwqnoH;vZmWuvr4M{RIdhFC_K`-z2Gy#c*UC^RUXZ2>I4xiCc z5STbOu79N6wtdE8bRjYu!#x6sC>9+r3SV=`DVO)|y_u(aKI2B)cdD)Q3z^z>&yFNvbX3gf_QSsv5{f=sYznngvs-tD zlD&Ju>Ed>8_;bVC-_0E3KWrqMANBv>mtWCs?}PvHBlgonIzL1uwe8-+J7wX;;p1Kt zL6Gg#)QsVIJ|nK*&Ck?Qc70^5_2TN_PK z>Q;)M|4hP#666`$MEgOYnpL-$S zY->XE`#;@^)U&_#D<|B0eZBGUQ8SEEpZ|>`_MKI)zg?c2)1}mSq10Kkqt%woB9EUKhU)XfB4wBDO;N{fAlvS`Yc6#@r!etE2GDqpL}c8?)Jw&{W+~)9AR5)PnO@? zPJZdtk;Ajq=+1h#xo&*%bH|H!e^gm?pRS_(H~8`I|d4>!M6J^aEe=SnqQUhm|MeMh3? z)bhLf(2mmxB}tk>&L**S}lK(Ah7aEXuX* zCp*htF`EO0L^0TVvTbJ1jb~iHcDJ8Da$FBZvs>@>U~K0miV6=mQ%D3TXNv2<^uC2K2(1~Nyn9{=qKNIQ_*HyZQKqgKmQxU((?EJ@!L)B+!=)% zO;p{Sb*Ilx(Bnpb+dqC-trya2^Im!Den0tpzw+Xjlpp`Y2kR!C8T##`)m_J4f3j70 z_3Xq{=gB)8f|B_15ZB+Xns92dyjWhBGP*<;qfpl~a_dewMNN;6GaK)Gu)gfgok;MU z1ZmZ(%WVhKLMoM?vQ{efe!~%FXOqYZZ7w7Ec6sh}j?Jm{XthyDwcGHYC`ryqfy4FI zTXHf(4UJaU_h71WbBVlJ_ITFZyj3^VsU%m(=kwC$t&K7^bWWdSv;4|_+n|x@nFgQn zTybT6ubY&4-Yvn=oGDgz>IT=S&Kx&Zn!)6FeLG^)XA{Z&hmTi0pB+0fJE2zH-i8xA zX&T&1Cq{CamG@Sg4W7=vdfM4~cb%siO?obu6dG1_Ih)G!?ydVP`q;6oCJEI>ZKVaj zrdXILf<3^exIj*8PEM4{@7`l45~HU*q`9c?RkReJQS*u2KEfrWpbGD-cE~4E0Hidk*VF@P-dxc+0#|K?x$&_K4;F3>MNjLuc=crU|_&< zrW-KRIasrudu@B{r zoMm{9YTVlrRmW!{v>=m9$u?7J>czcxjoInUT#=gfR%_wjwwNh+#IHH&zyDx;%M8n} z{y{p*>Y-T*u|MPE0D@~CZ%Ic$Mkn4ymfAE9$a+JBxGLwcfUH3b?*MB2Or%Hefr$^sn3mgk+=J>A1GARW~Yyi)mr7T zVjJ6z)zx;lFiW2~l)_rP_v5>(G&?;bj2u1f-0QYBx_8SHQ={W!V{+%--g;Tn@)AEK zTP-s+hXrn3@Wb6ZZTjSxM7=VR7QXYty^nsduN?Vz|K?X;5nGS`{{Q-Rl@r1fzxF$y zpA0&W9zJ}}rj2PTckWBY)g8LjyS1iI9!f>+l2(7PeeyR`SUi{CegCnQoIG}FjAy0$ zf4k*nSZRtH&tyBD>fTnXG4?{SIGvnP9{c9JZf-&kJ{Pg>s^pQj7hBK`E@Nagx3=>gfwTF+rkfJ{OVes@(%D+==>^+oW}IpCBL(G9Gq;my*lE|=}7t*5Ab zlJV{O>Ta)zQS|C(j<3G6*Wdj1TBv}Z|K$_ScRI@}eGkaa?5iiI8*A!zM@*(h3agd8 zRVlXbFlUR!Gv}u2_wTrkM|Hs-`b=u_;rGmhhh{aMt;T7=6i+jyJiY&J^Sic}{`9X5 zyG&U7@Plg9^S<~i36Q5*EBAZWojve+6xEywBmD#ybE)%KV zTD9M@m26HJ;mm#)9Lp=!gi@Fq&eK6{ZR4(QPmE2B7QFS1fVGiJORhGs=C%t8Gp8UU z$(qZ9I4i^QkU{Nx>$(R@)X|_Ciri%Ace}e%B9fTY*&%F`ul<)F1{r7gOu;PjN`0kW z|ETJk$;lIW;aKt8O~DDYGsB&bmMSxILZ-RZu6h36BQvcemj5r!@vE<4=bns$A9yi zpC1ms^ACUZum=r$@s(ND+WWIMUs=wNdCP{|Hj7r`aCdx4lgbok5JX`!*a+vz=ce@#4d=8L~|if*=_{MCCp zefnfRpSIq4)C=U)iNhn_>Vt3XmlcURJ$y8!c91p+Tj7GCOw4AJv}sgZ&E4A#SI8VY zI!*_h8ymYYc&AQ}a(=JXP>sYy3JVim^1A)*hWhHSo~ztjTX}G|AxvhAoG%xwRo&zz zflgpmw6fhOy!7H{&Q|~aKYw>OI{w)qF`aaN{L}ilzR`N+v}mn2#tl`ErVdRN+YcYV zTeh87j^{E~O-nY!I@ToH@VyaYelDXMlva87`)kg7>Dm0DW5L58-8F)uV`pZLXT)0B zi{$+1OD|As59;>&8<`_xT9DcP@b3PD+Sm)HhwVK3c*AN~L!bGrRNHZae#1ZVsZ2`S z`t}DuyyI-ipBm!}1@_&$HNUdIeeM-6efsFgxK-O+Z&z`0z?~K&^U%xv{Yqzj-{Kg~ znx>q@k=C{~o-Y;F?myPGnlU~$I(jbY@4olo@BXY>W=FpC1v=opPIc!=Uz<%>)UhFI zys)}a!NPWvO^@@F`CMW5e!r@1tSBW)L}J-YqOonKxQusaGs?44Hg#-@o1?0C?yY|K z-Kv5r9m%V;<=w6OkLx2tsp8ydq9i%X*nBa|%UD~^s!$U8e9LsA$Z)>&G4vP6qDU&@tC8ly>sny*7?nfPV`1GOCWO4PwZ@-UA3hC*g zjA8nj(@I@ejAfgXlOy@8p%==PaPRK@CoLm!VmK%AYNLC*z0(PqiC6!p!@Od*up<#5 z8nRMDz{}WlQeWHu(UYE3n4Zx1oMe=$IVwwMD7L!0)5?7M<)q|=n@=A0NRd%`clz4iiZLXo92R!< zid4V};l!!j+MTskF~i8w?4e-IQwkWRei}4ZUO>aZa0(5oWq128?$m``I(B674_!sPE|V=MK&KJMVq;gS9C4yFk|*r6jo}o3`grc}%u2sOG3DHgzL$T`i{4G^ z_Gi)`7Rx`|dmKy&j5sva43j<$>T%BH3v+p+JaqqYN^)^XsN_yoZdY@z+AB|n?P;6} z6eg7}uat38HCI^=>Uy>~Cze4eS?{=$#X_x&EN+}iXFOwLS6BGyseDrR*L#lHHq)7z zQnpa_ta}gE#9U$c#hg>xd9vG1PGE=|%l&SDH97){OS2txx3?-uY4}`Ph&GLOogT`} zD4lS{^W>?yS);bQ8AXCbO>+g?u65T})_8UzIgXuxV10kvDi(%Mr#Y_j!IQPSrKy+3 zPqNFax4zv9()8SLN;H&py_quWQL>0cQ(eB{ZC9mif@i{=j`rA`J~k@f?ypt&q`^`p zs^8POkyBE(vUm60GJWi1(cfRY*I?QSc5>9ZA4!Q+1=+6W62Vx>7#&gEPHnI5TmB)O zDB1h(Z_C!~;aBp*#@haqh7k-UUpbWEjl1vfe`K6HKAP{#ch}aw_m~OF6Cx=RbEX}>B9+mx?g@{j)jauzymBsNqlcs@K zkVGDbb=F)_XEdIzY}6yu%^_t}x!%~^suXhN#AFf4)x$!`qjW!;8iRKUf{)HNm|?hL zGyNjf?QDFnCgr7Rjvte^wrRxQaUc^GAxLf0-M(+qaJ#lp!M*XUMkkEQdkoE>3t_*3r(Mj?fL(6#-h zWR@(sYAXd1hf#V{16K|^d4j<~wB{|-b55_^Zk2tdUQ#@1?N-N5C#SO@b>BhIl|FR% z>}(+?tX66`0SrYep{$mTO^z-5IH4(MAc*!Tj>3E6mK%vKJJRg8#M+-D?(;r;iM$)kb6Q zowgye=uQ??Je^w`_Uv$yFZU{qUV~4ZI58*a)zzS+(1p3tth2Jwf_kP3daaAVLp8+# zl3?O>pq37PyN_S*lQUeIy;FWs-GV!K$@HLJHvLTi8^=kkkc*EgI#JWLGxa zM!VMltOE#{psbabJwBbu3Lxt9StiF6=4NvmvY9rtJfEYm30Y~lHABQfOm(f_jx0J4 zx_eqJm60!4OoQe@p>cv?00WWA%XY05b#Y9hsbExDjw+F5Aj7s2*&vJJ5ln;JMw0Ae z=ZcY$5v@}zshq0Us%_u#WY4Lapw9hJ+ap+g%bfb)9 zDiTX6R0_NZNc*k=r-0+4&@I=Eazl1lUi72YsI}UR$ijv%h1IH~hm2g{SwO5*-=m5G z!wZbP5*f(hmX<{$T4@6ignhTPY&d0yXHP8)B=nC3fu3M3236w}BlSNenCLr)y+AL5KGNst%dbt+pNQo`z#k{IGyjG-S zJSfsNUnnvZMX{>vATK*|F+}xBvl%#!%!|Ac0gd966$>d!b;ScbMlpbLKn86j5K}Bq z5K*tL1)kD+378F0&WI(@hZ{7vLhpp38a3aha)MN$A`ZG(Kx zSmKCYP^%%wwU`k+oX+zC8=wp!nMxLono|$qf`joA$EFn`!3SD6hGHaEk^z9khAt3xW=I%n@velLvnoPzO+#RCNCqs64oH%s@_6Y+ z7!n$knj<6kvuriOPAIChR)|W5Srm(|;MyR+6~&+l6bSrpWP=0IalKj(MV#+5LCdd} zrq4~XCcH0s5=a(rdA$ZNTxS7K41k?#VFN;>D6I^-dIftaUR7e@T$ng0u>kq7N?sWG z7Apcq=R35SXK33os)AH79TDN4C8hv`nHT|==9aj;Bs$0zST&hxUMqL{Evp2ZQ?e@& zU|%9n8uLKG<+i*h<=PNV|%uBt|2>5(Hmp36yo995xDVd>96jS0o zC-4Y>QuUUbjR+9Dk`)C;wX6V)LW@AR6!Xw69KOpK{}^5E&ML_3nXJeK*!ij(a0K&M za#xY~o71xl=0TAbEH0?vKnT7Y5NLj5z2KsA20tra-JgWg>D&uraOiMIiI37G9hWE>nXRtP)Q#Fhj+46x7 z#VB+Pr0nBRj$+t~AsKq)c!DDuq28ACVhN+d1JY2%4?GT|Q!N2WWk{xoQ3On|1RfP& zd5NQ;JHWyMEd)#@Ag?ljdY%I4ObIp%KvlF!u|!AFH5q0D|5Oc3yCUjQjUrVmDnM6N zpl<>&ua<{4f)N%IIDn>rKbk;0+L)&p37m5V%naE7fcJFZIBR;~Iyx?PfYU2+Do_{z zLjqlC0OC~A6oN2C(k8(E0EPwJ4xkeZO%@nCQ!fy0qaUpFE@Qdpo@7P;AkHpCJQOlWez}3j{vX@3ToO$U&4r~F0pAAx0&q!ynpD(7cd^G~g1n>% zqMV8!I2s_X8W3L)vKq)7i%ltB118r8f?ENU8%hZ8d)MAQKqsyRAR1Q?i5WP^nQ z@qqEzQN;n|8kklaP7w@tpy=2x;YCb@ng9z%94%mDH8P{fp4ZfD_%d?jBXu|o9#JC^ z#uC%11|SvC)&wu^0piAMzJ*zs6ax6M?Le}?n*(_-vqc3Og9#RspC$4#G)DJ*0#R0o zPTLkxcQQl;nd*QKs?cXuU=$vYD%XGq1aQhiRzB4MB3k!!#Rd*qFf0@fOr-6@Q4oRR z#oUWpJK$Xf)pYEFmMY)oq*>FzPW@a5db=QJHQiT2tn(~z$SoU0PQS-4+ba|Jr1S} z;Er)U5X~5cXtIEsqdIURVAfzAh&>=cbf_z8OX`n0LAt=sBS{|Y2wVn$Xfab@cZ0M8 zPm%zc23#Bu0;V3Nkh&(M6l#Wm=# zSQz*iUl71QLFmR1en6E`E)df|pJOqj6WF_smg0u^E@EzD05-A22a+b$Ai#3emB8-} z;MOewuAmLb>qBlNwui(epx+2=9hJZj{EZ)YPw>w87L_Ct7$DVgEx~%@I?@tU2`_R3 z2^An0#SMc0NWLWB$3Jm7ZXgZE4Wza4RTv8Bc3g?#P$%+GB7*qoF+?1NLbebs`4Zpa zQrwL8K|4sNK!0%o6byj}xEt-(4R7!cAZ>Cd{*i{GatQq(ErZ^n3?eXmk0Rg#5x6?h z8PYI38=Xsj#E?7f09~2fk+LATH(V3 z-6Efm3gPPbdMNGSH|b`g%!3!MCxw#oP}jJNFy!!t6iNC6MUuvo<{dmRZXf9oBF8Mt>)X8dQYb07cl-zG=GM~8pumjIsm zn#_Ti!${y1cAtm@5mP}N4H-`&(q(DCYh&jEGaxZ=vF$~u3Y;-4kFYX8A`{QS`apr7K!S!O*nAiZEFEBhEQHLs*h4^M z3;ZOkF%XLZY&2SIx^5VH*g6H&)FDAgreR|v5iocN5;a;_z``jvp8}ySg{Y5wW*)9G zDnPS5JU=&9ImGh7(BWPgQiH0(<-sngV|p&Kfx`*+;23&Q2SC>lsxHC> z^C0R{;Fko%J|N^LfSU)ulVA{C4VB^Icz}LxEB*MQ14h$x`=&2Use~f&O*mm zt2KBgE(SWf3T_A1yCBuo1zs_AkEk_f7~T}&aT)qzNIEd8HG{~7_>px;rP34!oOvcc z&474IgrHdD_v8_3C$cHHZibknE@8IRBxXT0UC@Gui;-6Yy3aHg;p_os$#HfCD^AA` zy(SX&RH{v6wZP5<{8P=wI8$7SrxcT?Wh`WAIP@je#a15z!0gaRbdS3T-y53@zOOHk zVFYJWSb(-;F93r>Nn~_`E@SdWKnXMe z8JY#otTh*_74+W?Vv6jM+Bu5GY z3v@AVw76)iI1s_8Q-cbkWR#K%*Io^z1=HZ!1%4qt&+_y_PUaV;VeV3C-r!hr z0Pk?~lwCnYq?F6(VHE?%sleZioaS4*H(WUF&Fdf}$IKC89AXC+wf001MaV5-PMG<1HXJ5jzLkOcz~Yun0}z z^9(1^u%w7#Qz!;&QPai(Pa%w+j@#VrX8V80<&%Ay;Z z$OLGxm{s_kAoD3k(y?sAyaQ8*QgoPVO!ROOJS<5RAM*~ey4d5DWe#C5*iMC&TEci+ zf`P!Y$c6FaM7J6W3xc3ws?t@QfY=q2Mh<4|{~#p_ja&&>j2c+nVc#{sfMpj}9}Cz+ zltnu*U^PgDn=Uc)7!H989EOElihbVuOT+8>SK#dHf$^_>AW0P7nOOWZ7}-R%}Z(26kB|>;(MxW z2qLGI5=pTg%wNPtGB9OSnz0lT=Y|1<*ey=LYQ_u#gmC%TgG0)2tQoPuGBMQ20OKzO zs{tknUzkU_8w&}}ql#ZKuuZ19OI450iBTkjjz76jd23PE77*U$h}dj}KoKBzDG8gz z3Xr3qUB~G&yP$b(-=#^kkLU8Kyj`(yTA{wwa#=B~VR{HeA?Q?vJodK)7x`xvoJGVV`lW>h zD+nzCr(u~0X9lvwmcmHP3qBrD;U|=ev%p$79f5OxDZxoN@3HA=7Uw7k5r#P7mZyL# zKq7kt0#4=PFf0a>JH7?^bVM8^_J1 z?MjEHWb6Xo>^p3ZLP~eH64GkuixVlOsyGocN9a}e5@Ttp1*FcKzogjVqAlfEBq?G2 z5c$Ev;6lz0Du{v;agOQA3sV=h)fUc+lVY^!sq+ld&s3|}a&kjnBzE6vy0F?7jtFYl z5p@iL$hC)tEh>ZoIu1)N-Tq zA^5;qX@PC;gaXq2pgVqwwu1I=ddvc)m2So#jt3m zf-OIU%wi-PnDue2k8m~>;a_Go5|Dfo5slY7Nc5mPHC4K#)FQriQ<)lvP9r8rWGfZT zy2P;IVpE>g%nAaC#N4d4Q@t?3w%?NSu9FUqB^`XW2i&Op$BPHtq zaJ4%)Cc%t}3>A(apuMI{C(XbYjaEwm&`P1IJp`rsj)+aMR6cMkQOl7KHJyLW*z}_% zdwz;-yoDIx=}WyEfTketq;9k<>5|+)@$@B8LIh#SZ`up56g<#Q@wMKMlT3c^f zm|rBi)W?htPsEZMZ(#$QS&9&drs)7&BjWMGD0ltlQpu>yf9*A+rBklM**kqhx|qp} zn1GE&r*wg%FnwC;)Fo%LZB^~*WBJ}{V0Wxb>gIJRH8iie(R$5FWiHB&XDBL=l)2WnC=O|ADu&v^xk_J8rxj1g+r5TkByG*d z{Ot4d>QdBd>KTbKW^>f_rn0&djJ|qai==*kiFEP88F5|l3mnc3&4|i@m7qKESMB7bYT3qc}2pc7- zxGJ^lEltGH>%xVFnq}0&>y6oQ*~(McU(HcCb>kPS()>J>oHd$OKI+@4T&;v;%DRb+Wi_%BBl+qLcrrQ5 ziB^5=#s|y1*Kwy^ol+SJ5+rO|4$%miKAsrpZ2#r`bLdPORLokb^SV= zPg%OS(5Y6`#ekZk8?G`n?{%6DoGQ$pBU}!(bwn~l@xMx~I}P8{XU{ux3_5zEbhoOm! z?wvnfRMM}V;nwffrp{lg{YiDRZ=5>2_;%x>df|2B#y9uqufDdREQmL%E`{Asjz3Gg zrMI06_Gb9{P;@hx;4NStckg)@SU-7^zP>1xZtnHzuR@8!y|=E1eBx4Vx5b~ESP0+# z##-M@zkX@KTx8DBHy+_R{{kKamykteKx7&*>MoRkFtj7ltyJVZZ zqfF;9Chy$qoIC5?2remz^ckWXk0LF3jIKG+tyR88ji0sl-mVE=P0i1Tp_^ij_SPfg zYoCAp=6_t*OzGGkU-*;nEL}WLr%SiDysuJU-<(g^R)tH8P4D6#BQ>htYD;`)bKyU{ zzIeZ>FRF=)i{ES?`-1LVSp4Q*;xk_{9^FJ_%S&I*-Fo!aYv&^ju^=@5Sp1W>*hNP@ zc0LTIPF*5F&w5oEnGG5jkGl8PE4_|+?zPN~rR0URue;p+UH(QnX&(Ed)Q#_cJ(r)j*tqll<{$mOyxY9} zAMafH{XgV3A4S5#&=;n^@s>%?CttmQ?TpGLz*|zfE?%^I&BTP!v6)#lTJ5hbU3iJg z_x5gBzO~4>o!5RpwflDKt*?tmf!!IM5N~W%dy8j>?0b*Z*XY-!w)60I@}$|5!li|; z9AfY9nJ}^o=aA=9xqffcf(LftRf4%@kAtIWLDYE{DNQMR(wc&j&ZiC$rpI!sAC#6vs*0U!P%p009sO0g?d4o8lpfmMB}YY{zyx z_Qp;+nWVGnp5D&0JG;+LKhN$yJG=YOzF$#JdY<`rKwAWXs;|EL`yKE5`>~s4Gh@~G z)(@Fc?_wD&3#et0W}LMqZ@0wU=@S>3`|tQiyz#6XdahSkD=k8(rR>dO#A@5_Sb9{x zjFpP>;#&vIVAlm*DBr%l4c|#bb?!M^rE_~XU z3+%lQS8~c1dyLsgAywF^@w9v#+VdV z?zwtZqeJDR#iSjHfkX8gtqZx5l(gCOiBhj^z@L4z@~ANJ!Z}~_?s7YJx?eglAa`E2 z_QAv2<*v*2R!Qe=M=}qK7hlppd?Z*DPpkcRe^xs6!ce5~{%ZK_SzCLtvQ@U79k*om zT8}FHz&E}=x_=~TFNE{%y@!qyU88Y!YyTbBCGG9vMK-V3ngloR|LC*&*;9<)&37IM zrVEU((eODa4N!6Un6-akc>RODW$~i5>jHasi`&lTY5jSVxU{;i~B39v2!oI7+&+M@+DKfmX*Ax`jULgmuIQNdrYtWZl?EDX_dW5 z?;Ji@)}MK{M+gal)lKHCa(#XDtbMl~GOU_kaNKX&+JQ^jM!6Ipk0EI4F2v_P-)4(t z!={tx$_KW{o$OF78PANz?sZZwFDpduxqAl-w7Yb4Xnv_y(6|-)YG$HQXH$zS)q&^E zoO9QH`paTZPr+qNV?${p_f1aPPBv0X~B8sc(-M{2x~vzif41>Z=}cm~*)rwf8}`&!j%(TT6QP zR}NC+z$af;__Mys{X_1&`6%?1LXc{0!}jt;b7VBTKYm*MO{rt@ezMDSn_`uVPY-!J z?|)+N8`^F(;^9kO6PrJ%##!(sD1Q@6PIFgtAQ=_~)_z@&=pH7(YWuJPn&kKp~ajHg=7j$)v` zy=Wb9apiEE88=Xd!kw+8e!@}DN`_&T;1A@Ewk1~k&F9ZWHW&N(4pXXDjUzApw(aAe z-=!IPpz!H-?>A5O#XdNQo4v)4?}odcf8tbm|L!MYdmQq7vi}=TyFYmllhn^;Zl@k@ zhR=N6yCz!3-K&RXRUl5kdg>f|_kZ8f+E3D@_~!fk*;oDdKPxZWx)qGqP|bVI;<{vU zP(A8rG`Bx;2=6C*y0qILq|^~>=3S~LJ)^w05=h#Iy1OHd6s>h_#T^!doz-XWGFP&H3`6ScFrqffNTojeusE1o}B`a#uu_$csd4<9@8ROaJ%j3=l&v3T=g@0W)%NA>nm z;lgv75A&B_R78-DXvg}p_5Es~Ygn+J9dfmctY!6s@QX^}VB&P<{(Y5twXK_w)(W8_ z?XYlnKcZjcTjq1z!_>fF1^Uy-9q!dL6ZsGBXFqB^^Civh`-@!}FJyrqKhl5W`4{__ zp%&>obs5(2kwcQ+6wp_YP2CjH%Jo)p# zsZaE|S{Ysumg4#MJ_@LqLgcwWI9dGV55#rD^C!e#ex~}Gs`Fms7v+=xvZwuvJtT%T zdk;FvKYUuZy_~$e%{&DIN#9GoNwLY_ISlD1BAR|x=BRL1`&KhldX;vczqtL;ZoJ>t z^J46S_Qg~7qrd&A+@hcPN>}F-VL~B2*x%UONOt zKY7u1d&hhE;^?9<;PMF_(KV$3g` zU><$=pwM%A#I$l)%w-15``jp$zqR{N(zHnRy=^^ZSu5E}QqMPa2mk)idhwJinf&m+ zjY>XSdeAU2CVp3aw)1Y*r2h)@**5Dn*;GBIk3SMlpYg4IP&f#6oz$#1nfFbv+Ej(x zOz-e{_w7SEL$m%--C$+kaTcVChDKl9H=VuAtn95OwMrMS%Wm4WPYvlGJX{<7lItkm zc@VK(__Av&aGO_nhkW+Ft~JSG4Xhy00)OtQ(dyCe#~uHPmxgxQ;qqcQ_WchJOwYa; zaHRHJqqW5>V!oVtSz-B58nta6-I3fbizWg9Wq9lUgM9xpU+P-^htIfgJgfQO<8Xh# z-PixYfBdoWr4#&vAOD>&-gP3d`=GKH{@QcpH4PPq`7n0wTiMTQ!xt2_+@1H=CcgO1 z;lrQo#xFdpURxPyt}DNK>F^Wpu=Pd7+K)eVS%#iFHL?9(Lp9oH6vSfNcUcUd^8ffw z_{BdOI`}w#x1{?QzhmF~;0Jd#&nx4_j>fV!@~3AScQ(y^ooWxgQW)=!D>4^NA0NiX ziz7qU+ht-w8sQ&(dN0)eyN>Of{jOK_txq<&+D=)mWsOfJ>zT0spzbo({-)A5V%3d2 zQl0kZK0Qd~9M2oq*XfssH&@T3_SD_}dp`_+`I2yXH2=Y>oj$M*`PaE`JzH6!Q-Qnn z9{)D`!sVPH99FoJ?`~HnUb5Eu$RsPhPm7yZf*tq>6rHxl``$b8UwgX}@Jih*_*ze~i+{ z7PEH`>wPDm8J7O~Zu#u9%Hq%dCO2}b=T&w6XSX?DV3!)8nxgTNHW}Jk&T;~Y3deSz zbcIvv#fH?B{9VuW!R?*=!6wzCUtjf?0|PIeHi)&#Td`N!{LV_l;{Dp6M!sJd*Gi(= z{pfw|Q$5y`#_CU2bV8#wdRkTG1r1ZwSmUer*X=6Dh&QP%Jvu7Wr$;jPS}F4j&#|}v zx4og>)0TMavv)(6Cam>C$*!<4p;l+*PF8Ulv1=H|NNqiEcgsanUGS$!fs+^GAO7v5 zeBW2PHRWGOBQKj*?xgPA8F|iB+ul0$5+#|0kB@RABjymjl8sDsg*$r%E;}?7Yp=y$ zewhtXJ4J*BDVBXoonknYEN*)z;!PLd$SMaM1x}xPCw!{Ex(~-o#jNixKcsE7_3)sB zZA!7X*1cMX(Vvqx^GXE}d_u#2ZoHAyf%290t*vp4G7=cpWZtUVEfzP$?6j9z^|(78 zQnlB^6BBL8G*qf+dIoRr87A&*Il64Ox9MScVwgIQe4!@kjR#81|Ew6M~t@@dvt-H{fw3^sGVf><3 z+F#smX z*0W(@#Bgt|V(<6$Q`Mu@#mtC<1Eg@YQqb6zYqoFq9<2F&l+rP>c$*u@Z~8Su{EEt2 zt=oOe`AGLbrcmE95A>?G3gvc1d(K*4WG_2>&19ieW4bOCw|D3f0ykeR3DC$GrC0K* ziUDsN%zvE$F^Y7qGHrJNXJurMV7pK<9AEz=Vv0n`_`omFeG_bBk)al2OrTPZTzfoCE4w;&(cVD9_BKDz^dU&+N>mXNK@a4l^WJQ8|Tl&=uAjxMB+nWe3


{bggA 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%0A}lV)1<0iL3`ryI8(Fr2-!a| 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

  • UeC8pAJ;Et_r$n< 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\t{6^4EN0nO~CPge8$++Gr9?ty;26h|yNDb*-+c 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

    `0|~=iXG`EC^AlMKbv-hYFt^O=i#SCHtt> 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�&9FTx*x<%w`jU$UkqndecWZ@)y_6$Kj} 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

    X@XMH*Gf$QD#wwx6~i<+Us47{5px#IIq4l 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⁣KatI{?*uYdb4NgduH+-DCeqBew0IuhD#FqjGA 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 z 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

    l}PLEd;!&W`N2c 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

    ZNvSmW7X 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 z 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

    cOCQeVZ5C&3cR>q(RuKMl~ z3QgNl(m#UGpCxI#3hz0sh;{0mA#~!x30%@P9^n>%pjus}7+pUP$Q9Jh& z!NKnkzS6f|VHIj{-t`WzNZ+1gRx6k-G#qbWf9U#99pBc*(66z_|7+ymBa`gyJ|u~( zAv?%>kUd0xF7Z8mJMyE*r;*=7GVK5FM*b}FHxThMjH3fwL4?cti^z{4zk%e@2ks!> ziu|95d|K~Az7hF{m-@jvdch&`y~uAN*U$%~AN+0PcaUrNt`3mzLq3ND@m*~rd&r+d zz8U#0_RpY>JHB$aY9xndE^1Ayr> z3JlwJB8~}IEEX>=>`@d~zV*$5mJdb}*&;T=cO$2bwX#=AL6&W zI8EI1He76W*yRfFzNnXed7ZauiNlhMMGgQ}!Sed4dWoZ^!J9OgqI@%-1u**5`HrxV zLEad~_Rdta^X>!FF@sTk0$2#;%;C1&+nZZr#-=$>cF%x644^BQTW3#sy#E*#6&(29 zULb+9N4C6UtHvvs9JW7frDE~MRIR3!S!+&zhy^P^MhXq7>lj}0vbDLDRS<@z_Qq7T z+HF66(UQwcNKHX)S;1q5!U2HG8&T%o^%>}Tt6N%w*o^u^LATqTERdt&P|-W!Uh=bb zkhY=pomc1ZUhpE+STCf}!?ekg3$R-sJIEHp4(N7;+13lM&apzllia8^@EVzc!3#&r z;J2b_3ZGRuP2?=n&I_&ybxmJKIF!*pXYKapbS)}LqZBzjL&!Q2J%5|kI*Um0$w1r^l!||}KrJ2rp{4XyFk^$8%{n(SyymY+y=qM%ELKr^4wOvbr zB-#PsD6_Xwh^5R1^O75+1xp!=A^Yw?$)W3T^6p*kGE2DZQgHK0@~0q+=4{!P&>Dp! zZnw+a7WNQUR`?!K1a93jREsR-BO}bQ$KzR{xG+pv(*t&#nh91cTha|mXKfZ&Zl-)$ zO-{PR6Jc|yvhYd+W_=t7g2g@1+m;{4=!@zD&&~VAhc;pG^p^k=7=xv*ld&9Y`H`>J}#5Zt17Dkb&@L_ zzj}HK03G`o{1V$Fm&VMnOC?L-D)pq_HpewbU6Y0&Jq@N%{P%%Gz=Ds0u5?a-sZ5rO z7T2?``p@g=1Uv>hLa$0?AMPo+lLJ$1^yUMES)T>!rWt?^JMxd>QpND;s{hrDt(oP3M za27XCPM)6lc$;E&k}A@s1UjBIJGQyHx(ep8-q@AznfZb1vk7zzWD-DplOjoB2D%?T zJ>m3mgM}i%_?cJfqC>`{Xeq07qNo6C7t0HJW4l%t<*i<3V@!>&o}3&Xoq#WP5-dq7 z^js*XiwQdv$8WLSu6LWOt5wQf8`VMpNxV2<*Sa_9-=DaCdP>{_@O~moS|^o;>6^B} z(BtJ++pf7~{7E-nCH@~;?6&%nf-?N{>C-7n@SdLAxojzyfRiO1pIewuG;pyc#S`o%GHdGnW1V};?rSwokL3{{7I8y)WVka6@f>2Zox zR*?51&yY_dKY=JVX``o!U*OLnKY;uT#D$JlK^`IBhWtFD9Jw~~pCQ8352L45kQ3y4 z5OHgz(9_UPqK4_ji!rMOM+--bRF}{~2Ti9c>+Xf~Y>7IJbTW zi4b#KN4m%z{3-CKc0F8ev-@i8F*n)#xK*)C`cwY z?!i__WNola9NEbi&()&0ivvkYk(_ocJnldw62x&~8;6NgJ~v8cuSZRlwaHrTiS!(r zEpf)_pdVk9f@Mm-Hr_714<~4itJ7MPOo)xfi!=_(6B!_pjK&lhgK`1&k{6U~y*>l@ zwA!jk)1vjlJgvPn_gmyhvEe7A51-?Ie)jA&YI8vTUawKYL~X~&Z{VyK=Fv&mc-fKU zrzw?|u~(lxOO2W=h}UKt4eD2sFTq3oTZ?*ly7iLv|P!5qSdFcndIDw^8g!4>3m=+us+1!~C4+ndPj{ zQ{=i-y1FQQI3)wRtu5?1W6O<>J${U%Yhr#De+e65SQ!T8^2r{~7ZI!#j^a82-MpvT#`ED9A_=F_X8>YS|wRx!rzT(+PB5deAr? zB~l3hoXmA=Yi8KkE}wGji#FLa%A;)`-Ax)xf4Ww zg5c^CphTu3z$Op1n zr6w7Amg1O@A#=TiBFwR`qx_)0kX7e#MYKf+0v4$E1ipY&Hi3p9;5nJ)I%~# zw$&7{8F@uL196m6@qxg85+pO!W5@lLEhVbHwz)Rwr~o$ir`Ka+;*g^yQYPbNWlZ{_ zs18_UcpZXDr(a!LUE5xh#wR_Va1W10itK2CWaY(H_RxqN&E87VR0PU1BPJj1%#4$wndGY(p!q$FIO9$x)4Nca0V0rdc4S7Pta}Usg!V7D*aT z$dcQR)dcO2(u7QQJs`YIxU0CHZud1dkv8fb`jn1KI13G)M}$wAkCjAsMHAc9`=u8J zwS|+GHpnJKX7FzBrut2T&>#(n>>akun9Wi|vh8+7ek(jy%2~vw;nif7CE-UQJ5oEQ zG=U;92MmiH17*KSc_Ch>Mtgg$&JB^$16KM7v7rM@Jz7 zK^R12PwQb7OBo$QH9k2zo0%diM9%`2c`8cRtvWCMIu@6dX+=y89AI!MqvJv)sTVjN za#Ax`=oxY*DLFv8!6ua^6i${09V3PfnG`w02{Syc-*v zdjJnIN#)iD1& zIXZ-H;y`e&VL7D6C?|Y)pnuPf92@}t8s}js+%}8xrMwRd4Q;f-+zbv z9puxyL%bkdv%fZ z1cgSvcDyOfo{9doC5$tkJvAIi6ua3qZ+~pkani{G&oo!|^GI3gRmTcH1iB3qZ_p|- zODns8Ly?>vbm1^9cd=;5i8mXRmM@mh%hus}i~TyC&Phd91)F@d)2Wl?14cnKAY?PI zsRsa;%N{|E=fl?IO{8$7en)G41 zbXapqc+zI4$xTHS!G-wCi-Y(@QWT7;xs+G()Javw&4BG?`skARm=_gyzPUX<__0Xs z4{~alse}SlSAtCy6$F=yUeQ4({$%;WM8)&u%X4b!lH&UfEo4 zX(8k3^E&egXy;KoKG8_J?6)F8qxC=`(5|z=a<=A4vBkNmfMVk(WXtfS{XuHxNIhc5 zYzx<=X2wn9ra&Ifft=%N+)d_1{&aeOKN!nWGX{JR#b)rOKtdLwxQlKoL^j&c6;p+_0mY1Cd2nxWj+Cq>0o4`6 zkg;u4LR@j$`e}bljq?<>)_Cl}WMHCxgadZe?ZH^!9vjjh}%h zuk%6e;%uV0@uWN8G7jUiNhdss3_XCNQk9#@h@OGFhgq+ax*`Q8i8hQ@Vr(#qD&y7j zB^*l{0g3ZXF1yxJWDso+Wlg6I?TBTlSADUeoUy`~9@W&n_g zZLMh(rfz@wRjwqT!brkfjiZ)Lns)|kDVk5+ly*Y^Y~a)*F%a$5yfx+(=uf}K?E|xb zjTNR69RJ{DDB}^wfGywD`o)_pv=aA{Xetv^+oIXF`_tFiZVTx=8lN!!I-m%l@`hrr ze6zz^1N8<<0!p-TeQ5sU=8=P_KV6}7Hl1K%L`gsfZb-0!wDfWrf;!&zn>$JoU6XoI ztO&yiqX8)y-$?s$J1j&#Ce%)IP;uscg7dki=bMP+l#?C0#ynl(}g(SdaS z3Mu5>Iw=YUEik_prtW}cz*Am*<6Ii}l^j`)N_`Y3^{Zk#fzhwd)bi%0?H zEahOrE*czYW&z9m@nhf)vE``fc*?JMa6|RlvYym-x78c8oHaFH7tz!FfQ=pQ#w#A+ zLs)q@oD6cadD(K%21*>-Twg?!VAgZ8)H)lCq~EzP^ZWWNzjwdjw@JnG!%0G4)hVs^ zbkUV9>U%HTUZqk^3;2s~dGYqlbqmD&th6Jv=-*(XX7eD;7~nN`9sH+1WTC z^y{^!hbO1J7U?*Sq=6_00;*XGdPKjcJYd<`E z`t+DDH`6RD9Cz{L1P?2hI_N|Sr_KPo%)@s`fP-{JXy0OW1 zo1+8U=RB*er`!wabPH!^C-gr$thNr1j!&h*fv`H#kZS<{&(0P=>)=uwokr<9 zb$1ZuMEr9kg+6y5`J2dZAve(Hz8d*SWD#AiiabOr%BkCA_c45QD9`!s=w_g|Q^ zcOeguuSS$B@z;n9tDQR244i7jd<;sY}L(AKH|PBL1_@R@Ki&7!EZ@kOY3=h1GvNJ|P3JB9qE| zPE+o-QKyZ80Z7B4i5OSVURZ+q1Y$8R;SgBcs<)sLl=cMPS;yh8B#m=|Gz&u96b%Bc za1(!nWklg4I_#otp-<|=+5{b43~W$3G^T~t z@kWif0H;K!n>fXJGreTdM?-jF@-VMDDGxSSAQlm4qX`bMc4C>}w&KnKTabGKpw_^a z^^m+zv@i`nU<~?CAkHN`x!gCdz(AMi+-ui2QHf1Iod!_}VM+ULd`BTKF)a8wVq`)P zDUK8i_BsY>2fj1RD?Sb0Ku(-f=X|9zbO#4^trA^l10w{>yG&pMIJbADfVNO+v}?@@ zfDC*&HU1o2Hww6t+b<980t26R(joTE0JzO;iEIMC5O)P`oNZov^{#Vl@XKgjOaN(1 zm&abZ5e{2nTe&0UQoiUwL6yq|k_8?R-BsVrIAw6lfVpS;;sL4u%>lfvzjQ;^XJ8p4 zK)V+>nOHCf1dF2+#j0>r^mcS{_EBRO7$vgFE~Et)xJ`w-g?EQRmP>^aLqOgU3FKmd z5)n=|Jv!rT!=bqW*at^pmvUr0I_L!Ck!6Ir4Ms45VZUoxZuTO1m-h%9F+?EM3_^C z!@$X1yGAa~>>(}k_`f}tgICcJ9Bj+sn& zIqG<){EqG_Lh6>pYTF&q9-`$_UEgr|+hhMxlV+QNC0K6~{rswwe-`p1%9aWOsv^B+=1(DF; z$62XgOg5HYA_`52e;AZrGc)`9_tDtNuPSD^ zr-yGJuOCtNuU9rZI2$ux(FXW8^nGVb1IG>e!?F2RKHzh0_9Kg=#Z_>{$_(tWO{@Eo z`EKhNy;Dmg&}O_mIH8_aw~n5YgT#yi6wP)o*Vj=5C4nm9$29EJ2_T_ra2WZws?Fo0 zPWSj2cbZFzmr-EQBC5^p<70X#uWxjgA*}7A6H@umu$D}_(OEOX$=Uhwk@$3A# zj^6NJAi|#&(HlOD{4^3oPk1l#SCG#jUUYyi^0kQcg5N-r=mB4ed=&ZX$WI}^iu?{T zg-<7hILLKm3wf1LZDpJNv^XgW7b;oydaq0hq*}onagExY1t}Cd_AWnI=wBq58$)+P^8){-)P#YWcGP_8fYMZ!h8+G1h zdM&-otLX{S+PPfz3wfMC#VBD5S#0$R{gl_j?yufm&g(KfH=B5w{?6$rB!mGG+my5u-;K;46JG#kX5TVSaSfy#geF))W2;R&43EPGZ2Z8|mF`^u-{SkeUxJDmkw%AGt=Y}nYb8gQ#h>~3HHvp9{nSw}W2P5Dl^u_6P~ zd704w-4=;)fU>u%Xd+yk24k#lt402xcEXK%r`o*5qH0#Uu^lrQkujEW&S$WH@)xEQ z&c_tHaMmJ3T3y38rduUFlKqZr)o|+@%wI2dUY7%Ocv0{D`#hn*FaywR=WUa ziH8rjB1L`~5RXBoK!T?z&B0~!Uh2bSzj@uK3f(*t&aKhitoQ1@%Mpj<;~#xVp@PQo zdYC~AVZV6n3M&wm>B2cp9?al*7YZ89d{(^-iLJn}U7QoWI#+DYaX1Yw_xPZ4jCFZ> zUN||A!>f%)CXY=cxCP@CN-Hbu;iG2Tzd<^bLe`wBpyW6W7>Ii}lwrd>Jw6B%ZPiLlV2`*A(I z_-4hc%<~9$S?uY*Yl3NGnS+DVQxKx8P%Emcg@$8!??ub->#>XvRy)(TI?Fb)+v?sV zNky;8q%vaw*k;RVpI#5n^PU~yQq6PV3-Bx}oVNOPG0~b@NYqc@St6t)TL<*g^WPrO zhcVVQ7L?`rB5*RktO%PkbO$bR88n=PIhx)fa-v9IHlO`OA~9Pmk~&!;u~jJ= zwQ2g`7`{9p@D5@1Lf)cXxJwt`82cH$k~3!2;<4*Yw>Hrs)^9T^fr-%4#@weh$hx zDnGeeHbpfpJ3@mh^W8O~Q&6+hl{lch)=m%ot2KajOw&lOzJ5MC*h*p%ZPL<3!O^()mI?@ zIr2lu1bS5u`3B@?ks!L&`;ku~zk=k^ug(y0uqytxiJT$dhx|H{MYnnb`6TjB5gUC< zv9^yRKZ*Q%L~%9oReT-tqsYHTqTs-4$Q#JVknci%8u?AcHB0Oc*+t$&E|9-~d^0jO zhKkC~ni)Af6q&^gOcT~Ix6C-YXXP=mX+Gyhcf~h%2;sq&Kr;H0hcb+B?(n$6`=L)Sk5;onCLqT>Jf_{* zGjeCOi)uga5BX?ZK?{erT}icCXL&#Mi{BisdTb&v9oY3D%0myh{3#MWJUQOj>ay_> z2TCLf*5|PwhETwDW$Rm9?z3levqYR=2_Sud<)Y9ZnKYL#9exgY0HGcOhGO+v0k5Us z_+=ijor|J1TG;sXN5;7kG8-0WaO30!Ycc@u34FiOdv{+`(el+%coBAYE9gZ`SCpd> z6C8F;x!snPB36kdP1+yIQj7%l3v z~!t@4NyitQS1o#DUn8N-E zj0hzaNAD)_7*HW>sf^*;z)Xfp6%V?wh@1#@jx4Zdkuq>1uAUJzzyPpQM}<=?6r6CU zD$7_yELG$2LBuHyzkDiFa#HzJ!BSRWIxmn$T`q4k20qPJT~2I9sodD^pg*%8n=ydX zkuo3@6eI%Bab&^zr$YGllOP6l(fSy-sF*y>=LVGB(l&q)np^6Mgb79AN-V{w zK#;Mp|1HLd=c$>p2}~SFt{w?NT}s{aPa?Y&jq!y15{~WxqRfL2Kny4@y6Y~y#UfQiZ~~f>uqz5;J~Or0Aa5>Pb1&Okk4 ziDHT*XvpK=G|hpR@z);08}ERs{b-elQLQWMRb2jxPVROSR_Hc-;JXDDC# z6#cqPK0*U zc}o6tQAbZcNamBINiZW>9UbQ-3&fwVP!-V~6gLab|(v zGbKbE=c?Q7E{dN^p)A&+f)77~dNZw+ahtW%s{>AF&_KHov-H8}+Y>;C@Z63|#L9js_6Mtv-K z?CG#doe2C5fDoy?!4pu23BP~u?mgBr{~W-OAjCj=)FfuFl4h>;3M+&%Kln+dUD7@r z-n)BW?a_JR)+UjwT*U93&);xiAJe|Y8(3>7$=Rr)<9mDe@7|^Tf@MWxgukhprl^PG ztS!llAy-nBye0t7YCk=C|2~**{~}v6V3>R%#08^w<8@uYtY@>WqOTArQDc?tiSmpo zvtVNb@x+{sc~UIuaQ(894Mq&jvp5~E4nqD^(K2`ZR^1I_K;Ee#W$)tyRavk^e2 zj#HHLVv`zZRn{<&nC4J1vLH((;1_Y_@#Rf+$0lI(Dz?TpwvonJo=zs0K@u;=ajWK0 zKhDUNyr|9am}o@)xoNaCXcUfT9W-6^-iwQ^DOv898(Ulr;44Q5IzIs*e@27tNy2a1 z`8Y~q5n3BcgTzij&@wGiiyD{-cq8;{azWId0i3IKUO4?I%WrTeQUXi`*Xz4fckAh= z7Ex+*Qt3IW%4`CXlL{af=HsGJL zhiXGn^zJmG8b{L6ZzE^O#}RRI{3P-@WD;FGiBysIB74Y3k-vca*T}ac-;GFT|6h=w zL&QJVM^s1Q735DNA4a|l`79z`{!bxakNg6XL5F`6`4sYth!6dJ7g0?GhApZoJM~AN?;wJtP8~X6*>D$%q1MGPL5$EM#UR-?o^zCq!uWIds!-Hz{ z;GjQ^@_Bl?u=Mol!P_^0Q6AUZCkKRh%}>G$%;D^oAL?z=%Bb(bi`8blSsxCEBgQ^> z8~hdvXKM%dgN`)gM>{^kp`nny`H2m;-L@ETQsMk*e&-`1Ib!X?pKINv_c25!n0cqN z=N5^)A9F}1r}>SGn#6>|g2SR)fH_Y;;sr+6&;?HthR08?;patocgSUKhif&QgMC9d zH>Y4cwu@^DE5hxk1RTH2aOo!}9;#thYUYb^4KQQgK=%aeW3^_(Pv@qAFBD^~>$`|r zxZGdxcMqB-Be^D_W&moWzb_H(K${7p%IhBHDxT0aIr2jHDJQyRbSqbwE=DZi&5-W8EUqu92jfu!-TDR}8z? z<>_iDXs6gl(`6sar-z-}0il{?U)3GR68c!C0%#_l=lKrf-f_Dp=05BKh2ICBWpu3m@KsbSbSywYhDNabFjGc-!IzpR$`H3O$MaUc zql!5%uD;uAHv7X@25%XM#7PX19sSBVy$U(@031Fe}`Rke|YGA&~-xZc`Q{XWJ=?iQbA@p;WYam}KFCp`kXt#OAg-NA zl;V~kGPk&4suO#A?@3y=xdphF)x-|6s!(*RxRNe2PnaN-=g_;O@e8+a-+6QIiSfAd zFaf3l5;VmYuw#jeQ2&x}LBbY5R_!Nm-~P&X-F?Coo~HCHX|a~v3PBP}6e7+L7cbZj z&h041oKA_VOG6X4Z@=gE-6xhcoxv}kDf0i?;0)@xu#0Xj2j{CeAh;r`uJZVb-v>9z0O#vap?_ht7-C z-+XB$Q!1|{(j}Y5E$rY+1sN52CeLCG8rO;wF~}C9mIIiA3(1^O_Y`eLlw>lQby~D8 zgSqpCmxJ*XaKAjZIx~Z3jmh3_ot!f^hOxp>oRH~3pV^n__om9$7o}EF& zz=@rs>l^Hpu8ReCn>1lScIqf{yurFOKhL`p04%JO{35Hfl{=-{DWKxsvvY-c^)aWZ z3kL4b`bdGBUeBy*^YdC9C~^nnne`c^9M!g3X>UOPNrEcPu-kZr_z*5sqF9p!TOlge zSBN;&AL@W0V2dcVnRtav|4yC$rxzF4sD`sj7Nqjh1Tos&kh$J|^hlfU0#PFn!MLTO zX(!9-o=8-hK-YRg4CG?m_Cdi~?sh{7fdr)SFKx2TJbd_&<1d0G4#uOD@l6LP55yKl z1_P5uy-gx%kxT?R1#qOnfdH5VR)kKaQKP&1FF^$435J8<+)0e0;*&S9(_O*CSPpQ` z=wjfY!8Wm>b}RJQ+uLJzbGf-`;GlVK5PK{^`;lc&y6WLZqXz)ATZd~;ZTB9~TKR#Z zEu<-_j$VJ7wkA*Y8fKSN@(vhlozY-$kDjNStVneUpvkPw3T|1^1wRB~+xJrFmB@K0{CRZ!KZSfF@^gslqJ9AR z1oBxVj*kCT$X~hC_m|M`l^dg6?{7hV2>A^1Z;?fG{UqWyi9+5nz$bkAo(T-cx7W8w z9&%3}9i1M1sMa_*h>~M;c-VJMp}QZv{h@mE;2=DPa=(G9J*NQ{NsW4XqjB)|+gt6o z4-V?|=`RS-@*(IM4j_;|Is)Uw5c8(>!ok6Z_=WhpGWlcyEMQ1z@O3i}I{IqH&{;1C zD?=vN0iFn^$kE$65oyji#oYr1{OyBHtwPfMYdRtP`bQt)Jl`f&7rljfb)rtQ?vs;~ zr%$mYZV>L#N@BjA0Ur!D=8z_bhxK;1hsr!Hd@msjj(mI)l1j~YqToI~KLwn8cIFv} zbO;?T*PjsZXIdd3fwIujBc-n7y$w=FCO9 zC!r9-tx!lNakw*vVgH`i-`rH_Wi;seGFUZyF)L0C_hgD<&U}lhV9wwRznC43M9@*p zSM-F`8QuEMoi`smn4F^YdKugbAJ|O0jR5-zV_a1d8xlTlu}cB^t0@lh6-6 zBB!Z%OYqK}cfa{C8x7dRB8%m{@P2}dEe{Ws0auX+onkTijZK8990w}Hi-cW4hok>M)p^gG#jbt zp*wf}^an1naarojs>{lt!fV;mQzw+TbN=l4^9`bi4~;<(zH{e&AAGDsDQ-*j+f*c# zW0SM8rjL(Ne!(kpTI&x(<^i5&Ij&2Hk+xV6T~7?ij`v3)zXxnrg)WbbqryrH6@v(@7fJ}o&^fMhv4X34I-PihgBoiU8&9 zJLCq1^d{&-NnheDB7Ryaa1mYOhVFK+zz$$69UQ}khSHqM^$0k@Zdg!Ojp8;A-3T#Wr+RUS=fuBmTqJLrA8}k_i_}&#Ar^Tw%y%sKG?f|ADVkJ z0%`>$o*ID^B$T9FbnqlJ0+%i;Z*VQ#Rh@yR<`&)W-{(^LGwVbZPz2x(ArFs_^lDCk zM=3Y09-xM}Necr)wpz7j_ts8t&@WsdM5>6WLsez)gwR2QDp%s1+LK96^*JfGx4LxT zI1%!=my<-&M0tf9qzM{-yVV8TtbY;c;~&_^Vt;%@^H>H?2ZRj<>?lB>!5@k!a?@mK z$`m00!Hdveh804HI-@h=7?c)T6>yM~(5xXZBP1jtu|(8A6FTMu`R5k+PvQf~03Iv6 z33zr$*%Ti|y-w(fi(^k9Jq98bHOShj}tm)AR4u|sr9|+%F86${_ zQQ5yr?ObbU(_mtM0bNmb=)?mgol!hM(iv|cA3(ka`CjBRi0YG+koP01Ng}+g{K4XL zmOglf$PfI_kP!OcyO56~KaWJw|866nKt7GQ(f>NgN0IMG6lfXlQT8GZ0z|MBDK%*n~dHjbnh^?L8!```mq?&(o9 zo_sz!eR5LYFe`{QWdm*=zjyC8!Oq7M!(PTI?#?kMjZ_T zKjTwysFdUR)Slx=ldS<~j83zFryW)%2$uUpb2{$hm<{@s?Zokn<5b@193F;eSQD@i z^2M%c$3NeC$i`j>;pv&9K8Cfo=SBt93%YR_j^M=L#TVdX#_xw;pWQwH1H{~@WxbJ3 zyJ-0o;)iaBdfkJjq_!=>1d<>*fncJXGgu=ooZu?HLQV7p`vS=dD=W2;M~`HP#91iG zG-PQakDRwXq7AU@_jy85B78YXw!! zEdoRM5K%NrcyN@?38jlKK;>RH;9alqr`PAUwzLw875LGhLon!rF4=*DMT$ENlP?&^S?U1~BNvOA3KdL3P7^+_E{Hyk;+36Vjk~I& z48t-MBpjC}F$Izw!6KmfflP6rhM;t#QophUT%fu^YH+QkY!K6P1iBV0loSmorYpyR zAIR;((A7RukQtFt4C1Pb6$!*Pxzvg8WJY=1DI5Nq-VO6YvQ(H4G>5Bwh7c0oss;nFo-yTuWw%k{_p0tzH3Nqu}Z# z4<%zT2&uw>2+jnz*Y-xKP+?#I1;@#z(zdEL2pV4}wAt&K+#WLmZz*YT>dy$$St9U) zy8U)IM1H$OwoMLDAP$KUKRmew2D`O-d}g1&k<{j-aV)JZaquHd@;X;4G7~ z97ZJ85r=CB!n{_;Ki=9ROQ}{DXi0Yw-{SNuIAKtEVRuQSEC3KH-VMwPpJkEl1+E_O z=JmB3mC6=L()ifr{_iy!{b`ULP)RdgcwKN?QFXj>#Y*2xdyDYv*zbwfV~CMRs6&w>a1Mxb zV#@4!v|oaP#}~EHrI*2xr>qFuFKDU?z<)>pj04k@iIHpFlOilaY9x>ii@HC9b7<67 z(M{McQBt@D>9&=D!G-A;x8h0=1D(Z2%(KAi-;q~TtPf(`*=M=ZTp$sWmYgI?1pX}c zXmLCe3fSP@ce|^TozBo;-t?^?FO^!M(kMe=W0R~4ZrKLv{cE6OQIXC3LZL{Y>=D!; z)sr#giKLm?_IL1fp~=b`>Dw{fnm7sd*i9N9FA!c%G<=+nG~n!#lwY9@Kcg(jDL-f- z3Px_B21&^Yec1wSjTSLVndrlpGE)q9P;mw z8FU>B5yn-uEM7;>kxwE22hvB%=soX36fgfC^ede16yANdyKr;u@UpDOYk`4ObA zf202>kLZVxe}iPvecq3J1M=g@zd__1Q{M3*@=4?$A${Z}bRBWZd;#O3O9KCb1-mdC#q!hzoYxd~pv5K{1(wU`*!}x=@zyRvFqq2Y zNx?KvDhDGzMqApYM=ns{Hl$P-b7N%U{{8p8{^ZG{N1`!|WAD)?3^)yZ6HPBJDyS3> zv21t+Mi~6vcb`0w^Bp9eIayLb8QiFkhBa~>&c%lhAN)c4_um_|rvyEFxHrP$n#0W_e()MzkB z3eEf+s)3hnj3vq8l-1!zb8Dxz_i)f*mJWVu$>g;ym*;2E3FN~LCKaiAZ4MoObFB%V zPQ$o*M*JR+KhE~e$FV7H;kUfO6cMTXt0)`I=GJBtdc}vv1{&cpfkVaL1Y9v7r+C;V zAjjvLfIqxMt<7eax0CI*Kf*SH51f=&+zjxLMWZfjg}5D|gI5-X5@L_+VB5jzrRKvJ zkD-7siu(&Ci%Rv;Bv+V77)|c#5*@UFlT%u6bT3sO=vzXtL6@kb!K3l}BJpGxvo}dL zN}=$wi`8~Veb_v~lr_6L%8>Z#Ab<`elNicj*wK6uM~WX&AZF!D9MVBP86 zy4mh(Ashk}251#hUha_5vV4Bq#32-?#+O!Jz`&wPk8+VQ2AKDohWw&Gg!(ChaXZN~ zHgNjl;THBiWl zy_`e$Nkc}Y{CC{Fn7M?V^j2-JaqjpAaQ`p>yBr_pEhC^S_#g(flEnnZdCo~$A!56% zdOQunR$RNb$WDvBm}OkKG5w*n+qW6P!zp{S+%y~mXtK7$o=!GboFp_0+mbz*qbp)2 z9^Bpbx=2z$01}nHL4We7;f?fAQ7yqdWLr;1;Cc%M;VH4jEevp&-hu~csfMSMsRYb{ z^><|SgCD&2@Zl8cflEsv+sP+b46GPWk;z4GrGvB0!VgDpoE+LcnY0|7ov%N2g*oV1 zT0%?7NngR3@Om?j4b|wN8%gQf0{Kt_Vhsef>Gcw0!&yUH;l=qp5B277I0hER@hW~LSeNa>NgxGs{#(&U>mx|lU zEsdp;IF>m^rM70A03wRwmU1<)v7n;X>-}k*myk80eWQm0c?h$R*su$%Rhw(_T;Lec zJy6owwGn1z1GhSsf0(R&Cq$e`PB z6N$KLf=&?xJ$r^`3T;3b`W~tsrR@?Fos|ZIq8AL50N~R+rAZgyrDtcsbj%KUZKC{f zc=JL*uqqHlis4#%gu#KgR6k~WyFbbHcp-y-oCY1y@Zyv%VjMV@PjjpVGwT*Tzy?8!Pd+A0xoj}(2;hil9*l^(0ZVc@ zz|}QCf|}+$A6}4_Kop(M^=WY`?mjWv9*5&d=5Py>9E($9fMkp&qLJpU!Y9;#kOv!v zcY@+3sAXCRCt%Ti{(OnTSi~JDv?n7`R|E>5naTz~_;81NH%)t8RyxYy5N=$sD%m?EajkBq8M zmsJ}Vu#WEp@P|n~)4W38Cw~kBgDsrj3Vy0-LU>1{o%4|n%KCfriTMdP7uvL5Q5}w7 zI+amvlTZ3rCI^?up~NG&Hna(k;D+J6{(b%}UzZn2BJ0Q<3sEf8MqWmgEB=+pUE~n?8ssk_-+}y3$WI}^g!u95 zi_n10Tz#aen?18?5$6840^xTJpm9*hwPzRzR%f3zQJ4@6Z+ytV1z8^P$?R90Fni zH9Z7xBYF}9(W9Y@VS-Moncw z(F@+Lg7IuaA*OXuJvpM@-!|@Q({t3QE3+?SkdhWb6@&sQTr7AnUN~e$E0IOZ1KSE$ z%Y8EMC^zoWBVrFDWAA_eTf9^=CBmx~dm!->r<}x77o`7Avqh$o*_gOmZY&yxwkIrx z-Tv^zy?Yc?qVqH^N$7L6MF(QZ0vTq|`BCv@YrD#tqPL&z8RL-^1^q@ng?~tu=_y_l zu^dvyg{ml2E0tRU3V^dah&!iF8NQc*kx z_|oCK!B-$)9-5iDt>C$^{7nBMSIMr#U5Y0hoO@oc&E5nTU`2YPmRS}cR+Zr*Pa_Z| zX-FC%fl9$w_>fPUh?*YTSo~VC*x&IM^@klCgQ%By_MeGR4ZY-E6f&-XaHjKI(h~Yd#OCib@3WGpR zh63o=Bx&({WG>@BDBswvOA!N>Cue%XVS;0>F!~&(&7O zJHn|VM~S=?tQ7R1nl52fC$C~>(ln?m9e|vgT%0%=yeMKIc6xfxnFn&|sn2*I@WH(& zjx))$<7}Aj=)rK4lV9)TBXBCNN|R{H%fvlm zG-g`du`4+JTFp%Wab|x*6WOBDX2W!QFWsg=LZakAEya_=V};)nc&Lqou(bsUOll4t zS->{y=sg@7P~g3LUqzio`hv~%Lnlrm4SZOFC52r6wWgWRT;@^S8Z1K7GsGU@vkb#>O^0Qa4X9tSDz@q<>?G1% zetLB2;XiuRpFwHza~~;+gH4Lsv$c-bSzA2{pl+pEWtda9dPY^4p`4|ZXH0XzC}=%| z`Skh!$+{CDJG1OA@F}G-C8gF>u5VxRz0CJsF0WLoMaoUN?d?hz{55SW-#^y*kHh812)qJa(?H& zRMU?6qEDAH^WJa&?)~3${^x&IBAyxFVYK&{&zfJk#BX_%u6}t^j$XoT&OL_Ucq8J5 z104@{(yp(XId6{2x&z-PGB7Q_Q-WcE5(C29>wju_YZPLRS#ZdcBhDC+$22VN0c&Ub z^L1143AaeQpYEQbxoajsY4B$)t`QitQkFDJvA2I=frL>!0y+>7*OP!h*D&bGm*S_4 zj}NE9^Y<M{}w0X#A1GW29U`INl-bcVAAyjVq>a z#UWZdJI5kRr`P2NEMvY;q#-Q*0++-%ZKBzs&2w~mJ(AB4$h=vK$IsVNQB}%52htAw zd?lqB^vP#FIFcE06#3}aM8FOXDF7y))D<&y6k?X+z}<8u@r_;u(eh;QeEdHg`_kNf zSw@3Ah*$CJDEgV;Ef_AW7e98y4=)9Ty^`X6@ZCb!iWukpuE2Ud@Z10!XHnlIuwLl@ z{1E#kHVxao&;9`W+w2-_7xB#B#Qr?{Wwr?0eFyt%>;^pdjqDGwpJd^`d&(k?88zri zu-qIA&A@MGQP1Ri*$=S4$^IexXDsT|^}u$wScy%ssCTl#eii$WeVP4s_D9)k{pg?b z?|%4hl0_}MZ)UG?;CK6X`$9NtELJ8jL(EYVXxV#n+Tg_T-pUcM>@;c{?CQ7tIX)-f z?kc2~e!Fuz)PowP>{MS_7S<_v+Lw90mB$HA4(QF3A(G?N~BAewL_2FQOp$9c6Iw~;R zIouUl#bzTjp5)B((2$@@4Ke{U&0HXpPBv#6Tl6$mcaGTi4hNlnl4DA^<&o_;sltr) zs$t$(tD!M$gNJAf{_qsSubYq~&0hXP$Ov9AwbXM1H!~ROqxpi^8=3|v9j{Mp8+#k( z8CM`dv-1Qmzhg;|N4^){q%2i#O$`>Ogn2?>DwrejR3bPe$?puA@9aK}!BG(H-H2pK z)g-D?sTHLwD&AftRkS!y+(PzrjMHfgtQy`iLYgVA@yTiT;s+mm^z<2EZuq04T~xHI zT&+n6FHYu7H1l@QiQdf5)3FB}V>FL<&&=>3g%8dzeeeMmBqA~wDF3YIEHSZ)$k@yz zu||=pv=0w%j#$39Mna)!=_=9mK?FC>Et}GZhZJQmWJ7=3;;P<1BzWYR7hCC>ueg-7 z3)3I>hY*rznP^8$^=7o!dl?b&s${FUY|cd#%)JTvPd(cz1ZrI0R9T0E0|F8fTwPyq zHtCy%CZVm)Uc4{EgPF>3VRT4{Fk2w^oH$5?j9TNVES}JF=up}gSNV`v==ky|aDSky zef)7}FWD??tY*omb0EJxM&(upir{2Zz_n@$HQfoEoo)A2N0aIwFV)&gpt!w=-JDyF z7-5E!RPH!$W4S&+GJ?0$f~cNvPgV0P5a|8od$X~d+1Y#HZk!L@>b-gVyS*nLclP2- z7%W+fK=pZWtDdjMmuRI}pA5HcH6Mx)b4zQBu^;P%``Fp@a*FmM56`+4jl;Qsp!sG2 z3dZRISgCx)UhJnmGt-d&T+QS5NXv8u;X>QGzq!A(u~oG@O6DAH5MlX|~d2uZc#WXo%ns=dlo`?LYzO z?lhjyU(hhM9SN^(1Q;5PN%~d_HV#XSpN1XDgxJpqA4?+0AbLgcM&0Q4jLaz7B11#p z3gu?n1(0a~q^@R%~f-}da;RaL`Bv*nTg ziS*l^M~}WJbH=ZQM+Pw?f*i^xoEUFcK|eG(^<7*Kq!XOE!OED?vh#!5+(A7BD1b^T z3xZT!9qA|EERsvTetKO}VNy2;_eT66ouxK`hns#F7*RV$&4Tnp)P9lQ6F)c?ssmsB zVW_CiOZ4eZkmS1jZl#rKt!6c-&zlz)7KZYpn{>(eI5j?a{^IcY zi;!@hw-oW)o?umn`xCG_eExj?`Ez>FhNOdoEU_u@>-5r)KfVZ-x+pjdy|br|$-xq$ z{N=$&`F!p#f%nB}qoz;l;txm94-TJyn)(C=*xuHO7&&d{!z0R*hMhUuRy)t**H>;h z#L@HnD~_@De0}G+!(OKzL$UJt!kQ+2z7<7R;tz1y6du}8*HYJ?_U}K({wn)h>?hbS zu!zGpSkx8%nEgTazq6|_+BW-6_QR|PK3iwMh5ZP-3Zp$_k%RnW>^h9L!CtXH%6^<( zhST0<@3Y89h`8&&Wi6QOSF_N04vpu(&O+b$GR)Ov@3Qte!`$f%I-R+9>vXzzC4^1@ zh101^2Cg9X`O4ufh=~tJ7JFKd`g>h!$@)sSI)!)sxX<(;eg*?(rg>zk5i_IFADzzZDe1uG+dUDKd+gmCpnz+~?JuEkX7&18brJY2sL-&8)P{rr<~56!`A?8<-0boD2F+8-Ha*6dz7>W@(~9 z(AZp|HZ499p{>r6^x8Z0xAN-SL>F6ga(oM16TQS730{T%DpeDr!Pn$|i`C9vOt_z% zUcKw{sW*!qYOlVIJMMjp_1juFuN`J%6KF8c5g3%w!#)BT$uiQa9fYmOD z&8HW~kBzG^9$Rvzr-?K%o<>c79>C~Wa-Dw7RV3dPA6bN`XpN*@>{A5guHAYPn`hTM zfzK18wW7>XCituSNaCVxuW$-DgcIkD!A;LR*3~klXc@0>#6CR23lljNUVtQi41Dup z5cOx;R(n7j5P#0@%x2CF+KWI$LLZJ5O zxu^aSKivbfMXO^E`kzzarPM5BMo$VSpPd{Z4D}BX(K7wERlDKB29+9O)th(v1Ma4k zg*`ld_B0|Er{|PcE6GF69Uq=NKYUpnIT%P8-mS?>3%_$bmRoNr_Jcmdm-ApFUf$>z zjLTxFNk6A}Ts?ew@Z#X+trB4%*{AgxQkV|jeEaIJ=+=pN7ps(Fo2_QEBrE9f`Iqup z!o$M%>At^n#gcAwBeVmZVJEUKi36O#oBZtX)t838Swm}Gd$8d_ zbec!5$j8r6O`FZuXD`eFpML4nmof;_-rwz`1(oT+N~yM z#Phe`zPq#cSu~B_uVybkeHwQ&HCJHcYjSl=XD>c|`|j-e_6a%7X44ZFE1c`q*tiqt za^+X%0u6ok*@68p%&qPmo-}I)3SVEO(F8l?sSwEjFTrTgBINGfh2_;CXV*;2iQ zvur32;Q7)lbi}%+Kv~#sV`8i9-y4eRI zNDP84_>*#%;%2-8QS9jEfIlrgUs#fZw}$4O~@Ij(-^IR< z{blxd**{_bmR*q3c$1B?D*z{^*5$a~tKIIZbh>ygPA~C_DYljp9I4kF9=0!A2P8)Y zr-MI(h=*6>HeM%t^8Cf|@o?b7_7$^FKoic8fDP9rltnEQe5)DK(q<}idZ4_HFTq&v z-FtR=HKnxOpqrwM+sjX1Xgz9`Zv|r(us?%YM?YkpNh|NEA=|^nM3QJbM1=3ki!*?{P~NzJ00esDSG$YC*ws1vtiV^mPe9z}!a>N%el(g7he(|DG4-b~QYv%SfebIts zqXf&-8Zq^aX|2TAo^#e8DC#-?3MrmXKiYs=oZj@P9zcGe=;E?yigzo^GliggJ_2KxlIFezF_1i@=(nJAtNW*qwHj*Bv)RJ+{R*@gQ@ z3o9OHxzL=VkDbeRAhM3VPj@C~m1@*5H>^3|v~_0bV?w6ego1 z9FT5ncYZaBoP=Y3_db4RJgWdTsh>=<5#z>z>=ti+V^RW9wY~2yW13pRC#UcUR@#)F(3lY*$F35Mo?;!pU*h;%dS3n{`Yh6tNz>TX5sEmN3j zRL5sbbv2V^kx*Htf$BX6vbtFjLAl(t5H44=6_K>aCxb^)PrOI}%DA_04!0L(OWWz? z7Hl*%9woEzYn(--*PGxc1dqvUM^#bZqqh6@z4zAn0BKTULyNF_nZI?sJ(HMyLdM`o zsLG8`O=Sd`1hhTIc>LA~0S{vr0!yQ#AHDz4<7)L%8_SThGR4mLu&5%?!-TlkGHbbDXN8)%EXLko{s30 z175})ruXdN;1|B>n?C<|axzrVCMPF?O2jqm&~38bf_Wk)&2kH#F-qy?n4N!yi@R%X zaPa+K`@skA6RHU`JlQJe!ULF&uI@@~Lf7N12r(x*iP_e0=g^TpdU{TO&03^FLNSCK zT`9*gOqzp;2d!i3a!shA>`DVv!*Jn_<`d_#wOG+Vp!`T7=??M+6+-PM`tv^4iL?;} zq`WZ+&BkkJL-s~UvPg3+&i_0gpSQT0yD9B}_MrS3^@Zc`YDP6AZraH9s3ULVYLAdP z66C7!Jbgo_=W*crM+V6k4t}I<+5gqCp)l(Z49Kcj{Y_efLgf3_Ch-k-bm%r~2fo@! zZg{Mn8=a!{7Yc0hrP}(srSk zBv04b`T1}zktdI!{I%=8Rt!Il>m1$Qz;~`X7cP;|s!RJm-yn$Q75S|G1cIIswTKKXQ0KR@3bTm^XoqMO^+WB)A7?VM@4b;P^3*@Z63_s-c1Tp z-QDlM|7{xKpI~QZGAow<)PSS1z4uxJr3 z5j|kxS@wED3mJmdF`(P_lK^!_P;pVi*aGWh{hWU2>=cdNh4@9(t_K}+7ybBBPfhc( z?n4%@oIsL#uw6@C*D=5TAzb)R*uP;B3k+`mJM0_S0sDRIZ?G=7@DBTk{T}ug*}rBr z`0$(9Z)HEgewJln!+rLOeIJV)$BXdcUG^~xy}R%;Wnjc_WUnVWRcq#wL*TD{YN$k7uMNZY@K}ryZc%<@J=7@o6z&R+ev)z_Eq<0dGq1s zIt|$<7SK|YkC!T9M7w;~Yw_#&eRFVYYe8DiirE)t+TY$f>rhi3Fs3yn48q|JE~@`b zI5BOf6%_}gfQ32FVZ*^?rd->9kVMrrIV~5Wf=E<_j_IqDoe@Pwl@C7K#mydrLkujV z{*ks~iHak}M3G~##m08PN$yJ8)U@Fm^{LJUg@zml_yFx!TmCJ#~frRw4&dA z@bKZovjbh%C6iG{)u)YTok=NWz>mT2=wvU5C^7Ei4(RgmAsNP=(`$-^@^}l*VMmQ1 z;gYGP0l<;6=WUEWDeL`#|2%l`u4fS2=@ryz3~;1fE?`H~@s?N%<=WQH?kgv#TV$&{ z&}pBxDx+2+wGO}C%w*h!8R$f{D1Dsly^6*hE!v*PWuyaqd0ZC}IB_h|k})?SpULY# zSgh$p+M%<5-RR17ThsX>FC!?I^7&FG?m*mt&QV0v3gwB$wpDDL(gTzIlP4d(_uhL? zpI%BC-42C=a%(uw48>+R9Vb(+wYEPyK6&^mj*+@_KYh~OeaRr)mSHx5!{lPh^{kW9 zC$A$%`}W?;mvI<9a=8zm_V!LsUowG9>QqF-5sG7Dom{T$Sj(+bK5qNfr-vue;bJ!U zHq#SRQ)hZU{_k$HPGou5=nOdu6EHeXZ z+0s1j_GooNZplF^fJn0{GzH7lqK6EmGmV#>J)#yU&YNBXjcIhM42@ZqATL{+FuxQZ8t+5$8yp53$$5jrAG!K3n zC*<)DmOnd=rPoQ~K}lB24&BVp)F*OdGxcXgKN>A!X0jhu?JVB9waP{R;_#(67_?} zJ0#XiMHi86m5b6Y#-8ydwb~P6N^a54*73o;=j$7y99ze+`b?+R^;W3=X0k&A{hokV zcI3lGeXJD^BL4UC_+V-7-Yg2{(Q(9Rg`4*u`kxmhT%JSNDdibl_o;@t3((~71COGp z{doO2w>Wq2?(8zs%OMI*8vh)&(|h>Qqao3EuJFO3{8-h;9>Hy=o7K0%3-bK=-MdSw zwjWBmAZ(D<10mD^9rsw*MZLL;*L{o9JnG~j$r&^h<0yhx#lz?K7sH=(L^8vmA8R3|2;rwd3FhxZp3?i%4J zXRt}T_~40MT(yglOetR)iycgt%7=%-G4~c<9tZ;KZ+WVJ0A!qpGZp)DChSKayoaY2 ziC04gsd4KRpIGVeaBgvS`RMt2N)p-9m%f*bAH0lSW20g2eD~9*z0tF*98RX_DY;{< zN=Z;@_UO5*MJ3sm?cu2F8;dH{3t$*j^}Ku~pO+R=Z;T0yB8>3&EIfbS7^UU4BC$r` zTA$^Gx!oo0JM&XtAH{Qkr0DDI^q4<5m>k;O-LO1LviNfZ_E)yFj_K@5G}pK_79e*l zLTpomyQJ1ge%blG?cIAC!h12uUn&+ugd$o-B~F57*24GpHPPU#iMta?Jerhnj$XaG za}80Mn%X^wJZmFGAN?vL@yd%7n4^?f_iuBvEblL*i8c;*{Zg<9HM6g5@RQ!@v%Fm2 zj5Ci@zkVsMG_RhUVvdoI5E=yqE}oN#&h6NE*Guy6MK<)sr8jYVFarpE`W3R$&+45r5Wl? ztxCQ!9qWJ3Uf28uYeMf+mFsqWadu(*#fvxltgH;22Bp-$naMnQ&pR>Q7%sOw?Mf}& zCs7pCu|v&ZfB$e}adB>T^TmtX7OcyAd#Q6=YFBGyM1_Z^y;HTavC)QdF6+K2$|Dfg zZa>^TSy^44U7me$^x#4JnyF=fO_A2^ZDV5eNAiD!RovSe3;7V$$l8k5RRo$uespiw z_V-SX7nWYkzIX`%%v?`Pgtg86RfAX>47=uCKB(9msd8w1rnb0a3h;UN3z0KY-PnJ* z^y0)Ls~xc z-s7ngLdv#jO-0xAv>j87jKC>c@ows<=U!s$(G$|uq#A3ti}yHc_*3xoJTjWlaafYF zO0Vs4i3I#`zijajh=4Zi#zO*RpM28kT`XeG+wkc58h90TZdMxfPspl9`_w=EH#~jI zq?eXszKhr9q7Zt0EF6*wfC!dOxna#*({ig|9!FM+gGPV*i4zb>-&Qj1&j)OMf{VTd!7DzV?3-%he5-8YU8fxosF`ySs-;7yUn}WR;-IYA30~T zo!jekE8$`79NunLmliBb=N$QU_bA%}b@G-Qqm;M?Q|mL0a(xP0U~>nvoQEy--$mJ8 zT$tl3oQpF*J36Rtbrg?XS)(cLSZvcqnY?CYZH~q&ra2Note@#K1X0fqPCj;!PTqKy zr#o(Bs*J~CF^YVQHEMGvNLCQu6LGLOW8UziX%ZVQ;iu5 zmYSUEVl^rtZw52oY8p9DAcPBlNqM3@6SN(8Y;o&Ghq$Bows?`ptQZ>QoHJ6hVPS3- zaToV3N`2$7*^?(Rzc#$;Xo4L+7*IN6n6$CypxbkzcnRa)fA;~AZK+qo{R8dA%VZE=|XPx z%Qv5y$wp{3AAc;Sfa*1;PxmGy58Ih&o;m`{bYUbSM5@>bBz$s`Pchl+(gi5V73%He zh|2~SKhEg-&A3^EBly<4Brsnd9Qoyq>*jq#&P@c2C}?2PzNyBawa%hqc8ZiH=y~Pd zy}8v{&cIDeU2)zko_;JzUTP3O%OvoCR$so_4D54@)DvJT4rKj*i;$)a@%4589#Hlp zZKqs%x8;0hyJow7)W82P_KPe7i@wc1&wf4oL+ppyFR(g1`Z@MrvA@bf@AfWC`U(4k z?60w3WHq?-*RZG!{O8#(u@-FlKKq00@0{V(CHVA&{VDeItO=iff&G5=Bkbo`R-ee>4U;Jl6&6w zhfC*U`W{XTm<%9)!YLqNDwclQ)%W3tUwrgQkJPxTmqa4Q(czcA6qy@`B){TsJuqi@ zTBhsGr%yBC1j$ndJ^Ip@)N@X)ZhrXTdsa^aC(&`E#@UNQ^BlB`V0K$hDEsjI`oyD?Q8x(#6G z#)pP(RY1aANIk?hHPsA^6SH=!niF1IU7rg$`_84PEEBU`bgNqp=BFw$^NOC$WGdfg z6#zHe#>>Tt-IIll)#$Zk;MOVi;%^!rnW$xl2_4ko3MUAVO{Y$wE;Z9QKGf;0J}WyR zOtV825Ib*98!1jmhL=ueype!0l|V%t%UQ;f#Cq@W@Xf0hd^^&`(yBFj=0TuhJ;SLb z&7dyo73#2On|{?`7rc4Z1G|jNn36vH@#ZDeT^8BfpzJDk-F2ETX7V$Dmj-b;Q)9RsGQ&Y174E}uD0`Onb*ES>`WS*MAgmY>5fAPgY;uF%jvJ%a}&|ZAsWJz^_QH6GdE%G(|SVP168Zc7Qz~`1ArPHvH>y zjtKqPv!0&*vUPc*(Ts_73JcuiCzu6`a(_RV?UW6=K!?i`r_3Ye5b3c^fBCbQN1r`R ze(3%E$rJ@U>lqzSFVsaIW!MfEtNNraI^LT@~yV8=y*TAUBtK^!$aYdaL=i(;%y_huLMd=UWT z?(Dq#0S!iO($;2DF^-4+wwEMrrx&Nl>BOD6H841<@8atE;Q{Cu_+)u)(L9N&vbM9f zsIE_3>|45}+E#GYotiSg5nO<#=K-Jf_2+>=g0&07L8GCBPt1i+bBhw!w&jQI^pa$z zBtSEg%Yk@{>j#M39X2!I>YKqWj-;D)Sx`WHrrHd-Jo!QdKOj!iVsA`Sf}-M*J|PyBV!0N_l2VGr^1f%ryK!0hz6YIQ2&Dm$%8mr z<+VyD1jdGd3e*%0&^mT^Hni)k-ZB-bD+YtaQjV7{B8e%)jj}6a$%p9J*>bEIw|0V7 zPyQByx0s*h!{{GqfQ@y#j7vgB1v>kg# z{pqxpYOBfS4Yjllxm%}o%YRhv^yX7y*e|o-&D~~S&!X3+H@#dBW-a_-R*f?+rXN8lIlY(Gkd5ibO(|4B6N^HN%_#hy8D zCAmf#EM=gBgSRAaENpc4-PNnToj02|E_+9DqVTqkjtZBxJvdm5puxfIz6jWEE}xxF zMB5x<8j0XC4#XVUmknp13Cy0m;{Og0Xb_>w9Us3z%p3_K>QHRPyw=q#_Fo zVoXe2lMyTt5Vvh-6EQCe7e{R|--#1XJBV?@D8IFyrqM1j0(H0=%H9;qA;QO+i&=1ECWxr>d4qX)yf9`TMQNwoE4W0`w^>HhFxoB{7;&Uxp8@Wycr zIHj50kxlWrY`_D9sD+bkQ8#Bb|`8OXw9v>a@e9F^=Qu9T1E+;4J znd(@7E8MzlmAXps?-k3?sWO$gPeUQ5Mk#HVd-M!_$#lj~ zK*Hw9@9hAVTv4i5L_)dVOz%Fc$h6*EBDS*~V8vbvXwI0a^11G75gFSM8E}Br(iy&r z5^6zTwTPf1BZ}`b1~_-w9_*k*kIOT0s}_ij0o4g@#}F7!Wm#psbpcJ1Moxmo@ui)0 zt`M9Ju$6L}0zWv#aFeEivr2T{{RjA@ns)xSvAu8Nv)i#@YYz8>Q#B5_XTaI-;s1_5 zxi8MwU5#PH?!vwOwm3=*g*9uHGaWBJpICC#`r>Rt3|6N4gVTksd$d^J{i4yHOL$#GBlJS2YSHc@e5+CjI8hOr0|L6MpK6pj)J#!)4DRocbR*sOJ{Bl zIQL<9j0qPBdf|R?ObEO1AQiGoH*drYhYK&S{(gM8zOC)OgebZ=?%wxVT)Y+p(QL6` zTIQdanhG~~q%UlQ=#If`308AR^tqk0oHjw4BfCK5NG%}^!q#rMXC4qN2;rG(e=!0O z9=KOojI304bj|}e%kIp7=c?2y$j!r-ArL~va#+yjlsrVovf%KYCPA`=Ph+>{*3sR{*XcXyd&Q1o7BIAZcp{;p7}y z0DfuCYx@k=BGjIN79baJEJBGs#?H;r@_nD*vr7e~IEYA->T-8nSOm>1NxaD`lBC_o z5EbAOy^Qt4TalrQ=K9LfPO;{-g#^MxXSM9}5$9>1mP+}NVxbzqXL)@Nys^qkZZ`V$ z(S#z%aH&dpksHd#gw@i!5^<;}{I1#-b#6@FkkmgzNZJIewkf{J4RT8&9Z&=MRvq~C;MLZC)i(MKhD0w^03G% z`rPuc&#ew+m-YMcEA_Gj47vl&?ADGN=5pJgrh<0BS$_C4%}*}q~}@SX-~GsGsE=Kn)p&A|sM zfH7|Qz8NiVVA|koG$&11JHfQMer;^5Fg}j-GR->>zqu9(1U`)>kHEIyfD~766qRTo zy+k-vwN-@T;X?4qw3UPjX_Sn)&h8c;~kXSY)E2V1g1RLLpPD+0g_-`s`r{ zYEV%bQs@Ixg2Nn<*;e=7-l`9v?_xf00F2)?4EN#M_uI>tu!ZUs-kG)-@ z3#-QM%XZ`fDzT$NKQ5xRVVYq{Z%T=XF!g0&icwH1_K*v@qVd-qORdao;B-LUOA(=s zW|4!O9ns7i-f0zn_C&8wi?&ObQwE(B91TZhQLZYUfLEGMOUreOXPBq6!0WSe6kp&> z*LWn)6>4TP1E3p8gycuh*`UHEyT^uL}}1C>sG7d#bk1~BPUMS?9->+PkX|pbBl&Q8lguC z%mtTaiGHiD5!Vn}p%sPfp_~Ys03|LC(A3@QR;fGfT!kNRRC#SKI5hy52ziSQ-3yM$ z+*d`Sq{dq7!@CxqoukM1NS3~+0G$Uzk1U_nzW`rTTUkINNjq4Y-`rhL7gEv*$rf<= z^~oDKsE?cRi_qgpkqQ^o0vJ>!Uh3u9dsMxX>{jRKhO9#5K zghYueB+!T$Rb86L8$?awIWp19%z?Ohb*SQ*FB7fTt;=R}rJQvWmdaq1qZ*N>(8>*4 z&E@Ck7u1LeQM|ydQO1Zi1(!odXe-^idOk0IajKdf$$49-(^}(ICfYS5sb)tJ)(6X( z+!AW=UW3s|V2cYRZoC+3X|&!zgv;OJ2+EB_ln2&tG)9Hqn@xAnN}tE~=xF+yf5^9v zOvX<-y@$)5vE;*Swh&H0S_E|I+XAEoDvu&>p76mzo5y+$ir(x|fzvV14WZr%YgaOP zm3x#l(8=lq7e=RW6{w(l(DAeIsCOub6v*;a{1qSYpnyrN?RI-++^Q(o$Gxfhq?6-U zzvLpH?eDra7uRd-YlJuRV!yo?tSQD+r*B(Gg@ZMFWjffS5jozlEWe{mbc=pMo#QS3 z+e;ye&zmh8FS8R<0&Q(tax5%2)i^-HcsngWPrH=Ub)-h44`~eqp&3G?d5aNP~0y|fPvwfPBIp*X3V2t+jil3zTf?cW?W?w?&|Ve5#2y=4H2WJ zk7J!4X+V#j+Sye;vuI`Qgl;?Tv9&N)r@6hg2|)_u(6ymTCB%Lde9%TCe8cI0e5trK z=$za)H~S|hP#SBpgvLU>n=`@b3|*X<7&FDohv=|~W+-nC^W*#lc<4u1=sEpk7ImqM z@Xjs^JoHD{Pq0x~=j&P2n*NLI|7CB&J0G+Ek^K}az&hW^zKi`3`!}o(?>uBL*&kv* z%>EhchkF*;C+xpve~tYj8-sl!@9xX&``O=R5ogN4KEb{DJPS-T-p&6nLwvkvb(JP7 zOg(-X3n`6<5pK&MUI`l2uWoPii-rd`d9U#1$H&t{mBh5Met1|_QWbTO&o-@S#Z65# zr#EgOk+#NZm0@BCO=?&g(omg=G>H0^!yCFD?%mVt6R33jDuhQ6O9CAOv}-ZYi-$|) z+YQg8YVO9I)9YR*VGM19$hX7au)oRg8E)N$#rbu7$GC!BvC9V!?w$GLu8BR2qxL$L znMQlx-j)dRMtXqxbEU2GG4E{1slqVg?C!o`rIPa z?auH~OK;^a4jdh`{}l?L%1S3~AWkNnal(2_tIA+dcZh33vLpfSo*F|`yNsC5evjAl z^oqcAzE&w$CYm*i+`Pl+;NGWR)SdV+V_gUe5#fqJTM9k(-7(l^cvte-47tj@g&hB| z>kD7E;t3WO>pS{^WOE{dP{`|kO16#H%9M8t^-4J#*A=|WSngX(8*UXbvtFWpFt@O? z97N7UwYe-_m5Qa3%xTkJq^jxr_ z5sWdF$awPq_vbJgR<~aF;2$c$8~QBQUlWtS8?7JD2s{1kf;ADQYGLyBsUq~urV zKX!Oem-rxJ5~FmO4~^@QPG`&rg;uT6c)8BH?g%KU0koD##)hoZi=}Kfx^f|Uk`<0Q zg>&kSa=e^;Yk?W2Z$f0kS4R3hG1kt#?bXjL6iG)?wG9ovl1F7C&Wxl30L;^oZ05u*_!hL?;yYuii`>-4X6m%o~X^tOyae@ z(YHo2-`C&yz%FnQWdq?Tc~mBbCTdISa8l&$_GNI@4$s=*mlpVEwabCF zz&GvA51BCqriMmg$ADoNSu-<|Kuf*Ra=~aCychGU#^**$rJ+oDa0t;AT*N6KuaeuC zi9(IN5l)XYPQ|%#-n{B` zXtN_8S;CYcd`bKUL43N{j(1i`2!s!;ArWDCyb(<3Vi0e=?*O{jC}w32&ojfv?zZe4Tq1}HJ(g@{OR%hQSdDgn!Z z?)KD+O;;`woD=)TDQJ$p#Mp|x-N@%3p(*G?N3%Wt1S-2MW^i~!ky2XGY1ef;2KdHa zC;UA(KA!D6i3}o4jN}OD>U;7eJlj?A-k=(DJH5=R*ZWF;)Z!quK7MQ=(UWqRM#6~{ z(FJ_u3-%KkZ|60L7kIeyw^uX)@^%9c;jMJdtN(I0abJE8774AWEAU5&EwInAm+Zf0 zf0hL{>4rsGEbvLhj{YzU|I9yS=irh&3vO^|1N`Ug``O=P-SEkq>|5FIWuY1VAK4xF z`9Av|_V?KUOtQ=(mo4}&Kg52D{abdP&nEe8{I|d+ z*!X$t+gI|NWit#d1FH zM*DXmg&0T2MlB49Tq1jN?(x-HqwVZ(bQb89EW*i3EM$n0S_z^nS(oi>nC_x)Id56v z*ZkkSZsvJZK1yUe%R2`5Xi$>)stRiCm~T{_F4HqY)Z*6i_SSA<+7^q^f&!7*)XA-^ znZXy84p@|z5|a{KUMLBnOL&OG^Lbe4!$<(a`r_6?BzlAtQ`SmeNFN0bK3OATV#TxR zyzZketZdD%Za+ziO_?$48t%pwX987h5Lek#o=aV)4XQl)dgowMdE}epd2R?f6;Pw?*Z+Z8=VK=R1M%1TU!siSJ zFlx}o21gH1%{#qdK<7ye$Bw`W_Yv&Ehsrpwe z*u*@zv4r}0-dkhUN@T#7jq>^W&Jtgl{VJ{#+f+9U!G+ytXyH|hJl9H7LR6XHdVO2< zT6%QI7{DzyL%3uVK(j(pnas>nq`4z~sgN&7DGA0dk4wMszUdV`=4q(1wh^PKu@onClD*n}E{=vmQPPIc=T zsMGe@XQ|V}(546wr4KgHn&Vt}1MD%)c)-MBrp#nm;i=EQPM?Ju#sjD=-gEP15D|Hw(jF>}28FZZQ?Xox4KQGpn_#5|9g=yv$>NPfiB zRe+tS9FA@0Xyf706e>sX8W=zS<#U#@n3#sVJSW1#qu(>uKel;l$DQ;X8L3s0mA|H^y?y5`n0EadJ4|2k5`6nQu!{- zG*w%#bFRw|Y%1P?JxLc($vLMf+LZc@JVln&v01B+3n%eSR%+CP%&?hj$kP!R#|vLa zJUob=do*Rvj(F?o(??HwdfU@A4?8xMyQ>4H=g1__$TiCqc^5t-@43#8qxXXcG>`(p z#`)eT6yERFyWJ>JZi{U&&E8o@t?2jVlOqG7j<*RINvKF8Uf0cRw)?{;JU)$TUMTwm zM^5wqXuM)Mx=S_AnUfXnZ{t*B~yvhM~Hxa#B_VO{n4{$g)6n%41ZCK z1bYVuZ;JjnyH4wf>^8`PO-|iVqff3v34mZ@t#<=~8DN5Q8!4aTK$lkG6e?rpdFgzm9L(;gbgl3&fT$aWswd zBk(^Vh`ioTyCiqzIrivWwOUut@gkjeU4mW5r+T30De&pT51%9_n|}n3N-^0Fp2Rp|AN{*blN_Vt3)7 z6ZXHdudvANf64wA_7(On-18~>qwFWxb@};s*f+4(dHdCrL+kykR5(m0xpjom|_jUp-+Vv0B z>vHhRg3%QbmT0=Qc#Mkt?sdz_xrM!*q%o1&-sHoJ6#vnFG@CL&vphe$xv1@UM9ALe z-{lz&KgU8)d!NPbZ|Fj>zTOzPIaC^JuFY>8&&~z~_RcNrhu}U+;p`kDK=tVj6vJGt zR8V>Z52Dhzw_$PM9x1IC$C%6tY{a|0v6VUp*b%)AuS$GA*ZUo1%?F$7F3E!)98y_fkxx8 zMHDLa7N+E;q0&KVx!Il}Y+Qn8CMIgNeJ}=%Bst*uFl35_pGd?{RM9%v2!4Uzm*@1_ z8zDuI=aZ_AH>N_}2U7^isb+?OL)|RND}s$Xk!Z}n5O9abxlnjY(y7_Jn!1;Z>K2qE z0cyrb6ieyWG?%3y3ciEcG@w!N5W_uTR_*EyIe_=xfBg8$ZAYhAl+~Y>bz>SEBWf)3 zL~;W7b=}Kk9)IxUX-}IM#S1-M6Qpzt)NyWFb#@%wwQ9DyN?AoImgt-|o%MdVP{i%h7}vNW~1uVrS1gZA$(p$x7tCtrl1&F2_eF$8!uw?!V|CNCrahU#CWcNvcNZ% zI-Q=M4wcaUd}Z{b=tR;GIVyvN(VTV^K95|f)@aHo32d2YyXUcj;iLY_;H~#kmygSB-M_9Nsy>w{@DtJ78|HG$G zpI+@pwyGy9EkANnjJ*0dD?-`Jw54jKKREpIG#SecEcXV z6zdVesd?Y^FO__<^_o{)b6huroUz9F?~&2v{Y)=#%;xXE|Mcng>x7z02wc2C6G4TT zs+5d4J`aR&9ilr2|N6?J)OZVPt^l_{hAr=Dh&8;oLX93T*7WNV6Qr< zG+5pk7#lZ zFMh0P(Ww~c>Xsd}iwU>BI*DX+o;ZhJT}=1STqpgHYcq}XH}A?XE(mBzFZPzrw7l36 zIGYVXa5Q^-_}PPfIudbow=b5Zn@ge`ra8yI^$y;AIUcubZ;V+Vg#?fha+x+&{pl+NsQS*9XOPA;oUGjs*(m;_Uc{xkMrLzqUoxEf2 z_dHC43+tV8OU+A!iqd9kaTejW1ADIcQ1_h1*#*@3`{FKh_q}>`I}`*K`?jJ;SZd** zL0PlXB&V;XISvRkJ$IHA7htb(pC1Ku|LPo!K1tEyV*Zs;j8=4 z+23G!81&oNA7}rPMGpVBvhQX;%1+sBIP^XCJ6YuJ|2-CU`g-8e(0z|ueRo+oajZy| zN5;-+o(t3(GlV(9iJH6S2KforTUkkJsJUzE0*P78ZD1CzxUZ*?_jKg%QP19jHvFEs zt9CI@K^ytdZ%!JK)^<7?N668Li$Cp3ec25+Y*u!B_CV1HeNL0#JdXNs zX>w$=|Iwoxc0SW|Ev-;;(q#QLzYk&L=3u7(W~ne3Y6K>?G1*=|NF%WGS&bFJvu6>3 z>*7(nIhY$6kWoVlQ?dES^)Y}hh-i`9J-vKsW20w#!$%jbOOgLQT;v8LdYE?nh%$3D z4+8hJeV4oA*XTvb?U~)(t_KemNB~HXS=iY6_~Rsd zf36Xb<5sD4vkKiKrc{qy~=U11vQnG0BQfz(r;TPV2+?)1e?jb&g zt_5UK#E7*kpfy&=RackpA7-gUO7D*X#>NrOeZgP3rOM3iZGeYLaqKK!_s0}kD> zpzt=zS+V3pwKK@8IY!E$uzI{`XN!iMdxvY!L7CXuyj<3`)fMy5-bQEn)wSB$S$i6^ zRZY=@9fpv3D?Egn6RWJ{t83BoaAD=}czylQJO-WGSp*NTwd`4PLk| zq{QZ_Uz$Z{=N)h4GZChQN)1U9ji$wXp|bYk;BfvpeD9kZFArZDYL}Fv^losX@9vQW zIlX)jsh^ZBvU~;)V3JaOtJbPC%GE;QW%k~S7spFcKa~KO?uw?bZr}%mr##`FJ_!!$ z!41l92tn`ZGO-g+tfccvHoGKj5>0J~FJoc4wz}z_;KJ*DdgX0>GYamF@-WJKtk)`r z)F>Bza-0qJf%)9JOaYM%55>=W+n$PqlGCei=qZt}P_(`=ILBz|J1A&)4w7yAMB(`*br`aJvHEb1YLFYog#YUTVZb`L&^ zTF9ZzISLPUxNgFbi$Y&^mv?{s{X=>>^y$W}jy- z+3#Xe8|P26zsNcwo7EI-sE4nqnZQ#qSn4R_K`bv^f{KV;Zn5zc6+TVe@B(PGc7ONf z&VB7d87UXosPo(SnvQjViY{I74rD+4us}%ZD8i=OJNM%cYaI^XMK$3o*)Pt_x1rYk`>cSt~9k zpU2jQLmf5ayzY~hdehS{nsKb-!?h&&)sBZfcQyEE z%Ue6kakHIo*I9Qjc{tEw%MS8{1%abA{vu05M*o-lD~E@(AtSUA$+a?4zNRyQ%hz3J zW^P`NU4$#lN-;Yau+3&qIBl^w7dbGu5g9TK?I0(>X~+x9o#@&U6R5+H~CV#S%Q@$?|?o_%DyAJ$d3&jr#OdlP9EFOV?&ccs#cv zZQ2A75nW&`=C!!Mc4T_yt9;%96d68L^cd%scGQ~k^ofH}zEm&KZqmiQ5le@++;RbP z?wJ_eBO3bJzi^K8X|QB^EJSq{QISz2eUn_7GYd2vbk@o^8cHiFMYzH{-UC^cF{4GW znP2q$q6CbzhY|A_wND5@AQh!0xG+L=NV8}@?Z#Hz?3V(K4<%+Up}6sp+J)G6_q;?x z{<>Vqmluu22wa|2q&7?yidhu_nlT)EU##NS5&72w{BduIcgwRewnip-KtS8QU8^ViW#K@B%CZ=aX-@a|Rb?c}KahgF!@PBA9W~9kRJ*B;gfh zsUZ6_$kCWnIh@SxPughW(V)nG0{;yO@ zy2_QUpnXk-X0Fgw#vlqlsdk;4O`T=*$(!(!pz6rqb?E)qX#^C@-|vo_B;9yRPbmZi)hF9^Uy1W=5gSwMR))&jJ#1Uwr7nTi5Fx&*oYem& z&oqX`q=Bn4gG~+w^LLT(+S|D2SXzg(Gxf4|+c7KHq$D<*7AMlHO10J1N-c5-qm4L< z`092C|ALb=Lqakjx|D=Yd{05SQNV=fO1f6ObKZDb^pW?xo@T4l@|cFCJiL<;WWxR- zW9-d}X8f4c3b(i8^{S9$umi2U@T*9otE)olTag}U+udC}=RZpwR4|r_9W8IH&~)Gq zMVunkBnq^ZGEOH3Ez!b5xVp;KXZLY#;hJyINN{*ASKiF?u*blOQ&FZjR=sCS)-^>06i`Z-hrV9+4pN_oW|nU>P>!6X$;OdbL_Ap=TQ_{5mZyRWtLr}1 z*Ns2W_)^C~b@h4?WEoZU*jgp)GN$g_^a3v}t(x0(+2c%irCkp3NUt6PWm)>q<07$$ zq=qvx90k_jB($=$vmCu5cTa2~^%{Nrc%%YrMD9;3N8Na!|CS+FeX;iKTk#?9sSRcT zF)7nUNL?an&y=qP-(=91LyvHM0xj(h@=(<8TT zD!+c~)_6O7hTenz2(xU|tJ(JTH;0$PeP$EI5_94;X4|;q_E1WkZ{BLV!t*sn8B6 zv>ln1aFrc|3`bjXV?MegU{k(USL|#nW+J>7G4%WVLqJaiqj4RbzaURKgSk+pBCH=Q zXf6lxhE<%WvoomVxU&l8hlTr6wDPO)$kp@A*H$5OzDIDcZ}4%_rhJ*5$Tpb8>+KAZZF4(d%D?cO~!$N&K# zrTIMQ3nJXn`)(X`U~DwVVw4#PsUo3cy_d@qg~9wp!QhH(X~J2Ha@p{xpdvXYs%PTi zcl)jI2lCZmwMEJ%ZB3pi1(ovk;Y_9KeAkzyz(iJJz=#;15m%R&(|v!pyE`iH2yO*S zP3@RsS^8zj#p9sY-7=1OS^=qV#8eW8(gfm`oxA=1`<@p9<_M20@_nSHWaeUG%s} z%NDIXD+?7*tvJkEHn83cg)I}!HWErTy;Sq^%9txCcqh6maUlbj*Q*{{n$4n_ zlhDvAB6Pm(mgK4&lyAiUI7%|5LOgOyBWNPLLGilpo?g*XN=CL5z?BM;uWaQaWMWQ^h#0CT zA|c0-vYz;90`FRmHS)B*OVQAE8^}Q`stM^^+}m5=pbk8Et)7vf=_v}yR`?Q&%>op- zL}fr(M?;1HmlO_UpLv5!!hllP=~j+e6R?S z2M`~S!&`E6B%&tiHuw{KyStl?yR*I@D!h~!Ncg}%G0xf&3Yz9~SPs{II)JxkrW>H& z-@kKVpSRJ^UG1)A`G$+hzx98@L;vCo6Xju_dG>AW_p%>lQGaHUy<&fi{XDw^2OY3K z$$pO2;h)d3(DnYaEOeko;Gb3Y?d-o}KgPOYpIP=L7TT8oHw*2jefFDJ)bSpEH+`Cq?5StJo|cu~5}0BCtml<$dJgG2Tu@?jk|Kdn^YO~bNj(dc?^?MMe2Ph7E`|&P z)mQrkrxLOn2@Mvmv!r=nN^ak=eB@?t1VKa4MZA9@b;k8R>)Z!ZCaUrNUM`F=H~ zp7;v3tO?FO;IpHi>vS1mu(sn_^-W@;8AR>9UCX%BImZ0QSqEmm;u zf=nC<5tpqDgPhIxVpK;OotYSiU)I%lHHDc1V`Y^(r+rw38}$fx;Y4V0j=)0yc8B z#&!q_F5O?97j{d%!=2he4!5n?b5S}$Le^-0ND;qEEi*vIiqcNAU~#HUh75`56`Xm` zIu7V82ZvkDaSP#r(R?adQ8yD;#yH0e`H_`!pPGzbo%bWo^4v6RH$o0PThxbN1_y|6 z6%HMZlTIH#O+$6OQR%wQO{!uzm=dYE>Ur!1N5*7zx;Q-QAaF)Ptfg#va~*;9x%m&X z8}q#wvLV{H#E|gw8u=9*0M}v0G}6UIaPtffm$DMbn^e=tGv-U4+E{UzFaXSz_p-*A z7#rEDDD3h7vG*qaab{r#F3{<=Eo&>O zZELB$ti`gs?QR1hXtytfVaQBK$gnTNgiE-<41^h$ff-Xl^?>WzTp5J-SbDqOFORcR~8`@av#GQ2PbingXg$a`Tg}i;*>Uk z7(rPA1LP1Muo1{w5yin~q~~-NBp6F={+e=*QuGNh5lK)}2B~`9khb*z4atDSs4S=5 ztFb?@Is@du^kG6ykU>E-m@UhUr7TWGz2c@csK!rYXG;CkZB+PNy3)d$pH=%l7`p!g99N z;Vm(Efk57az3h{M5z)D$Kn7ghkyCWMha-t)V)GIOmpz*}302p%wsuSj{;+M9xY>+W zwhUh(K7twS#yXjwukAdT1W+qm9hX&5ih}fnN}V;P^fX4%XU@Yv?5Bu>C{rzgLGzri21s701 zz%>2Zd%TSn%+zMPYC8*#`T>6bH_&fDifPpbZhAkY7~ww)eF5qQH_bpFhW-GOJ?Z_B z&PVwS)Cy)=fIb1~T$D@TrF)Rh?kfW)eE|AS=;xt-fG&fR)}Vh4{Q;B*MpEqWap-ku z721Tp1A5NMZo?~z#Z;QZvOfo^Gv{n3*n;^)V-{kL(+|55l7R#b7$FH)fG=KSV~N^Y zTjszV%m-i)wLWJjHsOE3nu%}~`irJ5XG|!*48~-jFNX>ckx8L%+31LTYYWG>PZ#YIrrs5lQ! zq7{Vd_13ij{J=7uiuurgmFNs4q;#w})QDd(PEdcz7TL9%B=xE|^|meG>#%95fIQ>C z2q2a&h5+Zqi%ro%`V{v|b#*?Sq0rKWgEOHk8*6H7m~>0fsWQNBNd|(8W6@#5-xy~& zn|McQ_sa-#7XI<8?PfoUzqzi$SA%Z@1_p5+IFhLkO-SWv1@ZWl+4v66xd{PTrj2CG zVzDhVr)~0aM1U6Aq+-ZBIdZiR9BHzt7DzK|p)Bte;uoWi04sHkXfg0ceFM%R2ne=V zX+d^`a6)}ln~GCgDWZvt;a+(;6j4`IC5?pfO4D^r3M1^Jl#Sym0hT!yQ{OCS0%jS< z@6G)N-fQ+e_32!D^O@o#F1M~AUb1H?lW1h-d6VBxT z0Q}kg4XVk-fkA>|099c|#58=1YM`7^PO>n&t0=|RH$PwL1Mah`M;U~1Qm0q9HI$cB zH8=EOEn&ZVK?iO&BGeSZ5mzkwpe;CD2h$B-!!|Q~D;mqn`Je&f$*XCQ z{t5}ILdFOJ$Sz3ql_Zx~-gbp~LJbh7j=gXk2SOnn$68g79m`kAaYKB?MNeECb9$SQ8tW*rM@~qCBg0H7zr#S{Jey*q#qKN0;!OxlMJ+Y33NBK zmSaC7CZ^x-#YwuGE$F>IU;rj|nv{9S zOYpdQ04_#ZeyQU?R5X;|ECwhL!Z+k0)QD1}WeF?ajPkLP4Uz^**K=}P1xCA8&K9=? zTEYYThvUixn4Zd-JWk%FLnk~6)s8@H1lKbgV0yx4L!DwiG9Df$TO`t(O~WXUo%$g` zLix1>e`oYn<5ktb&crshD&wZs-EEW9ln=7QoT63WRP1?-xh3V`vhEhbv^23V7Ejwi z0LzO>S1CU~C{yg-z&^hqP zA|(6H|9})rO7@+ffc_r33Leoq*Y7|L;E@~9MSNfEpT{kX2C8 zi_@j89UUEJZyH^8mbse(iS4->gp8)1Zk{kr`LE#qL(=H z2gyg>G?DLR5k&AieWs_bPBx2{M%M08iXA<*-iw0y7kbei#=}BZOr|4R@YS$R=RZ%D zx(4Rn>~rqcM&^1>gSHVPv(5d){N%mgVS zUoR7H<|F7gaxo{N4N<pN1U1Uz^R{`L###XE#Ry~GAPV&Sp(4Wt5A zpa=#jtDp6aLzgdLP(jX81sV)~8_S)M67B1=Zra--E9;N7(R7Pj}Y{3^@Qd zg9uCs+IFXPd#&*FjZBW4J)^Xy^NMhawhQX$3G)xnM^*(^*c1hxkE zF{KJl3~<8j*yL5Drr87IVDSTw6K|Uz80Rf3EUaoIpg7K{^)-z;;jmj%jC>VkU3^sV zdDZ~6UrMlJaH8+(mt|uOCYy<-r7qS9U==GNtmiajChAwC80`usmT=+!g zaGfjVcSMQwJd;dHk`7TxtsKNzR$AR&&pKprA@&>2jjk`kw9pFw;?=GhxwR1e0y7}3 zM^ZsHfDOX2ltB?T4&$!E@3pa&v$)yZSyfnAT3*ISvUd|{;41nfF?KPCMBTDe4LOx~;OT^&V)DYD` zMWGAZD1n2y@do!**EKd)VI#t31n92fgj;Rg)wU*_Dkq>a#BE}?QgWt)uhPcRu867DcHXUbMp*Mtp~ORKQnn)bF^F4Z*kEMi}zGMJ0d1lrwF?IBb$ z69bMc)+>5*oKAI#NzbFAvO3Zen;;N4lf_Jy&`%r|QCZj009UlAHRNWI$zbJD4OXofoGOIgW|Jc-m&bL^a!}B1~&VcVoW~I@+bhYt0uBAxU1W9I!w4h5Z4l4trx}#RZ+jwnlO^Y15 zW0FP9?k+v$f0i#=)mG_RN{q#{dkVw@j_D%KLNR;Xgl|3zRe)i%r|pB#uR}#(n12i@ zuEK9Z6<`?oVt*KtFLoz5<_%~c`VFW695W1ULZ5{GA4u^qH=tjF+~Ai{XdU_l^!tzv zywU-Q33-8eOZauo21zIfewmriatgbz2{7K~ zEg?Dq@fdnKbkvlEU;qx6gs=}#Gm_;R*ZbaeSZM9R&Qs*bGg#~Ye`r^JRF z9`3_*i#f(O{ghdygt7d zOJjLq31M*RcsUh73Coz+t;OK0IPbA=%Y}7onB6u4PnR#AC-kx^z?>xQxkv#B5n}ML zxs5}vh&xk+vg^R%fTgKR1SU~_6`&qa30&t9k5ZJ(Wzz0TbRKc}3ahkEP+C~Z24?9? zA3Jif#P`X|@~UNBlV^qgl>J&oEQJ;pR7Bq8T0Av5!CHP2nDI~xK0mu7%KVsIng6nL zhQTY~Y=UDCUj_neO8V1-~CCN*IC`6dO#BUcye%$TmlS2#4O|M~uOCkYm#2 zb}ET73XXpzdy4pvQ&U%RF!gE=ET3h2-tWgl*k9Y))KtaMVI3SlUQ|+sQK{7jQX~ps zX$_m(8tM^Dvh^8hHIUg=Z97*}gN$oog|metc>Fc!Y7P>wAz%rP`fP+lwl{OqUTr;D z1rWJF__h~ja8q|W6}5@=J+pO1(G%of_(r6q~X(BQqoLQE!?#;)z9nVB0z@*z_cTu!W5!6<^P{6TKp1x`0Atzprd9c;XtYr)^nt}mcVM`JUF z237&}?$`t`*UBMYt~!g9Z%~Xf8%xkclB#atgy+udFY4df)s(bt5qoZsV z47Y1Txh^wcjNum7j!aEzvKE|`jg7<$ROkAJG=vb44sIBFjJ+S21^H!jjeGk))}$wW+14 zv-1Tj2?C3gWKLp`c?*=JnTQ3Q1o#F+ya+Tlf{jH)+-3k)$PHgUsp{*QG)=CJ5pTUy z8)IHR!%PsHB%5}RV~o{#sFaWDj*az^>=kobEC)581O=;OKNK$ZV0m1I*23X$;KWWQ z#Dd~hlrmqz+FCX1o}}PV4;b)O4=eF7KMq_bJeZFXki4|x@aP5J(Ir6kD(0}ufLg59 zroMF?OuBZJB;%&K=iPjhB7IrYOTT+^k(l&}X3rFxUs6r_dil4PdYj zK!+JTmJ9y604+e;Blqi29yqKQ(%HBlf&Lg$eDWL6_d}nB{NSz|(Dy-#_t^mEx(@v- z=(A82v8{%o*Pulx3RUIM`z$kIKD(L;XGMTAGX{Ic;QrI0tnyJ9CY04xyxRzZC5F04 zPdJY!@MUK-b{mONMIb9I)zRn$H#YAf^IVfg4Y1=dR%PW1V@1=yn$JXOVscOuOEWty zVp-rMh*cHl74X(2b}wPR9qu2PoERXbHIFSUMa`asu&TOH?DQT!vHgoGlli_9IsX5Pg$X?BGnj$SvXEmPsH*# zc5DWwj!u~v+kpoS<9bSBv1GEw1hBHDv}zm(R}%qCZ*8sBWOl;LZuwF?8)V|q+*U3T zV&FV|X?_ugQsOC|4q+8O4q!DU&@qxE+Er2!Rz@)HBLwI$j{Y!1vVdAwbI@t!NdPON z$ut=&VH5F8j7w-LnVcFQ-${-sw6g?s`^<3D-*(sF9%7D zB*&)`sYD_wJE%)_ zhu)ua{rVeoDj<-j5>8@R`4Xv)Zgvk@ajXbpMVMEN6v?R|h3wE6D0-GWDdE+*xf^ru z6~ijgF3*z$-liQ2Vl_e}QQ9q-N+spHF*T*&x;negKX)pI6)w4~FNFOxe@$0?pqtF8 zl!92H>WLq#W}o6Kc0ghFbMneR6~n4A6T`~ij(cEzqnDh7FQn=mk~)@B=ucJHPVAzS zAXZ(cgIH-Hq$}o4l8Y!-4K&gY>eI^9Bj27%f><%%Bh_&ftH$=m4(@a%V_jAltFeil zok?m(^|}l!101zcInF4oz~qMKB7-V27TKAI3+38guFxisj^>i8 zOkAsy^2NoL8h=wXo@B>WTMBy@CPxs_h++pbgm-wM+R>I(`se~2QihNDAQ&aRVR$n=sj||1*<5A+h@+&;6 zD}9!o`D95owIQ;!YgzHE8tvR^_9YQm4E7xj``Ac)XeY|fN2Do|!&Llu_I9=ebm^_q zDIv0f9LKe4ZcL@77`Bs>yl7%#_B;9S62b zu0?DUlko`owE)Yv((&3Zf?xaqB~BsxQJ00BmLT7Lu0|}R$1$y9H3N}IN8Q?5O(f1T z*2E6)*1kRlfYgIF_^=i zNF=JuG?balns8SXg_{;_6^T5rAX!|fKU0N)i79X;9AjlgFnEi>ESa!Z^0CrX9fVOz zOOZ*}z&Lr7MS1GZklb7?w5ZP3H9OK@DOP%^7f`gRoJrlPgX*|0$+|pg5Ur{7WjDSY zX06$@#8tvxVRkl3c_3T2coU}y_OZ9G*Y?L?&;Jf7Mne&JvmTNk`)kk^^ik;3(BDAy z;LlMg41FB>E9gZq=qmK1&|gA5;Lv0H;IHs|7Wnfy=ymA3pie=64Yh$mzXkdbq`iGP zV9=MLS?DSBYtTPHigWePp?lCzLVpCg!J{3}IJ5x011T2kFG0epe-F99r)SiA=`t7d ztieHGy3fdJkM0)gM=7W4ae)Icl$N;BlI7KkjtZDddsv!pZZ7d4If0OqBbV@gkDj+s zt|!ayCwp;$-_O!V@1^+gCAQE;qpv(OOy^tdM}JmT^){Wq6vrkTy~IL9E|8bYV6?ON z;dAsqMtVCHROj1E`B9eJcTN;sf4|BhjMlV+`8jiDZH$AK*CvYt+KE=kcr} zHYul6c6N05{7q#m?CIk8>nH(K+CWwrTshc3ZcFOFR1(93R?g9>DAiYHWICvAs`4d} zD@{5ixCpJ3B9eeV9A~+^HP*niXl*coj)*4tk)(hLW0tdH>vC{NQLVqEE)h*|lp@Nv zq^LTD<+V1@6bDwu@QW~zGMI`{{dh7Za12n%B1UNyVT9v>2>I9pS5gx$3#8hcld0xF zYBjEW9BBiRO_Gb52bFbnS93CoqMG8s80cu>aF-HaB@iuX3kFlcSh6u0Ylx172T(`U z6gkxRW#+i)o2zX9(IRsAvW)q8}t-QRrRJm|40(=Jil@-y7mRQOb z3&!HXWF7h9Q%o-4CG(ErH|A}COl&+|*FcfJ8t-aj6zClk&}s~{C#DinKCja(yf|20 zEUh7Zszo?*IzV@`np~N(O$5X7pxQM~hD0#9veHSdct=(zj^TVZCN*AtEx>FyS`Y5D z1@X8F+UOGA6Wxghqf-&3ci`*UTxMI)?)(N@*K{Mt01yr(8c*3KC!=v*QBzAG$dzb3 z5e0A1kB)BQ&Xg_nbhO|F1>6*N^i~p1B^9^9#leQv$ar*gA{CEE)?#RAas)!5rJAlD z+!>;v&GOY$3gB4Z6Xr2o603-e_xBC+9V@Y90%QWm5g8mdh0Al=I+m8)t+=?gmDgi3 zh_a&r;25yQBC*x7sqxYNzOhtdEtw(;Q``X6oDiYlms~k*ZJstZ>eYAK5-CEuH~Bzq zsT62&wQ_27ZD4IImEs)0i45AqrbZ>5IXSs%`FwJE8&@l8RvD%6jc*kfi6lHuh~R-0 zOp|Nc-e6tnf)2R9bXCx>lb6)@)cCuanY7kUP9aA?B-pmVRgt(!pFVT8u&}T;p%D)& z2I_%1z8Yj6r%Trcg96Vu;ZFslWI4v61#B`RM+9|)AeE=J*Unmlzj|tlg-D<$@MR(e zbWPzzHGM1qGF)!im&aoJ|PF zSy&-+tW9h!xYiR$wcJ$j)}~4lWKcnWa^Y zvB{lakR`lyf$C8xj8>eB-I7RcnxGry)hWdU2BOk55V7&l3Pyw$m=KV~xrv0rmMYk4 zpa^tiU?|=OqhN27u2^N4=8~qKaHKSegf{X%< zlwD~pd#tR~VQplWKD$3DS16Q+rD}sZ8Z41`Rl!d)ue$*JFdv`pRR~HF5-Zg9GI;Qu zIj`uikwIDDy%MMcQp~PtNbyd85YjsFmmn|rPq7~EK|c*?e`6~c@HOazkmB(F1N0&| za0U7|(BDGs;JFcVTM-O0En)hzGdaG)HV5G~RgwBTo}ZhW3)LbY zarb8TN@GXBR>hY2W^f*M2H@f7h+}Ge2alXnD9=u=oAdL|$|jaxxj=XUg4vbTG*?eskwW(Gg=cDm1GD%E1(6dv>+EZZed9Yll zwpw3OiC1tcP#b7Xr7oT)hR+TrF+|F^?2~b(_qbjQzok-XyPd|(?kOt5)wH9jas?qB zs7Gx3rn{4Kx#DD(V8R^PGeIHHxODffh3;9qQHA>X~%O~ zN-u6=Hm9Yi6cRp`2#yDn{hZ1q5v^3Vg!zd|24gA{K(dT1EJKhdfZhj~r-DB6U~@=K zP1+dkyet@Om)$DBm}dT-wzpJOfx5UlIxvn|_j*qfOJT4xz4Y zSup}x3DqEN<19J=82Nc=xDxD>N=){xMpJ#`fx1>+7md??jFJ|IU|75PskfWV1a^PJ z{K}^6dazqdD%Cd@iC-N|#RAn0twCX{27~vSg$r7Z9PE;1yGPY|j^Plitp%rX0iR(3^4M6cr|7|Pp=|S(w7rpV!ZSr)gSINYpfX!(MEEk5D8p@8sF{4W z<}85^TcNQDPJo&t-eijklbx=;g4P;J5%j$W3vp3K^HZa!Q z+)O{KDfJq`UHvp%<;HfCDr@Lreh^4?H`ZWf&v2=5VoINF74OD7vaF`FhkgUBRTh`| z(S)2FOQ{ZpT$yq>0;kQjIT+0$!yYjr47w9mYpwV8G)H~$L~}c>2yohwrn9b0uUggd zfNw3N*4oO#EF12cn>#zPk1<5akqjnn4m;mKU#C5-&rn)-cXyAuOY?zW=vfeYoZmBu zE?3$iA6S|B+Y6N9 zH1aDV;QW;qtagHJtnz~Ez6|&kyV*Rct6h5xI)v&BE<^dl@7JL9Di z>V~dD{{*@QtwSG%{w?%}P!^oj3=KoG&_n14p&?li!L%$1s4sy#+6rf>d^?96_&Ww|*C~IYf!B{0>pU%zGf%bU0Tn$7b z#g+jto$ChSRSyIrmjZ;7EHMfqo$CSLl>_fC#RFGZ+sVQDRul)*wMD}b!cM1Mxdy}; zn_Zz<<1Z1n`Yd?p1mYbdx1O_lP$cfId4>|R8FQ5x^cJW(4G**3H8qtP$kyFm;$S8= zQt{=$FdK^`VZn|eTQR{f#_T&^h7Pj{c6fr+FyD`k?ARtV#yyM4l!6`929@DPj!}Aw z+2v_um|d&bz(oq!0e@rn+X>o&JEuWmHc^j@x;PCHcqUl4gR%z>p2C3H#QrN`8$Kz7 z;E*D~fhiUpP8O+^V#R$QNkt+qionVSEILl*Wf7JJarBSFTZyDerFA~cGs$F3mBOfr z;1(JRaBf$joMuSbH-gGIEifSC08nXp~xmU->FAj%e7&=c~N@e5N>sr6&tYc$#HS!=k zxJV}y$7M2*EDKNDZj8P`o5P@-XD>W{A5DNkLrp+y3)M6?oT|9#nsjzCvl2q8QAqIO z_$tVN_Dj|xfYfuQ0Kf_wHYLDf9zSbCD@A*IPpW%jBVQlHZORjGTO{N#OBGBdG5nMpXF}OVQlZQ0Cgq>&vV%K;KLM0 zcr11bx3{0Jf*!LouocTuV{^1wki?V@i#t-nb9!D;fqOLggP)wjt>-kUF8DZ=&Shs! z54&NE5n;;CV~5?54BAbzr_y<>kTnJ;r>^2Yz)gUB5Su43NyYON8%kqvY?OyVp&%Y= z(F{DwQ#W}D6Asoqe#mUbAOPxMo)W~Tr6Y)EDyS=HTrH%_%~Kb7b#i!jG0rot4m5mc?kZ>BQJ? z?Dn)9+t~SmuI||R_~7bl1!`Vv&Ew-s@}SNv$v3KZkBX()+v6$DmI^zYBd4Dx^<)ph;)}dIWtG`W5KUpnUXv7c>rqpvTY;LB9@t z2@(d7jpu#PZRk6oAA)`j`aI-D*SA1dpl^jDkk$e}4*fFp8R+kzVwggEBDH@Y2)z#7 zf$l-y4Sf{)8Ax&7OC93$bO{V%&J+m%B0+-1xuvB<=wYftT>7Fswy#%JHgP&Je-%2a ziN09ELQ;9Hzm?Ny(;e2;kcCNkVnVkqJC92vZ+Arej%N4$QY4D<%>hgGSu-xAc8)5WA zmGT-nYE4EGaY^;88gf@R*?Oc#jTWVNd)P5~F^NgsdOlp;id#(oxZ{;U6sQD@!+~+z zXfx%P=ClRI(Ptx?U`j$cl9!Xuo})AosB8@cbO`@oG!9=yaU7SA!o*fHILfq#y$QN5 zg@;fr=K1L8U}Nw2R4RZDACd<)GAT8FB^-8r$jvYN z9lWS1l~G#9MKm@JjVXntK?g4mj$4yerG)HSw zZ0qKx&&>5RPmL-j#_{kDQIT-5^OqM{y7VNovl2mB>#gYQluvjT@|CF_=vEB zmp!~Srylaw90IIJzv3KK%Z_v%MtoeM90t=ky4B~c#a_|C#`EJxWUHXEQ^=W&V$En) z(+9cb?53KBpva8aguFt;3c7!a!Z9Z2h7TQMt^C~+XNJX-i1B}eH!|6Nc-P9pdm;;E(vH4`Vr{Y zpg)Bi=&Nez95f1j8?*$iLprxa`~QCo`bFrsq0d2It>3=3YO66uy|2=5*6k8D&RI%M z%v9_-(QrnU=G`;>ZHLR~4fhZ8kV>o?su$||q? z%QT#vzw}6XT;~@Rgd5e*W?VU!m$Ga8PxpUIF8Om99(j4U_tYEb1`)9?Fhby~hdO zOWWDT@#s5l1?;az-K9>cJIVCStPn+mzDrs9&UQ-QVgGfQcD9q`YbrduN#ej1@wGG_ z7HYmkg?vqwhvAhZHYTzEUph}|vIrq~qVzxrrZ_SMSIaiX}`;ZJGP0Qp7-HMw#*!_#vGZx9>{My=y9UUKVazj(TQwB^+?>)0&O7ERa_BiCm%=S*} zy%JlY%}s!ie+o){4GKZBZG1cQeURdo{0j6(ko?r#%g6VvUZo1x3+fY&h6XFxLk$P4$qxC%eUTq^UYg#R=AP2pIKWof4}+W?d4^2exv>D z%F3NLmFCS`w{I=4aX4Gres)=@%>VpQS;zO3?#)}btb4Y?aQKdO!xXU0!gbnKxVCoN zBr`v5-_a?NwzH%(X_Wic?d7#KDs%fd-L2cV@8~7AGvV;<UaqXrbZcuK z8CS8k^E2Q4>bDgTM<&Pih(6eZegOJO=-)#+E9%c7Eplj2Ndu(Vd6>*>-vmuVcc8n_ zJJ1gFz0kjgei%}0y3XOQgFPUh;G%hy4zkZjg3LRqH*>IxBZ|b(yqb!^pYtCE4hywRDzqWo4NX;BT=y_jp@&Hl1aD$zs10H?o|O2%Fg> zkvxZKsVrwWOjO8?(82{97af8?YC~NdfvdOAFafR=lH8!wJVX6fe@atME=< zrKH(7Ke9bL?KC^#(=M|#@6=D@qfLZ-TR!J#Y zAnj|q3q69~f%c&9hdu`V81!?{FGGrp^aqgk<7efF_vi$g(ZMPZ!sX5#i_z#y`j#=b zocUXfr@qhdojB8sQW6>VU_ffva#0B7*{l?XFD<6?EH9hkf6Q}Y7cnyu$FQ7+w8h*R zj#H6V0*m2noawr(H}DR40atxhlHw2@%W3=Z*tuVKNz_6UDnnVK}w<7Mb zD-=~W?SO<;OIVC5hBjR1QZAZc4ek(|!ll_xajBj#RS;`bL837gI+u=89yuQ%O$qGWXz8g>lF;f=!&uNxXTP z0vQ9QU~Ve6I5@{Va*@s&6y_F|OpD9&WYo+se2)3u)`&(cwz+KI1%E$>#CNzQ!9WEYQz;LK)-?v(YjK7EoPu zjteO)ab}k|Ga5f5LLK~TxW^J}Sz-qGO0too!@ZX$H@{pZ>i8twC=? zN6;srUx5A#Bz>v=uY}b1eb7IJW}rCq82TPaGVd24hsEj^&)PX*cZDul$#f~-afVU1 zoDoKhHGP_HAt=yjw=(0eMYuq zG7Xf1>e9wDE=~Vl7>UN$p_F+pP_xW`;8l1)y0h& z%%gGqy^zi=_<2bBOJi7T@WP`tkor*T?-S6sLJLq7lK#?|6)yb<^rMh;n8xgHL4OQs ztV)Nu&@X48Qb>Dm+aO_{03>hZ=OKpz)F4%>=mqL4!x3-ZGR4>^=J=MCi5D@Vtu&^Oq-Z2axNfVNt-mdO zsG4%B=AGMcD2iw`!fPE!6EbMHOMp56>ioGPX+oFeBEDgqWuq8`R`kV!I~w-}TxI8I zkKr%Q$mUl@vNWJXhXF9)8lE_u5&)#J6o5nwSzs^;3ZrYX zBm=mSZ3em-cK<1dC#4UClaf=Oh(sadek6}uH3>mDyjq(vTvWm#CBtbKg z0OCLme`)|0VrFFiUQXK>87nZj;F!tJ;}vN=p*7eOc7xaW7OLlw3y?MY;f5ZIp`?fO zX_{>)rx82ZIWVkXI4rBCAvrk3Xd3uZsnJ%XSX;|;WKfOX%aaojE)KRZ2EU0R1w&kx z#Bm|zjS4er%^(orb5jr3v0BSE8Az$x39IAoj2aRka*9WDDJ#S1C@B847~SwQn93w{ z7@(w1&1gDtIs3^hv~IDw(RP`NS%@hu#y`<{=4Bb4=POW+nLqp){G++z4y1X!WalTL zUxWS|^m*uiL3!}AbYLs=0(1!)hTaFg0UhI?B)@M%AA+7hKLC9K`YGt=pkIN0ANm~h z=g^m+{{>}mkL0{Hxk5h}hRq-ya5k-H&x1c)xnnZzl% znYIf+=?`mGh*4}fg=l9XB{JJ^`tn$ARP+Kv1WhjaVswzh2k@B%AjQfr*tPflU6*E zW8kqvzh;|mw{Wo1nkipaX3CdsVIxcS8S$8b!8SktmD-#qHiPe{zkd*t4*gw7=S%0% zN9y~_kZc8apgl-^D&3fi43eB1fL@0lKp%nRtNuC2!dmwag#s?lYKAOL#ym-L6g@Yi$yq`l8mmj#z+2S2nZvk> z$p%OvJ%Wl9)@_@nU%ASIghEM5GO0Ta8dXn$W=kcq;5yVVB2VIDRgY`M8j@W4ASOLl zIz|MtScvdhI(-7dtU|(H9A<_GqE)O+g@~U8G(|7!#>!F7Is#t zvXZ?S9l*;Zg`>tyVV(-S9>WRjDP~GxNy18fkf5Fs?bLt@V5u{6O`AF-yD}EzYs|dG zq){EwSW)uT8J+E*9}uzS>ctFbQE`ZWaDv)H38GO~IWs(&WAvT+Y4n3)E7uyCnOh9! z3&d*nOl#5h1}JD^7>T$_DFU7ltiEl^mMWo>tzjfFOCr7oU_GV z2pINQ;ZsrNnFPGwrIAe~^MQXRz0GIIh96$h$E$D%&b8bhNEL?JG)g2U-24=oa28atCU(HGSx2jI{p>EAg`zp%*yAeX1w3 zlq4K3VzwyR%FE4-cs$dME}6kBn1_%mHY%}PhFLX@+SRUVsWjaquR5y;kt#z%IdDKX z=>T47qmfBkEn^f_Q{7F?=wcF?VXWe0Rj7fnbk7t=|Dlak3CUztJ_i|U9!qCQTUcr7 zX|;K7CCI|cOdZwKsw@fh@HnfAhIj?Ph`rWSu-))|P9%wpGT%7eo#M}z-M~WRc2aI?>FU`_bFnpiPWS~A~94( z-6$s0eO8yQMdEQEpx6kgw6k0+Py4Gw&6|vZM~62 z)KpL7qyR=xkJBLHdlWt;?`aVc|^s-&- z3xo!sdFU-j`}5>~uNbob9V!+eD%B4Hf55jz&Uie^u}ZND2lwLX;%t7Wvnq^8^qMW9 z*3>y4^`;E8Pb^j{elS9|h76`n&2%D9WqQ>5Br436@QfKzR3o58=TRUhSewGr3c3}I z7Al^H=}EFwlSO@`Jk3^5x7}7}!L&%g(@)(FmG>5+g*$ ziCO1S*;Hbdn#G0I;kFxQQ<;T^2TSz0Tuq2VSM4Hz9&wdTj3(BLMvZ^10jbsIZyz74 zcfzr)W>ch9{7HN8lC!#R7}Ioyk8d?CVzQ_|?Q|;=Or69V@=dvg>i#lSNJ^8h)~`N& zI`Ba^GP$yKC>dx(>2&Z`tvW}8Oi3)!C@T&vraPuJy?GLtrtwWN6dW_g8xmz&y)MU; z5|-4@a?w<#S>2{41^S$7HKM-68s8*yki~>_hJj3-Bu-kW6B|YKjFwbOyUo|t=9q6) z_b3bjNwTE$NfL=zZ>dvja2d0bWCjR;TU1cpp&AQGk>1Q9>N9M>N{1Sk?o$%09;PK6 zs;`rYoN1VR{iSos^K#>NQpIU(nzGsal~zgW3Z5H?XOM55_)Xnt`c1XZ(GL%NO1%vCJd0&l zXNCYDro^sX!^&c0>!rmixf(X+R-O8uKTSf9X&ZXk@L93xi8Av+O3j$6Qzkyy<)lb4 zgLn}J<|i9`4R}&|Yg}t)p~4k-T3no?URNceRwF4rx>}W~WZd(>i#CAs8I806Ih_2% z1WCYG13FrycB0G*iHUHy#&C^vTdX+)5}o>1`b8ac#?-u+Dsxq-GgVF)u4~HDA#{Kd zFXfX|bpp%t4}~i?OrTQJu4*1oAw4zxsgkY1qsP`nn+{e9`DKy|3_i+GDG=|_hZ|!6 z9SU^h9fqA$BA=#@%raaH|L{@dIKvl6BQ>3M4=Ndr)zX*@SfT)a~ZDYQ8g;Ah_S)$o_sP#4V3z@gSD|va;UYElzvk2wo2! z9-y*l@5?X0vU%Zr@4y6}rfw$hK$q1>?@O<|viZunm#@s=&y#kSU@c-bD{|@8S1;|o zdhXneZgU^}b(>|HNdLtvBS*cj^v=xdelo-!T6po^z1>}R4U_QOcL-LY!#GF!W@Z+Z zL`NDLDV3dl@816Y_I6&~^fYcA;T6TEi^u0?bp9jh;$nydA}=p5oz<$e`v*&lk>wQ@ zqa(>gEIxPBlt{GK7-{KPCCy7a+PAm&w|6)1?#?a9_>Lwd@y(la6gn|J89_ZzFh!fx z_KvNst=+k~z3ro;#W{c|xG52Lxy*5tR6K!dOC+8p@7&tjn47tIb8qipF+^oldcw6d zv$z;qB6bBSt;8zb?S3wc8c`?Pi|gxq>vK1*-MF!N@RauePXoZ#!(A;x>$p5v^9VkG0% z+-u)*ZDVWiXlW_Vc!;}}W;r`bH8r)2n{jn;7~4NO5Cgg0Pxklc=hL=t*xWqW)=R&g zyuqayl0NQ=-sGK&A^Va#CdTILXgIcia1U#=_!s{_tOdX@4@boE-M7UPgNUp#hrc-Z0G-{!k90Bge$J1x>Zr+@pS(qFf)TtzA@}@b`EHu_PNNnYFLEg1%JX`F$ zN(>V7*R|QuD5pQ^S?>J&^h{`^pR?lFr!zOVz^1T#P9>XL(l6Y=cP{PW#=LHLj&EdT z{&p-ba=VeZZ$-p?)0*Z1^kGOgS=nel1?gP&&p`6E%SQ%FHp@1vHO&O{{m^eh*~sIU zp*xWLW&STnXH{rVm14pDpU|-#rWaYP^V+`~`U&W_p)Wy2$lGS9(i{n!uB4`LSGvM! z{?%`s&PLyJrOR_NH~GE9y|}nU*s#o_Vs~EN($f5*^>@19EPWUo9$FfjC3dRIMSwGQ z=gP4p$`MrkwC>^pM<&vuo?)XG5@5z(2&A+wv*5=HO=^N|!-=1GgP*TJy z3ASEDI4Q2exon2#KHO|;G^ww>e&hc7TZ@bF)ukn3ow*nUvvVe~k%NhI*_)f|jB>(o zk^b(?>#t4U*nALLj7LbnV7|iTnp-g1h^`PBj*gylAp_PoOlBm>-MjNQr*GWdSPaeLptCf+7^2O%ZbCmFnxp(mN2oWT?$3M}7 z&AmN|1O8v%-Q2Zu($t&lWDH%ufw6+B&nf5j?$f7q4KheGy2!!q-oeq~u5#}0p%8he z0~N7#@810fH(q-UOEmf57^ia!(Lvx>K{TPYCwseyEixiCcaQcD5kXlmY;0`Y+g`eH zH>Rf-78Qnj8&wdBAfoj;gx8bZqrHROL+(D^4;@HKXJ>6}Jb3G^+}7FI6->f! zys@wt8XVhMLREzJg<&J?XQpuzdq-4JjhoJEl8-}}cZAr1w-egjKL|Zl>F5wXE*3w0 zqI4wmYk?rVusF}@<|8|yEyV0o!sd@hBkD8#k2=k3z%+k*jzPtnM}jj?Lm_pjP@;l@ zBtlP)o+w!*Zw)Uk**JJ-gss-N1t&lllFRX?T$q42J|STM(Zet4yi!2T90PoSV|T}P zc9xbF2yO7>NppefM%p~8NzaiInL16uvGYVL86|FSOFoYep#v1eAt~JXv$IayTKvl8 zi+v+cc6Qp_PoD6N`$%)^F%ipbtI3i6&Axt$ZqEZyz)99qk7srkC_UW2ySYibx99He z?j6EtPbs+2#i>gB2S<5%9nRg|{oMoZ6=(JLbE7ls@KE2;VSC9|hRpmSWTI>~vSEJ) zk`I?;WD|51l8lt^&QnP1SN}KULoR+ZB-{0`LOICAJ}3%(6#6Yl=SF*xhZmvOpmj+0 z>YsxCBlIWGUqcR>@+{})Y`fNVGOM~fRz!Bzv z8$}-dDVd~X+&nWszrewox@*Z%wpA&HlPdSh6;2>Fr_(6K#uo3edA7FR-gxKQ8`n49V#jj98Ho<)@({60CU~1t z?(PbzRc~x;-rbm;UEhARIG;#LkH-`J{e(&3Ae`&F&_BWOCisHl zkw&AajYwikpl*+$aIl`qd5?^|_e0ZyF=)lm((J_x{gcQ=UMQ;)h#0XN-8}%&F)|Jh zHum>;ryapag&#b+E<^t6YHaC7fA7WqiKn3;CuxM4B?{_CW8p(dINta~15g=z?%gBn zqjzrry0HDmhpt?@%z@%Ws3w3?cxZ^MsE@)9Jx>=9HAwvx#p4tPyhaQYKkf>{W>1{-ld@s#$f zD$?X#a|`QsJOa?=)LA|+R+q1jq-Ie#8Ca3_yOnM&vH`F0XA}0K$j0XWp?=SWY3S5_ zq$elNGacPrXX5qrd50u^x+MpdxrI!9`t-Rh=9OTQ)_jeqT{P<6k-5>v7~Ch#?h|w_ z3EJJ1vH={~+uNsz&fJX+_>`pjgK>6ulV|+imA$cHFi2O{y?acIFras1ODMz3O0xJ< zkmT`yhW-$ePr?6$vXH%JA^GOXzd*hvSD=3c$<81wD?bwLIVeUhk3k#IPeF=-r?tgz zgB1VnW6*zs{tl`^4qt*k0Bt}zhwVoooqeIT#lL{Ek-^na7bF||IP`w#8syFbnt{XJ z*>l3}0_mjB!13eX01h@%a^Z=fMAq~!>zI`37O+~{CH=l&^bJOrH@HUIdSf+ z|4jmo*^-A3A3uKd@X-RID>mNWe|LA32uBsp$;lk75b?SKBb+p2m9l;EB#@14GjgJI zlk48&M~^jCjg4Np!iYNH9h_e_8aEgbE0&-X;svgPxd30xZ#jc>eSLFd{r=;f7#50^ z*ic^|S&yD_oDai3%qH%uoVgK!(+>?(YPKqorhMxg>kl43(h|`f5JLamyYL-~FDdzg zfHCkl8!XgA00Sl`9VSJwBALQ9NzfTac-iy)B*a#vE6jO3Gg z(fjUhJa~9r`R;^&i?bDX_n$5S1>+Ic;u*I_-~$i$56OlIeR80DJz&}O`wt&pmjqpo z^bZj)@<|Lu5|SlO7anQx2!jWCEzqKo3AVJg+`G5Fai15GZFwa!+&?izj-x#Z>osJ9 zEUvWZ;bB`g*pl8z+nY8wH-Nv>tN=1=nwmtvgkuMLYil&1atL374%7CAd-pc)-G4Om zI?6z+c(K*+N_=~3Wd(aJA5Xa97ZZs>P^Os1NL!xi>1twbcUudb$m0a{q7{^YWneBfNI0>u zyBiG)w39^q3O*6B z-9w4W(z3(D16XYpQ?$fC^*~U9SCPbW3u18w%ZI$s@4}`MV-+Q;RTL)1G>zZ(U1Xo6 znXiC$!&VnwmwG|+rt2k_C5{{08L>&&Mf3XX)*9eMlvcQ?0T4t+>R?gOT?Pq3iy zN2lw-gSTeqL$kB#ZpZAb_zo|QbI96&Z5I*szeC#hB^)e!!6%_#hU5<|d+wh?r~O=I zJ9rWL$IzRQaPhB0F68S4=oa)ZA^D#cB3p-`IP?kVvrrYXRJH^8aKxcq=wCrU4SBMN zJ1+6bzlc@rA2~Wwh<_zTZ5T*^zxo&P%HK9TH;`nuksJw60;`4AugC;&*15GcJgP(d z&N=}%y9Y80aPoS*e`tRnwL{Ojwa||+8XDR(f9GNC!BDGHPlp(wOkVN@Y9bt;JwCOs zDMfB2zRt_bu`B&V44622u)R&!$26hBSe{#rd*7Yq*u>a^Jv4a(i&-*`vy$eNurQOs z2M-=Uew^EAmdGOn0gA^W$pj~+h;A1z0)<5Emw570<5 zlUxG>`<`Uik>=K9aRlh{dk-Ja;CQ&UigyMgF7W_oE)r_S$Hl5cOr}61w{}t1_UE>@ zH#hIU_29;4-VPbS)AaceVt zN0U#4iQdJJr~oQ+HY6plQm&2l_3a1uKY$fmuUc77gf=%NcdRBLhZ9fGcnk!CFeX^N^&&9e!$)th15#O#aP#Zy zbOj#v)-kt;UOdys1J7(zwDXP5eKY;Npg zF*li%3xmS;_M^wwuSpK`vQ>Q(ssd3V7>>v=a|j0Xvs{knFekwcGdHN5(va!?7OMx; z4bNlkUa&H)Z^_c4;f)o7?tT33<98n7B0>UO$Kr2oMSDM4OLy9e>J%|4Sl8saQPy3)4r2T+8??Sln1CVT-!h{}V z(GZk^bl!zxL}|^b4SE$Ch5i|Y@xsJGe8|5agbtt&L*fSw1Ed`lw!!*(5 zoHZ#&LQHayQ5us;*`TsI%<|RUt+|jGb#;v?j%#5W$m?8GG;WC(C666pnPF9`YjYFi zx4rdta4r;)D^)bkYQe$+>EC&W6MW$JI1`_EOc0X{nuOk)o4zrqT&|C?#A0-s zg_K$6Fgb8v6s(~_CPQA{^V#}^ML*liRBe40^TBl%jY1)KHXL(>Z_Z#?nRSl8GY+0e zB*;kqCr|U-Px78(ojQ8r@sO2eqr0x}r39nLwK~nBgRw@3o@(}tWK&y{6C=2FDJ#~2!}a+$Uc3J7 zn}<)9mJ+cw=VDARUF38O1O<~=O-{+p3YSN3<>HsLtxcaAy3VI=lXEe~icxG@AG$a( zHNJSn!Cz`te%`+y$R-DiT*pm2Grhfih*1y_7`0xu2<{Kf3H7L5`N1dBpk#3b?%ms) zTTu4}m*OjHt~K*v3(O^^V#{=$+EU$pc$9~ZRhOT0@$b>$A-S_&%J9m8JrrGwM`y{r zL|#nsad8zbVmcCIX#x?z|NDomQ!(?gcyepY-6JKw>Wa_IYNgT1`qE?6ipA&rWHszb z;wX>2dxr?VBVKB;y}O5jwYuV3oW+E_dE&c~16k&9F&2jBSQN#c+kPY*Ra(FeM<+vUzm^ri+C4=S=*#n^f09WTC~ z=JV8bGTpj)fv$6|LvxYWBiG0~GuN(Rm?P^`uO}uPPI8X<(jceoy*9hpcV#R{Snn~`xfT{eSjR8* ze>Z26Oz^knvd$}mLkjyn#@v?Y2-qTLU*C=$`v!20WdqQdJ8NMs zq{?F3i)MXlpRC^t$%pvIA^FN_p8r|sZ=hmibSEU+>$gEkNOSs6L4N_s_BsV6p^rny zYgC%o??8%Yn~l7F8JdB<3zC1_Z$Y1fWOJ3DaJ3GBNmo&2iPp-K<*7=Sxg+UZN=qi@2&swsXr^OD|<+$97BN2C!H_Rk;ZQsO7yffGQRX#6o`TZq$xylb|}z*d9+Zac0K;#P0Ukp7Geu zIAd`and#VWEw+<59>-3`!F+%B6-ZE0xBbUd_Yn(K_rCY)y?cN6obx;9+~A;(3u5Ey z080cT(#$$zbfywRu=5uZsTnMA_~~ zqq3&%fNW8tOqS~Fw5n9>o|>8%$2uEN%=!mHYCq%-hC|j+q0nu9sIU^BXc&XO4)i*J z8%54v*KRy&iR8spYIfknNdFmrc56o%1uqLabN#6L(sEHibC~n6*85@a;&S~~?!i!@ z=j`QoM@OrCgMJK;-mzF9St|Ci;NcxXJ)|oJDHKYHpS91uu;BEqI)HgNIej_Ue{LA4 zZ9mvN&(?=lwp4WSOq55#DjP1)b%Cy+Uk(?$Tr<_xiNwU*)KuM`K;Yb2If@P+p7&T` zi&icz%nV)#u25(pU$9}y7D@{k0T|2vrTX2Yqct@ZBbJvUzMgP2TXcz3(nI1WhN6Ro zqAgZyp(K+7*9$$)o()!vjK#X(wmd!Eg<>BuMcj4(nmZD;a&~S3Yn$}|&{L1P-8BUB zhlWGxLx(%&F`5_>>`|yL#LL*hh*iX35>r&dKx0Kj^<>1HC1Rkvxw)f*I;rgRB!4u@ zCPV18I$H7j>le_Em+CeQ4pu1grT0)X`?q^~i>}h_>~qVwxyN1L(dwWLL=E6F={+(@ z0lD5%>2(MsipcS~aohHFB{6h##74s1BH{V2R@lJ+Q+d6+y&Y=?ZFOT=X??kjgR;A? zBL5>ITU&OvuupXZUPY91th_1N*HegcjQ#r^q(&PP%Jm1@YY{1QI0`vtSl-wiKg!NQ2SeT

    |B^=bVk!$#FGc<0j|9-i7FaE2z1fgtFigB_l9%__cfyMe(v zddN>&;r6$-&!=f#lb%n*aIIq~9y&bV*}0{<9l)HQU#i8OG(9`Jj+@HXRHBRy^XfQ! znBc*)XD?1(oSoeO-E=seenQ{0chaY-c4+AIz*$(LKwx8Sb8~v0qVW`tCr|mpg~ZU{ z#mNilz}(zw+%*hA|KUUP>G|$?uB+l{4C8U!--!!Tb7^l(o+azxq3*ORknZZzbkB(E zd0E`a1k-kArq3Hiy=Aui(4nq$F-Kqv-Yq$}IP!riCMy1yidXS^;}M#io}TkYi8f)_ zj~%3a9`;)N4$2^hz}A#KyMLJqt3WFj7)^ljUZswqTPF@SvBMdANzlu%*BEM{NFK^s zpn~5t2hCQohxx4&&dr@6ZteWYP`D*=u(iw67lYj)QbE=hXCy?4xhh5M4HtN1Kq;r| z{j#if(|Zqew_lh}ff4aAFeZ4F){Y$6;vbXsE0_ zj1&{Il))d%jjFD`bZM@4db)16G_><0op^~+BOoe5*4Y$#peTgJXlf`Us%nB*%6&c0LzM~tR+k%^?wp? zJf0X%{c^pQHMCD>xd62aJW~Y-vyIxSLV=qtu3Ri>F3&gHYk_LrPd*e8>U_FmHShF{ zfd6DpN7&iOqt4+N%@mW2lCw*%*6X*?8FidLch%yH!OdhE3r2aYe7wh9WZ{wjQ2?q4 zy1g#--bw7zW^_a8gUTmXO_kq3{s2)<@iO;Q4fd@=o<)R_KZG1Zv@gOSGJ(h!sr-87 z3BLw5dJ*Nv-$$MTAO9huT+-i0{sZzH7~DeJTkyWEoXa!2xJy$c3=si9VzCsqXghf$3iYsJX>23y;u^ugm0$aSa{Xj)CH zU}vi--_P^I#Pzqeu%RjMacK^9A3pr`uMfF2Xv@STL#E{HQ?XRJ1%KaUaw?rx20Y`oH364W(iwvXD)ae3V9B-JP{;|& zn*$Q(!tG7X?TKs&WM`EIotU#S^l@)y_7fkVNAG$SXBw>Y<;xTp`07_f+=j2uo0-bY zW`=jbHQ??HMY4W$g8k5s1v##zB=MS_ol@%dxll_-*SyCcEER*X7{0o8y2^~@bYO~f zzr85fG7`B;8SV6)1bPXcA&OgMl^}FTBRnC0GH>N(&6>6`$h1K zjCtmrmq!l; zl}d5CV$>61g@znYq-MP*Os1JI9yJta9YIGS?(FCY${Oc3J;f7q#XL%SzLH8^i6<_m zy?A%HT)ML$#c*~HLz^l3O*jSjva?#+9cpM5|Io3Lj;V`NeO|9zjhv4YTCr@BGmV+w zh^~i&0`0oG5>sZn_C>GPRCN-qGh(YH3kgUIW*K$7gzdakPXH(@8|y?g6tlA#I2F@` z7O43608r_c>R;q+dT}J1M$yqSl(M9TBZX9nM+qSh?&?U~=~yhA1t9Th=|381x#WUF zgEyLd3Xqswm@WByp3T&897_X7kB$`Z8k=_eQ0Q<_Klx;Y$IlvQ6knnxiV57+ro|gD zZ$?wzLZ|?z#o@1$hirc)J~?T|7odqIi4AI^^8Nl7*oa6s+j$i zaiaf(&zI{s{66oMxAqD0pOFUePJGW1WCT%thVLLxgQq`?sJ_~-As-`Kz*FVzrjTDp zl&iKIEbT{TkY7apH6k1QZ;%G?bc-;RI8k9JpekoUgY%~tApO~B{#;*<5@-Yu{S_^( zi3`jWB58v`^tlPb-xvj}>)P8<`??%{r-4c}p-5+IM`t^sXo@rwr58SQxP5-U%LWF%~R<4I^##nJ#;AY9mv6ciz{5R|&6 zVaa&JSdLFzxi~%b4(git9Xx7Ldtf4Y-T(pjN=h`ivEVm%ln_^V@A1hi)6?(KLmfyh zwuerRXCNOqm0mmqo>IjNYB>&KAE#c7j!gDxZ0O`flEX=%Vt&6&^tZHLMn}bd=fJaR znyZW`9nQxFPtlyq2e%^1j>u~QGA}i;(X<(XE`mejSFX&Z-+fmV8|cPaOg8{aYae$! zoMleNCv~R_*|->5ZrXn0ST9bc=iWPEeg)VyY7d=`XP}MHGzC=Q5L%R>oZ|7q_=Fyk zf2nfcMGcI(ffGC-ev)9_9!O+Z`v4&Z2IG)u2D%A8c)CuvsyC*mS)AvlWCNI9A={VC zszwPWyRLC8pUv=7bd9>%=491X)6*{aqnGhn>TFzOBofQ!@RJ)aJil%<&r{`NpOqJs2N)V2v;CM8 zY+1%r7#+34Q1*HS)2z8RJ4ch4VZTHSB5mra?8?d*3o;o!{-PYJFiemtG(0vxKc8O6 z81N@Nh2eCpdw#wQLMad@G9_cGa_A6c}$&% zVm}9v0HXaie+s#XTt+s5>TXZXSuS}Udye&#@(W#^cp&lQ8!8Ed^T^>NiDYa0S@c6G zcMU`+U>QVP4j+j(AH)Nr7oXRwn26|=rk3uDM-J*3=4Eo07{^$4t zaF_~H%EaIm96%2p@^qz-jhQ1s)u74{#N_9ZxGS$*A^T~EI*8_s*qjjWV8GYYHJ=up zt8?cH`68Tvna%r!yBZqR2d-SnU7DRa3x8=6mSO>~s9T?_tBX^K7OkzsTt=>&m*0Z3NuE8LD2DAo5k+E!@p1Nd_S*}=UGy<2!osv79 z7hXumlBO>`;m`PQ(HH^fwihP{`@LRo3OmHY4>>mA6Hi!Y;;mc< zh*%A%-`tE#dV3(GjzcD7nq^gEsoW8VBB!M1LJ_;8l0}ur8Xvzxx6r8Nrk}jiQXg4| zb!VM^azob1eg@>^j(F|Ll@!j_WD<&gBvgY#jeBa70_Jg#ayGi_rrNj&Fk(t1{xW=$ z$$9|v9NLPaupu?A1e&%71T~G-3nhrwHOgqIrz|5hl-GY6mpw?XSk7mOH8La3Xxy=w zQGT#nMt%KNIQ4zL=W4iI02SYV1L_V2jd#Eos0s3%ml~)OGcxKUCn=cjGW<}(YSxF* zDzR|{8$ux)N-2Ei%wVt;*PPglHE5O?$e@<)i`_EmT6 zONin^#rvz~!q*Vtw0Qq!M7+On`adG7F?9-&PvDo42S^>b`~!$$_AesZ15rK!?Sm|T zz&nWcK1?Cv{I@`MfrBte{8z7~C$Z+uJ1+f+T70JZL-zNkI)0z|3)nLWPoz+i11?rR z4>6hp5Tb6W7BcRnr}6`#9^~l9RR=z@-c*3CGjV_a=`-W;)Es>yp(-Cw#M~3E zSDFn=3GO|#QyX06MbxrXYWl|GGYS8Rlcxv9Q**&UEaI#3p*RHm>DkL*qlGCh9XV>j z_sWG@KqtyAm~`6 z5ci)&1HK$Q6B_lea(6U$csxG#my`AlD1!jp=2$EsIOpzGY@3>rZ{@-yoY$FCFpxE| zU{^cm>+0i~#ez}xO!O$EgTW+dHUH(1)$nB( zi14r5dg8?JXrRUlfXw3I@UJXafC1(kKg~L4WY8+3lVZlRumz|reW_?-jQQ9Ia%F;FB@ ze8-x)I>w4Id*tQfV%OKON0~C={X0qFD)A)@BZFUx@oW4VEo!+UxoG~SJw#N15X{S^ z*U<#XAS*6yEBh3_0scy7{uZKI$f|u)3+~EayBq03R1-CU`~vcSA=2kQgh@8Z51l9p_()__|d0`^ypEeT2i4?DJ4C%dpx4Hj&yW)?+2C9 zGHTpj@5GgvKw#4P|xsnmcq96NGkqP_K~ClF-C9CS2ZuDevK<9tNWE3DMS z>%Xb6QeK41s&E!znV1PJ1OrKa=bMrVjAMn72$kPqVdd39d+6;JTR?(sJUG! zKprX?kW9rYW0ngZI8Id)#~!j;+q!)D1s~T=++J9$oUTH53^fgcolkmCU`Pob?^uw9n*5{wqk+J(F)uL!$7}C0Mu`QO(?!k-doWniOMy0y&S&A;QhyL;eQY0apGvA|LE; zB1^~*f|KWve}eoGvK|~ff`pNuNA4ivww^~`L*7D~5yi?nQTL*=9!1|f(fEzO$lJ8X;ZYp$j=mtXbeeIG)U+Hes8he}rx3f5gu`*z5NBz%HHYO=X@WlGCYo zh~CBXBaRE7HHLzp>`+cLGKSxggdKP~den)Ksl#M3@H{b&FM8%3G$FZ#A#$Q)b{3Tb zu;F%rFLrb!%5>(GxCH>ddTKzBkxIBjoM&;|3Hs->DA=(?l8U)dP*HeDNUZZDKon7R z=wn`Vl$j3ab?BDxr7tlc42!C||`A~A0=sXYnEmj&7I#&Tk< zyF4`kVJ%)S)*1r-sRL=-r;|!_g3@=U@21cCb*9(jc%)I9@IS``J9czIs;T%STzkn`D zm-;91n5qXi8e1e|6S7x!9_(Brgrhkf3TjLQgQ+{EG0c(uc~%K|-(N*}1V1yG1*aL& z3nn9V3q__FY2jVBf)Plr$|c`Ibyi-$=r*@~^@+9ujN zY#v!a-bWNW^=(A{*?)`3{#Wd%_FFlQWRO2V8osJX|o16-(K&GHi7*jq3K_Wo4x`f&R%#cOsr4UrNK*;L)h{@OoFC)nMnv%l`K`tNEc!@v7tTEaVuIKp{!Y zoG833cL+Vgzu?EMh`mqbsX^*1mj~ZvDNt7u5^eACc;1j>(tdy&=21xS)}dU@a^rOAYLbhfw;d8Q~znqY#TgkdcA2`~pb7o`$a?!)amefi93 zv)PU1CdM*_2XR;Q&D)nK;(qFRlSi)T~1H?=w+BL0^DK)$=on80p?_An;{!F zIysRtO35Ktuj;D4zCMbl?9x3jBZTK_*-%!Z2)I1DDZr{oJU;!nOfC}Tu6Dah3b2|1 zNvNcdRU^!pvL&FKvrx(w_(A4|Fo<&7npbI%6p@^4Wsx7ltE{q>fuqe-4n*0UbThYhxE{uX$m#lnG z&%%N`-QxjKmg)>qV|OSzJWX(HDc#enA*7OXRI4Lwu_t{rzre@Rf0ov)<_Lu2!&{Y{ zPuA6S@e&n>MzXXKb(9AWe(pdIT}OPCay*qI_3Mb@?f)E+eZCD*9F_Qe#hHE)zyI&R zOyx-RBPHZEBHgkT`AI}EroV;!5%QmqI&ktCWH%!HayeICHBJ1;%G!Lh{QY%gQ?=q6 zK*P25C}&+=1F#}molRlw@NDPdmLn6nBW*wPGq7L89~0}&W;xcugNF`|kN;uQ&v?(u z5x7)GE(QGUShVHsLrvr3Z@=AC4$wDjBGfL)R&W1MOCtXE+i#m5_$vWADvil511^ug z-Et(CX=?I18BI~GoeTxCGANbvium~RfM-*Cr)3{)Q!OgCrqOs|7UMreH&DvQQtj)Z zkeY_0Xvuo?_F2&rj1<~($Y_+oS1K`6pcrzwJY$k=Hi*4+I-a9a8eppP+Ft#xV@fc_ zjN+wf!f-FpI|(g8$LjrLO{ILN&VQ9WFW_CRYTSknId)9=ZBA+W;jp1!Vlp8YV-=-8 z2-BM$^jWGtPo@;cYmLhJxYJ$T$A+N|xz?yU%9t%-KPOE{OC_|=1coqaUB0N+3<9Uf z(>hD~L%>Z>a>|*0x*aHXMnwY_j6cb>JCPVqiAuo_>sOvCabD_5e7)b(eJl+MX|W{G zQUnZl()Aj8>!6n!Rnxc#EVM23RH!t9l%YrDG)9kQqDJ!t6$}F$CnuBRgQPn3PtNob zo@Fu*-65U9>0qWd7i{fl#I06`A6B_pD3R!_6BDWN!S_UjT}tD#!>b&Q(AQ62x2}{M z1hEg0(8nY_IYkJUd%i0o>{0;#DtcOo`tl5-pquE2(6AkmU28=^VQIR{YAZeQvY6|= z62FuV*s9%u6WzI70?akYHM*=Q@oZ9Cm%D=Gq%{l<44gSbRhxi?H!x(mEnO@31?5n> zvVLaNVst5c&3P?VQk{`(@Us`DX9BUP6jHZ4TE3k)8~MfR#Y^3|E0wP%lhgje3*)IF z3M5J)rTJOTVsjSGV@8+S>-rc~JBR~ggk9)o6hnbV+(Gknxp5l8dR%I3aob_M@P|R~ zeu)hZ&q+J6(4s)S0Lz#vz{qi+^(?kjNAe^S6!pfA8TVW;_$*~ywTQrC)w9bgTeXaa zJ+rEPA%(0S4T`-l#v-##a7pk4d}6e$v1n_P_lyAxIZ>g<)ANVURMCdG@YSX+>iSh) z?-?i$#cZx$b><9H@W?Fh*VPUViZ~#KXr7`RgXGBs-EFh8OX~;#RYneb3n=5MVreb^ zDkDn&f^FtseZGdj71pGG74^ht%8goI&W%#-zC}d*miA#?=C{7Xd*!r>-%Z<-WQUyjgAt6M$_a7t5y;r>JIpi85pQ-$$I}ybm97lcCqK)yFlsE^))6B>{xpgt-nf>^O#bz-~8@ zk@1OOuz@`~@jCQuOOz(L#v4wzENf--x4%C{s4 zkpXZ~UTdsDT~r{L%-3jmoAJ7>is33a+Br2fN%6UXiPUreCMg>7QwWo*#jVUzFGUal zvn;G7khuc4-}Hq4y^|ElOI?P`4Tan_enQ)V0o)Y3^~R2sIiolRGmIrX#EZW2^f6`zJ}PBKQH-(mzneGp6XBB@dvciLGH%1_dRm&*?x>b4Y!*dNj$Qo#xKKQ z)FL(6K~8eRlB6kKE%H?vn^#oplYGVv%Xx^TlzCg)wqBE4uiXeQJ zj#n?!4VMSSE(0A0kBAKd6j58W1`BVswj5>Gfj4^zhnpIH*?igg<9MB^4vYt(@}elCcV zQ`$GTbag$YTm*th9M{G6wOn~d0|2I}P|(095CL>PKj_Ax-qO_C-Mw>losx?`A*z3(e5?c6x`Ocy_*qQ;N^)K8iygqQhLANmJ-x{i6= zy_gVux{*4HX9wGQyN81EwJxoKW1Z=pnb}AIsk1F@>CRSZgw#Q;yKuoj2vRB!X;WQG z%iB#oT^&RsFoElZif4}ZpNSJ_xVfgOsSUp^si|U;=EjqQ{R4@KnY5C|ZHw*c(+6A9 z9{j%*Pfb8_kDm!7$5XxlVLQwo4XlH0#NL{3fdyVyrhQeWs+p!2>`bps;?jJuE$u?L*haBA4aJIQ4YnwqXz--=6J{yEb#{>Oww{tzDt(D8KFb-I zw!oAmtun7PJ9io?1yfR&)NzpGrt!2WLc9C|zbK;enlh~5uX^7#T+$dSNf)D@)`a>< z(Lp<<1Gc9o;QF89#quZLtMY|xX#%J-~NH|M6uu!MNT(kmM9a! zCIW#8rmHnSQMpt~!#Zy_HDQSn!J!_JP`VrUyiL?Z)MDmxQxN{osp@x8avi{n9%^bL zM7{{qML|H;o9;2ZTIi19T##ofFr^C}8eUZpW2pIH)8TBEbk`ytG2#z&O|*|jGL(;9 zD3&PrZCuigG{?8q*3lgq^5rw4w?s5Wh*d=Vxg-=J7)HGYs+6eQ4|M!UETpN+qsJ$>rgoL5} za2@EufR_GU{$OqSgSGmAb&pD}0=B?0)W&ttOx{4SO$nTO@2d(>6||f80A%yQ=1#Q5 zb!1Ns`HmbCEv2$~eqSrg4>3}xszZlcd-!-g%_(3fKg-gF+KvvD&@&q41`6mMIxJ4V z{AWi;2Q#w#XKm%o%=B~vJ4VPtUDwE$1a6j;%*u-@(OB>CxX(Wqpsv`cyZcDXL^4}k zs9BZn5rgD6GH`RGPqJSgMcAX~qhyszJ*jw2>Gx<_sjqPO;d5gY{!xmS zoy~?xia^UG^2UmsBeBU;tdzx1>_PJ4S4^d-G5Z+4xlm*(L5aE0m`%VZ$QT-CaujpY z$6V%mD8KivoWdhQ1ZW#d)?wLdV}&SZfi%i6YamLB1`-uBLAQy?RN%x308w5;%*XSw z$pm{wjc_-qXaq2hFmsbi=qc`lUg2!0e^o4xfxxQmUhgU6ofNf2H0MNoG|VQ35Pa}V z3XNxT1?Wm31-s$z)hs&|jAJ;66;0#2^t(!#^h1Y2z2< zI>`sRY+H+m{|+Ku&kfEgcC-^w+-MQGfe8DKB9q9kAc|3X0jzrmS2M%((ee^<>6IiQw<(aK0Ch#ORGSQPz%F2zt~}HU_T9cL=!a?)LkiWrtI_ z#+Pbost^`JO{ofn4);W(#stq%v@SRNB`s+Li_{W~%(8zzGVgNr5xz!za$=N6Co>T5 z&uAo=kLu5ie7jhhr0b%ghT03SH1%uyyT`+VB|$v9|%x7Y-pLJyxO3&vFbNRCf1*)`uq zfkP)a}ld*B0i!`e7ROx{7eUsLiOP&5cjYr{#CBx;-!p8SfrSbpYLV`oo}PlU1FAwTHG;Ky`g z6Op8B*@_p`VLU$LbkOZQ7dt}-xGA0}Gnvi8u=1svNtI+l#m4~t(P#F(cgrU^f6i7P z==}&-!8AtwB2j>_9^nervB^Gx-f@^XjAxK)?j0=|g2D5{b`?KOZV8}3V8;K$A`Qh) z0|UiOJg=_GO`V8enmv6|+M#*$W7e68IDo?F6Z;1$gvJUP{0TyX%tUcwBBLu-j#^SN zr#yN_q&Ahbt0v>&b6l@Us-@>>D6a=$ILC?Hq{2nee)p$Rb8`!nN8!n1m$LfV@kIQb zEC#|cczThMNP+!TOgF_kW^ziYQ3g~{HT?Ax4Q`LZ+=r8KB~I}aP&FZQFs~D20>iu% z3QF@wF{E$pD`qJbaD#f5oy#bdPTHn|)$oE4s_RUhTI#cLRg4A(leKB%>C@RnH(ER@ zCs~51k};kd6(*Um+~k;I>RmmBpg)~HhW%~XL1ruTk#AYHE5GM|8te`kL_o zLq2+z%K5Z0%dFPUrRweEEvFKbbMroNgC+pN3Z89k?x4oHR!g&95*mkpq3ksGoh3Pt zSVUnenwK36bTxIUwVDg(B2hv4eq0mWZr3j1RsX<%B9Z(-TqR8;-$5?)7fwyiu=TrD`}|}G^Qp7iH+}1qS^7!7r`w6rzVNdnf3M*)_r2#KuUy^eeN zE%FcruyShim?CG_wYD9}nP%NjE9 zEu76?g0kbmz$n3Y!^><2`xIyNE6BGIVc!3VXs>J4CK3KA&i%h2(jS-WlkDKV;*gFa z;%WTI1oCx69J}^_{T<{1@|VbJFjDcHJ;(_1ONjK$9pL3@GCIa&L>BDjU8?d zqDpvve`^~barsV1=QH%zKF`CGIiIz)_Yx|)+|Hb!v%S}&PpH#Z!=VnN+p*CG=#R6POoWX?C`(VMBz~z*;iFh`~4@u^+a-x7!l$>!)+ajOo;#w zW^?R~8nj}TJ1(FSMQ-Tb6aC5YUUFQ~u_-{^!sIEDrlS!rtLK#s4C6eE5%ZDhl_|ut zrkXr^*`>z4Cr>9Sxry%`8kr=Czlci6TvY&>+)wn?Ym&Tt-zm(Gk+J5c z)}yUlGv%oScCb|{5j+~jZ&u`lWUm%@WBMjI?PP*YJEl**hl({!-?r|qV}W4IW0NF= z=>Yy=XGXc$qRvhF3fs%k*JbLtkaUom`^r1m5a&i)cxY+xHD+_K&BjXEKkjBVDGJ0Y31Prpl9~&g z;)?OpD3ph;K_C;)4_cdXZ$eZTl{~|C8r3Ygb@Z$vglcl~(p+zUNJiNxan$s(ZIo*d z3m_-Olo1`|EL^OZrkk7M7pm?kXQy1J^wAQK;JR2^6pgDvLGDxNj|fl2!AQ?+LzLV36NnF)MDoZlBdSCH=SV%+`2wPR&r`_P zk^c=*jQl=uRB=pMx{ke`+Bb#Zw{b0u;Aj}{ zEW znV3zdQPPITT*Uvm>>8;gIA*9FPn8v^H4)|wXOjb!BG)PK3gTyGj`H~g)e!Ly2>8KK z8`$7?V&)Tm8MT7kFLl{T*e&*XYWDKw0r_M`$FxHjDj-^43_ZQQv(4~YvL;@w^q|k1 zK0?KD;w3P#=`%`1Blr|$V-|(K%efK-&-E$?q0)LfJ%df#aCT@{VFFq0moeXeaW=glW;TQqi&#soA;osR3>sWlXT~!XZ1u z0b_CinBQZ^qz6{*U{OyIXhv;wevn#5M(sc{i!lX5Rt88LC58J{U7bwMLU-0}C2~Mv zQL-$fV=-SmJEph}$9&=FYOQpAtjC5INf^*^rSOt3!2T;rbQ0`34b}7wCm*n3D}e7D zl)E!X5g#tQeE(VE%CEiTI;ku|<5n#^=2j^vKPNs)cf#DS66-y~Pa8Sq^QJWfJ-17) zHtMQUw(jX_85WlH{5lv|dBf}gsy?ngd>MOS>UCAwV+ zR8j|M?TqsEt2#SfJ)Pa0RjysM1!kvKQjW5-fr-kC=~U80dX?n^6(vvpm_TSZi2;Rd zDWgoi*Kw!tsg@5y7x;&@VH-TxhKjuv-{Ac>5yeXVb40aTegpYG5b5TBiO4tcCUO$_ z8RXl@Um@FA2mTRq0g|M>aZ(z(z+0|Kfj$H&P+Qb!2jOr)9*M9kztcYsegshX+$uLEGT6K5c}g4u^%i z>Aq5_tLt^r&UiQ+qJcdY8K@plAJ4Hww%$wY8Az#A9!xBi@TqhExTz|WGfYFCHtlSI z`}3O_8+zpS0?C-zTv%Nsys7az{9O!xH72vDFHOnQXHh32k)xV_xTHWdd3{xXQ@m#V ztN6NxM@KDM6ZGuyq%DF@yN}`qqnR04^dK)2(|2s3g#4P zO9zzufL-M9726E_0OF^$4GKXT3O^K64yc#bH6q z(1@RHiU1e=TA2(0RmDrDVQM<<{mLnLbB-y#+J82Yk(Nh0UTU{h?Z{=A9eRfY8t5a; z$xrq#Wx^C#uW7$j@w_=)BANESb6Ro1=CqbybP&s;@Yd`|tA!<*9(eDx5T7 zC=J+ad@Q+M6hFw_X9EGXVYLa5nMNGOfR|cT@;iyh3wX~!iwWcOzu?(Ko+g4qF5g7n zLZA_?<#N?(M{~RsdNL^6!NFusgOTM%w~xEc_0_$|qtG3r3E=8a=6M#T1%pweYXQ8W z;FPKoaqVhjMS`qW(Cn0r;%{&^GQ~QoW{RgGvP;Ke5plT+!xYt_8BJiLqR?0}O=ze% z|6yn;!ULkwO;5AfdOTA#&CdNwP_SG#XPU1FDU~nU_ZYQ_t`#SPHookrENS zAIYo+GsXu_BfPIX*D;HQUvrUTd!BoevBy`YhE}=hL~ImQVqx2TBVhEO0+f; zSH5|sA%RUfS|&?bOV{eZ8{*!$>}r z5@+PP*41`(5pmhA?}RX*G@q_trBA!1S7;kReY6n`PPz&H;r;lB_Za_h2)z9oBH!@; zUB=!PuvWRN@(X{6Xiq-Hs3wtriKtfA9`IHAcpmwEWC_^`wss<4L8Oz%5cxbBtGE|< zwHv6O&qM3$>Df%p67Ik=RK3+5VI0;!Ez6H~N;1YVUy#|10>K1EC<$RInd$p*)Sq2o z$mmL{Df17cZ)P{J8~g))28u|BQ*6?1JP zL7dEJQd;#*H~g$B1%m7$1jBfviKJJtz4U4Jr_<#z_Q#^Wi3B%txf`cyKzH1O-@a5b zx%Hrc^tb8W6Q@P$nL8I5^V16e<{9DA)+E|aM2qG`F1H8G-?&l4U;e_bH&iRZ7;L=>`Tmo-G~-&*fJIG8$j7tuSDm zHk^d>!qD(AMoc$7z2uc%|LkeiRiiGNbaIQYxslNkG;MxeG@^M110PBxtCHuc&)U;LIkehmLyEYRWliBl86}6+9zU(muJ=prJG?EDBO|Q7DGsEm^G3 zRUbXt(MHY9dc3@2_Tj^aTf5skb5!RK(xn0O&5Cw*b{y^GcAz-&qm<*+-iq~D0t~T& zJNc?m!o|0d^nR*udr%O+h_h0?ebtx#79!oS1}svIsI$n=B8s1X0xbG(kW0vKApaRr z9lt^3Dsm553kE5E{yg%J5#`fA&RN~OdEB+mKaauof5Ls>&Ze;;I@+2fMa-otfqwEz9*|Y{)Bg9r8C|6L^=l%lZayNbG-N)PHZmwXf9Lxm7R%sHzWEP*qp2UAuOj#roEbTPvt4G#o(D@!aXZ_+M5~Rd+;HUA^j1RX1+j`Fm4U za8B2*UKQtb=jM%@l%y3^#T?UG2XsG9RlV_$s)BXm&UD?o*LLUTO;{&GRXGbvB)pQU zYFMhqRbZGZaZT5*@~dv$a=0epjD8i*JrrHMUbC)4SJ8-YOZamMM|oqM@!w%}8iwMEQ7ZMyUYoD*kqXsVmgREsw2>q2QUx43v~WtT^!6R4)!=g?Gla=GGlCIK|n zV)E9ldvsZ*sUDI}p6^9d-7DO?XJ{&%QlhCuIdQ|bynx%vgPzKiF)HIqYU>^rnPI8w zSO-HCx}t;qlq#e>i{6OJ$cKD`GV(aFRfGlCZ2D3?iV7pZQCU7mWwDR)mx%@4|Ii-( zUGPqP)pw9TL;ec+TcjGyQ+?-6h~l2)W8H@wLb{OUSkMvPUqo`qFCwy`6&Ljp^0&xF zaB?@Iy_N$=7P*0J05AKHOUQ2_F0fL2EUOmDFCl+|Y{XtZhy?gh@H@`wvO3`}aQ{S|+(Z z{q$r1|1Tuh{m+qH_wRn5iX#RZBbnZ zs&3y_q;Q>!yXp{L_io*G2rs@t1v0$W?Ynn3)!w;NxOe{}abEkm`zx5OspQ?;x7RcZ z+^@gidgo55*RWr-G0fJppMHAh21x-hTOVG(c5U$%=yvDc1H)`FOy8)veS4YP+IsWm zr+4o3CvV*ieDu+^tJiPc_~1s1p{L+$9BxbO79hb>F5dc3uiGoxtq(pfvs)j9uU?IS zHf^miRFBv#&VTLNU9nrY(1yMjyLI*I)v=p5TaR|ZP(5U~SPrf&E*f_0Za&Wxl{<@D z_gQx9F^0;+9()c%wajkaN2e{}m0ihh-MV}CL&I(@Q&eSk3+dp zf#|D5c+jroa9b1T^-Pu8S@Mz^f(vXt0LS$V z9M>)0KR`Z06k{rGs}9Umof730y?|^-_8{_8HY17|P~9iR4V*$0I}k#q5$US`3-X7^ zze8%l*_V(mz*lTES&G+}OSQANTcr<{QW{mV8zcLyq0L<&a#BH8n?2o5X%O%$UBAy|Vh| z&6~F#Kvh`|FSggs4K!b^S<5uMdF!6TO<_5?-P_l2j0X>H-Q}MaynY=P=*Yi&-3f8VIf)T)3_WmQjtG1Hoa<5?> z->x99#CSco#p!fCG^&0ALU~~w&TAFqRr0~T&+%3QUOZY~#CN%0`|v~Gm3zIP=dHL} z@m5CFc|>+q?z(yN;|~o#_Icjw+A?qT7}d3c9eYGXp?!UZwvr{Xg6c|)e{kdWhtOkR zeMm^*B6^Ixl4d3^>2~8ub%-&!hOyEO)ABfdRi?U(W7wg^6zOkVs#y0c2`uNRFJI6W z1r8~uO`IKO>a!FUj@)f4I5D^`@qAH zs(Il3_upTtRO>P`_K=l=zxq7g^-Wq=(c0n0{0|#LVSNGF^-ZqiAvyLE-$h% z*RM0&9gghp$$O!X(52y}$5^ubGVx^|owb7ax_;duzE;v?BEB|rJ7T81AUZW2KF4}B zewHhHe)A)a>~Y%b`w?X56w4eKrqg2tSrJcbK{`jtL`d&!ctnUPe0dke2Mr^pKlYFq z!jbe=ejBJrd>%VlaW=t;$;To8tGKY=M1CKU?*DHP#j5=|qJ0dWL7I>O;>C4-nN7SU{xDYyT|8@E${y)2g_M-$E2Ov7Pnfhmlca9{C02 zTZq<{jg{z!_b82uYHt>f>T6m;uJOqYDfl;dbMM}@MbqY^kFJ07qmS4>(FC+@q)avO z6>BOnz^`wt`be+6;PG{CLSuuF?m8;tgO5J>83wChFJF1eYBcZTPkO_g`Ai;JS17?!A0oPlk4eM5Em@FD4T0qmQ273>Zr> zzJC27C06Fp)?U53f)eYa@v|W7;^I*pHc)7hf+a0c?&C6rMld|;)(Sdo?D}<4Xf(H? z(T8-HL!s5Zwz&8iBJ45xtW1Of+zZBu@7{Tb*Mn=1b73pVGZ-szVR}(}lx6EKzM!j* zQ(>6&P+{UVWPgeZGtDb^-n=;>uI)b5*-9!51_e#AOr5E{4({4^^QK|i?w{7yEWjxW zu%W|74ISqAjAEjHR2xbrYBAwwFFfx8W8?U1luu5;?MfZ+EHg zrO#4sJRlAvGL5C$Vbj!3Y}#X_Te%%gpwps;PBUy8NkNa(ZmjwMC`Wt5rIo3)6}%g4 z8vfj;p4RWSsd!6kDxn!J4Uc+}^@}y>3&^+Up2XwC6NgK)4VMO3ib+#I)aQw}=Qo?2 zG~IuZX*rlOs5G_x9PRdqOcR%;CZDC-9`b3T)A;@|vaL+0@$pKUZJAM9L9(GUm)SMq zeevToz^{41?FpoW{2uZ*$Tsl$$B-FB`2C-d*TL&ENU4n7Yr*Ia#6o@v`3}+uK8s&F zgs2|Dk0Om#!p`dt$uxs#y1@-k@kKa{<$rzgGh7QE`~SdVQ8fs}z{4%L+y;{*V!Kx_p*I zyLHQuXe$Y^iKIh_X_j%S&yi@iZaE~{N;YhAB^$;-6^Z8j=w%Y^gAd9i+85Gcn)sIW z=_lN)-42PS1^s0@l}WV6h_Hl1go#9pvMB6mAfmQFfeiRF4Y-Q^rk^3uRuW;PnG(H4 z2W}!%(L(}F{Mn;^4uQ6k2uma!BFqqI^b><70!{qcqkiKKfwqDO%O@Qo%n)b_o-nz$ zOhoZ#L&&*F9NNQ%hS)b?}HD@1lmd}EI|ILp~4J-<}hew z0e!!lXM^xIH_RSsK*>vJQ@k(8vR?f8l}p*t>uC#v1AII3?U z!kF90A0dj%mES_KRPqxm4p%X_{|FJcUqV!q`oALkz#YZgehv8@MDez7f;m5dOd`LC zs1DUDV9p6dbpvl9+FPX)8AiT_ypQ|~1{+fr9eo z@>gH*(VEq5ZEkj;Ce6&<+e;6UR?sEen%!OAA$@qXm#coxZ5A2@ASg*U)Yi(^OsM;-wH=E+R|Rrqe}<`bH#j8tFX*TMf&BbFTkDcy!c4(_x#6e^RT!3hPqLPo(mi)=#Isg-1(4 z=%jqr(NO_-b-U<-t?G`j$Bj7&znJp}m~E;ejumqwk3KH&3m6+BZAr0NZFOs9JTC%lR>8Xg*;8-dk$&U=Xp zTkeH^89)_reif&xd~tA)!T~esQ(nyWv5}JlXNI6>1MNJ2{<;o}*oRy053bmy%M&QaFaYK|dLF zm|VU7A1CsQYJ6wV%+=OA)avQ$YjgGVm2^uhb<~(>prKRhUYI=M6`f$c7a6->V(m2aj}BmvLOrTfwF?QYUTn>yhw0v>n?^D^Us@-s1wYwi)LA?8L^)o6o`6dTRg zZ$ocAXSKO&x?5XF6JiKZ{6{a1*(j&+Xlihi$=4%~I+dzlr+mF=lX_6!J}v6`nMR}A ztCMKnuIrhkp22VgQb_r*;Tz)#XKw^ijftr|0W`T^q(RXV6}YEFCzyK z;rTyAP9OoqLM|c7tN2yqV?^;0@-xQ~)j{}6MEhqcKH_~uy5*O^@*hLykY7Rm1W_>q z?eqGCshhpI+5iA43_x+sLmXevPS#8zc|r9e6M_G3tfPpcK&GdMkJeEZ!TAjQ4*0c~ z7zhnIY^Zmd1yD)A__eFmjziH%1q#u_`6L)n1ucVde4>rB&$8oo+Bx6S`UXJW->MA@ z!D>!VNi09*AN$e<6j9lShWM(l59*6Qcw1A$^ViwPwW+D;4q&bD)mkdw*91FTIw?=4 z9St~^6?K!lxS-0}ORJv%x4lE8ACurvBzP6mPc*r0zeUJ5!Gw*9T?SXq0u$Lv_pp?568gch?mxsZ0)gdG@BQIv5=?j0pen^NsjCcJ2pzzwnVCe zf0T_M3DE9gw!>6A-55Sp5~R=x)kF%6>O^98db;isNzX9k@(6<>Bu3tRvm|Z7gH&3zeWJ0c+?L1_si}#q-&sz4i*TkQj`RY` z95};q0LDbZ_Y?0NAD`^?la??XX>Dq0nMjs;$Ov@q5xk(PXM`;}WXT|*j#P;nSDaRT zy#uEclnNR=Mb>VFf_Y5}ilRcJIWM_?Tr?#LE9SJ{G1_+DrBD zbEBNM$=I9f8{^kXSwIDlCh{uah)%4fgs!gjSFUK&_PLpX6Iy-32dUGwaRVW4Y$&GG z54sUBXE9#)C|geGxa8Uj5?@SBB`*yPa=PJ2b4xo}0e*tfR1B>1=u!OG_TEaf^F!q- zs+18T7nqx?XWM11nw_K@5tI4^rFzW;Mq{#JB1=^@Gc$9^89z8($Dn2&SgizCJ&8*c z)Mf0>%*@QrHmnjU$c-Qmwb6~0sd0|K)XD8V@G!UcH-JRd$`U^QTSR_R<@DBqdz+CL zk>xsBeY_Vh7e+24*AZdlZREco;^P$K`cueqJ;1GCMml%G+J%_(IoJ0Y&8BR#MABRj%}MA5)bpKBeq! zyHJwNqbQmkAhEK`Kp9FyOS`F%RSSNe^;0AOxKbvW-%tKMN7ws+pX>zQE7{lI%*Ozu zP&?4t)?;u}$+4=|zEMHN?LELRAL~N}f^MWhAlbDjaD2F*M24h7Wc6uFS9<8M>dER; z6KJrpuDO{A#V%!zJ^FM*Jr0@H_B0!DKlX7QX=jC!yS0brJ5iML`F(B%VM1qJ&!w=Z zNpYd0%kSU5PG2%D^bghf^J=lKzP-JLytQJftHCYwNlG z*7i6h*I8+v-$FB^dPl~rToxcO@ReD}({wc((XimRbqd5N&e7NR+|vwFB7!vfKolL7 z4qONxemc}tlJI(|k)lguVGypn2ZhE%NTi7-AfQ0umV~C~bDV}5Tq*<=_^aJPuguIe zP>fSSm*^yY1a$^VMV*WD;1f`3Ec$_Q*be|kkj_ihZo*uXM0VD1rzcyRw{WjLq=R_^ zJ{4WzB0~}OKahh(KvnXvR8?BaHs0tS=|P&VZ&11?uksER&tJGeXRHs(gLu8@`;MVzNAr2Q z^6ae_*O~)xsahjVHlR{(^9t~HZGv)~RB@3&aL`X6woc8do?OL5R=R^_ZDsQ~x%YRF zI-oJj`89j!T)B$KkVKNS#dJe0H&oY6->0gX7TBUYR%>|69mP^tl6hHGgQlCJd3v?V zE6{i+D9*t+Ds+~Zm+EQ^1J~S~GKkH(OlmhD@2+JWG7k;8{yG|YDQn*DrS>6&8(}$b zlrvVr=+_MQweKO8f1A%#r{NEf<@gKb7b_nO=r^?wH-XdAecwX5k@pbkyx%~67ZHxX z3Vy4Gjp}|WN9+Mo18(m^ei#WO+6&=#kiSN@gWvL{YG1(N@xXh^>%2;+XjZP zVJt-$*c9BnYX!Ub?2XE-(mvLs)lw*m_=LSGXuv0`lh`?))$rO&9;3Ob>&W!z?o!<_ z(m!zYnGe_20vDY<8GX7qP7`HaN;^43V%l0Zs#M!Qjj5K!Tz(=uqnzKD23E zqpU-$`V0yf-Z{zwviUCVOb$*df0?$Kb$4WfUJKNU0Lb?K^n&doO!n( zy1iXll@T*+X>Eq6tg3p#TFD9sg=1vF`G+`234QJ;+W<(904M{rmc>;=Wk@s@h?8@s zInWB!Wb#4W9wBK|ra9Iix~^0c(w_nWZIga(gri%2T1OQI7okoep$8GItFPB@&HeCF6N^6p#`r0E1!L z$`S(h^rkPP!l7bwae%-WDCZHDkbcMENcb`UH6HNKox-Ig0FgHNTjdE2vYbZLI2}O7)x-M~eCU{~Z5eTHosx@VL0fRAGosW<*XfEGi>v96} zL=wn9;U$Mm$K%SaWM+hI93H00;y@*6z2a5pz-+e=IPFF0*U34smCW)`c}5P5;tk0g zPXxOj@T(?C*bVf14PeV_5i!kyd$q=+5Q&0bKpr*Nh`ONm+{_#>J!q=kadazc3n}#! z=&hTQ&*h66V=N)56g4m|&0Xe#1nX)}hkVX9dCS~F#yl?cY%ZH)lr2?)kE&kba@B1c z92}CqU+%N8V5%;1F?1P;=CeFn=?|2WWCqF&r^;k=)6=T6EoEO<#5JYUPd$S&z(UA) z4s*wtSEeUFiI>JS9n9U~;_P6oRC?M8UQ4CZE3_QCOvz?@} zyl8-I0t-y5b3-H3kQ>efCnsNdWy~UGUb2+XqlB7g0kueU^O?2tHEqWUU7j?Z*Ru`1 zxxCj|r3$Kkr1WQg;>vx$a^UvQA=>j>^=wriLiKfqkVWJ!vKf5tL`D(C!KvPZYUpeP zo7)g^VE+tJKCkLM^dS?-|A2f4`5Q$0#co5i&sPWXBgjd_kF2K*ZBXE2N{ypGV3zbz zWgZ$(Mms;TPYJpx6O9yI)ZpaUe8bnj^{z0S4K;eJE;$G1LY}!z}o2;`lyy@RhqVD zXpr`5sqm}*;(r>i^kEq$ffq%Ib(jKZ6tGbpQ1m60YthtWBP~J%7#5sfgcJ2WxH|Qw zK9iK`s(qI(C6gD)vJIVg!i_WsBbh=>!Sx#c^aLukxbw>bz?$kasDuhhr&Cg5MA<1N zOderou0rC~PwJV5EOU#0_TsYEYf1aZOe80hxFY9Hv(b-pp=4Yovg{sa;L*TNN$LFD zlRSyNs9WPeE_%pGF9ll7J&BHz!bxxLqj_1j=kn#i<;zaU0SI{oJtuI=3qtGC$ms%e zg6}HBcP~Qr0;6FCizX6zJa%LvrJ=<@V1GS1qCz7btIue5r902iH zAvIDf*&=2V-*S5Hv^Jh~kb;L2&)}Qjrwjh&gB39c`CXz`xY_KhYTwjU5>0;4$DVMe zn;uCdlVQI`u7^Hy6NJ##!3vNmTQW*Tb=B0=3)D<4syKlVVNr0Kosh4ktRfhAHdD?5qy9&L3>1w-zytCM}hK?%;SVpwc2==%TIdk^R~ zv+T~3APMG7iU|aW%qX%e2PIOBV1R6o$K!Q(l_DjQA_#Y=E{Ulmk)l*Wu|Uz=1&Yz3 z-L}W=-3k{(R(De}X6 zUwrR>|M%Yay~m>}F6`+cn#dR1MEu!KB(tZdXTU9?=0O%2C34Bzy4yM~M0w-PeWlma z`DB$+*>^c}TWP<_9|%gxjPYwK$=1r4<&v~^wGKi8p8W;zt3ckF`*Wa!XDdM~=m8Q3 zxdnaz{3MWfLQ3G=SAdK|SOGEc$Djt@?E&8l-UD9(e+Gn$WlZvI5Cwk)Wc--u=2ak? z`QL$Wf(*tW8$dfa4ZZ_>0@#>;hpVtw3u6s`Qg5`}-{i-&JLF zbf_(lid1BsIMLmCx}&GZd{C@{X&O$P>g=Luy=>KD!ez`z+|}7}s?2psfx z9zWUB+dnW+Rk0>*dMeA4T4qNpm7mPZlc;fjr@>@xY;3GNvbM&o2`p7c7L#=)rmts_ zLSi1nWL`ez=lVc@4`&1GS035eU^eF&ueLwwe7sW1T#3AbkKsTA&@T`D}{k?zi{VBVPMAvrjOxq(@8bCVpMyOAoYqR50(t~)4cQX#qy}X( zjE`j%KmAEn*hOJ4gC97TMwG+^Y38R>iJyFvvgY2w-t7r;$6oK$9Cm=YZk|Xbe#$_x z%f0UYZSF9oMD;Rt24cJEscfS8(^C!3{-J^GD_161<(t?N(sX+(mxm?_TJnh>`kGVu z#5Y(Ymj<`K&HS1kj||V2)#D%&RlH?ChuEs+5T}{xoQXnX8*5iC%f97Dg6cj7V96l0NlH8`eHo1i!;R$@~ zu}tAxZ@ndh=VrDi^jER+QccYbv6XvC2Uk#Lbu!f)*RAm%#$^~ zEpezh%rVngupBaNZet4z$-(yXgfijpr>6&9L&F@QGDDG;IYap?b{$>F$@1fTa&vKb zRrAwCotlQGfs49?JIjob2uH>Y!Lf{>DZRI~(Zg>Xst4`jaR7`k0|S zS*s%^K>)@^#3nzjLCqDhjZKj;%QC;F%m*j$$W&oNQ2W^9Sr7J29JN5HRxe*ji&$pG*IAF!&0IkqQhwH9)z z*mu~LKk9kclE(Jtb;d#PXOX_Yzh9(1vnLO=x3^bTY;TLlNk1Z2&r;G; zn!QWrSVZn$?>upeMBwyP8%vba-k9o3hM3Gvr}mbkhBIA1+0pG9LNm3sp%ocef=1=+ zXFam;CRQ)UEaNr0PIUJVF_XbW+a^b(Vd4!?#^a$7CnklC(+v6tWTZl~Wqq@McmwwU z(drq)eu~LX=G1e|$2xmiB;xuT)6GVRoI+bTpKr;bRGCc4qGy{4fqwc}cmLqj8;(!U zG@59jl-wj!#NCoi?ptpqGwj0Lf%BuC$9r9aECunYnP&4r!7)s>M?XiwbjSR>ZWwM2-X z;N85{hJf&RCOp!nmA4=gCcRM@nUI$x9;RmBdP`E^Gc#|YaFJMQw-l!1Ne9hnkl`Bh zKAAv$R*^7Q^4422J4F_&t&&F3%1ZCmr{B17=S~hoFPK7acF@(=H;7r>t}dgro~4>l z-4wotxl^TeAAa~@PBClBeddiB*XhpFJ+8O=_|%lr5~gRm2eBvOPidudcxQ!~ny33n zZ}s#o^gx{b{oO;ZKFUo=a72^`GKmg{@N#u^be!&6=sVGIx~uc}z)=6`K_(iaU#Ch{ zN?Vz7^+ByY8sjp3ba!`0hb5QGs&hFk`YtHPf zthc(EN7T3=Lma7@vMh)G8Uu?&Xripo8SvT=1-G%4vzzQ=Wr9qJBR-T*x}p#cMiXw-(_yizXY}L?rAWV z;^2SHzdsAU0=@zM3KZxuQX(py{GxtK=I2OD!FV#Ey)}ZN??zh-pjzR zf%+nBK5c;LF;n;GNlCNvIw9RRuJv;N5!gs*p1n-0ODUyZgrq2zi_s*5b*;PO#EA}k z$ho=Na>~s%n`tAepmH1KizTsB$?oWx%Q^E z_IBx&c(}7O9$7P)(z=$rcdw2v5PuF#PEg@AGku?Aoa)eA`|#jkJHbAQHZZ}Vcs`U* zqrB%b?+-KTjS4e;ot!%MjF%Q#8lCp`#zr(1+GwA}(^y${;{1Y)ew!TX@15@HQl;7J zT)S5Os7R@N8D6Itk}(sXSY!a)yOW;Y?(Qy5Wl+vxx~Y9=aDeln_{@wwJ3n7|Rc?El zl`7{h$hbGppryC3&ov-{lId1+D@PcZ<)Nw?oUSmj)UYfpOkBLQ$Y{4#huz-P#3Pa! z5!-C-?L$X72sP&Hj4720>JUWU8RE7`CM)P{YH201LRf-(ZkuTza&ri|Vh4Vs96+wZ zdgqQdu5I_Dpel|a=PC%YwGIyt$#0J;c;yM}tc!~bW|Pru*TXV_@I(o=BQh}kH?bZu&oCp|bs!fS}`n<~hH%!;t396J=tFg@7a-RBzI9Ox%m zhGtj&kxZ&qj^>bWqkCRwF2mETpyk>?#8FZhiA$E7D+WNiZGlzz2?>3=r>B3t2Xg@_ zpY9(XqNMB~Rjky=Vq`4Nvmrb{@ZnTH^R4lcmxN2V)Q&1@iF0lAb)V+L(11aX$Vu_N z_H}h76wW@n(D-~KvE%EhuS}U;Z0hTC=5TsbXi>2dPR$lzSg-{R2h`uVPyM_*=w$t2 ztJ2{zPVlFJXz@P;{}~wI`%W+h+%gCbGe-Wqd?aAkonyH2voxP9bgoE4n)B3 zf?PQNDEM~p2KXG<0kT%oH^6@drEtC-ya0N@cY^ak)`+_fWc9VFX+}Wi<%;CJJ~ar5 z53Kq(4PtxyZ5g+8+t2Q&rXeOp*xR#> zjjhUuoXuz1-fSjFq+7Bc@!f@hUmNy%3a?B|f!dk;&DB*yt6X&(ARA>FLwQ zkDXwtyQfN~ITsgMc=IyzZ``@N#OfW>r%xU~VX(M{q+6yw+D_AWxs0WVFO6Kjd0UDO z^mLr8sdKu9&Lrk$;ePeW_jozcG^bj9`0PblwRma3)zejHwmZd@(C&=vIgg^Ke%UL_ z4Zn8oA`2BS4cg5{i@gE9$LnZsZ*6R!Wyi3wR&;^6-ZR)MD-*xl*kE-uw}$DOt?X8A zC2e^Q*> zc_I3o3P_gWl^Sig&(5WukdZ;D6WjP7S}D@)pZe_k^c*Po%o)Z~@{#6IuSS$v8IeoS z4G*qLNcQ@UB(6Rr^sGv$g0qjx*=@(e`&h{nKvE*FfxJt%a|s+IIC3 zOc<2k2i*+gD6Z`3Vc>KxTek*!A@Ctp{|q(D$|1;p7i${zvw3!QXplv1sZvooJq@vL z4GgBb+gyG@L9&t<>hprIdCRYe`9g9P@5fN-?D(|sO%8Y}>r4_|cq9{5G@ zRUmN`d0(d#uC@VL+f(wU-w7@PnG^X2co&Gi{|OKUzXZMl{txgsAOjvR0(!U_I-F*K z45e^sRqkX4gEeK)GOge3E@Y$}oAMdECK=7?*~#pA!@XG>aUnAtagV^gN2PAct|rGXnAFbGis8tu zx!y%CW{@rEtgV7Z+IoNm7Mh^lp!wz)(nnYgD&lYPUStH}`nH@(rg9Fa*AW0xJd;o! zzLV<|Q7rkB+1E(w&UJMUu=7j;bOca{(e=rm^0v0nsMn@@2Tl{hOlO+h4at(u%=Su% zGd*u@Z9_(X%*?8<fm)*Z(c}UGN`47X7;#$k?{yK*lMb12T7zyw@S`?fo#=1u}l( zD?r9j{39r#Z_7C5=RgJV^_&r)VMeG%Y;2$uoL2W_*Gcu3iW}Y=CnP(ZblJcg?~}|2NS>^l4fM2I+W@ z(Sjn1$7lhfc$^j@5!LSwXdxPXf)-${bjH8@|Fi&29HIs8w)%UY7j|~EzxRoO?=#?y zeP(EB`DatZKT9+GznL3kUa}l`q5A(aZfI{;ZSp`fI2>#^tQi^`)rJGjK$XY1LG5B+ zGK8I$Mm8Lh3}LuIZFwXa!Vm#l4oiloHhHY!*lx6~O)I5IhO5TlMhUbjBwnLrNeVNQSWLnjPf`)NE62F8ycFLWQ0zJc;O7$$#go+O|prVr(}yhS()W@+HB^gmKGVJ zlPXsxF~c9UyoV1%o4uVTliA$R zV3IG?!IJs9a5!9?NA9J2-PPS`?zY*CIr}4hFyA?{*Mfp@c)GhI7>o?|b$8qCwdt`K zJtfPdV&w>dG@xq+ZWu6^luFI^~GW}WidY5m=ngc%q9{t0snL9&CPI0 z9{b(h35NG}A}*Fh-L5(kjfTUa(7~{p=|pM*fac}~DrD$B_~3(F4zl;*PAIw?ibtc{ zkyxzy2-m--4x)|5nMsf%) z`qqRDjpx1oGau78G*FRxI;p2m4~Jv1932;u*D^H~4(&$bp=e!*fK5CSWCYF?8B>&K z$x1XPwpkJ{uPv{+y;)sh<}`Wrj+Bmb_ z!qA$w=Jun_N7YeZfBp3g{X6eG3`e8U+}2=lZ)Yzak5{)>Cu$xBgC9i>?oc8@JZ8Iv znF89RzEn@s?d zAg^83&$xH*ot>SWyl6CDZw`h{hW1FLT*m`GQXh}E1|tWB$7X77E=&LL!(i}8377G3f6!8PwrVx$#pllLNa=`u&tZ#1 zg5hv^>4zVN8f>kp!AeXeAk9lxN=|HVr|a%g+`3~k@3hpkQ}jqU>}YDRr3NZpPrMmR z;LQ=HPj4F-2!+0K`(DJnXC|a&Xs-@eH#-`SQj}(UJ(0K`jm!81iDAi;XDwWoTnvT2 zOg6>NmG6d4?bRPvHy>?m^khg&PsFZGhocSC4H9&teKqCfwKlZ2wzkVSn->`j^gZ7r zlL(lnf)Dp1JGHS|j@CFKBbXA=n4PMv(=EI#HM>nqYieq3bvPOb4pQ}C4uQ~aa5oq> z#_F3J8e3&V)0hqp*60~wg}dpQ zXiU(OAZ15QKF)^L1_wVlXy)_#r5Js#bI+F-=`SKJi}t#52IR!MzfN|)~#c8dQz+vDm9tutFzR*qId zEotiN>2opINJ<-2VY5zZlx9mAb!ZlA<<|;st3&{c)gP&W3ax3!Sg-44HKz1Sn228l z665+$AR9aLG4L;ej3a#r{u(@kz4;9I0Q@;PimmxH2!sC$SF_1EfFA|F3G_MS7{EC&1%3ehB=`gHSK#kKO@`BnF-lfrf-pBt zTw*X7tjY|BosLkbE*-1Xlsu9PrGMRK4oL~CkbpyeBnzbMk({r6Eo|B~hwOHHva|>r zv(?)j#ER_Nl!?knB%pJT53OpiHopc(cM|GLt?tZ1|5WL;tqyGiG(dbk$4z%5amkDa_TQIzmHZs zC+mX`u3|=_(c)|ZC$k|eM5rpAs?l0?LB`Bj42!mBEts54K;5xKYa+^3JkKmV8EODj zhTOyaf?zNjoe^sk3w;!gR_mitx$K0gG>C0$&?g*;y+|S)3u%=zG>M@Z^}@WFnMlZC zb2!^M*P2XKF=5Jte}kNRA-5nB30cB>kyu!I@uNd$^JMt4pn!u#?WV@sL^RsYne+7c zm`f80gUMvIT7%S$C1&!-T0TqaHbWalm8rwFW$7`Cp*TA!q>9O2+ghDSL=&^2d`(1x+q(=#pE zsZm-OyrfQ*|}|Va|LoJQsHngRdr~By}jIgqZsCvxRgv)uhZAnITGx`%5f7ho?U2$ zJ!r>G$QRtO9kJ6{y7TAH=j5YHu-7eIH02G|Qk!BR9E}Her{l9>?Z71L)2SECro9H0 z;ie3qBkC5{IGt^6QY}Wei8h29;?wjoh90orWI7Yr4(NqzvI}CdxU%EwaEUsd)9I|2 zGmXZA;aIdat0gX@tG!<8#b1!xoN-$+Qz~cW@9suo%A`wgE|(is3;i|G`i!s(8~36K zntmkV$zYH{UK3-v5i`4t*HK%*UggV5Qnop2gDAX16%y zVxqQcTBG7G5gmzmEUxWES#7-mpZ)DXA_A*~=t7}rTZ`3UZ9-?z@)MTqSS-xlU`I`5 zbe9QFERnx|8fph=I!+^9?n!3t*|XnsYw>f5y`4lfvKNjT+8k}pHfLO(V4^;UAKWU` zYpk(6k&wh!B$40PlxXG7G%F>LS$g5Z1!g`|? zY&6)yqumSV=f~sEDASx-t;USpdp8k!pXVle%NA?j*$XwsCss2pOj54+p1%;oxj2 zHoJqiQpH)$btWOxHDzbFN-JhXUL=vPuqGV79-MX$1!rf?ww+d0HcmoUgiE8wM@Lop zLY5)Detl{tihv63*cxq|gXxisQ8qSJK3Rm=nF@=h*^r^pQ89yjh%6M7^q7ebx_*Rj z28Y93x#A7896{TKI#wx$D8WF2A;!dU7^C=nRvm=sP{nx>TlQCx6J`(Er(Wt=Z9Z7ppy-OqWG5-emW=i|ipmpRu#_tAqz?Z<^ zfsdhiE`lEbvX+X(-evyfWgzdHXQO$JgU^D04Soj{qI+Hemw?Qy++z7yOAUj)Ab{u)&0@*X7kF5m@~(kqg6DOFUV4}~6*)*Y(NMi7bm zK@Am35lsm)Dc;vy+{k@xlq_ePO!f>rG#wivE^Zw_C(i|6}GqI?M7n=gm4&&uxJvcQ9ZX7{@`gPbF(55P1BSk zTVoI!kI$gBxq3Z{L^O$0AB*AdK~`dNkTPYF`HRCmgc zMqJit)M`TTaEZ^M*3?jkbP-EM+zFzGW%(x5iPB5b)E$Km2k{iEHD(SWbmr!yl8VA) z$)he(ceu2`Y_7I8SP@F?QYj@Y?B&(fb@laFf|!*Po@EHTs+pPj`s+bxGcTR%jFc8s zSJyWfOd^t`_P#2S^R<`P*48;37&5B^#-9zV!IX@k6M3W0z%a#PxtVBN_Ewhfa8w)P zN+z+JdUa;bl81+-O$N4_+M24#%BFsNCraHSX(G{RrTE+JO>!EJQVa#YyC@n4bIf6B zq^2fj#IQ@_!JZ`S_R4I81CNwi7HJW-a#4mTnJ`KQP1KUmBxz2;#f#Jm?{SLqIg;Lv zMXHu6qH5dQ8;WT?9C2ov`>aM_BBbRu6y(rSLaAD^p$Z?Yy}gzlw71*k;WZXE#d}RTx(U!%~vc z)Ae%pa>qoW%(iG=iyA0NM^NG>J5x!ymf}EKep&uj#dxV)fk3 z88l+2Q)~HU(gQJ1vvl0luGx83)*k9Cj5;fmTUw8}vnSe|PDcgu0&N=F#VwKYUeQTZ z&}W6iBF@6$LgfON2-Taiq*@|GJrxCOMBa<`h(?=aFeW<|g{04hsmzgwXz@a=$G~mm z0jlN5rYy7BiNIqQ(iR#^5#o_ZEE)>Q_)H4WG?Mzf-CdDqd*L`8p)@Nf@`y)NFOSEH zJ4B)OrV{GM67g_&!Xt;)YL@Qq#*{FNM#61&Q#_Qg*{bB+jUw=zP75?@w>vqq9KN}z zvC+|jq4%VA!DC1d26uP$B`guBlv&~-C+#q>`$}~q3_2T8(L8jXEpBl(wkP88roy^9 zYm4lLah`G_NqzbJ{JqbG2rDL#fhL1Vw&GVwT|*%avdwCW!_yI(O{@vQXQg%|q0f>A zCU!Kl{_NTLMc?P78vwIGP9TwJu{y0zo6{!k)ec4OaSctm>MNQEEi{>FM90nF^=TdG z{XLTb8Lq@HKct`ys&9|Lsj=o9Zal)Fk#kOFR-8Zo`h{Ef-j#~TFSEg>b}L~4nuJk@ zbgeIwO>v%uNK!aALB~%dGiriC=9HUPVk(M55H#6n;drs~$Y{WvF}*_x(bmKi8wv+@%BU)eFXfjA;#nuK{_FIUNmF1tcf(ufYC#7(c`Be+(>W zGI@vjUGU4G3_bR3U9|7W*#nCU^i6;HyA1T8+|VwV4keMx#SR=9D(8$wz!i zd(m`RvQk<^wbEb6uSbfkTB$BXmnO*MW-_5BX1$umvbWQ>^C(mmi(!di>I$_Zn%u5X z+|Yog$Ea4IiM8rnXeb)O6tXXCN*c9DrDUFxUn19Paxpqs9=2jFp)x`-6mLrg6)L)2@P zlt9BEi$J4CP$ORnkYbT$Wrh4Oo2(6@eB$k#m&`xvI8bI7@=?N7c^(Z1QjE)BMH9UDcr|VqzGi!zSPLKf zlj4iW6w#qV6pv74O%1$2iUo^6Rg@M|E2Xrsi0Mp#xD*T)&>KjOh}@7}*5rgjt-*L0 zE0D02psomp?5is^E;CIYb9(yH5_u8zC<>6NdqRO_@)!^Hf=LNWWXwTW^B{Vp-YC#2 z7G@Ij;lMT7PG>906^xp__&`<7&bFw+g_>e0%T#S9QJqWa_81uz+J_Yt7KuolMrkR6 zLZZU*(l1`b21;O(*ha!>ayqOnv^!^^vWV^Sq{TJA!mr`wq~m@LzHgL z!v@iKkUlcfEi2PzqfbO_dg50SzG{ZhgW+8fHZlYvD^nDkct$)3bs!Z?w2Po=AnYk# zA6*!;$Dt8liNu}*b7Ct|&%svO)Rd?vqQP})dW9BBsR&^XaRODSu^3XqidJN((55xp zW=pi09PC+6HKk9mtjM!aXwOWL8Wk(vQ`m0ePVwNf8ydnk8bdtZlDn@+)U7MR=b%QM zgC@eL8AF9StLk(caSDsRzMi`fk2henDA4jqj%alk7en=CO_HlvaE07~YJDVPYv710$h`C<%!uk=i;=T)4c16JYHhW)wsL}W z_IR@d>p#-u33oFy4=sfvlDKgqQH&@5zR6%VAHn((O^ev=#{8p4qw2r

    |}F|Br&L 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 z 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�!cnTIX2o)eH)Mz0*thF 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ʩjGzKJ6O@FZxZtoa>f3-{#G{!EohtgU-X+=N@r>Q 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�! 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 // Handle dialog input diff --git a/src/kernel/gui_ipc.h b/src/kernel/gui_ipc.h index 1446187..a6fc541 100644 --- a/src/kernel/gui_ipc.h +++ b/src/kernel/gui_ipc.h @@ -23,6 +23,7 @@ #define GUI_EVENT_MOUSE_DOWN 6 #define GUI_EVENT_MOUSE_UP 7 #define GUI_EVENT_MOUSE_MOVE 8 +#define GUI_EVENT_KEYUP 10 typedef struct { int type; diff --git a/src/kernel/ps2.c b/src/kernel/ps2.c index b8a8535..1a8c943 100644 --- a/src/kernel/ps2.c +++ b/src/kernel/ps2.c @@ -28,21 +28,20 @@ static bool shift_pressed = false; static bool ctrl_pressed = false; static bool extended_scancode = false; -// Simple US QWERTY Scan Code Set 1 Map static char scancode_map[128] = { 0, 27, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', '\b', '\t', 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '[', ']', '\n', - 0, 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', '\'', '`', 0, + 21, 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', '\'', '`', 0, '\\', 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '/', 0, '*', - 0, ' ', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 22, ' ', 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static char scancode_map_shift[128] = { 0, 27, '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '\b', '\t', 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', '{', '}', '\n', - 0, 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', ':', '"', '~', 0, + 21, 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', ':', '"', '~', 0, '|', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', '<', '>', '?', 0, '*', - 0, ' ', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 22, ' ', 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; uint64_t keyboard_handler(registers_t *regs) { @@ -81,24 +80,34 @@ uint64_t keyboard_handler(registers_t *regs) { shift_pressed = false; } else if (!(scancode & 0x80)) { // Key Press (not release) if (extended_scancode) { - // Extended scancode - arrow keys and special keys extended_scancode = false; switch (scancode) { - case 0x48: wm_handle_key(17); break; // Up arrow - case 0x50: wm_handle_key(18); break; // Down arrow - case 0x4B: wm_handle_key(19); break; // Left arrow - case 0x4D: wm_handle_key(20); break; // Right arrow + case 0x48: wm_handle_key(17, true); break; // Up arrow + case 0x50: wm_handle_key(18, true); break; // Down arrow + case 0x4B: wm_handle_key(19, true); break; // Left arrow + case 0x4D: wm_handle_key(20, true); break; // Right arrow } } else { - // Regular scancode char c = shift_pressed ? scancode_map_shift[scancode] : scancode_map[scancode]; if (c) { - wm_handle_key(c); + wm_handle_key(c, true); + } + } + } else if (scancode & 0x80) { // Key release + if (extended_scancode) { + extended_scancode = false; + switch (scancode & 0x7F) { // Strip the release bit + case 0x48: wm_handle_key(17, false); break; // Up arrow + case 0x50: wm_handle_key(18, false); break; // Down arrow + case 0x4B: wm_handle_key(19, false); break; // Left arrow + case 0x4D: wm_handle_key(20, false); break; // Right arrow + } + } else { + char c = shift_pressed ? scancode_map_shift[scancode & 0x7F] : scancode_map[scancode & 0x7F]; + if (c) { + wm_handle_key(c, false); } } - } else if (scancode & 0x80) { - // Key release - extended_scancode = false; } outb(0x20, 0x20); // EOI diff --git a/src/kernel/syscall.c b/src/kernel/syscall.c index f89c05c..0fd740e 100644 --- a/src/kernel/syscall.c +++ b/src/kernel/syscall.c @@ -125,10 +125,10 @@ void syscall_send_mouse_up_event(Window *win, int x, int y) { user_window_mouse_up(win, x, y); } -static void user_window_key(Window *win, char c) { +static void user_window_key(Window *win, char c, bool pressed) { process_t *proc = (process_t *)win->data; if (!proc) return; - gui_event_t ev = { .type = GUI_EVENT_KEY, .arg1 = (int)c }; + gui_event_t ev = { .type = pressed ? GUI_EVENT_KEY : GUI_EVENT_KEYUP, .arg1 = (int)c }; process_push_gui_event(proc, &ev); } diff --git a/src/kernel/userland/Makefile b/src/kernel/userland/Makefile index d7430fd..2f54c1d 100644 --- a/src/kernel/userland/Makefile +++ b/src/kernel/userland/Makefile @@ -16,7 +16,10 @@ LIBC_OBJS = $(patsubst libc/%.c, $(BIN_DIR)/%.o, $(LIBC_SOURCES)) $(BIN_DIR)/crt APP_SOURCES = $(filter-out nanojpeg.c, $(wildcard *.c)) APP_ELFS = $(patsubst %.c, $(BIN_DIR)/%.elf, $(APP_SOURCES)) -all: $(BIN_DIR) $(APP_ELFS) +DOOM_SOURCES = $(wildcard doom/*.c) +DOOM_OBJS = $(patsubst doom/%.c, $(BIN_DIR)/%.o, $(DOOM_SOURCES)) + +all: $(BIN_DIR) $(APP_ELFS) $(BIN_DIR)/doom.elf $(BIN_DIR): mkdir -p $(BIN_DIR) @@ -42,6 +45,12 @@ $(BIN_DIR)/settings.elf: $(LIBC_OBJS) $(BIN_DIR)/settings.o $(BIN_DIR)/nanojpeg. $(BIN_DIR)/browser.elf: $(LIBC_OBJS) $(BIN_DIR)/browser.o $(BIN_DIR)/nanojpeg.o $(LD) $(LDFLAGS) $^ -o $@ +$(BIN_DIR)/%.o: doom/%.c + $(CC) $(CFLAGS) -Wno-error -Idoom -c $< -o $@ + +$(BIN_DIR)/doom.elf: $(LIBC_OBJS) $(DOOM_OBJS) $(BIN_DIR)/nanojpeg.o + $(LD) $(LDFLAGS) $^ -o $@ + $(BIN_DIR)/%.elf: $(LIBC_OBJS) $(BIN_DIR)/%.o $(LD) $(LDFLAGS) $^ -o $@ diff --git a/src/kernel/userland/browser.c b/src/kernel/userland/browser.c index 514f3a1..1e71051 100644 --- a/src/kernel/userland/browser.c +++ b/src/kernel/userland/browser.c @@ -1197,7 +1197,8 @@ int main(int argc, char **argv) { } } if (!found) { focused_element = -1; needs_repaint = true; } - } else if (ev.type == GUI_EVENT_KEY) { + } else if (ev.type == GUI_EVENT_KEY || ev.type == GUI_EVENT_KEYUP) { + if (ev.type == GUI_EVENT_KEYUP) continue; char c = (char)ev.arg1; if (focused_element == -1) { if (c == 13 || c == 10) { diff --git a/src/kernel/userland/doom/Makefile b/src/kernel/userland/doom/Makefile new file mode 100644 index 0000000..503e0dc --- /dev/null +++ b/src/kernel/userland/doom/Makefile @@ -0,0 +1,54 @@ +################################################################ +# +# $Id:$ +# +# $Log:$ +# + +ifeq ($(V),1) + VB='' +else + VB=@ +endif + + +CC=clang # gcc or g++ +CFLAGS+=-ggdb3 -Os +LDFLAGS+=-Wl,--gc-sections +CFLAGS+=-ggdb3 -Wall -DNORMALUNIX -DLINUX -DSNDSERV -D_DEFAULT_SOURCE # -DUSEASM +LIBS+=-lm -lc -lX11 + +# subdirectory for objects +OBJDIR=build +OUTPUT=doomgeneric + +SRC_DOOM = dummy.o am_map.o doomdef.o doomstat.o dstrings.o d_event.o d_items.o d_iwad.o d_loop.o d_main.o d_mode.o d_net.o f_finale.o f_wipe.o g_game.o hu_lib.o hu_stuff.o info.o i_cdmus.o i_endoom.o i_joystick.o i_scale.o i_sound.o i_system.o i_timer.o memio.o m_argv.o m_bbox.o m_cheat.o m_config.o m_controls.o m_fixed.o m_menu.o m_misc.o m_random.o p_ceilng.o p_doors.o p_enemy.o p_floor.o p_inter.o p_lights.o p_map.o p_maputl.o p_mobj.o p_plats.o p_pspr.o p_saveg.o p_setup.o p_sight.o p_spec.o p_switch.o p_telept.o p_tick.o p_user.o r_bsp.o r_data.o r_draw.o r_main.o r_plane.o r_segs.o r_sky.o r_things.o sha1.o sounds.o statdump.o st_lib.o st_stuff.o s_sound.o tables.o v_video.o wi_stuff.o w_checksum.o w_file.o w_main.o w_wad.o z_zone.o w_file_stdc.o i_input.o i_video.o doomgeneric.o doomgeneric_xlib.o +OBJS += $(addprefix $(OBJDIR)/, $(SRC_DOOM)) + +all: $(OUTPUT) + +clean: + rm -rf $(OBJDIR) + rm -f $(OUTPUT) + rm -f $(OUTPUT).gdb + rm -f $(OUTPUT).map + +$(OUTPUT): $(OBJS) + @echo [Linking $@] + $(VB)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) \ + -o $(OUTPUT) $(LIBS) -Wl,-Map,$(OUTPUT).map + @echo [Size] + -$(CROSS_COMPILE)size $(OUTPUT) + +$(OBJS): | $(OBJDIR) + +$(OBJDIR): + mkdir -p $(OBJDIR) + +$(OBJDIR)/%.o: %.c + @echo [Compiling $<] + $(VB)$(CC) $(CFLAGS) -c $< -o $@ + +print: + @echo OBJS: $(OBJS) + diff --git a/src/kernel/userland/doom/Makefile.djgpp b/src/kernel/userland/doom/Makefile.djgpp new file mode 100644 index 0000000..1b85ddb --- /dev/null +++ b/src/kernel/userland/doom/Makefile.djgpp @@ -0,0 +1,71 @@ +################################################################ +# +# $Id:$ +# +# $Log:$ +# + +.PHONY: all clean print + +.SUFFIXES: + +ifeq ($(V),1) + VB='' +else + VB=@ +endif + + + +CC:=i386-pc-msdosdjgpp-gcc +OPTFLAGS:=-O3 +CFLAGS+=-std=gnu89 +CFLAGS+=$(OPTFLAGS) +CFLAGS+=-Werror +CFLAGS+=-DDOOMGENERIC_RESX=320 -DDOOMGENERIC_RESY=200 +CFLAGS+=-DFEATURE_SOUND=1 +CFLAGS+=-DCMAP256 + +# link time optimization, no significant effect on performance +# CFLAGS+=-flto +# LDFLAGS+=-flto $(OPTFLAGS) + +# debug +# CFLAGS+=-g +# LDFLAGS+=-g + +LIBS+=-lalleg +#LIBS+=-lalld # debug library + +# subdirectory for objects +OBJDIR:=djgpp +OUTPUT:=doomgen.exe + +SRC_DOOM = dummy.o am_map.o doomdef.o doomstat.o dstrings.o d_event.o d_items.o d_iwad.o d_loop.o d_main.o d_mode.o d_net.o f_finale.o f_wipe.o g_game.o hu_lib.o hu_stuff.o info.o i_cdmus.o i_endoom.o i_joystick.o i_scale.o i_sound.o i_system.o i_timer.o memio.o m_argv.o m_bbox.o m_cheat.o m_config.o m_controls.o m_fixed.o m_menu.o m_misc.o m_random.o p_ceilng.o p_doors.o p_enemy.o p_floor.o p_inter.o p_lights.o p_map.o p_maputl.o p_mobj.o p_plats.o p_pspr.o p_saveg.o p_setup.o p_sight.o p_spec.o p_switch.o p_telept.o p_tick.o p_user.o r_bsp.o r_data.o r_draw.o r_main.o r_plane.o r_segs.o r_sky.o r_things.o sha1.o sounds.o statdump.o st_lib.o st_stuff.o s_sound.o tables.o v_video.o wi_stuff.o w_checksum.o w_file.o w_main.o w_wad.o z_zone.o w_file_stdc.o i_input.o i_video.o doomgeneric.o doomgeneric_allegro.o mus2mid.o i_allegromusic.o i_allegrosound.o +OBJS += $(addprefix $(OBJDIR)/, $(SRC_DOOM)) + +all: $(OUTPUT) + +clean: + rm -rf $(OBJDIR) + rm -f $(OUTPUT) + rm -f $(OUTPUT).gdb + rm -f $(OUTPUT).map + +$(OUTPUT): $(OBJS) + @echo [Linking $@] + $(VB)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) \ + -o $(OUTPUT) $(LIBS) + +$(OBJS): | $(OBJDIR) + +$(OBJDIR): + mkdir -p $(OBJDIR) + +$(OBJDIR)/%.o: %.c + @echo [Compiling $<] + $(VB)$(CC) $(CFLAGS) -c $< -o $@ + +print: + @echo OBJS: $(OBJS) + diff --git a/src/kernel/userland/doom/Makefile.emscripten b/src/kernel/userland/doom/Makefile.emscripten new file mode 100644 index 0000000..786a85a --- /dev/null +++ b/src/kernel/userland/doom/Makefile.emscripten @@ -0,0 +1,50 @@ + +ifeq ($(V),1) + VB='' +else + VB=@ +endif + + +SDL_CFLAGS = `sdl2-config --cflags` +SDL_LIBS = `sdl2-config --cflags --libs` -lSDL2_mixer + + +CC=emcc +CFLAGS+=-DFEATURE_SOUND -s SDL2_MIXER_FORMATS='["mid"]' $(SDL_CFLAGS) +LDFLAGS+=--preload-file doom1.wad #--preload-file timidity.cfg --preload-file dgguspat +LIBS+=-lm -lc $(SDL_LIBS) + +# subdirectory for objects +OBJDIR=build +OUTPUT=doomgeneric + +SRC_DOOM = dummy.o am_map.o doomdef.o doomstat.o dstrings.o d_event.o d_items.o d_iwad.o d_loop.o d_main.o d_mode.o d_net.o f_finale.o f_wipe.o g_game.o hu_lib.o hu_stuff.o info.o i_cdmus.o i_endoom.o i_joystick.o i_scale.o i_sound.o i_system.o i_timer.o memio.o m_argv.o m_bbox.o m_cheat.o m_config.o m_controls.o m_fixed.o m_menu.o m_misc.o m_random.o p_ceilng.o p_doors.o p_enemy.o p_floor.o p_inter.o p_lights.o p_map.o p_maputl.o p_mobj.o p_plats.o p_pspr.o p_saveg.o p_setup.o p_sight.o p_spec.o p_switch.o p_telept.o p_tick.o p_user.o r_bsp.o r_data.o r_draw.o r_main.o r_plane.o r_segs.o r_sky.o r_things.o sha1.o sounds.o statdump.o st_lib.o st_stuff.o s_sound.o tables.o v_video.o wi_stuff.o w_checksum.o w_file.o w_main.o w_wad.o z_zone.o w_file_stdc.o i_input.o i_video.o doomgeneric.o doomgeneric_emscripten.o mus2mid.o i_sdlmusic.o i_sdlsound.o +OBJS += $(addprefix $(OBJDIR)/, $(SRC_DOOM)) + +all: $(OUTPUT) + +clean: + rm -rf $(OBJDIR) + rm -f $(OUTPUT).html + rm -f $(OUTPUT).js + rm -f $(OUTPUT).data + rm -f $(OUTPUT).wasm + +$(OUTPUT): $(OBJS) + @echo [Linking $@] + $(VB)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) \ + -o $(OUTPUT).html $(LIBS) + +$(OBJS): | $(OBJDIR) + +$(OBJDIR): + mkdir -p $(OBJDIR) + +$(OBJDIR)/%.o: %.c + @echo [Compiling $<] + $(VB)$(CC) $(CFLAGS) -c $< -o $@ + +print: + @echo OBJS: $(OBJS) + diff --git a/src/kernel/userland/doom/Makefile.freebsd b/src/kernel/userland/doom/Makefile.freebsd new file mode 100644 index 0000000..13e8bb0 --- /dev/null +++ b/src/kernel/userland/doom/Makefile.freebsd @@ -0,0 +1,50 @@ +################################################################ +# +# $Id:$ +# +# $Log:$ +# + +VB=@ + + +CC=clang # gcc or g++ +CFLAGS+=-ggdb3 -Os -I/usr/local/include +LDFLAGS+=-Wl,--gc-sections -L/usr/local/lib +CFLAGS+=-ggdb3 -Wall -DNORMALUNIX -DLINUX -DSNDSERV # -DUSEASM +LIBS+=-lm -lc -lX11 + +# subdirectory for objects +OBJDIR=build +OUTPUT=doomgeneric + +SRC_DOOM = dummy.o am_map.o doomdef.o doomstat.o dstrings.o d_event.o d_items.o d_iwad.o d_loop.o d_main.o d_mode.o d_net.o f_finale.o f_wipe.o g_game.o hu_lib.o hu_stuff.o info.o i_cdmus.o i_endoom.o i_joystick.o i_scale.o i_sound.o i_system.o i_timer.o memio.o m_argv.o m_bbox.o m_cheat.o m_config.o m_controls.o m_fixed.o m_menu.o m_misc.o m_random.o p_ceilng.o p_doors.o p_enemy.o p_floor.o p_inter.o p_lights.o p_map.o p_maputl.o p_mobj.o p_plats.o p_pspr.o p_saveg.o p_setup.o p_sight.o p_spec.o p_switch.o p_telept.o p_tick.o p_user.o r_bsp.o r_data.o r_draw.o r_main.o r_plane.o r_segs.o r_sky.o r_things.o sha1.o sounds.o statdump.o st_lib.o st_stuff.o s_sound.o tables.o v_video.o wi_stuff.o w_checksum.o w_file.o w_main.o w_wad.o z_zone.o w_file_stdc.o i_input.o i_video.o doomgeneric.o doomgeneric_xlib.o +OBJS += $(addprefix $(OBJDIR)/, $(SRC_DOOM)) + +all: $(OUTPUT) + +clean: + rm -rf $(OBJDIR) + rm -f $(OUTPUT) + rm -f $(OUTPUT).gdb + rm -f $(OUTPUT).map + +$(OUTPUT): $(OBJS) + @echo [Linking $@] + $(VB)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) \ + -o $(OUTPUT) $(LIBS) -Wl,-Map,$(OUTPUT).map + @echo [Size] + -$(CROSS_COMPILE)size $(OUTPUT) + +$(OBJS): | $(OBJDIR) + +$(OBJDIR): + mkdir -p $(OBJDIR) + +$(OBJDIR)/%.o: %.c + @echo [Compiling $<] + $(VB)$(CC) $(CFLAGS) -c $< -o $@ + +print: + @echo OBJS: $(OBJS) + diff --git a/src/kernel/userland/doom/Makefile.linuxvt b/src/kernel/userland/doom/Makefile.linuxvt new file mode 100644 index 0000000..6340560 --- /dev/null +++ b/src/kernel/userland/doom/Makefile.linuxvt @@ -0,0 +1,51 @@ +################################################################ +# +# $Id:$ +# +# $Log:$ +# + +ifeq ($(V),1) + VB='' +else + VB=@ +endif + +CC=clang # gcc or g++ +CFLAGS+=-ggdb3 -Os +LDFLAGS+=-Wl,--gc-sections +CFLAGS+=-ggdb3 -Wall -DNORMALUNIX -DLINUX -DSNDSERV -D_DEFAULT_SOURCE # -DUSEASM +LIBS+=-lm -lc + +# subdirectory for objects +OBJDIR=build +OUTPUT=doomgeneric + +SRC_DOOM = dummy.o am_map.o doomdef.o doomstat.o dstrings.o d_event.o d_items.o d_iwad.o d_loop.o d_main.o d_mode.o d_net.o f_finale.o f_wipe.o g_game.o hu_lib.o hu_stuff.o info.o i_cdmus.o i_endoom.o i_joystick.o i_scale.o i_sound.o i_system.o i_timer.o memio.o m_argv.o m_bbox.o m_cheat.o m_config.o m_controls.o m_fixed.o m_menu.o m_misc.o m_random.o p_ceilng.o p_doors.o p_enemy.o p_floor.o p_inter.o p_lights.o p_map.o p_maputl.o p_mobj.o p_plats.o p_pspr.o p_saveg.o p_setup.o p_sight.o p_spec.o p_switch.o p_telept.o p_tick.o p_user.o r_bsp.o r_data.o r_draw.o r_main.o r_plane.o r_segs.o r_sky.o r_things.o sha1.o sounds.o statdump.o st_lib.o st_stuff.o s_sound.o tables.o v_video.o wi_stuff.o w_checksum.o w_file.o w_main.o w_wad.o z_zone.o w_file_stdc.o i_input.o i_video.o doomgeneric.o doomgeneric_linuxvt.o mus2mid.o +OBJS += $(addprefix $(OBJDIR)/, $(SRC_DOOM)) + +all: $(OUTPUT) + +clean: + rm -rf $(OBJDIR) + rm -f $(OUTPUT) + rm -f $(OUTPUT).gdb + rm -f $(OUTPUT).map + +$(OUTPUT): $(OBJS) + @echo [Linking $@] + $(VB)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) \ + -o $(OUTPUT) $(LIBS) + +$(OBJS): | $(OBJDIR) + +$(OBJDIR): + mkdir -p $(OBJDIR) + +$(OBJDIR)/%.o: %.c + @echo [Compiling $<] + $(VB)$(CC) $(CFLAGS) -c $< -o $@ + +print: + @echo OBJS: $(OBJS) + diff --git a/src/kernel/userland/doom/Makefile.sdl b/src/kernel/userland/doom/Makefile.sdl new file mode 100644 index 0000000..38402da --- /dev/null +++ b/src/kernel/userland/doom/Makefile.sdl @@ -0,0 +1,55 @@ +################################################################ +# +# $Id:$ +# +# $Log:$ +# + +ifeq ($(V),1) + VB='' +else + VB=@ +endif + + +SDL_CFLAGS = `sdl2-config --cflags` +SDL_LIBS = `sdl2-config --cflags --libs` -lSDL2_mixer + + +CC=clang # gcc or g++ +CFLAGS+=-DFEATURE_SOUND $(SDL_CFLAGS) +LDFLAGS+= +LIBS+=-lm -lc $(SDL_LIBS) + +# subdirectory for objects +OBJDIR=build +OUTPUT=doomgeneric + +SRC_DOOM = dummy.o am_map.o doomdef.o doomstat.o dstrings.o d_event.o d_items.o d_iwad.o d_loop.o d_main.o d_mode.o d_net.o f_finale.o f_wipe.o g_game.o hu_lib.o hu_stuff.o info.o i_cdmus.o i_endoom.o i_joystick.o i_scale.o i_sound.o i_system.o i_timer.o memio.o m_argv.o m_bbox.o m_cheat.o m_config.o m_controls.o m_fixed.o m_menu.o m_misc.o m_random.o p_ceilng.o p_doors.o p_enemy.o p_floor.o p_inter.o p_lights.o p_map.o p_maputl.o p_mobj.o p_plats.o p_pspr.o p_saveg.o p_setup.o p_sight.o p_spec.o p_switch.o p_telept.o p_tick.o p_user.o r_bsp.o r_data.o r_draw.o r_main.o r_plane.o r_segs.o r_sky.o r_things.o sha1.o sounds.o statdump.o st_lib.o st_stuff.o s_sound.o tables.o v_video.o wi_stuff.o w_checksum.o w_file.o w_main.o w_wad.o z_zone.o w_file_stdc.o i_input.o i_video.o doomgeneric.o doomgeneric_sdl.o mus2mid.o i_sdlmusic.o i_sdlsound.o +OBJS += $(addprefix $(OBJDIR)/, $(SRC_DOOM)) + +all: $(OUTPUT) + +clean: + rm -rf $(OBJDIR) + rm -f $(OUTPUT) + rm -f $(OUTPUT).gdb + rm -f $(OUTPUT).map + +$(OUTPUT): $(OBJS) + @echo [Linking $@] + $(VB)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) \ + -o $(OUTPUT) $(LIBS) + +$(OBJS): | $(OBJDIR) + +$(OBJDIR): + mkdir -p $(OBJDIR) + +$(OBJDIR)/%.o: %.c + @echo [Compiling $<] + $(VB)$(CC) $(CFLAGS) -c $< -o $@ + +print: + @echo OBJS: $(OBJS) + diff --git a/src/kernel/userland/doom/Makefile.soso b/src/kernel/userland/doom/Makefile.soso new file mode 100644 index 0000000..5adc23c --- /dev/null +++ b/src/kernel/userland/doom/Makefile.soso @@ -0,0 +1,53 @@ +################################################################ +# +# $Id:$ +# +# $Log:$ +# + +ifeq ($(V),1) + VB='' +else + VB=@ +endif + + +CC=musl-clang # gcc or g++ +CFLAGS+=-O3 +LDFLAGS+=-static +CFLAGS+=-Wall -DNORMALUNIX -DLINUX -DSNDSERV -D_DEFAULT_SOURCE # -DUSEASM +LIBS+= + +# subdirectory for objects +OBJDIR=build +OUTPUT=fbdoom + +SRC_DOOM = dummy.o am_map.o doomdef.o doomstat.o dstrings.o d_event.o d_items.o d_iwad.o d_loop.o d_main.o d_mode.o d_net.o f_finale.o f_wipe.o g_game.o hu_lib.o hu_stuff.o info.o i_cdmus.o i_endoom.o i_joystick.o i_scale.o i_sound.o i_system.o i_timer.o memio.o m_argv.o m_bbox.o m_cheat.o m_config.o m_controls.o m_fixed.o m_menu.o m_misc.o m_random.o p_ceilng.o p_doors.o p_enemy.o p_floor.o p_inter.o p_lights.o p_map.o p_maputl.o p_mobj.o p_plats.o p_pspr.o p_saveg.o p_setup.o p_sight.o p_spec.o p_switch.o p_telept.o p_tick.o p_user.o r_bsp.o r_data.o r_draw.o r_main.o r_plane.o r_segs.o r_sky.o r_things.o sha1.o sounds.o statdump.o st_lib.o st_stuff.o s_sound.o tables.o v_video.o wi_stuff.o w_checksum.o w_file.o w_main.o w_wad.o z_zone.o w_file_stdc.o i_input.o i_video.o doomgeneric.o doomgeneric_soso.o +OBJS += $(addprefix $(OBJDIR)/, $(SRC_DOOM)) + +all: $(OUTPUT) + +clean: + rm -rf $(OBJDIR) + rm -f $(OUTPUT) + rm -f $(OUTPUT).gdb + rm -f $(OUTPUT).map + +$(OUTPUT): $(OBJS) + @echo [Linking $@] + musl-clang -v $(LDFLAGS) $(OBJS) -o $(OUTPUT) $(LIBS) + @echo [Size] + -$(CROSS_COMPILE)size $(OUTPUT) + +$(OBJS): | $(OBJDIR) + +$(OBJDIR): + mkdir -p $(OBJDIR) + +$(OBJDIR)/%.o: %.c + @echo [Compiling $<] + $(VB)$(CC) $(CFLAGS) -c $< -o $@ + +print: + @echo OBJS: $(OBJS) + diff --git a/src/kernel/userland/doom/Makefile.sosox b/src/kernel/userland/doom/Makefile.sosox new file mode 100644 index 0000000..035a061 --- /dev/null +++ b/src/kernel/userland/doom/Makefile.sosox @@ -0,0 +1,54 @@ +################################################################ +# +# $Id:$ +# +# $Log:$ +# + +ifeq ($(V),1) + VB='' +else + VB=@ +endif + + +CC=/opt/musl-i386-clang-debug/bin/musl-clang-debug # gcc or g++ +CFLAGS+=-g +LDFLAGS+=-static +CFLAGS+=-I../../microwindows/src/include -Wall -DNORMALUNIX -DLINUX -DSNDSERV -D_DEFAULT_SOURCE # -DUSEASM +LIBS+=-L../../microwindows/src/lib -lnano-X + +# subdirectory for objects +OBJDIR=build +OUTPUT=doom + +SRC_DOOM = dummy.o am_map.o doomdef.o doomstat.o dstrings.o d_event.o d_items.o d_iwad.o d_loop.o d_main.o d_mode.o d_net.o f_finale.o f_wipe.o g_game.o hu_lib.o hu_stuff.o info.o i_cdmus.o i_endoom.o i_joystick.o i_scale.o i_sound.o i_system.o i_timer.o memio.o m_argv.o m_bbox.o m_cheat.o m_config.o m_controls.o m_fixed.o m_menu.o m_misc.o m_random.o p_ceilng.o p_doors.o p_enemy.o p_floor.o p_inter.o p_lights.o p_map.o p_maputl.o p_mobj.o p_plats.o p_pspr.o p_saveg.o p_setup.o p_sight.o p_spec.o p_switch.o p_telept.o p_tick.o p_user.o r_bsp.o r_data.o r_draw.o r_main.o r_plane.o r_segs.o r_sky.o r_things.o sha1.o sounds.o statdump.o st_lib.o st_stuff.o s_sound.o tables.o v_video.o wi_stuff.o w_checksum.o w_file.o w_main.o w_wad.o z_zone.o w_file_stdc.o i_input.o i_video.o doomgeneric.o doomgeneric_sosox.o +OBJS += $(addprefix $(OBJDIR)/, $(SRC_DOOM)) + +all: $(OUTPUT) + +clean: + rm -rf $(OBJDIR) + rm -f $(OUTPUT) + rm -f $(OUTPUT).gdb + rm -f $(OUTPUT).map + +$(OUTPUT): $(OBJS) + @echo [Linking $@] + /opt/musl-i386-clang-debug/bin/musl-clang-debug -v $(LDFLAGS) $(OBJS) -o $(OUTPUT) $(LIBS) + @echo [Size] + -$(CROSS_COMPILE)size $(OUTPUT) + cp $(OUTPUT) ~/git/soso/userspace/bin/ + +$(OBJS): | $(OBJDIR) + +$(OBJDIR): + mkdir -p $(OBJDIR) + +$(OBJDIR)/%.o: %.c + @echo [Compiling $<] + $(VB)$(CC) $(CFLAGS) -c $< -o $@ + +print: + @echo OBJS: $(OBJS) + diff --git a/src/kernel/userland/doom/am_map.c b/src/kernel/userland/doom/am_map.c new file mode 100644 index 0000000..d3d504e --- /dev/null +++ b/src/kernel/userland/doom/am_map.c @@ -0,0 +1,1355 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// +// DESCRIPTION: the automap code +// + + +#include + +#include "deh_main.h" + +#include "z_zone.h" +#include "doomkeys.h" +#include "doomdef.h" +#include "st_stuff.h" +#include "p_local.h" +#include "w_wad.h" + +#include "m_cheat.h" +#include "m_controls.h" +#include "m_misc.h" +#include "i_system.h" + +// Needs access to LFB. +#include "v_video.h" + +// State. +#include "doomstat.h" +#include "r_state.h" + +// Data. +#include "dstrings.h" + +#include "am_map.h" + + +// For use if I do walls with outsides/insides +#define REDS (256-5*16) +#define REDRANGE 16 +#define BLUES (256-4*16+8) +#define BLUERANGE 8 +#define GREENS (7*16) +#define GREENRANGE 16 +#define GRAYS (6*16) +#define GRAYSRANGE 16 +#define BROWNS (4*16) +#define BROWNRANGE 16 +#define YELLOWS (256-32+7) +#define YELLOWRANGE 1 +#define BLACK 0 +#define WHITE (256-47) + +// Automap colors +#define BACKGROUND BLACK +#define YOURCOLORS WHITE +#define YOURRANGE 0 +#define WALLCOLORS REDS +#define WALLRANGE REDRANGE +#define TSWALLCOLORS GRAYS +#define TSWALLRANGE GRAYSRANGE +#define FDWALLCOLORS BROWNS +#define FDWALLRANGE BROWNRANGE +#define CDWALLCOLORS YELLOWS +#define CDWALLRANGE YELLOWRANGE +#define THINGCOLORS GREENS +#define THINGRANGE GREENRANGE +#define SECRETWALLCOLORS WALLCOLORS +#define SECRETWALLRANGE WALLRANGE +#define GRIDCOLORS (GRAYS + GRAYSRANGE/2) +#define GRIDRANGE 0 +#define XHAIRCOLORS GRAYS + +// drawing stuff + +#define AM_NUMMARKPOINTS 10 + +// scale on entry +#define INITSCALEMTOF (.2*FRACUNIT) +// how much the automap moves window per tic in frame-buffer coordinates +// moves 140 pixels in 1 second +#define F_PANINC 4 +// how much zoom-in per tic +// goes to 2x in 1 second +#define M_ZOOMIN ((int) (1.02*FRACUNIT)) +// how much zoom-out per tic +// pulls out to 0.5x in 1 second +#define M_ZOOMOUT ((int) (FRACUNIT/1.02)) + +// translates between frame-buffer and map distances +#define FTOM(x) FixedMul(((x)<<16),scale_ftom) +#define MTOF(x) (FixedMul((x),scale_mtof)>>16) +// translates between frame-buffer and map coordinates +#define CXMTOF(x) (f_x + MTOF((x)-m_x)) +#define CYMTOF(y) (f_y + (f_h - MTOF((y)-m_y))) + +// the following is crap +#define LINE_NEVERSEE ML_DONTDRAW + +typedef struct +{ + int x, y; +} fpoint_t; + +typedef struct +{ + fpoint_t a, b; +} fline_t; + +typedef struct +{ + fixed_t x,y; +} mpoint_t; + +typedef struct +{ + mpoint_t a, b; +} mline_t; + +typedef struct +{ + fixed_t slp, islp; +} islope_t; + + + +// +// The vector graphics for the automap. +// A line drawing of the player pointing right, +// starting from the middle. +// +#define R ((8*PLAYERRADIUS)/7) +mline_t player_arrow[] = { + { { -R+R/8, 0 }, { R, 0 } }, // ----- + { { R, 0 }, { R-R/2, R/4 } }, // -----> + { { R, 0 }, { R-R/2, -R/4 } }, + { { -R+R/8, 0 }, { -R-R/8, R/4 } }, // >----> + { { -R+R/8, 0 }, { -R-R/8, -R/4 } }, + { { -R+3*R/8, 0 }, { -R+R/8, R/4 } }, // >>---> + { { -R+3*R/8, 0 }, { -R+R/8, -R/4 } } +}; +#undef R + +#define R ((8*PLAYERRADIUS)/7) +mline_t cheat_player_arrow[] = { + { { -R+R/8, 0 }, { R, 0 } }, // ----- + { { R, 0 }, { R-R/2, R/6 } }, // -----> + { { R, 0 }, { R-R/2, -R/6 } }, + { { -R+R/8, 0 }, { -R-R/8, R/6 } }, // >-----> + { { -R+R/8, 0 }, { -R-R/8, -R/6 } }, + { { -R+3*R/8, 0 }, { -R+R/8, R/6 } }, // >>-----> + { { -R+3*R/8, 0 }, { -R+R/8, -R/6 } }, + { { -R/2, 0 }, { -R/2, -R/6 } }, // >>-d---> + { { -R/2, -R/6 }, { -R/2+R/6, -R/6 } }, + { { -R/2+R/6, -R/6 }, { -R/2+R/6, R/4 } }, + { { -R/6, 0 }, { -R/6, -R/6 } }, // >>-dd--> + { { -R/6, -R/6 }, { 0, -R/6 } }, + { { 0, -R/6 }, { 0, R/4 } }, + { { R/6, R/4 }, { R/6, -R/7 } }, // >>-ddt-> + { { R/6, -R/7 }, { R/6+R/32, -R/7-R/32 } }, + { { R/6+R/32, -R/7-R/32 }, { R/6+R/10, -R/7 } } +}; +#undef R + +#define R (FRACUNIT) +mline_t triangle_guy[] = { + { { (fixed_t)(-.867*R), (fixed_t)(-.5*R) }, { (fixed_t)(.867*R ), (fixed_t)(-.5*R) } }, + { { (fixed_t)(.867*R ), (fixed_t)(-.5*R) }, { (fixed_t)(0 ), (fixed_t)(R ) } }, + { { (fixed_t)(0 ), (fixed_t)(R ) }, { (fixed_t)(-.867*R), (fixed_t)(-.5*R) } } +}; +#undef R + +#define R (FRACUNIT) +mline_t thintriangle_guy[] = { + { { (fixed_t)(-.5*R), (fixed_t)(-.7*R) }, { (fixed_t)(R ), (fixed_t)(0 ) } }, + { { (fixed_t)(R ), (fixed_t)(0 ) }, { (fixed_t)(-.5*R), (fixed_t)(.7*R ) } }, + { { (fixed_t)(-.5*R), (fixed_t)(.7*R ) }, { (fixed_t)(-.5*R), (fixed_t)(-.7*R) } } +}; +#undef R + + + + +static int cheating = 0; +static int grid = 0; + +static int leveljuststarted = 1; // kluge until AM_LevelInit() is called + +boolean automapactive = false; +static int finit_width = SCREENWIDTH; +static int finit_height = SCREENHEIGHT - 32; + +// location of window on screen +static int f_x; +static int f_y; + +// size of window on screen +static int f_w; +static int f_h; + +static int lightlev; // used for funky strobing effect +static byte* fb; // pseudo-frame buffer +static int amclock; + +static mpoint_t m_paninc; // how far the window pans each tic (map coords) +static fixed_t mtof_zoommul; // how far the window zooms in each tic (map coords) +static fixed_t ftom_zoommul; // how far the window zooms in each tic (fb coords) + +static fixed_t m_x, m_y; // LL x,y where the window is on the map (map coords) +static fixed_t m_x2, m_y2; // UR x,y where the window is on the map (map coords) + +// +// width/height of window on map (map coords) +// +static fixed_t m_w; +static fixed_t m_h; + +// based on level size +static fixed_t min_x; +static fixed_t min_y; +static fixed_t max_x; +static fixed_t max_y; + +static fixed_t max_w; // max_x-min_x, +static fixed_t max_h; // max_y-min_y + +// based on player size +static fixed_t min_w; +static fixed_t min_h; + + +static fixed_t min_scale_mtof; // used to tell when to stop zooming out +static fixed_t max_scale_mtof; // used to tell when to stop zooming in + +// old stuff for recovery later +static fixed_t old_m_w, old_m_h; +static fixed_t old_m_x, old_m_y; + +// old location used by the Follower routine +static mpoint_t f_oldloc; + +// used by MTOF to scale from map-to-frame-buffer coords +static fixed_t scale_mtof = (fixed_t)INITSCALEMTOF; +// used by FTOM to scale from frame-buffer-to-map coords (=1/scale_mtof) +static fixed_t scale_ftom; + +static player_t *plr; // the player represented by an arrow + +static patch_t *marknums[10]; // numbers used for marking by the automap +static mpoint_t markpoints[AM_NUMMARKPOINTS]; // where the points are +static int markpointnum = 0; // next point to be assigned + +static int followplayer = 1; // specifies whether to follow the player around + +cheatseq_t cheat_amap = CHEAT("iddt", 0); + +static boolean stopped = true; + +// Calculates the slope and slope according to the x-axis of a line +// segment in map coordinates (with the upright y-axis n' all) so +// that it can be used with the brain-dead drawing stuff. + +void +AM_getIslope +( mline_t* ml, + islope_t* is ) +{ + int dx, dy; + + dy = ml->a.y - ml->b.y; + dx = ml->b.x - ml->a.x; + if (!dy) is->islp = (dx<0?-INT_MAX:INT_MAX); + else is->islp = FixedDiv(dx, dy); + if (!dx) is->slp = (dy<0?-INT_MAX:INT_MAX); + else is->slp = FixedDiv(dy, dx); + +} + +// +// +// +void AM_activateNewScale(void) +{ + m_x += m_w/2; + m_y += m_h/2; + m_w = FTOM(f_w); + m_h = FTOM(f_h); + m_x -= m_w/2; + m_y -= m_h/2; + m_x2 = m_x + m_w; + m_y2 = m_y + m_h; +} + +// +// +// +void AM_saveScaleAndLoc(void) +{ + old_m_x = m_x; + old_m_y = m_y; + old_m_w = m_w; + old_m_h = m_h; +} + +// +// +// +void AM_restoreScaleAndLoc(void) +{ + + m_w = old_m_w; + m_h = old_m_h; + if (!followplayer) + { + m_x = old_m_x; + m_y = old_m_y; + } else { + m_x = plr->mo->x - m_w/2; + m_y = plr->mo->y - m_h/2; + } + m_x2 = m_x + m_w; + m_y2 = m_y + m_h; + + // Change the scaling multipliers + scale_mtof = FixedDiv(f_w< max_x) + max_x = vertexes[i].x; + + if (vertexes[i].y < min_y) + min_y = vertexes[i].y; + else if (vertexes[i].y > max_y) + max_y = vertexes[i].y; + } + + max_w = max_x - min_x; + max_h = max_y - min_y; + + min_w = 2*PLAYERRADIUS; // const? never changed? + min_h = 2*PLAYERRADIUS; + + a = FixedDiv(f_w< max_x) + m_x = max_x - m_w/2; + else if (m_x + m_w/2 < min_x) + m_x = min_x - m_w/2; + + if (m_y + m_h/2 > max_y) + m_y = max_y - m_h/2; + else if (m_y + m_h/2 < min_y) + m_y = min_y - m_h/2; + + m_x2 = m_x + m_w; + m_y2 = m_y + m_h; +} + + +// +// +// +void AM_initVariables(void) +{ + int pnum; + static event_t st_notify = { ev_keyup, AM_MSGENTERED, 0, 0 }; + + automapactive = true; + fb = I_VideoBuffer; + + f_oldloc.x = INT_MAX; + amclock = 0; + lightlev = 0; + + m_paninc.x = m_paninc.y = 0; + ftom_zoommul = FRACUNIT; + mtof_zoommul = FRACUNIT; + + m_w = FTOM(f_w); + m_h = FTOM(f_h); + + // find player to center on initially + if (playeringame[consoleplayer]) + { + plr = &players[consoleplayer]; + } + else + { + plr = &players[0]; + + for (pnum=0;pnummo->x - m_w/2; + m_y = plr->mo->y - m_h/2; + AM_changeWindowLoc(); + + // for saving & restoring + old_m_x = m_x; + old_m_y = m_y; + old_m_w = m_w; + old_m_h = m_h; + + // inform the status bar of the change + ST_Responder(&st_notify); + +} + +// +// +// +void AM_loadPics(void) +{ + int i; + char namebuf[9]; + + for (i=0;i<10;i++) + { + DEH_snprintf(namebuf, 9, "AMMNUM%d", i); + marknums[i] = W_CacheLumpName(namebuf, PU_STATIC); + } + +} + +void AM_unloadPics(void) +{ + int i; + char namebuf[9]; + + for (i=0;i<10;i++) + { + DEH_snprintf(namebuf, 9, "AMMNUM%d", i); + W_ReleaseLumpName(namebuf); + } +} + +void AM_clearMarks(void) +{ + int i; + + for (i=0;i max_scale_mtof) + scale_mtof = min_scale_mtof; + scale_ftom = FixedDiv(FRACUNIT, scale_mtof); +} + + + + +// +// +// +void AM_Stop (void) +{ + static event_t st_notify = { 0, ev_keyup, AM_MSGEXITED, 0 }; + + AM_unloadPics(); + automapactive = false; + ST_Responder(&st_notify); + stopped = true; +} + +// +// +// +void AM_Start (void) +{ + static int lastlevel = -1, lastepisode = -1; + + if (!stopped) AM_Stop(); + stopped = false; + if (lastlevel != gamemap || lastepisode != gameepisode) + { + AM_LevelInit(); + lastlevel = gamemap; + lastepisode = gameepisode; + } + AM_initVariables(); + AM_loadPics(); +} + +// +// set the window scale to the maximum size +// +void AM_minOutWindowScale(void) +{ + scale_mtof = min_scale_mtof; + scale_ftom = FixedDiv(FRACUNIT, scale_mtof); + AM_activateNewScale(); +} + +// +// set the window scale to the minimum size +// +void AM_maxOutWindowScale(void) +{ + scale_mtof = max_scale_mtof; + scale_ftom = FixedDiv(FRACUNIT, scale_mtof); + AM_activateNewScale(); +} + + +// +// Handle events (user inputs) in automap mode +// +boolean +AM_Responder +( event_t* ev ) +{ + + int rc; + static int bigstate=0; + static char buffer[20]; + int key; + + rc = false; + + if (!automapactive) + { + if (ev->type == ev_keydown && ev->data1 == key_map_toggle) + { + AM_Start (); + viewactive = false; + rc = true; + } + } + else if (ev->type == ev_keydown) + { + rc = true; + key = ev->data1; + + if (key == key_map_east) // pan right + { + if (!followplayer) m_paninc.x = FTOM(F_PANINC); + else rc = false; + } + else if (key == key_map_west) // pan left + { + if (!followplayer) m_paninc.x = -FTOM(F_PANINC); + else rc = false; + } + else if (key == key_map_north) // pan up + { + if (!followplayer) m_paninc.y = FTOM(F_PANINC); + else rc = false; + } + else if (key == key_map_south) // pan down + { + if (!followplayer) m_paninc.y = -FTOM(F_PANINC); + else rc = false; + } + else if (key == key_map_zoomout) // zoom out + { + mtof_zoommul = M_ZOOMOUT; + ftom_zoommul = M_ZOOMIN; + } + else if (key == key_map_zoomin) // zoom in + { + mtof_zoommul = M_ZOOMIN; + ftom_zoommul = M_ZOOMOUT; + } + else if (key == key_map_toggle) + { + bigstate = 0; + viewactive = true; + AM_Stop (); + } + else if (key == key_map_maxzoom) + { + bigstate = !bigstate; + if (bigstate) + { + AM_saveScaleAndLoc(); + AM_minOutWindowScale(); + } + else AM_restoreScaleAndLoc(); + } + else if (key == key_map_follow) + { + followplayer = !followplayer; + f_oldloc.x = INT_MAX; + if (followplayer) + plr->message = DEH_String(AMSTR_FOLLOWON); + else + plr->message = DEH_String(AMSTR_FOLLOWOFF); + } + else if (key == key_map_grid) + { + grid = !grid; + if (grid) + plr->message = DEH_String(AMSTR_GRIDON); + else + plr->message = DEH_String(AMSTR_GRIDOFF); + } + else if (key == key_map_mark) + { + M_snprintf(buffer, sizeof(buffer), "%s %d", + DEH_String(AMSTR_MARKEDSPOT), markpointnum); + plr->message = buffer; + AM_addMark(); + } + else if (key == key_map_clearmark) + { + AM_clearMarks(); + plr->message = DEH_String(AMSTR_MARKSCLEARED); + } + else + { + rc = false; + } + + if (!deathmatch && cht_CheckCheat(&cheat_amap, ev->data2)) + { + rc = false; + cheating = (cheating+1) % 3; + } + } + else if (ev->type == ev_keyup) + { + rc = false; + key = ev->data1; + + if (key == key_map_east) + { + if (!followplayer) m_paninc.x = 0; + } + else if (key == key_map_west) + { + if (!followplayer) m_paninc.x = 0; + } + else if (key == key_map_north) + { + if (!followplayer) m_paninc.y = 0; + } + else if (key == key_map_south) + { + if (!followplayer) m_paninc.y = 0; + } + else if (key == key_map_zoomout || key == key_map_zoomin) + { + mtof_zoommul = FRACUNIT; + ftom_zoommul = FRACUNIT; + } + } + + return rc; + +} + + +// +// Zooming +// +void AM_changeWindowScale(void) +{ + + // Change the scaling multipliers + scale_mtof = FixedMul(scale_mtof, mtof_zoommul); + scale_ftom = FixedDiv(FRACUNIT, scale_mtof); + + if (scale_mtof < min_scale_mtof) + AM_minOutWindowScale(); + else if (scale_mtof > max_scale_mtof) + AM_maxOutWindowScale(); + else + AM_activateNewScale(); +} + + +// +// +// +void AM_doFollowPlayer(void) +{ + + if (f_oldloc.x != plr->mo->x || f_oldloc.y != plr->mo->y) + { + m_x = FTOM(MTOF(plr->mo->x)) - m_w/2; + m_y = FTOM(MTOF(plr->mo->y)) - m_h/2; + m_x2 = m_x + m_w; + m_y2 = m_y + m_h; + f_oldloc.x = plr->mo->x; + f_oldloc.y = plr->mo->y; + + // m_x = FTOM(MTOF(plr->mo->x - m_w/2)); + // m_y = FTOM(MTOF(plr->mo->y - m_h/2)); + // m_x = plr->mo->x - m_w/2; + // m_y = plr->mo->y - m_h/2; + + } + +} + +// +// +// +void AM_updateLightLev(void) +{ + static int nexttic = 0; + //static int litelevels[] = { 0, 3, 5, 6, 6, 7, 7, 7 }; + static int litelevels[] = { 0, 4, 7, 10, 12, 14, 15, 15 }; + static int litelevelscnt = 0; + + // Change light level + if (amclock>nexttic) + { + lightlev = litelevels[litelevelscnt++]; + if (litelevelscnt == arrlen(litelevels)) litelevelscnt = 0; + nexttic = amclock + 6 - (amclock % 6); + } + +} + + +// +// Updates on Game Tick +// +void AM_Ticker (void) +{ + + if (!automapactive) + return; + + amclock++; + + if (followplayer) + AM_doFollowPlayer(); + + // Change the zoom if necessary + if (ftom_zoommul != FRACUNIT) + AM_changeWindowScale(); + + // Change x,y location + if (m_paninc.x || m_paninc.y) + AM_changeWindowLoc(); + + // Update light level + // AM_updateLightLev(); + +} + + +// +// Clear automap frame buffer. +// +void AM_clearFB(int color) +{ + memset(fb, color, f_w*f_h); +} + + +// +// Automap clipping of lines. +// +// Based on Cohen-Sutherland clipping algorithm but with a slightly +// faster reject and precalculated slopes. If the speed is needed, +// use a hash algorithm to handle the common cases. +// +boolean +AM_clipMline +( mline_t* ml, + fline_t* fl ) +{ + enum + { + LEFT =1, + RIGHT =2, + BOTTOM =4, + TOP =8 + }; + + register int outcode1 = 0; + register int outcode2 = 0; + register int outside; + + fpoint_t tmp; + int dx; + int dy; + + +#define DOOUTCODE(oc, mx, my) \ + (oc) = 0; \ + if ((my) < 0) (oc) |= TOP; \ + else if ((my) >= f_h) (oc) |= BOTTOM; \ + if ((mx) < 0) (oc) |= LEFT; \ + else if ((mx) >= f_w) (oc) |= RIGHT; + + + // do trivial rejects and outcodes + if (ml->a.y > m_y2) + outcode1 = TOP; + else if (ml->a.y < m_y) + outcode1 = BOTTOM; + + if (ml->b.y > m_y2) + outcode2 = TOP; + else if (ml->b.y < m_y) + outcode2 = BOTTOM; + + if (outcode1 & outcode2) + return false; // trivially outside + + if (ml->a.x < m_x) + outcode1 |= LEFT; + else if (ml->a.x > m_x2) + outcode1 |= RIGHT; + + if (ml->b.x < m_x) + outcode2 |= LEFT; + else if (ml->b.x > m_x2) + outcode2 |= RIGHT; + + if (outcode1 & outcode2) + return false; // trivially outside + + // transform to frame-buffer coordinates. + fl->a.x = CXMTOF(ml->a.x); + fl->a.y = CYMTOF(ml->a.y); + fl->b.x = CXMTOF(ml->b.x); + fl->b.y = CYMTOF(ml->b.y); + + DOOUTCODE(outcode1, fl->a.x, fl->a.y); + DOOUTCODE(outcode2, fl->b.x, fl->b.y); + + if (outcode1 & outcode2) + return false; + + while (outcode1 | outcode2) + { + // may be partially inside box + // find an outside point + if (outcode1) + outside = outcode1; + else + outside = outcode2; + + // clip to each side + if (outside & TOP) + { + dy = fl->a.y - fl->b.y; + dx = fl->b.x - fl->a.x; + tmp.x = fl->a.x + (dx*(fl->a.y))/dy; + tmp.y = 0; + } + else if (outside & BOTTOM) + { + dy = fl->a.y - fl->b.y; + dx = fl->b.x - fl->a.x; + tmp.x = fl->a.x + (dx*(fl->a.y-f_h))/dy; + tmp.y = f_h-1; + } + else if (outside & RIGHT) + { + dy = fl->b.y - fl->a.y; + dx = fl->b.x - fl->a.x; + tmp.y = fl->a.y + (dy*(f_w-1 - fl->a.x))/dx; + tmp.x = f_w-1; + } + else if (outside & LEFT) + { + dy = fl->b.y - fl->a.y; + dx = fl->b.x - fl->a.x; + tmp.y = fl->a.y + (dy*(-fl->a.x))/dx; + tmp.x = 0; + } + else + { + tmp.x = 0; + tmp.y = 0; + } + + if (outside == outcode1) + { + fl->a = tmp; + DOOUTCODE(outcode1, fl->a.x, fl->a.y); + } + else + { + fl->b = tmp; + DOOUTCODE(outcode2, fl->b.x, fl->b.y); + } + + if (outcode1 & outcode2) + return false; // trivially outside + } + + return true; +} +#undef DOOUTCODE + + +// +// Classic Bresenham w/ whatever optimizations needed for speed +// +void +AM_drawFline +( fline_t* fl, + int color ) +{ + register int x; + register int y; + register int dx; + register int dy; + register int sx; + register int sy; + register int ax; + register int ay; + register int d; + + static int fuck = 0; + + // For debugging only + if ( fl->a.x < 0 || fl->a.x >= f_w + || fl->a.y < 0 || fl->a.y >= f_h + || fl->b.x < 0 || fl->b.x >= f_w + || fl->b.y < 0 || fl->b.y >= f_h) + { + DEH_fprintf(stderr, "fuck %d \r", fuck++); + return; + } + +#define PUTDOT(xx,yy,cc) fb[(yy)*f_w+(xx)]=(cc) + + dx = fl->b.x - fl->a.x; + ax = 2 * (dx<0 ? -dx : dx); + sx = dx<0 ? -1 : 1; + + dy = fl->b.y - fl->a.y; + ay = 2 * (dy<0 ? -dy : dy); + sy = dy<0 ? -1 : 1; + + x = fl->a.x; + y = fl->a.y; + + if (ax > ay) + { + d = ay - ax/2; + while (1) + { + PUTDOT(x,y,color); + if (x == fl->b.x) return; + if (d>=0) + { + y += sy; + d -= ax; + } + x += sx; + d += ay; + } + } + else + { + d = ax - ay/2; + while (1) + { + PUTDOT(x, y, color); + if (y == fl->b.y) return; + if (d >= 0) + { + x += sx; + d -= ay; + } + y += sy; + d += ax; + } + } +} + + +// +// Clip lines, draw visible part sof lines. +// +void +AM_drawMline +( mline_t* ml, + int color ) +{ + static fline_t fl; + + if (AM_clipMline(ml, &fl)) + AM_drawFline(&fl, color); // draws it on frame buffer using fb coords +} + + + +// +// Draws flat (floor/ceiling tile) aligned grid lines. +// +void AM_drawGrid(int color) +{ + fixed_t x, y; + fixed_t start, end; + mline_t ml; + + // Figure out start of vertical gridlines + start = m_x; + if ((start-bmaporgx)%(MAPBLOCKUNITS<x; + l.a.y = lines[i].v1->y; + l.b.x = lines[i].v2->x; + l.b.y = lines[i].v2->y; + if (cheating || (lines[i].flags & ML_MAPPED)) + { + if ((lines[i].flags & LINE_NEVERSEE) && !cheating) + continue; + if (!lines[i].backsector) + { + AM_drawMline(&l, WALLCOLORS+lightlev); + } + else + { + if (lines[i].special == 39) + { // teleporters + AM_drawMline(&l, WALLCOLORS+WALLRANGE/2); + } + else if (lines[i].flags & ML_SECRET) // secret door + { + if (cheating) AM_drawMline(&l, SECRETWALLCOLORS + lightlev); + else AM_drawMline(&l, WALLCOLORS+lightlev); + } + else if (lines[i].backsector->floorheight + != lines[i].frontsector->floorheight) { + AM_drawMline(&l, FDWALLCOLORS + lightlev); // floor level change + } + else if (lines[i].backsector->ceilingheight + != lines[i].frontsector->ceilingheight) { + AM_drawMline(&l, CDWALLCOLORS+lightlev); // ceiling level change + } + else if (cheating) { + AM_drawMline(&l, TSWALLCOLORS+lightlev); + } + } + } + else if (plr->powers[pw_allmap]) + { + if (!(lines[i].flags & LINE_NEVERSEE)) AM_drawMline(&l, GRAYS+3); + } + } +} + + +// +// Rotation in 2D. +// Used to rotate player arrow line character. +// +void +AM_rotate +( fixed_t* x, + fixed_t* y, + angle_t a ) +{ + fixed_t tmpx; + + tmpx = + FixedMul(*x,finecosine[a>>ANGLETOFINESHIFT]) + - FixedMul(*y,finesine[a>>ANGLETOFINESHIFT]); + + *y = + FixedMul(*x,finesine[a>>ANGLETOFINESHIFT]) + + FixedMul(*y,finecosine[a>>ANGLETOFINESHIFT]); + + *x = tmpx; +} + +void +AM_drawLineCharacter +( mline_t* lineguy, + int lineguylines, + fixed_t scale, + angle_t angle, + int color, + fixed_t x, + fixed_t y ) +{ + int i; + mline_t l; + + for (i=0;imo->angle, WHITE, plr->mo->x, plr->mo->y); + else + AM_drawLineCharacter + (player_arrow, arrlen(player_arrow), 0, plr->mo->angle, + WHITE, plr->mo->x, plr->mo->y); + return; + } + + for (i=0;ipowers[pw_invisibility]) + color = 246; // *close* to black + else + color = their_colors[their_color]; + + AM_drawLineCharacter + (player_arrow, arrlen(player_arrow), 0, p->mo->angle, + color, p->mo->x, p->mo->y); + } + +} + +void +AM_drawThings +( int colors, + int colorrange) +{ + int i; + mobj_t* t; + + for (i=0;iangle, colors+lightlev, t->x, t->y); + t = t->snext; + } + } +} + +void AM_drawMarks(void) +{ + int i, fx, fy, w, h; + + for (i=0;iwidth); + // h = SHORT(marknums[i]->height); + w = 5; // because something's wrong with the wad, i guess + h = 6; // because something's wrong with the wad, i guess + fx = CXMTOF(markpoints[i].x); + fy = CYMTOF(markpoints[i].y); + if (fx >= f_x && fx <= f_w - w && fy >= f_y && fy <= f_h - h) + V_DrawPatch(fx, fy, marknums[i]); + } + } + +} + +void AM_drawCrosshair(int color) +{ + fb[(f_w*(f_h+1))/2] = color; // single point for now + +} + +void AM_Drawer (void) +{ + if (!automapactive) return; + + AM_clearFB(BACKGROUND); + if (grid) + AM_drawGrid(GRIDCOLORS); + AM_drawWalls(); + AM_drawPlayers(); + if (cheating==2) + AM_drawThings(THINGCOLORS, THINGRANGE); + AM_drawCrosshair(XHAIRCOLORS); + + AM_drawMarks(); + + V_MarkRect(f_x, f_y, f_w, f_h); + +} diff --git a/src/kernel/userland/doom/am_map.h b/src/kernel/userland/doom/am_map.h new file mode 100644 index 0000000..572d238 --- /dev/null +++ b/src/kernel/userland/doom/am_map.h @@ -0,0 +1,49 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// AutoMap module. +// + +#ifndef __AMMAP_H__ +#define __AMMAP_H__ + +#include "d_event.h" +#include "m_cheat.h" + +// Used by ST StatusBar stuff. +#define AM_MSGHEADER (('a'<<24)+('m'<<16)) +#define AM_MSGENTERED (AM_MSGHEADER | ('e'<<8)) +#define AM_MSGEXITED (AM_MSGHEADER | ('x'<<8)) + + +// Called by main loop. +boolean AM_Responder (event_t* ev); + +// Called by main loop. +void AM_Ticker (void); + +// Called by main loop, +// called instead of view drawer if automap active. +void AM_Drawer (void); + +// Called to force the automap to quit +// if the level is completed while it is up. +void AM_Stop (void); + + +extern cheatseq_t cheat_amap; + + +#endif diff --git a/src/kernel/userland/doom/assert.h b/src/kernel/userland/doom/assert.h new file mode 100644 index 0000000..f5ad9d7 --- /dev/null +++ b/src/kernel/userland/doom/assert.h @@ -0,0 +1,4 @@ +#ifndef _ASSERT_H +#define _ASSERT_H +#define assert(x) +#endif diff --git a/src/kernel/userland/doom/boredos_libc.c b/src/kernel/userland/doom/boredos_libc.c new file mode 100644 index 0000000..679c11f --- /dev/null +++ b/src/kernel/userland/doom/boredos_libc.c @@ -0,0 +1,243 @@ +#include "boredos_libc.h" +#include + +int errno = 0; + +static FILE _stderr = {2, 0, 0}; +static FILE _stdout = {1, 0, 0}; +static FILE _stdin = {0, 0, 0}; + +FILE* stderr = &_stderr; +FILE* stdout = &_stdout; +FILE* stdin = &_stdin; + +FILE *fopen(const char *path, const char *mode) { + int fd = sys_open(path, mode); + if (fd < 0) return NULL; + FILE *f = malloc(sizeof(FILE)); + f->fd = fd; + f->eof = 0; + f->error = 0; + return f; +} + +int fclose(FILE *stream) { + if (!stream) return EOF; + if (stream != stderr && stream != stdout && stream != stdin) { + sys_close(stream->fd); + free(stream); + } + return 0; +} + +size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) { + if (!stream) return 0; + int bytes = sys_read(stream->fd, ptr, size * nmemb); + if (bytes < 0) { + stream->error = 1; + return 0; + } + if (bytes == 0) stream->eof = 1; + return bytes / size; +} + +size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) { + if (!stream) return 0; + if (stream == stdout || stream == stderr) { + sys_write(stream->fd, ptr, size * nmemb); + return nmemb; + } + int bytes = sys_write_fs(stream->fd, ptr, size * nmemb); + if (bytes < 0) { + stream->error = 1; + return 0; + } + return bytes / size; +} + +int fseek(FILE *stream, long offset, int whence) { + if (!stream) return -1; + stream->eof = 0; + return sys_seek(stream->fd, offset, whence); +} + +long ftell(FILE *stream) { + if (!stream) return -1; + return sys_tell(stream->fd); +} + +int remove(const char *pathname) { + return sys_delete(pathname); +} + +int rename(const char *oldpath, const char *newpath) { + return -1; +} + +int fputc(int c, FILE *stream) { + unsigned char ch = c; + if (fwrite(&ch, 1, 1, stream) != 1) return EOF; + return ch; +} + +int fputs(const char *s, FILE *stream) { + size_t len = strlen(s); + if (fwrite(s, 1, len, stream) != len) return EOF; + return 0; +} + +long filelength(FILE *f) { + if (!f) return -1; + return sys_size(f->fd); +} + +int mkdir(const char *pathname, int mode) { + return sys_mkdir(pathname); +} + +int access(const char *pathname, int mode) { + if (sys_exists(pathname)) return 0; + return -1; +} + +int stat(const char *pathname, struct stat *statbuf) { + if (sys_exists(pathname)) { + if (statbuf) { + statbuf->st_size = 0; + statbuf->st_mode = 0; + } + return 0; + } + return -1; +} + +int strncasecmp(const char *s1, const char *s2, size_t n) { + while (n--) { + char c1 = tolower(*s1++); + char c2 = tolower(*s2++); + if (c1 != c2) return c1 - c2; + if (!c1) break; + } + return 0; +} +int strcasecmp(const char *s1, const char *s2) { + while (1) { + char c1 = tolower(*s1++); + char c2 = tolower(*s2++); + if (c1 != c2) return c1 - c2; + if (!c1) break; + } + return 0; +} +char *strncpy(char *dest, const char *src, size_t n) { + char *ret = dest; + while (n && *src) { *dest++ = *src++; n--; } + while (n) { *dest++ = 0; n--; } + return ret; +} +int strncmp(const char *s1, const char *s2, size_t n) { + while (n--) { + if (*s1 != *s2) return *s1 - *s2; + if (!*s1) break; + s1++; s2++; + } + return 0; +} +char *strrchr(const char *s, int c) { + const char *last = NULL; + while (*s) { if (*s == c) last = s; s++; } + if (c == 0) last = s; + return (char*)last; +} +char *strchr(const char *s, int c) { + while (*s) { if (*s == c) return (char*)s; s++; } + if (c == 0) return (char*)s; + return NULL; +} +char *strdup(const char *s) { + size_t len = strlen(s) + 1; + char *dup = malloc(len); + if (dup) memcpy(dup, s, len); + return dup; +} +char *strstr(const char *haystack, const char *needle) { + size_t n = strlen(needle); + if (!n) return (char *)haystack; + while (*haystack) { + if (!strncmp(haystack, needle, n)) return (char *)haystack; + haystack++; + } + return NULL; +} + +int toupper(int c) { return (c >= 'a' && c <= 'z') ? c - 32 : c; } +int tolower(int c) { return (c >= 'A' && c <= 'Z') ? c + 32 : c; } +int isspace(int c) { return c == ' ' || c == '\n' || c == '\t' || c == '\r' || c == '\v' || c == '\f'; } +int isdigit(int c) { return c >= '0' && c <= '9'; } +int isprint(int c) { return c >= 32 && c <= 126; } +int isalpha(int c) { return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'); } +int isalnum(int c) { return isalpha(c) || isdigit(c); } +int isgraph(int c) { return c > 32 && c <= 126; } +int ispunct(int c) { return isprint(c) && !isspace(c) && !isalnum(c); } +int isupper(int c) { return c >= 'A' && c <= 'Z'; } + +void _exit(int status) { + exit(status); +} + +void* memmove(void *dest, const void *src, size_t n) { + unsigned char *d = dest; + const unsigned char *s = src; + if (d < s) { + while (n--) *d++ = *s++; + } else { + d += n; s += n; + while (n--) *--d = *--s; + } + return dest; +} + +int fflush(FILE *stream) { return 0; } +int abs(int x) { return x < 0 ? -x : x; } +int putchar(int c) { return fputc(c, stdout); } +int system(const char *command) { return -1; } +#define STB_SPRINTF_IMPLEMENTATION +#define STB_SPRINTF_NOFLOAT +#include "stb_sprintf.h" + +int vfprintf(FILE *stream, const char *format, va_list ap) { + char buf[1024]; + int len = stbsp_vsnprintf(buf, sizeof(buf), format, ap); + if (len > 0) fwrite(buf, 1, len, stream); + return len; +} + +int fprintf(FILE *stream, const char *format, ...) { + va_list ap; + va_start(ap, format); + int len = vfprintf(stream, format, ap); + va_end(ap); + return len; +} + +int sprintf(char *str, const char *format, ...) { + va_list ap; + va_start(ap, format); + int len = stbsp_vsprintf(str, format, ap); + va_end(ap); + return len; +} + +int snprintf(char *str, size_t size, const char *format, ...) { + va_list ap; + va_start(ap, format); + int len = stbsp_vsnprintf(str, size, format, ap); + va_end(ap); + return len; +} + +int vsnprintf(char *str, size_t size, const char *format, va_list ap) { + return stbsp_vsnprintf(str, size, format, ap); +} + +int sscanf(const char *str, const char *format, ...) { return 0; } diff --git a/src/kernel/userland/doom/boredos_libc.h b/src/kernel/userland/doom/boredos_libc.h new file mode 100644 index 0000000..ff63838 --- /dev/null +++ b/src/kernel/userland/doom/boredos_libc.h @@ -0,0 +1,96 @@ +#ifndef BOREDOS_LIBC_H +#define BOREDOS_LIBC_H + +#include +#include +#include +#include + +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 + +#define EOF (-1) + +typedef struct { + int fd; + int eof; + int error; +} FILE; + +extern FILE* stderr; +extern FILE* stdout; +extern FILE* stdin; + +#define O_RDONLY 1 +#define O_WRONLY 2 +#define O_RDWR 3 +#define O_CREAT 4 +#define O_TRUNC 8 +#define O_BINARY 0 + +#define F_OK 0 +#define R_OK 4 +#define W_OK 2 +#define X_OK 1 + +FILE *fopen(const char *path, const char *mode); +int fclose(FILE *stream); +size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); +size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); +int fseek(FILE *stream, long offset, int whence); +long ftell(FILE *stream); +int remove(const char *pathname); +int rename(const char *oldpath, const char *newpath); +int fflush(FILE *stream); +int fprintf(FILE *stream, const char *format, ...); +int sprintf(char *str, const char *format, ...); +int snprintf(char *str, size_t size, const char *format, ...); +int vsnprintf(char *str, size_t size, const char *format, va_list ap); +int sscanf(const char *str, const char *format, ...); +int fputc(int c, FILE *stream); +int fputs(const char *s, FILE *stream); +long filelength(FILE *f); + +int strncasecmp(const char *s1, const char *s2, size_t n); +int strcasecmp(const char *s1, const char *s2); +char *strncpy(char *dest, const char *src, size_t n); +int strncmp(const char *s1, const char *s2, size_t n); +char *strrchr(const char *s, int c); +char *strchr(const char *s, int c); +char *strdup(const char *s); + +int toupper(int c); +int tolower(int c); +int isspace(int c); +int isdigit(int c); +int isprint(int c); +int isalpha(int c); +int isalnum(int c); +int isgraph(int c); +int ispunct(int c); +int isupper(int c); + +int mkdir(const char *pathname, int mode); +int access(const char *pathname, int mode); + +struct stat { + int st_size; + int st_mode; +}; +int stat(const char *pathname, struct stat *statbuf); + +char *strstr(const char *haystack, const char *needle); +extern int errno; + +#define M_PI 3.14159265358979323846 + +void _exit(int status); +void _exit(int status); +void *memmove(void *dest, const void *src, size_t n); +int abs(int j); +int putchar(int c); +int system(const char *command); +int vfprintf(FILE *stream, const char *format, va_list ap); + +#endif diff --git a/src/kernel/userland/doom/config.h b/src/kernel/userland/doom/config.h new file mode 100644 index 0000000..7e05102 --- /dev/null +++ b/src/kernel/userland/doom/config.h @@ -0,0 +1,100 @@ +/* config.hin. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_DEV_ISA_SPKRIO_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_DEV_SPEAKER_SPEAKER_H + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `ioperm' function. */ +#undef HAVE_IOPERM + +/* Define to 1 if you have the `amd64' library (-lamd64). */ +#undef HAVE_LIBAMD64 + +/* Define to 1 if you have the `i386' library (-li386). */ +#undef HAVE_LIBI386 + +/* Define to 1 if you have the `m' library (-lm). */ +#undef HAVE_LIBM + +/* Define to 1 if you have the `png' library (-lpng). */ +#undef HAVE_LIBPNG + +/* Define to 1 if you have the `samplerate' library (-lsamplerate). */ +#undef HAVE_LIBSAMPLERATE + +/* Define to 1 if you have the `z' library (-lz). */ +#undef HAVE_LIBZ + +/* Define to 1 if you have the header file. */ +#undef HAVE_LINUX_KD_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the `mmap' function. */ +#undef HAVE_MMAP + +/* Define to 1 if you have the `sched_setaffinity' function. */ +#undef HAVE_SCHED_SETAFFINITY + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#define PACKAGE "Doom" + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "Doom Generic" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "Doom Generic 0.1" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "doomgeneric.tar" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION 0.1 + +/* Change this when you create your awesome forked version */ +#define PROGRAM_PREFIX "doomgeneric" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION 0.1 + +/* Define to 1 if you want to compile the unmodified code */ +#undef ORIGCODE + +/* Define to the directory where all game files are located */ +#define FILES_DIR "." diff --git a/src/kernel/userland/doom/ctype.h b/src/kernel/userland/doom/ctype.h new file mode 100644 index 0000000..28a93be --- /dev/null +++ b/src/kernel/userland/doom/ctype.h @@ -0,0 +1 @@ +#include "boredos_libc.h" diff --git a/src/kernel/userland/doom/d_englsh.h b/src/kernel/userland/doom/d_englsh.h new file mode 100644 index 0000000..cfb0572 --- /dev/null +++ b/src/kernel/userland/doom/d_englsh.h @@ -0,0 +1,693 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Printed strings for translation. +// English language support (default). +// + +#ifndef __D_ENGLSH__ +#define __D_ENGLSH__ + +// +// Printed strings for translation +// + +// +// D_Main.C +// +#define D_DEVSTR "Development mode ON.\n" +#define D_CDROM "CD-ROM Version: default.cfg from c:\\doomdata\n" + +// +// M_Menu.C +// +#define PRESSKEY "press a key." +#define PRESSYN "press y or n." +#define QUITMSG "are you sure you want to\nquit this great game?" +#define LOADNET "you can't do load while in a net game!\n\n"PRESSKEY +#define QLOADNET "you can't quickload during a netgame!\n\n"PRESSKEY +#define QSAVESPOT "you haven't picked a quicksave slot yet!\n\n"PRESSKEY +#define SAVEDEAD "you can't save if you aren't playing!\n\n"PRESSKEY +#define QSPROMPT "quicksave over your game named\n\n'%s'?\n\n"PRESSYN +#define QLPROMPT "do you want to quickload the game named\n\n'%s'?\n\n"PRESSYN + +#define NEWGAME \ +"you can't start a new game\n"\ +"while in a network game.\n\n"PRESSKEY + +#define NIGHTMARE \ +"are you sure? this skill level\n"\ +"isn't even remotely fair.\n\n"PRESSYN + +#define SWSTRING \ +"this is the shareware version of doom.\n\n"\ +"you need to order the entire trilogy.\n\n"PRESSKEY + +#define MSGOFF "Messages OFF" +#define MSGON "Messages ON" +#define NETEND "you can't end a netgame!\n\n"PRESSKEY +#define ENDGAME "are you sure you want to end the game?\n\n"PRESSYN + +#define DOSY "(press y to quit to dos.)" + +#define DETAILHI "High detail" +#define DETAILLO "Low detail" +#define GAMMALVL0 "Gamma correction OFF" +#define GAMMALVL1 "Gamma correction level 1" +#define GAMMALVL2 "Gamma correction level 2" +#define GAMMALVL3 "Gamma correction level 3" +#define GAMMALVL4 "Gamma correction level 4" +#define EMPTYSTRING "empty slot" + +// +// P_inter.C +// +#define GOTARMOR "Picked up the armor." +#define GOTMEGA "Picked up the MegaArmor!" +#define GOTHTHBONUS "Picked up a health bonus." +#define GOTARMBONUS "Picked up an armor bonus." +#define GOTSTIM "Picked up a stimpack." +#define GOTMEDINEED "Picked up a medikit that you REALLY need!" +#define GOTMEDIKIT "Picked up a medikit." +#define GOTSUPER "Supercharge!" + +#define GOTBLUECARD "Picked up a blue keycard." +#define GOTYELWCARD "Picked up a yellow keycard." +#define GOTREDCARD "Picked up a red keycard." +#define GOTBLUESKUL "Picked up a blue skull key." +#define GOTYELWSKUL "Picked up a yellow skull key." +#define GOTREDSKULL "Picked up a red skull key." + +#define GOTINVUL "Invulnerability!" +#define GOTBERSERK "Berserk!" +#define GOTINVIS "Partial Invisibility" +#define GOTSUIT "Radiation Shielding Suit" +#define GOTMAP "Computer Area Map" +#define GOTVISOR "Light Amplification Visor" +#define GOTMSPHERE "MegaSphere!" + +#define GOTCLIP "Picked up a clip." +#define GOTCLIPBOX "Picked up a box of bullets." +#define GOTROCKET "Picked up a rocket." +#define GOTROCKBOX "Picked up a box of rockets." +#define GOTCELL "Picked up an energy cell." +#define GOTCELLBOX "Picked up an energy cell pack." +#define GOTSHELLS "Picked up 4 shotgun shells." +#define GOTSHELLBOX "Picked up a box of shotgun shells." +#define GOTBACKPACK "Picked up a backpack full of ammo!" + +#define GOTBFG9000 "You got the BFG9000! Oh, yes." +#define GOTCHAINGUN "You got the chaingun!" +#define GOTCHAINSAW "A chainsaw! Find some meat!" +#define GOTLAUNCHER "You got the rocket launcher!" +#define GOTPLASMA "You got the plasma gun!" +#define GOTSHOTGUN "You got the shotgun!" +#define GOTSHOTGUN2 "You got the super shotgun!" + +// +// P_Doors.C +// +#define PD_BLUEO "You need a blue key to activate this object" +#define PD_REDO "You need a red key to activate this object" +#define PD_YELLOWO "You need a yellow key to activate this object" +#define PD_BLUEK "You need a blue key to open this door" +#define PD_REDK "You need a red key to open this door" +#define PD_YELLOWK "You need a yellow key to open this door" + +// +// G_game.C +// +#define GGSAVED "game saved." + +// +// HU_stuff.C +// +#define HUSTR_MSGU "[Message unsent]" + +#define HUSTR_E1M1 "E1M1: Hangar" +#define HUSTR_E1M2 "E1M2: Nuclear Plant" +#define HUSTR_E1M3 "E1M3: Toxin Refinery" +#define HUSTR_E1M4 "E1M4: Command Control" +#define HUSTR_E1M5 "E1M5: Phobos Lab" +#define HUSTR_E1M6 "E1M6: Central Processing" +#define HUSTR_E1M7 "E1M7: Computer Station" +#define HUSTR_E1M8 "E1M8: Phobos Anomaly" +#define HUSTR_E1M9 "E1M9: Military Base" + +#define HUSTR_E2M1 "E2M1: Deimos Anomaly" +#define HUSTR_E2M2 "E2M2: Containment Area" +#define HUSTR_E2M3 "E2M3: Refinery" +#define HUSTR_E2M4 "E2M4: Deimos Lab" +#define HUSTR_E2M5 "E2M5: Command Center" +#define HUSTR_E2M6 "E2M6: Halls of the Damned" +#define HUSTR_E2M7 "E2M7: Spawning Vats" +#define HUSTR_E2M8 "E2M8: Tower of Babel" +#define HUSTR_E2M9 "E2M9: Fortress of Mystery" + +#define HUSTR_E3M1 "E3M1: Hell Keep" +#define HUSTR_E3M2 "E3M2: Slough of Despair" +#define HUSTR_E3M3 "E3M3: Pandemonium" +#define HUSTR_E3M4 "E3M4: House of Pain" +#define HUSTR_E3M5 "E3M5: Unholy Cathedral" +#define HUSTR_E3M6 "E3M6: Mt. Erebus" +#define HUSTR_E3M7 "E3M7: Limbo" +#define HUSTR_E3M8 "E3M8: Dis" +#define HUSTR_E3M9 "E3M9: Warrens" + +#define HUSTR_E4M1 "E4M1: Hell Beneath" +#define HUSTR_E4M2 "E4M2: Perfect Hatred" +#define HUSTR_E4M3 "E4M3: Sever The Wicked" +#define HUSTR_E4M4 "E4M4: Unruly Evil" +#define HUSTR_E4M5 "E4M5: They Will Repent" +#define HUSTR_E4M6 "E4M6: Against Thee Wickedly" +#define HUSTR_E4M7 "E4M7: And Hell Followed" +#define HUSTR_E4M8 "E4M8: Unto The Cruel" +#define HUSTR_E4M9 "E4M9: Fear" + +#define HUSTR_1 "level 1: entryway" +#define HUSTR_2 "level 2: underhalls" +#define HUSTR_3 "level 3: the gantlet" +#define HUSTR_4 "level 4: the focus" +#define HUSTR_5 "level 5: the waste tunnels" +#define HUSTR_6 "level 6: the crusher" +#define HUSTR_7 "level 7: dead simple" +#define HUSTR_8 "level 8: tricks and traps" +#define HUSTR_9 "level 9: the pit" +#define HUSTR_10 "level 10: refueling base" +#define HUSTR_11 "level 11: 'o' of destruction!" + +#define HUSTR_12 "level 12: the factory" +#define HUSTR_13 "level 13: downtown" +#define HUSTR_14 "level 14: the inmost dens" +#define HUSTR_15 "level 15: industrial zone" +#define HUSTR_16 "level 16: suburbs" +#define HUSTR_17 "level 17: tenements" +#define HUSTR_18 "level 18: the courtyard" +#define HUSTR_19 "level 19: the citadel" +#define HUSTR_20 "level 20: gotcha!" + +#define HUSTR_21 "level 21: nirvana" +#define HUSTR_22 "level 22: the catacombs" +#define HUSTR_23 "level 23: barrels o' fun" +#define HUSTR_24 "level 24: the chasm" +#define HUSTR_25 "level 25: bloodfalls" +#define HUSTR_26 "level 26: the abandoned mines" +#define HUSTR_27 "level 27: monster condo" +#define HUSTR_28 "level 28: the spirit world" +#define HUSTR_29 "level 29: the living end" +#define HUSTR_30 "level 30: icon of sin" + +#define HUSTR_31 "level 31: wolfenstein" +#define HUSTR_32 "level 32: grosse" + +#define PHUSTR_1 "level 1: congo" +#define PHUSTR_2 "level 2: well of souls" +#define PHUSTR_3 "level 3: aztec" +#define PHUSTR_4 "level 4: caged" +#define PHUSTR_5 "level 5: ghost town" +#define PHUSTR_6 "level 6: baron's lair" +#define PHUSTR_7 "level 7: caughtyard" +#define PHUSTR_8 "level 8: realm" +#define PHUSTR_9 "level 9: abattoire" +#define PHUSTR_10 "level 10: onslaught" +#define PHUSTR_11 "level 11: hunted" + +#define PHUSTR_12 "level 12: speed" +#define PHUSTR_13 "level 13: the crypt" +#define PHUSTR_14 "level 14: genesis" +#define PHUSTR_15 "level 15: the twilight" +#define PHUSTR_16 "level 16: the omen" +#define PHUSTR_17 "level 17: compound" +#define PHUSTR_18 "level 18: neurosphere" +#define PHUSTR_19 "level 19: nme" +#define PHUSTR_20 "level 20: the death domain" + +#define PHUSTR_21 "level 21: slayer" +#define PHUSTR_22 "level 22: impossible mission" +#define PHUSTR_23 "level 23: tombstone" +#define PHUSTR_24 "level 24: the final frontier" +#define PHUSTR_25 "level 25: the temple of darkness" +#define PHUSTR_26 "level 26: bunker" +#define PHUSTR_27 "level 27: anti-christ" +#define PHUSTR_28 "level 28: the sewers" +#define PHUSTR_29 "level 29: odyssey of noises" +#define PHUSTR_30 "level 30: the gateway of hell" + +#define PHUSTR_31 "level 31: cyberden" +#define PHUSTR_32 "level 32: go 2 it" + +#define THUSTR_1 "level 1: system control" +#define THUSTR_2 "level 2: human bbq" +#define THUSTR_3 "level 3: power control" +#define THUSTR_4 "level 4: wormhole" +#define THUSTR_5 "level 5: hanger" +#define THUSTR_6 "level 6: open season" +#define THUSTR_7 "level 7: prison" +#define THUSTR_8 "level 8: metal" +#define THUSTR_9 "level 9: stronghold" +#define THUSTR_10 "level 10: redemption" +#define THUSTR_11 "level 11: storage facility" + +#define THUSTR_12 "level 12: crater" +#define THUSTR_13 "level 13: nukage processing" +#define THUSTR_14 "level 14: steel works" +#define THUSTR_15 "level 15: dead zone" +#define THUSTR_16 "level 16: deepest reaches" +#define THUSTR_17 "level 17: processing area" +#define THUSTR_18 "level 18: mill" +#define THUSTR_19 "level 19: shipping/respawning" +#define THUSTR_20 "level 20: central processing" + +#define THUSTR_21 "level 21: administration center" +#define THUSTR_22 "level 22: habitat" +#define THUSTR_23 "level 23: lunar mining project" +#define THUSTR_24 "level 24: quarry" +#define THUSTR_25 "level 25: baron's den" +#define THUSTR_26 "level 26: ballistyx" +#define THUSTR_27 "level 27: mount pain" +#define THUSTR_28 "level 28: heck" +#define THUSTR_29 "level 29: river styx" +#define THUSTR_30 "level 30: last call" + +#define THUSTR_31 "level 31: pharaoh" +#define THUSTR_32 "level 32: caribbean" + +#define HUSTR_CHATMACRO1 "I'm ready to kick butt!" +#define HUSTR_CHATMACRO2 "I'm OK." +#define HUSTR_CHATMACRO3 "I'm not looking too good!" +#define HUSTR_CHATMACRO4 "Help!" +#define HUSTR_CHATMACRO5 "You suck!" +#define HUSTR_CHATMACRO6 "Next time, scumbag..." +#define HUSTR_CHATMACRO7 "Come here!" +#define HUSTR_CHATMACRO8 "I'll take care of it." +#define HUSTR_CHATMACRO9 "Yes" +#define HUSTR_CHATMACRO0 "No" + +#define HUSTR_TALKTOSELF1 "You mumble to yourself" +#define HUSTR_TALKTOSELF2 "Who's there?" +#define HUSTR_TALKTOSELF3 "You scare yourself" +#define HUSTR_TALKTOSELF4 "You start to rave" +#define HUSTR_TALKTOSELF5 "You've lost it..." + +#define HUSTR_MESSAGESENT "[Message Sent]" + +// The following should NOT be changed unless it seems +// just AWFULLY necessary + +#define HUSTR_PLRGREEN "Green: " +#define HUSTR_PLRINDIGO "Indigo: " +#define HUSTR_PLRBROWN "Brown: " +#define HUSTR_PLRRED "Red: " + +#define HUSTR_KEYGREEN 'g' +#define HUSTR_KEYINDIGO 'i' +#define HUSTR_KEYBROWN 'b' +#define HUSTR_KEYRED 'r' + +// +// AM_map.C +// + +#define AMSTR_FOLLOWON "Follow Mode ON" +#define AMSTR_FOLLOWOFF "Follow Mode OFF" + +#define AMSTR_GRIDON "Grid ON" +#define AMSTR_GRIDOFF "Grid OFF" + +#define AMSTR_MARKEDSPOT "Marked Spot" +#define AMSTR_MARKSCLEARED "All Marks Cleared" + +// +// ST_stuff.C +// + +#define STSTR_MUS "Music Change" +#define STSTR_NOMUS "IMPOSSIBLE SELECTION" +#define STSTR_DQDON "Degreelessness Mode On" +#define STSTR_DQDOFF "Degreelessness Mode Off" + +#define STSTR_KFAADDED "Very Happy Ammo Added" +#define STSTR_FAADDED "Ammo (no keys) Added" + +#define STSTR_NCON "No Clipping Mode ON" +#define STSTR_NCOFF "No Clipping Mode OFF" + +#define STSTR_BEHOLD "inVuln, Str, Inviso, Rad, Allmap, or Lite-amp" +#define STSTR_BEHOLDX "Power-up Toggled" + +#define STSTR_CHOPPERS "... doesn't suck - GM" +#define STSTR_CLEV "Changing Level..." + +// +// F_Finale.C +// +#define E1TEXT \ +"Once you beat the big badasses and\n"\ +"clean out the moon base you're supposed\n"\ +"to win, aren't you? Aren't you? Where's\n"\ +"your fat reward and ticket home? What\n"\ +"the hell is this? It's not supposed to\n"\ +"end this way!\n"\ +"\n" \ +"It stinks like rotten meat, but looks\n"\ +"like the lost Deimos base. Looks like\n"\ +"you're stuck on The Shores of Hell.\n"\ +"The only way out is through.\n"\ +"\n"\ +"To continue the DOOM experience, play\n"\ +"The Shores of Hell and its amazing\n"\ +"sequel, Inferno!\n" + + +#define E2TEXT \ +"You've done it! The hideous cyber-\n"\ +"demon lord that ruled the lost Deimos\n"\ +"moon base has been slain and you\n"\ +"are triumphant! But ... where are\n"\ +"you? You clamber to the edge of the\n"\ +"moon and look down to see the awful\n"\ +"truth.\n" \ +"\n"\ +"Deimos floats above Hell itself!\n"\ +"You've never heard of anyone escaping\n"\ +"from Hell, but you'll make the bastards\n"\ +"sorry they ever heard of you! Quickly,\n"\ +"you rappel down to the surface of\n"\ +"Hell.\n"\ +"\n" \ +"Now, it's on to the final chapter of\n"\ +"DOOM! -- Inferno." + + +#define E3TEXT \ +"The loathsome spiderdemon that\n"\ +"masterminded the invasion of the moon\n"\ +"bases and caused so much death has had\n"\ +"its ass kicked for all time.\n"\ +"\n"\ +"A hidden doorway opens and you enter.\n"\ +"You've proven too tough for Hell to\n"\ +"contain, and now Hell at last plays\n"\ +"fair -- for you emerge from the door\n"\ +"to see the green fields of Earth!\n"\ +"Home at last.\n" \ +"\n"\ +"You wonder what's been happening on\n"\ +"Earth while you were battling evil\n"\ +"unleashed. It's good that no Hell-\n"\ +"spawn could have come through that\n"\ +"door with you ..." + + +#define E4TEXT \ +"the spider mastermind must have sent forth\n"\ +"its legions of hellspawn before your\n"\ +"final confrontation with that terrible\n"\ +"beast from hell. but you stepped forward\n"\ +"and brought forth eternal damnation and\n"\ +"suffering upon the horde as a true hero\n"\ +"would in the face of something so evil.\n"\ +"\n"\ +"besides, someone was gonna pay for what\n"\ +"happened to daisy, your pet rabbit.\n"\ +"\n"\ +"but now, you see spread before you more\n"\ +"potential pain and gibbitude as a nation\n"\ +"of demons run amok among our cities.\n"\ +"\n"\ +"next stop, hell on earth!" + + +// after level 6, put this: + +#define C1TEXT \ +"YOU HAVE ENTERED DEEPLY INTO THE INFESTED\n" \ +"STARPORT. BUT SOMETHING IS WRONG. THE\n" \ +"MONSTERS HAVE BROUGHT THEIR OWN REALITY\n" \ +"WITH THEM, AND THE STARPORT'S TECHNOLOGY\n" \ +"IS BEING SUBVERTED BY THEIR PRESENCE.\n" \ +"\n"\ +"AHEAD, YOU SEE AN OUTPOST OF HELL, A\n" \ +"FORTIFIED ZONE. IF YOU CAN GET PAST IT,\n" \ +"YOU CAN PENETRATE INTO THE HAUNTED HEART\n" \ +"OF THE STARBASE AND FIND THE CONTROLLING\n" \ +"SWITCH WHICH HOLDS EARTH'S POPULATION\n" \ +"HOSTAGE." + +// After level 11, put this: + +#define C2TEXT \ +"YOU HAVE WON! YOUR VICTORY HAS ENABLED\n" \ +"HUMANKIND TO EVACUATE EARTH AND ESCAPE\n"\ +"THE NIGHTMARE. NOW YOU ARE THE ONLY\n"\ +"HUMAN LEFT ON THE FACE OF THE PLANET.\n"\ +"CANNIBAL MUTATIONS, CARNIVOROUS ALIENS,\n"\ +"AND EVIL SPIRITS ARE YOUR ONLY NEIGHBORS.\n"\ +"YOU SIT BACK AND WAIT FOR DEATH, CONTENT\n"\ +"THAT YOU HAVE SAVED YOUR SPECIES.\n"\ +"\n"\ +"BUT THEN, EARTH CONTROL BEAMS DOWN A\n"\ +"MESSAGE FROM SPACE: \"SENSORS HAVE LOCATED\n"\ +"THE SOURCE OF THE ALIEN INVASION. IF YOU\n"\ +"GO THERE, YOU MAY BE ABLE TO BLOCK THEIR\n"\ +"ENTRY. THE ALIEN BASE IS IN THE HEART OF\n"\ +"YOUR OWN HOME CITY, NOT FAR FROM THE\n"\ +"STARPORT.\" SLOWLY AND PAINFULLY YOU GET\n"\ +"UP AND RETURN TO THE FRAY." + + +// After level 20, put this: + +#define C3TEXT \ +"YOU ARE AT THE CORRUPT HEART OF THE CITY,\n"\ +"SURROUNDED BY THE CORPSES OF YOUR ENEMIES.\n"\ +"YOU SEE NO WAY TO DESTROY THE CREATURES'\n"\ +"ENTRYWAY ON THIS SIDE, SO YOU CLENCH YOUR\n"\ +"TEETH AND PLUNGE THROUGH IT.\n"\ +"\n"\ +"THERE MUST BE A WAY TO CLOSE IT ON THE\n"\ +"OTHER SIDE. WHAT DO YOU CARE IF YOU'VE\n"\ +"GOT TO GO THROUGH HELL TO GET TO IT?" + + +// After level 29, put this: + +#define C4TEXT \ +"THE HORRENDOUS VISAGE OF THE BIGGEST\n"\ +"DEMON YOU'VE EVER SEEN CRUMBLES BEFORE\n"\ +"YOU, AFTER YOU PUMP YOUR ROCKETS INTO\n"\ +"HIS EXPOSED BRAIN. THE MONSTER SHRIVELS\n"\ +"UP AND DIES, ITS THRASHING LIMBS\n"\ +"DEVASTATING UNTOLD MILES OF HELL'S\n"\ +"SURFACE.\n"\ +"\n"\ +"YOU'VE DONE IT. THE INVASION IS OVER.\n"\ +"EARTH IS SAVED. HELL IS A WRECK. YOU\n"\ +"WONDER WHERE BAD FOLKS WILL GO WHEN THEY\n"\ +"DIE, NOW. WIPING THE SWEAT FROM YOUR\n"\ +"FOREHEAD YOU BEGIN THE LONG TREK BACK\n"\ +"HOME. REBUILDING EARTH OUGHT TO BE A\n"\ +"LOT MORE FUN THAN RUINING IT WAS.\n" + + + +// Before level 31, put this: + +#define C5TEXT \ +"CONGRATULATIONS, YOU'VE FOUND THE SECRET\n"\ +"LEVEL! LOOKS LIKE IT'S BEEN BUILT BY\n"\ +"HUMANS, RATHER THAN DEMONS. YOU WONDER\n"\ +"WHO THE INMATES OF THIS CORNER OF HELL\n"\ +"WILL BE." + + +// Before level 32, put this: + +#define C6TEXT \ +"CONGRATULATIONS, YOU'VE FOUND THE\n"\ +"SUPER SECRET LEVEL! YOU'D BETTER\n"\ +"BLAZE THROUGH THIS ONE!\n" + + +// after map 06 + +#define P1TEXT \ +"You gloat over the steaming carcass of the\n"\ +"Guardian. With its death, you've wrested\n"\ +"the Accelerator from the stinking claws\n"\ +"of Hell. You relax and glance around the\n"\ +"room. Damn! There was supposed to be at\n"\ +"least one working prototype, but you can't\n"\ +"see it. The demons must have taken it.\n"\ +"\n"\ +"You must find the prototype, or all your\n"\ +"struggles will have been wasted. Keep\n"\ +"moving, keep fighting, keep killing.\n"\ +"Oh yes, keep living, too." + + +// after map 11 + +#define P2TEXT \ +"Even the deadly Arch-Vile labyrinth could\n"\ +"not stop you, and you've gotten to the\n"\ +"prototype Accelerator which is soon\n"\ +"efficiently and permanently deactivated.\n"\ +"\n"\ +"You're good at that kind of thing." + + +// after map 20 + +#define P3TEXT \ +"You've bashed and battered your way into\n"\ +"the heart of the devil-hive. Time for a\n"\ +"Search-and-Destroy mission, aimed at the\n"\ +"Gatekeeper, whose foul offspring is\n"\ +"cascading to Earth. Yeah, he's bad. But\n"\ +"you know who's worse!\n"\ +"\n"\ +"Grinning evilly, you check your gear, and\n"\ +"get ready to give the bastard a little Hell\n"\ +"of your own making!" + +// after map 30 + +#define P4TEXT \ +"The Gatekeeper's evil face is splattered\n"\ +"all over the place. As its tattered corpse\n"\ +"collapses, an inverted Gate forms and\n"\ +"sucks down the shards of the last\n"\ +"prototype Accelerator, not to mention the\n"\ +"few remaining demons. You're done. Hell\n"\ +"has gone back to pounding bad dead folks \n"\ +"instead of good live ones. Remember to\n"\ +"tell your grandkids to put a rocket\n"\ +"launcher in your coffin. If you go to Hell\n"\ +"when you die, you'll need it for some\n"\ +"final cleaning-up ..." + +// before map 31 + +#define P5TEXT \ +"You've found the second-hardest level we\n"\ +"got. Hope you have a saved game a level or\n"\ +"two previous. If not, be prepared to die\n"\ +"aplenty. For master marines only." + +// before map 32 + +#define P6TEXT \ +"Betcha wondered just what WAS the hardest\n"\ +"level we had ready for ya? Now you know.\n"\ +"No one gets out alive." + + +#define T1TEXT \ +"You've fought your way out of the infested\n"\ +"experimental labs. It seems that UAC has\n"\ +"once again gulped it down. With their\n"\ +"high turnover, it must be hard for poor\n"\ +"old UAC to buy corporate health insurance\n"\ +"nowadays..\n"\ +"\n"\ +"Ahead lies the military complex, now\n"\ +"swarming with diseased horrors hot to get\n"\ +"their teeth into you. With luck, the\n"\ +"complex still has some warlike ordnance\n"\ +"laying around." + + +#define T2TEXT \ +"You hear the grinding of heavy machinery\n"\ +"ahead. You sure hope they're not stamping\n"\ +"out new hellspawn, but you're ready to\n"\ +"ream out a whole herd if you have to.\n"\ +"They might be planning a blood feast, but\n"\ +"you feel about as mean as two thousand\n"\ +"maniacs packed into one mad killer.\n"\ +"\n"\ +"You don't plan to go down easy." + + +#define T3TEXT \ +"The vista opening ahead looks real damn\n"\ +"familiar. Smells familiar, too -- like\n"\ +"fried excrement. You didn't like this\n"\ +"place before, and you sure as hell ain't\n"\ +"planning to like it now. The more you\n"\ +"brood on it, the madder you get.\n"\ +"Hefting your gun, an evil grin trickles\n"\ +"onto your face. Time to take some names." + +#define T4TEXT \ +"Suddenly, all is silent, from one horizon\n"\ +"to the other. The agonizing echo of Hell\n"\ +"fades away, the nightmare sky turns to\n"\ +"blue, the heaps of monster corpses start \n"\ +"to evaporate along with the evil stench \n"\ +"that filled the air. Jeeze, maybe you've\n"\ +"done it. Have you really won?\n"\ +"\n"\ +"Something rumbles in the distance.\n"\ +"A blue light begins to glow inside the\n"\ +"ruined skull of the demon-spitter." + + +#define T5TEXT \ +"What now? Looks totally different. Kind\n"\ +"of like King Tut's condo. Well,\n"\ +"whatever's here can't be any worse\n"\ +"than usual. Can it? Or maybe it's best\n"\ +"to let sleeping gods lie.." + + +#define T6TEXT \ +"Time for a vacation. You've burst the\n"\ +"bowels of hell and by golly you're ready\n"\ +"for a break. You mutter to yourself,\n"\ +"Maybe someone else can kick Hell's ass\n"\ +"next time around. Ahead lies a quiet town,\n"\ +"with peaceful flowing water, quaint\n"\ +"buildings, and presumably no Hellspawn.\n"\ +"\n"\ +"As you step off the transport, you hear\n"\ +"the stomp of a cyberdemon's iron shoe." + + + +// +// Character cast strings F_FINALE.C +// +#define CC_ZOMBIE "ZOMBIEMAN" +#define CC_SHOTGUN "SHOTGUN GUY" +#define CC_HEAVY "HEAVY WEAPON DUDE" +#define CC_IMP "IMP" +#define CC_DEMON "DEMON" +#define CC_LOST "LOST SOUL" +#define CC_CACO "CACODEMON" +#define CC_HELL "HELL KNIGHT" +#define CC_BARON "BARON OF HELL" +#define CC_ARACH "ARACHNOTRON" +#define CC_PAIN "PAIN ELEMENTAL" +#define CC_REVEN "REVENANT" +#define CC_MANCU "MANCUBUS" +#define CC_ARCH "ARCH-VILE" +#define CC_SPIDER "THE SPIDER MASTERMIND" +#define CC_CYBER "THE CYBERDEMON" +#define CC_HERO "OUR HERO" + + +#endif diff --git a/src/kernel/userland/doom/d_event.c b/src/kernel/userland/doom/d_event.c new file mode 100644 index 0000000..3eef572 --- /dev/null +++ b/src/kernel/userland/doom/d_event.c @@ -0,0 +1,63 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// +// DESCRIPTION: Event handling. +// +// Events are asynchronous inputs generally generated by the game user. +// Events can be discarded if no responder claims them +// + +#include +#include "d_event.h" + +#define MAXEVENTS 64 + +static event_t events[MAXEVENTS]; +static int eventhead; +static int eventtail; + +// +// D_PostEvent +// Called by the I/O functions when input is detected +// +void D_PostEvent (event_t* ev) +{ + events[eventhead] = *ev; + eventhead = (eventhead + 1) % MAXEVENTS; +} + +// Read an event from the queue. + +event_t *D_PopEvent(void) +{ + event_t *result; + + // No more events waiting. + + if (eventtail == eventhead) + { + return NULL; + } + + result = &events[eventtail]; + + // Advance to the next event in the queue. + + eventtail = (eventtail + 1) % MAXEVENTS; + + return result; +} + + diff --git a/src/kernel/userland/doom/d_event.h b/src/kernel/userland/doom/d_event.h new file mode 100644 index 0000000..c9374b2 --- /dev/null +++ b/src/kernel/userland/doom/d_event.h @@ -0,0 +1,137 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// +// + + +#ifndef __D_EVENT__ +#define __D_EVENT__ + + +#include "doomtype.h" + + +// +// Event handling. +// + +// Input event types. +typedef enum +{ + ev_keydown, + ev_keyup, + ev_mouse, + ev_joystick, + ev_quit +} evtype_t; + +// Event structure. +typedef struct +{ + evtype_t type; + + // Event-related data that depends on the type of event: + // + // ev_keydown/ev_keyup: + // data1: Key code (from doomkeys.h) of the key that was + // pressed or released. + // data2: Ascii text of the character that was pressed, + // shifted appropriately (eg. '$' if 4 was pressed + // while shift was held). + // + // ev_mouse: + // data1: Bitfield of buttons currently held down. + // (bit 0 = left; bit 1 = right; bit 2 = middle). + // data2: X axis mouse movement (turn). + // data3: Y axis mouse movement (forward/backward). + // + // ev_joystick: + // data1: Bitfield of buttons currently pressed. + // data2: X axis mouse movement (turn). + // data3: Y axis mouse movement (forward/backward). + // data4: Third axis mouse movement (strafe). + + int data1, data2, data3, data4; +} event_t; + + +// +// Button/action code definitions. +// +typedef enum +{ + // Press "Fire". + BT_ATTACK = 1, + // Use button, to open doors, activate switches. + BT_USE = 2, + + // Flag: game events, not really buttons. + BT_SPECIAL = 128, + BT_SPECIALMASK = 3, + + // Flag, weapon change pending. + // If true, the next 3 bits hold weapon num. + BT_CHANGE = 4, + // The 3bit weapon mask and shift, convenience. + BT_WEAPONMASK = (8+16+32), + BT_WEAPONSHIFT = 3, + + // Pause the game. + BTS_PAUSE = 1, + // Save the game at each console. + BTS_SAVEGAME = 2, + + // Savegame slot numbers + // occupy the second byte of buttons. + BTS_SAVEMASK = (4+8+16), + BTS_SAVESHIFT = 2, + +} buttoncode_t; + +// villsa [STRIFE] Strife specific buttons +// TODO - not finished +typedef enum +{ + // Player view look up + BT2_LOOKUP = 1, + // Player view look down + BT2_LOOKDOWN = 2, + // Center player's view + BT2_CENTERVIEW = 4, + // Use inventory item + BT2_INVUSE = 8, + // Drop inventory item + BT2_INVDROP = 16, + // Jump up and down + BT2_JUMP = 32, + // Use medkit + BT2_HEALTH = 128, + +} buttoncode2_t; + + + + +// Called by IO functions when input is detected. +void D_PostEvent (event_t *ev); + +// Read an event from the event queue + +event_t *D_PopEvent(void); + + +#endif + diff --git a/src/kernel/userland/doom/d_items.c b/src/kernel/userland/doom/d_items.c new file mode 100644 index 0000000..33f310c --- /dev/null +++ b/src/kernel/userland/doom/d_items.c @@ -0,0 +1,128 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// + + +// We are referring to sprite numbers. +#include "info.h" + +#include "d_items.h" + + +// +// PSPRITE ACTIONS for waepons. +// This struct controls the weapon animations. +// +// Each entry is: +// ammo/amunition type +// upstate +// downstate +// readystate +// atkstate, i.e. attack/fire/hit frame +// flashstate, muzzle flash +// +weaponinfo_t weaponinfo[NUMWEAPONS] = +{ + { + // fist + am_noammo, + S_PUNCHUP, + S_PUNCHDOWN, + S_PUNCH, + S_PUNCH1, + S_NULL + }, + { + // pistol + am_clip, + S_PISTOLUP, + S_PISTOLDOWN, + S_PISTOL, + S_PISTOL1, + S_PISTOLFLASH + }, + { + // shotgun + am_shell, + S_SGUNUP, + S_SGUNDOWN, + S_SGUN, + S_SGUN1, + S_SGUNFLASH1 + }, + { + // chaingun + am_clip, + S_CHAINUP, + S_CHAINDOWN, + S_CHAIN, + S_CHAIN1, + S_CHAINFLASH1 + }, + { + // missile launcher + am_misl, + S_MISSILEUP, + S_MISSILEDOWN, + S_MISSILE, + S_MISSILE1, + S_MISSILEFLASH1 + }, + { + // plasma rifle + am_cell, + S_PLASMAUP, + S_PLASMADOWN, + S_PLASMA, + S_PLASMA1, + S_PLASMAFLASH1 + }, + { + // bfg 9000 + am_cell, + S_BFGUP, + S_BFGDOWN, + S_BFG, + S_BFG1, + S_BFGFLASH1 + }, + { + // chainsaw + am_noammo, + S_SAWUP, + S_SAWDOWN, + S_SAW, + S_SAW1, + S_NULL + }, + { + // super shotgun + am_shell, + S_DSGUNUP, + S_DSGUNDOWN, + S_DSGUN, + S_DSGUN1, + S_DSGUNFLASH1 + }, +}; + + + + + + + + diff --git a/src/kernel/userland/doom/d_items.h b/src/kernel/userland/doom/d_items.h new file mode 100644 index 0000000..3d22a06 --- /dev/null +++ b/src/kernel/userland/doom/d_items.h @@ -0,0 +1,41 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Items: key cards, artifacts, weapon, ammunition. +// + + +#ifndef __D_ITEMS__ +#define __D_ITEMS__ + +#include "doomdef.h" + + + +// Weapon info: sprite frames, ammunition use. +typedef struct +{ + ammotype_t ammo; + int upstate; + int downstate; + int readystate; + int atkstate; + int flashstate; + +} weaponinfo_t; + +extern weaponinfo_t weaponinfo[NUMWEAPONS]; + +#endif diff --git a/src/kernel/userland/doom/d_iwad.c b/src/kernel/userland/doom/d_iwad.c new file mode 100644 index 0000000..508cc61 --- /dev/null +++ b/src/kernel/userland/doom/d_iwad.c @@ -0,0 +1,848 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Search for and locate an IWAD file, and initialize according +// to the IWAD type. +// + +#include +#include +#include +#include + +#include "config.h" +#include "deh_str.h" +#include "doomkeys.h" +#include "d_iwad.h" +#include "i_system.h" +#include "m_argv.h" +#include "m_config.h" +#include "m_misc.h" +#include "w_wad.h" +#include "z_zone.h" + +static const iwad_t iwads[] = +{ + { "doom2.wad", doom2, commercial, "Doom II" }, + { "plutonia.wad", pack_plut, commercial, "Final Doom: Plutonia Experiment" }, + { "tnt.wad", pack_tnt, commercial, "Final Doom: TNT: Evilution" }, + { "doom.wad", doom, retail, "Doom" }, + { "doom1.wad", doom, shareware, "Doom Shareware" }, + { "chex.wad", pack_chex, shareware, "Chex Quest" }, + { "hacx.wad", pack_hacx, commercial, "Hacx" }, + { "freedm.wad", doom2, commercial, "FreeDM" }, + { "freedoom2.wad", doom2, commercial, "Freedoom: Phase 2" }, + { "freedoom1.wad", doom, retail, "Freedoom: Phase 1" }, + { "heretic.wad", heretic, retail, "Heretic" }, + { "heretic1.wad", heretic, shareware, "Heretic Shareware" }, + { "hexen.wad", hexen, commercial, "Hexen" }, + //{ "strife0.wad", strife, commercial, "Strife" }, // haleyjd: STRIFE-FIXME + { "strife1.wad", strife, commercial, "Strife" }, +}; + +// Array of locations to search for IWAD files +// +// "128 IWAD search directories should be enough for anybody". + +#define MAX_IWAD_DIRS 128 + +static boolean iwad_dirs_built = false; +static char *iwad_dirs[MAX_IWAD_DIRS]; +static int num_iwad_dirs = 0; + +static void AddIWADDir(char *dir) +{ + if (num_iwad_dirs < MAX_IWAD_DIRS) + { + iwad_dirs[num_iwad_dirs] = dir; + ++num_iwad_dirs; + } +} + +// This is Windows-specific code that automatically finds the location +// of installed IWAD files. The registry is inspected to find special +// keys installed by the Windows installers for various CD versions +// of Doom. From these keys we can deduce where to find an IWAD. + +#if defined(_WIN32) && !defined(_WIN32_WCE) + +#define WIN32_LEAN_AND_MEAN +#include + +typedef struct +{ + HKEY root; + char *path; + char *value; +} registry_value_t; + +#define UNINSTALLER_STRING "\\uninstl.exe /S " + +// Keys installed by the various CD editions. These are actually the +// commands to invoke the uninstaller and look like this: +// +// C:\Program Files\Path\uninstl.exe /S C:\Program Files\Path +// +// With some munging we can find where Doom was installed. + +// [AlexMax] From the persepctive of a 64-bit executable, 32-bit registry +// keys are located in a different spot. +#if _WIN64 +#define SOFTWARE_KEY "Software\\Wow6432Node" +#else +#define SOFTWARE_KEY "Software" +#endif + +static registry_value_t uninstall_values[] = +{ + // Ultimate Doom, CD version (Depths of Doom trilogy) + + { + HKEY_LOCAL_MACHINE, + SOFTWARE_KEY "\\Microsoft\\Windows\\CurrentVersion\\" + "Uninstall\\Ultimate Doom for Windows 95", + "UninstallString", + }, + + // Doom II, CD version (Depths of Doom trilogy) + + { + HKEY_LOCAL_MACHINE, + SOFTWARE_KEY "\\Microsoft\\Windows\\CurrentVersion\\" + "Uninstall\\Doom II for Windows 95", + "UninstallString", + }, + + // Final Doom + + { + HKEY_LOCAL_MACHINE, + SOFTWARE_KEY "\\Microsoft\\Windows\\CurrentVersion\\" + "Uninstall\\Final Doom for Windows 95", + "UninstallString", + }, + + // Shareware version + + { + HKEY_LOCAL_MACHINE, + SOFTWARE_KEY "\\Microsoft\\Windows\\CurrentVersion\\" + "Uninstall\\Doom Shareware for Windows 95", + "UninstallString", + }, +}; + +// Value installed by the Collector's Edition when it is installed + +static registry_value_t collectors_edition_value = +{ + HKEY_LOCAL_MACHINE, + SOFTWARE_KEY "\\Activision\\DOOM Collector's Edition\\v1.0", + "INSTALLPATH", +}; + +// Subdirectories of the above install path, where IWADs are installed. + +static char *collectors_edition_subdirs[] = +{ + "Doom2", + "Final Doom", + "Ultimate Doom", +}; + +// Location where Steam is installed + +static registry_value_t steam_install_location = +{ + HKEY_LOCAL_MACHINE, + SOFTWARE_KEY "\\Valve\\Steam", + "InstallPath", +}; + +// Subdirs of the steam install directory where IWADs are found + +static char *steam_install_subdirs[] = +{ + "steamapps\\common\\doom 2\\base", + "steamapps\\common\\final doom\\base", + "steamapps\\common\\ultimate doom\\base", + "steamapps\\common\\heretic shadow of the serpent riders\\base", + "steamapps\\common\\hexen\\base", + "steamapps\\common\\hexen deathkings of the dark citadel\\base", + + // From Doom 3: BFG Edition: + + "steamapps\\common\\DOOM 3 BFG Edition\\base\\wads", +}; + +#define STEAM_BFG_GUS_PATCHES \ + "steamapps\\common\\DOOM 3 BFG Edition\\base\\classicmusic\\instruments" + +static char *GetRegistryString(registry_value_t *reg_val) +{ + HKEY key; + DWORD len; + DWORD valtype; + char *result; + + // Open the key (directory where the value is stored) + + if (RegOpenKeyEx(reg_val->root, reg_val->path, + 0, KEY_READ, &key) != ERROR_SUCCESS) + { + return NULL; + } + + result = NULL; + + // Find the type and length of the string, and only accept strings. + + if (RegQueryValueEx(key, reg_val->value, + NULL, &valtype, NULL, &len) == ERROR_SUCCESS + && valtype == REG_SZ) + { + // Allocate a buffer for the value and read the value + + result = malloc(len); + + if (RegQueryValueEx(key, reg_val->value, NULL, &valtype, + (unsigned char *) result, &len) != ERROR_SUCCESS) + { + free(result); + result = NULL; + } + } + + // Close the key + + RegCloseKey(key); + + return result; +} + +// Check for the uninstall strings from the CD versions + +static void CheckUninstallStrings(void) +{ + unsigned int i; + + for (i=0; i 0) + { + return; + } + + install_path = GetRegistryString(&steam_install_location); + + if (install_path == NULL) + { + return; + } + + len = strlen(install_path) + strlen(STEAM_BFG_GUS_PATCHES) + 20; + patch_path = malloc(len); + M_snprintf(patch_path, len, "%s\\%s\\ACBASS.PAT", + install_path, STEAM_BFG_GUS_PATCHES); + + // Does acbass.pat exist? If so, then set gus_patch_path. + if (M_FileExists(patch_path)) + { + M_snprintf(patch_path, len, "%s\\%s", + install_path, STEAM_BFG_GUS_PATCHES); + M_SetVariable("gus_patch_path", patch_path); + } + + free(patch_path); + free(install_path); +} + +// Default install directories for DOS Doom + +static void CheckDOSDefaults(void) +{ + // These are the default install directories used by the deice + // installer program: + + AddIWADDir("\\doom2"); // Doom II + AddIWADDir("\\plutonia"); // Final Doom + AddIWADDir("\\tnt"); + AddIWADDir("\\doom_se"); // Ultimate Doom + AddIWADDir("\\doom"); // Shareware / Registered Doom + AddIWADDir("\\dooms"); // Shareware versions + AddIWADDir("\\doomsw"); + + AddIWADDir("\\heretic"); // Heretic + AddIWADDir("\\hrtic_se"); // Heretic Shareware from Quake disc + + AddIWADDir("\\hexen"); // Hexen + AddIWADDir("\\hexendk"); // Hexen Deathkings of the Dark Citadel + + AddIWADDir("\\strife"); // Strife +} + +#endif + +// Returns true if the specified path is a path to a file +// of the specified name. + +static boolean DirIsFile(char *path, char *filename) +{ + size_t path_len; + size_t filename_len; + + path_len = strlen(path); + filename_len = strlen(filename); + + return path_len >= filename_len + 1 + && path[path_len - filename_len - 1] == DIR_SEPARATOR + && !strcasecmp(&path[path_len - filename_len], filename); +} + +// Check if the specified directory contains the specified IWAD +// file, returning the full path to the IWAD if found, or NULL +// if not found. + +static char *CheckDirectoryHasIWAD(char *dir, char *iwadname) +{ + char *filename; + + // As a special case, the "directory" may refer directly to an + // IWAD file if the path comes from DOOMWADDIR or DOOMWADPATH. + + if (DirIsFile(dir, iwadname) && M_FileExists(dir)) + { + return strdup(dir); + } + + // Construct the full path to the IWAD if it is located in + // this directory, and check if it exists. + + if (!strcmp(dir, ".")) + { + filename = strdup(iwadname); + } + else + { + filename = M_StringJoin(dir, DIR_SEPARATOR_S, iwadname, NULL); + } + + printf("Trying IWAD file:%s\n", filename); + + if (M_FileExists(filename)) + { + return filename; + } + + free(filename); + + return NULL; +} + +// Search a directory to try to find an IWAD +// Returns the location of the IWAD if found, otherwise NULL. + +static char *SearchDirectoryForIWAD(char *dir, int mask, GameMission_t *mission) +{ + char *filename; + size_t i; + + for (i=0; i + // + + iwadparm = M_CheckParmWithArgs("-iwad", 1); + + if (iwadparm) + { + // Search through IWAD dirs for an IWAD with the given name. + + iwadfile = myargv[iwadparm + 1]; + + result = D_FindWADByName(iwadfile); + + if (result == NULL) + { + I_Error("IWAD file '%s' not found!", iwadfile); + } + + *mission = IdentifyIWADByName(result, mask); + } + else + { + // Search through the list and look for an IWAD + + printf("-iwad not specified, trying a few iwad names\n"); + + result = NULL; + + BuildIWADDirList(); + + for (i=0; result == NULL && i +#include + +#include "doomfeatures.h" + +#include "d_event.h" +#include "d_loop.h" +#include "d_ticcmd.h" + +#include "i_system.h" +#include "i_timer.h" +#include "i_video.h" + +#include "m_argv.h" +#include "m_fixed.h" + +#include "net_client.h" +#include "net_gui.h" +#include "net_io.h" +#include "net_query.h" +#include "net_server.h" +#include "net_sdl.h" +#include "net_loop.h" + +// The complete set of data for a particular tic. + +typedef struct +{ + ticcmd_t cmds[NET_MAXPLAYERS]; + boolean ingame[NET_MAXPLAYERS]; +} ticcmd_set_t; + +// +// gametic is the tic about to (or currently being) run +// maketic is the tic that hasn't had control made for it yet +// recvtic is the latest tic received from the server. +// +// a gametic cannot be run until ticcmds are received for it +// from all players. +// + +static ticcmd_set_t ticdata[BACKUPTICS]; + +// The index of the next tic to be made (with a call to BuildTiccmd). + +static int maketic; + +// The number of complete tics received from the server so far. + +static int recvtic; + +// The number of tics that have been run (using RunTic) so far. + +int gametic; + +// When set to true, a single tic is run each time TryRunTics() is called. +// This is used for -timedemo mode. + +boolean singletics = false; + +// Index of the local player. + +static int localplayer; + +// Used for original sync code. + +static int skiptics = 0; + +// Reduce the bandwidth needed by sampling game input less and transmitting +// less. If ticdup is 2, sample half normal, 3 = one third normal, etc. + +int ticdup; + +// Amount to offset the timer for game sync. + +fixed_t offsetms; + +// Use new client syncronisation code + +static boolean new_sync = true; + +// Callback functions for loop code. + +static loop_interface_t *loop_interface = NULL; + +// Current players in the multiplayer game. +// This is distinct from playeringame[] used by the game code, which may +// modify playeringame[] when playing back multiplayer demos. + +static boolean local_playeringame[NET_MAXPLAYERS]; + +// Requested player class "sent" to the server on connect. +// If we are only doing a single player game then this needs to be remembered +// and saved in the game settings. + +static int player_class; + + +// 35 fps clock adjusted by offsetms milliseconds + +static int GetAdjustedTime(void) +{ + int time_ms; + + time_ms = I_GetTimeMS(); + + if (new_sync) + { + // Use the adjustments from net_client.c only if we are + // using the new sync mode. + + time_ms += (offsetms / FRACUNIT); + } + + return (time_ms * TICRATE) / 1000; +} + +static boolean BuildNewTic(void) +{ + int gameticdiv; + ticcmd_t cmd; + + gameticdiv = gametic/ticdup; + + I_StartTic (); + loop_interface->ProcessEvents(); + + // Always run the menu + + loop_interface->RunMenu(); + + if (drone) + { + // In drone mode, do not generate any ticcmds. + + return false; + } + + if (new_sync) + { + // If playing single player, do not allow tics to buffer + // up very far + + if (!net_client_connected && maketic - gameticdiv > 2) + return false; + + // Never go more than ~200ms ahead + + if (maketic - gameticdiv > 8) + return false; + } + else + { + if (maketic - gameticdiv >= 5) + return false; + } + + //printf ("mk:%i ",maketic); + memset(&cmd, 0, sizeof(ticcmd_t)); + loop_interface->BuildTiccmd(&cmd, maketic); + +#ifdef FEATURE_MULTIPLAYER + + if (net_client_connected) + { + NET_CL_SendTiccmd(&cmd, maketic); + } + +#endif + ticdata[maketic % BACKUPTICS].cmds[localplayer] = cmd; + ticdata[maketic % BACKUPTICS].ingame[localplayer] = true; + + ++maketic; + + return true; +} + +// +// NetUpdate +// Builds ticcmds for console player, +// sends out a packet +// +int lasttime; + +void NetUpdate (void) +{ + int nowtime; + int newtics; + int i; + + // If we are running with singletics (timing a demo), this + // is all done separately. + + if (singletics) + return; + +#ifdef FEATURE_MULTIPLAYER + + // Run network subsystems + + NET_CL_Run(); + NET_SV_Run(); + +#endif + + // check time + nowtime = GetAdjustedTime() / ticdup; + newtics = nowtime - lasttime; + + lasttime = nowtime; + + if (skiptics <= newtics) + { + newtics -= skiptics; + skiptics = 0; + } + else + { + skiptics -= newtics; + newtics = 0; + } + + // build new ticcmds for console player + + for (i=0 ; iconsoleplayer = 0; + settings->num_players = 1; + settings->player_classes[0] = player_class; + + //! + // @category net + // + // Use new network client sync code rather than the classic + // sync code. This is currently disabled by default because it + // has some bugs. + // + if (M_CheckParm("-newsync") > 0) + settings->new_sync = 1; + else + settings->new_sync = 0; + + // TODO: New sync code is not enabled by default because it's + // currently broken. + //if (M_CheckParm("-oldsync") > 0) + // settings->new_sync = 0; + //else + // settings->new_sync = 1; + + //! + // @category net + // @arg + // + // Send n extra tics in every packet as insurance against dropped + // packets. + // + + i = M_CheckParmWithArgs("-extratics", 1); + + if (i > 0) + settings->extratics = atoi(myargv[i+1]); + else + settings->extratics = 1; + + //! + // @category net + // @arg + // + // Reduce the resolution of the game by a factor of n, reducing + // the amount of network bandwidth needed. + // + + i = M_CheckParmWithArgs("-dup", 1); + + if (i > 0) + settings->ticdup = atoi(myargv[i+1]); + else + settings->ticdup = 1; + + if (net_client_connected) + { + // Send our game settings and block until game start is received + // from the server. + + NET_CL_StartGame(settings); + BlockUntilStart(settings, callback); + + // Read the game settings that were received. + + NET_CL_GetSettings(settings); + } + + if (drone) + { + settings->consoleplayer = 0; + } + + // Set the local player and playeringame[] values. + + localplayer = settings->consoleplayer; + + for (i = 0; i < NET_MAXPLAYERS; ++i) + { + local_playeringame[i] = i < settings->num_players; + } + + // Copy settings to global variables. + + ticdup = settings->ticdup; + new_sync = settings->new_sync; + + // TODO: Message disabled until we fix new_sync. + //if (!new_sync) + //{ + // printf("Syncing netgames like Vanilla Doom.\n"); + //} +#else + settings->consoleplayer = 0; + settings->num_players = 1; + settings->player_classes[0] = player_class; + settings->new_sync = 0; + settings->extratics = 1; + settings->ticdup = 1; + + ticdup = settings->ticdup; + new_sync = settings->new_sync; +#endif +} + +boolean D_InitNetGame(net_connect_data_t *connect_data) +{ + boolean result = false; +#ifdef FEATURE_MULTIPLAYER + net_addr_t *addr = NULL; + int i; +#endif + + // Call D_QuitNetGame on exit: + + I_AtExit(D_QuitNetGame, true); + + player_class = connect_data->player_class; + +#ifdef FEATURE_MULTIPLAYER + + //! + // @category net + // + // Start a multiplayer server, listening for connections. + // + + if (M_CheckParm("-server") > 0 + || M_CheckParm("-privateserver") > 0) + { + NET_SV_Init(); + NET_SV_AddModule(&net_loop_server_module); + NET_SV_AddModule(&net_sdl_module); + NET_SV_RegisterWithMaster(); + + net_loop_client_module.InitClient(); + addr = net_loop_client_module.ResolveAddress(NULL); + } + else + { + //! + // @category net + // + // Automatically search the local LAN for a multiplayer + // server and join it. + // + + i = M_CheckParm("-autojoin"); + + if (i > 0) + { + addr = NET_FindLANServer(); + + if (addr == NULL) + { + I_Error("No server found on local LAN"); + } + } + + //! + // @arg

    + // @category net + // + // Connect to a multiplayer server running on the given + // address. + // + + i = M_CheckParmWithArgs("-connect", 1); + + if (i > 0) + { + net_sdl_module.InitClient(); + addr = net_sdl_module.ResolveAddress(myargv[i+1]); + + if (addr == NULL) + { + I_Error("Unable to resolve '%s'\n", myargv[i+1]); + } + } + } + + if (addr != NULL) + { + if (M_CheckParm("-drone") > 0) + { + connect_data->drone = true; + } + + if (!NET_CL_Connect(addr, connect_data)) + { + I_Error("D_InitNetGame: Failed to connect to %s\n", + NET_AddrToString(addr)); + } + + printf("D_InitNetGame: Connected to %s\n", NET_AddrToString(addr)); + + // Wait for launch message received from server. + + NET_WaitForLaunch(); + + result = true; + } +#endif + + return result; +} + + +// +// D_QuitNetGame +// Called before quitting to leave a net game +// without hanging the other players +// +void D_QuitNetGame (void) +{ +#ifdef FEATURE_MULTIPLAYER + NET_SV_Shutdown(); + NET_CL_Disconnect(); +#endif +} + +static int GetLowTic(void) +{ + int lowtic; + + lowtic = maketic; + +#ifdef FEATURE_MULTIPLAYER + if (net_client_connected) + { + if (drone || recvtic < lowtic) + { + lowtic = recvtic; + } + } +#endif + + return lowtic; +} + +static int frameon; +static int frameskip[4]; +static int oldnettics; + +static void OldNetSync(void) +{ + unsigned int i; + int keyplayer = -1; + + frameon++; + + // ideally maketic should be 1 - 3 tics above lowtic + // if we are consistantly slower, speed up time + + for (i=0 ; i recvtic; + oldnettics = maketic; + + if (frameskip[0] && frameskip[1] && frameskip[2] && frameskip[3]) + { + skiptics = 1; + // printf ("+"); + } + } +} + +// Returns true if there are players in the game: + +static boolean PlayersInGame(void) +{ + boolean result = false; + unsigned int i; + + // If we are connected to a server, check if there are any players + // in the game. + + if (net_client_connected) + { + for (i = 0; i < NET_MAXPLAYERS; ++i) + { + result = result || local_playeringame[i]; + } + } + + // Whether single or multi-player, unless we are running as a drone, + // we are in the game. + + if (!drone) + { + result = true; + } + + return result; +} + +// When using ticdup, certain values must be cleared out when running +// the duplicate ticcmds. + +static void TicdupSquash(ticcmd_set_t *set) +{ + ticcmd_t *cmd; + unsigned int i; + + for (i = 0; i < NET_MAXPLAYERS ; ++i) + { + cmd = &set->cmds[i]; + cmd->chatchar = 0; + if (cmd->buttons & BT_SPECIAL) + cmd->buttons = 0; + } +} + +// When running in single player mode, clear all the ingame[] array +// except the local player. + +static void SinglePlayerClear(ticcmd_set_t *set) +{ + unsigned int i; + + for (i = 0; i < NET_MAXPLAYERS; ++i) + { + if (i != localplayer) + { + set->ingame[i] = false; + } + } +} + +// +// TryRunTics +// + +void TryRunTics (void) +{ + int i; + int lowtic; + int entertic; + static int oldentertics; + int realtics; + int availabletics; + int counts; + + // get real tics + entertic = I_GetTime() / ticdup; + realtics = entertic - oldentertics; + oldentertics = entertic; + + // in singletics mode, run a single tic every time this function + // is called. + + if (singletics) + { + BuildNewTic(); + } + else + { + NetUpdate (); + } + + lowtic = GetLowTic(); + + availabletics = lowtic - gametic/ticdup; + + // decide how many tics to run + + if (new_sync) + { + counts = availabletics; + } + else + { + // decide how many tics to run + if (realtics < availabletics-1) + counts = realtics+1; + else if (realtics < availabletics) + counts = realtics; + else + counts = availabletics; + + if (counts < 1) + counts = 1; + + if (net_client_connected) + { + OldNetSync(); + } + } + + if (counts < 1) + counts = 1; + + // wait for new tics if needed + + while (!PlayersInGame() || lowtic < gametic/ticdup + counts) + { + NetUpdate (); + + lowtic = GetLowTic(); + + if (lowtic < gametic/ticdup) + I_Error ("TryRunTics: lowtic < gametic"); + + // Don't stay in this loop forever. The menu is still running, + // so return to update the screen + + if (I_GetTime() / ticdup - entertic > 0) + { + return; + } + + I_Sleep(1); + } + + // run the count * ticdup dics + while (counts--) + { + ticcmd_set_t *set; + + if (!PlayersInGame()) + { + return; + } + + set = &ticdata[(gametic / ticdup) % BACKUPTICS]; + + if (!net_client_connected) + { + SinglePlayerClear(set); + } + + for (i=0 ; i lowtic) + I_Error ("gametic>lowtic"); + + memcpy(local_playeringame, set->ingame, sizeof(local_playeringame)); + + loop_interface->RunTic(set->cmds, set->ingame); + gametic++; + + // modify command for duplicated tics + + TicdupSquash(set); + } + + NetUpdate (); // check for new console commands + } +} + +void D_RegisterLoopCallbacks(loop_interface_t *i) +{ + loop_interface = i; +} diff --git a/src/kernel/userland/doom/d_loop.h b/src/kernel/userland/doom/d_loop.h new file mode 100644 index 0000000..eb87d84 --- /dev/null +++ b/src/kernel/userland/doom/d_loop.h @@ -0,0 +1,81 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Main loop stuff. +// + +#ifndef __D_LOOP__ +#define __D_LOOP__ + +#include "net_defs.h" + +// Callback function invoked while waiting for the netgame to start. +// The callback is invoked when new players are ready. The callback +// should return true, or return false to abort startup. + +typedef boolean (*netgame_startup_callback_t)(int ready_players, + int num_players); + +typedef struct +{ + // Read events from the event queue, and process them. + + void (*ProcessEvents)(); + + // Given the current input state, fill in the fields of the specified + // ticcmd_t structure with data for a new tic. + + void (*BuildTiccmd)(ticcmd_t *cmd, int maketic); + + // Advance the game forward one tic, using the specified player input. + + void (*RunTic)(ticcmd_t *cmds, boolean *ingame); + + // Run the menu (runs independently of the game). + + void (*RunMenu)(); +} loop_interface_t; + +// Register callback functions for the main loop code to use. +void D_RegisterLoopCallbacks(loop_interface_t *i); + +// Create any new ticcmds and broadcast to other players. +void NetUpdate (void); + +// Broadcasts special packets to other players +// to notify of game exit +void D_QuitNetGame (void); + +//? how many ticks to run? +void TryRunTics (void); + +// Called at start of game loop to initialize timers +void D_StartGameLoop(void); + +// Initialize networking code and connect to server. + +boolean D_InitNetGame(net_connect_data_t *connect_data); + +// Start game with specified settings. The structure will be updated +// with the actual settings for the game. + +void D_StartNetGame(net_gamesettings_t *settings, + netgame_startup_callback_t callback); + +extern boolean singletics; +extern int gametic, ticdup; + +#endif + diff --git a/src/kernel/userland/doom/d_main.c b/src/kernel/userland/doom/d_main.c new file mode 100644 index 0000000..9012e5f --- /dev/null +++ b/src/kernel/userland/doom/d_main.c @@ -0,0 +1,1845 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// DOOM main program (D_DoomMain) and game loop (D_DoomLoop), +// plus functions to determine game mode (shareware, registered), +// parse command line parameters, configure game parameters (turbo), +// and call the startup functions. +// + + +#include +#include +#include +#include + +#include "config.h" +#include "deh_main.h" +#include "doomdef.h" +#include "doomstat.h" + +#include "dstrings.h" +#include "doomfeatures.h" +#include "sounds.h" + +#include "d_iwad.h" + +#include "z_zone.h" +#include "w_main.h" +#include "w_wad.h" +#include "s_sound.h" +#include "v_video.h" + +#include "f_finale.h" +#include "f_wipe.h" + +#include "m_argv.h" +#include "m_config.h" +#include "m_controls.h" +#include "m_misc.h" +#include "m_menu.h" +#include "p_saveg.h" + +#include "i_endoom.h" +#include "i_joystick.h" +#include "i_system.h" +#include "i_timer.h" +#include "i_video.h" + +#include "g_game.h" + +#include "hu_stuff.h" +#include "wi_stuff.h" +#include "st_stuff.h" +#include "am_map.h" +#include "net_client.h" +#include "net_dedicated.h" +#include "net_query.h" + +#include "p_setup.h" +#include "r_local.h" +#include "statdump.h" + +#include "d_main.h" + +// +// D-DoomLoop() +// Not a globally visible function, +// just included for source reference, +// called by D_DoomMain, never exits. +// Manages timing and IO, +// calls all ?_Responder, ?_Ticker, and ?_Drawer, +// calls I_GetTime, I_StartFrame, and I_StartTic +// +void D_DoomLoop (void); + +// Location where savegames are stored + +char * savegamedir; + +// location of IWAD and WAD files + +char * iwadfile; + + +boolean devparm; // started game with -devparm +boolean nomonsters; // checkparm of -nomonsters +boolean respawnparm; // checkparm of -respawn +boolean fastparm; // checkparm of -fast + +//extern int soundVolume; +//extern int sfxVolume; +//extern int musicVolume; + +extern boolean inhelpscreens; + +skill_t startskill; +int startepisode; +int startmap; +boolean autostart; +int startloadgame; + +boolean advancedemo; + +// Store demo, do not accept any inputs +boolean storedemo; + +// "BFG Edition" version of doom2.wad does not include TITLEPIC. +boolean bfgedition; + +// If true, the main game loop has started. +boolean main_loop_started = false; + +char wadfile[1024]; // primary wad file +char mapdir[1024]; // directory of development maps + +int show_endoom = 1; + + +void D_ConnectNetGame(void); +void D_CheckNetGame(void); + + +// +// D_ProcessEvents +// Send all the events of the given timestamp down the responder chain +// +void D_ProcessEvents (void) +{ + event_t* ev; + + // IF STORE DEMO, DO NOT ACCEPT INPUT + if (storedemo) + return; + + while ((ev = D_PopEvent()) != NULL) + { + if (M_Responder (ev)) + continue; // menu ate the event + G_Responder (ev); + } +} + + + + +// +// D_Display +// draw current display, possibly wiping it from the previous +// + +// wipegamestate can be set to -1 to force a wipe on the next draw +gamestate_t wipegamestate = GS_DEMOSCREEN; +extern boolean setsizeneeded; +extern int showMessages; +void R_ExecuteSetViewSize (void); + +void D_Display (void) +{ + static boolean viewactivestate = false; + static boolean menuactivestate = false; + static boolean inhelpscreensstate = false; + static boolean fullscreen = false; + static gamestate_t oldgamestate = -1; + static int borderdrawcount; + int nowtime; + int tics; + int wipestart; + int y; + boolean done; + boolean wipe; + boolean redrawsbar; + + if (nodrawers) + return; // for comparative timing / profiling + + redrawsbar = false; + + // change the view size if needed + if (setsizeneeded) + { + R_ExecuteSetViewSize (); + oldgamestate = -1; // force background redraw + borderdrawcount = 3; + } + + // save the current screen if about to wipe + if (gamestate != wipegamestate) + { + wipe = true; + wipe_StartScreen(0, 0, SCREENWIDTH, SCREENHEIGHT); + } + else + wipe = false; + + if (gamestate == GS_LEVEL && gametic) + HU_Erase(); + + // do buffered drawing + switch (gamestate) + { + case GS_LEVEL: + if (!gametic) + break; + if (automapactive) + AM_Drawer (); + if (wipe || (viewheight != 200 && fullscreen) ) + redrawsbar = true; + if (inhelpscreensstate && !inhelpscreens) + redrawsbar = true; // just put away the help screen + ST_Drawer (viewheight == 200, redrawsbar ); + fullscreen = viewheight == 200; + break; + + case GS_INTERMISSION: + WI_Drawer (); + break; + + case GS_FINALE: + F_Drawer (); + break; + + case GS_DEMOSCREEN: + D_PageDrawer (); + break; + } + + // draw buffered stuff to screen + I_UpdateNoBlit (); + + // draw the view directly + if (gamestate == GS_LEVEL && !automapactive && gametic) + R_RenderPlayerView (&players[displayplayer]); + + if (gamestate == GS_LEVEL && gametic) + HU_Drawer (); + + // clean up border stuff + if (gamestate != oldgamestate && gamestate != GS_LEVEL) + I_SetPalette (W_CacheLumpName (DEH_String("PLAYPAL"),PU_CACHE)); + + // see if the border needs to be initially drawn + if (gamestate == GS_LEVEL && oldgamestate != GS_LEVEL) + { + viewactivestate = false; // view was not active + R_FillBackScreen (); // draw the pattern into the back screen + } + + // see if the border needs to be updated to the screen + if (gamestate == GS_LEVEL && !automapactive && scaledviewwidth != 320) + { + if (menuactive || menuactivestate || !viewactivestate) + borderdrawcount = 3; + if (borderdrawcount) + { + R_DrawViewBorder (); // erase old menu stuff + borderdrawcount--; + } + } + + if (testcontrols) + { + // Box showing current mouse speed + + V_DrawMouseSpeedBox(testcontrols_mousespeed); + } + + menuactivestate = menuactive; + viewactivestate = viewactive; + inhelpscreensstate = inhelpscreens; + oldgamestate = wipegamestate = gamestate; + + // draw pause pic + if (paused) + { + if (automapactive) + y = 4; + else + y = viewwindowy+4; + V_DrawPatchDirect(viewwindowx + (scaledviewwidth - 68) / 2, y, + W_CacheLumpName (DEH_String("M_PAUSE"), PU_CACHE)); + } + + + // menus go directly to the screen + M_Drawer (); // menu is drawn even on top of everything + NetUpdate (); // send out any new accumulation + + + // normal update + if (!wipe) + { + I_FinishUpdate (); // page flip or blit buffer + return; + } + + // wipe update + wipe_EndScreen(0, 0, SCREENWIDTH, SCREENHEIGHT); + + wipestart = I_GetTime () - 1; + + do + { + do + { + nowtime = I_GetTime (); + tics = nowtime - wipestart; + I_Sleep(1); + } while (tics <= 0); + + wipestart = nowtime; + done = wipe_ScreenWipe(wipe_Melt + , 0, 0, SCREENWIDTH, SCREENHEIGHT, tics); + I_UpdateNoBlit (); + M_Drawer (); // menu is drawn even on top of wipes + I_FinishUpdate (); // page flip or blit buffer + } while (!done); +} + +// +// Add configuration file variable bindings. +// + +void D_BindVariables(void) +{ + int i; + + M_ApplyPlatformDefaults(); + + I_BindVideoVariables(); + I_BindJoystickVariables(); + I_BindSoundVariables(); + + M_BindBaseControls(); + M_BindWeaponControls(); + M_BindMapControls(); + M_BindMenuControls(); + M_BindChatControls(MAXPLAYERS); + + key_multi_msgplayer[0] = HUSTR_KEYGREEN; + key_multi_msgplayer[1] = HUSTR_KEYINDIGO; + key_multi_msgplayer[2] = HUSTR_KEYBROWN; + key_multi_msgplayer[3] = HUSTR_KEYRED; + +#ifdef FEATURE_MULTIPLAYER + NET_BindVariables(); +#endif + + M_BindVariable("mouse_sensitivity", &mouseSensitivity); + M_BindVariable("sfx_volume", &sfxVolume); + M_BindVariable("music_volume", &musicVolume); + M_BindVariable("show_messages", &showMessages); + M_BindVariable("screenblocks", &screenblocks); + M_BindVariable("detaillevel", &detailLevel); + M_BindVariable("snd_channels", &snd_channels); + M_BindVariable("vanilla_savegame_limit", &vanilla_savegame_limit); + M_BindVariable("vanilla_demo_limit", &vanilla_demo_limit); + M_BindVariable("show_endoom", &show_endoom); + + // Multiplayer chat macros + + for (i=0; i<10; ++i) + { + char buf[12]; + + M_snprintf(buf, sizeof(buf), "chatmacro%i", i); + M_BindVariable(buf, &chat_macros[i]); + } +} + +// +// D_GrabMouseCallback +// +// Called to determine whether to grab the mouse pointer +// + +boolean D_GrabMouseCallback(void) +{ + // Drone players don't need mouse focus + + if (drone) + return false; + + // when menu is active or game is paused, release the mouse + + if (menuactive || paused) + return false; + + // only grab mouse when playing levels (but not demos) + + return (gamestate == GS_LEVEL) && !demoplayback && !advancedemo; +} + +void doomgeneric_Tick() +{ + // frame syncronous IO operations + I_StartFrame (); + + TryRunTics (); // will run at least one tic + + S_UpdateSounds (players[consoleplayer].mo);// move positional sounds + + // Update display, next frame, with current state. + if (screenvisible) + { + D_Display (); + } +} + +// +// D_DoomLoop +// +void D_DoomLoop (void) +{ + if (bfgedition && + (demorecording || (gameaction == ga_playdemo) || netgame)) + { + printf(" WARNING: You are playing using one of the Doom Classic\n" + " IWAD files shipped with the Doom 3: BFG Edition. These are\n" + " known to be incompatible with the regular IWAD files and\n" + " may cause demos and network games to get out of sync.\n"); + } + + if (demorecording) + G_BeginRecording (); + + main_loop_started = true; + + TryRunTics(); + + I_SetWindowTitle(gamedescription); + I_GraphicsCheckCommandLine(); + I_SetGrabMouseCallback(D_GrabMouseCallback); + I_InitGraphics(); + I_EnableLoadingDisk(); + + V_RestoreBuffer(); + R_ExecuteSetViewSize(); + + D_StartGameLoop(); + + if (testcontrols) + { + wipegamestate = gamestate; + } + + doomgeneric_Tick(); +} + + + +// +// DEMO LOOP +// +int demosequence; +int pagetic; +char *pagename; + + +// +// D_PageTicker +// Handles timing for warped projection +// +void D_PageTicker (void) +{ + if (--pagetic < 0) + D_AdvanceDemo (); +} + + + +// +// D_PageDrawer +// +void D_PageDrawer (void) +{ + V_DrawPatch (0, 0, W_CacheLumpName(pagename, PU_CACHE)); +} + + +// +// D_AdvanceDemo +// Called after each demo or intro demosequence finishes +// +void D_AdvanceDemo (void) +{ + advancedemo = true; +} + + +// +// This cycles through the demo sequences. +// FIXME - version dependend demo numbers? +// +void D_DoAdvanceDemo (void) +{ + players[consoleplayer].playerstate = PST_LIVE; // not reborn + advancedemo = false; + usergame = false; // no save / end game here + paused = false; + gameaction = ga_nothing; + + // The Ultimate Doom executable changed the demo sequence to add + // a DEMO4 demo. Final Doom was based on Ultimate, so also + // includes this change; however, the Final Doom IWADs do not + // include a DEMO4 lump, so the game bombs out with an error + // when it reaches this point in the demo sequence. + + // However! There is an alternate version of Final Doom that + // includes a fixed executable. + + if (gameversion == exe_ultimate || gameversion == exe_final) + demosequence = (demosequence+1)%7; + else + demosequence = (demosequence+1)%6; + + switch (demosequence) + { + case 0: + if ( gamemode == commercial ) + pagetic = TICRATE * 11; + else + pagetic = 170; + gamestate = GS_DEMOSCREEN; + pagename = DEH_String("TITLEPIC"); + if ( gamemode == commercial ) + S_StartMusic(mus_dm2ttl); + else + S_StartMusic (mus_intro); + break; + case 1: + G_DeferedPlayDemo(DEH_String("demo1")); + break; + case 2: + pagetic = 200; + gamestate = GS_DEMOSCREEN; + pagename = DEH_String("CREDIT"); + break; + case 3: + G_DeferedPlayDemo(DEH_String("demo2")); + break; + case 4: + gamestate = GS_DEMOSCREEN; + if ( gamemode == commercial) + { + pagetic = TICRATE * 11; + pagename = DEH_String("TITLEPIC"); + S_StartMusic(mus_dm2ttl); + } + else + { + pagetic = 200; + + if ( gamemode == retail ) + pagename = DEH_String("CREDIT"); + else + pagename = DEH_String("HELP2"); + } + break; + case 5: + G_DeferedPlayDemo(DEH_String("demo3")); + break; + // THE DEFINITIVE DOOM Special Edition demo + case 6: + G_DeferedPlayDemo(DEH_String("demo4")); + break; + } + + // The Doom 3: BFG Edition version of doom2.wad does not have a + // TITLETPIC lump. Use INTERPIC instead as a workaround. + if (bfgedition && !strcasecmp(pagename, "TITLEPIC") + && W_CheckNumForName("titlepic") < 0) + { + pagename = DEH_String("INTERPIC"); + } +} + + + +// +// D_StartTitle +// +void D_StartTitle (void) +{ + gameaction = ga_nothing; + demosequence = -1; + D_AdvanceDemo (); +} + +// Strings for dehacked replacements of the startup banner +// +// These are from the original source: some of them are perhaps +// not used in any dehacked patches + +static char *banners[] = +{ + // doom2.wad + " " + "DOOM 2: Hell on Earth v%i.%i" + " ", + // doom1.wad + " " + "DOOM Shareware Startup v%i.%i" + " ", + // doom.wad + " " + "DOOM Registered Startup v%i.%i" + " ", + // Registered DOOM uses this + " " + "DOOM System Startup v%i.%i" + " ", + // doom.wad (Ultimate DOOM) + " " + "The Ultimate DOOM Startup v%i.%i" + " ", + // tnt.wad + " " + "DOOM 2: TNT - Evilution v%i.%i" + " ", + // plutonia.wad + " " + "DOOM 2: Plutonia Experiment v%i.%i" + " ", +}; + +// +// Get game name: if the startup banner has been replaced, use that. +// Otherwise, use the name given +// + +static char *GetGameName(char *gamename) +{ + size_t i; + char *deh_sub; + + for (i=0; i 0) + { + // Ultimate Doom + + gamemode = retail; + } + else if (W_CheckNumForName("E3M1") > 0) + { + gamemode = registered; + } + else + { + gamemode = shareware; + } + } + else + { + int p; + + // Doom 2 of some kind. + gamemode = commercial; + + // We can manually override the gamemission that we got from the + // IWAD detection code. This allows us to eg. play Plutonia 2 + // with Freedoom and get the right level names. + + //! + // @arg + // + // Explicitly specify a Doom II "mission pack" to run as, instead of + // detecting it based on the filename. Valid values are: "doom2", + // "tnt" and "plutonia". + // + p = M_CheckParmWithArgs("-pack", 1); + if (p > 0) + { + SetMissionForPackName(myargv[p + 1]); + } + } +} + +// Set the gamedescription string + +void D_SetGameDescription(void) +{ + boolean is_freedoom = W_CheckNumForName("FREEDOOM") >= 0, + is_freedm = W_CheckNumForName("FREEDM") >= 0; + + gamedescription = "Unknown"; + + if (logical_gamemission == doom) + { + // Doom 1. But which version? + + if (is_freedoom) + { + gamedescription = GetGameName("Freedoom: Phase 1"); + } + else if (gamemode == retail) + { + // Ultimate Doom + + gamedescription = GetGameName("The Ultimate DOOM"); + } + else if (gamemode == registered) + { + gamedescription = GetGameName("DOOM Registered"); + } + else if (gamemode == shareware) + { + gamedescription = GetGameName("DOOM Shareware"); + } + } + else + { + // Doom 2 of some kind. But which mission? + + if (is_freedoom) + { + if (is_freedm) + { + gamedescription = GetGameName("FreeDM"); + } + else + { + gamedescription = GetGameName("Freedoom: Phase 2"); + } + } + else if (logical_gamemission == doom2) + { + gamedescription = GetGameName("DOOM 2: Hell on Earth"); + } + else if (logical_gamemission == pack_plut) + { + gamedescription = GetGameName("DOOM 2: Plutonia Experiment"); + } + else if (logical_gamemission == pack_tnt) + { + gamedescription = GetGameName("DOOM 2: TNT - Evilution"); + } + } +} + +// print title for every printed line +char title[128]; + +static boolean D_AddFile(char *filename) +{ + wad_file_t *handle; + + printf(" adding %s\n", filename); + handle = W_AddFile(filename); + + return handle != NULL; +} + +// Copyright message banners +// Some dehacked mods replace these. These are only displayed if they are +// replaced by dehacked. + +static char *copyright_banners[] = +{ + "===========================================================================\n" + "ATTENTION: This version of DOOM has been modified. If you would like to\n" + "get a copy of the original game, call 1-800-IDGAMES or see the readme file.\n" + " You will not receive technical support for modified games.\n" + " press enter to continue\n" + "===========================================================================\n", + + "===========================================================================\n" + " Commercial product - do not distribute!\n" + " Please report software piracy to the SPA: 1-800-388-PIR8\n" + "===========================================================================\n", + + "===========================================================================\n" + " Shareware!\n" + "===========================================================================\n" +}; + +// Prints a message only if it has been modified by dehacked. + +void PrintDehackedBanners(void) +{ + size_t i; + + for (i=0; i + // @category compat + // + // Emulate a specific version of Doom. Valid values are "1.9", + // "ultimate", "final", "final2", "hacx" and "chex". + // + + p = M_CheckParmWithArgs("-gameversion", 1); + + if (p) + { + for (i=0; gameversions[i].description != NULL; ++i) + { + if (!strcmp(myargv[p+1], gameversions[i].cmdline)) + { + gameversion = gameversions[i].version; + break; + } + } + + if (gameversions[i].description == NULL) + { + printf("Supported game versions:\n"); + + for (i=0; gameversions[i].description != NULL; ++i) + { + printf("\t%s (%s)\n", gameversions[i].cmdline, + gameversions[i].description); + } + + I_Error("Unknown game version '%s'", myargv[p+1]); + } + } + else + { + // Determine automatically + + if (gamemission == pack_chex) + { + // chex.exe - identified by iwad filename + + gameversion = exe_chex; + } + else if (gamemission == pack_hacx) + { + // hacx.exe: identified by iwad filename + + gameversion = exe_hacx; + } + else if (gamemode == shareware || gamemode == registered) + { + // original + + gameversion = exe_doom_1_9; + + // TODO: Detect IWADs earlier than Doom v1.9. + } + else if (gamemode == retail) + { + gameversion = exe_ultimate; + } + else if (gamemode == commercial) + { + if (gamemission == doom2) + { + gameversion = exe_doom_1_9; + } + else + { + // Final Doom: tnt or plutonia + // Defaults to emulating the first Final Doom executable, + // which has the crash in the demo loop; however, having + // this as the default should mean that it plays back + // most demos correctly. + + gameversion = exe_final; + } + } + } + + // The original exe does not support retail - 4th episode not supported + + if (gameversion < exe_ultimate && gamemode == retail) + { + gamemode = registered; + } + + // EXEs prior to the Final Doom exes do not support Final Doom. + + if (gameversion < exe_final && gamemode == commercial + && (gamemission == pack_tnt || gamemission == pack_plut)) + { + gamemission = doom2; + } +} + +void PrintGameVersion(void) +{ + int i; + + for (i=0; gameversions[i].description != NULL; ++i) + { + if (gameversions[i].version == gameversion) + { + printf("Emulating the behavior of the " + "'%s' executable.\n", gameversions[i].description); + break; + } + } +} + +// Function called at exit to display the ENDOOM screen + +static void D_Endoom(void) +{ + byte *endoom; + + // Don't show ENDOOM if we have it disabled, or we're running + // in screensaver or control test mode. Only show it once the + // game has actually started. + + if (!show_endoom || !main_loop_started + || screensaver_mode || M_CheckParm("-testcontrols") > 0) + { + return; + } + + endoom = W_CacheLumpName(DEH_String("ENDOOM"), PU_STATIC); + + I_Endoom(endoom); + + exit(0); +} + +#if ORIGCODE +// Load dehacked patches needed for certain IWADs. +static void LoadIwadDeh(void) +{ + // The Freedoom IWADs have DEHACKED lumps that must be loaded. + if (W_CheckNumForName("FREEDOOM") >= 0) + { + // Old versions of Freedoom (before 2014-09) did not have technically + // valid DEHACKED lumps, so ignore errors and just continue if this + // is an old IWAD. + DEH_LoadLumpByName("DEHACKED", false, true); + } + + // If this is the HACX IWAD, we need to load the DEHACKED lump. + if (gameversion == exe_hacx) + { + if (!DEH_LoadLumpByName("DEHACKED", true, false)) + { + I_Error("DEHACKED lump not found. Please check that this is the " + "Hacx v1.2 IWAD."); + } + } + + // Chex Quest needs a separate Dehacked patch which must be downloaded + // and installed next to the IWAD. + if (gameversion == exe_chex) + { + char *chex_deh = NULL; + char *sep; + + // Look for chex.deh in the same directory as the IWAD file. + sep = strrchr(iwadfile, DIR_SEPARATOR); + + if (sep != NULL) + { + size_t chex_deh_len = strlen(iwadfile) + 9; + chex_deh = malloc(chex_deh_len); + M_StringCopy(chex_deh, iwadfile, chex_deh_len); + chex_deh[sep - iwadfile + 1] = '\0'; + M_StringConcat(chex_deh, "chex.deh", chex_deh_len); + } + else + { + chex_deh = strdup("chex.deh"); + } + + // If the dehacked patch isn't found, try searching the WAD + // search path instead. We might find it... + if (!M_FileExists(chex_deh)) + { + free(chex_deh); + chex_deh = D_FindWADByName("chex.deh"); + } + + // Still not found? + if (chex_deh == NULL) + { + I_Error("Unable to find Chex Quest dehacked file (chex.deh).\n" + "The dehacked file is required in order to emulate\n" + "chex.exe correctly. It can be found in your nearest\n" + "/idgames repository mirror at:\n\n" + " utils/exe_edit/patches/chexdeh.zip"); + } + + if (!DEH_LoadFile(chex_deh)) + { + I_Error("Failed to load chex.deh needed for emulating chex.exe."); + } + } +} +#endif + +// +// D_DoomMain +// +void D_DoomMain (void) +{ + int p; + char file[256]; + char demolumpname[9]; +#if ORIGCODE + int numiwadlumps; +#endif + + I_AtExit(D_Endoom, false); + + // print banner + + I_PrintBanner(PACKAGE_STRING); + + DEH_printf("Z_Init: Init zone memory allocation daemon. \n"); + Z_Init (); + +#ifdef FEATURE_MULTIPLAYER + //! + // @category net + // + // Start a dedicated server, routing packets but not participating + // in the game itself. + // + + if (M_CheckParm("-dedicated") > 0) + { + printf("Dedicated server mode.\n"); + NET_DedicatedServer(); + + // Never returns + } + + //! + // @category net + // + // Query the Internet master server for a global list of active + // servers. + // + + if (M_CheckParm("-search")) + { + NET_MasterQuery(); + exit(0); + } + + //! + // @arg
    + // @category net + // + // Query the status of the server running on the given IP + // address. + // + + p = M_CheckParmWithArgs("-query", 1); + + if (p) + { + NET_QueryAddress(myargv[p+1]); + exit(0); + } + + //! + // @category net + // + // Search the local LAN for running servers. + // + + if (M_CheckParm("-localsearch")) + { + NET_LANQuery(); + exit(0); + } + +#endif + + //! + // @vanilla + // + // Disable monsters. + // + + nomonsters = M_CheckParm ("-nomonsters"); + + //! + // @vanilla + // + // Monsters respawn after being killed. + // + + respawnparm = M_CheckParm ("-respawn"); + + //! + // @vanilla + // + // Monsters move faster. + // + + fastparm = M_CheckParm ("-fast"); + + //! + // @vanilla + // + // Developer mode. F1 saves a screenshot in the current working + // directory. + // + + devparm = M_CheckParm ("-devparm"); + + I_DisplayFPSDots(devparm); + + //! + // @category net + // @vanilla + // + // Start a deathmatch game. + // + + if (M_CheckParm ("-deathmatch")) + deathmatch = 1; + + //! + // @category net + // @vanilla + // + // Start a deathmatch 2.0 game. Weapons do not stay in place and + // all items respawn after 30 seconds. + // + + if (M_CheckParm ("-altdeath")) + deathmatch = 2; + + if (devparm) + DEH_printf(D_DEVSTR); + + // find which dir to use for config files + +#ifdef _WIN32 + + //! + // @platform windows + // @vanilla + // + // Save configuration data and savegames in c:\doomdata, + // allowing play from CD. + // + + if (M_ParmExists("-cdrom")) + { + printf(D_CDROM); + + M_SetConfigDir("c:\\doomdata\\"); + } + else +#endif + { + // Auto-detect the configuration dir. + + M_SetConfigDir(NULL); + } + + //! + // @arg + // @vanilla + // + // Turbo mode. The player's speed is multiplied by x%. If unspecified, + // x defaults to 200. Values are rounded up to 10 and down to 400. + // + + if ( (p=M_CheckParm ("-turbo")) ) + { + int scale = 200; + extern int forwardmove[2]; + extern int sidemove[2]; + + if (p 400) + scale = 400; + DEH_printf("turbo scale: %i%%\n", scale); + forwardmove[0] = forwardmove[0]*scale/100; + forwardmove[1] = forwardmove[1]*scale/100; + sidemove[0] = sidemove[0]*scale/100; + sidemove[1] = sidemove[1]*scale/100; + } + + // init subsystems + DEH_printf("V_Init: allocate screens.\n"); + V_Init (); + + // Load configuration files before initialising other subsystems. + DEH_printf("M_LoadDefaults: Load system defaults.\n"); + M_SetConfigFilenames("default.cfg", PROGRAM_PREFIX "doom.cfg"); + D_BindVariables(); + M_LoadDefaults(); + + // Save configuration at exit. + I_AtExit(M_SaveDefaults, false); + + // Find main IWAD file and load it. + iwadfile = D_FindIWAD(IWAD_MASK_DOOM, &gamemission); + + // None found? + + if (iwadfile == NULL) + { + I_Error("Game mode indeterminate. No IWAD file was found. Try\n" + "specifying one with the '-iwad' command line parameter.\n"); + } + + modifiedgame = false; + + DEH_printf("W_Init: Init WADfiles.\n"); + D_AddFile(iwadfile); +#if ORIGCODE + numiwadlumps = numlumps; +#endif + + W_CheckCorrectIWAD(doom); + + // Now that we've loaded the IWAD, we can figure out what gamemission + // we're playing and which version of Vanilla Doom we need to emulate. + D_IdentifyVersion(); + InitGameVersion(); + +#if ORIGCODE + //! + // @category mod + // + // Disable automatic loading of Dehacked patches for certain + // IWAD files. + // + if (!M_ParmExists("-nodeh")) + { + // Some IWADs have dehacked patches that need to be loaded for + // them to be played properly. + LoadIwadDeh(); + } +#endif + + // Doom 3: BFG Edition includes modified versions of the classic + // IWADs which can be identified by an additional DMENUPIC lump. + // Furthermore, the M_GDHIGH lumps have been modified in a way that + // makes them incompatible to Vanilla Doom and the modified version + // of doom2.wad is missing the TITLEPIC lump. + // We specifically check for DMENUPIC here, before PWADs have been + // loaded which could probably include a lump of that name. + + if (W_CheckNumForName("dmenupic") >= 0) + { + printf("BFG Edition: Using workarounds as needed.\n"); + bfgedition = true; + + // BFG Edition changes the names of the secret levels to + // censor the Wolfenstein references. It also has an extra + // secret level (MAP33). In Vanilla Doom (meaning the DOS + // version), MAP33 overflows into the Plutonia level names + // array, so HUSTR_33 is actually PHUSTR_1. + + DEH_AddStringReplacement(HUSTR_31, "level 31: idkfa"); + DEH_AddStringReplacement(HUSTR_32, "level 32: keen"); + DEH_AddStringReplacement(PHUSTR_1, "level 33: betray"); + + // The BFG edition doesn't have the "low detail" menu option (fair + // enough). But bizarrely, it reuses the M_GDHIGH patch as a label + // for the options menu (says "Fullscreen:"). Why the perpetrators + // couldn't just add a new graphic lump and had to reuse this one, + // I don't know. + // + // The end result is that M_GDHIGH is too wide and causes the game + // to crash. As a workaround to get a minimum level of support for + // the BFG edition IWADs, use the "ON"/"OFF" graphics instead. + + DEH_AddStringReplacement("M_GDHIGH", "M_MSGON"); + DEH_AddStringReplacement("M_GDLOW", "M_MSGOFF"); + } + +#ifdef FEATURE_DEHACKED + // Load Dehacked patches specified on the command line with -deh. + // Note that there's a very careful and deliberate ordering to how + // Dehacked patches are loaded. The order we use is: + // 1. IWAD dehacked patches. + // 2. Command line dehacked patches specified with -deh. + // 3. PWAD dehacked patches in DEHACKED lumps. + DEH_ParseCommandLine(); +#endif + + // Load PWAD files. + modifiedgame = W_ParseCommandLine(); + + // Debug: +// W_PrintDirectory(); + + //! + // @arg + // @category demo + // @vanilla + // + // Play back the demo named demo.lmp. + // + + p = M_CheckParmWithArgs ("-playdemo", 1); + + if (!p) + { + //! + // @arg + // @category demo + // @vanilla + // + // Play back the demo named demo.lmp, determining the framerate + // of the screen. + // + p = M_CheckParmWithArgs("-timedemo", 1); + + } + + if (p) + { + // With Vanilla you have to specify the file without extension, + // but make that optional. + if (M_StringEndsWith(myargv[p + 1], ".lmp")) + { + M_StringCopy(file, myargv[p + 1], sizeof(file)); + } + else + { + DEH_snprintf(file, sizeof(file), "%s.lmp", myargv[p+1]); + } + + if (D_AddFile(file)) + { + M_StringCopy(demolumpname, lumpinfo[numlumps - 1].name, + sizeof(demolumpname)); + } + else + { + // If file failed to load, still continue trying to play + // the demo in the same way as Vanilla Doom. This makes + // tricks like "-playdemo demo1" possible. + + M_StringCopy(demolumpname, myargv[p + 1], sizeof(demolumpname)); + } + + printf("Playing demo %s.\n", file); + } + + I_AtExit((atexit_func_t) G_CheckDemoStatus, true); + + // Generate the WAD hash table. Speed things up a bit. + W_GenerateHashTable(); + + // Load DEHACKED lumps from WAD files - but only if we give the right + // command line parameter. + +#if ORIGCODE + //! + // @category mod + // + // Load Dehacked patches from DEHACKED lumps contained in one of the + // loaded PWAD files. + // + if (M_ParmExists("-dehlump")) + { + int i, loaded = 0; + + for (i = numiwadlumps; i < numlumps; ++i) + { + if (!strncmp(lumpinfo[i].name, "DEHACKED", 8)) + { + DEH_LoadLump(i, false, false); + loaded++; + } + } + + printf(" loaded %i DEHACKED lumps from PWAD files.\n", loaded); + } +#endif + + // Set the gamedescription string. This is only possible now that + // we've finished loading Dehacked patches. + D_SetGameDescription(); + +#ifdef _WIN32 + // In -cdrom mode, we write savegames to c:\doomdata as well as configs. + if (M_ParmExists("-cdrom")) + { + savegamedir = configdir; + } + else +#endif + { + savegamedir = M_GetSaveGameDir(D_SaveGameIWADName(gamemission)); + } + + // Check for -file in shareware + if (modifiedgame) + { + // These are the lumps that will be checked in IWAD, + // if any one is not present, execution will be aborted. + char name[23][8]= + { + "e2m1","e2m2","e2m3","e2m4","e2m5","e2m6","e2m7","e2m8","e2m9", + "e3m1","e3m3","e3m3","e3m4","e3m5","e3m6","e3m7","e3m8","e3m9", + "dphoof","bfgga0","heada1","cybra1","spida1d1" + }; + int i; + + if ( gamemode == shareware) + I_Error(DEH_String("\nYou cannot -file with the shareware " + "version. Register!")); + + // Check for fake IWAD with right name, + // but w/o all the lumps of the registered version. + if (gamemode == registered) + for (i = 0;i < 23; i++) + if (W_CheckNumForName(name[i])<0) + I_Error(DEH_String("\nThis is not the registered version.")); + } + + if (W_CheckNumForName("SS_START") >= 0 + || W_CheckNumForName("FF_END") >= 0) + { + I_PrintDivider(); + printf(" WARNING: The loaded WAD file contains modified sprites or\n" + " floor textures. You may want to use the '-merge' command\n" + " line option instead of '-file'.\n"); + } + + I_PrintStartupBanner(gamedescription); + PrintDehackedBanners(); + + // Freedoom's IWADs are Boom-compatible, which means they usually + // don't work in Vanilla (though FreeDM is okay). Show a warning + // message and give a link to the website. + if (W_CheckNumForName("FREEDOOM") >= 0 && W_CheckNumForName("FREEDM") < 0) + { + printf(" WARNING: You are playing using one of the Freedoom IWAD\n" + " files, which might not work in this port. See this page\n" + " for more information on how to play using Freedoom:\n" + " http://www.chocolate-doom.org/wiki/index.php/Freedoom\n"); + I_PrintDivider(); + } + + DEH_printf("I_Init: Setting up machine state.\n"); + I_CheckIsScreensaver(); + I_InitTimer(); + I_InitJoystick(); + I_InitSound(true); + I_InitMusic(); + +#ifdef FEATURE_MULTIPLAYER + printf ("NET_Init: Init network subsystem.\n"); + NET_Init (); +#endif + + // Initial netgame startup. Connect to server etc. + D_ConnectNetGame(); + + // get skill / episode / map from parms + startskill = sk_medium; + startepisode = 1; + startmap = 1; + autostart = false; + + //! + // @arg + // @vanilla + // + // Set the game skill, 1-5 (1: easiest, 5: hardest). A skill of + // 0 disables all monsters. + // + + p = M_CheckParmWithArgs("-skill", 1); + + if (p) + { + startskill = myargv[p+1][0]-'1'; + autostart = true; + } + + //! + // @arg + // @vanilla + // + // Start playing on episode n (1-4) + // + + p = M_CheckParmWithArgs("-episode", 1); + + if (p) + { + startepisode = myargv[p+1][0]-'0'; + startmap = 1; + autostart = true; + } + + timelimit = 0; + + //! + // @arg + // @category net + // @vanilla + // + // For multiplayer games: exit each level after n minutes. + // + + p = M_CheckParmWithArgs("-timer", 1); + + if (p) + { + timelimit = atoi(myargv[p+1]); + } + + //! + // @category net + // @vanilla + // + // Austin Virtual Gaming: end levels after 20 minutes. + // + + p = M_CheckParm ("-avg"); + + if (p) + { + timelimit = 20; + } + + //! + // @arg [ | ] + // @vanilla + // + // Start a game immediately, warping to ExMy (Doom 1) or MAPxy + // (Doom 2) + // + + p = M_CheckParmWithArgs("-warp", 1); + + if (p) + { + if (gamemode == commercial) + startmap = atoi (myargv[p+1]); + else + { + startepisode = myargv[p+1][0]-'0'; + + if (p + 2 < myargc) + { + startmap = myargv[p+2][0]-'0'; + } + else + { + startmap = 1; + } + } + autostart = true; + } + + // Undocumented: + // Invoked by setup to test the controls. + + p = M_CheckParm("-testcontrols"); + + if (p > 0) + { + startepisode = 1; + startmap = 1; + autostart = true; + testcontrols = true; + } + + // Check for load game parameter + // We do this here and save the slot number, so that the network code + // can override it or send the load slot to other players. + + //! + // @arg + // @vanilla + // + // Load the game in slot s. + // + + p = M_CheckParmWithArgs("-loadgame", 1); + + if (p) + { + startloadgame = atoi(myargv[p+1]); + } + else + { + // Not loading a game + startloadgame = -1; + } + + DEH_printf("M_Init: Init miscellaneous info.\n"); + M_Init (); + + DEH_printf("R_Init: Init DOOM refresh daemon - "); + R_Init (); + + DEH_printf("\nP_Init: Init Playloop state.\n"); + P_Init (); + + DEH_printf("S_Init: Setting up sound.\n"); + S_Init (sfxVolume * 8, musicVolume * 8); + + DEH_printf("D_CheckNetGame: Checking network game status.\n"); + D_CheckNetGame (); + + PrintGameVersion(); + + DEH_printf("HU_Init: Setting up heads up display.\n"); + HU_Init (); + + DEH_printf("ST_Init: Init status bar.\n"); + ST_Init (); + + // If Doom II without a MAP01 lump, this is a store demo. + // Moved this here so that MAP01 isn't constantly looked up + // in the main loop. + + if (gamemode == commercial && W_CheckNumForName("map01") < 0) + storedemo = true; + + if (M_CheckParmWithArgs("-statdump", 1)) + { + I_AtExit(StatDump, true); + DEH_printf("External statistics registered.\n"); + } + + //! + // @arg + // @category demo + // @vanilla + // + // Record a demo named x.lmp. + // + + p = M_CheckParmWithArgs("-record", 1); + + if (p) + { + G_RecordDemo (myargv[p+1]); + autostart = true; + } + + p = M_CheckParmWithArgs("-playdemo", 1); + if (p) + { + singledemo = true; // quit after one demo + G_DeferedPlayDemo (demolumpname); + D_DoomLoop (); + return; + } + + p = M_CheckParmWithArgs("-timedemo", 1); + if (p) + { + G_TimeDemo (demolumpname); + D_DoomLoop (); + return; + } + + if (startloadgame >= 0) + { + M_StringCopy(file, P_SaveGameFile(startloadgame), sizeof(file)); + G_LoadGame(file); + } + + if (gameaction != ga_loadgame ) + { + if (autostart || netgame) + G_InitNew (startskill, startepisode, startmap); + else + D_StartTitle (); // start up intro loop + } + + D_DoomLoop (); +} + diff --git a/src/kernel/userland/doom/d_main.h b/src/kernel/userland/doom/d_main.h new file mode 100644 index 0000000..0fe9547 --- /dev/null +++ b/src/kernel/userland/doom/d_main.h @@ -0,0 +1,50 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// System specific interface stuff. +// + + +#ifndef __D_MAIN__ +#define __D_MAIN__ + +#include "doomdef.h" + + + + +// Read events from all input devices + +void D_ProcessEvents (void); + + +// +// BASE LEVEL +// +void D_PageTicker (void); +void D_PageDrawer (void); +void D_AdvanceDemo (void); +void D_DoAdvanceDemo (void); +void D_StartTitle (void); + +// +// GLOBAL VARIABLES +// + +extern gameaction_t gameaction; + + +#endif + diff --git a/src/kernel/userland/doom/d_mode.c b/src/kernel/userland/doom/d_mode.c new file mode 100644 index 0000000..afd84ac --- /dev/null +++ b/src/kernel/userland/doom/d_mode.c @@ -0,0 +1,209 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// +// DESCRIPTION: +// Functions and definitions relating to the game type and operational +// mode. +// + +#include "doomtype.h" +#include "d_mode.h" + +// Valid game mode/mission combinations, with the number of +// episodes/maps for each. + +static struct +{ + GameMission_t mission; + GameMode_t mode; + int episode; + int map; +} valid_modes[] = { + { pack_chex, shareware, 1, 5 }, + { doom, shareware, 1, 9 }, + { doom, registered, 3, 9 }, + { doom, retail, 4, 9 }, + { doom2, commercial, 1, 32 }, + { pack_tnt, commercial, 1, 32 }, + { pack_plut, commercial, 1, 32 }, + { pack_hacx, commercial, 1, 32 }, + { heretic, shareware, 1, 9 }, + { heretic, registered, 3, 9 }, + { heretic, retail, 5, 9 }, + { hexen, commercial, 1, 60 }, + { strife, commercial, 1, 34 }, +}; + +// Check that a gamemode+gamemission received over the network is valid. + +boolean D_ValidGameMode(GameMission_t mission, GameMode_t mode) +{ + int i; + + for (i=0; i= 1 && map <= 3; + } + else if (mode == registered && episode == 4) + { + return map == 1; + } + } + + // Find the table entry for this mission/mode combination. + + for (i=0; i= 1 && episode <= valid_modes[i].episode + && map >= 1 && map <= valid_modes[i].map; + } + } + + // Unknown mode/mission combination + + return false; +} + +// Get the number of valid episodes for the specified mission/mode. + +int D_GetNumEpisodes(GameMission_t mission, GameMode_t mode) +{ + int episode; + + episode = 1; + + while (D_ValidEpisodeMap(mission, mode, episode, 1)) + { + ++episode; + } + + return episode - 1; +} + +// Table of valid versions + +static struct { + GameMission_t mission; + GameVersion_t version; +} valid_versions[] = { + { doom, exe_doom_1_9 }, + { doom, exe_hacx }, + { doom, exe_ultimate }, + { doom, exe_final }, + { doom, exe_final2 }, + { doom, exe_chex }, + { heretic, exe_heretic_1_3 }, + { hexen, exe_hexen_1_1 }, + { strife, exe_strife_1_2 }, + { strife, exe_strife_1_31 }, +}; + +boolean D_ValidGameVersion(GameMission_t mission, GameVersion_t version) +{ + int i; + + // All Doom variants can use the Doom versions. + + if (mission == doom2 || mission == pack_plut || mission == pack_tnt + || mission == pack_hacx || mission == pack_chex) + { + mission = doom; + } + + for (i=0; i + +#include "doomfeatures.h" + +#include "d_main.h" +#include "m_argv.h" +#include "m_menu.h" +#include "m_misc.h" +#include "i_system.h" +#include "i_timer.h" +#include "i_video.h" +#include "g_game.h" +#include "doomdef.h" +#include "doomstat.h" +#include "w_checksum.h" +#include "w_wad.h" + +#include "deh_main.h" + +#include "d_loop.h" + +ticcmd_t *netcmds; + +// Called when a player leaves the game + +static void PlayerQuitGame(player_t *player) +{ + static char exitmsg[80]; + unsigned int player_num; + + player_num = player - players; + + // Do this the same way as Vanilla Doom does, to allow dehacked + // replacements of this message + + M_StringCopy(exitmsg, DEH_String("Player 1 left the game"), + sizeof(exitmsg)); + + exitmsg[7] += player_num; + + playeringame[player_num] = false; + players[consoleplayer].message = exitmsg; + + // TODO: check if it is sensible to do this: + + if (demorecording) + { + G_CheckDemoStatus (); + } +} + +static void RunTic(ticcmd_t *cmds, boolean *ingame) +{ + extern boolean advancedemo; + unsigned int i; + + // Check for player quits. + + for (i = 0; i < MAXPLAYERS; ++i) + { + if (!demoplayback && playeringame[i] && !ingame[i]) + { + PlayerQuitGame(&players[i]); + } + } + + netcmds = cmds; + + // check that there are players in the game. if not, we cannot + // run a tic. + + if (advancedemo) + D_DoAdvanceDemo (); + + G_Ticker (); +} + +static loop_interface_t doom_loop_interface = { + D_ProcessEvents, + G_BuildTiccmd, + RunTic, + M_Ticker +}; + + +// Load game settings from the specified structure and +// set global variables. + +static void LoadGameSettings(net_gamesettings_t *settings) +{ + unsigned int i; + + deathmatch = settings->deathmatch; + startepisode = settings->episode; + startmap = settings->map; + startskill = settings->skill; + startloadgame = settings->loadgame; + lowres_turn = settings->lowres_turn; + nomonsters = settings->nomonsters; + fastparm = settings->fast_monsters; + respawnparm = settings->respawn_monsters; + timelimit = settings->timelimit; + consoleplayer = settings->consoleplayer; + + if (lowres_turn) + { + printf("NOTE: Turning resolution is reduced; this is probably " + "because there is a client recording a Vanilla demo.\n"); + } + + for (i = 0; i < MAXPLAYERS; ++i) + { + playeringame[i] = i < settings->num_players; + } +} + +// Save the game settings from global variables to the specified +// game settings structure. + +static void SaveGameSettings(net_gamesettings_t *settings) +{ + // Fill in game settings structure with appropriate parameters + // for the new game + + settings->deathmatch = deathmatch; + settings->episode = startepisode; + settings->map = startmap; + settings->skill = startskill; + settings->loadgame = startloadgame; + settings->gameversion = gameversion; + settings->nomonsters = nomonsters; + settings->fast_monsters = fastparm; + settings->respawn_monsters = respawnparm; + settings->timelimit = timelimit; + + settings->lowres_turn = M_CheckParm("-record") > 0 + && M_CheckParm("-longtics") == 0; +} + +static void InitConnectData(net_connect_data_t *connect_data) +{ + connect_data->max_players = MAXPLAYERS; + connect_data->drone = false; + + //! + // @category net + // + // Run as the left screen in three screen mode. + // + + if (M_CheckParm("-left") > 0) + { + viewangleoffset = ANG90; + connect_data->drone = true; + } + + //! + // @category net + // + // Run as the right screen in three screen mode. + // + + if (M_CheckParm("-right") > 0) + { + viewangleoffset = ANG270; + connect_data->drone = true; + } + + // + // Connect data + // + + // Game type fields: + + connect_data->gamemode = gamemode; + connect_data->gamemission = gamemission; + + // Are we recording a demo? Possibly set lowres turn mode + + connect_data->lowres_turn = M_CheckParm("-record") > 0 + && M_CheckParm("-longtics") == 0; + + // Read checksums of our WAD directory and dehacked information + + W_Checksum(connect_data->wad_sha1sum); + +#if ORIGCODE + DEH_Checksum(connect_data->deh_sha1sum); +#endif + + // Are we playing with the Freedoom IWAD? + + connect_data->is_freedoom = W_CheckNumForName("FREEDOOM") >= 0; +} + +void D_ConnectNetGame(void) +{ + net_connect_data_t connect_data; + + InitConnectData(&connect_data); + netgame = D_InitNetGame(&connect_data); + + //! + // @category net + // + // Start the game playing as though in a netgame with a single + // player. This can also be used to play back single player netgame + // demos. + // + + if (M_CheckParm("-solo-net") > 0) + { + netgame = true; + } +} + +// +// D_CheckNetGame +// Works out player numbers among the net participants +// +void D_CheckNetGame (void) +{ + net_gamesettings_t settings; + + if (netgame) + { + autostart = true; + } + + D_RegisterLoopCallbacks(&doom_loop_interface); + + SaveGameSettings(&settings); + D_StartNetGame(&settings, NULL); + LoadGameSettings(&settings); + + DEH_printf("startskill %i deathmatch: %i startmap: %i startepisode: %i\n", + startskill, deathmatch, startmap, startepisode); + + DEH_printf("player %i of %i (%i nodes)\n", + consoleplayer+1, settings.num_players, settings.num_players); + + // Show players here; the server might have specified a time limit + + if (timelimit > 0 && deathmatch) + { + // Gross hack to work like Vanilla: + + if (timelimit == 20 && M_CheckParm("-avg")) + { + DEH_printf("Austin Virtual Gaming: Levels will end " + "after 20 minutes\n"); + } + else + { + DEH_printf("Levels will end after %d minute", timelimit); + if (timelimit > 1) + printf("s"); + printf(".\n"); + } + } +} + diff --git a/src/kernel/userland/doom/d_player.h b/src/kernel/userland/doom/d_player.h new file mode 100644 index 0000000..a72c2f5 --- /dev/null +++ b/src/kernel/userland/doom/d_player.h @@ -0,0 +1,209 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// +// + + +#ifndef __D_PLAYER__ +#define __D_PLAYER__ + + +// The player data structure depends on a number +// of other structs: items (internal inventory), +// animation states (closely tied to the sprites +// used to represent them, unfortunately). +#include "d_items.h" +#include "p_pspr.h" + +// In addition, the player is just a special +// case of the generic moving object/actor. +#include "p_mobj.h" + +// Finally, for odd reasons, the player input +// is buffered within the player data struct, +// as commands per game tick. +#include "d_ticcmd.h" + +#include "net_defs.h" + + + + +// +// Player states. +// +typedef enum +{ + // Playing or camping. + PST_LIVE, + // Dead on the ground, view follows killer. + PST_DEAD, + // Ready to restart/respawn??? + PST_REBORN + +} playerstate_t; + + +// +// Player internal flags, for cheats and debug. +// +typedef enum +{ + // No clipping, walk through barriers. + CF_NOCLIP = 1, + // No damage, no health loss. + CF_GODMODE = 2, + // Not really a cheat, just a debug aid. + CF_NOMOMENTUM = 4 + +} cheat_t; + + +// +// Extended player object info: player_t +// +typedef struct player_s +{ + mobj_t* mo; + playerstate_t playerstate; + ticcmd_t cmd; + + // Determine POV, + // including viewpoint bobbing during movement. + // Focal origin above r.z + fixed_t viewz; + // Base height above floor for viewz. + fixed_t viewheight; + // Bob/squat speed. + fixed_t deltaviewheight; + // bounded/scaled total momentum. + fixed_t bob; + + // This is only used between levels, + // mo->health is used during levels. + int health; + int armorpoints; + // Armor type is 0-2. + int armortype; + + // Power ups. invinc and invis are tic counters. + int powers[NUMPOWERS]; + boolean cards[NUMCARDS]; + boolean backpack; + + // Frags, kills of other players. + int frags[MAXPLAYERS]; + weapontype_t readyweapon; + + // Is wp_nochange if not changing. + weapontype_t pendingweapon; + + boolean weaponowned[NUMWEAPONS]; + int ammo[NUMAMMO]; + int maxammo[NUMAMMO]; + + // True if button down last tic. + int attackdown; + int usedown; + + // Bit flags, for cheats and debug. + // See cheat_t, above. + int cheats; + + // Refired shots are less accurate. + int refire; + + // For intermission stats. + int killcount; + int itemcount; + int secretcount; + + // Hint messages. + char* message; + + // For screen flashing (red or bright). + int damagecount; + int bonuscount; + + // Who did damage (NULL for floors/ceilings). + mobj_t* attacker; + + // So gun flashes light up areas. + int extralight; + + // Current PLAYPAL, ??? + // can be set to REDCOLORMAP for pain, etc. + int fixedcolormap; + + // Player skin colorshift, + // 0-3 for which color to draw player. + int colormap; + + // Overlay view sprites (gun, etc). + pspdef_t psprites[NUMPSPRITES]; + + // True if secret level has been done. + boolean didsecret; + +} player_t; + + +// +// INTERMISSION +// Structure passed e.g. to WI_Start(wb) +// +typedef struct +{ + boolean in; // whether the player is in game + + // Player stats, kills, collected items etc. + int skills; + int sitems; + int ssecret; + int stime; + int frags[4]; + int score; // current score on entry, modified on return + +} wbplayerstruct_t; + +typedef struct +{ + int epsd; // episode # (0-2) + + // if true, splash the secret level + boolean didsecret; + + // previous and next levels, origin 0 + int last; + int next; + + int maxkills; + int maxitems; + int maxsecret; + int maxfrags; + + // the par time + int partime; + + // index of this player in game + int pnum; + + wbplayerstruct_t plyr[MAXPLAYERS]; + +} wbstartstruct_t; + + +#endif diff --git a/src/kernel/userland/doom/d_textur.h b/src/kernel/userland/doom/d_textur.h new file mode 100644 index 0000000..1afe040 --- /dev/null +++ b/src/kernel/userland/doom/d_textur.h @@ -0,0 +1,43 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Typedefs related to to textures etc., +// isolated here to make it easier separating modules. +// + + +#ifndef __D_TEXTUR__ +#define __D_TEXTUR__ + +#include "doomtype.h" + + + + +// +// Flats? +// +// a pic is an unmasked block of pixels +typedef struct +{ + byte width; + byte height; + byte data; +} pic_t; + + + + +#endif diff --git a/src/kernel/userland/doom/d_think.h b/src/kernel/userland/doom/d_think.h new file mode 100644 index 0000000..0966ad9 --- /dev/null +++ b/src/kernel/userland/doom/d_think.h @@ -0,0 +1,68 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// MapObj data. Map Objects or mobjs are actors, entities, +// thinker, take-your-pick... anything that moves, acts, or +// suffers state changes of more or less violent nature. +// + + +#ifndef __D_THINK__ +#define __D_THINK__ + + + + + +// +// Experimental stuff. +// To compile this as "ANSI C with classes" +// we will need to handle the various +// action functions cleanly. +// +typedef void (*actionf_v)(); +typedef void (*actionf_p1)( void* ); +typedef void (*actionf_p2)( void*, void* ); + +typedef union +{ + actionf_v acv; + actionf_p1 acp1; + actionf_p2 acp2; + +} actionf_t; + + + + + +// Historically, "think_t" is yet another +// function pointer to a routine to handle +// an actor. +typedef actionf_t think_t; + + +// Doubly linked list of actors. +typedef struct thinker_s +{ + struct thinker_s* prev; + struct thinker_s* next; + think_t function; + +} thinker_t; + + + +#endif diff --git a/src/kernel/userland/doom/d_ticcmd.h b/src/kernel/userland/doom/d_ticcmd.h new file mode 100644 index 0000000..daf0da3 --- /dev/null +++ b/src/kernel/userland/doom/d_ticcmd.h @@ -0,0 +1,56 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 1993-2008 Raven Software +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// System specific interface stuff. +// + + +#ifndef __D_TICCMD__ +#define __D_TICCMD__ + +#include "doomtype.h" + + +// The data sampled per tick (single player) +// and transmitted to other peers (multiplayer). +// Mainly movements/button commands per game tick, +// plus a checksum for internal state consistency. + +typedef struct +{ + signed char forwardmove; // *2048 for move + signed char sidemove; // *2048 for move + short angleturn; // <<16 for angle delta + byte chatchar; + byte buttons; + // villsa [STRIFE] according to the asm, + // consistancy is a short, not a byte + byte consistancy; // checks for net game + + // villsa - Strife specific: + + byte buttons2; + int inventory; + + // Heretic/Hexen specific: + + byte lookfly; // look/fly up/down/centering + byte arti; // artitype_t to use +} ticcmd_t; + + + +#endif diff --git a/src/kernel/userland/doom/deh_main.h b/src/kernel/userland/doom/deh_main.h new file mode 100644 index 0000000..10ac236 --- /dev/null +++ b/src/kernel/userland/doom/deh_main.h @@ -0,0 +1,48 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// +// Dehacked entrypoint and common code +// + +#ifndef DEH_MAIN_H +#define DEH_MAIN_H + +#include "doomtype.h" +#include "doomfeatures.h" +#include "deh_str.h" +#include "sha1.h" + +// These are the limits that dehacked uses (from dheinit.h in the dehacked +// source). If these limits are exceeded, it does not generate an error, but +// a warning is displayed. + +#define DEH_VANILLA_NUMSTATES 966 +#define DEH_VANILLA_NUMSFX 107 + +void DEH_ParseCommandLine(void); +int DEH_LoadFile(char *filename); +int DEH_LoadLump(int lumpnum, boolean allow_long, boolean allow_error); +int DEH_LoadLumpByName(char *name, boolean allow_long, boolean allow_error); + +boolean DEH_ParseAssignment(char *line, char **variable_name, char **value); + +void DEH_Checksum(sha1_digest_t digest); + +extern boolean deh_allow_extended_strings; +extern boolean deh_allow_long_strings; +extern boolean deh_allow_long_cheats; +extern boolean deh_apply_cheats; + +#endif /* #ifndef DEH_MAIN_H */ + diff --git a/src/kernel/userland/doom/deh_misc.h b/src/kernel/userland/doom/deh_misc.h new file mode 100644 index 0000000..319a145 --- /dev/null +++ b/src/kernel/userland/doom/deh_misc.h @@ -0,0 +1,83 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// +// Parses "Misc" sections in dehacked files +// + +#ifndef DEH_MISC_H +#define DEH_MISC_H + +#include "doomfeatures.h" + +#define DEH_DEFAULT_INITIAL_HEALTH 100 +#define DEH_DEFAULT_INITIAL_BULLETS 50 +#define DEH_DEFAULT_MAX_HEALTH 200 +#define DEH_DEFAULT_MAX_ARMOR 200 +#define DEH_DEFAULT_GREEN_ARMOR_CLASS 1 +#define DEH_DEFAULT_BLUE_ARMOR_CLASS 2 +#define DEH_DEFAULT_MAX_SOULSPHERE 200 +#define DEH_DEFAULT_SOULSPHERE_HEALTH 100 +#define DEH_DEFAULT_MEGASPHERE_HEALTH 200 +#define DEH_DEFAULT_GOD_MODE_HEALTH 100 +#define DEH_DEFAULT_IDFA_ARMOR 200 +#define DEH_DEFAULT_IDFA_ARMOR_CLASS 2 +#define DEH_DEFAULT_IDKFA_ARMOR 200 +#define DEH_DEFAULT_IDKFA_ARMOR_CLASS 2 +#define DEH_DEFAULT_BFG_CELLS_PER_SHOT 40 +#define DEH_DEFAULT_SPECIES_INFIGHTING 0 + +#ifdef FEATURE_DEHACKED + +extern int deh_initial_health; +extern int deh_initial_bullets; +extern int deh_max_health; +extern int deh_max_armor; +extern int deh_green_armor_class; +extern int deh_blue_armor_class; +extern int deh_max_soulsphere; +extern int deh_soulsphere_health; +extern int deh_megasphere_health; +extern int deh_god_mode_health; +extern int deh_idfa_armor; +extern int deh_idfa_armor_class; +extern int deh_idkfa_armor; +extern int deh_idkfa_armor_class; +extern int deh_bfg_cells_per_shot; +extern int deh_species_infighting; + +#else + +// If dehacked is disabled, hard coded values + +#define deh_initial_health DEH_DEFAULT_INITIAL_HEALTH +#define deh_initial_bullets DEH_DEFAULT_INITIAL_BULLETS +#define deh_max_health DEH_DEFAULT_MAX_HEALTH +#define deh_max_armor DEH_DEFAULT_MAX_ARMOR +#define deh_green_armor_class DEH_DEFAULT_GREEN_ARMOR_CLASS +#define deh_blue_armor_class DEH_DEFAULT_BLUE_ARMOR_CLASS +#define deh_max_soulsphere DEH_DEFAULT_MAX_SOULSPHERE +#define deh_soulsphere_health DEH_DEFAULT_SOULSPHERE_HEALTH +#define deh_megasphere_health DEH_DEFAULT_MEGASPHERE_HEALTH +#define deh_god_mode_health DEH_DEFAULT_GOD_MODE_HEALTH +#define deh_idfa_armor DEH_DEFAULT_IDFA_ARMOR +#define deh_idfa_armor_class DEH_DEFAULT_IDFA_ARMOR_CLASS +#define deh_idkfa_armor DEH_DEFAULT_IDKFA_ARMOR +#define deh_idkfa_armor_class DEH_DEFAULT_IDKFA_ARMOR_CLASS +#define deh_bfg_cells_per_shot DEH_DEFAULT_BFG_CELLS_PER_SHOT +#define deh_species_infighting DEH_DEFAULT_SPECIES_INFIGHTING + +#endif + +#endif /* #ifndef DEH_MISC_H */ + diff --git a/src/kernel/userland/doom/deh_str.h b/src/kernel/userland/doom/deh_str.h new file mode 100644 index 0000000..cdecaf0 --- /dev/null +++ b/src/kernel/userland/doom/deh_str.h @@ -0,0 +1,47 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// +// Dehacked string replacements +// + +#ifndef DEH_STR_H +#define DEH_STR_H + +#include + +#include "doomfeatures.h" + +// Used to do dehacked text substitutions throughout the program + +#ifdef FEATURE_DEHACKED + +char *DEH_String(char *s); +void DEH_printf(char *fmt, ...); +void DEH_fprintf(FILE *fstream, char *fmt, ...); +void DEH_snprintf(char *buffer, size_t len, char *fmt, ...); +void DEH_AddStringReplacement(char *from_text, char *to_text); + + +#else + +#define DEH_String(x) (x) +#define DEH_printf printf +#define DEH_fprintf fprintf +#define DEH_snprintf snprintf +#define DEH_AddStringReplacement(x, y) + +#endif + +#endif /* #ifndef DEH_STR_H */ + diff --git a/src/kernel/userland/doom/doom.h b/src/kernel/userland/doom/doom.h new file mode 100644 index 0000000..3c0d0be --- /dev/null +++ b/src/kernel/userland/doom/doom.h @@ -0,0 +1,42 @@ +/* + * doom.h + * + * Created on: 18.02.2015 + * Author: Florian + */ + + +#ifndef SRC_CHOCDOOM_DOOM_H_ +#define SRC_CHOCDOOM_DOOM_H_ + +/*---------------------------------------------------------------------* + * additional includes * + *---------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------* + * global definitions * + *---------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------* + * type declarations * + *---------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------* + * function prototypes * + *---------------------------------------------------------------------*/ + +void D_DoomMain (void); + +/*---------------------------------------------------------------------* + * global data * + *---------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------* + * inline functions and function-like macros * + *---------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------* + * eof * + *---------------------------------------------------------------------*/ + +#endif /* SRC_CHOCDOOM_DOOM_H_ */ diff --git a/src/kernel/userland/doom/doomdata.h b/src/kernel/userland/doom/doomdata.h new file mode 100644 index 0000000..46b3e11 --- /dev/null +++ b/src/kernel/userland/doom/doomdata.h @@ -0,0 +1,213 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// all external data is defined here +// most of the data is loaded into different structures at run time +// some internal structures shared by many modules are here +// + +#ifndef __DOOMDATA__ +#define __DOOMDATA__ + +// The most basic types we use, portability. +#include "doomtype.h" + +// Some global defines, that configure the game. +#include "doomdef.h" + + + +// +// Map level types. +// The following data structures define the persistent format +// used in the lumps of the WAD files. +// + +// Lump order in a map WAD: each map needs a couple of lumps +// to provide a complete scene geometry description. +enum +{ + ML_LABEL, // A separator, name, ExMx or MAPxx + ML_THINGS, // Monsters, items.. + ML_LINEDEFS, // LineDefs, from editing + ML_SIDEDEFS, // SideDefs, from editing + ML_VERTEXES, // Vertices, edited and BSP splits generated + ML_SEGS, // LineSegs, from LineDefs split by BSP + ML_SSECTORS, // SubSectors, list of LineSegs + ML_NODES, // BSP nodes + ML_SECTORS, // Sectors, from editing + ML_REJECT, // LUT, sector-sector visibility + ML_BLOCKMAP // LUT, motion clipping, walls/grid element +}; + + +// A single Vertex. +typedef struct +{ + short x; + short y; +} PACKEDATTR mapvertex_t; + + +// A SideDef, defining the visual appearance of a wall, +// by setting textures and offsets. +typedef struct +{ + short textureoffset; + short rowoffset; + char toptexture[8]; + char bottomtexture[8]; + char midtexture[8]; + // Front sector, towards viewer. + short sector; +} PACKEDATTR mapsidedef_t; + + + +// A LineDef, as used for editing, and as input +// to the BSP builder. +typedef struct +{ + short v1; + short v2; + short flags; + short special; + short tag; + // sidenum[1] will be -1 if one sided + short sidenum[2]; +} PACKEDATTR maplinedef_t; + + +// +// LineDef attributes. +// + +// Solid, is an obstacle. +#define ML_BLOCKING 1 + +// Blocks monsters only. +#define ML_BLOCKMONSTERS 2 + +// Backside will not be present at all +// if not two sided. +#define ML_TWOSIDED 4 + +// If a texture is pegged, the texture will have +// the end exposed to air held constant at the +// top or bottom of the texture (stairs or pulled +// down things) and will move with a height change +// of one of the neighbor sectors. +// Unpegged textures allways have the first row of +// the texture at the top pixel of the line for both +// top and bottom textures (use next to windows). + +// upper texture unpegged +#define ML_DONTPEGTOP 8 + +// lower texture unpegged +#define ML_DONTPEGBOTTOM 16 + +// In AutoMap: don't map as two sided: IT'S A SECRET! +#define ML_SECRET 32 + +// Sound rendering: don't let sound cross two of these. +#define ML_SOUNDBLOCK 64 + +// Don't draw on the automap at all. +#define ML_DONTDRAW 128 + +// Set if already seen, thus drawn in automap. +#define ML_MAPPED 256 + + + + +// Sector definition, from editing. +typedef struct +{ + short floorheight; + short ceilingheight; + char floorpic[8]; + char ceilingpic[8]; + short lightlevel; + short special; + short tag; +} PACKEDATTR mapsector_t; + +// SubSector, as generated by BSP. +typedef struct +{ + short numsegs; + // Index of first one, segs are stored sequentially. + short firstseg; +} PACKEDATTR mapsubsector_t; + + +// LineSeg, generated by splitting LineDefs +// using partition lines selected by BSP builder. +typedef struct +{ + short v1; + short v2; + short angle; + short linedef; + short side; + short offset; +} PACKEDATTR mapseg_t; + + + +// BSP node structure. + +// Indicate a leaf. +#define NF_SUBSECTOR 0x8000 + +typedef struct +{ + // Partition line from (x,y) to x+dx,y+dy) + short x; + short y; + short dx; + short dy; + + // Bounding box for each child, + // clip against view frustum. + short bbox[2][4]; + + // If NF_SUBSECTOR its a subsector, + // else it's a node of another subtree. + unsigned short children[2]; + +} PACKEDATTR mapnode_t; + + + + +// Thing definition, position, orientation and type, +// plus skill/visibility flags and attributes. +typedef struct +{ + short x; + short y; + short angle; + short type; + short options; +} PACKEDATTR mapthing_t; + + + + + +#endif // __DOOMDATA__ diff --git a/src/kernel/userland/doom/doomdef.c b/src/kernel/userland/doom/doomdef.c new file mode 100644 index 0000000..d31f3ef --- /dev/null +++ b/src/kernel/userland/doom/doomdef.c @@ -0,0 +1,28 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// DoomDef - basic defines for DOOM, e.g. Version, game mode +// and skill level, and display parameters. +// + + + +#include "doomdef.h" + +// Location for any defines turned variables. + +// None. + + diff --git a/src/kernel/userland/doom/doomdef.h b/src/kernel/userland/doom/doomdef.h new file mode 100644 index 0000000..62d729d --- /dev/null +++ b/src/kernel/userland/doom/doomdef.h @@ -0,0 +1,168 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Internally used data structures for virtually everything, +// lots of other stuff. +// + +#ifndef __DOOMDEF__ +#define __DOOMDEF__ + +#include +#include + +#include "doomtype.h" +#include "i_timer.h" +#include "d_mode.h" + +// +// Global parameters/defines. +// +// DOOM version +#define DOOM_VERSION 109 + +// Version code for cph's longtics hack ("v1.91") +#define DOOM_191_VERSION 111 + + +// If rangecheck is undefined, +// most parameter validation debugging code will not be compiled +#define RANGECHECK + +// The maximum number of players, multiplayer/networking. +#define MAXPLAYERS 4 + +// The current state of the game: whether we are +// playing, gazing at the intermission screen, +// the game final animation, or a demo. +typedef enum +{ + GS_LEVEL, + GS_INTERMISSION, + GS_FINALE, + GS_DEMOSCREEN, +} gamestate_t; + +typedef enum +{ + ga_nothing, + ga_loadlevel, + ga_newgame, + ga_loadgame, + ga_savegame, + ga_playdemo, + ga_completed, + ga_victory, + ga_worlddone, + ga_screenshot +} gameaction_t; + +// +// Difficulty/skill settings/filters. +// + +// Skill flags. +#define MTF_EASY 1 +#define MTF_NORMAL 2 +#define MTF_HARD 4 + +// Deaf monsters/do not react to sound. +#define MTF_AMBUSH 8 + + +// +// Key cards. +// +typedef enum +{ + it_bluecard, + it_yellowcard, + it_redcard, + it_blueskull, + it_yellowskull, + it_redskull, + + NUMCARDS + +} card_t; + + + +// The defined weapons, +// including a marker indicating +// user has not changed weapon. +typedef enum +{ + wp_fist, + wp_pistol, + wp_shotgun, + wp_chaingun, + wp_missile, + wp_plasma, + wp_bfg, + wp_chainsaw, + wp_supershotgun, + + NUMWEAPONS, + + // No pending weapon change. + wp_nochange + +} weapontype_t; + + +// Ammunition types defined. +typedef enum +{ + am_clip, // Pistol / chaingun ammo. + am_shell, // Shotgun / double barreled shotgun. + am_cell, // Plasma rifle, BFG. + am_misl, // Missile launcher. + NUMAMMO, + am_noammo // Unlimited for chainsaw / fist. + +} ammotype_t; + + +// Power up artifacts. +typedef enum +{ + pw_invulnerability, + pw_strength, + pw_invisibility, + pw_ironfeet, + pw_allmap, + pw_infrared, + NUMPOWERS + +} powertype_t; + + + +// +// Power up durations, +// how many seconds till expiration, +// assuming TICRATE is 35 ticks/second. +// +typedef enum +{ + INVULNTICS = (30*TICRATE), + INVISTICS = (60*TICRATE), + INFRATICS = (120*TICRATE), + IRONTICS = (60*TICRATE) + +} powerduration_t; + +#endif // __DOOMDEF__ diff --git a/src/kernel/userland/doom/doomfeatures.h b/src/kernel/userland/doom/doomfeatures.h new file mode 100644 index 0000000..dff6936 --- /dev/null +++ b/src/kernel/userland/doom/doomfeatures.h @@ -0,0 +1,40 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// List of features which can be enabled/disabled to slim down the +// program. +// + +#ifndef DOOM_FEATURES_H +#define DOOM_FEATURES_H + +// Enables wad merging (the '-merge' command line parameter) + +#undef FEATURE_WAD_MERGE + +// Enables dehacked support ('-deh') + +#undef FEATURE_DEHACKED + +// Enables multiplayer support (network games) + +#undef FEATURE_MULTIPLAYER + +// Enables sound output + +//#undef FEATURE_SOUND + +#endif /* #ifndef DOOM_FEATURES_H */ + + diff --git a/src/kernel/userland/doom/doomgeneric.c b/src/kernel/userland/doom/doomgeneric.c new file mode 100644 index 0000000..881d700 --- /dev/null +++ b/src/kernel/userland/doom/doomgeneric.c @@ -0,0 +1,27 @@ +#include + +#include "m_argv.h" + +#include "doomgeneric.h" + +pixel_t* DG_ScreenBuffer = NULL; + +void M_FindResponseFile(void); +void D_DoomMain (void); + + +void doomgeneric_Create(int argc, char **argv) +{ + // save arguments + myargc = argc; + myargv = argv; + + M_FindResponseFile(); + + DG_ScreenBuffer = malloc(DOOMGENERIC_RESX * DOOMGENERIC_RESY * 4); + + DG_Init(); + + D_DoomMain (); +} + diff --git a/src/kernel/userland/doom/doomgeneric.h b/src/kernel/userland/doom/doomgeneric.h new file mode 100644 index 0000000..fd8708f --- /dev/null +++ b/src/kernel/userland/doom/doomgeneric.h @@ -0,0 +1,49 @@ +#ifndef DOOM_GENERIC +#define DOOM_GENERIC + +#include +#include + +#ifndef DOOMGENERIC_RESX +#define DOOMGENERIC_RESX 640 +#endif // DOOMGENERIC_RESX + +#ifndef DOOMGENERIC_RESY +#define DOOMGENERIC_RESY 400 +#endif // DOOMGENERIC_RESY + + +#ifdef CMAP256 + +typedef uint8_t pixel_t; + +#else // CMAP256 + +typedef uint32_t pixel_t; + +#endif // CMAP256 + + +extern pixel_t* DG_ScreenBuffer; + +#ifdef __cplusplus +extern "C" { +#endif + +void doomgeneric_Create(int argc, char **argv); +void doomgeneric_Tick(); + + +//Implement below functions for your platform +void DG_Init(); +void DG_DrawFrame(); +void DG_SleepMs(uint32_t ms); +uint32_t DG_GetTicksMs(); +int DG_GetKey(int* pressed, unsigned char* key); +void DG_SetWindowTitle(const char * title); + +#ifdef __cplusplus +} +#endif + +#endif //DOOM_GENERIC diff --git a/src/kernel/userland/doom/doomgeneric.vcxproj b/src/kernel/userland/doom/doomgeneric.vcxproj new file mode 100644 index 0000000..48684f9 --- /dev/null +++ b/src/kernel/userland/doom/doomgeneric.vcxproj @@ -0,0 +1,339 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 15.0 + {95A126D2-CC94-4840-BF05-80305041B5FB} + Win32Proj + doomgeneric + 10.0 + + + + Application + true + v141 + Unicode + + + Application + false + v141 + true + Unicode + + + Application + true + v141 + Unicode + + + Application + false + v141 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + true + + + false + + + false + + + + NotUsing + Level3 + Disabled + false + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + 4146;4996 + + + Console + true + + + + + NotUsing + Level3 + Disabled + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + 4146;4996 + + + Console + true + + + + + NotUsing + Level3 + MaxSpeed + true + true + false + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + 4146;4996 + + + Console + true + true + true + + + + + NotUsing + Level3 + MaxSpeed + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + 4146;4996 + + + Console + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/kernel/userland/doom/doomgeneric.vcxproj.filters b/src/kernel/userland/doom/doomgeneric.vcxproj.filters new file mode 100644 index 0000000..749df13 --- /dev/null +++ b/src/kernel/userland/doom/doomgeneric.vcxproj.filters @@ -0,0 +1,558 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/src/kernel/userland/doom/doomgeneric_boredos.c b/src/kernel/userland/doom/doomgeneric_boredos.c new file mode 100644 index 0000000..e183c98 --- /dev/null +++ b/src/kernel/userland/doom/doomgeneric_boredos.c @@ -0,0 +1,133 @@ +#include "doomgeneric.h" +#include "doomkeys.h" +#include +#include + +static ui_window_t doom_win = 0; + +void DG_Init(void) { + doom_win = ui_window_create("Yes, it's DOOM.", (1920 - DOOMGENERIC_RESX) / 2, (1080 - DOOMGENERIC_RESY) / 2, DOOMGENERIC_RESX, DOOMGENERIC_RESY); +} + +static uint32_t scaled_buffer[600 * 900]; // DOOMGENERIC_RESX * DOOMGENERIC_RESY + +void DG_DrawFrame(void) { + if (doom_win) { + // Doom's internal rendering is always 320x200. + // But doomgeneric seems to expect DOOMGENERIC_RESX x DOOMGENERIC_RESY. + // Actually, if we set DOOMGENERIC_RESX = 600, doom builds its internal tables based on DOOMGENERIC_RESX. + // Wait, Doom's standard resolution is 320x200. Let's find out what DG_ScreenBuffer dimensions are. + // According to Doom source, SCREENWIDTH and SCREENHEIGHT define the buffer size. + // So DG_ScreenBuffer is indeed DOOMGENERIC_RESX x DOOMGENERIC_RESY. + // However, the issue shown in the image is that the *game itself* only drew a 320x200 or 640x400 block in the corner! + + // So the image wasn't scaled by Doom. Let's let LibUI do the scaling! + // We will tell Doom its resolution is 640x400 (which it knows how to handle correctly for the 16:10 aspect ratio), + // but we'll scale it to 600x900 (or whatever window size) before sending it to ui_draw_image. + + // Wait, ui_draw_image doesn't scale natively yet. Let's do nearest-neighbor scaling. + int src_w = 640; + int src_h = 400; + int dst_w = DOOMGENERIC_RESX; + int dst_h = DOOMGENERIC_RESY; + + for (int y = 0; y < dst_h; y++) { + int sy = y * src_h / dst_h; + for (int x = 0; x < dst_w; x++) { + int sx = x * src_w / dst_w; + scaled_buffer[y * dst_w + x] = ((uint32_t*)DG_ScreenBuffer)[sy * src_w + sx]; + } + } + + ui_draw_image(doom_win, 0, 0, dst_w, dst_h, scaled_buffer); + ui_mark_dirty(doom_win, 0, 0, dst_w, dst_h); + } +} + +void DG_SleepMs(uint32_t ms) { + uint32_t end_ticks = DG_GetTicksMs() + ms; + while (DG_GetTicksMs() < end_ticks) { + for(volatile int x=0; x<1000; x++); + } +} + +uint32_t DG_GetTicksMs(void) { + uint64_t ticks = sys_system(16, 0, 0, 0, 0); // SYSTEM_CMD_UPTIME = 16 (100Hz) + return (uint32_t)(ticks * 10); +} + +void DG_SetWindowTitle(const char * title) { +} + +#define KQ_SIZE 64 +static struct { int pressed; unsigned char key; } key_queue[KQ_SIZE]; +static int kq_head = 0; +static int kq_tail = 0; +static uint32_t key_held_until[256]; + +static void push_key(int pressed, unsigned char key) { + int next = (kq_head + 1) % KQ_SIZE; + if (next != kq_tail) { + key_queue[kq_head].pressed = pressed; + key_queue[kq_head].key = key; + kq_head = next; + } +} + +int DG_GetKey(int* pressed, unsigned char* key) { + if (kq_tail != kq_head) { + *pressed = key_queue[kq_tail].pressed; + *key = key_queue[kq_tail].key; + kq_tail = (kq_tail + 1) % KQ_SIZE; + return 1; + } + + gui_event_t ev; + while (ui_get_event(doom_win, &ev)) { + if (ev.type == GUI_EVENT_CLOSE) { + sys_exit(0); + } else if (ev.type == GUI_EVENT_KEY || ev.type == GUI_EVENT_KEYUP) { + unsigned char k = (unsigned char)ev.arg1; + unsigned char dk = k; + if (k == 17) dk = KEY_UPARROW; + else if (k == 18) dk = KEY_DOWNARROW; + else if (k == 19) dk = KEY_LEFTARROW; + else if (k == 20) dk = KEY_RIGHTARROW; + else if (k == 21) dk = KEY_FIRE; + else if (k == 22) dk = KEY_RALT; + else if (k == 23) dk = KEY_CAPSLOCK; + else if (k == 27) dk = KEY_ESCAPE; + else if (k == ' ') dk = KEY_USE; + else if (k == '\n' || k == '\r') dk = KEY_ENTER; + else if (k >= 'A' && k <= 'Z') dk = k + 32; + + if (ev.type == GUI_EVENT_KEY) { + push_key(1, dk); + } else if (ev.type == GUI_EVENT_KEYUP) { + push_key(0, dk); + } + } + } + + if (kq_tail != kq_head) { + *pressed = key_queue[kq_tail].pressed; + *key = key_queue[kq_tail].key; + kq_tail = (kq_tail + 1) % KQ_SIZE; + return 1; + } + return 0; +} + +int main(int argc, char** argv) { + (void)argc; + (void)argv; + char* fake_argv[] = {"doom", "-iwad", "A:/doom1.wad"}; + doomgeneric_Create(3, fake_argv); + + while (1) { + doomgeneric_Tick(); + sleep(1); + } + + return 0; +} diff --git a/src/kernel/userland/doom/doomkeys.h b/src/kernel/userland/doom/doomkeys.h new file mode 100644 index 0000000..fea9d5c --- /dev/null +++ b/src/kernel/userland/doom/doomkeys.h @@ -0,0 +1,96 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Key definitions +// + +#ifndef __DOOMKEYS__ +#define __DOOMKEYS__ + +// +// DOOM keyboard definition. +// This is the stuff configured by Setup.Exe. +// Most key data are simple ascii (uppercased). +// +#define KEY_RIGHTARROW 0xae +#define KEY_LEFTARROW 0xac +#define KEY_UPARROW 0xad +#define KEY_DOWNARROW 0xaf +#define KEY_STRAFE_L 0xa0 +#define KEY_STRAFE_R 0xa1 +#define KEY_USE 0xa2 +#define KEY_FIRE 0xa3 +#define KEY_ESCAPE 27 +#define KEY_ENTER 13 +#define KEY_TAB 9 +#define KEY_F1 (0x80+0x3b) +#define KEY_F2 (0x80+0x3c) +#define KEY_F3 (0x80+0x3d) +#define KEY_F4 (0x80+0x3e) +#define KEY_F5 (0x80+0x3f) +#define KEY_F6 (0x80+0x40) +#define KEY_F7 (0x80+0x41) +#define KEY_F8 (0x80+0x42) +#define KEY_F9 (0x80+0x43) +#define KEY_F10 (0x80+0x44) +#define KEY_F11 (0x80+0x57) +#define KEY_F12 (0x80+0x58) + +#define KEY_BACKSPACE 0x7f +#define KEY_PAUSE 0xff + +#define KEY_EQUALS 0x3d +#define KEY_MINUS 0x2d + +#define KEY_RSHIFT (0x80+0x36) +#define KEY_RCTRL (0x80+0x1d) +#define KEY_RALT (0x80+0x38) + +#define KEY_LALT KEY_RALT + + +#define KEY_CAPSLOCK (0x80+0x3a) +#define KEY_NUMLOCK (0x80+0x45) +#define KEY_SCRLCK (0x80+0x46) +#define KEY_PRTSCR (0x80+0x59) + +#define KEY_HOME (0x80+0x47) +#define KEY_END (0x80+0x4f) +#define KEY_PGUP (0x80+0x49) +#define KEY_PGDN (0x80+0x51) +#define KEY_INS (0x80+0x52) +#define KEY_DEL (0x80+0x53) + +#define KEYP_0 0 +#define KEYP_1 KEY_END +#define KEYP_2 KEY_DOWNARROW +#define KEYP_3 KEY_PGDN +#define KEYP_4 KEY_LEFTARROW +#define KEYP_5 '5' +#define KEYP_6 KEY_RIGHTARROW +#define KEYP_7 KEY_HOME +#define KEYP_8 KEY_UPARROW +#define KEYP_9 KEY_PGUP + +#define KEYP_DIVIDE '/' +#define KEYP_PLUS '+' +#define KEYP_MINUS '-' +#define KEYP_MULTIPLY '*' +#define KEYP_PERIOD 0 +#define KEYP_EQUALS KEY_EQUALS +#define KEYP_ENTER KEY_ENTER + +#endif // __DOOMKEYS__ + diff --git a/src/kernel/userland/doom/doomstat.c b/src/kernel/userland/doom/doomstat.c new file mode 100644 index 0000000..ed4c6cc --- /dev/null +++ b/src/kernel/userland/doom/doomstat.c @@ -0,0 +1,35 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Put all global tate variables here. +// + +#include + +#include "doomstat.h" + + +// Game Mode - identify IWAD as shareware, retail etc. +GameMode_t gamemode = indetermined; +GameMission_t gamemission = doom; +GameVersion_t gameversion = exe_final2; +char *gamedescription; + +// Set if homebrew PWAD stuff has been added. +boolean modifiedgame; + + + + diff --git a/src/kernel/userland/doom/doomstat.h b/src/kernel/userland/doom/doomstat.h new file mode 100644 index 0000000..acd65dc --- /dev/null +++ b/src/kernel/userland/doom/doomstat.h @@ -0,0 +1,281 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// All the global variables that store the internal state. +// Theoretically speaking, the internal state of the engine +// should be found by looking at the variables collected +// here, and every relevant module will have to include +// this header file. +// In practice, things are a bit messy. +// + + +#ifndef __D_STATE__ +#define __D_STATE__ + +// We need globally shared data structures, +// for defining the global state variables. +#include "doomdata.h" +#include "d_loop.h" + +// We need the playr data structure as well. +#include "d_player.h" + +// Game mode/mission +#include "d_mode.h" + +#include "net_defs.h" + + + +// ------------------------ +// Command line parameters. +// +extern boolean nomonsters; // checkparm of -nomonsters +extern boolean respawnparm; // checkparm of -respawn +extern boolean fastparm; // checkparm of -fast + +extern boolean devparm; // DEBUG: launched with -devparm + + +// ----------------------------------------------------- +// Game Mode - identify IWAD as shareware, retail etc. +// +extern GameMode_t gamemode; +extern GameMission_t gamemission; +extern GameVersion_t gameversion; +extern char *gamedescription; + +// If true, we're using one of the mangled BFG edition IWADs. +extern boolean bfgedition; + +// Convenience macro. +// 'gamemission' can be equal to pack_chex or pack_hacx, but these are +// just modified versions of doom and doom2, and should be interpreted +// as the same most of the time. + +#define logical_gamemission \ + (gamemission == pack_chex ? doom : \ + gamemission == pack_hacx ? doom2 : gamemission) + +// Set if homebrew PWAD stuff has been added. +extern boolean modifiedgame; + + +// ------------------------------------------- +// Selected skill type, map etc. +// + +// Defaults for menu, methinks. +extern skill_t startskill; +extern int startepisode; +extern int startmap; + +// Savegame slot to load on startup. This is the value provided to +// the -loadgame option. If this has not been provided, this is -1. + +extern int startloadgame; + +extern boolean autostart; + +// Selected by user. +extern skill_t gameskill; +extern int gameepisode; +extern int gamemap; + +// If non-zero, exit the level after this number of minutes +extern int timelimit; + +// Nightmare mode flag, single player. +extern boolean respawnmonsters; + +// Netgame? Only true if >1 player. +extern boolean netgame; + +// 0=Cooperative; 1=Deathmatch; 2=Altdeath +extern int deathmatch; + +// ------------------------- +// Internal parameters for sound rendering. +// These have been taken from the DOS version, +// but are not (yet) supported with Linux +// (e.g. no sound volume adjustment with menu. + +// From m_menu.c: +// Sound FX volume has default, 0 - 15 +// Music volume has default, 0 - 15 +// These are multiplied by 8. +extern int sfxVolume; +extern int musicVolume; + +// Current music/sfx card - index useless +// w/o a reference LUT in a sound module. +// Ideally, this would use indices found +// in: /usr/include/linux/soundcard.h +extern int snd_MusicDevice; +extern int snd_SfxDevice; +// Config file? Same disclaimer as above. +extern int snd_DesiredMusicDevice; +extern int snd_DesiredSfxDevice; + + +// ------------------------- +// Status flags for refresh. +// + +// Depending on view size - no status bar? +// Note that there is no way to disable the +// status bar explicitely. +extern boolean statusbaractive; + +extern boolean automapactive; // In AutoMap mode? +extern boolean menuactive; // Menu overlayed? +extern boolean paused; // Game Pause? + + +extern boolean viewactive; + +extern boolean nodrawers; + + +extern boolean testcontrols; +extern int testcontrols_mousespeed; + + + + +// This one is related to the 3-screen display mode. +// ANG90 = left side, ANG270 = right +extern int viewangleoffset; + +// Player taking events, and displaying. +extern int consoleplayer; +extern int displayplayer; + + +// ------------------------------------- +// Scores, rating. +// Statistics on a given map, for intermission. +// +extern int totalkills; +extern int totalitems; +extern int totalsecret; + +// Timer, for scores. +extern int levelstarttic; // gametic at level start +extern int leveltime; // tics in game play for par + + + +// -------------------------------------- +// DEMO playback/recording related stuff. +// No demo, there is a human player in charge? +// Disable save/end game? +extern boolean usergame; + +//? +extern boolean demoplayback; +extern boolean demorecording; + +// Round angleturn in ticcmds to the nearest 256. This is used when +// recording Vanilla demos in netgames. + +extern boolean lowres_turn; + +// Quit after playing a demo from cmdline. +extern boolean singledemo; + + + + +//? +extern gamestate_t gamestate; + + + + + + +//----------------------------- +// Internal parameters, fixed. +// These are set by the engine, and not changed +// according to user inputs. Partly load from +// WAD, partly set at startup time. + + + +// Bookkeeping on players - state. +extern player_t players[MAXPLAYERS]; + +// Alive? Disconnected? +extern boolean playeringame[MAXPLAYERS]; + + +// Player spawn spots for deathmatch. +#define MAX_DM_STARTS 10 +extern mapthing_t deathmatchstarts[MAX_DM_STARTS]; +extern mapthing_t* deathmatch_p; + +// Player spawn spots. +extern mapthing_t playerstarts[MAXPLAYERS]; + +// Intermission stats. +// Parameters for world map / intermission. +extern wbstartstruct_t wminfo; + + + + + + + +//----------------------------------------- +// Internal parameters, used for engine. +// + +// File handling stuff. +extern char * savegamedir; +extern char basedefault[1024]; + +// if true, load all graphics at level load +extern boolean precache; + + +// wipegamestate can be set to -1 +// to force a wipe on the next draw +extern gamestate_t wipegamestate; + +extern int mouseSensitivity; + +extern int bodyqueslot; + + + +// Needed to store the number of the dummy sky flat. +// Used for rendering, +// as well as tracking projectiles etc. +extern int skyflatnum; + + + +// Netgame stuff (buffers and pointers, i.e. indices). + + +extern int rndindex; + +extern ticcmd_t *netcmds; + + +#endif diff --git a/src/kernel/userland/doom/doomtype.h b/src/kernel/userland/doom/doomtype.h new file mode 100644 index 0000000..a225c64 --- /dev/null +++ b/src/kernel/userland/doom/doomtype.h @@ -0,0 +1,103 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Simple basic typedefs, isolated here to make it easier +// separating modules. +// + + +#ifndef __DOOMTYPE__ +#define __DOOMTYPE__ + +// #define macros to provide functions missing in Windows. +// Outside Windows, we use strings.h for str[n]casecmp. + + +#ifdef _WIN32 + +#define strcasecmp _stricmp +#define strncasecmp _strnicmp + +#else + +#include + +#endif + + +// +// The packed attribute forces structures to be packed into the minimum +// space necessary. If this is not done, the compiler may align structure +// fields differently to optimize memory access, inflating the overall +// structure size. It is important to use the packed attribute on certain +// structures where alignment is important, particularly data read/written +// to disk. +// + +#ifdef __GNUC__ +#define PACKEDATTR __attribute__((packed)) +#else +#define PACKEDATTR +#endif + +// C99 integer types; with gcc we just use this. Other compilers +// should add conditional statements that define the C99 types. + +// What is really wanted here is stdint.h; however, some old versions +// of Solaris don't have stdint.h and only have inttypes.h (the +// pre-standardisation version). inttypes.h is also in the C99 +// standard and defined to include stdint.h, so include this. + +#include + +#ifdef __cplusplus + +// Use builtin bool type with C++. + +typedef bool boolean; + +#else + +typedef enum +{ + false = 0, + true = 1, + undef = 0xFFFFFFFF +} boolean; + +#endif + +typedef uint8_t byte; + +#include + +#if defined(_WIN32) || defined(__DJGPP__) + +#define DIR_SEPARATOR '\\' +#define DIR_SEPARATOR_S "\\" +#define PATH_SEPARATOR ';' + +#else + +#define DIR_SEPARATOR '/' +#define DIR_SEPARATOR_S "/" +#define PATH_SEPARATOR ':' + +#endif + +#define arrlen(array) (sizeof(array) / sizeof(*array)) + +#endif + diff --git a/src/kernel/userland/doom/dstrings.c b/src/kernel/userland/doom/dstrings.c new file mode 100644 index 0000000..b87f198 --- /dev/null +++ b/src/kernel/userland/doom/dstrings.c @@ -0,0 +1,73 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Globally defined strings. +// + + + +#include "dstrings.h" + +char *doom1_endmsg[] = +{ + "are you sure you want to\nquit this great game?", + "please don't leave, there's more\ndemons to toast!", + "let's beat it -- this is turning\ninto a bloodbath!", + "i wouldn't leave if i were you.\ndos is much worse.", + "you're trying to say you like dos\nbetter than me, right?", + "don't leave yet -- there's a\ndemon around that corner!", + "ya know, next time you come in here\ni'm gonna toast ya.", + "go ahead and leave. see if i care.", +}; + +char *doom2_endmsg[] = +{ + // QuitDOOM II messages + "are you sure you want to\nquit this great game?", + "you want to quit?\nthen, thou hast lost an eighth!", + "don't go now, there's a \ndimensional shambler waiting\nat the dos prompt!", + "get outta here and go back\nto your boring programs.", + "if i were your boss, i'd \n deathmatch ya in a minute!", + "look, bud. you leave now\nand you forfeit your body count!", + "just leave. when you come\nback, i'll be waiting with a bat.", + "you're lucky i don't smack\nyou for thinking about leaving.", +}; + +#if 0 + +// UNUSED messages included in the source release + +char* endmsg[] = +{ + // DOOM1 + QUITMSG, + // FinalDOOM? + "fuck you, pussy!\nget the fuck out!", + "you quit and i'll jizz\nin your cystholes!", + "if you leave, i'll make\nthe lord drink my jizz.", + "hey, ron! can we say\n'fuck' in the game?", + "i'd leave: this is just\nmore monsters and levels.\nwhat a load.", + "suck it down, asshole!\nyou're a fucking wimp!", + "don't quit now! we're \nstill spending your money!", + + // Internal debug. Different style, too. + "THIS IS NO MESSAGE!\nPage intentionally left blank." +}; + +#endif + + + + diff --git a/src/kernel/userland/doom/dstrings.h b/src/kernel/userland/doom/dstrings.h new file mode 100644 index 0000000..d3240b4 --- /dev/null +++ b/src/kernel/userland/doom/dstrings.h @@ -0,0 +1,41 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// +// DESCRIPTION: +// DOOM strings, by language. +// + + +#ifndef __DSTRINGS__ +#define __DSTRINGS__ + + +// All important printed strings. + +#include "d_englsh.h" + +// Misc. other strings. +#define SAVEGAMENAME "doomsav" + + +// QuitDOOM messages +// 8 per each game type +#define NUM_QUITMESSAGES 8 + +extern char *doom1_endmsg[]; +extern char *doom2_endmsg[]; + + +#endif diff --git a/src/kernel/userland/doom/dummy.c b/src/kernel/userland/doom/dummy.c new file mode 100644 index 0000000..d78816b --- /dev/null +++ b/src/kernel/userland/doom/dummy.c @@ -0,0 +1,53 @@ +/* + * dummy.c + * + * Created on: 16.02.2015 + * Author: Florian + */ + + +/*---------------------------------------------------------------------* + * include files * + *---------------------------------------------------------------------*/ + +#include "doomtype.h" + +/*---------------------------------------------------------------------* + * local definitions * + *---------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------* + * external declarations * + *---------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------* + * public data * + *---------------------------------------------------------------------*/ + +boolean net_client_connected = false; + +boolean drone = false; + +/*---------------------------------------------------------------------* + * private data * + *---------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------* + * private functions * + *---------------------------------------------------------------------*/ + +/*---------------------------------------------------------------------* + * public functions * + *---------------------------------------------------------------------*/ + +#ifndef FEATURE_SOUND + +void I_InitTimidityConfig(void) +{ +} + +#endif + +/*---------------------------------------------------------------------* + * eof * + *---------------------------------------------------------------------*/ diff --git a/src/kernel/userland/doom/errno.h b/src/kernel/userland/doom/errno.h new file mode 100644 index 0000000..486af04 --- /dev/null +++ b/src/kernel/userland/doom/errno.h @@ -0,0 +1,2 @@ +#include "boredos_libc.h" +#define EISDIR 21 diff --git a/src/kernel/userland/doom/f_finale.c b/src/kernel/userland/doom/f_finale.c new file mode 100644 index 0000000..ca6775e --- /dev/null +++ b/src/kernel/userland/doom/f_finale.c @@ -0,0 +1,718 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Game completion, final screen animation. +// + + +#include +#include + +// Functions. +#include "deh_main.h" +#include "i_system.h" +#include "i_swap.h" +#include "z_zone.h" +#include "v_video.h" +#include "w_wad.h" +#include "s_sound.h" + +// Data. +#include "d_main.h" +#include "dstrings.h" +#include "sounds.h" + +#include "doomstat.h" +#include "r_state.h" + +typedef enum +{ + F_STAGE_TEXT, + F_STAGE_ARTSCREEN, + F_STAGE_CAST, +} finalestage_t; + +// ? +//#include "doomstat.h" +//#include "r_local.h" +//#include "f_finale.h" + +// Stage of animation: +finalestage_t finalestage; + +unsigned int finalecount; + +#define TEXTSPEED 3 +#define TEXTWAIT 250 + +typedef struct +{ + GameMission_t mission; + int episode, level; + char *background; + char *text; +} textscreen_t; + +static textscreen_t textscreens[] = +{ + { doom, 1, 8, "FLOOR4_8", E1TEXT}, + { doom, 2, 8, "SFLR6_1", E2TEXT}, + { doom, 3, 8, "MFLR8_4", E3TEXT}, + { doom, 4, 8, "MFLR8_3", E4TEXT}, + + { doom2, 1, 6, "SLIME16", C1TEXT}, + { doom2, 1, 11, "RROCK14", C2TEXT}, + { doom2, 1, 20, "RROCK07", C3TEXT}, + { doom2, 1, 30, "RROCK17", C4TEXT}, + { doom2, 1, 15, "RROCK13", C5TEXT}, + { doom2, 1, 31, "RROCK19", C6TEXT}, + + { pack_tnt, 1, 6, "SLIME16", T1TEXT}, + { pack_tnt, 1, 11, "RROCK14", T2TEXT}, + { pack_tnt, 1, 20, "RROCK07", T3TEXT}, + { pack_tnt, 1, 30, "RROCK17", T4TEXT}, + { pack_tnt, 1, 15, "RROCK13", T5TEXT}, + { pack_tnt, 1, 31, "RROCK19", T6TEXT}, + + { pack_plut, 1, 6, "SLIME16", P1TEXT}, + { pack_plut, 1, 11, "RROCK14", P2TEXT}, + { pack_plut, 1, 20, "RROCK07", P3TEXT}, + { pack_plut, 1, 30, "RROCK17", P4TEXT}, + { pack_plut, 1, 15, "RROCK13", P5TEXT}, + { pack_plut, 1, 31, "RROCK19", P6TEXT}, +}; + +char* finaletext; +char* finaleflat; + +void F_StartCast (void); +void F_CastTicker (void); +boolean F_CastResponder (event_t *ev); +void F_CastDrawer (void); + +// +// F_StartFinale +// +void F_StartFinale (void) +{ + size_t i; + + gameaction = ga_nothing; + gamestate = GS_FINALE; + viewactive = false; + automapactive = false; + + if (logical_gamemission == doom) + { + S_ChangeMusic(mus_victor, true); + } + else + { + S_ChangeMusic(mus_read_m, true); + } + + // Find the right screen and set the text and background + + for (i=0; imission == doom) + { + screen->level = 5; + } + + if (logical_gamemission == screen->mission + && (logical_gamemission != doom || gameepisode == screen->episode) + && gamemap == screen->level) + { + finaletext = screen->text; + finaleflat = screen->background; + } + } + + // Do dehacked substitutions of strings + + finaletext = DEH_String(finaletext); + finaleflat = DEH_String(finaleflat); + + finalestage = F_STAGE_TEXT; + finalecount = 0; + +} + + + +boolean F_Responder (event_t *event) +{ + if (finalestage == F_STAGE_CAST) + return F_CastResponder (event); + + return false; +} + + +// +// F_Ticker +// +void F_Ticker (void) +{ + size_t i; + + // check for skipping + if ( (gamemode == commercial) + && ( finalecount > 50) ) + { + // go on to the next level + for (i=0 ; istrlen (finaletext)*TEXTSPEED + TEXTWAIT) + { + finalecount = 0; + finalestage = F_STAGE_ARTSCREEN; + wipegamestate = -1; // force a wipe + if (gameepisode == 3) + S_StartMusic (mus_bunny); + } +} + + + +// +// F_TextWrite +// + +#include "hu_stuff.h" +extern patch_t *hu_font[HU_FONTSIZE]; + + +void F_TextWrite (void) +{ + byte* src; + byte* dest; + + int x,y,w; + signed int count; + char* ch; + int c; + int cx; + int cy; + + // erase the entire screen to a tiled background + src = W_CacheLumpName ( finaleflat , PU_CACHE); + dest = I_VideoBuffer; + + for (y=0 ; y HU_FONTSIZE) + { + cx += 4; + continue; + } + + w = SHORT (hu_font[c]->width); + if (cx+w > SCREENWIDTH) + break; + V_DrawPatch(cx, cy, hu_font[c]); + cx+=w; + } + +} + +// +// Final DOOM 2 animation +// Casting by id Software. +// in order of appearance +// +typedef struct +{ + char *name; + mobjtype_t type; +} castinfo_t; + +castinfo_t castorder[] = { + {CC_ZOMBIE, MT_POSSESSED}, + {CC_SHOTGUN, MT_SHOTGUY}, + {CC_HEAVY, MT_CHAINGUY}, + {CC_IMP, MT_TROOP}, + {CC_DEMON, MT_SERGEANT}, + {CC_LOST, MT_SKULL}, + {CC_CACO, MT_HEAD}, + {CC_HELL, MT_KNIGHT}, + {CC_BARON, MT_BRUISER}, + {CC_ARACH, MT_BABY}, + {CC_PAIN, MT_PAIN}, + {CC_REVEN, MT_UNDEAD}, + {CC_MANCU, MT_FATSO}, + {CC_ARCH, MT_VILE}, + {CC_SPIDER, MT_SPIDER}, + {CC_CYBER, MT_CYBORG}, + {CC_HERO, MT_PLAYER}, + + {NULL,0} +}; + +int castnum; +int casttics; +state_t* caststate; +boolean castdeath; +int castframes; +int castonmelee; +boolean castattacking; + + +// +// F_StartCast +// +void F_StartCast (void) +{ + wipegamestate = -1; // force a screen wipe + castnum = 0; + caststate = &states[mobjinfo[castorder[castnum].type].seestate]; + casttics = caststate->tics; + castdeath = false; + finalestage = F_STAGE_CAST; + castframes = 0; + castonmelee = 0; + castattacking = false; + S_ChangeMusic(mus_evil, true); +} + + +// +// F_CastTicker +// +void F_CastTicker (void) +{ + int st; + int sfx; + + if (--casttics > 0) + return; // not time to change state yet + + if (caststate->tics == -1 || caststate->nextstate == S_NULL) + { + // switch from deathstate to next monster + castnum++; + castdeath = false; + if (castorder[castnum].name == NULL) + castnum = 0; + if (mobjinfo[castorder[castnum].type].seesound) + S_StartSound (NULL, mobjinfo[castorder[castnum].type].seesound); + caststate = &states[mobjinfo[castorder[castnum].type].seestate]; + castframes = 0; + } + else + { + // just advance to next state in animation + if (caststate == &states[S_PLAY_ATK1]) + goto stopattack; // Oh, gross hack! + st = caststate->nextstate; + caststate = &states[st]; + castframes++; + + // sound hacks.... + switch (st) + { + case S_PLAY_ATK1: sfx = sfx_dshtgn; break; + case S_POSS_ATK2: sfx = sfx_pistol; break; + case S_SPOS_ATK2: sfx = sfx_shotgn; break; + case S_VILE_ATK2: sfx = sfx_vilatk; break; + case S_SKEL_FIST2: sfx = sfx_skeswg; break; + case S_SKEL_FIST4: sfx = sfx_skepch; break; + case S_SKEL_MISS2: sfx = sfx_skeatk; break; + case S_FATT_ATK8: + case S_FATT_ATK5: + case S_FATT_ATK2: sfx = sfx_firsht; break; + case S_CPOS_ATK2: + case S_CPOS_ATK3: + case S_CPOS_ATK4: sfx = sfx_shotgn; break; + case S_TROO_ATK3: sfx = sfx_claw; break; + case S_SARG_ATK2: sfx = sfx_sgtatk; break; + case S_BOSS_ATK2: + case S_BOS2_ATK2: + case S_HEAD_ATK2: sfx = sfx_firsht; break; + case S_SKULL_ATK2: sfx = sfx_sklatk; break; + case S_SPID_ATK2: + case S_SPID_ATK3: sfx = sfx_shotgn; break; + case S_BSPI_ATK2: sfx = sfx_plasma; break; + case S_CYBER_ATK2: + case S_CYBER_ATK4: + case S_CYBER_ATK6: sfx = sfx_rlaunc; break; + case S_PAIN_ATK3: sfx = sfx_sklatk; break; + default: sfx = 0; break; + } + + if (sfx) + S_StartSound (NULL, sfx); + } + + if (castframes == 12) + { + // go into attack frame + castattacking = true; + if (castonmelee) + caststate=&states[mobjinfo[castorder[castnum].type].meleestate]; + else + caststate=&states[mobjinfo[castorder[castnum].type].missilestate]; + castonmelee ^= 1; + if (caststate == &states[S_NULL]) + { + if (castonmelee) + caststate= + &states[mobjinfo[castorder[castnum].type].meleestate]; + else + caststate= + &states[mobjinfo[castorder[castnum].type].missilestate]; + } + } + + if (castattacking) + { + if (castframes == 24 + || caststate == &states[mobjinfo[castorder[castnum].type].seestate] ) + { + stopattack: + castattacking = false; + castframes = 0; + caststate = &states[mobjinfo[castorder[castnum].type].seestate]; + } + } + + casttics = caststate->tics; + if (casttics == -1) + casttics = 15; +} + + +// +// F_CastResponder +// + +boolean F_CastResponder (event_t* ev) +{ + if (ev->type != ev_keydown) + return false; + + if (castdeath) + return true; // already in dying frames + + // go into death frame + castdeath = true; + caststate = &states[mobjinfo[castorder[castnum].type].deathstate]; + casttics = caststate->tics; + castframes = 0; + castattacking = false; + if (mobjinfo[castorder[castnum].type].deathsound) + S_StartSound (NULL, mobjinfo[castorder[castnum].type].deathsound); + + return true; +} + + +void F_CastPrint (char* text) +{ + char* ch; + int c; + int cx; + int w; + int width; + + // find width + ch = text; + width = 0; + + while (ch) + { + c = *ch++; + if (!c) + break; + c = toupper(c) - HU_FONTSTART; + if (c < 0 || c> HU_FONTSIZE) + { + width += 4; + continue; + } + + w = SHORT (hu_font[c]->width); + width += w; + } + + // draw it + cx = 160-width/2; + ch = text; + while (ch) + { + c = *ch++; + if (!c) + break; + c = toupper(c) - HU_FONTSTART; + if (c < 0 || c> HU_FONTSIZE) + { + cx += 4; + continue; + } + + w = SHORT (hu_font[c]->width); + V_DrawPatch(cx, 180, hu_font[c]); + cx+=w; + } + +} + + +// +// F_CastDrawer +// + +void F_CastDrawer (void) +{ + spritedef_t* sprdef; + spriteframe_t* sprframe; + int lump; + boolean flip; + patch_t* patch; + + // erase the entire screen to a background + V_DrawPatch (0, 0, W_CacheLumpName (DEH_String("BOSSBACK"), PU_CACHE)); + + F_CastPrint (DEH_String(castorder[castnum].name)); + + // draw the current frame in the middle of the screen + sprdef = &sprites[caststate->sprite]; + sprframe = &sprdef->spriteframes[ caststate->frame & FF_FRAMEMASK]; + lump = sprframe->lump[0]; + flip = (boolean)sprframe->flip[0]; + + patch = W_CacheLumpNum (lump+firstspritelump, PU_CACHE); + if (flip) + V_DrawPatchFlipped(160, 170, patch); + else + V_DrawPatch(160, 170, patch); +} + + +// +// F_DrawPatchCol +// +void +F_DrawPatchCol +( int x, + patch_t* patch, + int col ) +{ + column_t* column; + byte* source; + byte* dest; + byte* desttop; + int count; + + column = (column_t *)((byte *)patch + LONG(patch->columnofs[col])); + desttop = I_VideoBuffer + x; + + // step through the posts in a column + while (column->topdelta != 0xff ) + { + source = (byte *)column + 3; + dest = desttop + column->topdelta*SCREENWIDTH; + count = column->length; + + while (count--) + { + *dest = *source++; + dest += SCREENWIDTH; + } + column = (column_t *)( (byte *)column + column->length + 4 ); + } +} + + +// +// F_BunnyScroll +// +void F_BunnyScroll (void) +{ + signed int scrolled; + int x; + patch_t* p1; + patch_t* p2; + char name[10]; + int stage; + static int laststage; + + p1 = W_CacheLumpName (DEH_String("PFUB2"), PU_LEVEL); + p2 = W_CacheLumpName (DEH_String("PFUB1"), PU_LEVEL); + + V_MarkRect (0, 0, SCREENWIDTH, SCREENHEIGHT); + + scrolled = (320 - ((signed int) finalecount-230)/2); + if (scrolled > 320) + scrolled = 320; + if (scrolled < 0) + scrolled = 0; + + for ( x=0 ; x 6) + stage = 6; + if (stage > laststage) + { + S_StartSound (NULL, sfx_pistol); + laststage = stage; + } + + DEH_snprintf(name, 10, "END%i", stage); + V_DrawPatch((SCREENWIDTH - 13 * 8) / 2, + (SCREENHEIGHT - 8 * 8) / 2, + W_CacheLumpName (name,PU_CACHE)); +} + +static void F_ArtScreenDrawer(void) +{ + char *lumpname; + + if (gameepisode == 3) + { + F_BunnyScroll(); + } + else + { + switch (gameepisode) + { + case 1: + if (gamemode == retail) + { + lumpname = "CREDIT"; + } + else + { + lumpname = "HELP2"; + } + break; + case 2: + lumpname = "VICTORY2"; + break; + case 4: + lumpname = "ENDPIC"; + break; + default: + return; + } + + lumpname = DEH_String(lumpname); + + V_DrawPatch (0, 0, W_CacheLumpName(lumpname, PU_CACHE)); + } +} + +// +// F_Drawer +// +void F_Drawer (void) +{ + switch (finalestage) + { + case F_STAGE_CAST: + F_CastDrawer(); + break; + case F_STAGE_TEXT: + F_TextWrite(); + break; + case F_STAGE_ARTSCREEN: + F_ArtScreenDrawer(); + break; + } +} + + diff --git a/src/kernel/userland/doom/f_finale.h b/src/kernel/userland/doom/f_finale.h new file mode 100644 index 0000000..daa71c3 --- /dev/null +++ b/src/kernel/userland/doom/f_finale.h @@ -0,0 +1,45 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// +// + + +#ifndef __F_FINALE__ +#define __F_FINALE__ + + +#include "doomtype.h" +#include "d_event.h" +// +// FINALE +// + +// Called by main loop. +boolean F_Responder (event_t* ev); + +// Called by main loop. +void F_Ticker (void); + +// Called by main loop. +void F_Drawer (void); + + +void F_StartFinale (void); + + + + +#endif diff --git a/src/kernel/userland/doom/f_wipe.c b/src/kernel/userland/doom/f_wipe.c new file mode 100644 index 0000000..05852fd --- /dev/null +++ b/src/kernel/userland/doom/f_wipe.c @@ -0,0 +1,294 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Mission begin melt/wipe screen special effect. +// + +#include + +#include "z_zone.h" +#include "i_video.h" +#include "v_video.h" +#include "m_random.h" + +#include "doomtype.h" + +#include "f_wipe.h" + +// +// SCREEN WIPE PACKAGE +// + +// when zero, stop the wipe +static boolean go = 0; + +static byte* wipe_scr_start; +static byte* wipe_scr_end; +static byte* wipe_scr; + + +void +wipe_shittyColMajorXform +( short* array, + int width, + int height ) +{ + int x; + int y; + short* dest; + + dest = (short*) Z_Malloc(width*height*2, PU_STATIC, 0); + + for(y=0;y *e) + { + newval = *w - ticks; + if (newval < *e) + *w = *e; + else + *w = newval; + changed = true; + } + else if (*w < *e) + { + newval = *w + ticks; + if (newval > *e) + *w = *e; + else + *w = newval; + changed = true; + } + } + w++; + e++; + } + + return !changed; + +} + +int +wipe_exitColorXForm +( int width, + int height, + int ticks ) +{ + return 0; +} + + +static int* y; + +int +wipe_initMelt +( int width, + int height, + int ticks ) +{ + int i, r; + + // copy start screen to main screen + memcpy(wipe_scr, wipe_scr_start, width*height); + + // makes this wipe faster (in theory) + // to have stuff in column-major format + wipe_shittyColMajorXform((short*)wipe_scr_start, width/2, height); + wipe_shittyColMajorXform((short*)wipe_scr_end, width/2, height); + + // setup initial column positions + // (y<0 => not ready to scroll yet) + y = (int *) Z_Malloc(width*sizeof(int), PU_STATIC, 0); + y[0] = -(M_Random()%16); + for (i=1;i 0) y[i] = 0; + else if (y[i] == -16) y[i] = -15; + } + + return 0; +} + +int +wipe_doMelt +( int width, + int height, + int ticks ) +{ + int i; + int j; + int dy; + int idx; + + short* s; + short* d; + boolean done = true; + + width/=2; + + while (ticks--) + { + for (i=0;i= height) dy = height - y[i]; + s = &((short *)wipe_scr_end)[i*height+y[i]]; + d = &((short *)wipe_scr)[y[i]*width+i]; + idx = 0; + for (j=dy;j;j--) + { + d[idx] = *(s++); + idx += width; + } + y[i] += dy; + s = &((short *)wipe_scr_start)[i*height]; + d = &((short *)wipe_scr)[y[i]*width+i]; + idx = 0; + for (j=height-y[i];j;j--) + { + d[idx] = *(s++); + idx += width; + } + done = false; + } + } + } + + return done; + +} + +int +wipe_exitMelt +( int width, + int height, + int ticks ) +{ + Z_Free(y); + Z_Free(wipe_scr_start); + Z_Free(wipe_scr_end); + return 0; +} + +int +wipe_StartScreen +( int x, + int y, + int width, + int height ) +{ + wipe_scr_start = Z_Malloc(SCREENWIDTH * SCREENHEIGHT, PU_STATIC, NULL); + I_ReadScreen(wipe_scr_start); + return 0; +} + +int +wipe_EndScreen +( int x, + int y, + int width, + int height ) +{ + wipe_scr_end = Z_Malloc(SCREENWIDTH * SCREENHEIGHT, PU_STATIC, NULL); + I_ReadScreen(wipe_scr_end); + V_DrawBlock(x, y, width, height, wipe_scr_start); // restore start scr. + return 0; +} + +int +wipe_ScreenWipe +( int wipeno, + int x, + int y, + int width, + int height, + int ticks ) +{ + int rc; + static int (*wipes[])(int, int, int) = + { + wipe_initColorXForm, wipe_doColorXForm, wipe_exitColorXForm, + wipe_initMelt, wipe_doMelt, wipe_exitMelt + }; + + // initial stuff + if (!go) + { + go = 1; + // wipe_scr = (byte *) Z_Malloc(width*height, PU_STATIC, 0); // DEBUG + wipe_scr = I_VideoBuffer; + (*wipes[wipeno*3])(width, height, ticks); + } + + // do a piece of wipe-in + V_MarkRect(0, 0, width, height); + rc = (*wipes[wipeno*3+1])(width, height, ticks); + // V_DrawBlock(x, y, 0, width, height, wipe_scr); // DEBUG + + // final stuff + if (rc) + { + go = 0; + (*wipes[wipeno*3+2])(width, height, ticks); + } + + return !go; +} + diff --git a/src/kernel/userland/doom/f_wipe.h b/src/kernel/userland/doom/f_wipe.h new file mode 100644 index 0000000..f48a9ca --- /dev/null +++ b/src/kernel/userland/doom/f_wipe.h @@ -0,0 +1,63 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Mission start screen wipe/melt, special effects. +// + + +#ifndef __F_WIPE_H__ +#define __F_WIPE_H__ + +// +// SCREEN WIPE PACKAGE +// + +enum +{ + // simple gradual pixel change for 8-bit only + wipe_ColorXForm, + + // weird screen melt + wipe_Melt, + + wipe_NUMWIPES +}; + +int +wipe_StartScreen +( int x, + int y, + int width, + int height ); + + +int +wipe_EndScreen +( int x, + int y, + int width, + int height ); + + +int +wipe_ScreenWipe +( int wipeno, + int x, + int y, + int width, + int height, + int ticks ); + +#endif diff --git a/src/kernel/userland/doom/fcntl.h b/src/kernel/userland/doom/fcntl.h new file mode 100644 index 0000000..28a93be --- /dev/null +++ b/src/kernel/userland/doom/fcntl.h @@ -0,0 +1 @@ +#include "boredos_libc.h" diff --git a/src/kernel/userland/doom/g_game.c b/src/kernel/userland/doom/g_game.c new file mode 100644 index 0000000..84df792 --- /dev/null +++ b/src/kernel/userland/doom/g_game.c @@ -0,0 +1,2302 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: none +// + + + +#include +#include +#include + +#include "doomdef.h" +#include "doomkeys.h" +#include "doomstat.h" + +#include "deh_main.h" +#include "deh_misc.h" + +#include "z_zone.h" +#include "f_finale.h" +#include "m_argv.h" +#include "m_controls.h" +#include "m_misc.h" +#include "m_menu.h" +#include "m_random.h" +#include "i_system.h" +#include "i_timer.h" +#include "i_video.h" + +#include "p_setup.h" +#include "p_saveg.h" +#include "p_tick.h" + +#include "d_main.h" + +#include "wi_stuff.h" +#include "hu_stuff.h" +#include "st_stuff.h" +#include "am_map.h" +#include "statdump.h" + +// Needs access to LFB. +#include "v_video.h" + +#include "w_wad.h" + +#include "p_local.h" + +#include "s_sound.h" + +// Data. +#include "dstrings.h" +#include "sounds.h" + +// SKY handling - still the wrong place. +#include "r_data.h" +#include "r_sky.h" + + + +#include "g_game.h" + + +#define SAVEGAMESIZE 0x2c000 + +void G_ReadDemoTiccmd (ticcmd_t* cmd); +void G_WriteDemoTiccmd (ticcmd_t* cmd); +void G_PlayerReborn (int player); + +void G_DoReborn (int playernum); + +void G_DoLoadLevel (void); +void G_DoNewGame (void); +void G_DoPlayDemo (void); +void G_DoCompleted (void); +void G_DoVictory (void); +void G_DoWorldDone (void); +void G_DoSaveGame (void); + +// Gamestate the last time G_Ticker was called. + +gamestate_t oldgamestate; + +gameaction_t gameaction; +gamestate_t gamestate; +skill_t gameskill; +boolean respawnmonsters; +int gameepisode; +int gamemap; + +// If non-zero, exit the level after this number of minutes. + +int timelimit; + +boolean paused; +boolean sendpause; // send a pause event next tic +boolean sendsave; // send a save event next tic +boolean usergame; // ok to save / end game + +boolean timingdemo; // if true, exit with report on completion +boolean nodrawers; // for comparative timing purposes +int starttime; // for comparative timing purposes + +boolean viewactive; + +int deathmatch; // only if started as net death +boolean netgame; // only true if packets are broadcast +boolean playeringame[MAXPLAYERS]; +player_t players[MAXPLAYERS]; + +boolean turbodetected[MAXPLAYERS]; + +int consoleplayer; // player taking events and displaying +int displayplayer; // view being displayed +int levelstarttic; // gametic at level start +int totalkills, totalitems, totalsecret; // for intermission + +char *demoname; +boolean demorecording; +boolean longtics; // cph's doom 1.91 longtics hack +boolean lowres_turn; // low resolution turning for longtics +boolean demoplayback; +boolean netdemo; +byte* demobuffer; +byte* demo_p; +byte* demoend; +boolean singledemo; // quit after playing a demo from cmdline + +boolean precache = true; // if true, load all graphics at start + +boolean testcontrols = false; // Invoked by setup to test controls +int testcontrols_mousespeed; + + + +wbstartstruct_t wminfo; // parms for world map / intermission + +byte consistancy[MAXPLAYERS][BACKUPTICS]; + +#define MAXPLMOVE (forwardmove[1]) + +#define TURBOTHRESHOLD 0x32 + +fixed_t forwardmove[2] = {0x19, 0x32}; +fixed_t sidemove[2] = {0x18, 0x28}; +fixed_t angleturn[3] = {640, 1280, 320}; // + slow turn + +static int *weapon_keys[] = { + &key_weapon1, + &key_weapon2, + &key_weapon3, + &key_weapon4, + &key_weapon5, + &key_weapon6, + &key_weapon7, + &key_weapon8 +}; + +// Set to -1 or +1 to switch to the previous or next weapon. + +static int next_weapon = 0; + +// Used for prev/next weapon keys. + +static const struct +{ + weapontype_t weapon; + weapontype_t weapon_num; +} weapon_order_table[] = { + { wp_fist, wp_fist }, + { wp_chainsaw, wp_fist }, + { wp_pistol, wp_pistol }, + { wp_shotgun, wp_shotgun }, + { wp_supershotgun, wp_shotgun }, + { wp_chaingun, wp_chaingun }, + { wp_missile, wp_missile }, + { wp_plasma, wp_plasma }, + { wp_bfg, wp_bfg } +}; + +#define SLOWTURNTICS 6 + +#define NUMKEYS 256 +#define MAX_JOY_BUTTONS 20 + +static boolean gamekeydown[NUMKEYS]; +static int turnheld; // for accelerative turning + +static boolean mousearray[MAX_MOUSE_BUTTONS + 1]; +static boolean *mousebuttons = &mousearray[1]; // allow [-1] + +// mouse values are used once +int mousex; +int mousey; + +static int dclicktime; +static boolean dclickstate; +static int dclicks; +static int dclicktime2; +static boolean dclickstate2; +static int dclicks2; + +// joystick values are repeated +static int joyxmove; +static int joyymove; +static int joystrafemove; +static boolean joyarray[MAX_JOY_BUTTONS + 1]; +static boolean *joybuttons = &joyarray[1]; // allow [-1] + +static int savegameslot; +static char savedescription[32]; + +#define BODYQUESIZE 32 + +mobj_t* bodyque[BODYQUESIZE]; +int bodyqueslot; + +int vanilla_savegame_limit = 1; +int vanilla_demo_limit = 1; + +int G_CmdChecksum (ticcmd_t* cmd) +{ + size_t i; + int sum = 0; + + for (i=0 ; i< sizeof(*cmd)/4 - 1 ; i++) + sum += ((int *)cmd)[i]; + + return sum; +} + +static boolean WeaponSelectable(weapontype_t weapon) +{ + // Can't select the super shotgun in Doom 1. + + if (weapon == wp_supershotgun && logical_gamemission == doom) + { + return false; + } + + // These weapons aren't available in shareware. + + if ((weapon == wp_plasma || weapon == wp_bfg) + && gamemission == doom && gamemode == shareware) + { + return false; + } + + // Can't select a weapon if we don't own it. + + if (!players[consoleplayer].weaponowned[weapon]) + { + return false; + } + + // Can't select the fist if we have the chainsaw, unless + // we also have the berserk pack. + + if (weapon == wp_fist + && players[consoleplayer].weaponowned[wp_chainsaw] + && !players[consoleplayer].powers[pw_strength]) + { + return false; + } + + return true; +} + +static int G_NextWeapon(int direction) +{ + weapontype_t weapon; + int start_i, i; + + // Find index in the table. + + if (players[consoleplayer].pendingweapon == wp_nochange) + { + weapon = players[consoleplayer].readyweapon; + } + else + { + weapon = players[consoleplayer].pendingweapon; + } + + for (i=0; iconsistancy = + consistancy[consoleplayer][maketic%BACKUPTICS]; + + strafe = gamekeydown[key_strafe] || mousebuttons[mousebstrafe] + || joybuttons[joybstrafe]; + + // fraggle: support the old "joyb_speed = 31" hack which + // allowed an autorun effect + + speed = key_speed >= NUMKEYS + || joybspeed >= MAX_JOY_BUTTONS + || gamekeydown[key_speed] + || joybuttons[joybspeed]; + + forward = side = 0; + + // use two stage accelerative turning + // on the keyboard and joystick + if (joyxmove < 0 + || joyxmove > 0 + || gamekeydown[key_right] + || gamekeydown[key_left]) + turnheld += ticdup; + else + turnheld = 0; + + if (turnheld < SLOWTURNTICS) + tspeed = 2; // slow turn + else + tspeed = speed; + + // let movement keys cancel each other out + if (strafe) + { + if (gamekeydown[key_right]) + { + // fprintf(stderr, "strafe right\n"); + side += sidemove[speed]; + } + if (gamekeydown[key_left]) + { + // fprintf(stderr, "strafe left\n"); + side -= sidemove[speed]; + } + if (joyxmove > 0) + side += sidemove[speed]; + if (joyxmove < 0) + side -= sidemove[speed]; + + } + else + { + if (gamekeydown[key_right]) + cmd->angleturn -= angleturn[tspeed]; + if (gamekeydown[key_left]) + cmd->angleturn += angleturn[tspeed]; + if (joyxmove > 0) + cmd->angleturn -= angleturn[tspeed]; + if (joyxmove < 0) + cmd->angleturn += angleturn[tspeed]; + } + + if (gamekeydown[key_up]) + { + // fprintf(stderr, "up\n"); + forward += forwardmove[speed]; + } + if (gamekeydown[key_down]) + { + // fprintf(stderr, "down\n"); + forward -= forwardmove[speed]; + } + + if (joyymove < 0) + forward += forwardmove[speed]; + if (joyymove > 0) + forward -= forwardmove[speed]; + + if (gamekeydown[key_strafeleft] + || joybuttons[joybstrafeleft] + || mousebuttons[mousebstrafeleft] + || joystrafemove < 0) + { + side -= sidemove[speed]; + } + + if (gamekeydown[key_straferight] + || joybuttons[joybstraferight] + || mousebuttons[mousebstraferight] + || joystrafemove > 0) + { + side += sidemove[speed]; + } + + // buttons + cmd->chatchar = HU_dequeueChatChar(); + + if (gamekeydown[key_fire] || mousebuttons[mousebfire] + || joybuttons[joybfire]) + cmd->buttons |= BT_ATTACK; + + if (gamekeydown[key_use] + || joybuttons[joybuse] + || mousebuttons[mousebuse]) + { + cmd->buttons |= BT_USE; + // clear double clicks if hit use button + dclicks = 0; + } + + // If the previous or next weapon button is pressed, the + // next_weapon variable is set to change weapons when + // we generate a ticcmd. Choose a new weapon. + + if (gamestate == GS_LEVEL && next_weapon != 0) + { + i = G_NextWeapon(next_weapon); + cmd->buttons |= BT_CHANGE; + cmd->buttons |= i << BT_WEAPONSHIFT; + } + else + { + // Check weapon keys. + + for (i=0; ibuttons |= BT_CHANGE; + cmd->buttons |= i< 1 ) + { + dclickstate = mousebuttons[mousebforward]; + if (dclickstate) + dclicks++; + if (dclicks == 2) + { + cmd->buttons |= BT_USE; + dclicks = 0; + } + else + dclicktime = 0; + } + else + { + dclicktime += ticdup; + if (dclicktime > 20) + { + dclicks = 0; + dclickstate = 0; + } + } + + // strafe double click + bstrafe = + mousebuttons[mousebstrafe] + || joybuttons[joybstrafe]; + if (bstrafe != dclickstate2 && dclicktime2 > 1 ) + { + dclickstate2 = bstrafe; + if (dclickstate2) + dclicks2++; + if (dclicks2 == 2) + { + cmd->buttons |= BT_USE; + dclicks2 = 0; + } + else + dclicktime2 = 0; + } + else + { + dclicktime2 += ticdup; + if (dclicktime2 > 20) + { + dclicks2 = 0; + dclickstate2 = 0; + } + } + } + + forward += mousey; + + if (strafe) + side += mousex*2; + else + cmd->angleturn -= mousex*0x8; + + if (mousex == 0) + { + // No movement in the previous frame + + testcontrols_mousespeed = 0; + } + + mousex = mousey = 0; + + if (forward > MAXPLMOVE) + forward = MAXPLMOVE; + else if (forward < -MAXPLMOVE) + forward = -MAXPLMOVE; + if (side > MAXPLMOVE) + side = MAXPLMOVE; + else if (side < -MAXPLMOVE) + side = -MAXPLMOVE; + + cmd->forwardmove += forward; + cmd->sidemove += side; + + // special buttons + if (sendpause) + { + sendpause = false; + cmd->buttons = BT_SPECIAL | BTS_PAUSE; + } + + if (sendsave) + { + sendsave = false; + cmd->buttons = BT_SPECIAL | BTS_SAVEGAME | (savegameslot<angleturn + carry; + + // round angleturn to the nearest 256 unit boundary + // for recording demos with single byte values for turn + + cmd->angleturn = (desired_angleturn + 128) & 0xff00; + + // Carry forward the error from the reduced resolution to the + // next tic, so that successive small movements can accumulate. + + carry = desired_angleturn - cmd->angleturn; + } +} + + +// +// G_DoLoadLevel +// +void G_DoLoadLevel (void) +{ + int i; + + // Set the sky map. + // First thing, we have a dummy sky texture name, + // a flat. The data is in the WAD only because + // we look for an actual index, instead of simply + // setting one. + + skyflatnum = R_FlatNumForName(DEH_String(SKYFLATNAME)); + + // The "Sky never changes in Doom II" bug was fixed in + // the id Anthology version of doom2.exe for Final Doom. + if ((gamemode == commercial) + && (gameversion == exe_final2 || gameversion == exe_chex)) + { + char *skytexturename; + + if (gamemap < 12) + { + skytexturename = "SKY1"; + } + else if (gamemap < 21) + { + skytexturename = "SKY2"; + } + else + { + skytexturename = "SKY3"; + } + + skytexturename = DEH_String(skytexturename); + + skytexture = R_TextureNumForName(skytexturename); + } + + levelstarttic = gametic; // for time calculation + + if (wipegamestate == GS_LEVEL) + wipegamestate = -1; // force a wipe + + gamestate = GS_LEVEL; + + for (i=0 ; itype == ev_keydown + && ev->data1 == key_spy && (singledemo || !deathmatch) ) + { + // spy mode + do + { + displayplayer++; + if (displayplayer == MAXPLAYERS) + displayplayer = 0; + } while (!playeringame[displayplayer] && displayplayer != consoleplayer); + return true; + } + + // any other key pops up menu if in demos + if (gameaction == ga_nothing && !singledemo && + (demoplayback || gamestate == GS_DEMOSCREEN) + ) + { + if (ev->type == ev_keydown || + (ev->type == ev_mouse && ev->data1) || + (ev->type == ev_joystick && ev->data1) ) + { + M_StartControlPanel (); + return true; + } + return false; + } + + if (gamestate == GS_LEVEL) + { +#if 0 + if (devparm && ev->type == ev_keydown && ev->data1 == ';') + { + G_DeathMatchSpawnPlayer (0); + return true; + } +#endif + if (HU_Responder (ev)) + return true; // chat ate the event + if (ST_Responder (ev)) + return true; // status window ate it + if (AM_Responder (ev)) + return true; // automap ate it + } + + if (gamestate == GS_FINALE) + { + if (F_Responder (ev)) + return true; // finale ate the event + } + + if (testcontrols && ev->type == ev_mouse) + { + // If we are invoked by setup to test the controls, save the + // mouse speed so that we can display it on-screen. + // Perform a low pass filter on this so that the thermometer + // appears to move smoothly. + + testcontrols_mousespeed = abs(ev->data2); + } + + // If the next/previous weapon keys are pressed, set the next_weapon + // variable to change weapons when the next ticcmd is generated. + + if (ev->type == ev_keydown && ev->data1 == key_prevweapon) + { + next_weapon = -1; + } + else if (ev->type == ev_keydown && ev->data1 == key_nextweapon) + { + next_weapon = 1; + } + + switch (ev->type) + { + case ev_keydown: + if (ev->data1 == key_pause) + { + sendpause = true; + } + else if (ev->data1 data1] = true; + } + + return true; // eat key down events + + case ev_keyup: + if (ev->data1 data1] = false; + return false; // always let key up events filter down + + case ev_mouse: + SetMouseButtons(ev->data1); + mousex = ev->data2*(mouseSensitivity+5)/10; + mousey = ev->data3*(mouseSensitivity+5)/10; + return true; // eat events + + case ev_joystick: + SetJoyButtons(ev->data1); + joyxmove = ev->data2; + joyymove = ev->data3; + joystrafemove = ev->data4; + return true; // eat events + + default: + break; + } + + return false; +} + + + +// +// G_Ticker +// Make ticcmd_ts for the players. +// +void G_Ticker (void) +{ + int i; + int buf; + ticcmd_t* cmd; + + // do player reborns if needed + for (i=0 ; iforwardmove > TURBOTHRESHOLD) + { + turbodetected[i] = true; + } + + if ((gametic & 31) == 0 + && ((gametic >> 5) % MAXPLAYERS) == i + && turbodetected[i]) + { + static char turbomessage[80]; + extern char *player_names[4]; + M_snprintf(turbomessage, sizeof(turbomessage), + "%s is turbo!", player_names[i]); + players[consoleplayer].message = turbomessage; + turbodetected[i] = false; + } + + if (netgame && !netdemo && !(gametic%ticdup) ) + { + if (gametic > BACKUPTICS + && consistancy[i][buf] != cmd->consistancy) + { + I_Error ("consistency failure (%i should be %i)", + cmd->consistancy, consistancy[i][buf]); + } + if (players[i].mo) + consistancy[i][buf] = players[i].mo->x; + else + consistancy[i][buf] = rndindex; + } + } + } + + // check for special buttons + for (i=0 ; i>BTS_SAVESHIFT; + gameaction = ga_savegame; + break; + } + } + } + } + + // Have we just finished displaying an intermission screen? + + if (oldgamestate == GS_INTERMISSION && gamestate != GS_INTERMISSION) + { + WI_End(); + } + + oldgamestate = gamestate; + + // do main actions + switch (gamestate) + { + case GS_LEVEL: + P_Ticker (); + ST_Ticker (); + AM_Ticker (); + HU_Ticker (); + break; + + case GS_INTERMISSION: + WI_Ticker (); + break; + + case GS_FINALE: + F_Ticker (); + break; + + case GS_DEMOSCREEN: + D_PageTicker (); + break; + } +} + + +// +// PLAYER STRUCTURE FUNCTIONS +// also see P_SpawnPlayer in P_Things +// + +// +// G_InitPlayer +// Called at the start. +// Called by the game initialization functions. +// +void G_InitPlayer (int player) +{ + // clear everything else to defaults + G_PlayerReborn (player); +} + + + +// +// G_PlayerFinishLevel +// Can when a player completes a level. +// +void G_PlayerFinishLevel (int player) +{ + player_t* p; + + p = &players[player]; + + memset (p->powers, 0, sizeof (p->powers)); + memset (p->cards, 0, sizeof (p->cards)); + p->mo->flags &= ~MF_SHADOW; // cancel invisibility + p->extralight = 0; // cancel gun flashes + p->fixedcolormap = 0; // cancel ir gogles + p->damagecount = 0; // no palette changes + p->bonuscount = 0; +} + + +// +// G_PlayerReborn +// Called after a player dies +// almost everything is cleared and initialized +// +void G_PlayerReborn (int player) +{ + player_t* p; + int i; + int frags[MAXPLAYERS]; + int killcount; + int itemcount; + int secretcount; + + memcpy (frags,players[player].frags,sizeof(frags)); + killcount = players[player].killcount; + itemcount = players[player].itemcount; + secretcount = players[player].secretcount; + + p = &players[player]; + memset (p, 0, sizeof(*p)); + + memcpy (players[player].frags, frags, sizeof(players[player].frags)); + players[player].killcount = killcount; + players[player].itemcount = itemcount; + players[player].secretcount = secretcount; + + p->usedown = p->attackdown = true; // don't do anything immediately + p->playerstate = PST_LIVE; + p->health = deh_initial_health; // Use dehacked value + p->readyweapon = p->pendingweapon = wp_pistol; + p->weaponowned[wp_fist] = true; + p->weaponowned[wp_pistol] = true; + p->ammo[am_clip] = deh_initial_bullets; + + for (i=0 ; imaxammo[i] = maxammo[i]; + +} + +// +// G_CheckSpot +// Returns false if the player cannot be respawned +// at the given mapthing_t spot +// because something is occupying it +// +void P_SpawnPlayer (mapthing_t* mthing); + +boolean +G_CheckSpot +( int playernum, + mapthing_t* mthing ) +{ + fixed_t x; + fixed_t y; + subsector_t* ss; + mobj_t* mo; + int i; + + if (!players[playernum].mo) + { + // first spawn of level, before corpses + for (i=0 ; ix == mthing->x << FRACBITS + && players[i].mo->y == mthing->y << FRACBITS) + return false; + return true; + } + + x = mthing->x << FRACBITS; + y = mthing->y << FRACBITS; + + if (!P_CheckPosition (players[playernum].mo, x, y) ) + return false; + + // flush an old corpse if needed + if (bodyqueslot >= BODYQUESIZE) + P_RemoveMobj (bodyque[bodyqueslot%BODYQUESIZE]); + bodyque[bodyqueslot%BODYQUESIZE] = players[playernum].mo; + bodyqueslot++; + + // spawn a teleport fog + ss = R_PointInSubsector (x,y); + + + // The code in the released source looks like this: + // + // an = ( ANG45 * (((unsigned int) mthing->angle)/45) ) + // >> ANGLETOFINESHIFT; + // mo = P_SpawnMobj (x+20*finecosine[an], y+20*finesine[an] + // , ss->sector->floorheight + // , MT_TFOG); + // + // But 'an' can be a signed value in the DOS version. This means that + // we get a negative index and the lookups into finecosine/finesine + // end up dereferencing values in finetangent[]. + // A player spawning on a deathmatch start facing directly west spawns + // "silently" with no spawn fog. Emulate this. + // + // This code is imported from PrBoom+. + + { + fixed_t xa, ya; + signed int an; + + // This calculation overflows in Vanilla Doom, but here we deliberately + // avoid integer overflow as it is undefined behavior, so the value of + // 'an' will always be positive. + an = (ANG45 >> ANGLETOFINESHIFT) * ((signed int) mthing->angle / 45); + + switch (an) + { + case 4096: // -4096: + xa = finetangent[2048]; // finecosine[-4096] + ya = finetangent[0]; // finesine[-4096] + break; + case 5120: // -3072: + xa = finetangent[3072]; // finecosine[-3072] + ya = finetangent[1024]; // finesine[-3072] + break; + case 6144: // -2048: + xa = finesine[0]; // finecosine[-2048] + ya = finetangent[2048]; // finesine[-2048] + break; + case 7168: // -1024: + xa = finesine[1024]; // finecosine[-1024] + ya = finetangent[3072]; // finesine[-1024] + break; + case 0: + case 1024: + case 2048: + case 3072: + xa = finecosine[an]; + ya = finesine[an]; + break; + default: + I_Error("G_CheckSpot: unexpected angle %d\n", an); + xa = ya = 0; + break; + } + mo = P_SpawnMobj(x + 20 * xa, y + 20 * ya, + ss->sector->floorheight, MT_TFOG); + } + + if (players[consoleplayer].viewz != 1) + S_StartSound (mo, sfx_telept); // don't start sound on first frame + + return true; +} + + +// +// G_DeathMatchSpawnPlayer +// Spawns a player at one of the random death match spots +// called at level load and each death +// +void G_DeathMatchSpawnPlayer (int playernum) +{ + int i,j; + int selections; + + selections = deathmatch_p - deathmatchstarts; + if (selections < 4) + I_Error ("Only %i deathmatch spots, 4 required", selections); + + for (j=0 ; j<20 ; j++) + { + i = P_Random() % selections; + if (G_CheckSpot (playernum, &deathmatchstarts[i]) ) + { + deathmatchstarts[i].type = playernum+1; + P_SpawnPlayer (&deathmatchstarts[i]); + return; + } + } + + // no good spot, so the player will probably get stuck + P_SpawnPlayer (&playerstarts[playernum]); +} + +// +// G_DoReborn +// +void G_DoReborn (int playernum) +{ + int i; + + if (!netgame) + { + // reload the level from scratch + gameaction = ga_loadlevel; + } + else + { + // respawn at the start + + // first dissasociate the corpse + players[playernum].mo->player = NULL; + + // spawn at random spot if in death match + if (deathmatch) + { + G_DeathMatchSpawnPlayer (playernum); + return; + } + + if (G_CheckSpot (playernum, &playerstarts[playernum]) ) + { + P_SpawnPlayer (&playerstarts[playernum]); + return; + } + + // try to spawn at one of the other players spots + for (i=0 ; i SAVEGAMESIZE) + { + I_Error ("Savegame buffer overrun"); + } + + // Finish up, close the savegame file. + + fclose(save_stream); + + if (recovery_savegame_file != NULL) + { + // We failed to save to the normal location, but we wrote a + // recovery file to the temp directory. Now we can bomb out + // with an error. + I_Error("Failed to open savegame file '%s' for writing.\n" + "But your game has been saved to '%s' for recovery.", + temp_savegame_file, recovery_savegame_file); + } + + // Now rename the temporary savegame file to the actual savegame + // file, overwriting the old savegame if there was one there. + + remove(savegame_file); + rename(temp_savegame_file, savegame_file); + + gameaction = ga_nothing; + M_StringCopy(savedescription, "", sizeof(savedescription)); + + players[consoleplayer].message = DEH_String(GGSAVED); + + // draw the pattern into the back screen + R_FillBackScreen (); +} + + +// +// G_InitNew +// Can be called by the startup code or the menu task, +// consoleplayer, displayplayer, playeringame[] should be set. +// +skill_t d_skill; +int d_episode; +int d_map; + +void +G_DeferedInitNew +( skill_t skill, + int episode, + int map) +{ + d_skill = skill; + d_episode = episode; + d_map = map; + gameaction = ga_newgame; +} + + +void G_DoNewGame (void) +{ + demoplayback = false; + netdemo = false; + netgame = false; + deathmatch = false; + playeringame[1] = playeringame[2] = playeringame[3] = 0; + respawnparm = false; + fastparm = false; + nomonsters = false; + consoleplayer = 0; + G_InitNew (d_skill, d_episode, d_map); + gameaction = ga_nothing; +} + + +void +G_InitNew +( skill_t skill, + int episode, + int map ) +{ + char *skytexturename; + int i; + + if (paused) + { + paused = false; + S_ResumeSound (); + } + + /* + // Note: This commented-out block of code was added at some point + // between the DOS version(s) and the Doom source release. It isn't + // found in disassemblies of the DOS version and causes IDCLEV and + // the -warp command line parameter to behave differently. + // This is left here for posterity. + + // This was quite messy with SPECIAL and commented parts. + // Supposedly hacks to make the latest edition work. + // It might not work properly. + if (episode < 1) + episode = 1; + + if ( gamemode == retail ) + { + if (episode > 4) + episode = 4; + } + else if ( gamemode == shareware ) + { + if (episode > 1) + episode = 1; // only start episode 1 on shareware + } + else + { + if (episode > 3) + episode = 3; + } + */ + + if (skill > sk_nightmare) + skill = sk_nightmare; + + if (gameversion >= exe_ultimate) + { + if (episode == 0) + { + episode = 4; + } + } + else + { + if (episode < 1) + { + episode = 1; + } + if (episode > 3) + { + episode = 3; + } + } + + if (episode > 1 && gamemode == shareware) + { + episode = 1; + } + + if (map < 1) + map = 1; + + if ( (map > 9) + && ( gamemode != commercial) ) + map = 9; + + M_ClearRandom (); + + if (skill == sk_nightmare || respawnparm ) + respawnmonsters = true; + else + respawnmonsters = false; + + if (fastparm || (skill == sk_nightmare && gameskill != sk_nightmare) ) + { + for (i=S_SARG_RUN1 ; i<=S_SARG_PAIN2 ; i++) + states[i].tics >>= 1; + mobjinfo[MT_BRUISERSHOT].speed = 20*FRACUNIT; + mobjinfo[MT_HEADSHOT].speed = 20*FRACUNIT; + mobjinfo[MT_TROOPSHOT].speed = 20*FRACUNIT; + } + else if (skill != sk_nightmare && gameskill == sk_nightmare) + { + for (i=S_SARG_RUN1 ; i<=S_SARG_PAIN2 ; i++) + states[i].tics <<= 1; + mobjinfo[MT_BRUISERSHOT].speed = 15*FRACUNIT; + mobjinfo[MT_HEADSHOT].speed = 10*FRACUNIT; + mobjinfo[MT_TROOPSHOT].speed = 10*FRACUNIT; + } + + // force players to be initialized upon first level load + for (i=0 ; iforwardmove = ((signed char)*demo_p++); + cmd->sidemove = ((signed char)*demo_p++); + + // If this is a longtics demo, read back in higher resolution + + if (longtics) + { + cmd->angleturn = *demo_p++; + cmd->angleturn |= (*demo_p++) << 8; + } + else + { + cmd->angleturn = ((unsigned char) *demo_p++)<<8; + } + + cmd->buttons = (unsigned char)*demo_p++; +} + +// Increase the size of the demo buffer to allow unlimited demos + +static void IncreaseDemoBuffer(void) +{ + int current_length; + byte *new_demobuffer; + byte *new_demop; + int new_length; + + // Find the current size + + current_length = demoend - demobuffer; + + // Generate a new buffer twice the size + new_length = current_length * 2; + + new_demobuffer = Z_Malloc(new_length, PU_STATIC, 0); + new_demop = new_demobuffer + (demo_p - demobuffer); + + // Copy over the old data + + memcpy(new_demobuffer, demobuffer, current_length); + + // Free the old buffer and point the demo pointers at the new buffer. + + Z_Free(demobuffer); + + demobuffer = new_demobuffer; + demo_p = new_demop; + demoend = demobuffer + new_length; +} + +void G_WriteDemoTiccmd (ticcmd_t* cmd) +{ + byte *demo_start; + + if (gamekeydown[key_demo_quit]) // press q to end demo recording + G_CheckDemoStatus (); + + demo_start = demo_p; + + *demo_p++ = cmd->forwardmove; + *demo_p++ = cmd->sidemove; + + // If this is a longtics demo, record in higher resolution + + if (longtics) + { + *demo_p++ = (cmd->angleturn & 0xff); + *demo_p++ = (cmd->angleturn >> 8) & 0xff; + } + else + { + *demo_p++ = cmd->angleturn >> 8; + } + + *demo_p++ = cmd->buttons; + + // reset demo pointer back + demo_p = demo_start; + + if (demo_p > demoend - 16) + { + if (vanilla_demo_limit) + { + // no more space + G_CheckDemoStatus (); + return; + } + else + { + // Vanilla demo limit disabled: unlimited + // demo lengths! + + IncreaseDemoBuffer(); + } + } + + G_ReadDemoTiccmd (cmd); // make SURE it is exactly the same +} + + + +// +// G_RecordDemo +// +void G_RecordDemo (char *name) +{ + size_t demoname_size; + int i; + int maxsize; + + usergame = false; + demoname_size = strlen(name) + 5; + demoname = Z_Malloc(demoname_size, PU_STATIC, NULL); + M_snprintf(demoname, demoname_size, "%s.lmp", name); + maxsize = 0x20000; + + //! + // @arg + // @category demo + // @vanilla + // + // Specify the demo buffer size (KiB) + // + + i = M_CheckParmWithArgs("-maxdemo", 1); + if (i) + maxsize = atoi(myargv[i+1])*1024; + demobuffer = Z_Malloc (maxsize,PU_STATIC,NULL); + demoend = demobuffer + maxsize; + + demorecording = true; +} + +// Get the demo version code appropriate for the version set in gameversion. +int G_VanillaVersionCode(void) +{ + switch (gameversion) + { + case exe_doom_1_2: + I_Error("Doom 1.2 does not have a version code!"); + case exe_doom_1_666: + return 106; + case exe_doom_1_7: + return 107; + case exe_doom_1_8: + return 108; + case exe_doom_1_9: + default: // All other versions are variants on v1.9: + return 109; + } +} + +void G_BeginRecording (void) +{ + int i; + + //! + // @category demo + // + // Record a high resolution "Doom 1.91" demo. + // + + longtics = M_CheckParm("-longtics") != 0; + + // If not recording a longtics demo, record in low res + + lowres_turn = !longtics; + + demo_p = demobuffer; + + // Save the right version code for this demo + + if (longtics) + { + *demo_p++ = DOOM_191_VERSION; + } + else + { + *demo_p++ = G_VanillaVersionCode(); + } + + *demo_p++ = gameskill; + *demo_p++ = gameepisode; + *demo_p++ = gamemap; + *demo_p++ = deathmatch; + *demo_p++ = respawnparm; + *demo_p++ = fastparm; + *demo_p++ = nomonsters; + *demo_p++ = consoleplayer; + + for (i=0 ; i= 0 && version <= 4) + { + return "v1.0/v1.1/v1.2"; + } + else + { + M_snprintf(resultbuf, sizeof(resultbuf), + "%i.%i (unknown)", version / 100, version % 100); + return resultbuf; + } +} + +void G_DoPlayDemo (void) +{ + skill_t skill; + int i, episode, map; + int demoversion; + + gameaction = ga_nothing; + demobuffer = demo_p = W_CacheLumpName (defdemoname, PU_STATIC); + + demoversion = *demo_p++; + + if (demoversion == G_VanillaVersionCode()) + { + longtics = false; + } + else if (demoversion == DOOM_191_VERSION) + { + // demo recorded with cph's modified "v1.91" doom exe + longtics = true; + } + else + { + char *message = "Demo is from a different game version!\n" + "(read %i, should be %i)\n" + "\n" + "*** You may need to upgrade your version " + "of Doom to v1.9. ***\n" + " See: https://www.doomworld.com/classicdoom" + "/info/patches.php\n" + " This appears to be %s."; + + //I_Error(message, demoversion, G_VanillaVersionCode(), + printf(message, demoversion, G_VanillaVersionCode(), + DemoVersionDescription(demoversion)); + } + + skill = *demo_p++; + episode = *demo_p++; + map = *demo_p++; + deathmatch = *demo_p++; + respawnparm = *demo_p++; + fastparm = *demo_p++; + nomonsters = *demo_p++; + consoleplayer = *demo_p++; + + for (i=0 ; i 0 + || M_CheckParm("-netdemo") > 0) + { + netgame = true; + netdemo = true; + } + + // don't spend a lot of time in loadlevel + precache = false; + G_InitNew (skill, episode, map); + precache = true; + starttime = I_GetTime (); + + usergame = false; + demoplayback = true; +} + +// +// G_TimeDemo +// +void G_TimeDemo (char* name) +{ + //! + // @vanilla + // + // Disable rendering the screen entirely. + // + + nodrawers = M_CheckParm ("-nodraw"); + + timingdemo = true; + singletics = true; + + defdemoname = name; + gameaction = ga_playdemo; +} + + +/* +=================== += += G_CheckDemoStatus += += Called after a death or level completion to allow demos to be cleaned up += Returns true if a new demo loop action will take place +=================== +*/ + +boolean G_CheckDemoStatus (void) +{ + int endtime; + + if (timingdemo) + { + int realtics; + + endtime = I_GetTime (); + realtics = endtime - starttime; + int fps = (gametic * 35) / realtics; + + // Prevent recursive calls + timingdemo = false; + demoplayback = false; + + I_Error ("timed %i gametics in %i realtics (%d fps)", + gametic, realtics, fps); + } + + if (demoplayback) + { + W_ReleaseLumpName(defdemoname); + demoplayback = false; + netdemo = false; + netgame = false; + deathmatch = false; + playeringame[1] = playeringame[2] = playeringame[3] = 0; + respawnparm = false; + fastparm = false; + nomonsters = false; + consoleplayer = 0; + + if (singledemo) + I_Quit (); + else + D_AdvanceDemo (); + + return true; + } + + if (demorecording) + { + *demo_p++ = DEMOMARKER; + M_WriteFile (demoname, demobuffer, demo_p - demobuffer); + Z_Free (demobuffer); + demorecording = false; + I_Error ("Demo %s recorded",demoname); + } + + return false; +} + + + diff --git a/src/kernel/userland/doom/g_game.h b/src/kernel/userland/doom/g_game.h new file mode 100644 index 0000000..da0df39 --- /dev/null +++ b/src/kernel/userland/doom/g_game.h @@ -0,0 +1,80 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Duh. +// + + +#ifndef __G_GAME__ +#define __G_GAME__ + +#include "doomdef.h" +#include "d_event.h" +#include "d_ticcmd.h" + + +// +// GAME +// +void G_DeathMatchSpawnPlayer (int playernum); + +void G_InitNew (skill_t skill, int episode, int map); + +// Can be called by the startup code or M_Responder. +// A normal game starts at map 1, +// but a warp test can start elsewhere +void G_DeferedInitNew (skill_t skill, int episode, int map); + +void G_DeferedPlayDemo (char* demo); + +// Can be called by the startup code or M_Responder, +// calls P_SetupLevel or W_EnterWorld. +void G_LoadGame (char* name); + +void G_DoLoadGame (void); + +// Called by M_Responder. +void G_SaveGame (int slot, char* description); + +// Only called by startup code. +void G_RecordDemo (char* name); + +void G_BeginRecording (void); + +void G_PlayDemo (char* name); +void G_TimeDemo (char* name); +boolean G_CheckDemoStatus (void); + +void G_ExitLevel (void); +void G_SecretExitLevel (void); + +void G_WorldDone (void); + +// Read current data from inputs and build a player movement command. + +void G_BuildTiccmd (ticcmd_t *cmd, int maketic); + +void G_Ticker (void); +boolean G_Responder (event_t* ev); + +void G_ScreenShot (void); + +void G_DrawMouseSpeedBox(void); +int G_VanillaVersionCode(void); + +extern int vanilla_savegame_limit; +extern int vanilla_demo_limit; +#endif + diff --git a/src/kernel/userland/doom/gusconf.c b/src/kernel/userland/doom/gusconf.c new file mode 100644 index 0000000..70cdd87 --- /dev/null +++ b/src/kernel/userland/doom/gusconf.c @@ -0,0 +1,271 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// GUS emulation code. +// +// Actually emulating a GUS is far too much work; fortunately +// GUS "emulation" already exists in the form of Timidity, which +// supports GUS patch files. This code therefore converts Doom's +// DMXGUS lump into an equivalent Timidity configuration file. +// + + +#include +#include +#include +#include + +#include "w_wad.h" +#include "z_zone.h" + +#define MAX_INSTRUMENTS 256 + +typedef struct +{ + char *patch_names[MAX_INSTRUMENTS]; + int mapping[MAX_INSTRUMENTS]; +} gus_config_t; + +char *gus_patch_path = ""; +unsigned int gus_ram_kb = 1024; + +static unsigned int MappingIndex(void) +{ + unsigned int result = gus_ram_kb / 256; + + if (result < 1) + { + return 1; + } + else if (result > 4) + { + return 4; + } + else + { + return result; + } +} + +static int SplitLine(char *line, char **fields, unsigned int max_fields) +{ + unsigned int num_fields; + char *p; + + fields[0] = line; + num_fields = 1; + + for (p = line; *p != '\0'; ++p) + { + if (*p == ',') + { + *p = '\0'; + + // Skip spaces following the comma. + do + { + ++p; + } while (*p != '\0' && isspace(*p)); + + fields[num_fields] = p; + ++num_fields; + --p; + + if (num_fields >= max_fields) + { + break; + } + } + else if (*p == '#') + { + *p = '\0'; + break; + } + } + + // Strip off trailing whitespace from the end of the line. + p = fields[num_fields - 1] + strlen(fields[num_fields - 1]); + while (p > fields[num_fields - 1] && isspace(*(p - 1))) + { + --p; + *p = '\0'; + } + + return num_fields; +} + +static void ParseLine(gus_config_t *config, char *line) +{ + char *fields[6]; + unsigned int num_fields; + unsigned int instr_id, mapped_id; + + num_fields = SplitLine(line, fields, 6); + + if (num_fields < 6) + { + return; + } + + instr_id = atoi(fields[0]); + mapped_id = atoi(fields[MappingIndex()]); + + free(config->patch_names[instr_id]); + config->patch_names[instr_id] = strdup(fields[5]); + config->mapping[instr_id] = mapped_id; +} + +static void ParseDMXConfig(char *dmxconf, gus_config_t *config) +{ + char *p, *newline; + unsigned int i; + + memset(config, 0, sizeof(gus_config_t)); + + for (i = 0; i < MAX_INSTRUMENTS; ++i) + { + config->mapping[i] = -1; + } + + p = dmxconf; + + for (;;) + { + newline = strchr(p, '\n'); + + if (newline != NULL) + { + *newline = '\0'; + } + + ParseLine(config, p); + + if (newline == NULL) + { + break; + } + else + { + p = newline + 1; + } + } +} + +static void FreeDMXConfig(gus_config_t *config) +{ + unsigned int i; + + for (i = 0; i < MAX_INSTRUMENTS; ++i) + { + free(config->patch_names[i]); + } +} + +static char *ReadDMXConfig(void) +{ + int lumpnum; + unsigned int len; + char *data; + + // TODO: This should be chosen based on gamemode == commercial: + + lumpnum = W_CheckNumForName("DMXGUS"); + + if (lumpnum < 0) + { + lumpnum = W_GetNumForName("DMXGUSC"); + } + + len = W_LumpLength(lumpnum); + data = Z_Malloc(len + 1, PU_STATIC, NULL); + W_ReadLump(lumpnum, data); + + return data; +} + +static boolean WriteTimidityConfig(char *path, gus_config_t *config) +{ + FILE *fstream; + unsigned int i; + + fstream = fopen(path, "w"); + + if (fstream == NULL) + { + return false; + } + + fprintf(fstream, "# Autogenerated Timidity config.\n\n"); + + fprintf(fstream, "dir %s\n", gus_patch_path); + + fprintf(fstream, "\nbank 0\n\n"); + + for (i = 0; i < 128; ++i) + { + if (config->mapping[i] >= 0 && config->mapping[i] < MAX_INSTRUMENTS + && config->patch_names[config->mapping[i]] != NULL) + { + fprintf(fstream, "%i %s\n", + i, config->patch_names[config->mapping[i]]); + } + } + + fprintf(fstream, "\ndrumset 0\n\n"); + + for (i = 128 + 25; i < MAX_INSTRUMENTS; ++i) + { + if (config->mapping[i] >= 0 && config->mapping[i] < MAX_INSTRUMENTS + && config->patch_names[config->mapping[i]] != NULL) + { + fprintf(fstream, "%i %s\n", + i - 128, config->patch_names[config->mapping[i]]); + } + } + + fprintf(fstream, "\n"); + + fclose(fstream); + + return true; +} + +boolean GUS_WriteConfig(char *path) +{ + boolean result; + char *dmxconf; + gus_config_t config; + + if (!strcmp(gus_patch_path, "")) + { + printf("You haven't configured gus_patch_path.\n"); + printf("gus_patch_path needs to point to the location of " + "your GUS patch set.\n" + "To get a copy of the \"standard\" GUS patches, " + "download a copy of dgguspat.zip.\n"); + + return false; + } + + dmxconf = ReadDMXConfig(); + ParseDMXConfig(dmxconf, &config); + + result = WriteTimidityConfig(path, &config); + + FreeDMXConfig(&config); + Z_Free(dmxconf); + + return result; +} + diff --git a/src/kernel/userland/doom/gusconf.h b/src/kernel/userland/doom/gusconf.h new file mode 100644 index 0000000..e012426 --- /dev/null +++ b/src/kernel/userland/doom/gusconf.h @@ -0,0 +1,29 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// GUS emulation code. +// + +#ifndef __GUSCONF_H__ +#define __GUSCONF_H__ + +#include "doomtype.h" + +extern char *gus_patch_path; +extern unsigned int gus_ram_kb; + +boolean GUS_WriteConfig(char *path); + +#endif /* #ifndef __GUSCONF_H__ */ + diff --git a/src/kernel/userland/doom/hu_lib.c b/src/kernel/userland/doom/hu_lib.c new file mode 100644 index 0000000..47038a0 --- /dev/null +++ b/src/kernel/userland/doom/hu_lib.c @@ -0,0 +1,347 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: heads-up text and input code +// + + +#include + +#include "doomdef.h" +#include "doomkeys.h" + +#include "v_video.h" +#include "i_swap.h" + +#include "hu_lib.h" +#include "r_local.h" +#include "r_draw.h" + +// boolean : whether the screen is always erased +#define noterased viewwindowx + +extern boolean automapactive; // in AM_map.c + +void HUlib_init(void) +{ +} + +void HUlib_clearTextLine(hu_textline_t* t) +{ + t->len = 0; + t->l[0] = 0; + t->needsupdate = true; +} + +void +HUlib_initTextLine +( hu_textline_t* t, + int x, + int y, + patch_t** f, + int sc ) +{ + t->x = x; + t->y = y; + t->f = f; + t->sc = sc; + HUlib_clearTextLine(t); +} + +boolean +HUlib_addCharToTextLine +( hu_textline_t* t, + char ch ) +{ + + if (t->len == HU_MAXLINELENGTH) + return false; + else + { + t->l[t->len++] = ch; + t->l[t->len] = 0; + t->needsupdate = 4; + return true; + } + +} + +boolean HUlib_delCharFromTextLine(hu_textline_t* t) +{ + + if (!t->len) return false; + else + { + t->l[--t->len] = 0; + t->needsupdate = 4; + return true; + } + +} + +void +HUlib_drawTextLine +( hu_textline_t* l, + boolean drawcursor ) +{ + + int i; + int w; + int x; + unsigned char c; + + // draw the new stuff + x = l->x; + for (i=0;ilen;i++) + { + c = toupper((int)l->l[i]); + if (c != ' ' + && c >= l->sc + && c <= '_') + { + w = SHORT(l->f[c - l->sc]->width); + if (x+w > SCREENWIDTH) + break; + V_DrawPatchDirect(x, l->y, l->f[c - l->sc]); + x += w; + } + else + { + x += 4; + if (x >= SCREENWIDTH) + break; + } + } + + // draw the cursor if requested + if (drawcursor + && x + SHORT(l->f['_' - l->sc]->width) <= SCREENWIDTH) + { + V_DrawPatchDirect(x, l->y, l->f['_' - l->sc]); + } +} + + +// sorta called by HU_Erase and just better darn get things straight +void HUlib_eraseTextLine(hu_textline_t* l) +{ + int lh; + int y; + int yoffset; + + // Only erases when NOT in automap and the screen is reduced, + // and the text must either need updating or refreshing + // (because of a recent change back from the automap) + + if (!automapactive && + viewwindowx && l->needsupdate) + { + lh = SHORT(l->f[0]->height) + 1; + for (y=l->y,yoffset=y*SCREENWIDTH ; yy+lh ; y++,yoffset+=SCREENWIDTH) + { + if (y < viewwindowy || y >= viewwindowy + viewheight) + R_VideoErase(yoffset, SCREENWIDTH); // erase entire line + else + { + R_VideoErase(yoffset, viewwindowx); // erase left border + R_VideoErase(yoffset + viewwindowx + viewwidth, viewwindowx); + // erase right border + } + } + } + + if (l->needsupdate) l->needsupdate--; + +} + +void +HUlib_initSText +( hu_stext_t* s, + int x, + int y, + int h, + patch_t** font, + int startchar, + boolean* on ) +{ + + int i; + + s->h = h; + s->on = on; + s->laston = true; + s->cl = 0; + for (i=0;il[i], + x, y - i*(SHORT(font[0]->height)+1), + font, startchar); + +} + +void HUlib_addLineToSText(hu_stext_t* s) +{ + + int i; + + // add a clear line + if (++s->cl == s->h) + s->cl = 0; + HUlib_clearTextLine(&s->l[s->cl]); + + // everything needs updating + for (i=0 ; ih ; i++) + s->l[i].needsupdate = 4; + +} + +void +HUlib_addMessageToSText +( hu_stext_t* s, + char* prefix, + char* msg ) +{ + HUlib_addLineToSText(s); + if (prefix) + while (*prefix) + HUlib_addCharToTextLine(&s->l[s->cl], *(prefix++)); + + while (*msg) + HUlib_addCharToTextLine(&s->l[s->cl], *(msg++)); +} + +void HUlib_drawSText(hu_stext_t* s) +{ + int i, idx; + hu_textline_t *l; + + if (!*s->on) + return; // if not on, don't draw + + // draw everything + for (i=0 ; ih ; i++) + { + idx = s->cl - i; + if (idx < 0) + idx += s->h; // handle queue of lines + + l = &s->l[idx]; + + // need a decision made here on whether to skip the draw + HUlib_drawTextLine(l, false); // no cursor, please + } + +} + +void HUlib_eraseSText(hu_stext_t* s) +{ + + int i; + + for (i=0 ; ih ; i++) + { + if (s->laston && !*s->on) + s->l[i].needsupdate = 4; + HUlib_eraseTextLine(&s->l[i]); + } + s->laston = *s->on; + +} + +void +HUlib_initIText +( hu_itext_t* it, + int x, + int y, + patch_t** font, + int startchar, + boolean* on ) +{ + it->lm = 0; // default left margin is start of text + it->on = on; + it->laston = true; + HUlib_initTextLine(&it->l, x, y, font, startchar); +} + + +// The following deletion routines adhere to the left margin restriction +void HUlib_delCharFromIText(hu_itext_t* it) +{ + if (it->l.len != it->lm) + HUlib_delCharFromTextLine(&it->l); +} + +void HUlib_eraseLineFromIText(hu_itext_t* it) +{ + while (it->lm != it->l.len) + HUlib_delCharFromTextLine(&it->l); +} + +// Resets left margin as well +void HUlib_resetIText(hu_itext_t* it) +{ + it->lm = 0; + HUlib_clearTextLine(&it->l); +} + +void +HUlib_addPrefixToIText +( hu_itext_t* it, + char* str ) +{ + while (*str) + HUlib_addCharToTextLine(&it->l, *(str++)); + it->lm = it->l.len; +} + +// wrapper function for handling general keyed input. +// returns true if it ate the key +boolean +HUlib_keyInIText +( hu_itext_t* it, + unsigned char ch ) +{ + ch = toupper(ch); + + if (ch >= ' ' && ch <= '_') + HUlib_addCharToTextLine(&it->l, (char) ch); + else + if (ch == KEY_BACKSPACE) + HUlib_delCharFromIText(it); + else + if (ch != KEY_ENTER) + return false; // did not eat key + + return true; // ate the key + +} + +void HUlib_drawIText(hu_itext_t* it) +{ + + hu_textline_t *l = &it->l; + + if (!*it->on) + return; + HUlib_drawTextLine(l, true); // draw the line w/ cursor + +} + +void HUlib_eraseIText(hu_itext_t* it) +{ + if (it->laston && !*it->on) + it->l.needsupdate = 4; + HUlib_eraseTextLine(&it->l); + it->laston = *it->on; +} + diff --git a/src/kernel/userland/doom/hu_lib.h b/src/kernel/userland/doom/hu_lib.h new file mode 100644 index 0000000..8f0994e --- /dev/null +++ b/src/kernel/userland/doom/hu_lib.h @@ -0,0 +1,182 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: none +// + +#ifndef __HULIB__ +#define __HULIB__ + +// We are referring to patches. +#include "r_defs.h" + +// font stuff +#define HU_CHARERASE KEY_BACKSPACE + +#define HU_MAXLINES 4 +#define HU_MAXLINELENGTH 80 + +// +// Typedefs of widgets +// + +// Text Line widget +// (parent of Scrolling Text and Input Text widgets) +typedef struct +{ + // left-justified position of scrolling text window + int x; + int y; + + patch_t** f; // font + int sc; // start character + char l[HU_MAXLINELENGTH+1]; // line of text + int len; // current line length + + // whether this line needs to be udpated + int needsupdate; + +} hu_textline_t; + + + +// Scrolling Text window widget +// (child of Text Line widget) +typedef struct +{ + hu_textline_t l[HU_MAXLINES]; // text lines to draw + int h; // height in lines + int cl; // current line number + + // pointer to boolean stating whether to update window + boolean* on; + boolean laston; // last value of *->on. + +} hu_stext_t; + + + +// Input Text Line widget +// (child of Text Line widget) +typedef struct +{ + hu_textline_t l; // text line to input on + + // left margin past which I am not to delete characters + int lm; + + // pointer to boolean stating whether to update window + boolean* on; + boolean laston; // last value of *->on; + +} hu_itext_t; + + +// +// Widget creation, access, and update routines +// + +// initializes heads-up widget library +void HUlib_init(void); + +// +// textline code +// + +// clear a line of text +void HUlib_clearTextLine(hu_textline_t *t); + +void HUlib_initTextLine(hu_textline_t *t, int x, int y, patch_t **f, int sc); + +// returns success +boolean HUlib_addCharToTextLine(hu_textline_t *t, char ch); + +// returns success +boolean HUlib_delCharFromTextLine(hu_textline_t *t); + +// draws tline +void HUlib_drawTextLine(hu_textline_t *l, boolean drawcursor); + +// erases text line +void HUlib_eraseTextLine(hu_textline_t *l); + + +// +// Scrolling Text window widget routines +// + +// ? +void +HUlib_initSText +( hu_stext_t* s, + int x, + int y, + int h, + patch_t** font, + int startchar, + boolean* on ); + +// add a new line +void HUlib_addLineToSText(hu_stext_t* s); + +// ? +void +HUlib_addMessageToSText +( hu_stext_t* s, + char* prefix, + char* msg ); + +// draws stext +void HUlib_drawSText(hu_stext_t* s); + +// erases all stext lines +void HUlib_eraseSText(hu_stext_t* s); + +// Input Text Line widget routines +void +HUlib_initIText +( hu_itext_t* it, + int x, + int y, + patch_t** font, + int startchar, + boolean* on ); + +// enforces left margin +void HUlib_delCharFromIText(hu_itext_t* it); + +// enforces left margin +void HUlib_eraseLineFromIText(hu_itext_t* it); + +// resets line and left margin +void HUlib_resetIText(hu_itext_t* it); + +// left of left-margin +void +HUlib_addPrefixToIText +( hu_itext_t* it, + char* str ); + +// whether eaten +boolean +HUlib_keyInIText +( hu_itext_t* it, + unsigned char ch ); + +void HUlib_drawIText(hu_itext_t* it); + +// erases all itext lines +void HUlib_eraseIText(hu_itext_t* it); + +#endif diff --git a/src/kernel/userland/doom/hu_stuff.c b/src/kernel/userland/doom/hu_stuff.c new file mode 100644 index 0000000..b63cac7 --- /dev/null +++ b/src/kernel/userland/doom/hu_stuff.c @@ -0,0 +1,641 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: Heads-up displays +// + + +#include + +#include "doomdef.h" +#include "doomkeys.h" + +#include "z_zone.h" + +#include "deh_main.h" +#include "i_swap.h" +#include "i_video.h" + +#include "hu_stuff.h" +#include "hu_lib.h" +#include "m_controls.h" +#include "m_misc.h" +#include "w_wad.h" + +#include "s_sound.h" + +#include "doomstat.h" + +// Data. +#include "dstrings.h" +#include "sounds.h" + +// +// Locally used constants, shortcuts. +// +#define HU_TITLE (mapnames[(gameepisode-1)*9+gamemap-1]) +#define HU_TITLE2 (mapnames_commercial[gamemap-1]) +#define HU_TITLEP (mapnames_commercial[gamemap-1 + 32]) +#define HU_TITLET (mapnames_commercial[gamemap-1 + 64]) +#define HU_TITLE_CHEX (mapnames[gamemap - 1]) +#define HU_TITLEHEIGHT 1 +#define HU_TITLEX 0 +#define HU_TITLEY (167 - SHORT(hu_font[0]->height)) + +#define HU_INPUTTOGGLE 't' +#define HU_INPUTX HU_MSGX +#define HU_INPUTY (HU_MSGY + HU_MSGHEIGHT*(SHORT(hu_font[0]->height) +1)) +#define HU_INPUTWIDTH 64 +#define HU_INPUTHEIGHT 1 + + + +char *chat_macros[10] = +{ + HUSTR_CHATMACRO0, + HUSTR_CHATMACRO1, + HUSTR_CHATMACRO2, + HUSTR_CHATMACRO3, + HUSTR_CHATMACRO4, + HUSTR_CHATMACRO5, + HUSTR_CHATMACRO6, + HUSTR_CHATMACRO7, + HUSTR_CHATMACRO8, + HUSTR_CHATMACRO9 +}; + +char* player_names[] = +{ + HUSTR_PLRGREEN, + HUSTR_PLRINDIGO, + HUSTR_PLRBROWN, + HUSTR_PLRRED +}; + +char chat_char; // remove later. +static player_t* plr; +patch_t* hu_font[HU_FONTSIZE]; +static hu_textline_t w_title; +boolean chat_on; +static hu_itext_t w_chat; +static boolean always_off = false; +static char chat_dest[MAXPLAYERS]; +static hu_itext_t w_inputbuffer[MAXPLAYERS]; + +static boolean message_on; +boolean message_dontfuckwithme; +static boolean message_nottobefuckedwith; + +static hu_stext_t w_message; +static int message_counter; + +extern int showMessages; + +static boolean headsupactive = false; + +// +// Builtin map names. +// The actual names can be found in DStrings.h. +// + +char* mapnames[] = // DOOM shareware/registered/retail (Ultimate) names. +{ + + HUSTR_E1M1, + HUSTR_E1M2, + HUSTR_E1M3, + HUSTR_E1M4, + HUSTR_E1M5, + HUSTR_E1M6, + HUSTR_E1M7, + HUSTR_E1M8, + HUSTR_E1M9, + + HUSTR_E2M1, + HUSTR_E2M2, + HUSTR_E2M3, + HUSTR_E2M4, + HUSTR_E2M5, + HUSTR_E2M6, + HUSTR_E2M7, + HUSTR_E2M8, + HUSTR_E2M9, + + HUSTR_E3M1, + HUSTR_E3M2, + HUSTR_E3M3, + HUSTR_E3M4, + HUSTR_E3M5, + HUSTR_E3M6, + HUSTR_E3M7, + HUSTR_E3M8, + HUSTR_E3M9, + + HUSTR_E4M1, + HUSTR_E4M2, + HUSTR_E4M3, + HUSTR_E4M4, + HUSTR_E4M5, + HUSTR_E4M6, + HUSTR_E4M7, + HUSTR_E4M8, + HUSTR_E4M9, + + "NEWLEVEL", + "NEWLEVEL", + "NEWLEVEL", + "NEWLEVEL", + "NEWLEVEL", + "NEWLEVEL", + "NEWLEVEL", + "NEWLEVEL", + "NEWLEVEL" +}; + +// List of names for levels in commercial IWADs +// (doom2.wad, plutonia.wad, tnt.wad). These are stored in a +// single large array; WADs like pl2.wad have a MAP33, and rely on +// the layout in the Vanilla executable, where it is possible to +// overflow the end of one array into the next. + +char *mapnames_commercial[] = +{ + // DOOM 2 map names. + + HUSTR_1, + HUSTR_2, + HUSTR_3, + HUSTR_4, + HUSTR_5, + HUSTR_6, + HUSTR_7, + HUSTR_8, + HUSTR_9, + HUSTR_10, + HUSTR_11, + + HUSTR_12, + HUSTR_13, + HUSTR_14, + HUSTR_15, + HUSTR_16, + HUSTR_17, + HUSTR_18, + HUSTR_19, + HUSTR_20, + + HUSTR_21, + HUSTR_22, + HUSTR_23, + HUSTR_24, + HUSTR_25, + HUSTR_26, + HUSTR_27, + HUSTR_28, + HUSTR_29, + HUSTR_30, + HUSTR_31, + HUSTR_32, + + // Plutonia WAD map names. + + PHUSTR_1, + PHUSTR_2, + PHUSTR_3, + PHUSTR_4, + PHUSTR_5, + PHUSTR_6, + PHUSTR_7, + PHUSTR_8, + PHUSTR_9, + PHUSTR_10, + PHUSTR_11, + + PHUSTR_12, + PHUSTR_13, + PHUSTR_14, + PHUSTR_15, + PHUSTR_16, + PHUSTR_17, + PHUSTR_18, + PHUSTR_19, + PHUSTR_20, + + PHUSTR_21, + PHUSTR_22, + PHUSTR_23, + PHUSTR_24, + PHUSTR_25, + PHUSTR_26, + PHUSTR_27, + PHUSTR_28, + PHUSTR_29, + PHUSTR_30, + PHUSTR_31, + PHUSTR_32, + + // TNT WAD map names. + + THUSTR_1, + THUSTR_2, + THUSTR_3, + THUSTR_4, + THUSTR_5, + THUSTR_6, + THUSTR_7, + THUSTR_8, + THUSTR_9, + THUSTR_10, + THUSTR_11, + + THUSTR_12, + THUSTR_13, + THUSTR_14, + THUSTR_15, + THUSTR_16, + THUSTR_17, + THUSTR_18, + THUSTR_19, + THUSTR_20, + + THUSTR_21, + THUSTR_22, + THUSTR_23, + THUSTR_24, + THUSTR_25, + THUSTR_26, + THUSTR_27, + THUSTR_28, + THUSTR_29, + THUSTR_30, + THUSTR_31, + THUSTR_32 +}; + +void HU_Init(void) +{ + + int i; + int j; + char buffer[9]; + + // load the heads-up font + j = HU_FONTSTART; + for (i=0;imessage && !message_nottobefuckedwith) + || (plr->message && message_dontfuckwithme)) + { + HUlib_addMessageToSText(&w_message, 0, plr->message); + plr->message = 0; + message_on = true; + message_counter = HU_MSGTIMEOUT; + message_nottobefuckedwith = message_dontfuckwithme; + message_dontfuckwithme = 0; + } + + } // else message_on = false; + + // check for incoming chat characters + if (netgame) + { + for (i=0 ; imessage = DEH_String(HUSTR_MSGU); + } + else + { + chatchars[head] = c; + head = (head + 1) & (QUEUESIZE-1); + } +} + +char HU_dequeueChatChar(void) +{ + char c; + + if (head != tail) + { + c = chatchars[tail]; + tail = (tail + 1) & (QUEUESIZE-1); + } + else + { + c = 0; + } + + return c; +} + +boolean HU_Responder(event_t *ev) +{ + + static char lastmessage[HU_MAXLINELENGTH+1]; + char* macromessage; + boolean eatkey = false; + static boolean altdown = false; + unsigned char c; + int i; + int numplayers; + + static int num_nobrainers = 0; + + numplayers = 0; + for (i=0 ; idata1 == KEY_RSHIFT) + { + return false; + } + else if (ev->data1 == KEY_RALT || ev->data1 == KEY_LALT) + { + altdown = ev->type == ev_keydown; + return false; + } + + if (ev->type != ev_keydown) + return false; + + if (!chat_on) + { + if (ev->data1 == key_message_refresh) + { + message_on = true; + message_counter = HU_MSGTIMEOUT; + eatkey = true; + } + else if (netgame && ev->data2 == key_multi_msg) + { + eatkey = chat_on = true; + HUlib_resetIText(&w_chat); + HU_queueChatChar(HU_BROADCAST); + } + else if (netgame && numplayers > 2) + { + for (i=0; idata2 == key_multi_msgplayer[i]) + { + if (playeringame[i] && i!=consoleplayer) + { + eatkey = chat_on = true; + HUlib_resetIText(&w_chat); + HU_queueChatChar(i+1); + break; + } + else if (i == consoleplayer) + { + num_nobrainers++; + if (num_nobrainers < 3) + plr->message = DEH_String(HUSTR_TALKTOSELF1); + else if (num_nobrainers < 6) + plr->message = DEH_String(HUSTR_TALKTOSELF2); + else if (num_nobrainers < 9) + plr->message = DEH_String(HUSTR_TALKTOSELF3); + else if (num_nobrainers < 32) + plr->message = DEH_String(HUSTR_TALKTOSELF4); + else + plr->message = DEH_String(HUSTR_TALKTOSELF5); + } + } + } + } + } + else + { + // send a macro + if (altdown) + { + c = ev->data1 - '0'; + if (c > 9) + return false; + // fprintf(stderr, "got here\n"); + macromessage = chat_macros[c]; + + // kill last message with a '\n' + HU_queueChatChar(KEY_ENTER); // DEBUG!!! + + // send the macro message + while (*macromessage) + HU_queueChatChar(*macromessage++); + HU_queueChatChar(KEY_ENTER); + + // leave chat mode and notify that it was sent + chat_on = false; + M_StringCopy(lastmessage, chat_macros[c], sizeof(lastmessage)); + plr->message = lastmessage; + eatkey = true; + } + else + { + c = ev->data2; + + eatkey = HUlib_keyInIText(&w_chat, c); + if (eatkey) + { + // static unsigned char buf[20]; // DEBUG + HU_queueChatChar(c); + + // M_snprintf(buf, sizeof(buf), "KEY: %d => %d", ev->data1, c); + // plr->message = buf; + } + if (c == KEY_ENTER) + { + chat_on = false; + if (w_chat.l.len) + { + M_StringCopy(lastmessage, w_chat.l.l, sizeof(lastmessage)); + plr->message = lastmessage; + } + } + else if (c == KEY_ESCAPE) + chat_on = false; + } + } + + return eatkey; + +} diff --git a/src/kernel/userland/doom/hu_stuff.h b/src/kernel/userland/doom/hu_stuff.h new file mode 100644 index 0000000..a3affc5 --- /dev/null +++ b/src/kernel/userland/doom/hu_stuff.h @@ -0,0 +1,59 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: Head up display +// + +#ifndef __HU_STUFF_H__ +#define __HU_STUFF_H__ + +#include "d_event.h" + + +// +// Globally visible constants. +// +#define HU_FONTSTART '!' // the first font characters +#define HU_FONTEND '_' // the last font characters + +// Calculate # of glyphs in font. +#define HU_FONTSIZE (HU_FONTEND - HU_FONTSTART + 1) + +#define HU_BROADCAST 5 + +#define HU_MSGX 0 +#define HU_MSGY 0 +#define HU_MSGWIDTH 64 // in characters +#define HU_MSGHEIGHT 1 // in lines + +#define HU_MSGTIMEOUT (4*TICRATE) + +// +// HEADS UP TEXT +// + +void HU_Init(void); +void HU_Start(void); + +boolean HU_Responder(event_t* ev); + +void HU_Ticker(void); +void HU_Drawer(void); +char HU_dequeueChatChar(void); +void HU_Erase(void); + +extern char *chat_macros[10]; + +#endif + diff --git a/src/kernel/userland/doom/i_cdmus.h b/src/kernel/userland/doom/i_cdmus.h new file mode 100644 index 0000000..31db2a6 --- /dev/null +++ b/src/kernel/userland/doom/i_cdmus.h @@ -0,0 +1,41 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 1993-2008 Raven Software +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// + +// i_cdmus.h + +#ifndef __ICDMUS__ +#define __ICDMUS__ + +#define CDERR_NOTINSTALLED 10 // MSCDEX not installed +#define CDERR_NOAUDIOSUPPORT 11 // CD-ROM Doesn't support audio +#define CDERR_NOAUDIOTRACKS 12 // Current CD has no audio tracks +#define CDERR_BADDRIVE 20 // Bad drive number +#define CDERR_BADTRACK 21 // Bad track number +#define CDERR_IOCTLBUFFMEM 22 // Not enough low memory for IOCTL +#define CDERR_DEVREQBASE 100 // DevReq errors + +extern int cd_Error; + +int I_CDMusInit(void); +void I_CDMusPrintStartup(void); +int I_CDMusPlay(int track); +int I_CDMusStop(void); +int I_CDMusResume(void); +int I_CDMusSetVolume(int volume); +int I_CDMusFirstTrack(void); +int I_CDMusLastTrack(void); +int I_CDMusTrackLength(int track); + +#endif diff --git a/src/kernel/userland/doom/i_endoom.c b/src/kernel/userland/doom/i_endoom.c new file mode 100644 index 0000000..6de261b --- /dev/null +++ b/src/kernel/userland/doom/i_endoom.c @@ -0,0 +1,101 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Exit text-mode ENDOOM screen. +// + +#include +#include + +#include "config.h" +#include "doomtype.h" +#include "i_video.h" + +#ifdef ORIGCODE +#include "txt_main.h" +#endif + + +#ifdef __DJGPP__ +#include +#endif // __DJGPP__ + + +#define ENDOOM_W 80 +#define ENDOOM_H 25 + +// +// Displays the text mode ending screen after the game quits +// + +void I_Endoom(byte *endoom_data) +{ +#ifdef ORIGCODE + unsigned char *screendata; + int y; + int indent; + + // Set up text mode screen + + TXT_Init(); + I_InitWindowTitle(); + I_InitWindowIcon(); + + // Write the data to the screen memory + + screendata = TXT_GetScreenData(); + + indent = (ENDOOM_W - TXT_SCREEN_W) / 2; + + for (y=0; y 0) + { + break; + } + + TXT_Sleep(0); + } + + // Shut down text mode screen + + TXT_Shutdown(); + +#elif defined(__DJGPP__) + + int y; + + // move cursor to bottom + // there's a direct call for moving cursor somewhere but this is simpler to write + for (y = 0; y < ENDOOM_H; y++) { + puts("\n"); + } + + // allegro exit should have been run already and so we should be in text mode again + movedata(_my_ds(), (unsigned) endoom_data, _dos_ds, 0xB8000UL, ENDOOM_W * ENDOOM_H * 2); + +#endif +} + diff --git a/src/kernel/userland/doom/i_endoom.h b/src/kernel/userland/doom/i_endoom.h new file mode 100644 index 0000000..8c8ff45 --- /dev/null +++ b/src/kernel/userland/doom/i_endoom.h @@ -0,0 +1,29 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Exit text-mode ENDOOM screen. +// + + +#ifndef __I_ENDOOM__ +#define __I_ENDOOM__ + +// Display the Endoom screen on shutdown. Pass a pointer to the +// ENDOOM lump. + +void I_Endoom(byte *data); + +#endif + diff --git a/src/kernel/userland/doom/i_input.c b/src/kernel/userland/doom/i_input.c new file mode 100644 index 0000000..7ec4b63 --- /dev/null +++ b/src/kernel/userland/doom/i_input.c @@ -0,0 +1,341 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// + + +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "deh_str.h" +#include "doomtype.h" +#include "doomkeys.h" +#include "i_joystick.h" +#include "i_system.h" +#include "i_swap.h" +#include "i_timer.h" +#include "i_video.h" +#include "i_scale.h" +#include "m_argv.h" +#include "m_config.h" +#include "m_misc.h" +#include "tables.h" +#include "v_video.h" +#include "w_wad.h" +#include "z_zone.h" + +#include "doomgeneric.h" + +int vanilla_keyboard_mapping = 1; + +// Is the shift key currently down? + +static int shiftdown = 0; + +// Lookup table for mapping AT keycodes to their doom keycode +static const char at_to_doom[] = +{ + /* 0x00 */ 0x00, + /* 0x01 */ KEY_ESCAPE, + /* 0x02 */ '1', + /* 0x03 */ '2', + /* 0x04 */ '3', + /* 0x05 */ '4', + /* 0x06 */ '5', + /* 0x07 */ '6', + /* 0x08 */ '7', + /* 0x09 */ '8', + /* 0x0a */ '9', + /* 0x0b */ '0', + /* 0x0c */ '-', + /* 0x0d */ '=', + /* 0x0e */ KEY_BACKSPACE, + /* 0x0f */ KEY_TAB, + /* 0x10 */ 'q', + /* 0x11 */ 'w', + /* 0x12 */ 'e', + /* 0x13 */ 'r', + /* 0x14 */ 't', + /* 0x15 */ 'y', + /* 0x16 */ 'u', + /* 0x17 */ 'i', + /* 0x18 */ 'o', + /* 0x19 */ 'p', + /* 0x1a */ '[', + /* 0x1b */ ']', + /* 0x1c */ KEY_ENTER, + /* 0x1d */ KEY_FIRE, /* KEY_RCTRL, */ + /* 0x1e */ 'a', + /* 0x1f */ 's', + /* 0x20 */ 'd', + /* 0x21 */ 'f', + /* 0x22 */ 'g', + /* 0x23 */ 'h', + /* 0x24 */ 'j', + /* 0x25 */ 'k', + /* 0x26 */ 'l', + /* 0x27 */ ';', + /* 0x28 */ '\'', + /* 0x29 */ '`', + /* 0x2a */ KEY_RSHIFT, + /* 0x2b */ '\\', + /* 0x2c */ 'z', + /* 0x2d */ 'x', + /* 0x2e */ 'c', + /* 0x2f */ 'v', + /* 0x30 */ 'b', + /* 0x31 */ 'n', + /* 0x32 */ 'm', + /* 0x33 */ ',', + /* 0x34 */ '.', + /* 0x35 */ '/', + /* 0x36 */ KEY_RSHIFT, + /* 0x37 */ KEYP_MULTIPLY, + /* 0x38 */ KEY_LALT, + /* 0x39 */ KEY_USE, + /* 0x3a */ KEY_CAPSLOCK, + /* 0x3b */ KEY_F1, + /* 0x3c */ KEY_F2, + /* 0x3d */ KEY_F3, + /* 0x3e */ KEY_F4, + /* 0x3f */ KEY_F5, + /* 0x40 */ KEY_F6, + /* 0x41 */ KEY_F7, + /* 0x42 */ KEY_F8, + /* 0x43 */ KEY_F9, + /* 0x44 */ KEY_F10, + /* 0x45 */ KEY_NUMLOCK, + /* 0x46 */ 0x0, + /* 0x47 */ 0x0, /* 47 (Keypad-7/Home) */ + /* 0x48 */ 0x0, /* 48 (Keypad-8/Up) */ + /* 0x49 */ 0x0, /* 49 (Keypad-9/PgUp) */ + /* 0x4a */ 0x0, /* 4a (Keypad--) */ + /* 0x4b */ 0x0, /* 4b (Keypad-4/Left) */ + /* 0x4c */ 0x0, /* 4c (Keypad-5) */ + /* 0x4d */ 0x0, /* 4d (Keypad-6/Right) */ + /* 0x4e */ 0x0, /* 4e (Keypad-+) */ + /* 0x4f */ 0x0, /* 4f (Keypad-1/End) */ + /* 0x50 */ 0x0, /* 50 (Keypad-2/Down) */ + /* 0x51 */ 0x0, /* 51 (Keypad-3/PgDn) */ + /* 0x52 */ 0x0, /* 52 (Keypad-0/Ins) */ + /* 0x53 */ 0x0, /* 53 (Keypad-./Del) */ + /* 0x54 */ 0x0, /* 54 (Alt-SysRq) on a 84+ key keyboard */ + /* 0x55 */ 0x0, + /* 0x56 */ 0x0, + /* 0x57 */ 0x0, + /* 0x58 */ 0x0, + /* 0x59 */ 0x0, + /* 0x5a */ 0x0, + /* 0x5b */ 0x0, + /* 0x5c */ 0x0, + /* 0x5d */ 0x0, + /* 0x5e */ 0x0, + /* 0x5f */ 0x0, + /* 0x60 */ 0x0, + /* 0x61 */ 0x0, + /* 0x62 */ 0x0, + /* 0x63 */ 0x0, + /* 0x64 */ 0x0, + /* 0x65 */ 0x0, + /* 0x66 */ 0x0, + /* 0x67 */ KEY_UPARROW, + /* 0x68 */ 0x0, + /* 0x69 */ KEY_LEFTARROW, + /* 0x6a */ KEY_RIGHTARROW, + /* 0x6b */ 0x0, + /* 0x6c */ KEY_DOWNARROW, + /* 0x6d */ 0x0, + /* 0x6e */ 0x0, + /* 0x6f */ 0x0, + /* 0x70 */ 0x0, + /* 0x71 */ 0x0, + /* 0x72 */ 0x0, + /* 0x73 */ 0x0, + /* 0x74 */ 0x0, + /* 0x75 */ 0x0, + /* 0x76 */ 0x0, + /* 0x77 */ 0x0, + /* 0x78 */ 0x0, + /* 0x79 */ 0x0, + /* 0x7a */ 0x0, + /* 0x7b */ 0x0, + /* 0x7c */ 0x0, + /* 0x7d */ 0x0, + /* 0x7e */ 0x0, + /* 0x7f */ KEY_FIRE, //KEY_RCTRL, +}; + +// Lookup table for mapping ASCII characters to their equivalent when +// shift is pressed on an American layout keyboard: +static const char shiftxform[] = +{ + 0, 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, ' ', '!', '"', '#', '$', '%', '&', + '"', // shift-' + '(', ')', '*', '+', + '<', // shift-, + '_', // shift-- + '>', // shift-. + '?', // shift-/ + ')', // shift-0 + '!', // shift-1 + '@', // shift-2 + '#', // shift-3 + '$', // shift-4 + '%', // shift-5 + '^', // shift-6 + '&', // shift-7 + '*', // shift-8 + '(', // shift-9 + ':', + ':', // shift-; + '<', + '+', // shift-= + '>', '?', '@', + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', + 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', + '[', // shift-[ + '!', // shift-backslash - OH MY GOD DOES WATCOM SUCK + ']', // shift-] + '"', '_', + '\'', // shift-` + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', + 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', + '{', '|', '}', '~', 127 +}; + + +static unsigned char TranslateKey(unsigned char key) +{ + return key; + + /* + if (key < sizeof(at_to_doom)) + return at_to_doom[key]; + else + return 0x0; + */ + + //default: + // return tolower(key); +} + +// Get the equivalent ASCII (Unicode?) character for a keypress. + +static unsigned char GetTypedChar(unsigned char key) +{ + key = TranslateKey(key); + + // Is shift held down? If so, perform a translation. + + if (shiftdown > 0) + { + if (key >= 0 && key < arrlen(shiftxform)) + { + key = shiftxform[key]; + } + else + { + key = 0; + } + } + + return key; +} + +static void UpdateShiftStatus(int pressed, unsigned char key) +{ + int change; + + if (pressed) { + change = 1; + } else { + change = -1; + } + + if (key == KEY_RSHIFT) { + shiftdown += change; + } +} + + +void I_GetEvent(void) +{ + event_t event; + int pressed; + unsigned char key; + + + while (DG_GetKey(&pressed, &key)) + { + UpdateShiftStatus(pressed, key); + + // process event + + if (pressed) + { + // data1 has the key pressed, data2 has the character + // (shift-translated, etc) + event.type = ev_keydown; + event.data1 = TranslateKey(key); + event.data2 = GetTypedChar(key); + + if (event.data1 != 0) + { + D_PostEvent(&event); + } + } + else + { + event.type = ev_keyup; + event.data1 = TranslateKey(key); + + // data2 is just initialized to zero for ev_keyup. + // For ev_keydown it's the shifted Unicode character + // that was typed, but if something wants to detect + // key releases it should do so based on data1 + // (key ID), not the printable char. + + event.data2 = 0; + + if (event.data1 != 0) + { + D_PostEvent(&event); + } + break; + } + } + + + /* + case SDL_MOUSEMOTION: + event.type = ev_mouse; + event.data1 = mouse_button_state; + event.data2 = AccelerateMouse(sdlevent.motion.xrel); + event.data3 = -AccelerateMouse(sdlevent.motion.yrel); + D_PostEvent(&event); + break; + */ +} + +void I_InitInput(void) +{ +} + diff --git a/src/kernel/userland/doom/i_joystick.c b/src/kernel/userland/doom/i_joystick.c new file mode 100644 index 0000000..755aec3 --- /dev/null +++ b/src/kernel/userland/doom/i_joystick.c @@ -0,0 +1,359 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// SDL Joystick code. +// + +#ifdef ORIGCODE +#include "SDL.h" +#include "SDL_joystick.h" +#endif + +#include +#include +#include + +#include "doomtype.h" +#include "d_event.h" +#include "i_joystick.h" +#include "i_system.h" + +#include "m_config.h" +#include "m_misc.h" + +// When an axis is within the dead zone, it is set to zero. +// This is 5% of the full range: + +#define DEAD_ZONE (32768 / 3) + +#ifdef ORIGCODE +static SDL_Joystick *joystick = NULL; +#endif + +// Configuration variables: + +// Standard default.cfg Joystick enable/disable + +static int usejoystick = 0; + +// Joystick to use, as an SDL joystick index: + +static int joystick_index = -1; + +// Which joystick axis to use for horizontal movement, and whether to +// invert the direction: + +static int joystick_x_axis = 0; +static int joystick_x_invert = 0; + +// Which joystick axis to use for vertical movement, and whether to +// invert the direction: + +static int joystick_y_axis = 1; +static int joystick_y_invert = 0; + +// Which joystick axis to use for strafing? + +static int joystick_strafe_axis = -1; +static int joystick_strafe_invert = 0; + +// Virtual to physical button joystick button mapping. By default this +// is a straight mapping. +static int joystick_physical_buttons[NUM_VIRTUAL_BUTTONS] = { + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 +}; + +void I_ShutdownJoystick(void) +{ +#ifdef ORIGCODE + if (joystick != NULL) + { + SDL_JoystickClose(joystick); + joystick = NULL; + SDL_QuitSubSystem(SDL_INIT_JOYSTICK); + } +#endif +} + +#ifdef ORIGCODE +static boolean IsValidAxis(int axis) +{ + int num_axes; + + if (axis < 0) + { + return true; + } + + if (IS_BUTTON_AXIS(axis)) + { + return true; + } + + if (IS_HAT_AXIS(axis)) + { + return HAT_AXIS_HAT(axis) < SDL_JoystickNumHats(joystick); + } + + num_axes = SDL_JoystickNumAxes(joystick); + + return axis < num_axes; +} +#endif + +void I_InitJoystick(void) +{ +#ifdef ORIGCODE + if (!usejoystick) + { + return; + } + + if (SDL_Init(SDL_INIT_JOYSTICK) < 0) + { + return; + } + + if (joystick_index < 0 || joystick_index >= SDL_NumJoysticks()) + { + printf("I_InitJoystick: Invalid joystick ID: %i\n", joystick_index); + SDL_QuitSubSystem(SDL_INIT_JOYSTICK); + return; + } + + // Open the joystick + + joystick = SDL_JoystickOpen(joystick_index); + + if (joystick == NULL) + { + printf("I_InitJoystick: Failed to open joystick #%i\n", + joystick_index); + SDL_QuitSubSystem(SDL_INIT_JOYSTICK); + return; + } + + if (!IsValidAxis(joystick_x_axis) + || !IsValidAxis(joystick_y_axis) + || !IsValidAxis(joystick_strafe_axis)) + { + printf("I_InitJoystick: Invalid joystick axis for joystick #%i " + "(run joystick setup again)\n", + joystick_index); + + SDL_JoystickClose(joystick); + joystick = NULL; + SDL_QuitSubSystem(SDL_INIT_JOYSTICK); + } + + SDL_JoystickEventState(SDL_ENABLE); + + // Initialized okay! + + printf("I_InitJoystick: %s\n", SDL_JoystickName(joystick_index)); + + I_AtExit(I_ShutdownJoystick, true); +#endif +} + +#ifdef ORIGCODE +static boolean IsAxisButton(int physbutton) +{ + if (IS_BUTTON_AXIS(joystick_x_axis)) + { + if (physbutton == BUTTON_AXIS_NEG(joystick_x_axis) + || physbutton == BUTTON_AXIS_POS(joystick_x_axis)) + { + return true; + } + } + if (IS_BUTTON_AXIS(joystick_y_axis)) + { + if (physbutton == BUTTON_AXIS_NEG(joystick_y_axis) + || physbutton == BUTTON_AXIS_POS(joystick_y_axis)) + { + return true; + } + } + if (IS_BUTTON_AXIS(joystick_strafe_axis)) + { + if (physbutton == BUTTON_AXIS_NEG(joystick_strafe_axis) + || physbutton == BUTTON_AXIS_POS(joystick_strafe_axis)) + { + return true; + } + } + + return false; +} + +// Get the state of the given virtual button. + +static int ReadButtonState(int vbutton) +{ + int physbutton; + + // Map from virtual button to physical (SDL) button. + if (vbutton < NUM_VIRTUAL_BUTTONS) + { + physbutton = joystick_physical_buttons[vbutton]; + } + else + { + physbutton = vbutton; + } + + // Never read axis buttons as buttons. + if (IsAxisButton(physbutton)) + { + return 0; + } + + return SDL_JoystickGetButton(joystick, physbutton); +} + +// Get a bitmask of all currently-pressed buttons + +static int GetButtonsState(void) +{ + int i; + int result; + + result = 0; + + for (i = 0; i < 20; ++i) + { + if (ReadButtonState(i)) + { + result |= 1 << i; + } + } + + return result; +} + +// Read the state of an axis, inverting if necessary. + +static int GetAxisState(int axis, int invert) +{ + int result; + + // Axis -1 means disabled. + + if (axis < 0) + { + return 0; + } + + // Is this a button axis, or a hat axis? + // If so, we need to handle it specially. + + result = 0; + + if (IS_BUTTON_AXIS(axis)) + { + if (SDL_JoystickGetButton(joystick, BUTTON_AXIS_NEG(axis))) + { + result -= 32767; + } + if (SDL_JoystickGetButton(joystick, BUTTON_AXIS_POS(axis))) + { + result += 32767; + } + } + else if (IS_HAT_AXIS(axis)) + { + int direction = HAT_AXIS_DIRECTION(axis); + int hatval = SDL_JoystickGetHat(joystick, HAT_AXIS_HAT(axis)); + + if (direction == HAT_AXIS_HORIZONTAL) + { + if ((hatval & SDL_HAT_LEFT) != 0) + { + result -= 32767; + } + else if ((hatval & SDL_HAT_RIGHT) != 0) + { + result += 32767; + } + } + else if (direction == HAT_AXIS_VERTICAL) + { + if ((hatval & SDL_HAT_UP) != 0) + { + result -= 32767; + } + else if ((hatval & SDL_HAT_DOWN) != 0) + { + result += 32767; + } + } + } + else + { + result = SDL_JoystickGetAxis(joystick, axis); + + if (result < DEAD_ZONE && result > -DEAD_ZONE) + { + result = 0; + } + } + + if (invert) + { + result = -result; + } + + return result; +} +#endif +void I_UpdateJoystick(void) +{ +#ifdef ORIGCODE + if (joystick != NULL) + { + event_t ev; + + ev.type = ev_joystick; + ev.data1 = GetButtonsState(); + ev.data2 = GetAxisState(joystick_x_axis, joystick_x_invert); + ev.data3 = GetAxisState(joystick_y_axis, joystick_y_invert); + ev.data4 = GetAxisState(joystick_strafe_axis, joystick_strafe_invert); + + D_PostEvent(&ev); + } +#endif +} + +void I_BindJoystickVariables(void) +{ + int i; + + M_BindVariable("use_joystick", &usejoystick); + M_BindVariable("joystick_index", &joystick_index); + M_BindVariable("joystick_x_axis", &joystick_x_axis); + M_BindVariable("joystick_y_axis", &joystick_y_axis); + M_BindVariable("joystick_strafe_axis", &joystick_strafe_axis); + M_BindVariable("joystick_x_invert", &joystick_x_invert); + M_BindVariable("joystick_y_invert", &joystick_y_invert); + M_BindVariable("joystick_strafe_invert",&joystick_strafe_invert); + + for (i = 0; i < NUM_VIRTUAL_BUTTONS; ++i) + { + char name[32]; + M_snprintf(name, sizeof(name), "joystick_physical_button%i", i); + M_BindVariable(name, &joystick_physical_buttons[i]); + } +} + diff --git a/src/kernel/userland/doom/i_joystick.h b/src/kernel/userland/doom/i_joystick.h new file mode 100644 index 0000000..b8815e2 --- /dev/null +++ b/src/kernel/userland/doom/i_joystick.h @@ -0,0 +1,70 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// System-specific joystick interface. +// + + +#ifndef __I_JOYSTICK__ +#define __I_JOYSTICK__ + +// Number of "virtual" joystick buttons defined in configuration files. +// This needs to be at least as large as the number of different key +// bindings supported by the higher-level game code (joyb* variables). +#define NUM_VIRTUAL_BUTTONS 10 + +// If this bit is set in a configuration file axis value, the axis is +// not actually a joystick axis, but instead is a "button axis". This +// means that instead of reading an SDL joystick axis, we read the +// state of two buttons to get the axis value. This is needed for eg. +// the PS3 SIXAXIS controller, where the D-pad buttons register as +// buttons, not as two axes. +#define BUTTON_AXIS 0x10000 + +// Query whether a given axis value describes a button axis. +#define IS_BUTTON_AXIS(axis) ((axis) >= 0 && ((axis) & BUTTON_AXIS) != 0) + +// Get the individual buttons from a button axis value. +#define BUTTON_AXIS_NEG(axis) ((axis) & 0xff) +#define BUTTON_AXIS_POS(axis) (((axis) >> 8) & 0xff) + +// Create a button axis value from two button values. +#define CREATE_BUTTON_AXIS(neg, pos) (BUTTON_AXIS | (neg) | ((pos) << 8)) + +// If this bit is set in an axis value, the axis is not actually a +// joystick axis, but is a "hat" axis. This means that we read (one of) +// the hats on the joystick. +#define HAT_AXIS 0x20000 + +#define IS_HAT_AXIS(axis) ((axis) >= 0 && ((axis) & HAT_AXIS) != 0) + +// Get the hat number from a hat axis value. +#define HAT_AXIS_HAT(axis) ((axis) & 0xff) +// Which axis of the hat? (horizonal or vertical) +#define HAT_AXIS_DIRECTION(axis) (((axis) >> 8) & 0xff) + +#define CREATE_HAT_AXIS(hat, direction) \ + (HAT_AXIS | (hat) | ((direction) << 8)) + +#define HAT_AXIS_HORIZONTAL 1 +#define HAT_AXIS_VERTICAL 2 + +void I_InitJoystick(void); +void I_ShutdownJoystick(void); +void I_UpdateJoystick(void); + +void I_BindJoystickVariables(void); + +#endif /* #ifndef __I_JOYSTICK__ */ + diff --git a/src/kernel/userland/doom/i_scale.c b/src/kernel/userland/doom/i_scale.c new file mode 100644 index 0000000..f88c694 --- /dev/null +++ b/src/kernel/userland/doom/i_scale.c @@ -0,0 +1,1452 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Screen scale-up code: +// 1x,2x,3x,4x pixel doubling +// Aspect ratio-correcting stretch functions +// + +#include +#include +#include + +#include "doomtype.h" + +#include "i_video.h" +#include "m_argv.h" +#include "z_zone.h" + +#if defined(_MSC_VER) && !defined(__cplusplus) +#define inline __inline +#endif + +// Should be I_VideoBuffer + +static byte *src_buffer; + +// Destination buffer, ie. screen->pixels. + +static byte *dest_buffer; + +// Pitch of destination buffer, ie. screen->pitch. + +static int dest_pitch; + +// Lookup tables used for aspect ratio correction stretching code. +// stretch_tables[0] : 20% / 80% +// stretch_tables[1] : 40% / 60% +// All other combinations can be reached from these two tables. + +static byte *stretch_tables[2] = { NULL, NULL }; + +// 50%/50% stretch table, for 800x600 squash mode + +static byte *half_stretch_table = NULL; + +// Called to set the source and destination buffers before doing the +// scale. + +void I_InitScale(byte *_src_buffer, byte *_dest_buffer, int _dest_pitch) +{ + src_buffer = _src_buffer; + dest_buffer = _dest_buffer; + dest_pitch = _dest_pitch; +} + +// +// Pixel doubling scale-up functions. +// + +// 1x scale doesn't really do any scaling: it just copies the buffer +// a line at a time for when pitch != SCREENWIDTH (!native_surface) + +static boolean I_Scale1x(int x1, int y1, int x2, int y2) +{ + byte *bufp, *screenp; + int y; + int w = x2 - x1; + + // Need to byte-copy from buffer into the screen buffer + + bufp = src_buffer + y1 * SCREENWIDTH + x1; + screenp = (byte *) dest_buffer + y1 * dest_pitch + x1; + + for (y=y1; y 240) + + for (y=0; y 480) + + for (y=0; y 720) + + for (y=0; y 960) + + for (y=0; y 1200) + + for (y=0; y 0) + { + screenp = (byte *) dest_buffer + 2 * dest_pitch; + + for (y=0; y<1198; y += 3) + { + memset(screenp, 0, 1600); + + screenp += dest_pitch * 3; + } + } + + return true; +} + +screen_mode_t mode_stretch_5x = { + SCREENWIDTH * 5, SCREENHEIGHT_4_3 * 5, + I_InitStretchTables, + I_Stretch5x, + false, +}; + +// +// Aspect ratio correcting "squash" functions. +// +// These do the opposite of the "stretch" functions above: while the +// stretch functions increase the vertical dimensions, the squash +// functions decrease the horizontal dimensions for the same result. +// +// The same blend tables from the stretch functions are reused; as +// a result, the dimensions are *slightly* wrong (eg. 320x200 should +// squash to 266x200, but actually squashes to 256x200). +// + +// +// 1x squashed scale (256x200) +// + +static inline void WriteSquashedLine1x(byte *dest, byte *src) +{ + int x; + + for (x=0; x multiples of 320x240) + +extern screen_mode_t mode_stretch_1x; +extern screen_mode_t mode_stretch_2x; +extern screen_mode_t mode_stretch_3x; +extern screen_mode_t mode_stretch_4x; +extern screen_mode_t mode_stretch_5x; + +// Horizontally squashed modes (320x200 -> multiples of 256x200) + +extern screen_mode_t mode_squash_1x; +extern screen_mode_t mode_squash_2x; +extern screen_mode_t mode_squash_3x; +extern screen_mode_t mode_squash_4x; +extern screen_mode_t mode_squash_5x; + +#endif /* #ifndef __I_SCALE__ */ + diff --git a/src/kernel/userland/doom/i_sound.c b/src/kernel/userland/doom/i_sound.c new file mode 100644 index 0000000..c80a9d1 --- /dev/null +++ b/src/kernel/userland/doom/i_sound.c @@ -0,0 +1,420 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: none +// + +#include +#include + +#if defined(FEATURE_SOUND) && !defined(__DJGPP__) +#include +#endif + +#include "config.h" +#include "doomfeatures.h" +#include "doomtype.h" + +#ifdef ORIGCODE +#include "gusconf.h" +#endif +#include "i_sound.h" +#include "i_video.h" +#include "m_argv.h" +#include "m_config.h" + +// Sound sample rate to use for digital output (Hz) + +int snd_samplerate = 44100; + +// Maximum number of bytes to dedicate to allocated sound effects. +// (Default: 64MB) + +int snd_cachesize = 64 * 1024 * 1024; + +// Config variable that controls the sound buffer size. +// We default to 28ms (1000 / 35fps = 1 buffer per tic). + +int snd_maxslicetime_ms = 28; + +// External command to invoke to play back music. + +char *snd_musiccmd = ""; + +// Low-level sound and music modules we are using + +static sound_module_t *sound_module = NULL; +static music_module_t *music_module = NULL; + +int snd_musicdevice = SNDDEVICE_SB; +int snd_sfxdevice = SNDDEVICE_SB; + +// DOS-specific options: These are unused but should be maintained +// so that the config file can be shared between chocolate +// doom and doom.exe + +static int snd_sbport = 0; +static int snd_sbirq = 0; +static int snd_sbdma = 0; +static int snd_mport = 0; + +// Compiled-in sound modules: + +static sound_module_t *sound_modules[] = +{ + #ifdef FEATURE_SOUND + &DG_sound_module, + #endif + NULL, +}; + +// Check if a sound device is in the given list of devices + +static boolean SndDeviceInList(snddevice_t device, snddevice_t *list, + int len) +{ + int i; + + for (i=0; isound_devices, + sound_modules[i]->num_sound_devices)) + { + // Initialize the module + + if (sound_modules[i]->Init(use_sfx_prefix)) + { + sound_module = sound_modules[i]; + return; + } + } + } +} + +// Initialize music according to snd_musicdevice. + +static void InitMusicModule(void) +{ +#ifdef FEATURE_SOUND + music_module = &DG_music_module; +#endif /* FEATURE_SOUND */ +} + +// +// Initializes sound stuff, including volume +// Sets channels, SFX and music volume, +// allocates channel buffer, sets S_sfx lookup. +// + +void I_InitSound(boolean use_sfx_prefix) +{ + boolean nosound, nosfx, nomusic; + + //! + // @vanilla + // + // Disable all sound output. + // + + nosound = M_CheckParm("-nosound") > 0; + + //! + // @vanilla + // + // Disable sound effects. + // + + nosfx = M_CheckParm("-nosfx") > 0; + + //! + // @vanilla + // + // Disable music. + // + + nomusic = M_CheckParm("-nomusic") > 0; + + // Initialize the sound and music subsystems. + + if (!nosound && !screensaver_mode) + { + // This is kind of a hack. If native MIDI is enabled, set up + // the TIMIDITY_CFG environment variable here before SDL_mixer + // is opened. + + if (!nomusic + && (snd_musicdevice == SNDDEVICE_GENMIDI + || snd_musicdevice == SNDDEVICE_GUS)) + { + //I_InitTimidityConfig(); + } + + if (!nosfx) + { + InitSfxModule(use_sfx_prefix); + } + + if (!nomusic) + { + InitMusicModule(); + } + } + +} + +void I_ShutdownSound(void) +{ + if (sound_module != NULL) + { + sound_module->Shutdown(); + } + + if (music_module != NULL) + { + music_module->Shutdown(); + } +} + +int I_GetSfxLumpNum(sfxinfo_t *sfxinfo) +{ + if (sound_module != NULL) + { + return sound_module->GetSfxLumpNum(sfxinfo); + } + else + { + return 0; + } +} + +void I_UpdateSound(void) +{ + if (sound_module != NULL) + { + sound_module->Update(); + } + + if (music_module != NULL && music_module->Poll != NULL) + { + music_module->Poll(); + } +} + +static void CheckVolumeSeparation(int *vol, int *sep) +{ + if (*sep < 0) + { + *sep = 0; + } + else if (*sep > 254) + { + *sep = 254; + } + + if (*vol < 0) + { + *vol = 0; + } + else if (*vol > 127) + { + *vol = 127; + } +} + +void I_UpdateSoundParams(int channel, int vol, int sep) +{ + if (sound_module != NULL) + { + CheckVolumeSeparation(&vol, &sep); + sound_module->UpdateSoundParams(channel, vol, sep); + } +} + +int I_StartSound(sfxinfo_t *sfxinfo, int channel, int vol, int sep) +{ + if (sound_module != NULL) + { + CheckVolumeSeparation(&vol, &sep); + return sound_module->StartSound(sfxinfo, channel, vol, sep); + } + else + { + return 0; + } +} + +void I_StopSound(int channel) +{ + if (sound_module != NULL) + { + sound_module->StopSound(channel); + } +} + +boolean I_SoundIsPlaying(int channel) +{ + if (sound_module != NULL) + { + return sound_module->SoundIsPlaying(channel); + } + else + { + return false; + } +} + +void I_PrecacheSounds(sfxinfo_t *sounds, int num_sounds) +{ + if (sound_module != NULL && sound_module->CacheSounds != NULL) + { + sound_module->CacheSounds(sounds, num_sounds); + } +} + +void I_InitMusic(void) +{ + if(music_module != NULL) + { + music_module->Init(); + } +} + +void I_ShutdownMusic(void) +{ + +} + +void I_SetMusicVolume(int volume) +{ + if (music_module != NULL) + { + music_module->SetMusicVolume(volume); + } +} + +void I_PauseSong(void) +{ + if (music_module != NULL) + { + music_module->PauseMusic(); + } +} + +void I_ResumeSong(void) +{ + if (music_module != NULL) + { + music_module->ResumeMusic(); + } +} + +void *I_RegisterSong(void *data, int len) +{ + if (music_module != NULL) + { + return music_module->RegisterSong(data, len); + } + else + { + return NULL; + } +} + +void I_UnRegisterSong(void *handle) +{ + if (music_module != NULL) + { + music_module->UnRegisterSong(handle); + } +} + +void I_PlaySong(void *handle, boolean looping) +{ + if (music_module != NULL) + { + music_module->PlaySong(handle, looping); + } +} + +void I_StopSong(void) +{ + if (music_module != NULL) + { + music_module->StopSong(); + } +} + +boolean I_MusicIsPlaying(void) +{ + if (music_module != NULL) + { + return music_module->MusicIsPlaying(); + } + else + { + return false; + } + +} + +void I_BindSoundVariables(void) +{ + extern int use_libsamplerate; + extern float libsamplerate_scale; + + M_BindVariable("snd_musicdevice", &snd_musicdevice); + M_BindVariable("snd_sfxdevice", &snd_sfxdevice); + M_BindVariable("snd_sbport", &snd_sbport); + M_BindVariable("snd_sbirq", &snd_sbirq); + M_BindVariable("snd_sbdma", &snd_sbdma); + M_BindVariable("snd_mport", &snd_mport); + M_BindVariable("snd_maxslicetime_ms", &snd_maxslicetime_ms); + M_BindVariable("snd_musiccmd", &snd_musiccmd); + M_BindVariable("snd_samplerate", &snd_samplerate); + M_BindVariable("snd_cachesize", &snd_cachesize); + +#ifdef FEATURE_SOUND + M_BindVariable("use_libsamplerate", &use_libsamplerate); + M_BindVariable("libsamplerate_scale", &libsamplerate_scale); +#endif + + // Before SDL_mixer version 1.2.11, MIDI music caused the game + // to crash when it looped. If this is an old SDL_mixer version, + // disable MIDI. +} + diff --git a/src/kernel/userland/doom/i_sound.h b/src/kernel/userland/doom/i_sound.h new file mode 100644 index 0000000..e31b5e5 --- /dev/null +++ b/src/kernel/userland/doom/i_sound.h @@ -0,0 +1,256 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// The not so system specific sound interface. +// + + +#ifndef __I_SOUND__ +#define __I_SOUND__ + +#include "doomtype.h" + + +// +// SoundFX struct. +// +typedef struct sfxinfo_struct sfxinfo_t; + +struct sfxinfo_struct +{ + // tag name, used for hexen. + char *tagname; + + // lump name. If we are running with use_sfx_prefix=true, a + // 'DS' (or 'DP' for PC speaker sounds) is prepended to this. + + char name[9]; + + // Sfx priority + int priority; + + // referenced sound if a link + sfxinfo_t *link; + + // pitch if a link + int pitch; + + // volume if a link + int volume; + + // this is checked every second to see if sound + // can be thrown out (if 0, then decrement, if -1, + // then throw out, if > 0, then it is in use) + int usefulness; + + // lump number of sfx + int lumpnum; + + // Maximum number of channels that the sound can be played on + // (Heretic) + int numchannels; + + // data used by the low level code + void *driver_data; +}; + +// +// MusicInfo struct. +// +typedef struct +{ + // up to 6-character name + char *name; + + // lump number of music + int lumpnum; + + // music data + void *data; + + // music handle once registered + void *handle; + +} musicinfo_t; + +typedef enum +{ + SNDDEVICE_NONE = 0, + SNDDEVICE_PCSPEAKER = 1, + SNDDEVICE_ADLIB = 2, + SNDDEVICE_SB = 3, + SNDDEVICE_PAS = 4, + SNDDEVICE_GUS = 5, + SNDDEVICE_WAVEBLASTER = 6, + SNDDEVICE_SOUNDCANVAS = 7, + SNDDEVICE_GENMIDI = 8, + SNDDEVICE_AWE32 = 9, + SNDDEVICE_CD = 10, +} snddevice_t; + +// Interface for sound modules + +typedef struct +{ + // List of sound devices that this sound module is used for. + + snddevice_t *sound_devices; + int num_sound_devices; + + // Initialise sound module + // Returns true if successfully initialised + + boolean (*Init)(boolean use_sfx_prefix); + + // Shutdown sound module + + void (*Shutdown)(void); + + // Returns the lump index of the given sound. + + int (*GetSfxLumpNum)(sfxinfo_t *sfxinfo); + + // Called periodically to update the subsystem. + + void (*Update)(void); + + // Update the sound settings on the given channel. + + void (*UpdateSoundParams)(int channel, int vol, int sep); + + // Start a sound on a given channel. Returns the channel id + // or -1 on failure. + + int (*StartSound)(sfxinfo_t *sfxinfo, int channel, int vol, int sep); + + // Stop the sound playing on the given channel. + + void (*StopSound)(int channel); + + // Query if a sound is playing on the given channel + + boolean (*SoundIsPlaying)(int channel); + + // Called on startup to precache sound effects (if necessary) + + void (*CacheSounds)(sfxinfo_t *sounds, int num_sounds); + +} sound_module_t; + +void I_InitSound(boolean use_sfx_prefix); +void I_ShutdownSound(void); +int I_GetSfxLumpNum(sfxinfo_t *sfxinfo); +void I_UpdateSound(void); +void I_UpdateSoundParams(int channel, int vol, int sep); +int I_StartSound(sfxinfo_t *sfxinfo, int channel, int vol, int sep); +void I_StopSound(int channel); +boolean I_SoundIsPlaying(int channel); +void I_PrecacheSounds(sfxinfo_t *sounds, int num_sounds); + +// Interface for music modules + +typedef struct +{ + // List of sound devices that this music module is used for. + + snddevice_t *sound_devices; + int num_sound_devices; + + // Initialise the music subsystem + + boolean (*Init)(void); + + // Shutdown the music subsystem + + void (*Shutdown)(void); + + // Set music volume - range 0-127 + + void (*SetMusicVolume)(int volume); + + // Pause music + + void (*PauseMusic)(void); + + // Un-pause music + + void (*ResumeMusic)(void); + + // Register a song handle from data + // Returns a handle that can be used to play the song + + void *(*RegisterSong)(void *data, int len); + + // Un-register (free) song data + + void (*UnRegisterSong)(void *handle); + + // Play the song + + void (*PlaySong)(void *handle, boolean looping); + + // Stop playing the current song. + + void (*StopSong)(void); + + // Query if music is playing. + + boolean (*MusicIsPlaying)(void); + + // Invoked periodically to poll. + + void (*Poll)(void); +} music_module_t; + +void I_InitMusic(void); +void I_ShutdownMusic(void); +void I_SetMusicVolume(int volume); +void I_PauseSong(void); +void I_ResumeSong(void); +void *I_RegisterSong(void *data, int len); +void I_UnRegisterSong(void *handle); +void I_PlaySong(void *handle, boolean looping); +void I_StopSong(void); +boolean I_MusicIsPlaying(void); + +extern int snd_sfxdevice; +extern int snd_musicdevice; +extern int snd_samplerate; +extern int snd_cachesize; +extern int snd_maxslicetime_ms; +extern char *snd_musiccmd; + +void I_BindSoundVariables(void); + +// Sound modules + +void I_InitTimidityConfig(void); +#ifdef FEATURE_SOUND +extern sound_module_t DG_sound_module; +extern music_module_t DG_music_module; +#endif +extern sound_module_t sound_pcsound_module; +extern music_module_t music_opl_module; + +// For OPL module: + +extern int opl_io_port; + +// For native music module: + +extern char *timidity_cfg_path; + +#endif + diff --git a/src/kernel/userland/doom/i_swap.h b/src/kernel/userland/doom/i_swap.h new file mode 100644 index 0000000..fa45d4c --- /dev/null +++ b/src/kernel/userland/doom/i_swap.h @@ -0,0 +1,73 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Endianess handling, swapping 16bit and 32bit. +// + + +#ifndef __I_SWAP__ +#define __I_SWAP__ + +#ifdef __DJGPP__ + + +#define SHORT(x) ((signed short) (x)) +#define LONG(x) ((signed int) (x)) + +#define SYS_LITTLE_ENDIAN + + +#else // __DJGPP__ + + +#if ( __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ) +#define SYS_LITTLE_ENDIAN +#define SHORT(x) ((signed short) (x)) +#define LONG(x) ((signed int) (x)) +#elif ( __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ) +#define SYS_BIG_ENDIAN + +static inline unsigned short swapLE16(unsigned short val) { + return ((val << 8) | (val >> 8)); +} + +static inline unsigned long swapLE32(unsigned long val) { + return ((val << 24) | ((val << 8) & 0x00FF0000) | ((val >> 8) & 0x0000FF00) | (val >> 24)); +} + +#define SHORT(x) ((signed short) swapLE16(x)) +#define LONG(x) ((signed int) swapLE32(x)) +#else +#error "Unknown byte order" +#endif + + +// cosmito from lsdldoom +#define doom_swap_s(x) \ + ((short int)((((unsigned short int)(x) & 0x00ff) << 8) | \ + (((unsigned short int)(x) & 0xff00) >> 8))) + +#if ( __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ) +#define doom_wtohs(x) doom_swap_s(x) +#else +#define doom_wtohs(x) (short int)(x) +#endif + + +#endif // __DJGPP__ + + +#endif + diff --git a/src/kernel/userland/doom/i_system.c b/src/kernel/userland/doom/i_system.c new file mode 100644 index 0000000..53ab2c9 --- /dev/null +++ b/src/kernel/userland/doom/i_system.c @@ -0,0 +1,578 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// + + + +#include +#include +#include + +#include + +#ifdef _WIN32 +#define WIN32_LEAN_AND_MEAN +#include +#else +#include +#endif + +#ifdef ORIGCODE +#include "SDL.h" +#endif + +#include "config.h" + +#include "deh_str.h" +#include "doomtype.h" +#include "m_argv.h" +#include "m_config.h" +#include "m_misc.h" +#include "i_joystick.h" +#include "i_sound.h" +#include "i_timer.h" +#include "i_video.h" + +#include "i_system.h" + +#include "w_wad.h" +#include "z_zone.h" + +#ifdef __MACOSX__ +#include +#endif + +#define DEFAULT_RAM 6 /* MiB */ +#define MIN_RAM 6 /* MiB */ + + +typedef struct atexit_listentry_s atexit_listentry_t; + +struct atexit_listentry_s +{ + atexit_func_t func; + boolean run_on_error; + atexit_listentry_t *next; +}; + +static atexit_listentry_t *exit_funcs = NULL; + +void I_AtExit(atexit_func_t func, boolean run_on_error) +{ + atexit_listentry_t *entry; + + entry = malloc(sizeof(*entry)); + + entry->func = func; + entry->run_on_error = run_on_error; + entry->next = exit_funcs; + exit_funcs = entry; +} + +// Tactile feedback function, probably used for the Logitech Cyberman + +void I_Tactile(int on, int off, int total) +{ +} + +// Zone memory auto-allocation function that allocates the zone size +// by trying progressively smaller zone sizes until one is found that +// works. + +static byte *AutoAllocMemory(int *size, int default_ram, int min_ram) +{ + byte *zonemem; + + // Allocate the zone memory. This loop tries progressively smaller + // zone sizes until a size is found that can be allocated. + // If we used the -mb command line parameter, only the parameter + // provided is accepted. + + zonemem = NULL; + + while (zonemem == NULL) + { + // We need a reasonable minimum amount of RAM to start. + + if (default_ram < min_ram) + { + I_Error("Unable to allocate %i MiB of RAM for zone", default_ram); + } + + // Try to allocate the zone memory. + + *size = default_ram * 1024 * 1024; + + zonemem = malloc(*size); + + // Failed to allocate? Reduce zone size until we reach a size + // that is acceptable. + + if (zonemem == NULL) + { + default_ram -= 1; + } + } + + return zonemem; +} + +byte *I_ZoneBase (int *size) +{ + byte *zonemem; + int min_ram, default_ram; + int p; + + //! + // @arg + // + // Specify the heap size, in MiB (default 16). + // + + p = M_CheckParmWithArgs("-mb", 1); + + if (p > 0) + { + default_ram = atoi(myargv[p+1]); + min_ram = default_ram; + } + else + { + default_ram = DEFAULT_RAM; + min_ram = MIN_RAM; + } + + zonemem = AutoAllocMemory(size, default_ram, min_ram); + + printf("zone memory: %p, %x allocated for zone\n", + zonemem, *size); + + return zonemem; +} + +void I_PrintBanner(char *msg) +{ + int i; + int spaces = 35 - (strlen(msg) / 2); + + for (i=0; ifunc(); + entry = entry->next; + } + +#if ORIGCODE + SDL_Quit(); + + exit(0); +#endif +} + +#if !defined(_WIN32) && !defined(__MACOSX__) && !defined(__DJGPP__) +#define ZENITY_BINARY "/usr/bin/zenity" + +// returns non-zero if zenity is available + +static int ZenityAvailable(void) +{ + return system(ZENITY_BINARY " --help >/dev/null 2>&1") == 0; +} + +// Escape special characters in the given string so that they can be +// safely enclosed in shell quotes. + +static char *EscapeShellString(char *string) +{ + char *result; + char *r, *s; + + // In the worst case, every character might be escaped. + result = malloc(strlen(string) * 2 + 3); + r = result; + + // Enclosing quotes. + *r = '"'; + ++r; + + for (s = string; *s != '\0'; ++s) + { + // From the bash manual: + // + // "Enclosing characters in double quotes preserves the literal + // value of all characters within the quotes, with the exception + // of $, `, \, and, when history expansion is enabled, !." + // + // Therefore, escape these characters by prefixing with a backslash. + + if (strchr("$`\\!", *s) != NULL) + { + *r = '\\'; + ++r; + } + + *r = *s; + ++r; + } + + // Enclosing quotes. + *r = '"'; + ++r; + *r = '\0'; + + return result; +} + +// Open a native error box with a message using zenity + +static int ZenityErrorBox(char *message) +{ + int result; + char *escaped_message; + char *errorboxpath; + static size_t errorboxpath_size; + + if (!ZenityAvailable()) + { + return 0; + } + + escaped_message = EscapeShellString(message); + + errorboxpath_size = strlen(ZENITY_BINARY) + strlen(escaped_message) + 19; + errorboxpath = malloc(errorboxpath_size); + M_snprintf(errorboxpath, errorboxpath_size, "%s --error --text=%s", + ZENITY_BINARY, escaped_message); + + result = system(errorboxpath); + + free(errorboxpath); + free(escaped_message); + + return result; +} + +#endif /* !defined(_WIN32) && !defined(__MACOSX__) && !defined(__DJGPP__) */ + + +// +// I_Error +// + +static boolean already_quitting = false; + +void I_Error (char *error, ...) +{ + char msgbuf[512]; + va_list argptr; + atexit_listentry_t *entry; + boolean exit_gui_popup; + + if (already_quitting) + { + fprintf(stderr, "Warning: recursive call to I_Error detected.\n"); +#if ORIGCODE + exit(-1); +#endif + } + else + { + already_quitting = true; + } + + // Message first. + va_start(argptr, error); + //fprintf(stderr, "\nError: "); + vfprintf(stderr, error, argptr); + fprintf(stderr, "\n\n"); + va_end(argptr); + fflush(stderr); + + // Write a copy of the message into buffer. + va_start(argptr, error); + memset(msgbuf, 0, sizeof(msgbuf)); + M_vsnprintf(msgbuf, sizeof(msgbuf), error, argptr); + va_end(argptr); + + // Shutdown. Here might be other errors. + + entry = exit_funcs; + + while (entry != NULL) + { + if (entry->run_on_error) + { + entry->func(); + } + + entry = entry->next; + } + + exit_gui_popup = !M_ParmExists("-nogui"); + + // Pop up a GUI dialog box to show the error message, if the + // game was not run from the console (and the user will + // therefore be unable to otherwise see the message). + if (exit_gui_popup && !I_ConsoleStdout()) +#ifdef _WIN32 + { + wchar_t wmsgbuf[512]; + + MultiByteToWideChar(CP_ACP, 0, + msgbuf, strlen(msgbuf) + 1, + wmsgbuf, sizeof(wmsgbuf)); + + MessageBoxW(NULL, wmsgbuf, L"", MB_OK); + } +#elif defined(__MACOSX__) + { + CFStringRef message; + int i; + + // The CoreFoundation message box wraps text lines, so replace + // newline characters with spaces so that multiline messages + // are continuous. + + for (i = 0; msgbuf[i] != '\0'; ++i) + { + if (msgbuf[i] == '\n') + { + msgbuf[i] = ' '; + } + } + + message = CFStringCreateWithCString(NULL, msgbuf, + kCFStringEncodingUTF8); + + CFUserNotificationDisplayNotice(0, + kCFUserNotificationCautionAlertLevel, + NULL, + NULL, + NULL, + CFSTR(PACKAGE_STRING), + message, + NULL); + } +#elif defined(__DJGPP__) + { + printf("%s\n", msgbuf); + exit(-1); + } + +#else + { + ZenityErrorBox(msgbuf); + } +#endif + + // abort(); +#if ORIGCODE + SDL_Quit(); + + exit(-1); +#else + exit(-1); +#endif +} + +// +// Read Access Violation emulation. +// +// From PrBoom+, by entryway. +// + +// C:\>debug +// -d 0:0 +// +// DOS 6.22: +// 0000:0000 (57 92 19 00) F4 06 70 00-(16 00) +// DOS 7.1: +// 0000:0000 (9E 0F C9 00) 65 04 70 00-(16 00) +// Win98: +// 0000:0000 (9E 0F C9 00) 65 04 70 00-(16 00) +// DOSBox under XP: +// 0000:0000 (00 00 00 F1) ?? ?? ?? 00-(07 00) + +#define DOS_MEM_DUMP_SIZE 10 + +static const unsigned char mem_dump_dos622[DOS_MEM_DUMP_SIZE] = { + 0x57, 0x92, 0x19, 0x00, 0xF4, 0x06, 0x70, 0x00, 0x16, 0x00}; +static const unsigned char mem_dump_win98[DOS_MEM_DUMP_SIZE] = { + 0x9E, 0x0F, 0xC9, 0x00, 0x65, 0x04, 0x70, 0x00, 0x16, 0x00}; +static const unsigned char mem_dump_dosbox[DOS_MEM_DUMP_SIZE] = { + 0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00}; +static unsigned char mem_dump_custom[DOS_MEM_DUMP_SIZE]; + +static const unsigned char *dos_mem_dump = mem_dump_dos622; + +boolean I_GetMemoryValue(unsigned int offset, void *value, int size) +{ + static boolean firsttime = true; + + if (firsttime) + { + int p, i, val; + + firsttime = false; + i = 0; + + //! + // @category compat + // @arg + // + // Specify DOS version to emulate for NULL pointer dereference + // emulation. Supported versions are: dos622, dos71, dosbox. + // The default is to emulate DOS 7.1 (Windows 98). + // + + p = M_CheckParmWithArgs("-setmem", 1); + + if (p > 0) + { + if (!strcasecmp(myargv[p + 1], "dos622")) + { + dos_mem_dump = mem_dump_dos622; + } + if (!strcasecmp(myargv[p + 1], "dos71")) + { + dos_mem_dump = mem_dump_win98; + } + else if (!strcasecmp(myargv[p + 1], "dosbox")) + { + dos_mem_dump = mem_dump_dosbox; + } + else + { + for (i = 0; i < DOS_MEM_DUMP_SIZE; ++i) + { + ++p; + + if (p >= myargc || myargv[p][0] == '-') + { + break; + } + + M_StrToInt(myargv[p], &val); + mem_dump_custom[i++] = (unsigned char) val; + } + + dos_mem_dump = mem_dump_custom; + } + } + } + + switch (size) + { + case 1: + *((unsigned char *) value) = dos_mem_dump[offset]; + return true; + case 2: + *((unsigned short *) value) = dos_mem_dump[offset] + | (dos_mem_dump[offset + 1] << 8); + return true; + case 4: + *((unsigned int *) value) = dos_mem_dump[offset] + | (dos_mem_dump[offset + 1] << 8) + | (dos_mem_dump[offset + 2] << 16) + | (dos_mem_dump[offset + 3] << 24); + return true; + } + + return false; +} + diff --git a/src/kernel/userland/doom/i_system.h b/src/kernel/userland/doom/i_system.h new file mode 100644 index 0000000..b65daff --- /dev/null +++ b/src/kernel/userland/doom/i_system.h @@ -0,0 +1,84 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// System specific interface stuff. +// + + +#ifndef __I_SYSTEM__ +#define __I_SYSTEM__ + +#include "d_ticcmd.h" +#include "d_event.h" + + +typedef void (*atexit_func_t)(void); + +// Called by DoomMain. +void I_Init (void); + +// Called by startup code +// to get the ammount of memory to malloc +// for the zone management. +byte* I_ZoneBase (int *size); + +boolean I_ConsoleStdout(void); + + +// Asynchronous interrupt functions should maintain private queues +// that are read by the synchronous functions +// to be converted into events. + +// Either returns a null ticcmd, +// or calls a loadable driver to build it. +// This ticcmd will then be modified by the gameloop +// for normal input. +ticcmd_t* I_BaseTiccmd (void); + + +// Called by M_Responder when quit is selected. +// Clean exit, displays sell blurb. +void I_Quit (void); + +void I_Error (char *error, ...); + +void I_Tactile (int on, int off, int total); + +boolean I_GetMemoryValue(unsigned int offset, void *value, int size); + +// Schedule a function to be called when the program exits. +// If run_if_error is true, the function is called if the exit +// is due to an error (I_Error) + +void I_AtExit(atexit_func_t func, boolean run_if_error); + +// Add all system-specific config file variable bindings. + +void I_BindVariables(void); + +// Print startup banner copyright message. + +void I_PrintStartupBanner(char *gamedescription); + +// Print a centered text banner displaying the given string. + +void I_PrintBanner(char *text); + +// Print a dividing line for startup banners. + +void I_PrintDivider(void); + +#endif + diff --git a/src/kernel/userland/doom/i_timer.c b/src/kernel/userland/doom/i_timer.c new file mode 100644 index 0000000..0a85c72 --- /dev/null +++ b/src/kernel/userland/doom/i_timer.c @@ -0,0 +1,96 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Timer functions. +// + +#include "i_timer.h" +#include "doomtype.h" + +#include "doomgeneric.h" + +#include + +//#include +//#include + + +// +// I_GetTime +// returns time in 1/35th second tics +// + +static uint32_t basetime = 0; + + +int I_GetTicks(void) +{ + return DG_GetTicksMs(); +} + +int I_GetTime (void) +{ + uint32_t ticks; + + ticks = I_GetTicks(); + + if (basetime == 0) + basetime = ticks; + + ticks -= basetime; + + return (ticks * TICRATE) / 1000; +} + + +// +// Same as I_GetTime, but returns time in milliseconds +// + +int I_GetTimeMS(void) +{ + uint32_t ticks; + + ticks = I_GetTicks(); + + if (basetime == 0) + basetime = ticks; + + return ticks - basetime; +} + +// Sleep for a specified number of ms + +void I_Sleep(int ms) +{ + //SDL_Delay(ms); + //usleep (ms * 1000); + + DG_SleepMs(ms); +} + +void I_WaitVBL(int count) +{ + //I_Sleep((count * 1000) / 70); +} + + +void I_InitTimer(void) +{ + // initialize timer + + //SDL_Init(SDL_INIT_TIMER); +} + diff --git a/src/kernel/userland/doom/i_timer.h b/src/kernel/userland/doom/i_timer.h new file mode 100644 index 0000000..9b3dbb8 --- /dev/null +++ b/src/kernel/userland/doom/i_timer.h @@ -0,0 +1,42 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// System-specific timer interface +// + + +#ifndef __I_TIMER__ +#define __I_TIMER__ + +#define TICRATE 35 + +// Called by D_DoomLoop, +// returns current time in tics. +int I_GetTime (void); + +// returns current time in ms +int I_GetTimeMS (void); + +// Pause for a specified number of ms +void I_Sleep(int ms); + +// Initialize timer +void I_InitTimer(void); + +// Wait for vertical retrace or pause a bit. +void I_WaitVBL(int count); + +#endif + diff --git a/src/kernel/userland/doom/i_video.c b/src/kernel/userland/doom/i_video.c new file mode 100644 index 0000000..58d6825 --- /dev/null +++ b/src/kernel/userland/doom/i_video.c @@ -0,0 +1,495 @@ +// Emacs style mode select -*- C++ -*- +//----------------------------------------------------------------------------- +// +// $Id:$ +// +// Copyright (C) 1993-1996 by id Software, Inc. +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// $Log:$ +// +// DESCRIPTION: +// DOOM graphics stuff for X11, UNIX. +// +//----------------------------------------------------------------------------- + +static const char +rcsid[] = "$Id: i_x.c,v 1.6 1997/02/03 22:45:10 b1 Exp $"; + +#include "config.h" +#include "v_video.h" +#include "m_argv.h" +#include "d_event.h" +#include "d_main.h" +#include "i_video.h" +#include "i_system.h" +#include "z_zone.h" + +#include "tables.h" +#include "doomkeys.h" + +#include "doomgeneric.h" + +#include +#include + +#include + +#include + +#include + +//#define CMAP256 + +struct FB_BitField +{ + uint32_t offset; /* beginning of bitfield */ + uint32_t length; /* length of bitfield */ +}; + +struct FB_ScreenInfo +{ + uint32_t xres; /* visible resolution */ + uint32_t yres; + uint32_t xres_virtual; /* virtual resolution */ + uint32_t yres_virtual; + + uint32_t bits_per_pixel; /* guess what */ + + /* >1 = FOURCC */ + struct FB_BitField red; /* bitfield in s_Fb mem if true color, */ + struct FB_BitField green; /* else only length is significant */ + struct FB_BitField blue; + struct FB_BitField transp; /* transparency */ +}; + +static struct FB_ScreenInfo s_Fb; +int fb_scaling = 1; +int usemouse = 0; + + +#ifdef CMAP256 + +boolean palette_changed; +struct color colors[256]; + +#else // CMAP256 + +static struct color colors[256]; + + +#endif // CMAP256 + + +void I_GetEvent(void); + +// The screen buffer; this is modified to draw things to the screen + +byte *I_VideoBuffer = NULL; + +// If true, game is running as a screensaver + +boolean screensaver_mode = false; + +// Flag indicating whether the screen is currently visible: +// when the screen isnt visible, don't render the screen + +boolean screenvisible; + +// Mouse acceleration +// +// This emulates some of the behavior of DOS mouse drivers by increasing +// the speed when the mouse is moved fast. +// +// The mouse input values are input directly to the game, but when +// the values exceed the value of mouse_threshold, they are multiplied +// by mouse_acceleration to increase the speed. + +int mouse_acceleration = 2; +int mouse_threshold = 10; + +// Gamma correction level to use + +int usegamma = 0; + +typedef struct +{ + byte r; + byte g; + byte b; +} col_t; + +// Palette converted to RGB565 + +static uint16_t rgb565_palette[256]; + +void cmap_to_rgb565(uint16_t * out, uint8_t * in, int in_pixels) +{ + int i, j; + struct color c; + uint16_t r, g, b; + + for (i = 0; i < in_pixels; i++) + { + c = colors[*in]; + r = ((uint16_t)(c.r >> 3)) << 11; + g = ((uint16_t)(c.g >> 2)) << 5; + b = ((uint16_t)(c.b >> 3)) << 0; + *out = (r | g | b); + + in++; + for (j = 0; j < fb_scaling; j++) { + out++; + } + } +} + +void cmap_to_fb(uint8_t *out, uint8_t *in, int in_pixels) +{ + int i, k; + struct color c; + uint32_t pix; + + for (i = 0; i < in_pixels; i++) + { + c = colors[*in]; // R:8 G:8 B:8 + + if (s_Fb.bits_per_pixel == 16) + { + // RGB565 packing + uint16_t p = ((c.r & 0xF8) << 8) | + ((c.g & 0xFC) << 3) | + (c.b >> 3); + +#ifdef SYS_BIG_ENDIAN + p = swapeLE16(p); // can't use SHORT() because this needs to stay unsigned +#endif + for (k = 0; k < fb_scaling; k++) { + *(uint16_t *)out = p; + out += 2; + } + } + else if (s_Fb.bits_per_pixel == 32) + { + // Assuming RGBA8888 + pix = (c.r << s_Fb.red.offset) | + (c.g << s_Fb.green.offset) | + (c.b << s_Fb.blue.offset); + +#ifdef SYS_BIG_ENDIAN + pix = swapLE32(pix); +#endif + for (k = 0; k < fb_scaling; k++) { + *(uint32_t *)out = pix; + out += 4; + } + } + else { + // no clue how to convert this + I_Error("No idea how to convert %d bpp pixels", s_Fb.bits_per_pixel); + } + + in++; + } +} + +void I_InitGraphics (void) +{ + int i, gfxmodeparm; + char *mode; + + memset(&s_Fb, 0, sizeof(struct FB_ScreenInfo)); + s_Fb.xres = DOOMGENERIC_RESX; + s_Fb.yres = DOOMGENERIC_RESY; + s_Fb.xres_virtual = s_Fb.xres; + s_Fb.yres_virtual = s_Fb.yres; + +#ifdef CMAP256 + + s_Fb.bits_per_pixel = 8; + +#else // CMAP256 + + gfxmodeparm = M_CheckParmWithArgs("-gfxmode", 1); + + if (gfxmodeparm) { + mode = myargv[gfxmodeparm + 1]; + } + else { + // default to rgba8888 like the old behavior, for compatibility + // maybe could warn here? + mode = "rgba8888"; + } + + if (strcmp(mode, "rgba8888") == 0) { + // default mode + s_Fb.bits_per_pixel = 32; + + s_Fb.blue.length = 8; + s_Fb.green.length = 8; + s_Fb.red.length = 8; + s_Fb.transp.length = 8; + + s_Fb.blue.offset = 0; + s_Fb.green.offset = 8; + s_Fb.red.offset = 16; + s_Fb.transp.offset = 24; + } + + else if (strcmp(mode, "rgb565") == 0) { + s_Fb.bits_per_pixel = 16; + + s_Fb.blue.length = 5; + s_Fb.green.length = 6; + s_Fb.red.length = 5; + s_Fb.transp.length = 0; + + s_Fb.blue.offset = 11; + s_Fb.green.offset = 5; + s_Fb.red.offset = 0; + s_Fb.transp.offset = 16; + } + else + I_Error("Unknown gfxmode value: %s\n", mode); + + +#endif // CMAP256 + + printf("I_InitGraphics: framebuffer: x_res: %d, y_res: %d, x_virtual: %d, y_virtual: %d, bpp: %d\n", + s_Fb.xres, s_Fb.yres, s_Fb.xres_virtual, s_Fb.yres_virtual, s_Fb.bits_per_pixel); + + printf("I_InitGraphics: framebuffer: RGBA: %d%d%d%d, red_off: %d, green_off: %d, blue_off: %d, transp_off: %d\n", + s_Fb.red.length, s_Fb.green.length, s_Fb.blue.length, s_Fb.transp.length, s_Fb.red.offset, s_Fb.green.offset, s_Fb.blue.offset, s_Fb.transp.offset); + + printf("I_InitGraphics: DOOM screen size: w x h: %d x %d\n", SCREENWIDTH, SCREENHEIGHT); + + + i = M_CheckParmWithArgs("-scaling", 1); + if (i > 0) { + i = atoi(myargv[i + 1]); + fb_scaling = i; + printf("I_InitGraphics: Scaling factor: %d\n", fb_scaling); + } else { + fb_scaling = s_Fb.xres / SCREENWIDTH; + if (s_Fb.yres / SCREENHEIGHT < fb_scaling) + fb_scaling = s_Fb.yres / SCREENHEIGHT; + printf("I_InitGraphics: Auto-scaling factor: %d\n", fb_scaling); + } + + + /* Allocate screen to draw to */ + I_VideoBuffer = (byte*)Z_Malloc (SCREENWIDTH * SCREENHEIGHT, PU_STATIC, NULL); // For DOOM to draw on + + screenvisible = true; + + extern void I_InitInput(void); + I_InitInput(); +} + +void I_ShutdownGraphics (void) +{ + Z_Free (I_VideoBuffer); +} + +void I_StartFrame (void) +{ + +} + +void I_StartTic (void) +{ + I_GetEvent(); +} + +void I_UpdateNoBlit (void) +{ +} + +// +// I_FinishUpdate +// + +void I_FinishUpdate (void) +{ + int y; + int x_offset, y_offset, x_offset_end; + unsigned char *line_in, *line_out; + + /* Offsets in case FB is bigger than DOOM */ + /* 600 = s_Fb heigt, 200 screenheight */ + /* 600 = s_Fb heigt, 200 screenheight */ + /* 2048 =s_Fb width, 320 screenwidth */ + y_offset = (((s_Fb.yres - (SCREENHEIGHT * fb_scaling)) * s_Fb.bits_per_pixel/8)) / 2; + x_offset = (((s_Fb.xres - (SCREENWIDTH * fb_scaling)) * s_Fb.bits_per_pixel/8)) / 2; // XXX: siglent FB hack: /4 instead of /2, since it seems to handle the resolution in a funny way + //x_offset = 0; + x_offset_end = ((s_Fb.xres - (SCREENWIDTH * fb_scaling)) * s_Fb.bits_per_pixel/8) - x_offset; + + /* DRAW SCREEN */ + line_in = (unsigned char *) I_VideoBuffer; + line_out = (unsigned char *) DG_ScreenBuffer; + + y = SCREENHEIGHT; + + while (y--) + { + int i; + for (i = 0; i < fb_scaling; i++) { + line_out += x_offset; +#ifdef CMAP256 + if (fb_scaling == 1) { + memcpy(line_out, line_in, SCREENWIDTH); /* fb_width is bigger than Doom SCREENWIDTH... */ + } else { + int j; + + for (j = 0; j < SCREENWIDTH; j++) { + int k; + for (k = 0; k < fb_scaling; k++) { + line_out[j * fb_scaling + k] = line_in[j]; + } + } + } +#else + //cmap_to_rgb565((void*)line_out, (void*)line_in, SCREENWIDTH); + cmap_to_fb((void*)line_out, (void*)line_in, SCREENWIDTH); +#endif + line_out += (SCREENWIDTH * fb_scaling * (s_Fb.bits_per_pixel/8)) + x_offset_end; + } + line_in += SCREENWIDTH; + } + + DG_DrawFrame(); +} + +// +// I_ReadScreen +// +void I_ReadScreen (byte* scr) +{ + memcpy (scr, I_VideoBuffer, SCREENWIDTH * SCREENHEIGHT); +} + +// +// I_SetPalette +// +#define GFX_RGB565(r, g, b) ((((r & 0xF8) >> 3) << 11) | (((g & 0xFC) >> 2) << 5) | ((b & 0xF8) >> 3)) +#define GFX_RGB565_R(color) ((0xF800 & color) >> 11) +#define GFX_RGB565_G(color) ((0x07E0 & color) >> 5) +#define GFX_RGB565_B(color) (0x001F & color) + +void I_SetPalette (byte* palette) +{ + int i; + //col_t* c; + + //for (i = 0; i < 256; i++) + //{ + // c = (col_t*)palette; + + // rgb565_palette[i] = GFX_RGB565(gammatable[usegamma][c->r], + // gammatable[usegamma][c->g], + // gammatable[usegamma][c->b]); + + // palette += 3; + //} + + + /* performance boost: + * map to the right pixel format over here! */ + + for (i=0; i<256; ++i ) { + colors[i].a = 0; + colors[i].r = gammatable[usegamma][*palette++]; + colors[i].g = gammatable[usegamma][*palette++]; + colors[i].b = gammatable[usegamma][*palette++]; + } + +#ifdef CMAP256 + + palette_changed = true; + +#endif // CMAP256 +} + +// Given an RGB value, find the closest matching palette index. + +int I_GetPaletteIndex (int r, int g, int b) +{ + int best, best_diff, diff; + int i; + col_t color; + + printf("I_GetPaletteIndex\n"); + + best = 0; + best_diff = INT_MAX; + + for (i = 0; i < 256; ++i) + { + color.r = GFX_RGB565_R(rgb565_palette[i]); + color.g = GFX_RGB565_G(rgb565_palette[i]); + color.b = GFX_RGB565_B(rgb565_palette[i]); + + diff = (r - color.r) * (r - color.r) + + (g - color.g) * (g - color.g) + + (b - color.b) * (b - color.b); + + if (diff < best_diff) + { + best = i; + best_diff = diff; + } + + if (diff == 0) + { + break; + } + } + + return best; +} + +void I_BeginRead (void) +{ +} + +void I_EndRead (void) +{ +} + +void I_SetWindowTitle (char *title) +{ + DG_SetWindowTitle(title); +} + +void I_GraphicsCheckCommandLine (void) +{ +} + +void I_SetGrabMouseCallback (grabmouse_callback_t func) +{ +} + +void I_EnableLoadingDisk(void) +{ +} + +void I_BindVideoVariables (void) +{ +} + +void I_DisplayFPSDots (boolean dots_on) +{ +} + +void I_CheckIsScreensaver (void) +{ +} diff --git a/src/kernel/userland/doom/i_video.h b/src/kernel/userland/doom/i_video.h new file mode 100644 index 0000000..3b466b7 --- /dev/null +++ b/src/kernel/userland/doom/i_video.h @@ -0,0 +1,175 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// System specific interface stuff. +// + + +#ifndef __I_VIDEO__ +#define __I_VIDEO__ + +#include "doomtype.h" + +// Screen width and height. + +#define SCREENWIDTH 320 +#define SCREENHEIGHT 200 + +// Screen width used for "squash" scale functions + +#define SCREENWIDTH_4_3 256 + +// Screen height used for "stretch" scale functions. + +#define SCREENHEIGHT_4_3 240 + +#define MAX_MOUSE_BUTTONS 8 + +typedef struct +{ + // Screen width and height + + int width; + int height; + + // Initialisation function to call when using this mode. + // Called with a pointer to the Doom palette. + // + // If NULL, no init function is called. + + void (*InitMode)(byte *palette); + + // Function to call to draw the screen from the source buffer. + // Return true if draw was successful. + + boolean (*DrawScreen)(int x1, int y1, int x2, int y2); + + // If true, this is a "poor quality" mode. The autoadjust + // code should always attempt to use a different mode to this + // mode in fullscreen. + // + // Some notes about what "poor quality" means in this context: + // + // The aspect ratio correction works by scaling up to the larger + // screen size and then drawing pixels on the edges between the + // "virtual" pixels so that an authentic blocky look-and-feel is + // achieved. + // + // For a mode like 640x480, you can imagine the grid of the + // "original" pixels spaced out, with extra "blurry" pixels added + // in the space between them to fill it out. However, when you're + // running at a resolution like 320x240, this is not the case. In + // the small screen case, every single pixel has to be a blurry + // interpolation of two pixels from the original image. + // + // If you run in 320x240 and put your face up close to the screen + // you can see this: it's particularly visible in the small yellow + // status bar numbers for example. Overall it still looks "okay" + // but there's an obvious - albeit small - deterioration in + // quality. + // + // Once you get to 640x480, all the original pixels are there at + // least once and it's okay (the higher the resolution, the more + // accurate it is). When I first wrote the code I was expecting + // that even higher resolutions would be needed before it would + // look acceptable, but it turned out to be okay even at 640x480. + + boolean poor_quality; +} screen_mode_t; + +typedef boolean (*grabmouse_callback_t)(void); + +// Called by D_DoomMain, +// determines the hardware configuration +// and sets up the video mode +void I_InitGraphics (void); + +void I_GraphicsCheckCommandLine(void); + +void I_ShutdownGraphics(void); + +// Takes full 8 bit values. +void I_SetPalette (byte* palette); +int I_GetPaletteIndex(int r, int g, int b); + +void I_UpdateNoBlit (void); +void I_FinishUpdate (void); + +void I_ReadScreen (byte* scr); + +void I_BeginRead (void); + +void I_SetWindowTitle(char *title); + +void I_CheckIsScreensaver(void); +void I_SetGrabMouseCallback(grabmouse_callback_t func); + +void I_DisplayFPSDots(boolean dots_on); +void I_BindVideoVariables(void); + +void I_InitWindowTitle(void); +void I_InitWindowIcon(void); + +// Called before processing any tics in a frame (just after displaying a frame). +// Time consuming syncronous operations are performed here (joystick reading). + +void I_StartFrame (void); + +// Called before processing each tic in a frame. +// Quick syncronous operations are performed here. + +void I_StartTic (void); + +// Enable the loading disk image displayed when reading from disk. + +void I_EnableLoadingDisk(void); + +void I_EndRead (void); + +struct color { + uint32_t b:8; + uint32_t g:8; + uint32_t r:8; + uint32_t a:8; +}; + + +extern char *video_driver; +extern boolean screenvisible; + +extern int mouse_acceleration; +extern int mouse_threshold; +extern int vanilla_keyboard_mapping; +extern boolean screensaver_mode; +extern int usegamma; +extern byte *I_VideoBuffer; + +extern int screen_width; +extern int screen_height; +extern int screen_bpp; +extern int fullscreen; +extern int aspect_ratio_correct; + +extern int show_diskicon; +extern int diskicon_readbytes; + +#ifdef CMAP256 + +extern boolean palette_changed; +extern struct color colors[256]; + +#endif // CMAP256 + +#endif diff --git a/src/kernel/userland/doom/icon.c b/src/kernel/userland/doom/icon.c new file mode 100644 index 0000000..14c607c --- /dev/null +++ b/src/kernel/userland/doom/icon.c @@ -0,0 +1,262 @@ +static int icon_w = 32; +static int icon_h = 32; + +static unsigned char icon_data[] = { + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xa2,0x86,0x73, + 0xa9,0x8d,0x7a, 0xbd,0xa0,0x8c, 0xda,0xba,0xa0, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0xbd,0x8d,0x67, 0xd7,0xb9,0xa5, 0xeb,0xd8,0xcd, 0xd3,0xbf,0xae, + 0xbd,0xa0,0x8c, 0xeb,0xd8,0xcd, 0xc2,0x9d,0x86, 0x95,0x5d,0x38, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x9b,0x7e,0x66, + 0xc5,0x9e,0x81, 0xd3,0xb3,0x99, 0xd4,0xac,0x8e, 0xee,0xdc,0xd1, + 0xb9,0x93,0x76, 0xad,0x71,0x45, 0xd4,0xac,0x8e, 0xb9,0x93,0x76, + 0xa3,0x77,0x58, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x39,0x1d,0x2d, 0x55,0x20,0x22, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0xda,0xb4,0x9c, 0xd3,0xa3,0x83, + 0xaf,0x91,0x78, 0xa7,0x83,0x6d, 0xc4,0xa7,0x93, 0xee,0xe2,0xd5, + 0xeb,0xd8,0xcd, 0x8c,0x60,0x3d, 0x9b,0x7e,0x66, 0xce,0x9f,0x7e, + 0x84,0x54,0x33, 0xba,0x83,0x5b, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x24,0x1c,0x35, 0x00,0x0f,0x32, 0x29,0x18,0x2e, 0x55,0x20,0x22, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0xd3,0xb3,0x99, 0xca,0x93,0x6f, 0xc4,0x94,0x6e, + 0x98,0x66,0x45, 0x78,0x50,0x2d, 0xd7,0xb9,0xa5, 0xee,0xdc,0xd1, + 0xc4,0x9b,0x79, 0xa1,0x6d,0x45, 0x66,0x40,0x24, 0xb8,0x7a,0x4f, + 0xcf,0xa6,0x83, 0x98,0x6d,0x4e, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x30,0x1c,0x2f, 0x08,0x13,0x30, 0x00,0x0f,0x32, 0x00,0x0f,0x32, + 0x39,0x1d,0x2d, 0x52,0x1c,0x1a, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x9e,0x7b,0x65, 0xb9,0x89,0x64, 0xaa,0x7d,0x5e, 0x9e,0x72,0x53, + 0x88,0x5e,0x40, 0xc4,0xa7,0x93, 0xb9,0x89,0x64, 0x90,0x6c,0x51, + 0x7f,0x50,0x2f, 0x90,0x5e,0x37, 0x75,0x4d,0x30, 0x7f,0x50,0x2f, + 0xd3,0xa3,0x83, 0xd4,0xac,0x8e, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x29,0x18,0x2e, 0x08,0x13,0x30, 0x08,0x13,0x30, 0x08,0x13,0x30, + 0x00,0x0f,0x32, 0x08,0x13,0x30, 0x49,0x1e,0x2b, 0x49,0x1a,0x16, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xda,0xba,0xa0, + 0xd4,0xac,0x8e, 0xc4,0x9b,0x79, 0xaa,0x7d,0x5e, 0xaa,0x7d,0x5e, + 0xbd,0xa0,0x8c, 0x8c,0x60,0x3d, 0x70,0x49,0x2c, 0x89,0x60,0x42, + 0x57,0x38,0x20, 0x6c,0x45,0x29, 0x66,0x40,0x24, 0x51,0x35,0x21, + 0x7e,0x55,0x38, 0xce,0x9f,0x7e, 0xc2,0x8a,0x61, 0x00,0x00,0x00, + 0x30,0x1c,0x2f, 0x00,0x0f,0x32, 0x00,0x0f,0x32, 0x08,0x13,0x30, + 0x00,0x0f,0x32, 0x00,0x0f,0x32, 0x08,0x13,0x30, 0x08,0x13,0x30, + 0x59,0x25,0x2b, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xcb,0x9a,0x74, + 0xb7,0x81,0x58, 0x8c,0x60,0x3d, 0x79,0x4b,0x2b, 0x89,0x58,0x31, + 0x89,0x58,0x31, 0x7f,0x50,0x2f, 0x9e,0x64,0x39, 0x75,0x4c,0x2a, + 0x51,0x35,0x21, 0x84,0x54,0x33, 0x54,0x36,0x1d, 0x98,0x6d,0x4e, + 0xb4,0x7f,0x5c, 0xba,0x83,0x5b, 0xb8,0x7a,0x4f, 0x00,0x00,0x00, + 0x3e,0x28,0x36, 0x08,0x13,0x30, 0x00,0x0f,0x32, 0x08,0x13,0x30, + 0x00,0x0f,0x32, 0x00,0x0f,0x32, 0x00,0x0f,0x32, 0x08,0x13,0x30, + 0x20,0x1f,0x36, 0x35,0x19,0x12, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xc2,0x8a,0x61, + 0x89,0x60,0x42, 0x84,0x54,0x33, 0x7f,0x50,0x2f, 0x86,0x56,0x35, + 0x8d,0x5b,0x35, 0x75,0x4c,0x2a, 0x8d,0x5b,0x35, 0x5c,0x38,0x22, + 0x5e,0x3f,0x27, 0x75,0x4d,0x30, 0x9d,0x64,0x3f, 0x75,0x4c,0x2a, + 0x78,0x50,0x2d, 0x7f,0x50,0x2f, 0xb7,0x81,0x58, 0x00,0x00,0x00, + 0x46,0x35,0x42, 0x04,0x18,0x3a, 0x08,0x13,0x30, 0x5d,0x30,0x28, + 0x20,0x1f,0x36, 0x08,0x13,0x30, 0x08,0x13,0x30, 0x04,0x18,0x3a, + 0x19,0x1c,0x37, 0x3a,0x1d,0x16, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x91,0x5f,0x3e, + 0x84,0x54,0x33, 0x89,0x58,0x31, 0x7e,0x6e,0x64, 0xc4,0x94,0x6e, + 0x78,0x50,0x2d, 0x92,0x6f,0x59, 0xa1,0x7c,0x60, 0x9c,0x6f,0x4b, + 0x8d,0x5b,0x35, 0xbc,0x7f,0x53, 0xad,0x71,0x45, 0x75,0x4d,0x30, + 0x51,0x35,0x21, 0x4b,0x2f,0x1c, 0x70,0x49,0x2c, 0x00,0x00,0x00, + 0x59,0x44,0x4d, 0x1e,0x28,0x42, 0x1e,0x28,0x42, 0x48,0x19,0x10, + 0x42,0x19,0x12, 0x53,0x2b,0x30, 0x0c,0x26,0x48, 0x1e,0x28,0x42, + 0x24,0x2d,0x48, 0x5f,0x2c,0x1d, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x89,0x58,0x31, + 0xa1,0x84,0x6c, 0xc4,0x94,0x6e, 0x88,0x64,0x44, 0xb5,0x8f,0x73, + 0x9e,0x72,0x53, 0xa1,0x6d,0x45, 0x93,0x60,0x3a, 0xad,0x71,0x45, + 0xb4,0x7f,0x5c, 0xbd,0x8d,0x67, 0xc2,0x8a,0x61, 0xb3,0x76,0x4b, + 0xb8,0x7a,0x4f, 0x88,0x64,0x44, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x61,0x50,0x52, 0x1c,0x34,0x52, 0x1c,0x34,0x52, 0x54,0x27,0x16, + 0x29,0x17,0x09, 0x5d,0x30,0x28, 0x1c,0x34,0x52, 0x1c,0x34,0x52, + 0x24,0x35,0x4f, 0x69,0x34,0x24, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xa7,0x83,0x6d, + 0xac,0x86,0x6a, 0x74,0x47,0x2d, 0x84,0x54,0x33, 0x5c,0x38,0x22, + 0x54,0x36,0x1d, 0x6c,0x45,0x29, 0x96,0x63,0x3c, 0xa3,0x6e,0x41, + 0xb3,0x76,0x4b, 0xb3,0x76,0x4b, 0xa2,0x68,0x3d, 0x7c,0x4e,0x2d, + 0x63,0x3e,0x27, 0x96,0x63,0x3c, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x6b,0x5d,0x59, 0x22,0x42,0x5f, 0x22,0x42,0x5f, 0x5d,0x34,0x1a, + 0x38,0x23,0x0f, 0x5c,0x38,0x22, 0x22,0x42,0x5f, 0x22,0x42,0x5f, + 0x2c,0x45,0x5e, 0x6f,0x3e,0x2b, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xb7,0x81,0x58, + 0x98,0x74,0x59, 0x6c,0x45,0x29, 0x4b,0x35,0x25, 0x78,0x50,0x2d, + 0x78,0x50,0x2d, 0x78,0x50,0x2d, 0x7f,0x50,0x2f, 0x84,0x54,0x33, + 0x8d,0x5b,0x35, 0x96,0x63,0x3c, 0x74,0x47,0x2d, 0x65,0x45,0x26, + 0x65,0x45,0x26, 0x7c,0x4e,0x2d, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x77,0x69,0x64, 0x30,0x4e,0x6d, 0x32,0x52,0x6b, 0x69,0x42,0x26, + 0x49,0x31,0x11, 0x6c,0x47,0x2f, 0x27,0x4f,0x6d, 0x27,0x4f,0x6d, + 0x32,0x52,0x6b, 0x70,0x49,0x2c, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xb7,0x81,0x58, + 0x8a,0x5a,0x39, 0x8a,0x5a,0x39, 0x91,0x5f,0x3e, 0x5e,0x3f,0x27, + 0x5c,0x38,0x22, 0x89,0x58,0x31, 0x89,0x58,0x31, 0x95,0x5d,0x38, + 0x9d,0x64,0x3f, 0x65,0x45,0x26, 0x4b,0x2f,0x1c, 0x7f,0x50,0x2f, + 0x78,0x50,0x2d, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x77,0x69,0x64, 0x36,0x5c,0x7a, 0x3e,0x5e,0x78, 0x76,0x52,0x2e, + 0x5d,0x42,0x22, 0x75,0x4d,0x30, 0x36,0x5c,0x7a, 0x36,0x5c,0x7a, + 0x3e,0x5e,0x78, 0x74,0x47,0x2d, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x89,0x58,0x31, 0x63,0x3e,0x27, 0xa8,0x6d,0x42, 0x4b,0x2f,0x1c, + 0x65,0x45,0x26, 0x70,0x49,0x2c, 0x51,0x35,0x21, 0x78,0x50,0x2d, + 0x42,0x30,0x14, 0x49,0x31,0x11, 0x59,0x44,0x22, 0x7c,0x5c,0x2a, + 0x8a,0x71,0x27, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x71,0x67,0x5c, 0x37,0x52,0x66, 0x3f,0x55,0x64, 0x80,0x55,0x27, + 0x64,0x4c,0x1f, 0x7e,0x59,0x2e, 0x37,0x52,0x66, 0x37,0x52,0x66, + 0x3f,0x55,0x64, 0x6c,0x47,0x2f, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x70,0x49,0x2c, 0x65,0x45,0x26, 0x65,0x45,0x26, 0x63,0x3e,0x27, + 0x76,0x4d,0x25, 0x5d,0x42,0x22, 0x5e,0x3f,0x27, 0x4e,0x43,0x18, + 0x4e,0x43,0x18, 0x6a,0x5b,0x1c, 0x4e,0x43,0x18, 0x5f,0x51,0x19, + 0x8a,0x76,0x2a, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x63,0x38,0x19, 0x34,0x11,0x04, 0x32,0x0f,0x00, 0x86,0x58,0x1e, + 0x74,0x59,0x25, 0x86,0x58,0x1e, 0x34,0x15,0x00, 0x32,0x0f,0x00, + 0x34,0x15,0x00, 0x4e,0x31,0x18, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x7e,0x6c,0x27, 0x5a,0x4d,0x1c, + 0x4d,0x3e,0x15, 0x67,0x58,0x21, 0x5a,0x4d,0x1c, 0x57,0x4b,0x1a, + 0x5f,0x51,0x19, 0x64,0x55,0x1e, 0x5a,0x4d,0x1c, 0x8a,0x71,0x27, + 0x8e,0x79,0x26, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x63,0x38,0x19, 0x34,0x11,0x04, 0x32,0x0f,0x00, 0x8d,0x63,0x1f, + 0x83,0x66,0x2c, 0x8d,0x63,0x1f, 0x32,0x0f,0x00, 0x35,0x19,0x12, + 0x34,0x11,0x04, 0x53,0x3a,0x20, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0xac,0x93,0x39, 0x76,0x65,0x20, + 0x6a,0x5b,0x1c, 0x6a,0x5b,0x1c, 0x67,0x58,0x21, 0x4e,0x43,0x18, + 0x4e,0x43,0x18, 0x9b,0x85,0x32, 0xb8,0x9e,0x3c, 0xb1,0x8d,0x36, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x63,0x38,0x19, 0x34,0x15,0x00, 0x32,0x0f,0x00, 0x8d,0x63,0x1f, + 0x83,0x66,0x2c, 0x8d,0x63,0x1f, 0x32,0x0f,0x00, 0x32,0x0f,0x00, + 0x34,0x15,0x00, 0x53,0x3a,0x20, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0xb0,0x96,0x34, 0x76,0x65,0x20, + 0x7e,0x66,0x23, 0x8e,0x79,0x26, 0x8a,0x71,0x27, 0x7e,0x6c,0x27, + 0x8a,0x71,0x27, 0x8a,0x71,0x27, 0xb0,0x96,0x34, 0x98,0x82,0x2f, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x75,0x4c,0x2a, 0x38,0x19,0x05, 0x38,0x19,0x05, 0x99,0x6d,0x22, + 0x96,0x70,0x2a, 0x99,0x6d,0x22, 0x38,0x19,0x05, 0x38,0x19,0x05, + 0x38,0x19,0x05, 0x59,0x3f,0x25, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0xac,0x93,0x39, 0x8a,0x76,0x2a, + 0x7e,0x66,0x23, 0x76,0x65,0x20, 0x93,0x7d,0x2a, 0x82,0x6f,0x23, + 0x9f,0x88,0x35, 0xb8,0xa0,0x4c, 0xb8,0xa0,0x4c, 0xc4,0xa8,0x3f, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x7c,0x5c,0x2a, 0x52,0x2e,0x0d, 0x52,0x2e,0x0d, 0xa4,0x7b,0x27, + 0xa1,0x80,0x37, 0x9f,0x77,0x1a, 0x52,0x2e,0x0d, 0x52,0x2e,0x0d, + 0x52,0x2e,0x0d, 0x5f,0x4e,0x2a, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x86,0x72,0x26, + 0xac,0x93,0x39, 0x97,0x82,0x36, 0xb1,0x8d,0x36, 0xac,0x93,0x39, + 0x97,0x82,0x36, 0xa4,0x8c,0x32, 0xbd,0xa2,0x41, 0x8a,0x71,0x27, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x8b,0x6d,0x32, 0x66,0x44,0x14, 0x6d,0x4a,0x20, 0xab,0x86,0x29, + 0xb1,0x8d,0x36, 0xa4,0x7b,0x27, 0x66,0x44,0x14, 0x66,0x44,0x14, + 0x66,0x44,0x14, 0x69,0x56,0x2c, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xac,0x93,0x31, + 0x7e,0x6c,0x27, 0x9f,0x88,0x35, 0x97,0x82,0x36, 0x7e,0x66,0x23, + 0x7e,0x66,0x23, 0xb2,0x99,0x3f, 0xbd,0xa2,0x41, 0x8a,0x76,0x2a, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x99,0x7a,0x38, 0x86,0x58,0x1e, 0x7f,0x59,0x22, 0xb2,0x8b,0x1c, + 0x94,0x6e,0x21, 0x7f,0x59,0x22, 0x7f,0x59,0x22, 0x7f,0x59,0x22, + 0x7f,0x59,0x22, 0x69,0x56,0x2c, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xac,0x93,0x39, + 0x8a,0x71,0x27, 0xb4,0x9c,0x48, 0x7e,0x66,0x23, 0xac,0x93,0x39, + 0x9c,0x87,0x3a, 0x9c,0x87,0x3a, 0xbd,0xa2,0x41, 0x8e,0x79,0x26, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0xa8,0x86,0x3d, 0x96,0x70,0x2a, 0x96,0x70,0x2a, 0x96,0x70,0x2a, + 0x96,0x70,0x2a, 0x96,0x70,0x2a, 0x96,0x70,0x2a, 0x96,0x70,0x2a, + 0xa1,0x80,0x37, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0xb4,0x9c,0x48, + 0xac,0x93,0x31, 0x93,0x7d,0x2a, 0xbd,0xa3,0x48, 0x93,0x7d,0x2a, + 0xb8,0xa0,0x4c, 0xb4,0x9c,0x48, 0xcc,0xa5,0x4e, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0xa8,0x86,0x3d, 0xaf,0x85,0x31, 0xaf,0x85,0x31, 0xaf,0x85,0x31, + 0xaf,0x85,0x31, 0xaf,0x85,0x31, 0xaf,0x85,0x31, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x97,0x82,0x36, 0xb4,0x9c,0x48, 0xb2,0x99,0x3f, 0xb4,0x9c,0x48, + 0xb0,0x96,0x34, 0xc1,0xa7,0x4c, 0x9b,0x84,0x2a, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0xbd,0x9e,0x4c, 0xc7,0x9a,0x3f, 0xc7,0x9a,0x3f, 0xc7,0x9a,0x3f, + 0xc7,0x9a,0x3f, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x9b,0x85,0x32, 0xa7,0x8e,0x2c, 0xac,0x93,0x39, 0xb5,0x91,0x41, + 0x76,0x65,0x20, 0xa7,0x8e,0x2c, 0xb4,0x9a,0x38, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0xcc,0xa5,0x4e, 0xe0,0xaf,0x45, 0xe0,0xaf,0x45, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0xa4,0x8c,0x32, 0xb8,0x9e,0x44, 0x86,0x72,0x26, 0x9f,0x88,0x35, + 0xbd,0xa3,0x48, 0x9b,0x85,0x32, 0xa3,0x81,0x32, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0xd1,0xae,0x4e, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0xb0,0x97,0x3c, 0xb4,0x9a,0x38, 0xac,0x94,0x41, 0xb2,0x99,0x3f, + 0xb4,0x9a,0x38, 0xb8,0x9e,0x3c, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0xcc,0xa5,0x4e, 0xa6,0x8f,0x3c, 0xb2,0x99,0x3f, 0xb4,0x9c,0x48, + 0xa8,0x90,0x36, 0x9f,0x88,0x35, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, + +}; diff --git a/src/kernel/userland/doom/info.c b/src/kernel/userland/doom/info.c new file mode 100644 index 0000000..9389e84 --- /dev/null +++ b/src/kernel/userland/doom/info.c @@ -0,0 +1,4662 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Thing frame/state LUT, +// generated by multigen utilitiy. +// This one is the original DOOM version, preserved. +// + +#include +#include + +// Data. +#include "sounds.h" +#include "m_fixed.h" + +#include "info.h" + +#include "p_mobj.h" + +char *sprnames[] = { + "TROO","SHTG","PUNG","PISG","PISF","SHTF","SHT2","CHGG","CHGF","MISG", + "MISF","SAWG","PLSG","PLSF","BFGG","BFGF","BLUD","PUFF","BAL1","BAL2", + "PLSS","PLSE","MISL","BFS1","BFE1","BFE2","TFOG","IFOG","PLAY","POSS", + "SPOS","VILE","FIRE","FATB","FBXP","SKEL","MANF","FATT","CPOS","SARG", + "HEAD","BAL7","BOSS","BOS2","SKUL","SPID","BSPI","APLS","APBX","CYBR", + "PAIN","SSWV","KEEN","BBRN","BOSF","ARM1","ARM2","BAR1","BEXP","FCAN", + "BON1","BON2","BKEY","RKEY","YKEY","BSKU","RSKU","YSKU","STIM","MEDI", + "SOUL","PINV","PSTR","PINS","MEGA","SUIT","PMAP","PVIS","CLIP","AMMO", + "ROCK","BROK","CELL","CELP","SHEL","SBOX","BPAK","BFUG","MGUN","CSAW", + "LAUN","PLAS","SHOT","SGN2","COLU","SMT2","GOR1","POL2","POL5","POL4", + "POL3","POL1","POL6","GOR2","GOR3","GOR4","GOR5","SMIT","COL1","COL2", + "COL3","COL4","CAND","CBRA","COL6","TRE1","TRE2","ELEC","CEYE","FSKU", + "COL5","TBLU","TGRN","TRED","SMBT","SMGT","SMRT","HDB1","HDB2","HDB3", + "HDB4","HDB5","HDB6","POB1","POB2","BRS1","TLMP","TLP2", NULL +}; + + +// Doesn't work with g++, needs actionf_p1 +void A_Light0(); +void A_WeaponReady(); +void A_Lower(); +void A_Raise(); +void A_Punch(); +void A_ReFire(); +void A_FirePistol(); +void A_Light1(); +void A_FireShotgun(); +void A_Light2(); +void A_FireShotgun2(); +void A_CheckReload(); +void A_OpenShotgun2(); +void A_LoadShotgun2(); +void A_CloseShotgun2(); +void A_FireCGun(); +void A_GunFlash(); +void A_FireMissile(); +void A_Saw(); +void A_FirePlasma(); +void A_BFGsound(); +void A_FireBFG(); +void A_BFGSpray(); +void A_Explode(); +void A_Pain(); +void A_PlayerScream(); +void A_Fall(); +void A_XScream(); +void A_Look(); +void A_Chase(); +void A_FaceTarget(); +void A_PosAttack(); +void A_Scream(); +void A_SPosAttack(); +void A_VileChase(); +void A_VileStart(); +void A_VileTarget(); +void A_VileAttack(); +void A_StartFire(); +void A_Fire(); +void A_FireCrackle(); +void A_Tracer(); +void A_SkelWhoosh(); +void A_SkelFist(); +void A_SkelMissile(); +void A_FatRaise(); +void A_FatAttack1(); +void A_FatAttack2(); +void A_FatAttack3(); +void A_BossDeath(); +void A_CPosAttack(); +void A_CPosRefire(); +void A_TroopAttack(); +void A_SargAttack(); +void A_HeadAttack(); +void A_BruisAttack(); +void A_SkullAttack(); +void A_Metal(); +void A_SpidRefire(); +void A_BabyMetal(); +void A_BspiAttack(); +void A_Hoof(); +void A_CyberAttack(); +void A_PainAttack(); +void A_PainDie(); +void A_KeenDie(); +void A_BrainPain(); +void A_BrainScream(); +void A_BrainDie(); +void A_BrainAwake(); +void A_BrainSpit(); +void A_SpawnSound(); +void A_SpawnFly(); +void A_BrainExplode(); + + +state_t states[NUMSTATES] = { + {SPR_TROO,0,-1,{NULL},S_NULL,0,0}, // S_NULL + {SPR_SHTG,4,0,{A_Light0},S_NULL,0,0}, // S_LIGHTDONE + {SPR_PUNG,0,1,{A_WeaponReady},S_PUNCH,0,0}, // S_PUNCH + {SPR_PUNG,0,1,{A_Lower},S_PUNCHDOWN,0,0}, // S_PUNCHDOWN + {SPR_PUNG,0,1,{A_Raise},S_PUNCHUP,0,0}, // S_PUNCHUP + {SPR_PUNG,1,4,{NULL},S_PUNCH2,0,0}, // S_PUNCH1 + {SPR_PUNG,2,4,{A_Punch},S_PUNCH3,0,0}, // S_PUNCH2 + {SPR_PUNG,3,5,{NULL},S_PUNCH4,0,0}, // S_PUNCH3 + {SPR_PUNG,2,4,{NULL},S_PUNCH5,0,0}, // S_PUNCH4 + {SPR_PUNG,1,5,{A_ReFire},S_PUNCH,0,0}, // S_PUNCH5 + {SPR_PISG,0,1,{A_WeaponReady},S_PISTOL,0,0},// S_PISTOL + {SPR_PISG,0,1,{A_Lower},S_PISTOLDOWN,0,0}, // S_PISTOLDOWN + {SPR_PISG,0,1,{A_Raise},S_PISTOLUP,0,0}, // S_PISTOLUP + {SPR_PISG,0,4,{NULL},S_PISTOL2,0,0}, // S_PISTOL1 + {SPR_PISG,1,6,{A_FirePistol},S_PISTOL3,0,0},// S_PISTOL2 + {SPR_PISG,2,4,{NULL},S_PISTOL4,0,0}, // S_PISTOL3 + {SPR_PISG,1,5,{A_ReFire},S_PISTOL,0,0}, // S_PISTOL4 + {SPR_PISF,32768,7,{A_Light1},S_LIGHTDONE,0,0}, // S_PISTOLFLASH + {SPR_SHTG,0,1,{A_WeaponReady},S_SGUN,0,0}, // S_SGUN + {SPR_SHTG,0,1,{A_Lower},S_SGUNDOWN,0,0}, // S_SGUNDOWN + {SPR_SHTG,0,1,{A_Raise},S_SGUNUP,0,0}, // S_SGUNUP + {SPR_SHTG,0,3,{NULL},S_SGUN2,0,0}, // S_SGUN1 + {SPR_SHTG,0,7,{A_FireShotgun},S_SGUN3,0,0}, // S_SGUN2 + {SPR_SHTG,1,5,{NULL},S_SGUN4,0,0}, // S_SGUN3 + {SPR_SHTG,2,5,{NULL},S_SGUN5,0,0}, // S_SGUN4 + {SPR_SHTG,3,4,{NULL},S_SGUN6,0,0}, // S_SGUN5 + {SPR_SHTG,2,5,{NULL},S_SGUN7,0,0}, // S_SGUN6 + {SPR_SHTG,1,5,{NULL},S_SGUN8,0,0}, // S_SGUN7 + {SPR_SHTG,0,3,{NULL},S_SGUN9,0,0}, // S_SGUN8 + {SPR_SHTG,0,7,{A_ReFire},S_SGUN,0,0}, // S_SGUN9 + {SPR_SHTF,32768,4,{A_Light1},S_SGUNFLASH2,0,0}, // S_SGUNFLASH1 + {SPR_SHTF,32769,3,{A_Light2},S_LIGHTDONE,0,0}, // S_SGUNFLASH2 + {SPR_SHT2,0,1,{A_WeaponReady},S_DSGUN,0,0}, // S_DSGUN + {SPR_SHT2,0,1,{A_Lower},S_DSGUNDOWN,0,0}, // S_DSGUNDOWN + {SPR_SHT2,0,1,{A_Raise},S_DSGUNUP,0,0}, // S_DSGUNUP + {SPR_SHT2,0,3,{NULL},S_DSGUN2,0,0}, // S_DSGUN1 + {SPR_SHT2,0,7,{A_FireShotgun2},S_DSGUN3,0,0}, // S_DSGUN2 + {SPR_SHT2,1,7,{NULL},S_DSGUN4,0,0}, // S_DSGUN3 + {SPR_SHT2,2,7,{A_CheckReload},S_DSGUN5,0,0}, // S_DSGUN4 + {SPR_SHT2,3,7,{A_OpenShotgun2},S_DSGUN6,0,0}, // S_DSGUN5 + {SPR_SHT2,4,7,{NULL},S_DSGUN7,0,0}, // S_DSGUN6 + {SPR_SHT2,5,7,{A_LoadShotgun2},S_DSGUN8,0,0}, // S_DSGUN7 + {SPR_SHT2,6,6,{NULL},S_DSGUN9,0,0}, // S_DSGUN8 + {SPR_SHT2,7,6,{A_CloseShotgun2},S_DSGUN10,0,0}, // S_DSGUN9 + {SPR_SHT2,0,5,{A_ReFire},S_DSGUN,0,0}, // S_DSGUN10 + {SPR_SHT2,1,7,{NULL},S_DSNR2,0,0}, // S_DSNR1 + {SPR_SHT2,0,3,{NULL},S_DSGUNDOWN,0,0}, // S_DSNR2 + {SPR_SHT2,32776,5,{A_Light1},S_DSGUNFLASH2,0,0}, // S_DSGUNFLASH1 + {SPR_SHT2,32777,4,{A_Light2},S_LIGHTDONE,0,0}, // S_DSGUNFLASH2 + {SPR_CHGG,0,1,{A_WeaponReady},S_CHAIN,0,0}, // S_CHAIN + {SPR_CHGG,0,1,{A_Lower},S_CHAINDOWN,0,0}, // S_CHAINDOWN + {SPR_CHGG,0,1,{A_Raise},S_CHAINUP,0,0}, // S_CHAINUP + {SPR_CHGG,0,4,{A_FireCGun},S_CHAIN2,0,0}, // S_CHAIN1 + {SPR_CHGG,1,4,{A_FireCGun},S_CHAIN3,0,0}, // S_CHAIN2 + {SPR_CHGG,1,0,{A_ReFire},S_CHAIN,0,0}, // S_CHAIN3 + {SPR_CHGF,32768,5,{A_Light1},S_LIGHTDONE,0,0}, // S_CHAINFLASH1 + {SPR_CHGF,32769,5,{A_Light2},S_LIGHTDONE,0,0}, // S_CHAINFLASH2 + {SPR_MISG,0,1,{A_WeaponReady},S_MISSILE,0,0}, // S_MISSILE + {SPR_MISG,0,1,{A_Lower},S_MISSILEDOWN,0,0}, // S_MISSILEDOWN + {SPR_MISG,0,1,{A_Raise},S_MISSILEUP,0,0}, // S_MISSILEUP + {SPR_MISG,1,8,{A_GunFlash},S_MISSILE2,0,0}, // S_MISSILE1 + {SPR_MISG,1,12,{A_FireMissile},S_MISSILE3,0,0}, // S_MISSILE2 + {SPR_MISG,1,0,{A_ReFire},S_MISSILE,0,0}, // S_MISSILE3 + {SPR_MISF,32768,3,{A_Light1},S_MISSILEFLASH2,0,0}, // S_MISSILEFLASH1 + {SPR_MISF,32769,4,{NULL},S_MISSILEFLASH3,0,0}, // S_MISSILEFLASH2 + {SPR_MISF,32770,4,{A_Light2},S_MISSILEFLASH4,0,0}, // S_MISSILEFLASH3 + {SPR_MISF,32771,4,{A_Light2},S_LIGHTDONE,0,0}, // S_MISSILEFLASH4 + {SPR_SAWG,2,4,{A_WeaponReady},S_SAWB,0,0}, // S_SAW + {SPR_SAWG,3,4,{A_WeaponReady},S_SAW,0,0}, // S_SAWB + {SPR_SAWG,2,1,{A_Lower},S_SAWDOWN,0,0}, // S_SAWDOWN + {SPR_SAWG,2,1,{A_Raise},S_SAWUP,0,0}, // S_SAWUP + {SPR_SAWG,0,4,{A_Saw},S_SAW2,0,0}, // S_SAW1 + {SPR_SAWG,1,4,{A_Saw},S_SAW3,0,0}, // S_SAW2 + {SPR_SAWG,1,0,{A_ReFire},S_SAW,0,0}, // S_SAW3 + {SPR_PLSG,0,1,{A_WeaponReady},S_PLASMA,0,0}, // S_PLASMA + {SPR_PLSG,0,1,{A_Lower},S_PLASMADOWN,0,0}, // S_PLASMADOWN + {SPR_PLSG,0,1,{A_Raise},S_PLASMAUP,0,0}, // S_PLASMAUP + {SPR_PLSG,0,3,{A_FirePlasma},S_PLASMA2,0,0}, // S_PLASMA1 + {SPR_PLSG,1,20,{A_ReFire},S_PLASMA,0,0}, // S_PLASMA2 + {SPR_PLSF,32768,4,{A_Light1},S_LIGHTDONE,0,0}, // S_PLASMAFLASH1 + {SPR_PLSF,32769,4,{A_Light1},S_LIGHTDONE,0,0}, // S_PLASMAFLASH2 + {SPR_BFGG,0,1,{A_WeaponReady},S_BFG,0,0}, // S_BFG + {SPR_BFGG,0,1,{A_Lower},S_BFGDOWN,0,0}, // S_BFGDOWN + {SPR_BFGG,0,1,{A_Raise},S_BFGUP,0,0}, // S_BFGUP + {SPR_BFGG,0,20,{A_BFGsound},S_BFG2,0,0}, // S_BFG1 + {SPR_BFGG,1,10,{A_GunFlash},S_BFG3,0,0}, // S_BFG2 + {SPR_BFGG,1,10,{A_FireBFG},S_BFG4,0,0}, // S_BFG3 + {SPR_BFGG,1,20,{A_ReFire},S_BFG,0,0}, // S_BFG4 + {SPR_BFGF,32768,11,{A_Light1},S_BFGFLASH2,0,0}, // S_BFGFLASH1 + {SPR_BFGF,32769,6,{A_Light2},S_LIGHTDONE,0,0}, // S_BFGFLASH2 + {SPR_BLUD,2,8,{NULL},S_BLOOD2,0,0}, // S_BLOOD1 + {SPR_BLUD,1,8,{NULL},S_BLOOD3,0,0}, // S_BLOOD2 + {SPR_BLUD,0,8,{NULL},S_NULL,0,0}, // S_BLOOD3 + {SPR_PUFF,32768,4,{NULL},S_PUFF2,0,0}, // S_PUFF1 + {SPR_PUFF,1,4,{NULL},S_PUFF3,0,0}, // S_PUFF2 + {SPR_PUFF,2,4,{NULL},S_PUFF4,0,0}, // S_PUFF3 + {SPR_PUFF,3,4,{NULL},S_NULL,0,0}, // S_PUFF4 + {SPR_BAL1,32768,4,{NULL},S_TBALL2,0,0}, // S_TBALL1 + {SPR_BAL1,32769,4,{NULL},S_TBALL1,0,0}, // S_TBALL2 + {SPR_BAL1,32770,6,{NULL},S_TBALLX2,0,0}, // S_TBALLX1 + {SPR_BAL1,32771,6,{NULL},S_TBALLX3,0,0}, // S_TBALLX2 + {SPR_BAL1,32772,6,{NULL},S_NULL,0,0}, // S_TBALLX3 + {SPR_BAL2,32768,4,{NULL},S_RBALL2,0,0}, // S_RBALL1 + {SPR_BAL2,32769,4,{NULL},S_RBALL1,0,0}, // S_RBALL2 + {SPR_BAL2,32770,6,{NULL},S_RBALLX2,0,0}, // S_RBALLX1 + {SPR_BAL2,32771,6,{NULL},S_RBALLX3,0,0}, // S_RBALLX2 + {SPR_BAL2,32772,6,{NULL},S_NULL,0,0}, // S_RBALLX3 + {SPR_PLSS,32768,6,{NULL},S_PLASBALL2,0,0}, // S_PLASBALL + {SPR_PLSS,32769,6,{NULL},S_PLASBALL,0,0}, // S_PLASBALL2 + {SPR_PLSE,32768,4,{NULL},S_PLASEXP2,0,0}, // S_PLASEXP + {SPR_PLSE,32769,4,{NULL},S_PLASEXP3,0,0}, // S_PLASEXP2 + {SPR_PLSE,32770,4,{NULL},S_PLASEXP4,0,0}, // S_PLASEXP3 + {SPR_PLSE,32771,4,{NULL},S_PLASEXP5,0,0}, // S_PLASEXP4 + {SPR_PLSE,32772,4,{NULL},S_NULL,0,0}, // S_PLASEXP5 + {SPR_MISL,32768,1,{NULL},S_ROCKET,0,0}, // S_ROCKET + {SPR_BFS1,32768,4,{NULL},S_BFGSHOT2,0,0}, // S_BFGSHOT + {SPR_BFS1,32769,4,{NULL},S_BFGSHOT,0,0}, // S_BFGSHOT2 + {SPR_BFE1,32768,8,{NULL},S_BFGLAND2,0,0}, // S_BFGLAND + {SPR_BFE1,32769,8,{NULL},S_BFGLAND3,0,0}, // S_BFGLAND2 + {SPR_BFE1,32770,8,{A_BFGSpray},S_BFGLAND4,0,0}, // S_BFGLAND3 + {SPR_BFE1,32771,8,{NULL},S_BFGLAND5,0,0}, // S_BFGLAND4 + {SPR_BFE1,32772,8,{NULL},S_BFGLAND6,0,0}, // S_BFGLAND5 + {SPR_BFE1,32773,8,{NULL},S_NULL,0,0}, // S_BFGLAND6 + {SPR_BFE2,32768,8,{NULL},S_BFGEXP2,0,0}, // S_BFGEXP + {SPR_BFE2,32769,8,{NULL},S_BFGEXP3,0,0}, // S_BFGEXP2 + {SPR_BFE2,32770,8,{NULL},S_BFGEXP4,0,0}, // S_BFGEXP3 + {SPR_BFE2,32771,8,{NULL},S_NULL,0,0}, // S_BFGEXP4 + {SPR_MISL,32769,8,{A_Explode},S_EXPLODE2,0,0}, // S_EXPLODE1 + {SPR_MISL,32770,6,{NULL},S_EXPLODE3,0,0}, // S_EXPLODE2 + {SPR_MISL,32771,4,{NULL},S_NULL,0,0}, // S_EXPLODE3 + {SPR_TFOG,32768,6,{NULL},S_TFOG01,0,0}, // S_TFOG + {SPR_TFOG,32769,6,{NULL},S_TFOG02,0,0}, // S_TFOG01 + {SPR_TFOG,32768,6,{NULL},S_TFOG2,0,0}, // S_TFOG02 + {SPR_TFOG,32769,6,{NULL},S_TFOG3,0,0}, // S_TFOG2 + {SPR_TFOG,32770,6,{NULL},S_TFOG4,0,0}, // S_TFOG3 + {SPR_TFOG,32771,6,{NULL},S_TFOG5,0,0}, // S_TFOG4 + {SPR_TFOG,32772,6,{NULL},S_TFOG6,0,0}, // S_TFOG5 + {SPR_TFOG,32773,6,{NULL},S_TFOG7,0,0}, // S_TFOG6 + {SPR_TFOG,32774,6,{NULL},S_TFOG8,0,0}, // S_TFOG7 + {SPR_TFOG,32775,6,{NULL},S_TFOG9,0,0}, // S_TFOG8 + {SPR_TFOG,32776,6,{NULL},S_TFOG10,0,0}, // S_TFOG9 + {SPR_TFOG,32777,6,{NULL},S_NULL,0,0}, // S_TFOG10 + {SPR_IFOG,32768,6,{NULL},S_IFOG01,0,0}, // S_IFOG + {SPR_IFOG,32769,6,{NULL},S_IFOG02,0,0}, // S_IFOG01 + {SPR_IFOG,32768,6,{NULL},S_IFOG2,0,0}, // S_IFOG02 + {SPR_IFOG,32769,6,{NULL},S_IFOG3,0,0}, // S_IFOG2 + {SPR_IFOG,32770,6,{NULL},S_IFOG4,0,0}, // S_IFOG3 + {SPR_IFOG,32771,6,{NULL},S_IFOG5,0,0}, // S_IFOG4 + {SPR_IFOG,32772,6,{NULL},S_NULL,0,0}, // S_IFOG5 + {SPR_PLAY,0,-1,{NULL},S_NULL,0,0}, // S_PLAY + {SPR_PLAY,0,4,{NULL},S_PLAY_RUN2,0,0}, // S_PLAY_RUN1 + {SPR_PLAY,1,4,{NULL},S_PLAY_RUN3,0,0}, // S_PLAY_RUN2 + {SPR_PLAY,2,4,{NULL},S_PLAY_RUN4,0,0}, // S_PLAY_RUN3 + {SPR_PLAY,3,4,{NULL},S_PLAY_RUN1,0,0}, // S_PLAY_RUN4 + {SPR_PLAY,4,12,{NULL},S_PLAY,0,0}, // S_PLAY_ATK1 + {SPR_PLAY,32773,6,{NULL},S_PLAY_ATK1,0,0}, // S_PLAY_ATK2 + {SPR_PLAY,6,4,{NULL},S_PLAY_PAIN2,0,0}, // S_PLAY_PAIN + {SPR_PLAY,6,4,{A_Pain},S_PLAY,0,0}, // S_PLAY_PAIN2 + {SPR_PLAY,7,10,{NULL},S_PLAY_DIE2,0,0}, // S_PLAY_DIE1 + {SPR_PLAY,8,10,{A_PlayerScream},S_PLAY_DIE3,0,0}, // S_PLAY_DIE2 + {SPR_PLAY,9,10,{A_Fall},S_PLAY_DIE4,0,0}, // S_PLAY_DIE3 + {SPR_PLAY,10,10,{NULL},S_PLAY_DIE5,0,0}, // S_PLAY_DIE4 + {SPR_PLAY,11,10,{NULL},S_PLAY_DIE6,0,0}, // S_PLAY_DIE5 + {SPR_PLAY,12,10,{NULL},S_PLAY_DIE7,0,0}, // S_PLAY_DIE6 + {SPR_PLAY,13,-1,{NULL},S_NULL,0,0}, // S_PLAY_DIE7 + {SPR_PLAY,14,5,{NULL},S_PLAY_XDIE2,0,0}, // S_PLAY_XDIE1 + {SPR_PLAY,15,5,{A_XScream},S_PLAY_XDIE3,0,0}, // S_PLAY_XDIE2 + {SPR_PLAY,16,5,{A_Fall},S_PLAY_XDIE4,0,0}, // S_PLAY_XDIE3 + {SPR_PLAY,17,5,{NULL},S_PLAY_XDIE5,0,0}, // S_PLAY_XDIE4 + {SPR_PLAY,18,5,{NULL},S_PLAY_XDIE6,0,0}, // S_PLAY_XDIE5 + {SPR_PLAY,19,5,{NULL},S_PLAY_XDIE7,0,0}, // S_PLAY_XDIE6 + {SPR_PLAY,20,5,{NULL},S_PLAY_XDIE8,0,0}, // S_PLAY_XDIE7 + {SPR_PLAY,21,5,{NULL},S_PLAY_XDIE9,0,0}, // S_PLAY_XDIE8 + {SPR_PLAY,22,-1,{NULL},S_NULL,0,0}, // S_PLAY_XDIE9 + {SPR_POSS,0,10,{A_Look},S_POSS_STND2,0,0}, // S_POSS_STND + {SPR_POSS,1,10,{A_Look},S_POSS_STND,0,0}, // S_POSS_STND2 + {SPR_POSS,0,4,{A_Chase},S_POSS_RUN2,0,0}, // S_POSS_RUN1 + {SPR_POSS,0,4,{A_Chase},S_POSS_RUN3,0,0}, // S_POSS_RUN2 + {SPR_POSS,1,4,{A_Chase},S_POSS_RUN4,0,0}, // S_POSS_RUN3 + {SPR_POSS,1,4,{A_Chase},S_POSS_RUN5,0,0}, // S_POSS_RUN4 + {SPR_POSS,2,4,{A_Chase},S_POSS_RUN6,0,0}, // S_POSS_RUN5 + {SPR_POSS,2,4,{A_Chase},S_POSS_RUN7,0,0}, // S_POSS_RUN6 + {SPR_POSS,3,4,{A_Chase},S_POSS_RUN8,0,0}, // S_POSS_RUN7 + {SPR_POSS,3,4,{A_Chase},S_POSS_RUN1,0,0}, // S_POSS_RUN8 + {SPR_POSS,4,10,{A_FaceTarget},S_POSS_ATK2,0,0}, // S_POSS_ATK1 + {SPR_POSS,5,8,{A_PosAttack},S_POSS_ATK3,0,0}, // S_POSS_ATK2 + {SPR_POSS,4,8,{NULL},S_POSS_RUN1,0,0}, // S_POSS_ATK3 + {SPR_POSS,6,3,{NULL},S_POSS_PAIN2,0,0}, // S_POSS_PAIN + {SPR_POSS,6,3,{A_Pain},S_POSS_RUN1,0,0}, // S_POSS_PAIN2 + {SPR_POSS,7,5,{NULL},S_POSS_DIE2,0,0}, // S_POSS_DIE1 + {SPR_POSS,8,5,{A_Scream},S_POSS_DIE3,0,0}, // S_POSS_DIE2 + {SPR_POSS,9,5,{A_Fall},S_POSS_DIE4,0,0}, // S_POSS_DIE3 + {SPR_POSS,10,5,{NULL},S_POSS_DIE5,0,0}, // S_POSS_DIE4 + {SPR_POSS,11,-1,{NULL},S_NULL,0,0}, // S_POSS_DIE5 + {SPR_POSS,12,5,{NULL},S_POSS_XDIE2,0,0}, // S_POSS_XDIE1 + {SPR_POSS,13,5,{A_XScream},S_POSS_XDIE3,0,0}, // S_POSS_XDIE2 + {SPR_POSS,14,5,{A_Fall},S_POSS_XDIE4,0,0}, // S_POSS_XDIE3 + {SPR_POSS,15,5,{NULL},S_POSS_XDIE5,0,0}, // S_POSS_XDIE4 + {SPR_POSS,16,5,{NULL},S_POSS_XDIE6,0,0}, // S_POSS_XDIE5 + {SPR_POSS,17,5,{NULL},S_POSS_XDIE7,0,0}, // S_POSS_XDIE6 + {SPR_POSS,18,5,{NULL},S_POSS_XDIE8,0,0}, // S_POSS_XDIE7 + {SPR_POSS,19,5,{NULL},S_POSS_XDIE9,0,0}, // S_POSS_XDIE8 + {SPR_POSS,20,-1,{NULL},S_NULL,0,0}, // S_POSS_XDIE9 + {SPR_POSS,10,5,{NULL},S_POSS_RAISE2,0,0}, // S_POSS_RAISE1 + {SPR_POSS,9,5,{NULL},S_POSS_RAISE3,0,0}, // S_POSS_RAISE2 + {SPR_POSS,8,5,{NULL},S_POSS_RAISE4,0,0}, // S_POSS_RAISE3 + {SPR_POSS,7,5,{NULL},S_POSS_RUN1,0,0}, // S_POSS_RAISE4 + {SPR_SPOS,0,10,{A_Look},S_SPOS_STND2,0,0}, // S_SPOS_STND + {SPR_SPOS,1,10,{A_Look},S_SPOS_STND,0,0}, // S_SPOS_STND2 + {SPR_SPOS,0,3,{A_Chase},S_SPOS_RUN2,0,0}, // S_SPOS_RUN1 + {SPR_SPOS,0,3,{A_Chase},S_SPOS_RUN3,0,0}, // S_SPOS_RUN2 + {SPR_SPOS,1,3,{A_Chase},S_SPOS_RUN4,0,0}, // S_SPOS_RUN3 + {SPR_SPOS,1,3,{A_Chase},S_SPOS_RUN5,0,0}, // S_SPOS_RUN4 + {SPR_SPOS,2,3,{A_Chase},S_SPOS_RUN6,0,0}, // S_SPOS_RUN5 + {SPR_SPOS,2,3,{A_Chase},S_SPOS_RUN7,0,0}, // S_SPOS_RUN6 + {SPR_SPOS,3,3,{A_Chase},S_SPOS_RUN8,0,0}, // S_SPOS_RUN7 + {SPR_SPOS,3,3,{A_Chase},S_SPOS_RUN1,0,0}, // S_SPOS_RUN8 + {SPR_SPOS,4,10,{A_FaceTarget},S_SPOS_ATK2,0,0}, // S_SPOS_ATK1 + {SPR_SPOS,32773,10,{A_SPosAttack},S_SPOS_ATK3,0,0}, // S_SPOS_ATK2 + {SPR_SPOS,4,10,{NULL},S_SPOS_RUN1,0,0}, // S_SPOS_ATK3 + {SPR_SPOS,6,3,{NULL},S_SPOS_PAIN2,0,0}, // S_SPOS_PAIN + {SPR_SPOS,6,3,{A_Pain},S_SPOS_RUN1,0,0}, // S_SPOS_PAIN2 + {SPR_SPOS,7,5,{NULL},S_SPOS_DIE2,0,0}, // S_SPOS_DIE1 + {SPR_SPOS,8,5,{A_Scream},S_SPOS_DIE3,0,0}, // S_SPOS_DIE2 + {SPR_SPOS,9,5,{A_Fall},S_SPOS_DIE4,0,0}, // S_SPOS_DIE3 + {SPR_SPOS,10,5,{NULL},S_SPOS_DIE5,0,0}, // S_SPOS_DIE4 + {SPR_SPOS,11,-1,{NULL},S_NULL,0,0}, // S_SPOS_DIE5 + {SPR_SPOS,12,5,{NULL},S_SPOS_XDIE2,0,0}, // S_SPOS_XDIE1 + {SPR_SPOS,13,5,{A_XScream},S_SPOS_XDIE3,0,0}, // S_SPOS_XDIE2 + {SPR_SPOS,14,5,{A_Fall},S_SPOS_XDIE4,0,0}, // S_SPOS_XDIE3 + {SPR_SPOS,15,5,{NULL},S_SPOS_XDIE5,0,0}, // S_SPOS_XDIE4 + {SPR_SPOS,16,5,{NULL},S_SPOS_XDIE6,0,0}, // S_SPOS_XDIE5 + {SPR_SPOS,17,5,{NULL},S_SPOS_XDIE7,0,0}, // S_SPOS_XDIE6 + {SPR_SPOS,18,5,{NULL},S_SPOS_XDIE8,0,0}, // S_SPOS_XDIE7 + {SPR_SPOS,19,5,{NULL},S_SPOS_XDIE9,0,0}, // S_SPOS_XDIE8 + {SPR_SPOS,20,-1,{NULL},S_NULL,0,0}, // S_SPOS_XDIE9 + {SPR_SPOS,11,5,{NULL},S_SPOS_RAISE2,0,0}, // S_SPOS_RAISE1 + {SPR_SPOS,10,5,{NULL},S_SPOS_RAISE3,0,0}, // S_SPOS_RAISE2 + {SPR_SPOS,9,5,{NULL},S_SPOS_RAISE4,0,0}, // S_SPOS_RAISE3 + {SPR_SPOS,8,5,{NULL},S_SPOS_RAISE5,0,0}, // S_SPOS_RAISE4 + {SPR_SPOS,7,5,{NULL},S_SPOS_RUN1,0,0}, // S_SPOS_RAISE5 + {SPR_VILE,0,10,{A_Look},S_VILE_STND2,0,0}, // S_VILE_STND + {SPR_VILE,1,10,{A_Look},S_VILE_STND,0,0}, // S_VILE_STND2 + {SPR_VILE,0,2,{A_VileChase},S_VILE_RUN2,0,0}, // S_VILE_RUN1 + {SPR_VILE,0,2,{A_VileChase},S_VILE_RUN3,0,0}, // S_VILE_RUN2 + {SPR_VILE,1,2,{A_VileChase},S_VILE_RUN4,0,0}, // S_VILE_RUN3 + {SPR_VILE,1,2,{A_VileChase},S_VILE_RUN5,0,0}, // S_VILE_RUN4 + {SPR_VILE,2,2,{A_VileChase},S_VILE_RUN6,0,0}, // S_VILE_RUN5 + {SPR_VILE,2,2,{A_VileChase},S_VILE_RUN7,0,0}, // S_VILE_RUN6 + {SPR_VILE,3,2,{A_VileChase},S_VILE_RUN8,0,0}, // S_VILE_RUN7 + {SPR_VILE,3,2,{A_VileChase},S_VILE_RUN9,0,0}, // S_VILE_RUN8 + {SPR_VILE,4,2,{A_VileChase},S_VILE_RUN10,0,0}, // S_VILE_RUN9 + {SPR_VILE,4,2,{A_VileChase},S_VILE_RUN11,0,0}, // S_VILE_RUN10 + {SPR_VILE,5,2,{A_VileChase},S_VILE_RUN12,0,0}, // S_VILE_RUN11 + {SPR_VILE,5,2,{A_VileChase},S_VILE_RUN1,0,0}, // S_VILE_RUN12 + {SPR_VILE,32774,0,{A_VileStart},S_VILE_ATK2,0,0}, // S_VILE_ATK1 + {SPR_VILE,32774,10,{A_FaceTarget},S_VILE_ATK3,0,0}, // S_VILE_ATK2 + {SPR_VILE,32775,8,{A_VileTarget},S_VILE_ATK4,0,0}, // S_VILE_ATK3 + {SPR_VILE,32776,8,{A_FaceTarget},S_VILE_ATK5,0,0}, // S_VILE_ATK4 + {SPR_VILE,32777,8,{A_FaceTarget},S_VILE_ATK6,0,0}, // S_VILE_ATK5 + {SPR_VILE,32778,8,{A_FaceTarget},S_VILE_ATK7,0,0}, // S_VILE_ATK6 + {SPR_VILE,32779,8,{A_FaceTarget},S_VILE_ATK8,0,0}, // S_VILE_ATK7 + {SPR_VILE,32780,8,{A_FaceTarget},S_VILE_ATK9,0,0}, // S_VILE_ATK8 + {SPR_VILE,32781,8,{A_FaceTarget},S_VILE_ATK10,0,0}, // S_VILE_ATK9 + {SPR_VILE,32782,8,{A_VileAttack},S_VILE_ATK11,0,0}, // S_VILE_ATK10 + {SPR_VILE,32783,20,{NULL},S_VILE_RUN1,0,0}, // S_VILE_ATK11 + {SPR_VILE,32794,10,{NULL},S_VILE_HEAL2,0,0}, // S_VILE_HEAL1 + {SPR_VILE,32795,10,{NULL},S_VILE_HEAL3,0,0}, // S_VILE_HEAL2 + {SPR_VILE,32796,10,{NULL},S_VILE_RUN1,0,0}, // S_VILE_HEAL3 + {SPR_VILE,16,5,{NULL},S_VILE_PAIN2,0,0}, // S_VILE_PAIN + {SPR_VILE,16,5,{A_Pain},S_VILE_RUN1,0,0}, // S_VILE_PAIN2 + {SPR_VILE,16,7,{NULL},S_VILE_DIE2,0,0}, // S_VILE_DIE1 + {SPR_VILE,17,7,{A_Scream},S_VILE_DIE3,0,0}, // S_VILE_DIE2 + {SPR_VILE,18,7,{A_Fall},S_VILE_DIE4,0,0}, // S_VILE_DIE3 + {SPR_VILE,19,7,{NULL},S_VILE_DIE5,0,0}, // S_VILE_DIE4 + {SPR_VILE,20,7,{NULL},S_VILE_DIE6,0,0}, // S_VILE_DIE5 + {SPR_VILE,21,7,{NULL},S_VILE_DIE7,0,0}, // S_VILE_DIE6 + {SPR_VILE,22,7,{NULL},S_VILE_DIE8,0,0}, // S_VILE_DIE7 + {SPR_VILE,23,5,{NULL},S_VILE_DIE9,0,0}, // S_VILE_DIE8 + {SPR_VILE,24,5,{NULL},S_VILE_DIE10,0,0}, // S_VILE_DIE9 + {SPR_VILE,25,-1,{NULL},S_NULL,0,0}, // S_VILE_DIE10 + {SPR_FIRE,32768,2,{A_StartFire},S_FIRE2,0,0}, // S_FIRE1 + {SPR_FIRE,32769,2,{A_Fire},S_FIRE3,0,0}, // S_FIRE2 + {SPR_FIRE,32768,2,{A_Fire},S_FIRE4,0,0}, // S_FIRE3 + {SPR_FIRE,32769,2,{A_Fire},S_FIRE5,0,0}, // S_FIRE4 + {SPR_FIRE,32770,2,{A_FireCrackle},S_FIRE6,0,0}, // S_FIRE5 + {SPR_FIRE,32769,2,{A_Fire},S_FIRE7,0,0}, // S_FIRE6 + {SPR_FIRE,32770,2,{A_Fire},S_FIRE8,0,0}, // S_FIRE7 + {SPR_FIRE,32769,2,{A_Fire},S_FIRE9,0,0}, // S_FIRE8 + {SPR_FIRE,32770,2,{A_Fire},S_FIRE10,0,0}, // S_FIRE9 + {SPR_FIRE,32771,2,{A_Fire},S_FIRE11,0,0}, // S_FIRE10 + {SPR_FIRE,32770,2,{A_Fire},S_FIRE12,0,0}, // S_FIRE11 + {SPR_FIRE,32771,2,{A_Fire},S_FIRE13,0,0}, // S_FIRE12 + {SPR_FIRE,32770,2,{A_Fire},S_FIRE14,0,0}, // S_FIRE13 + {SPR_FIRE,32771,2,{A_Fire},S_FIRE15,0,0}, // S_FIRE14 + {SPR_FIRE,32772,2,{A_Fire},S_FIRE16,0,0}, // S_FIRE15 + {SPR_FIRE,32771,2,{A_Fire},S_FIRE17,0,0}, // S_FIRE16 + {SPR_FIRE,32772,2,{A_Fire},S_FIRE18,0,0}, // S_FIRE17 + {SPR_FIRE,32771,2,{A_Fire},S_FIRE19,0,0}, // S_FIRE18 + {SPR_FIRE,32772,2,{A_FireCrackle},S_FIRE20,0,0}, // S_FIRE19 + {SPR_FIRE,32773,2,{A_Fire},S_FIRE21,0,0}, // S_FIRE20 + {SPR_FIRE,32772,2,{A_Fire},S_FIRE22,0,0}, // S_FIRE21 + {SPR_FIRE,32773,2,{A_Fire},S_FIRE23,0,0}, // S_FIRE22 + {SPR_FIRE,32772,2,{A_Fire},S_FIRE24,0,0}, // S_FIRE23 + {SPR_FIRE,32773,2,{A_Fire},S_FIRE25,0,0}, // S_FIRE24 + {SPR_FIRE,32774,2,{A_Fire},S_FIRE26,0,0}, // S_FIRE25 + {SPR_FIRE,32775,2,{A_Fire},S_FIRE27,0,0}, // S_FIRE26 + {SPR_FIRE,32774,2,{A_Fire},S_FIRE28,0,0}, // S_FIRE27 + {SPR_FIRE,32775,2,{A_Fire},S_FIRE29,0,0}, // S_FIRE28 + {SPR_FIRE,32774,2,{A_Fire},S_FIRE30,0,0}, // S_FIRE29 + {SPR_FIRE,32775,2,{A_Fire},S_NULL,0,0}, // S_FIRE30 + {SPR_PUFF,1,4,{NULL},S_SMOKE2,0,0}, // S_SMOKE1 + {SPR_PUFF,2,4,{NULL},S_SMOKE3,0,0}, // S_SMOKE2 + {SPR_PUFF,1,4,{NULL},S_SMOKE4,0,0}, // S_SMOKE3 + {SPR_PUFF,2,4,{NULL},S_SMOKE5,0,0}, // S_SMOKE4 + {SPR_PUFF,3,4,{NULL},S_NULL,0,0}, // S_SMOKE5 + {SPR_FATB,32768,2,{A_Tracer},S_TRACER2,0,0}, // S_TRACER + {SPR_FATB,32769,2,{A_Tracer},S_TRACER,0,0}, // S_TRACER2 + {SPR_FBXP,32768,8,{NULL},S_TRACEEXP2,0,0}, // S_TRACEEXP1 + {SPR_FBXP,32769,6,{NULL},S_TRACEEXP3,0,0}, // S_TRACEEXP2 + {SPR_FBXP,32770,4,{NULL},S_NULL,0,0}, // S_TRACEEXP3 + {SPR_SKEL,0,10,{A_Look},S_SKEL_STND2,0,0}, // S_SKEL_STND + {SPR_SKEL,1,10,{A_Look},S_SKEL_STND,0,0}, // S_SKEL_STND2 + {SPR_SKEL,0,2,{A_Chase},S_SKEL_RUN2,0,0}, // S_SKEL_RUN1 + {SPR_SKEL,0,2,{A_Chase},S_SKEL_RUN3,0,0}, // S_SKEL_RUN2 + {SPR_SKEL,1,2,{A_Chase},S_SKEL_RUN4,0,0}, // S_SKEL_RUN3 + {SPR_SKEL,1,2,{A_Chase},S_SKEL_RUN5,0,0}, // S_SKEL_RUN4 + {SPR_SKEL,2,2,{A_Chase},S_SKEL_RUN6,0,0}, // S_SKEL_RUN5 + {SPR_SKEL,2,2,{A_Chase},S_SKEL_RUN7,0,0}, // S_SKEL_RUN6 + {SPR_SKEL,3,2,{A_Chase},S_SKEL_RUN8,0,0}, // S_SKEL_RUN7 + {SPR_SKEL,3,2,{A_Chase},S_SKEL_RUN9,0,0}, // S_SKEL_RUN8 + {SPR_SKEL,4,2,{A_Chase},S_SKEL_RUN10,0,0}, // S_SKEL_RUN9 + {SPR_SKEL,4,2,{A_Chase},S_SKEL_RUN11,0,0}, // S_SKEL_RUN10 + {SPR_SKEL,5,2,{A_Chase},S_SKEL_RUN12,0,0}, // S_SKEL_RUN11 + {SPR_SKEL,5,2,{A_Chase},S_SKEL_RUN1,0,0}, // S_SKEL_RUN12 + {SPR_SKEL,6,0,{A_FaceTarget},S_SKEL_FIST2,0,0}, // S_SKEL_FIST1 + {SPR_SKEL,6,6,{A_SkelWhoosh},S_SKEL_FIST3,0,0}, // S_SKEL_FIST2 + {SPR_SKEL,7,6,{A_FaceTarget},S_SKEL_FIST4,0,0}, // S_SKEL_FIST3 + {SPR_SKEL,8,6,{A_SkelFist},S_SKEL_RUN1,0,0}, // S_SKEL_FIST4 + {SPR_SKEL,32777,0,{A_FaceTarget},S_SKEL_MISS2,0,0}, // S_SKEL_MISS1 + {SPR_SKEL,32777,10,{A_FaceTarget},S_SKEL_MISS3,0,0}, // S_SKEL_MISS2 + {SPR_SKEL,10,10,{A_SkelMissile},S_SKEL_MISS4,0,0}, // S_SKEL_MISS3 + {SPR_SKEL,10,10,{A_FaceTarget},S_SKEL_RUN1,0,0}, // S_SKEL_MISS4 + {SPR_SKEL,11,5,{NULL},S_SKEL_PAIN2,0,0}, // S_SKEL_PAIN + {SPR_SKEL,11,5,{A_Pain},S_SKEL_RUN1,0,0}, // S_SKEL_PAIN2 + {SPR_SKEL,11,7,{NULL},S_SKEL_DIE2,0,0}, // S_SKEL_DIE1 + {SPR_SKEL,12,7,{NULL},S_SKEL_DIE3,0,0}, // S_SKEL_DIE2 + {SPR_SKEL,13,7,{A_Scream},S_SKEL_DIE4,0,0}, // S_SKEL_DIE3 + {SPR_SKEL,14,7,{A_Fall},S_SKEL_DIE5,0,0}, // S_SKEL_DIE4 + {SPR_SKEL,15,7,{NULL},S_SKEL_DIE6,0,0}, // S_SKEL_DIE5 + {SPR_SKEL,16,-1,{NULL},S_NULL,0,0}, // S_SKEL_DIE6 + {SPR_SKEL,16,5,{NULL},S_SKEL_RAISE2,0,0}, // S_SKEL_RAISE1 + {SPR_SKEL,15,5,{NULL},S_SKEL_RAISE3,0,0}, // S_SKEL_RAISE2 + {SPR_SKEL,14,5,{NULL},S_SKEL_RAISE4,0,0}, // S_SKEL_RAISE3 + {SPR_SKEL,13,5,{NULL},S_SKEL_RAISE5,0,0}, // S_SKEL_RAISE4 + {SPR_SKEL,12,5,{NULL},S_SKEL_RAISE6,0,0}, // S_SKEL_RAISE5 + {SPR_SKEL,11,5,{NULL},S_SKEL_RUN1,0,0}, // S_SKEL_RAISE6 + {SPR_MANF,32768,4,{NULL},S_FATSHOT2,0,0}, // S_FATSHOT1 + {SPR_MANF,32769,4,{NULL},S_FATSHOT1,0,0}, // S_FATSHOT2 + {SPR_MISL,32769,8,{NULL},S_FATSHOTX2,0,0}, // S_FATSHOTX1 + {SPR_MISL,32770,6,{NULL},S_FATSHOTX3,0,0}, // S_FATSHOTX2 + {SPR_MISL,32771,4,{NULL},S_NULL,0,0}, // S_FATSHOTX3 + {SPR_FATT,0,15,{A_Look},S_FATT_STND2,0,0}, // S_FATT_STND + {SPR_FATT,1,15,{A_Look},S_FATT_STND,0,0}, // S_FATT_STND2 + {SPR_FATT,0,4,{A_Chase},S_FATT_RUN2,0,0}, // S_FATT_RUN1 + {SPR_FATT,0,4,{A_Chase},S_FATT_RUN3,0,0}, // S_FATT_RUN2 + {SPR_FATT,1,4,{A_Chase},S_FATT_RUN4,0,0}, // S_FATT_RUN3 + {SPR_FATT,1,4,{A_Chase},S_FATT_RUN5,0,0}, // S_FATT_RUN4 + {SPR_FATT,2,4,{A_Chase},S_FATT_RUN6,0,0}, // S_FATT_RUN5 + {SPR_FATT,2,4,{A_Chase},S_FATT_RUN7,0,0}, // S_FATT_RUN6 + {SPR_FATT,3,4,{A_Chase},S_FATT_RUN8,0,0}, // S_FATT_RUN7 + {SPR_FATT,3,4,{A_Chase},S_FATT_RUN9,0,0}, // S_FATT_RUN8 + {SPR_FATT,4,4,{A_Chase},S_FATT_RUN10,0,0}, // S_FATT_RUN9 + {SPR_FATT,4,4,{A_Chase},S_FATT_RUN11,0,0}, // S_FATT_RUN10 + {SPR_FATT,5,4,{A_Chase},S_FATT_RUN12,0,0}, // S_FATT_RUN11 + {SPR_FATT,5,4,{A_Chase},S_FATT_RUN1,0,0}, // S_FATT_RUN12 + {SPR_FATT,6,20,{A_FatRaise},S_FATT_ATK2,0,0}, // S_FATT_ATK1 + {SPR_FATT,32775,10,{A_FatAttack1},S_FATT_ATK3,0,0}, // S_FATT_ATK2 + {SPR_FATT,8,5,{A_FaceTarget},S_FATT_ATK4,0,0}, // S_FATT_ATK3 + {SPR_FATT,6,5,{A_FaceTarget},S_FATT_ATK5,0,0}, // S_FATT_ATK4 + {SPR_FATT,32775,10,{A_FatAttack2},S_FATT_ATK6,0,0}, // S_FATT_ATK5 + {SPR_FATT,8,5,{A_FaceTarget},S_FATT_ATK7,0,0}, // S_FATT_ATK6 + {SPR_FATT,6,5,{A_FaceTarget},S_FATT_ATK8,0,0}, // S_FATT_ATK7 + {SPR_FATT,32775,10,{A_FatAttack3},S_FATT_ATK9,0,0}, // S_FATT_ATK8 + {SPR_FATT,8,5,{A_FaceTarget},S_FATT_ATK10,0,0}, // S_FATT_ATK9 + {SPR_FATT,6,5,{A_FaceTarget},S_FATT_RUN1,0,0}, // S_FATT_ATK10 + {SPR_FATT,9,3,{NULL},S_FATT_PAIN2,0,0}, // S_FATT_PAIN + {SPR_FATT,9,3,{A_Pain},S_FATT_RUN1,0,0}, // S_FATT_PAIN2 + {SPR_FATT,10,6,{NULL},S_FATT_DIE2,0,0}, // S_FATT_DIE1 + {SPR_FATT,11,6,{A_Scream},S_FATT_DIE3,0,0}, // S_FATT_DIE2 + {SPR_FATT,12,6,{A_Fall},S_FATT_DIE4,0,0}, // S_FATT_DIE3 + {SPR_FATT,13,6,{NULL},S_FATT_DIE5,0,0}, // S_FATT_DIE4 + {SPR_FATT,14,6,{NULL},S_FATT_DIE6,0,0}, // S_FATT_DIE5 + {SPR_FATT,15,6,{NULL},S_FATT_DIE7,0,0}, // S_FATT_DIE6 + {SPR_FATT,16,6,{NULL},S_FATT_DIE8,0,0}, // S_FATT_DIE7 + {SPR_FATT,17,6,{NULL},S_FATT_DIE9,0,0}, // S_FATT_DIE8 + {SPR_FATT,18,6,{NULL},S_FATT_DIE10,0,0}, // S_FATT_DIE9 + {SPR_FATT,19,-1,{A_BossDeath},S_NULL,0,0}, // S_FATT_DIE10 + {SPR_FATT,17,5,{NULL},S_FATT_RAISE2,0,0}, // S_FATT_RAISE1 + {SPR_FATT,16,5,{NULL},S_FATT_RAISE3,0,0}, // S_FATT_RAISE2 + {SPR_FATT,15,5,{NULL},S_FATT_RAISE4,0,0}, // S_FATT_RAISE3 + {SPR_FATT,14,5,{NULL},S_FATT_RAISE5,0,0}, // S_FATT_RAISE4 + {SPR_FATT,13,5,{NULL},S_FATT_RAISE6,0,0}, // S_FATT_RAISE5 + {SPR_FATT,12,5,{NULL},S_FATT_RAISE7,0,0}, // S_FATT_RAISE6 + {SPR_FATT,11,5,{NULL},S_FATT_RAISE8,0,0}, // S_FATT_RAISE7 + {SPR_FATT,10,5,{NULL},S_FATT_RUN1,0,0}, // S_FATT_RAISE8 + {SPR_CPOS,0,10,{A_Look},S_CPOS_STND2,0,0}, // S_CPOS_STND + {SPR_CPOS,1,10,{A_Look},S_CPOS_STND,0,0}, // S_CPOS_STND2 + {SPR_CPOS,0,3,{A_Chase},S_CPOS_RUN2,0,0}, // S_CPOS_RUN1 + {SPR_CPOS,0,3,{A_Chase},S_CPOS_RUN3,0,0}, // S_CPOS_RUN2 + {SPR_CPOS,1,3,{A_Chase},S_CPOS_RUN4,0,0}, // S_CPOS_RUN3 + {SPR_CPOS,1,3,{A_Chase},S_CPOS_RUN5,0,0}, // S_CPOS_RUN4 + {SPR_CPOS,2,3,{A_Chase},S_CPOS_RUN6,0,0}, // S_CPOS_RUN5 + {SPR_CPOS,2,3,{A_Chase},S_CPOS_RUN7,0,0}, // S_CPOS_RUN6 + {SPR_CPOS,3,3,{A_Chase},S_CPOS_RUN8,0,0}, // S_CPOS_RUN7 + {SPR_CPOS,3,3,{A_Chase},S_CPOS_RUN1,0,0}, // S_CPOS_RUN8 + {SPR_CPOS,4,10,{A_FaceTarget},S_CPOS_ATK2,0,0}, // S_CPOS_ATK1 + {SPR_CPOS,32773,4,{A_CPosAttack},S_CPOS_ATK3,0,0}, // S_CPOS_ATK2 + {SPR_CPOS,32772,4,{A_CPosAttack},S_CPOS_ATK4,0,0}, // S_CPOS_ATK3 + {SPR_CPOS,5,1,{A_CPosRefire},S_CPOS_ATK2,0,0}, // S_CPOS_ATK4 + {SPR_CPOS,6,3,{NULL},S_CPOS_PAIN2,0,0}, // S_CPOS_PAIN + {SPR_CPOS,6,3,{A_Pain},S_CPOS_RUN1,0,0}, // S_CPOS_PAIN2 + {SPR_CPOS,7,5,{NULL},S_CPOS_DIE2,0,0}, // S_CPOS_DIE1 + {SPR_CPOS,8,5,{A_Scream},S_CPOS_DIE3,0,0}, // S_CPOS_DIE2 + {SPR_CPOS,9,5,{A_Fall},S_CPOS_DIE4,0,0}, // S_CPOS_DIE3 + {SPR_CPOS,10,5,{NULL},S_CPOS_DIE5,0,0}, // S_CPOS_DIE4 + {SPR_CPOS,11,5,{NULL},S_CPOS_DIE6,0,0}, // S_CPOS_DIE5 + {SPR_CPOS,12,5,{NULL},S_CPOS_DIE7,0,0}, // S_CPOS_DIE6 + {SPR_CPOS,13,-1,{NULL},S_NULL,0,0}, // S_CPOS_DIE7 + {SPR_CPOS,14,5,{NULL},S_CPOS_XDIE2,0,0}, // S_CPOS_XDIE1 + {SPR_CPOS,15,5,{A_XScream},S_CPOS_XDIE3,0,0}, // S_CPOS_XDIE2 + {SPR_CPOS,16,5,{A_Fall},S_CPOS_XDIE4,0,0}, // S_CPOS_XDIE3 + {SPR_CPOS,17,5,{NULL},S_CPOS_XDIE5,0,0}, // S_CPOS_XDIE4 + {SPR_CPOS,18,5,{NULL},S_CPOS_XDIE6,0,0}, // S_CPOS_XDIE5 + {SPR_CPOS,19,-1,{NULL},S_NULL,0,0}, // S_CPOS_XDIE6 + {SPR_CPOS,13,5,{NULL},S_CPOS_RAISE2,0,0}, // S_CPOS_RAISE1 + {SPR_CPOS,12,5,{NULL},S_CPOS_RAISE3,0,0}, // S_CPOS_RAISE2 + {SPR_CPOS,11,5,{NULL},S_CPOS_RAISE4,0,0}, // S_CPOS_RAISE3 + {SPR_CPOS,10,5,{NULL},S_CPOS_RAISE5,0,0}, // S_CPOS_RAISE4 + {SPR_CPOS,9,5,{NULL},S_CPOS_RAISE6,0,0}, // S_CPOS_RAISE5 + {SPR_CPOS,8,5,{NULL},S_CPOS_RAISE7,0,0}, // S_CPOS_RAISE6 + {SPR_CPOS,7,5,{NULL},S_CPOS_RUN1,0,0}, // S_CPOS_RAISE7 + {SPR_TROO,0,10,{A_Look},S_TROO_STND2,0,0}, // S_TROO_STND + {SPR_TROO,1,10,{A_Look},S_TROO_STND,0,0}, // S_TROO_STND2 + {SPR_TROO,0,3,{A_Chase},S_TROO_RUN2,0,0}, // S_TROO_RUN1 + {SPR_TROO,0,3,{A_Chase},S_TROO_RUN3,0,0}, // S_TROO_RUN2 + {SPR_TROO,1,3,{A_Chase},S_TROO_RUN4,0,0}, // S_TROO_RUN3 + {SPR_TROO,1,3,{A_Chase},S_TROO_RUN5,0,0}, // S_TROO_RUN4 + {SPR_TROO,2,3,{A_Chase},S_TROO_RUN6,0,0}, // S_TROO_RUN5 + {SPR_TROO,2,3,{A_Chase},S_TROO_RUN7,0,0}, // S_TROO_RUN6 + {SPR_TROO,3,3,{A_Chase},S_TROO_RUN8,0,0}, // S_TROO_RUN7 + {SPR_TROO,3,3,{A_Chase},S_TROO_RUN1,0,0}, // S_TROO_RUN8 + {SPR_TROO,4,8,{A_FaceTarget},S_TROO_ATK2,0,0}, // S_TROO_ATK1 + {SPR_TROO,5,8,{A_FaceTarget},S_TROO_ATK3,0,0}, // S_TROO_ATK2 + {SPR_TROO,6,6,{A_TroopAttack},S_TROO_RUN1,0,0}, // S_TROO_ATK3 + {SPR_TROO,7,2,{NULL},S_TROO_PAIN2,0,0}, // S_TROO_PAIN + {SPR_TROO,7,2,{A_Pain},S_TROO_RUN1,0,0}, // S_TROO_PAIN2 + {SPR_TROO,8,8,{NULL},S_TROO_DIE2,0,0}, // S_TROO_DIE1 + {SPR_TROO,9,8,{A_Scream},S_TROO_DIE3,0,0}, // S_TROO_DIE2 + {SPR_TROO,10,6,{NULL},S_TROO_DIE4,0,0}, // S_TROO_DIE3 + {SPR_TROO,11,6,{A_Fall},S_TROO_DIE5,0,0}, // S_TROO_DIE4 + {SPR_TROO,12,-1,{NULL},S_NULL,0,0}, // S_TROO_DIE5 + {SPR_TROO,13,5,{NULL},S_TROO_XDIE2,0,0}, // S_TROO_XDIE1 + {SPR_TROO,14,5,{A_XScream},S_TROO_XDIE3,0,0}, // S_TROO_XDIE2 + {SPR_TROO,15,5,{NULL},S_TROO_XDIE4,0,0}, // S_TROO_XDIE3 + {SPR_TROO,16,5,{A_Fall},S_TROO_XDIE5,0,0}, // S_TROO_XDIE4 + {SPR_TROO,17,5,{NULL},S_TROO_XDIE6,0,0}, // S_TROO_XDIE5 + {SPR_TROO,18,5,{NULL},S_TROO_XDIE7,0,0}, // S_TROO_XDIE6 + {SPR_TROO,19,5,{NULL},S_TROO_XDIE8,0,0}, // S_TROO_XDIE7 + {SPR_TROO,20,-1,{NULL},S_NULL,0,0}, // S_TROO_XDIE8 + {SPR_TROO,12,8,{NULL},S_TROO_RAISE2,0,0}, // S_TROO_RAISE1 + {SPR_TROO,11,8,{NULL},S_TROO_RAISE3,0,0}, // S_TROO_RAISE2 + {SPR_TROO,10,6,{NULL},S_TROO_RAISE4,0,0}, // S_TROO_RAISE3 + {SPR_TROO,9,6,{NULL},S_TROO_RAISE5,0,0}, // S_TROO_RAISE4 + {SPR_TROO,8,6,{NULL},S_TROO_RUN1,0,0}, // S_TROO_RAISE5 + {SPR_SARG,0,10,{A_Look},S_SARG_STND2,0,0}, // S_SARG_STND + {SPR_SARG,1,10,{A_Look},S_SARG_STND,0,0}, // S_SARG_STND2 + {SPR_SARG,0,2,{A_Chase},S_SARG_RUN2,0,0}, // S_SARG_RUN1 + {SPR_SARG,0,2,{A_Chase},S_SARG_RUN3,0,0}, // S_SARG_RUN2 + {SPR_SARG,1,2,{A_Chase},S_SARG_RUN4,0,0}, // S_SARG_RUN3 + {SPR_SARG,1,2,{A_Chase},S_SARG_RUN5,0,0}, // S_SARG_RUN4 + {SPR_SARG,2,2,{A_Chase},S_SARG_RUN6,0,0}, // S_SARG_RUN5 + {SPR_SARG,2,2,{A_Chase},S_SARG_RUN7,0,0}, // S_SARG_RUN6 + {SPR_SARG,3,2,{A_Chase},S_SARG_RUN8,0,0}, // S_SARG_RUN7 + {SPR_SARG,3,2,{A_Chase},S_SARG_RUN1,0,0}, // S_SARG_RUN8 + {SPR_SARG,4,8,{A_FaceTarget},S_SARG_ATK2,0,0}, // S_SARG_ATK1 + {SPR_SARG,5,8,{A_FaceTarget},S_SARG_ATK3,0,0}, // S_SARG_ATK2 + {SPR_SARG,6,8,{A_SargAttack},S_SARG_RUN1,0,0}, // S_SARG_ATK3 + {SPR_SARG,7,2,{NULL},S_SARG_PAIN2,0,0}, // S_SARG_PAIN + {SPR_SARG,7,2,{A_Pain},S_SARG_RUN1,0,0}, // S_SARG_PAIN2 + {SPR_SARG,8,8,{NULL},S_SARG_DIE2,0,0}, // S_SARG_DIE1 + {SPR_SARG,9,8,{A_Scream},S_SARG_DIE3,0,0}, // S_SARG_DIE2 + {SPR_SARG,10,4,{NULL},S_SARG_DIE4,0,0}, // S_SARG_DIE3 + {SPR_SARG,11,4,{A_Fall},S_SARG_DIE5,0,0}, // S_SARG_DIE4 + {SPR_SARG,12,4,{NULL},S_SARG_DIE6,0,0}, // S_SARG_DIE5 + {SPR_SARG,13,-1,{NULL},S_NULL,0,0}, // S_SARG_DIE6 + {SPR_SARG,13,5,{NULL},S_SARG_RAISE2,0,0}, // S_SARG_RAISE1 + {SPR_SARG,12,5,{NULL},S_SARG_RAISE3,0,0}, // S_SARG_RAISE2 + {SPR_SARG,11,5,{NULL},S_SARG_RAISE4,0,0}, // S_SARG_RAISE3 + {SPR_SARG,10,5,{NULL},S_SARG_RAISE5,0,0}, // S_SARG_RAISE4 + {SPR_SARG,9,5,{NULL},S_SARG_RAISE6,0,0}, // S_SARG_RAISE5 + {SPR_SARG,8,5,{NULL},S_SARG_RUN1,0,0}, // S_SARG_RAISE6 + {SPR_HEAD,0,10,{A_Look},S_HEAD_STND,0,0}, // S_HEAD_STND + {SPR_HEAD,0,3,{A_Chase},S_HEAD_RUN1,0,0}, // S_HEAD_RUN1 + {SPR_HEAD,1,5,{A_FaceTarget},S_HEAD_ATK2,0,0}, // S_HEAD_ATK1 + {SPR_HEAD,2,5,{A_FaceTarget},S_HEAD_ATK3,0,0}, // S_HEAD_ATK2 + {SPR_HEAD,32771,5,{A_HeadAttack},S_HEAD_RUN1,0,0}, // S_HEAD_ATK3 + {SPR_HEAD,4,3,{NULL},S_HEAD_PAIN2,0,0}, // S_HEAD_PAIN + {SPR_HEAD,4,3,{A_Pain},S_HEAD_PAIN3,0,0}, // S_HEAD_PAIN2 + {SPR_HEAD,5,6,{NULL},S_HEAD_RUN1,0,0}, // S_HEAD_PAIN3 + {SPR_HEAD,6,8,{NULL},S_HEAD_DIE2,0,0}, // S_HEAD_DIE1 + {SPR_HEAD,7,8,{A_Scream},S_HEAD_DIE3,0,0}, // S_HEAD_DIE2 + {SPR_HEAD,8,8,{NULL},S_HEAD_DIE4,0,0}, // S_HEAD_DIE3 + {SPR_HEAD,9,8,{NULL},S_HEAD_DIE5,0,0}, // S_HEAD_DIE4 + {SPR_HEAD,10,8,{A_Fall},S_HEAD_DIE6,0,0}, // S_HEAD_DIE5 + {SPR_HEAD,11,-1,{NULL},S_NULL,0,0}, // S_HEAD_DIE6 + {SPR_HEAD,11,8,{NULL},S_HEAD_RAISE2,0,0}, // S_HEAD_RAISE1 + {SPR_HEAD,10,8,{NULL},S_HEAD_RAISE3,0,0}, // S_HEAD_RAISE2 + {SPR_HEAD,9,8,{NULL},S_HEAD_RAISE4,0,0}, // S_HEAD_RAISE3 + {SPR_HEAD,8,8,{NULL},S_HEAD_RAISE5,0,0}, // S_HEAD_RAISE4 + {SPR_HEAD,7,8,{NULL},S_HEAD_RAISE6,0,0}, // S_HEAD_RAISE5 + {SPR_HEAD,6,8,{NULL},S_HEAD_RUN1,0,0}, // S_HEAD_RAISE6 + {SPR_BAL7,32768,4,{NULL},S_BRBALL2,0,0}, // S_BRBALL1 + {SPR_BAL7,32769,4,{NULL},S_BRBALL1,0,0}, // S_BRBALL2 + {SPR_BAL7,32770,6,{NULL},S_BRBALLX2,0,0}, // S_BRBALLX1 + {SPR_BAL7,32771,6,{NULL},S_BRBALLX3,0,0}, // S_BRBALLX2 + {SPR_BAL7,32772,6,{NULL},S_NULL,0,0}, // S_BRBALLX3 + {SPR_BOSS,0,10,{A_Look},S_BOSS_STND2,0,0}, // S_BOSS_STND + {SPR_BOSS,1,10,{A_Look},S_BOSS_STND,0,0}, // S_BOSS_STND2 + {SPR_BOSS,0,3,{A_Chase},S_BOSS_RUN2,0,0}, // S_BOSS_RUN1 + {SPR_BOSS,0,3,{A_Chase},S_BOSS_RUN3,0,0}, // S_BOSS_RUN2 + {SPR_BOSS,1,3,{A_Chase},S_BOSS_RUN4,0,0}, // S_BOSS_RUN3 + {SPR_BOSS,1,3,{A_Chase},S_BOSS_RUN5,0,0}, // S_BOSS_RUN4 + {SPR_BOSS,2,3,{A_Chase},S_BOSS_RUN6,0,0}, // S_BOSS_RUN5 + {SPR_BOSS,2,3,{A_Chase},S_BOSS_RUN7,0,0}, // S_BOSS_RUN6 + {SPR_BOSS,3,3,{A_Chase},S_BOSS_RUN8,0,0}, // S_BOSS_RUN7 + {SPR_BOSS,3,3,{A_Chase},S_BOSS_RUN1,0,0}, // S_BOSS_RUN8 + {SPR_BOSS,4,8,{A_FaceTarget},S_BOSS_ATK2,0,0}, // S_BOSS_ATK1 + {SPR_BOSS,5,8,{A_FaceTarget},S_BOSS_ATK3,0,0}, // S_BOSS_ATK2 + {SPR_BOSS,6,8,{A_BruisAttack},S_BOSS_RUN1,0,0}, // S_BOSS_ATK3 + {SPR_BOSS,7,2,{NULL},S_BOSS_PAIN2,0,0}, // S_BOSS_PAIN + {SPR_BOSS,7,2,{A_Pain},S_BOSS_RUN1,0,0}, // S_BOSS_PAIN2 + {SPR_BOSS,8,8,{NULL},S_BOSS_DIE2,0,0}, // S_BOSS_DIE1 + {SPR_BOSS,9,8,{A_Scream},S_BOSS_DIE3,0,0}, // S_BOSS_DIE2 + {SPR_BOSS,10,8,{NULL},S_BOSS_DIE4,0,0}, // S_BOSS_DIE3 + {SPR_BOSS,11,8,{A_Fall},S_BOSS_DIE5,0,0}, // S_BOSS_DIE4 + {SPR_BOSS,12,8,{NULL},S_BOSS_DIE6,0,0}, // S_BOSS_DIE5 + {SPR_BOSS,13,8,{NULL},S_BOSS_DIE7,0,0}, // S_BOSS_DIE6 + {SPR_BOSS,14,-1,{A_BossDeath},S_NULL,0,0}, // S_BOSS_DIE7 + {SPR_BOSS,14,8,{NULL},S_BOSS_RAISE2,0,0}, // S_BOSS_RAISE1 + {SPR_BOSS,13,8,{NULL},S_BOSS_RAISE3,0,0}, // S_BOSS_RAISE2 + {SPR_BOSS,12,8,{NULL},S_BOSS_RAISE4,0,0}, // S_BOSS_RAISE3 + {SPR_BOSS,11,8,{NULL},S_BOSS_RAISE5,0,0}, // S_BOSS_RAISE4 + {SPR_BOSS,10,8,{NULL},S_BOSS_RAISE6,0,0}, // S_BOSS_RAISE5 + {SPR_BOSS,9,8,{NULL},S_BOSS_RAISE7,0,0}, // S_BOSS_RAISE6 + {SPR_BOSS,8,8,{NULL},S_BOSS_RUN1,0,0}, // S_BOSS_RAISE7 + {SPR_BOS2,0,10,{A_Look},S_BOS2_STND2,0,0}, // S_BOS2_STND + {SPR_BOS2,1,10,{A_Look},S_BOS2_STND,0,0}, // S_BOS2_STND2 + {SPR_BOS2,0,3,{A_Chase},S_BOS2_RUN2,0,0}, // S_BOS2_RUN1 + {SPR_BOS2,0,3,{A_Chase},S_BOS2_RUN3,0,0}, // S_BOS2_RUN2 + {SPR_BOS2,1,3,{A_Chase},S_BOS2_RUN4,0,0}, // S_BOS2_RUN3 + {SPR_BOS2,1,3,{A_Chase},S_BOS2_RUN5,0,0}, // S_BOS2_RUN4 + {SPR_BOS2,2,3,{A_Chase},S_BOS2_RUN6,0,0}, // S_BOS2_RUN5 + {SPR_BOS2,2,3,{A_Chase},S_BOS2_RUN7,0,0}, // S_BOS2_RUN6 + {SPR_BOS2,3,3,{A_Chase},S_BOS2_RUN8,0,0}, // S_BOS2_RUN7 + {SPR_BOS2,3,3,{A_Chase},S_BOS2_RUN1,0,0}, // S_BOS2_RUN8 + {SPR_BOS2,4,8,{A_FaceTarget},S_BOS2_ATK2,0,0}, // S_BOS2_ATK1 + {SPR_BOS2,5,8,{A_FaceTarget},S_BOS2_ATK3,0,0}, // S_BOS2_ATK2 + {SPR_BOS2,6,8,{A_BruisAttack},S_BOS2_RUN1,0,0}, // S_BOS2_ATK3 + {SPR_BOS2,7,2,{NULL},S_BOS2_PAIN2,0,0}, // S_BOS2_PAIN + {SPR_BOS2,7,2,{A_Pain},S_BOS2_RUN1,0,0}, // S_BOS2_PAIN2 + {SPR_BOS2,8,8,{NULL},S_BOS2_DIE2,0,0}, // S_BOS2_DIE1 + {SPR_BOS2,9,8,{A_Scream},S_BOS2_DIE3,0,0}, // S_BOS2_DIE2 + {SPR_BOS2,10,8,{NULL},S_BOS2_DIE4,0,0}, // S_BOS2_DIE3 + {SPR_BOS2,11,8,{A_Fall},S_BOS2_DIE5,0,0}, // S_BOS2_DIE4 + {SPR_BOS2,12,8,{NULL},S_BOS2_DIE6,0,0}, // S_BOS2_DIE5 + {SPR_BOS2,13,8,{NULL},S_BOS2_DIE7,0,0}, // S_BOS2_DIE6 + {SPR_BOS2,14,-1,{NULL},S_NULL,0,0}, // S_BOS2_DIE7 + {SPR_BOS2,14,8,{NULL},S_BOS2_RAISE2,0,0}, // S_BOS2_RAISE1 + {SPR_BOS2,13,8,{NULL},S_BOS2_RAISE3,0,0}, // S_BOS2_RAISE2 + {SPR_BOS2,12,8,{NULL},S_BOS2_RAISE4,0,0}, // S_BOS2_RAISE3 + {SPR_BOS2,11,8,{NULL},S_BOS2_RAISE5,0,0}, // S_BOS2_RAISE4 + {SPR_BOS2,10,8,{NULL},S_BOS2_RAISE6,0,0}, // S_BOS2_RAISE5 + {SPR_BOS2,9,8,{NULL},S_BOS2_RAISE7,0,0}, // S_BOS2_RAISE6 + {SPR_BOS2,8,8,{NULL},S_BOS2_RUN1,0,0}, // S_BOS2_RAISE7 + {SPR_SKUL,32768,10,{A_Look},S_SKULL_STND2,0,0}, // S_SKULL_STND + {SPR_SKUL,32769,10,{A_Look},S_SKULL_STND,0,0}, // S_SKULL_STND2 + {SPR_SKUL,32768,6,{A_Chase},S_SKULL_RUN2,0,0}, // S_SKULL_RUN1 + {SPR_SKUL,32769,6,{A_Chase},S_SKULL_RUN1,0,0}, // S_SKULL_RUN2 + {SPR_SKUL,32770,10,{A_FaceTarget},S_SKULL_ATK2,0,0}, // S_SKULL_ATK1 + {SPR_SKUL,32771,4,{A_SkullAttack},S_SKULL_ATK3,0,0}, // S_SKULL_ATK2 + {SPR_SKUL,32770,4,{NULL},S_SKULL_ATK4,0,0}, // S_SKULL_ATK3 + {SPR_SKUL,32771,4,{NULL},S_SKULL_ATK3,0,0}, // S_SKULL_ATK4 + {SPR_SKUL,32772,3,{NULL},S_SKULL_PAIN2,0,0}, // S_SKULL_PAIN + {SPR_SKUL,32772,3,{A_Pain},S_SKULL_RUN1,0,0}, // S_SKULL_PAIN2 + {SPR_SKUL,32773,6,{NULL},S_SKULL_DIE2,0,0}, // S_SKULL_DIE1 + {SPR_SKUL,32774,6,{A_Scream},S_SKULL_DIE3,0,0}, // S_SKULL_DIE2 + {SPR_SKUL,32775,6,{NULL},S_SKULL_DIE4,0,0}, // S_SKULL_DIE3 + {SPR_SKUL,32776,6,{A_Fall},S_SKULL_DIE5,0,0}, // S_SKULL_DIE4 + {SPR_SKUL,9,6,{NULL},S_SKULL_DIE6,0,0}, // S_SKULL_DIE5 + {SPR_SKUL,10,6,{NULL},S_NULL,0,0}, // S_SKULL_DIE6 + {SPR_SPID,0,10,{A_Look},S_SPID_STND2,0,0}, // S_SPID_STND + {SPR_SPID,1,10,{A_Look},S_SPID_STND,0,0}, // S_SPID_STND2 + {SPR_SPID,0,3,{A_Metal},S_SPID_RUN2,0,0}, // S_SPID_RUN1 + {SPR_SPID,0,3,{A_Chase},S_SPID_RUN3,0,0}, // S_SPID_RUN2 + {SPR_SPID,1,3,{A_Chase},S_SPID_RUN4,0,0}, // S_SPID_RUN3 + {SPR_SPID,1,3,{A_Chase},S_SPID_RUN5,0,0}, // S_SPID_RUN4 + {SPR_SPID,2,3,{A_Metal},S_SPID_RUN6,0,0}, // S_SPID_RUN5 + {SPR_SPID,2,3,{A_Chase},S_SPID_RUN7,0,0}, // S_SPID_RUN6 + {SPR_SPID,3,3,{A_Chase},S_SPID_RUN8,0,0}, // S_SPID_RUN7 + {SPR_SPID,3,3,{A_Chase},S_SPID_RUN9,0,0}, // S_SPID_RUN8 + {SPR_SPID,4,3,{A_Metal},S_SPID_RUN10,0,0}, // S_SPID_RUN9 + {SPR_SPID,4,3,{A_Chase},S_SPID_RUN11,0,0}, // S_SPID_RUN10 + {SPR_SPID,5,3,{A_Chase},S_SPID_RUN12,0,0}, // S_SPID_RUN11 + {SPR_SPID,5,3,{A_Chase},S_SPID_RUN1,0,0}, // S_SPID_RUN12 + {SPR_SPID,32768,20,{A_FaceTarget},S_SPID_ATK2,0,0}, // S_SPID_ATK1 + {SPR_SPID,32774,4,{A_SPosAttack},S_SPID_ATK3,0,0}, // S_SPID_ATK2 + {SPR_SPID,32775,4,{A_SPosAttack},S_SPID_ATK4,0,0}, // S_SPID_ATK3 + {SPR_SPID,32775,1,{A_SpidRefire},S_SPID_ATK2,0,0}, // S_SPID_ATK4 + {SPR_SPID,8,3,{NULL},S_SPID_PAIN2,0,0}, // S_SPID_PAIN + {SPR_SPID,8,3,{A_Pain},S_SPID_RUN1,0,0}, // S_SPID_PAIN2 + {SPR_SPID,9,20,{A_Scream},S_SPID_DIE2,0,0}, // S_SPID_DIE1 + {SPR_SPID,10,10,{A_Fall},S_SPID_DIE3,0,0}, // S_SPID_DIE2 + {SPR_SPID,11,10,{NULL},S_SPID_DIE4,0,0}, // S_SPID_DIE3 + {SPR_SPID,12,10,{NULL},S_SPID_DIE5,0,0}, // S_SPID_DIE4 + {SPR_SPID,13,10,{NULL},S_SPID_DIE6,0,0}, // S_SPID_DIE5 + {SPR_SPID,14,10,{NULL},S_SPID_DIE7,0,0}, // S_SPID_DIE6 + {SPR_SPID,15,10,{NULL},S_SPID_DIE8,0,0}, // S_SPID_DIE7 + {SPR_SPID,16,10,{NULL},S_SPID_DIE9,0,0}, // S_SPID_DIE8 + {SPR_SPID,17,10,{NULL},S_SPID_DIE10,0,0}, // S_SPID_DIE9 + {SPR_SPID,18,30,{NULL},S_SPID_DIE11,0,0}, // S_SPID_DIE10 + {SPR_SPID,18,-1,{A_BossDeath},S_NULL,0,0}, // S_SPID_DIE11 + {SPR_BSPI,0,10,{A_Look},S_BSPI_STND2,0,0}, // S_BSPI_STND + {SPR_BSPI,1,10,{A_Look},S_BSPI_STND,0,0}, // S_BSPI_STND2 + {SPR_BSPI,0,20,{NULL},S_BSPI_RUN1,0,0}, // S_BSPI_SIGHT + {SPR_BSPI,0,3,{A_BabyMetal},S_BSPI_RUN2,0,0}, // S_BSPI_RUN1 + {SPR_BSPI,0,3,{A_Chase},S_BSPI_RUN3,0,0}, // S_BSPI_RUN2 + {SPR_BSPI,1,3,{A_Chase},S_BSPI_RUN4,0,0}, // S_BSPI_RUN3 + {SPR_BSPI,1,3,{A_Chase},S_BSPI_RUN5,0,0}, // S_BSPI_RUN4 + {SPR_BSPI,2,3,{A_Chase},S_BSPI_RUN6,0,0}, // S_BSPI_RUN5 + {SPR_BSPI,2,3,{A_Chase},S_BSPI_RUN7,0,0}, // S_BSPI_RUN6 + {SPR_BSPI,3,3,{A_BabyMetal},S_BSPI_RUN8,0,0}, // S_BSPI_RUN7 + {SPR_BSPI,3,3,{A_Chase},S_BSPI_RUN9,0,0}, // S_BSPI_RUN8 + {SPR_BSPI,4,3,{A_Chase},S_BSPI_RUN10,0,0}, // S_BSPI_RUN9 + {SPR_BSPI,4,3,{A_Chase},S_BSPI_RUN11,0,0}, // S_BSPI_RUN10 + {SPR_BSPI,5,3,{A_Chase},S_BSPI_RUN12,0,0}, // S_BSPI_RUN11 + {SPR_BSPI,5,3,{A_Chase},S_BSPI_RUN1,0,0}, // S_BSPI_RUN12 + {SPR_BSPI,32768,20,{A_FaceTarget},S_BSPI_ATK2,0,0}, // S_BSPI_ATK1 + {SPR_BSPI,32774,4,{A_BspiAttack},S_BSPI_ATK3,0,0}, // S_BSPI_ATK2 + {SPR_BSPI,32775,4,{NULL},S_BSPI_ATK4,0,0}, // S_BSPI_ATK3 + {SPR_BSPI,32775,1,{A_SpidRefire},S_BSPI_ATK2,0,0}, // S_BSPI_ATK4 + {SPR_BSPI,8,3,{NULL},S_BSPI_PAIN2,0,0}, // S_BSPI_PAIN + {SPR_BSPI,8,3,{A_Pain},S_BSPI_RUN1,0,0}, // S_BSPI_PAIN2 + {SPR_BSPI,9,20,{A_Scream},S_BSPI_DIE2,0,0}, // S_BSPI_DIE1 + {SPR_BSPI,10,7,{A_Fall},S_BSPI_DIE3,0,0}, // S_BSPI_DIE2 + {SPR_BSPI,11,7,{NULL},S_BSPI_DIE4,0,0}, // S_BSPI_DIE3 + {SPR_BSPI,12,7,{NULL},S_BSPI_DIE5,0,0}, // S_BSPI_DIE4 + {SPR_BSPI,13,7,{NULL},S_BSPI_DIE6,0,0}, // S_BSPI_DIE5 + {SPR_BSPI,14,7,{NULL},S_BSPI_DIE7,0,0}, // S_BSPI_DIE6 + {SPR_BSPI,15,-1,{A_BossDeath},S_NULL,0,0}, // S_BSPI_DIE7 + {SPR_BSPI,15,5,{NULL},S_BSPI_RAISE2,0,0}, // S_BSPI_RAISE1 + {SPR_BSPI,14,5,{NULL},S_BSPI_RAISE3,0,0}, // S_BSPI_RAISE2 + {SPR_BSPI,13,5,{NULL},S_BSPI_RAISE4,0,0}, // S_BSPI_RAISE3 + {SPR_BSPI,12,5,{NULL},S_BSPI_RAISE5,0,0}, // S_BSPI_RAISE4 + {SPR_BSPI,11,5,{NULL},S_BSPI_RAISE6,0,0}, // S_BSPI_RAISE5 + {SPR_BSPI,10,5,{NULL},S_BSPI_RAISE7,0,0}, // S_BSPI_RAISE6 + {SPR_BSPI,9,5,{NULL},S_BSPI_RUN1,0,0}, // S_BSPI_RAISE7 + {SPR_APLS,32768,5,{NULL},S_ARACH_PLAZ2,0,0}, // S_ARACH_PLAZ + {SPR_APLS,32769,5,{NULL},S_ARACH_PLAZ,0,0}, // S_ARACH_PLAZ2 + {SPR_APBX,32768,5,{NULL},S_ARACH_PLEX2,0,0}, // S_ARACH_PLEX + {SPR_APBX,32769,5,{NULL},S_ARACH_PLEX3,0,0}, // S_ARACH_PLEX2 + {SPR_APBX,32770,5,{NULL},S_ARACH_PLEX4,0,0}, // S_ARACH_PLEX3 + {SPR_APBX,32771,5,{NULL},S_ARACH_PLEX5,0,0}, // S_ARACH_PLEX4 + {SPR_APBX,32772,5,{NULL},S_NULL,0,0}, // S_ARACH_PLEX5 + {SPR_CYBR,0,10,{A_Look},S_CYBER_STND2,0,0}, // S_CYBER_STND + {SPR_CYBR,1,10,{A_Look},S_CYBER_STND,0,0}, // S_CYBER_STND2 + {SPR_CYBR,0,3,{A_Hoof},S_CYBER_RUN2,0,0}, // S_CYBER_RUN1 + {SPR_CYBR,0,3,{A_Chase},S_CYBER_RUN3,0,0}, // S_CYBER_RUN2 + {SPR_CYBR,1,3,{A_Chase},S_CYBER_RUN4,0,0}, // S_CYBER_RUN3 + {SPR_CYBR,1,3,{A_Chase},S_CYBER_RUN5,0,0}, // S_CYBER_RUN4 + {SPR_CYBR,2,3,{A_Chase},S_CYBER_RUN6,0,0}, // S_CYBER_RUN5 + {SPR_CYBR,2,3,{A_Chase},S_CYBER_RUN7,0,0}, // S_CYBER_RUN6 + {SPR_CYBR,3,3,{A_Metal},S_CYBER_RUN8,0,0}, // S_CYBER_RUN7 + {SPR_CYBR,3,3,{A_Chase},S_CYBER_RUN1,0,0}, // S_CYBER_RUN8 + {SPR_CYBR,4,6,{A_FaceTarget},S_CYBER_ATK2,0,0}, // S_CYBER_ATK1 + {SPR_CYBR,5,12,{A_CyberAttack},S_CYBER_ATK3,0,0}, // S_CYBER_ATK2 + {SPR_CYBR,4,12,{A_FaceTarget},S_CYBER_ATK4,0,0}, // S_CYBER_ATK3 + {SPR_CYBR,5,12,{A_CyberAttack},S_CYBER_ATK5,0,0}, // S_CYBER_ATK4 + {SPR_CYBR,4,12,{A_FaceTarget},S_CYBER_ATK6,0,0}, // S_CYBER_ATK5 + {SPR_CYBR,5,12,{A_CyberAttack},S_CYBER_RUN1,0,0}, // S_CYBER_ATK6 + {SPR_CYBR,6,10,{A_Pain},S_CYBER_RUN1,0,0}, // S_CYBER_PAIN + {SPR_CYBR,7,10,{NULL},S_CYBER_DIE2,0,0}, // S_CYBER_DIE1 + {SPR_CYBR,8,10,{A_Scream},S_CYBER_DIE3,0,0}, // S_CYBER_DIE2 + {SPR_CYBR,9,10,{NULL},S_CYBER_DIE4,0,0}, // S_CYBER_DIE3 + {SPR_CYBR,10,10,{NULL},S_CYBER_DIE5,0,0}, // S_CYBER_DIE4 + {SPR_CYBR,11,10,{NULL},S_CYBER_DIE6,0,0}, // S_CYBER_DIE5 + {SPR_CYBR,12,10,{A_Fall},S_CYBER_DIE7,0,0}, // S_CYBER_DIE6 + {SPR_CYBR,13,10,{NULL},S_CYBER_DIE8,0,0}, // S_CYBER_DIE7 + {SPR_CYBR,14,10,{NULL},S_CYBER_DIE9,0,0}, // S_CYBER_DIE8 + {SPR_CYBR,15,30,{NULL},S_CYBER_DIE10,0,0}, // S_CYBER_DIE9 + {SPR_CYBR,15,-1,{A_BossDeath},S_NULL,0,0}, // S_CYBER_DIE10 + {SPR_PAIN,0,10,{A_Look},S_PAIN_STND,0,0}, // S_PAIN_STND + {SPR_PAIN,0,3,{A_Chase},S_PAIN_RUN2,0,0}, // S_PAIN_RUN1 + {SPR_PAIN,0,3,{A_Chase},S_PAIN_RUN3,0,0}, // S_PAIN_RUN2 + {SPR_PAIN,1,3,{A_Chase},S_PAIN_RUN4,0,0}, // S_PAIN_RUN3 + {SPR_PAIN,1,3,{A_Chase},S_PAIN_RUN5,0,0}, // S_PAIN_RUN4 + {SPR_PAIN,2,3,{A_Chase},S_PAIN_RUN6,0,0}, // S_PAIN_RUN5 + {SPR_PAIN,2,3,{A_Chase},S_PAIN_RUN1,0,0}, // S_PAIN_RUN6 + {SPR_PAIN,3,5,{A_FaceTarget},S_PAIN_ATK2,0,0}, // S_PAIN_ATK1 + {SPR_PAIN,4,5,{A_FaceTarget},S_PAIN_ATK3,0,0}, // S_PAIN_ATK2 + {SPR_PAIN,32773,5,{A_FaceTarget},S_PAIN_ATK4,0,0}, // S_PAIN_ATK3 + {SPR_PAIN,32773,0,{A_PainAttack},S_PAIN_RUN1,0,0}, // S_PAIN_ATK4 + {SPR_PAIN,6,6,{NULL},S_PAIN_PAIN2,0,0}, // S_PAIN_PAIN + {SPR_PAIN,6,6,{A_Pain},S_PAIN_RUN1,0,0}, // S_PAIN_PAIN2 + {SPR_PAIN,32775,8,{NULL},S_PAIN_DIE2,0,0}, // S_PAIN_DIE1 + {SPR_PAIN,32776,8,{A_Scream},S_PAIN_DIE3,0,0}, // S_PAIN_DIE2 + {SPR_PAIN,32777,8,{NULL},S_PAIN_DIE4,0,0}, // S_PAIN_DIE3 + {SPR_PAIN,32778,8,{NULL},S_PAIN_DIE5,0,0}, // S_PAIN_DIE4 + {SPR_PAIN,32779,8,{A_PainDie},S_PAIN_DIE6,0,0}, // S_PAIN_DIE5 + {SPR_PAIN,32780,8,{NULL},S_NULL,0,0}, // S_PAIN_DIE6 + {SPR_PAIN,12,8,{NULL},S_PAIN_RAISE2,0,0}, // S_PAIN_RAISE1 + {SPR_PAIN,11,8,{NULL},S_PAIN_RAISE3,0,0}, // S_PAIN_RAISE2 + {SPR_PAIN,10,8,{NULL},S_PAIN_RAISE4,0,0}, // S_PAIN_RAISE3 + {SPR_PAIN,9,8,{NULL},S_PAIN_RAISE5,0,0}, // S_PAIN_RAISE4 + {SPR_PAIN,8,8,{NULL},S_PAIN_RAISE6,0,0}, // S_PAIN_RAISE5 + {SPR_PAIN,7,8,{NULL},S_PAIN_RUN1,0,0}, // S_PAIN_RAISE6 + {SPR_SSWV,0,10,{A_Look},S_SSWV_STND2,0,0}, // S_SSWV_STND + {SPR_SSWV,1,10,{A_Look},S_SSWV_STND,0,0}, // S_SSWV_STND2 + {SPR_SSWV,0,3,{A_Chase},S_SSWV_RUN2,0,0}, // S_SSWV_RUN1 + {SPR_SSWV,0,3,{A_Chase},S_SSWV_RUN3,0,0}, // S_SSWV_RUN2 + {SPR_SSWV,1,3,{A_Chase},S_SSWV_RUN4,0,0}, // S_SSWV_RUN3 + {SPR_SSWV,1,3,{A_Chase},S_SSWV_RUN5,0,0}, // S_SSWV_RUN4 + {SPR_SSWV,2,3,{A_Chase},S_SSWV_RUN6,0,0}, // S_SSWV_RUN5 + {SPR_SSWV,2,3,{A_Chase},S_SSWV_RUN7,0,0}, // S_SSWV_RUN6 + {SPR_SSWV,3,3,{A_Chase},S_SSWV_RUN8,0,0}, // S_SSWV_RUN7 + {SPR_SSWV,3,3,{A_Chase},S_SSWV_RUN1,0,0}, // S_SSWV_RUN8 + {SPR_SSWV,4,10,{A_FaceTarget},S_SSWV_ATK2,0,0}, // S_SSWV_ATK1 + {SPR_SSWV,5,10,{A_FaceTarget},S_SSWV_ATK3,0,0}, // S_SSWV_ATK2 + {SPR_SSWV,32774,4,{A_CPosAttack},S_SSWV_ATK4,0,0}, // S_SSWV_ATK3 + {SPR_SSWV,5,6,{A_FaceTarget},S_SSWV_ATK5,0,0}, // S_SSWV_ATK4 + {SPR_SSWV,32774,4,{A_CPosAttack},S_SSWV_ATK6,0,0}, // S_SSWV_ATK5 + {SPR_SSWV,5,1,{A_CPosRefire},S_SSWV_ATK2,0,0}, // S_SSWV_ATK6 + {SPR_SSWV,7,3,{NULL},S_SSWV_PAIN2,0,0}, // S_SSWV_PAIN + {SPR_SSWV,7,3,{A_Pain},S_SSWV_RUN1,0,0}, // S_SSWV_PAIN2 + {SPR_SSWV,8,5,{NULL},S_SSWV_DIE2,0,0}, // S_SSWV_DIE1 + {SPR_SSWV,9,5,{A_Scream},S_SSWV_DIE3,0,0}, // S_SSWV_DIE2 + {SPR_SSWV,10,5,{A_Fall},S_SSWV_DIE4,0,0}, // S_SSWV_DIE3 + {SPR_SSWV,11,5,{NULL},S_SSWV_DIE5,0,0}, // S_SSWV_DIE4 + {SPR_SSWV,12,-1,{NULL},S_NULL,0,0}, // S_SSWV_DIE5 + {SPR_SSWV,13,5,{NULL},S_SSWV_XDIE2,0,0}, // S_SSWV_XDIE1 + {SPR_SSWV,14,5,{A_XScream},S_SSWV_XDIE3,0,0}, // S_SSWV_XDIE2 + {SPR_SSWV,15,5,{A_Fall},S_SSWV_XDIE4,0,0}, // S_SSWV_XDIE3 + {SPR_SSWV,16,5,{NULL},S_SSWV_XDIE5,0,0}, // S_SSWV_XDIE4 + {SPR_SSWV,17,5,{NULL},S_SSWV_XDIE6,0,0}, // S_SSWV_XDIE5 + {SPR_SSWV,18,5,{NULL},S_SSWV_XDIE7,0,0}, // S_SSWV_XDIE6 + {SPR_SSWV,19,5,{NULL},S_SSWV_XDIE8,0,0}, // S_SSWV_XDIE7 + {SPR_SSWV,20,5,{NULL},S_SSWV_XDIE9,0,0}, // S_SSWV_XDIE8 + {SPR_SSWV,21,-1,{NULL},S_NULL,0,0}, // S_SSWV_XDIE9 + {SPR_SSWV,12,5,{NULL},S_SSWV_RAISE2,0,0}, // S_SSWV_RAISE1 + {SPR_SSWV,11,5,{NULL},S_SSWV_RAISE3,0,0}, // S_SSWV_RAISE2 + {SPR_SSWV,10,5,{NULL},S_SSWV_RAISE4,0,0}, // S_SSWV_RAISE3 + {SPR_SSWV,9,5,{NULL},S_SSWV_RAISE5,0,0}, // S_SSWV_RAISE4 + {SPR_SSWV,8,5,{NULL},S_SSWV_RUN1,0,0}, // S_SSWV_RAISE5 + {SPR_KEEN,0,-1,{NULL},S_KEENSTND,0,0}, // S_KEENSTND + {SPR_KEEN,0,6,{NULL},S_COMMKEEN2,0,0}, // S_COMMKEEN + {SPR_KEEN,1,6,{NULL},S_COMMKEEN3,0,0}, // S_COMMKEEN2 + {SPR_KEEN,2,6,{A_Scream},S_COMMKEEN4,0,0}, // S_COMMKEEN3 + {SPR_KEEN,3,6,{NULL},S_COMMKEEN5,0,0}, // S_COMMKEEN4 + {SPR_KEEN,4,6,{NULL},S_COMMKEEN6,0,0}, // S_COMMKEEN5 + {SPR_KEEN,5,6,{NULL},S_COMMKEEN7,0,0}, // S_COMMKEEN6 + {SPR_KEEN,6,6,{NULL},S_COMMKEEN8,0,0}, // S_COMMKEEN7 + {SPR_KEEN,7,6,{NULL},S_COMMKEEN9,0,0}, // S_COMMKEEN8 + {SPR_KEEN,8,6,{NULL},S_COMMKEEN10,0,0}, // S_COMMKEEN9 + {SPR_KEEN,9,6,{NULL},S_COMMKEEN11,0,0}, // S_COMMKEEN10 + {SPR_KEEN,10,6,{A_KeenDie},S_COMMKEEN12,0,0},// S_COMMKEEN11 + {SPR_KEEN,11,-1,{NULL},S_NULL,0,0}, // S_COMMKEEN12 + {SPR_KEEN,12,4,{NULL},S_KEENPAIN2,0,0}, // S_KEENPAIN + {SPR_KEEN,12,8,{A_Pain},S_KEENSTND,0,0}, // S_KEENPAIN2 + {SPR_BBRN,0,-1,{NULL},S_NULL,0,0}, // S_BRAIN + {SPR_BBRN,1,36,{A_BrainPain},S_BRAIN,0,0}, // S_BRAIN_PAIN + {SPR_BBRN,0,100,{A_BrainScream},S_BRAIN_DIE2,0,0}, // S_BRAIN_DIE1 + {SPR_BBRN,0,10,{NULL},S_BRAIN_DIE3,0,0}, // S_BRAIN_DIE2 + {SPR_BBRN,0,10,{NULL},S_BRAIN_DIE4,0,0}, // S_BRAIN_DIE3 + {SPR_BBRN,0,-1,{A_BrainDie},S_NULL,0,0}, // S_BRAIN_DIE4 + {SPR_SSWV,0,10,{A_Look},S_BRAINEYE,0,0}, // S_BRAINEYE + {SPR_SSWV,0,181,{A_BrainAwake},S_BRAINEYE1,0,0}, // S_BRAINEYESEE + {SPR_SSWV,0,150,{A_BrainSpit},S_BRAINEYE1,0,0}, // S_BRAINEYE1 + {SPR_BOSF,32768,3,{A_SpawnSound},S_SPAWN2,0,0}, // S_SPAWN1 + {SPR_BOSF,32769,3,{A_SpawnFly},S_SPAWN3,0,0}, // S_SPAWN2 + {SPR_BOSF,32770,3,{A_SpawnFly},S_SPAWN4,0,0}, // S_SPAWN3 + {SPR_BOSF,32771,3,{A_SpawnFly},S_SPAWN1,0,0}, // S_SPAWN4 + {SPR_FIRE,32768,4,{A_Fire},S_SPAWNFIRE2,0,0}, // S_SPAWNFIRE1 + {SPR_FIRE,32769,4,{A_Fire},S_SPAWNFIRE3,0,0}, // S_SPAWNFIRE2 + {SPR_FIRE,32770,4,{A_Fire},S_SPAWNFIRE4,0,0}, // S_SPAWNFIRE3 + {SPR_FIRE,32771,4,{A_Fire},S_SPAWNFIRE5,0,0}, // S_SPAWNFIRE4 + {SPR_FIRE,32772,4,{A_Fire},S_SPAWNFIRE6,0,0}, // S_SPAWNFIRE5 + {SPR_FIRE,32773,4,{A_Fire},S_SPAWNFIRE7,0,0}, // S_SPAWNFIRE6 + {SPR_FIRE,32774,4,{A_Fire},S_SPAWNFIRE8,0,0}, // S_SPAWNFIRE7 + {SPR_FIRE,32775,4,{A_Fire},S_NULL,0,0}, // S_SPAWNFIRE8 + {SPR_MISL,32769,10,{NULL},S_BRAINEXPLODE2,0,0}, // S_BRAINEXPLODE1 + {SPR_MISL,32770,10,{NULL},S_BRAINEXPLODE3,0,0}, // S_BRAINEXPLODE2 + {SPR_MISL,32771,10,{A_BrainExplode},S_NULL,0,0}, // S_BRAINEXPLODE3 + {SPR_ARM1,0,6,{NULL},S_ARM1A,0,0}, // S_ARM1 + {SPR_ARM1,32769,7,{NULL},S_ARM1,0,0}, // S_ARM1A + {SPR_ARM2,0,6,{NULL},S_ARM2A,0,0}, // S_ARM2 + {SPR_ARM2,32769,6,{NULL},S_ARM2,0,0}, // S_ARM2A + {SPR_BAR1,0,6,{NULL},S_BAR2,0,0}, // S_BAR1 + {SPR_BAR1,1,6,{NULL},S_BAR1,0,0}, // S_BAR2 + {SPR_BEXP,32768,5,{NULL},S_BEXP2,0,0}, // S_BEXP + {SPR_BEXP,32769,5,{A_Scream},S_BEXP3,0,0}, // S_BEXP2 + {SPR_BEXP,32770,5,{NULL},S_BEXP4,0,0}, // S_BEXP3 + {SPR_BEXP,32771,10,{A_Explode},S_BEXP5,0,0}, // S_BEXP4 + {SPR_BEXP,32772,10,{NULL},S_NULL,0,0}, // S_BEXP5 + {SPR_FCAN,32768,4,{NULL},S_BBAR2,0,0}, // S_BBAR1 + {SPR_FCAN,32769,4,{NULL},S_BBAR3,0,0}, // S_BBAR2 + {SPR_FCAN,32770,4,{NULL},S_BBAR1,0,0}, // S_BBAR3 + {SPR_BON1,0,6,{NULL},S_BON1A,0,0}, // S_BON1 + {SPR_BON1,1,6,{NULL},S_BON1B,0,0}, // S_BON1A + {SPR_BON1,2,6,{NULL},S_BON1C,0,0}, // S_BON1B + {SPR_BON1,3,6,{NULL},S_BON1D,0,0}, // S_BON1C + {SPR_BON1,2,6,{NULL},S_BON1E,0,0}, // S_BON1D + {SPR_BON1,1,6,{NULL},S_BON1,0,0}, // S_BON1E + {SPR_BON2,0,6,{NULL},S_BON2A,0,0}, // S_BON2 + {SPR_BON2,1,6,{NULL},S_BON2B,0,0}, // S_BON2A + {SPR_BON2,2,6,{NULL},S_BON2C,0,0}, // S_BON2B + {SPR_BON2,3,6,{NULL},S_BON2D,0,0}, // S_BON2C + {SPR_BON2,2,6,{NULL},S_BON2E,0,0}, // S_BON2D + {SPR_BON2,1,6,{NULL},S_BON2,0,0}, // S_BON2E + {SPR_BKEY,0,10,{NULL},S_BKEY2,0,0}, // S_BKEY + {SPR_BKEY,32769,10,{NULL},S_BKEY,0,0}, // S_BKEY2 + {SPR_RKEY,0,10,{NULL},S_RKEY2,0,0}, // S_RKEY + {SPR_RKEY,32769,10,{NULL},S_RKEY,0,0}, // S_RKEY2 + {SPR_YKEY,0,10,{NULL},S_YKEY2,0,0}, // S_YKEY + {SPR_YKEY,32769,10,{NULL},S_YKEY,0,0}, // S_YKEY2 + {SPR_BSKU,0,10,{NULL},S_BSKULL2,0,0}, // S_BSKULL + {SPR_BSKU,32769,10,{NULL},S_BSKULL,0,0}, // S_BSKULL2 + {SPR_RSKU,0,10,{NULL},S_RSKULL2,0,0}, // S_RSKULL + {SPR_RSKU,32769,10,{NULL},S_RSKULL,0,0}, // S_RSKULL2 + {SPR_YSKU,0,10,{NULL},S_YSKULL2,0,0}, // S_YSKULL + {SPR_YSKU,32769,10,{NULL},S_YSKULL,0,0}, // S_YSKULL2 + {SPR_STIM,0,-1,{NULL},S_NULL,0,0}, // S_STIM + {SPR_MEDI,0,-1,{NULL},S_NULL,0,0}, // S_MEDI + {SPR_SOUL,32768,6,{NULL},S_SOUL2,0,0}, // S_SOUL + {SPR_SOUL,32769,6,{NULL},S_SOUL3,0,0}, // S_SOUL2 + {SPR_SOUL,32770,6,{NULL},S_SOUL4,0,0}, // S_SOUL3 + {SPR_SOUL,32771,6,{NULL},S_SOUL5,0,0}, // S_SOUL4 + {SPR_SOUL,32770,6,{NULL},S_SOUL6,0,0}, // S_SOUL5 + {SPR_SOUL,32769,6,{NULL},S_SOUL,0,0}, // S_SOUL6 + {SPR_PINV,32768,6,{NULL},S_PINV2,0,0}, // S_PINV + {SPR_PINV,32769,6,{NULL},S_PINV3,0,0}, // S_PINV2 + {SPR_PINV,32770,6,{NULL},S_PINV4,0,0}, // S_PINV3 + {SPR_PINV,32771,6,{NULL},S_PINV,0,0}, // S_PINV4 + {SPR_PSTR,32768,-1,{NULL},S_NULL,0,0}, // S_PSTR + {SPR_PINS,32768,6,{NULL},S_PINS2,0,0}, // S_PINS + {SPR_PINS,32769,6,{NULL},S_PINS3,0,0}, // S_PINS2 + {SPR_PINS,32770,6,{NULL},S_PINS4,0,0}, // S_PINS3 + {SPR_PINS,32771,6,{NULL},S_PINS,0,0}, // S_PINS4 + {SPR_MEGA,32768,6,{NULL},S_MEGA2,0,0}, // S_MEGA + {SPR_MEGA,32769,6,{NULL},S_MEGA3,0,0}, // S_MEGA2 + {SPR_MEGA,32770,6,{NULL},S_MEGA4,0,0}, // S_MEGA3 + {SPR_MEGA,32771,6,{NULL},S_MEGA,0,0}, // S_MEGA4 + {SPR_SUIT,32768,-1,{NULL},S_NULL,0,0}, // S_SUIT + {SPR_PMAP,32768,6,{NULL},S_PMAP2,0,0}, // S_PMAP + {SPR_PMAP,32769,6,{NULL},S_PMAP3,0,0}, // S_PMAP2 + {SPR_PMAP,32770,6,{NULL},S_PMAP4,0,0}, // S_PMAP3 + {SPR_PMAP,32771,6,{NULL},S_PMAP5,0,0}, // S_PMAP4 + {SPR_PMAP,32770,6,{NULL},S_PMAP6,0,0}, // S_PMAP5 + {SPR_PMAP,32769,6,{NULL},S_PMAP,0,0}, // S_PMAP6 + {SPR_PVIS,32768,6,{NULL},S_PVIS2,0,0}, // S_PVIS + {SPR_PVIS,1,6,{NULL},S_PVIS,0,0}, // S_PVIS2 + {SPR_CLIP,0,-1,{NULL},S_NULL,0,0}, // S_CLIP + {SPR_AMMO,0,-1,{NULL},S_NULL,0,0}, // S_AMMO + {SPR_ROCK,0,-1,{NULL},S_NULL,0,0}, // S_ROCK + {SPR_BROK,0,-1,{NULL},S_NULL,0,0}, // S_BROK + {SPR_CELL,0,-1,{NULL},S_NULL,0,0}, // S_CELL + {SPR_CELP,0,-1,{NULL},S_NULL,0,0}, // S_CELP + {SPR_SHEL,0,-1,{NULL},S_NULL,0,0}, // S_SHEL + {SPR_SBOX,0,-1,{NULL},S_NULL,0,0}, // S_SBOX + {SPR_BPAK,0,-1,{NULL},S_NULL,0,0}, // S_BPAK + {SPR_BFUG,0,-1,{NULL},S_NULL,0,0}, // S_BFUG + {SPR_MGUN,0,-1,{NULL},S_NULL,0,0}, // S_MGUN + {SPR_CSAW,0,-1,{NULL},S_NULL,0,0}, // S_CSAW + {SPR_LAUN,0,-1,{NULL},S_NULL,0,0}, // S_LAUN + {SPR_PLAS,0,-1,{NULL},S_NULL,0,0}, // S_PLAS + {SPR_SHOT,0,-1,{NULL},S_NULL,0,0}, // S_SHOT + {SPR_SGN2,0,-1,{NULL},S_NULL,0,0}, // S_SHOT2 + {SPR_COLU,32768,-1,{NULL},S_NULL,0,0}, // S_COLU + {SPR_SMT2,0,-1,{NULL},S_NULL,0,0}, // S_STALAG + {SPR_GOR1,0,10,{NULL},S_BLOODYTWITCH2,0,0}, // S_BLOODYTWITCH + {SPR_GOR1,1,15,{NULL},S_BLOODYTWITCH3,0,0}, // S_BLOODYTWITCH2 + {SPR_GOR1,2,8,{NULL},S_BLOODYTWITCH4,0,0}, // S_BLOODYTWITCH3 + {SPR_GOR1,1,6,{NULL},S_BLOODYTWITCH,0,0}, // S_BLOODYTWITCH4 + {SPR_PLAY,13,-1,{NULL},S_NULL,0,0}, // S_DEADTORSO + {SPR_PLAY,18,-1,{NULL},S_NULL,0,0}, // S_DEADBOTTOM + {SPR_POL2,0,-1,{NULL},S_NULL,0,0}, // S_HEADSONSTICK + {SPR_POL5,0,-1,{NULL},S_NULL,0,0}, // S_GIBS + {SPR_POL4,0,-1,{NULL},S_NULL,0,0}, // S_HEADONASTICK + {SPR_POL3,32768,6,{NULL},S_HEADCANDLES2,0,0}, // S_HEADCANDLES + {SPR_POL3,32769,6,{NULL},S_HEADCANDLES,0,0}, // S_HEADCANDLES2 + {SPR_POL1,0,-1,{NULL},S_NULL,0,0}, // S_DEADSTICK + {SPR_POL6,0,6,{NULL},S_LIVESTICK2,0,0}, // S_LIVESTICK + {SPR_POL6,1,8,{NULL},S_LIVESTICK,0,0}, // S_LIVESTICK2 + {SPR_GOR2,0,-1,{NULL},S_NULL,0,0}, // S_MEAT2 + {SPR_GOR3,0,-1,{NULL},S_NULL,0,0}, // S_MEAT3 + {SPR_GOR4,0,-1,{NULL},S_NULL,0,0}, // S_MEAT4 + {SPR_GOR5,0,-1,{NULL},S_NULL,0,0}, // S_MEAT5 + {SPR_SMIT,0,-1,{NULL},S_NULL,0,0}, // S_STALAGTITE + {SPR_COL1,0,-1,{NULL},S_NULL,0,0}, // S_TALLGRNCOL + {SPR_COL2,0,-1,{NULL},S_NULL,0,0}, // S_SHRTGRNCOL + {SPR_COL3,0,-1,{NULL},S_NULL,0,0}, // S_TALLREDCOL + {SPR_COL4,0,-1,{NULL},S_NULL,0,0}, // S_SHRTREDCOL + {SPR_CAND,32768,-1,{NULL},S_NULL,0,0}, // S_CANDLESTIK + {SPR_CBRA,32768,-1,{NULL},S_NULL,0,0}, // S_CANDELABRA + {SPR_COL6,0,-1,{NULL},S_NULL,0,0}, // S_SKULLCOL + {SPR_TRE1,0,-1,{NULL},S_NULL,0,0}, // S_TORCHTREE + {SPR_TRE2,0,-1,{NULL},S_NULL,0,0}, // S_BIGTREE + {SPR_ELEC,0,-1,{NULL},S_NULL,0,0}, // S_TECHPILLAR + {SPR_CEYE,32768,6,{NULL},S_EVILEYE2,0,0}, // S_EVILEYE + {SPR_CEYE,32769,6,{NULL},S_EVILEYE3,0,0}, // S_EVILEYE2 + {SPR_CEYE,32770,6,{NULL},S_EVILEYE4,0,0}, // S_EVILEYE3 + {SPR_CEYE,32769,6,{NULL},S_EVILEYE,0,0}, // S_EVILEYE4 + {SPR_FSKU,32768,6,{NULL},S_FLOATSKULL2,0,0}, // S_FLOATSKULL + {SPR_FSKU,32769,6,{NULL},S_FLOATSKULL3,0,0}, // S_FLOATSKULL2 + {SPR_FSKU,32770,6,{NULL},S_FLOATSKULL,0,0}, // S_FLOATSKULL3 + {SPR_COL5,0,14,{NULL},S_HEARTCOL2,0,0}, // S_HEARTCOL + {SPR_COL5,1,14,{NULL},S_HEARTCOL,0,0}, // S_HEARTCOL2 + {SPR_TBLU,32768,4,{NULL},S_BLUETORCH2,0,0}, // S_BLUETORCH + {SPR_TBLU,32769,4,{NULL},S_BLUETORCH3,0,0}, // S_BLUETORCH2 + {SPR_TBLU,32770,4,{NULL},S_BLUETORCH4,0,0}, // S_BLUETORCH3 + {SPR_TBLU,32771,4,{NULL},S_BLUETORCH,0,0}, // S_BLUETORCH4 + {SPR_TGRN,32768,4,{NULL},S_GREENTORCH2,0,0}, // S_GREENTORCH + {SPR_TGRN,32769,4,{NULL},S_GREENTORCH3,0,0}, // S_GREENTORCH2 + {SPR_TGRN,32770,4,{NULL},S_GREENTORCH4,0,0}, // S_GREENTORCH3 + {SPR_TGRN,32771,4,{NULL},S_GREENTORCH,0,0}, // S_GREENTORCH4 + {SPR_TRED,32768,4,{NULL},S_REDTORCH2,0,0}, // S_REDTORCH + {SPR_TRED,32769,4,{NULL},S_REDTORCH3,0,0}, // S_REDTORCH2 + {SPR_TRED,32770,4,{NULL},S_REDTORCH4,0,0}, // S_REDTORCH3 + {SPR_TRED,32771,4,{NULL},S_REDTORCH,0,0}, // S_REDTORCH4 + {SPR_SMBT,32768,4,{NULL},S_BTORCHSHRT2,0,0}, // S_BTORCHSHRT + {SPR_SMBT,32769,4,{NULL},S_BTORCHSHRT3,0,0}, // S_BTORCHSHRT2 + {SPR_SMBT,32770,4,{NULL},S_BTORCHSHRT4,0,0}, // S_BTORCHSHRT3 + {SPR_SMBT,32771,4,{NULL},S_BTORCHSHRT,0,0}, // S_BTORCHSHRT4 + {SPR_SMGT,32768,4,{NULL},S_GTORCHSHRT2,0,0}, // S_GTORCHSHRT + {SPR_SMGT,32769,4,{NULL},S_GTORCHSHRT3,0,0}, // S_GTORCHSHRT2 + {SPR_SMGT,32770,4,{NULL},S_GTORCHSHRT4,0,0}, // S_GTORCHSHRT3 + {SPR_SMGT,32771,4,{NULL},S_GTORCHSHRT,0,0}, // S_GTORCHSHRT4 + {SPR_SMRT,32768,4,{NULL},S_RTORCHSHRT2,0,0}, // S_RTORCHSHRT + {SPR_SMRT,32769,4,{NULL},S_RTORCHSHRT3,0,0}, // S_RTORCHSHRT2 + {SPR_SMRT,32770,4,{NULL},S_RTORCHSHRT4,0,0}, // S_RTORCHSHRT3 + {SPR_SMRT,32771,4,{NULL},S_RTORCHSHRT,0,0}, // S_RTORCHSHRT4 + {SPR_HDB1,0,-1,{NULL},S_NULL,0,0}, // S_HANGNOGUTS + {SPR_HDB2,0,-1,{NULL},S_NULL,0,0}, // S_HANGBNOBRAIN + {SPR_HDB3,0,-1,{NULL},S_NULL,0,0}, // S_HANGTLOOKDN + {SPR_HDB4,0,-1,{NULL},S_NULL,0,0}, // S_HANGTSKULL + {SPR_HDB5,0,-1,{NULL},S_NULL,0,0}, // S_HANGTLOOKUP + {SPR_HDB6,0,-1,{NULL},S_NULL,0,0}, // S_HANGTNOBRAIN + {SPR_POB1,0,-1,{NULL},S_NULL,0,0}, // S_COLONGIBS + {SPR_POB2,0,-1,{NULL},S_NULL,0,0}, // S_SMALLPOOL + {SPR_BRS1,0,-1,{NULL},S_NULL,0,0}, // S_BRAINSTEM + {SPR_TLMP,32768,4,{NULL},S_TECHLAMP2,0,0}, // S_TECHLAMP + {SPR_TLMP,32769,4,{NULL},S_TECHLAMP3,0,0}, // S_TECHLAMP2 + {SPR_TLMP,32770,4,{NULL},S_TECHLAMP4,0,0}, // S_TECHLAMP3 + {SPR_TLMP,32771,4,{NULL},S_TECHLAMP,0,0}, // S_TECHLAMP4 + {SPR_TLP2,32768,4,{NULL},S_TECH2LAMP2,0,0}, // S_TECH2LAMP + {SPR_TLP2,32769,4,{NULL},S_TECH2LAMP3,0,0}, // S_TECH2LAMP2 + {SPR_TLP2,32770,4,{NULL},S_TECH2LAMP4,0,0}, // S_TECH2LAMP3 + {SPR_TLP2,32771,4,{NULL},S_TECH2LAMP,0,0} // S_TECH2LAMP4 +}; + + +mobjinfo_t mobjinfo[NUMMOBJTYPES] = { + + { // MT_PLAYER + -1, // doomednum + S_PLAY, // spawnstate + 100, // spawnhealth + S_PLAY_RUN1, // seestate + sfx_None, // seesound + 0, // reactiontime + sfx_None, // attacksound + S_PLAY_PAIN, // painstate + 255, // painchance + sfx_plpain, // painsound + S_NULL, // meleestate + S_PLAY_ATK1, // missilestate + S_PLAY_DIE1, // deathstate + S_PLAY_XDIE1, // xdeathstate + sfx_pldeth, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 56*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SHOOTABLE|MF_DROPOFF|MF_PICKUP|MF_NOTDMATCH, // flags + S_NULL // raisestate + }, + + { // MT_POSSESSED + 3004, // doomednum + S_POSS_STND, // spawnstate + 20, // spawnhealth + S_POSS_RUN1, // seestate + sfx_posit1, // seesound + 8, // reactiontime + sfx_pistol, // attacksound + S_POSS_PAIN, // painstate + 200, // painchance + sfx_popain, // painsound + 0, // meleestate + S_POSS_ATK1, // missilestate + S_POSS_DIE1, // deathstate + S_POSS_XDIE1, // xdeathstate + sfx_podth1, // deathsound + 8, // speed + 20*FRACUNIT, // radius + 56*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_posact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL, // flags + S_POSS_RAISE1 // raisestate + }, + + { // MT_SHOTGUY + 9, // doomednum + S_SPOS_STND, // spawnstate + 30, // spawnhealth + S_SPOS_RUN1, // seestate + sfx_posit2, // seesound + 8, // reactiontime + 0, // attacksound + S_SPOS_PAIN, // painstate + 170, // painchance + sfx_popain, // painsound + 0, // meleestate + S_SPOS_ATK1, // missilestate + S_SPOS_DIE1, // deathstate + S_SPOS_XDIE1, // xdeathstate + sfx_podth2, // deathsound + 8, // speed + 20*FRACUNIT, // radius + 56*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_posact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL, // flags + S_SPOS_RAISE1 // raisestate + }, + + { // MT_VILE + 64, // doomednum + S_VILE_STND, // spawnstate + 700, // spawnhealth + S_VILE_RUN1, // seestate + sfx_vilsit, // seesound + 8, // reactiontime + 0, // attacksound + S_VILE_PAIN, // painstate + 10, // painchance + sfx_vipain, // painsound + 0, // meleestate + S_VILE_ATK1, // missilestate + S_VILE_DIE1, // deathstate + S_NULL, // xdeathstate + sfx_vildth, // deathsound + 15, // speed + 20*FRACUNIT, // radius + 56*FRACUNIT, // height + 500, // mass + 0, // damage + sfx_vilact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL, // flags + S_NULL // raisestate + }, + + { // MT_FIRE + -1, // doomednum + S_FIRE1, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_UNDEAD + 66, // doomednum + S_SKEL_STND, // spawnstate + 300, // spawnhealth + S_SKEL_RUN1, // seestate + sfx_skesit, // seesound + 8, // reactiontime + 0, // attacksound + S_SKEL_PAIN, // painstate + 100, // painchance + sfx_popain, // painsound + S_SKEL_FIST1, // meleestate + S_SKEL_MISS1, // missilestate + S_SKEL_DIE1, // deathstate + S_NULL, // xdeathstate + sfx_skedth, // deathsound + 10, // speed + 20*FRACUNIT, // radius + 56*FRACUNIT, // height + 500, // mass + 0, // damage + sfx_skeact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL, // flags + S_SKEL_RAISE1 // raisestate + }, + + { // MT_TRACER + -1, // doomednum + S_TRACER, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_skeatk, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_TRACEEXP1, // deathstate + S_NULL, // xdeathstate + sfx_barexp, // deathsound + 10*FRACUNIT, // speed + 11*FRACUNIT, // radius + 8*FRACUNIT, // height + 100, // mass + 10, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_SMOKE + -1, // doomednum + S_SMOKE1, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_FATSO + 67, // doomednum + S_FATT_STND, // spawnstate + 600, // spawnhealth + S_FATT_RUN1, // seestate + sfx_mansit, // seesound + 8, // reactiontime + 0, // attacksound + S_FATT_PAIN, // painstate + 80, // painchance + sfx_mnpain, // painsound + 0, // meleestate + S_FATT_ATK1, // missilestate + S_FATT_DIE1, // deathstate + S_NULL, // xdeathstate + sfx_mandth, // deathsound + 8, // speed + 48*FRACUNIT, // radius + 64*FRACUNIT, // height + 1000, // mass + 0, // damage + sfx_posact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL, // flags + S_FATT_RAISE1 // raisestate + }, + + { // MT_FATSHOT + -1, // doomednum + S_FATSHOT1, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_firsht, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_FATSHOTX1, // deathstate + S_NULL, // xdeathstate + sfx_firxpl, // deathsound + 20*FRACUNIT, // speed + 6*FRACUNIT, // radius + 8*FRACUNIT, // height + 100, // mass + 8, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_CHAINGUY + 65, // doomednum + S_CPOS_STND, // spawnstate + 70, // spawnhealth + S_CPOS_RUN1, // seestate + sfx_posit2, // seesound + 8, // reactiontime + 0, // attacksound + S_CPOS_PAIN, // painstate + 170, // painchance + sfx_popain, // painsound + 0, // meleestate + S_CPOS_ATK1, // missilestate + S_CPOS_DIE1, // deathstate + S_CPOS_XDIE1, // xdeathstate + sfx_podth2, // deathsound + 8, // speed + 20*FRACUNIT, // radius + 56*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_posact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL, // flags + S_CPOS_RAISE1 // raisestate + }, + + { // MT_TROOP + 3001, // doomednum + S_TROO_STND, // spawnstate + 60, // spawnhealth + S_TROO_RUN1, // seestate + sfx_bgsit1, // seesound + 8, // reactiontime + 0, // attacksound + S_TROO_PAIN, // painstate + 200, // painchance + sfx_popain, // painsound + S_TROO_ATK1, // meleestate + S_TROO_ATK1, // missilestate + S_TROO_DIE1, // deathstate + S_TROO_XDIE1, // xdeathstate + sfx_bgdth1, // deathsound + 8, // speed + 20*FRACUNIT, // radius + 56*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_bgact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL, // flags + S_TROO_RAISE1 // raisestate + }, + + { // MT_SERGEANT + 3002, // doomednum + S_SARG_STND, // spawnstate + 150, // spawnhealth + S_SARG_RUN1, // seestate + sfx_sgtsit, // seesound + 8, // reactiontime + sfx_sgtatk, // attacksound + S_SARG_PAIN, // painstate + 180, // painchance + sfx_dmpain, // painsound + S_SARG_ATK1, // meleestate + 0, // missilestate + S_SARG_DIE1, // deathstate + S_NULL, // xdeathstate + sfx_sgtdth, // deathsound + 10, // speed + 30*FRACUNIT, // radius + 56*FRACUNIT, // height + 400, // mass + 0, // damage + sfx_dmact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL, // flags + S_SARG_RAISE1 // raisestate + }, + + { // MT_SHADOWS + 58, // doomednum + S_SARG_STND, // spawnstate + 150, // spawnhealth + S_SARG_RUN1, // seestate + sfx_sgtsit, // seesound + 8, // reactiontime + sfx_sgtatk, // attacksound + S_SARG_PAIN, // painstate + 180, // painchance + sfx_dmpain, // painsound + S_SARG_ATK1, // meleestate + 0, // missilestate + S_SARG_DIE1, // deathstate + S_NULL, // xdeathstate + sfx_sgtdth, // deathsound + 10, // speed + 30*FRACUNIT, // radius + 56*FRACUNIT, // height + 400, // mass + 0, // damage + sfx_dmact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_SHADOW|MF_COUNTKILL, // flags + S_SARG_RAISE1 // raisestate + }, + + { // MT_HEAD + 3005, // doomednum + S_HEAD_STND, // spawnstate + 400, // spawnhealth + S_HEAD_RUN1, // seestate + sfx_cacsit, // seesound + 8, // reactiontime + 0, // attacksound + S_HEAD_PAIN, // painstate + 128, // painchance + sfx_dmpain, // painsound + 0, // meleestate + S_HEAD_ATK1, // missilestate + S_HEAD_DIE1, // deathstate + S_NULL, // xdeathstate + sfx_cacdth, // deathsound + 8, // speed + 31*FRACUNIT, // radius + 56*FRACUNIT, // height + 400, // mass + 0, // damage + sfx_dmact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_FLOAT|MF_NOGRAVITY|MF_COUNTKILL, // flags + S_HEAD_RAISE1 // raisestate + }, + + { // MT_BRUISER + 3003, // doomednum + S_BOSS_STND, // spawnstate + 1000, // spawnhealth + S_BOSS_RUN1, // seestate + sfx_brssit, // seesound + 8, // reactiontime + 0, // attacksound + S_BOSS_PAIN, // painstate + 50, // painchance + sfx_dmpain, // painsound + S_BOSS_ATK1, // meleestate + S_BOSS_ATK1, // missilestate + S_BOSS_DIE1, // deathstate + S_NULL, // xdeathstate + sfx_brsdth, // deathsound + 8, // speed + 24*FRACUNIT, // radius + 64*FRACUNIT, // height + 1000, // mass + 0, // damage + sfx_dmact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL, // flags + S_BOSS_RAISE1 // raisestate + }, + + { // MT_BRUISERSHOT + -1, // doomednum + S_BRBALL1, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_firsht, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_BRBALLX1, // deathstate + S_NULL, // xdeathstate + sfx_firxpl, // deathsound + 15*FRACUNIT, // speed + 6*FRACUNIT, // radius + 8*FRACUNIT, // height + 100, // mass + 8, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_KNIGHT + 69, // doomednum + S_BOS2_STND, // spawnstate + 500, // spawnhealth + S_BOS2_RUN1, // seestate + sfx_kntsit, // seesound + 8, // reactiontime + 0, // attacksound + S_BOS2_PAIN, // painstate + 50, // painchance + sfx_dmpain, // painsound + S_BOS2_ATK1, // meleestate + S_BOS2_ATK1, // missilestate + S_BOS2_DIE1, // deathstate + S_NULL, // xdeathstate + sfx_kntdth, // deathsound + 8, // speed + 24*FRACUNIT, // radius + 64*FRACUNIT, // height + 1000, // mass + 0, // damage + sfx_dmact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL, // flags + S_BOS2_RAISE1 // raisestate + }, + + { // MT_SKULL + 3006, // doomednum + S_SKULL_STND, // spawnstate + 100, // spawnhealth + S_SKULL_RUN1, // seestate + 0, // seesound + 8, // reactiontime + sfx_sklatk, // attacksound + S_SKULL_PAIN, // painstate + 256, // painchance + sfx_dmpain, // painsound + 0, // meleestate + S_SKULL_ATK1, // missilestate + S_SKULL_DIE1, // deathstate + S_NULL, // xdeathstate + sfx_firxpl, // deathsound + 8, // speed + 16*FRACUNIT, // radius + 56*FRACUNIT, // height + 50, // mass + 3, // damage + sfx_dmact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_FLOAT|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_SPIDER + 7, // doomednum + S_SPID_STND, // spawnstate + 3000, // spawnhealth + S_SPID_RUN1, // seestate + sfx_spisit, // seesound + 8, // reactiontime + sfx_shotgn, // attacksound + S_SPID_PAIN, // painstate + 40, // painchance + sfx_dmpain, // painsound + 0, // meleestate + S_SPID_ATK1, // missilestate + S_SPID_DIE1, // deathstate + S_NULL, // xdeathstate + sfx_spidth, // deathsound + 12, // speed + 128*FRACUNIT, // radius + 100*FRACUNIT, // height + 1000, // mass + 0, // damage + sfx_dmact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL, // flags + S_NULL // raisestate + }, + + { // MT_BABY + 68, // doomednum + S_BSPI_STND, // spawnstate + 500, // spawnhealth + S_BSPI_SIGHT, // seestate + sfx_bspsit, // seesound + 8, // reactiontime + 0, // attacksound + S_BSPI_PAIN, // painstate + 128, // painchance + sfx_dmpain, // painsound + 0, // meleestate + S_BSPI_ATK1, // missilestate + S_BSPI_DIE1, // deathstate + S_NULL, // xdeathstate + sfx_bspdth, // deathsound + 12, // speed + 64*FRACUNIT, // radius + 64*FRACUNIT, // height + 600, // mass + 0, // damage + sfx_bspact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL, // flags + S_BSPI_RAISE1 // raisestate + }, + + { // MT_CYBORG + 16, // doomednum + S_CYBER_STND, // spawnstate + 4000, // spawnhealth + S_CYBER_RUN1, // seestate + sfx_cybsit, // seesound + 8, // reactiontime + 0, // attacksound + S_CYBER_PAIN, // painstate + 20, // painchance + sfx_dmpain, // painsound + 0, // meleestate + S_CYBER_ATK1, // missilestate + S_CYBER_DIE1, // deathstate + S_NULL, // xdeathstate + sfx_cybdth, // deathsound + 16, // speed + 40*FRACUNIT, // radius + 110*FRACUNIT, // height + 1000, // mass + 0, // damage + sfx_dmact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL, // flags + S_NULL // raisestate + }, + + { // MT_PAIN + 71, // doomednum + S_PAIN_STND, // spawnstate + 400, // spawnhealth + S_PAIN_RUN1, // seestate + sfx_pesit, // seesound + 8, // reactiontime + 0, // attacksound + S_PAIN_PAIN, // painstate + 128, // painchance + sfx_pepain, // painsound + 0, // meleestate + S_PAIN_ATK1, // missilestate + S_PAIN_DIE1, // deathstate + S_NULL, // xdeathstate + sfx_pedth, // deathsound + 8, // speed + 31*FRACUNIT, // radius + 56*FRACUNIT, // height + 400, // mass + 0, // damage + sfx_dmact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_FLOAT|MF_NOGRAVITY|MF_COUNTKILL, // flags + S_PAIN_RAISE1 // raisestate + }, + + { // MT_WOLFSS + 84, // doomednum + S_SSWV_STND, // spawnstate + 50, // spawnhealth + S_SSWV_RUN1, // seestate + sfx_sssit, // seesound + 8, // reactiontime + 0, // attacksound + S_SSWV_PAIN, // painstate + 170, // painchance + sfx_popain, // painsound + 0, // meleestate + S_SSWV_ATK1, // missilestate + S_SSWV_DIE1, // deathstate + S_SSWV_XDIE1, // xdeathstate + sfx_ssdth, // deathsound + 8, // speed + 20*FRACUNIT, // radius + 56*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_posact, // activesound + MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL, // flags + S_SSWV_RAISE1 // raisestate + }, + + { // MT_KEEN + 72, // doomednum + S_KEENSTND, // spawnstate + 100, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_KEENPAIN, // painstate + 256, // painchance + sfx_keenpn, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_COMMKEEN, // deathstate + S_NULL, // xdeathstate + sfx_keendt, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 72*FRACUNIT, // height + 10000000, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY|MF_SHOOTABLE|MF_COUNTKILL, // flags + S_NULL // raisestate + }, + + { // MT_BOSSBRAIN + 88, // doomednum + S_BRAIN, // spawnstate + 250, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_BRAIN_PAIN, // painstate + 255, // painchance + sfx_bospn, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_BRAIN_DIE1, // deathstate + S_NULL, // xdeathstate + sfx_bosdth, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 10000000, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SHOOTABLE, // flags + S_NULL // raisestate + }, + + { // MT_BOSSSPIT + 89, // doomednum + S_BRAINEYE, // spawnstate + 1000, // spawnhealth + S_BRAINEYESEE, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 32*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOSECTOR, // flags + S_NULL // raisestate + }, + + { // MT_BOSSTARGET + 87, // doomednum + S_NULL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 32*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOSECTOR, // flags + S_NULL // raisestate + }, + + { // MT_SPAWNSHOT + -1, // doomednum + S_SPAWN1, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_bospit, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_firxpl, // deathsound + 10*FRACUNIT, // speed + 6*FRACUNIT, // radius + 32*FRACUNIT, // height + 100, // mass + 3, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY|MF_NOCLIP, // flags + S_NULL // raisestate + }, + + { // MT_SPAWNFIRE + -1, // doomednum + S_SPAWNFIRE1, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_BARREL + 2035, // doomednum + S_BAR1, // spawnstate + 20, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_BEXP, // deathstate + S_NULL, // xdeathstate + sfx_barexp, // deathsound + 0, // speed + 10*FRACUNIT, // radius + 42*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SHOOTABLE|MF_NOBLOOD, // flags + S_NULL // raisestate + }, + + { // MT_TROOPSHOT + -1, // doomednum + S_TBALL1, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_firsht, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_TBALLX1, // deathstate + S_NULL, // xdeathstate + sfx_firxpl, // deathsound + 10*FRACUNIT, // speed + 6*FRACUNIT, // radius + 8*FRACUNIT, // height + 100, // mass + 3, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_HEADSHOT + -1, // doomednum + S_RBALL1, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_firsht, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_RBALLX1, // deathstate + S_NULL, // xdeathstate + sfx_firxpl, // deathsound + 10*FRACUNIT, // speed + 6*FRACUNIT, // radius + 8*FRACUNIT, // height + 100, // mass + 5, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_ROCKET + -1, // doomednum + S_ROCKET, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_rlaunc, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_EXPLODE1, // deathstate + S_NULL, // xdeathstate + sfx_barexp, // deathsound + 20*FRACUNIT, // speed + 11*FRACUNIT, // radius + 8*FRACUNIT, // height + 100, // mass + 20, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_PLASMA + -1, // doomednum + S_PLASBALL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_plasma, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_PLASEXP, // deathstate + S_NULL, // xdeathstate + sfx_firxpl, // deathsound + 25*FRACUNIT, // speed + 13*FRACUNIT, // radius + 8*FRACUNIT, // height + 100, // mass + 5, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_BFG + -1, // doomednum + S_BFGSHOT, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + 0, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_BFGLAND, // deathstate + S_NULL, // xdeathstate + sfx_rxplod, // deathsound + 25*FRACUNIT, // speed + 13*FRACUNIT, // radius + 8*FRACUNIT, // height + 100, // mass + 100, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_ARACHPLAZ + -1, // doomednum + S_ARACH_PLAZ, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_plasma, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_ARACH_PLEX, // deathstate + S_NULL, // xdeathstate + sfx_firxpl, // deathsound + 25*FRACUNIT, // speed + 13*FRACUNIT, // radius + 8*FRACUNIT, // height + 100, // mass + 5, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_PUFF + -1, // doomednum + S_PUFF1, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_BLOOD + -1, // doomednum + S_BLOOD1, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP, // flags + S_NULL // raisestate + }, + + { // MT_TFOG + -1, // doomednum + S_TFOG, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_IFOG + -1, // doomednum + S_IFOG, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_TELEPORTMAN + 14, // doomednum + S_NULL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOSECTOR, // flags + S_NULL // raisestate + }, + + { // MT_EXTRABFG + -1, // doomednum + S_BFGEXP, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC0 + 2018, // doomednum + S_ARM1, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC1 + 2019, // doomednum + S_ARM2, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC2 + 2014, // doomednum + S_BON1, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL|MF_COUNTITEM, // flags + S_NULL // raisestate + }, + + { // MT_MISC3 + 2015, // doomednum + S_BON2, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL|MF_COUNTITEM, // flags + S_NULL // raisestate + }, + + { // MT_MISC4 + 5, // doomednum + S_BKEY, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL|MF_NOTDMATCH, // flags + S_NULL // raisestate + }, + + { // MT_MISC5 + 13, // doomednum + S_RKEY, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL|MF_NOTDMATCH, // flags + S_NULL // raisestate + }, + + { // MT_MISC6 + 6, // doomednum + S_YKEY, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL|MF_NOTDMATCH, // flags + S_NULL // raisestate + }, + + { // MT_MISC7 + 39, // doomednum + S_YSKULL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL|MF_NOTDMATCH, // flags + S_NULL // raisestate + }, + + { // MT_MISC8 + 38, // doomednum + S_RSKULL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL|MF_NOTDMATCH, // flags + S_NULL // raisestate + }, + + { // MT_MISC9 + 40, // doomednum + S_BSKULL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL|MF_NOTDMATCH, // flags + S_NULL // raisestate + }, + + { // MT_MISC10 + 2011, // doomednum + S_STIM, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC11 + 2012, // doomednum + S_MEDI, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC12 + 2013, // doomednum + S_SOUL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL|MF_COUNTITEM, // flags + S_NULL // raisestate + }, + + { // MT_INV + 2022, // doomednum + S_PINV, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL|MF_COUNTITEM, // flags + S_NULL // raisestate + }, + + { // MT_MISC13 + 2023, // doomednum + S_PSTR, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL|MF_COUNTITEM, // flags + S_NULL // raisestate + }, + + { // MT_INS + 2024, // doomednum + S_PINS, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL|MF_COUNTITEM, // flags + S_NULL // raisestate + }, + + { // MT_MISC14 + 2025, // doomednum + S_SUIT, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC15 + 2026, // doomednum + S_PMAP, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL|MF_COUNTITEM, // flags + S_NULL // raisestate + }, + + { // MT_MISC16 + 2045, // doomednum + S_PVIS, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL|MF_COUNTITEM, // flags + S_NULL // raisestate + }, + + { // MT_MEGA + 83, // doomednum + S_MEGA, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL|MF_COUNTITEM, // flags + S_NULL // raisestate + }, + + { // MT_CLIP + 2007, // doomednum + S_CLIP, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC17 + 2048, // doomednum + S_AMMO, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC18 + 2010, // doomednum + S_ROCK, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC19 + 2046, // doomednum + S_BROK, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC20 + 2047, // doomednum + S_CELL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC21 + 17, // doomednum + S_CELP, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC22 + 2008, // doomednum + S_SHEL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC23 + 2049, // doomednum + S_SBOX, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC24 + 8, // doomednum + S_BPAK, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC25 + 2006, // doomednum + S_BFUG, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_CHAINGUN + 2002, // doomednum + S_MGUN, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC26 + 2005, // doomednum + S_CSAW, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC27 + 2003, // doomednum + S_LAUN, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC28 + 2004, // doomednum + S_PLAS, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_SHOTGUN + 2001, // doomednum + S_SHOT, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_SUPERSHOTGUN + 82, // doomednum + S_SHOT2, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPECIAL, // flags + S_NULL // raisestate + }, + + { // MT_MISC29 + 85, // doomednum + S_TECHLAMP, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC30 + 86, // doomednum + S_TECH2LAMP, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC31 + 2028, // doomednum + S_COLU, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC32 + 30, // doomednum + S_TALLGRNCOL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC33 + 31, // doomednum + S_SHRTGRNCOL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC34 + 32, // doomednum + S_TALLREDCOL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC35 + 33, // doomednum + S_SHRTREDCOL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC36 + 37, // doomednum + S_SKULLCOL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC37 + 36, // doomednum + S_HEARTCOL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC38 + 41, // doomednum + S_EVILEYE, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC39 + 42, // doomednum + S_FLOATSKULL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC40 + 43, // doomednum + S_TORCHTREE, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC41 + 44, // doomednum + S_BLUETORCH, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC42 + 45, // doomednum + S_GREENTORCH, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC43 + 46, // doomednum + S_REDTORCH, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC44 + 55, // doomednum + S_BTORCHSHRT, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC45 + 56, // doomednum + S_GTORCHSHRT, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC46 + 57, // doomednum + S_RTORCHSHRT, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC47 + 47, // doomednum + S_STALAGTITE, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC48 + 48, // doomednum + S_TECHPILLAR, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC49 + 34, // doomednum + S_CANDLESTIK, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + 0, // flags + S_NULL // raisestate + }, + + { // MT_MISC50 + 35, // doomednum + S_CANDELABRA, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC51 + 49, // doomednum + S_BLOODYTWITCH, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 68*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC52 + 50, // doomednum + S_MEAT2, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 84*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC53 + 51, // doomednum + S_MEAT3, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 84*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC54 + 52, // doomednum + S_MEAT4, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 68*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC55 + 53, // doomednum + S_MEAT5, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 52*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC56 + 59, // doomednum + S_MEAT2, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 84*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPAWNCEILING|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC57 + 60, // doomednum + S_MEAT4, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 68*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPAWNCEILING|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC58 + 61, // doomednum + S_MEAT3, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 52*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPAWNCEILING|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC59 + 62, // doomednum + S_MEAT5, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 52*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPAWNCEILING|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC60 + 63, // doomednum + S_BLOODYTWITCH, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 68*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SPAWNCEILING|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC61 + 22, // doomednum + S_HEAD_DIE6, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + 0, // flags + S_NULL // raisestate + }, + + { // MT_MISC62 + 15, // doomednum + S_PLAY_DIE7, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + 0, // flags + S_NULL // raisestate + }, + + { // MT_MISC63 + 18, // doomednum + S_POSS_DIE5, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + 0, // flags + S_NULL // raisestate + }, + + { // MT_MISC64 + 21, // doomednum + S_SARG_DIE6, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + 0, // flags + S_NULL // raisestate + }, + + { // MT_MISC65 + 23, // doomednum + S_SKULL_DIE6, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + 0, // flags + S_NULL // raisestate + }, + + { // MT_MISC66 + 20, // doomednum + S_TROO_DIE5, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + 0, // flags + S_NULL // raisestate + }, + + { // MT_MISC67 + 19, // doomednum + S_SPOS_DIE5, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + 0, // flags + S_NULL // raisestate + }, + + { // MT_MISC68 + 10, // doomednum + S_PLAY_XDIE9, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + 0, // flags + S_NULL // raisestate + }, + + { // MT_MISC69 + 12, // doomednum + S_PLAY_XDIE9, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + 0, // flags + S_NULL // raisestate + }, + + { // MT_MISC70 + 28, // doomednum + S_HEADSONSTICK, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC71 + 24, // doomednum + S_GIBS, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + 0, // flags + S_NULL // raisestate + }, + + { // MT_MISC72 + 27, // doomednum + S_HEADONASTICK, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC73 + 29, // doomednum + S_HEADCANDLES, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC74 + 25, // doomednum + S_DEADSTICK, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC75 + 26, // doomednum + S_LIVESTICK, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC76 + 54, // doomednum + S_BIGTREE, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 32*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC77 + 70, // doomednum + S_BBAR1, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID, // flags + S_NULL // raisestate + }, + + { // MT_MISC78 + 73, // doomednum + S_HANGNOGUTS, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 88*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC79 + 74, // doomednum + S_HANGBNOBRAIN, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 88*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC80 + 75, // doomednum + S_HANGTLOOKDN, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 64*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC81 + 76, // doomednum + S_HANGTSKULL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 64*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC82 + 77, // doomednum + S_HANGTLOOKUP, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 64*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC83 + 78, // doomednum + S_HANGTNOBRAIN, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 16*FRACUNIT, // radius + 64*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY, // flags + S_NULL // raisestate + }, + + { // MT_MISC84 + 79, // doomednum + S_COLONGIBS, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP, // flags + S_NULL // raisestate + }, + + { // MT_MISC85 + 80, // doomednum + S_SMALLPOOL, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP, // flags + S_NULL // raisestate + }, + + { // MT_MISC86 + 81, // doomednum + S_BRAINSTEM, // spawnstate + 1000, // spawnhealth + S_NULL, // seestate + sfx_None, // seesound + 8, // reactiontime + sfx_None, // attacksound + S_NULL, // painstate + 0, // painchance + sfx_None, // painsound + S_NULL, // meleestate + S_NULL, // missilestate + S_NULL, // deathstate + S_NULL, // xdeathstate + sfx_None, // deathsound + 0, // speed + 20*FRACUNIT, // radius + 16*FRACUNIT, // height + 100, // mass + 0, // damage + sfx_None, // activesound + MF_NOBLOCKMAP, // flags + S_NULL // raisestate + } +}; + diff --git a/src/kernel/userland/doom/info.h b/src/kernel/userland/doom/info.h new file mode 100644 index 0000000..648b518 --- /dev/null +++ b/src/kernel/userland/doom/info.h @@ -0,0 +1,1331 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Thing frame/state LUT, +// generated by multigen utilitiy. +// This one is the original DOOM version, preserved. +// + +#ifndef __INFO__ +#define __INFO__ + +// Needed for action function pointer handling. +#include "d_think.h" + +typedef enum +{ + SPR_TROO, + SPR_SHTG, + SPR_PUNG, + SPR_PISG, + SPR_PISF, + SPR_SHTF, + SPR_SHT2, + SPR_CHGG, + SPR_CHGF, + SPR_MISG, + SPR_MISF, + SPR_SAWG, + SPR_PLSG, + SPR_PLSF, + SPR_BFGG, + SPR_BFGF, + SPR_BLUD, + SPR_PUFF, + SPR_BAL1, + SPR_BAL2, + SPR_PLSS, + SPR_PLSE, + SPR_MISL, + SPR_BFS1, + SPR_BFE1, + SPR_BFE2, + SPR_TFOG, + SPR_IFOG, + SPR_PLAY, + SPR_POSS, + SPR_SPOS, + SPR_VILE, + SPR_FIRE, + SPR_FATB, + SPR_FBXP, + SPR_SKEL, + SPR_MANF, + SPR_FATT, + SPR_CPOS, + SPR_SARG, + SPR_HEAD, + SPR_BAL7, + SPR_BOSS, + SPR_BOS2, + SPR_SKUL, + SPR_SPID, + SPR_BSPI, + SPR_APLS, + SPR_APBX, + SPR_CYBR, + SPR_PAIN, + SPR_SSWV, + SPR_KEEN, + SPR_BBRN, + SPR_BOSF, + SPR_ARM1, + SPR_ARM2, + SPR_BAR1, + SPR_BEXP, + SPR_FCAN, + SPR_BON1, + SPR_BON2, + SPR_BKEY, + SPR_RKEY, + SPR_YKEY, + SPR_BSKU, + SPR_RSKU, + SPR_YSKU, + SPR_STIM, + SPR_MEDI, + SPR_SOUL, + SPR_PINV, + SPR_PSTR, + SPR_PINS, + SPR_MEGA, + SPR_SUIT, + SPR_PMAP, + SPR_PVIS, + SPR_CLIP, + SPR_AMMO, + SPR_ROCK, + SPR_BROK, + SPR_CELL, + SPR_CELP, + SPR_SHEL, + SPR_SBOX, + SPR_BPAK, + SPR_BFUG, + SPR_MGUN, + SPR_CSAW, + SPR_LAUN, + SPR_PLAS, + SPR_SHOT, + SPR_SGN2, + SPR_COLU, + SPR_SMT2, + SPR_GOR1, + SPR_POL2, + SPR_POL5, + SPR_POL4, + SPR_POL3, + SPR_POL1, + SPR_POL6, + SPR_GOR2, + SPR_GOR3, + SPR_GOR4, + SPR_GOR5, + SPR_SMIT, + SPR_COL1, + SPR_COL2, + SPR_COL3, + SPR_COL4, + SPR_CAND, + SPR_CBRA, + SPR_COL6, + SPR_TRE1, + SPR_TRE2, + SPR_ELEC, + SPR_CEYE, + SPR_FSKU, + SPR_COL5, + SPR_TBLU, + SPR_TGRN, + SPR_TRED, + SPR_SMBT, + SPR_SMGT, + SPR_SMRT, + SPR_HDB1, + SPR_HDB2, + SPR_HDB3, + SPR_HDB4, + SPR_HDB5, + SPR_HDB6, + SPR_POB1, + SPR_POB2, + SPR_BRS1, + SPR_TLMP, + SPR_TLP2, + NUMSPRITES + +} spritenum_t; + +typedef enum +{ + S_NULL, + S_LIGHTDONE, + S_PUNCH, + S_PUNCHDOWN, + S_PUNCHUP, + S_PUNCH1, + S_PUNCH2, + S_PUNCH3, + S_PUNCH4, + S_PUNCH5, + S_PISTOL, + S_PISTOLDOWN, + S_PISTOLUP, + S_PISTOL1, + S_PISTOL2, + S_PISTOL3, + S_PISTOL4, + S_PISTOLFLASH, + S_SGUN, + S_SGUNDOWN, + S_SGUNUP, + S_SGUN1, + S_SGUN2, + S_SGUN3, + S_SGUN4, + S_SGUN5, + S_SGUN6, + S_SGUN7, + S_SGUN8, + S_SGUN9, + S_SGUNFLASH1, + S_SGUNFLASH2, + S_DSGUN, + S_DSGUNDOWN, + S_DSGUNUP, + S_DSGUN1, + S_DSGUN2, + S_DSGUN3, + S_DSGUN4, + S_DSGUN5, + S_DSGUN6, + S_DSGUN7, + S_DSGUN8, + S_DSGUN9, + S_DSGUN10, + S_DSNR1, + S_DSNR2, + S_DSGUNFLASH1, + S_DSGUNFLASH2, + S_CHAIN, + S_CHAINDOWN, + S_CHAINUP, + S_CHAIN1, + S_CHAIN2, + S_CHAIN3, + S_CHAINFLASH1, + S_CHAINFLASH2, + S_MISSILE, + S_MISSILEDOWN, + S_MISSILEUP, + S_MISSILE1, + S_MISSILE2, + S_MISSILE3, + S_MISSILEFLASH1, + S_MISSILEFLASH2, + S_MISSILEFLASH3, + S_MISSILEFLASH4, + S_SAW, + S_SAWB, + S_SAWDOWN, + S_SAWUP, + S_SAW1, + S_SAW2, + S_SAW3, + S_PLASMA, + S_PLASMADOWN, + S_PLASMAUP, + S_PLASMA1, + S_PLASMA2, + S_PLASMAFLASH1, + S_PLASMAFLASH2, + S_BFG, + S_BFGDOWN, + S_BFGUP, + S_BFG1, + S_BFG2, + S_BFG3, + S_BFG4, + S_BFGFLASH1, + S_BFGFLASH2, + S_BLOOD1, + S_BLOOD2, + S_BLOOD3, + S_PUFF1, + S_PUFF2, + S_PUFF3, + S_PUFF4, + S_TBALL1, + S_TBALL2, + S_TBALLX1, + S_TBALLX2, + S_TBALLX3, + S_RBALL1, + S_RBALL2, + S_RBALLX1, + S_RBALLX2, + S_RBALLX3, + S_PLASBALL, + S_PLASBALL2, + S_PLASEXP, + S_PLASEXP2, + S_PLASEXP3, + S_PLASEXP4, + S_PLASEXP5, + S_ROCKET, + S_BFGSHOT, + S_BFGSHOT2, + S_BFGLAND, + S_BFGLAND2, + S_BFGLAND3, + S_BFGLAND4, + S_BFGLAND5, + S_BFGLAND6, + S_BFGEXP, + S_BFGEXP2, + S_BFGEXP3, + S_BFGEXP4, + S_EXPLODE1, + S_EXPLODE2, + S_EXPLODE3, + S_TFOG, + S_TFOG01, + S_TFOG02, + S_TFOG2, + S_TFOG3, + S_TFOG4, + S_TFOG5, + S_TFOG6, + S_TFOG7, + S_TFOG8, + S_TFOG9, + S_TFOG10, + S_IFOG, + S_IFOG01, + S_IFOG02, + S_IFOG2, + S_IFOG3, + S_IFOG4, + S_IFOG5, + S_PLAY, + S_PLAY_RUN1, + S_PLAY_RUN2, + S_PLAY_RUN3, + S_PLAY_RUN4, + S_PLAY_ATK1, + S_PLAY_ATK2, + S_PLAY_PAIN, + S_PLAY_PAIN2, + S_PLAY_DIE1, + S_PLAY_DIE2, + S_PLAY_DIE3, + S_PLAY_DIE4, + S_PLAY_DIE5, + S_PLAY_DIE6, + S_PLAY_DIE7, + S_PLAY_XDIE1, + S_PLAY_XDIE2, + S_PLAY_XDIE3, + S_PLAY_XDIE4, + S_PLAY_XDIE5, + S_PLAY_XDIE6, + S_PLAY_XDIE7, + S_PLAY_XDIE8, + S_PLAY_XDIE9, + S_POSS_STND, + S_POSS_STND2, + S_POSS_RUN1, + S_POSS_RUN2, + S_POSS_RUN3, + S_POSS_RUN4, + S_POSS_RUN5, + S_POSS_RUN6, + S_POSS_RUN7, + S_POSS_RUN8, + S_POSS_ATK1, + S_POSS_ATK2, + S_POSS_ATK3, + S_POSS_PAIN, + S_POSS_PAIN2, + S_POSS_DIE1, + S_POSS_DIE2, + S_POSS_DIE3, + S_POSS_DIE4, + S_POSS_DIE5, + S_POSS_XDIE1, + S_POSS_XDIE2, + S_POSS_XDIE3, + S_POSS_XDIE4, + S_POSS_XDIE5, + S_POSS_XDIE6, + S_POSS_XDIE7, + S_POSS_XDIE8, + S_POSS_XDIE9, + S_POSS_RAISE1, + S_POSS_RAISE2, + S_POSS_RAISE3, + S_POSS_RAISE4, + S_SPOS_STND, + S_SPOS_STND2, + S_SPOS_RUN1, + S_SPOS_RUN2, + S_SPOS_RUN3, + S_SPOS_RUN4, + S_SPOS_RUN5, + S_SPOS_RUN6, + S_SPOS_RUN7, + S_SPOS_RUN8, + S_SPOS_ATK1, + S_SPOS_ATK2, + S_SPOS_ATK3, + S_SPOS_PAIN, + S_SPOS_PAIN2, + S_SPOS_DIE1, + S_SPOS_DIE2, + S_SPOS_DIE3, + S_SPOS_DIE4, + S_SPOS_DIE5, + S_SPOS_XDIE1, + S_SPOS_XDIE2, + S_SPOS_XDIE3, + S_SPOS_XDIE4, + S_SPOS_XDIE5, + S_SPOS_XDIE6, + S_SPOS_XDIE7, + S_SPOS_XDIE8, + S_SPOS_XDIE9, + S_SPOS_RAISE1, + S_SPOS_RAISE2, + S_SPOS_RAISE3, + S_SPOS_RAISE4, + S_SPOS_RAISE5, + S_VILE_STND, + S_VILE_STND2, + S_VILE_RUN1, + S_VILE_RUN2, + S_VILE_RUN3, + S_VILE_RUN4, + S_VILE_RUN5, + S_VILE_RUN6, + S_VILE_RUN7, + S_VILE_RUN8, + S_VILE_RUN9, + S_VILE_RUN10, + S_VILE_RUN11, + S_VILE_RUN12, + S_VILE_ATK1, + S_VILE_ATK2, + S_VILE_ATK3, + S_VILE_ATK4, + S_VILE_ATK5, + S_VILE_ATK6, + S_VILE_ATK7, + S_VILE_ATK8, + S_VILE_ATK9, + S_VILE_ATK10, + S_VILE_ATK11, + S_VILE_HEAL1, + S_VILE_HEAL2, + S_VILE_HEAL3, + S_VILE_PAIN, + S_VILE_PAIN2, + S_VILE_DIE1, + S_VILE_DIE2, + S_VILE_DIE3, + S_VILE_DIE4, + S_VILE_DIE5, + S_VILE_DIE6, + S_VILE_DIE7, + S_VILE_DIE8, + S_VILE_DIE9, + S_VILE_DIE10, + S_FIRE1, + S_FIRE2, + S_FIRE3, + S_FIRE4, + S_FIRE5, + S_FIRE6, + S_FIRE7, + S_FIRE8, + S_FIRE9, + S_FIRE10, + S_FIRE11, + S_FIRE12, + S_FIRE13, + S_FIRE14, + S_FIRE15, + S_FIRE16, + S_FIRE17, + S_FIRE18, + S_FIRE19, + S_FIRE20, + S_FIRE21, + S_FIRE22, + S_FIRE23, + S_FIRE24, + S_FIRE25, + S_FIRE26, + S_FIRE27, + S_FIRE28, + S_FIRE29, + S_FIRE30, + S_SMOKE1, + S_SMOKE2, + S_SMOKE3, + S_SMOKE4, + S_SMOKE5, + S_TRACER, + S_TRACER2, + S_TRACEEXP1, + S_TRACEEXP2, + S_TRACEEXP3, + S_SKEL_STND, + S_SKEL_STND2, + S_SKEL_RUN1, + S_SKEL_RUN2, + S_SKEL_RUN3, + S_SKEL_RUN4, + S_SKEL_RUN5, + S_SKEL_RUN6, + S_SKEL_RUN7, + S_SKEL_RUN8, + S_SKEL_RUN9, + S_SKEL_RUN10, + S_SKEL_RUN11, + S_SKEL_RUN12, + S_SKEL_FIST1, + S_SKEL_FIST2, + S_SKEL_FIST3, + S_SKEL_FIST4, + S_SKEL_MISS1, + S_SKEL_MISS2, + S_SKEL_MISS3, + S_SKEL_MISS4, + S_SKEL_PAIN, + S_SKEL_PAIN2, + S_SKEL_DIE1, + S_SKEL_DIE2, + S_SKEL_DIE3, + S_SKEL_DIE4, + S_SKEL_DIE5, + S_SKEL_DIE6, + S_SKEL_RAISE1, + S_SKEL_RAISE2, + S_SKEL_RAISE3, + S_SKEL_RAISE4, + S_SKEL_RAISE5, + S_SKEL_RAISE6, + S_FATSHOT1, + S_FATSHOT2, + S_FATSHOTX1, + S_FATSHOTX2, + S_FATSHOTX3, + S_FATT_STND, + S_FATT_STND2, + S_FATT_RUN1, + S_FATT_RUN2, + S_FATT_RUN3, + S_FATT_RUN4, + S_FATT_RUN5, + S_FATT_RUN6, + S_FATT_RUN7, + S_FATT_RUN8, + S_FATT_RUN9, + S_FATT_RUN10, + S_FATT_RUN11, + S_FATT_RUN12, + S_FATT_ATK1, + S_FATT_ATK2, + S_FATT_ATK3, + S_FATT_ATK4, + S_FATT_ATK5, + S_FATT_ATK6, + S_FATT_ATK7, + S_FATT_ATK8, + S_FATT_ATK9, + S_FATT_ATK10, + S_FATT_PAIN, + S_FATT_PAIN2, + S_FATT_DIE1, + S_FATT_DIE2, + S_FATT_DIE3, + S_FATT_DIE4, + S_FATT_DIE5, + S_FATT_DIE6, + S_FATT_DIE7, + S_FATT_DIE8, + S_FATT_DIE9, + S_FATT_DIE10, + S_FATT_RAISE1, + S_FATT_RAISE2, + S_FATT_RAISE3, + S_FATT_RAISE4, + S_FATT_RAISE5, + S_FATT_RAISE6, + S_FATT_RAISE7, + S_FATT_RAISE8, + S_CPOS_STND, + S_CPOS_STND2, + S_CPOS_RUN1, + S_CPOS_RUN2, + S_CPOS_RUN3, + S_CPOS_RUN4, + S_CPOS_RUN5, + S_CPOS_RUN6, + S_CPOS_RUN7, + S_CPOS_RUN8, + S_CPOS_ATK1, + S_CPOS_ATK2, + S_CPOS_ATK3, + S_CPOS_ATK4, + S_CPOS_PAIN, + S_CPOS_PAIN2, + S_CPOS_DIE1, + S_CPOS_DIE2, + S_CPOS_DIE3, + S_CPOS_DIE4, + S_CPOS_DIE5, + S_CPOS_DIE6, + S_CPOS_DIE7, + S_CPOS_XDIE1, + S_CPOS_XDIE2, + S_CPOS_XDIE3, + S_CPOS_XDIE4, + S_CPOS_XDIE5, + S_CPOS_XDIE6, + S_CPOS_RAISE1, + S_CPOS_RAISE2, + S_CPOS_RAISE3, + S_CPOS_RAISE4, + S_CPOS_RAISE5, + S_CPOS_RAISE6, + S_CPOS_RAISE7, + S_TROO_STND, + S_TROO_STND2, + S_TROO_RUN1, + S_TROO_RUN2, + S_TROO_RUN3, + S_TROO_RUN4, + S_TROO_RUN5, + S_TROO_RUN6, + S_TROO_RUN7, + S_TROO_RUN8, + S_TROO_ATK1, + S_TROO_ATK2, + S_TROO_ATK3, + S_TROO_PAIN, + S_TROO_PAIN2, + S_TROO_DIE1, + S_TROO_DIE2, + S_TROO_DIE3, + S_TROO_DIE4, + S_TROO_DIE5, + S_TROO_XDIE1, + S_TROO_XDIE2, + S_TROO_XDIE3, + S_TROO_XDIE4, + S_TROO_XDIE5, + S_TROO_XDIE6, + S_TROO_XDIE7, + S_TROO_XDIE8, + S_TROO_RAISE1, + S_TROO_RAISE2, + S_TROO_RAISE3, + S_TROO_RAISE4, + S_TROO_RAISE5, + S_SARG_STND, + S_SARG_STND2, + S_SARG_RUN1, + S_SARG_RUN2, + S_SARG_RUN3, + S_SARG_RUN4, + S_SARG_RUN5, + S_SARG_RUN6, + S_SARG_RUN7, + S_SARG_RUN8, + S_SARG_ATK1, + S_SARG_ATK2, + S_SARG_ATK3, + S_SARG_PAIN, + S_SARG_PAIN2, + S_SARG_DIE1, + S_SARG_DIE2, + S_SARG_DIE3, + S_SARG_DIE4, + S_SARG_DIE5, + S_SARG_DIE6, + S_SARG_RAISE1, + S_SARG_RAISE2, + S_SARG_RAISE3, + S_SARG_RAISE4, + S_SARG_RAISE5, + S_SARG_RAISE6, + S_HEAD_STND, + S_HEAD_RUN1, + S_HEAD_ATK1, + S_HEAD_ATK2, + S_HEAD_ATK3, + S_HEAD_PAIN, + S_HEAD_PAIN2, + S_HEAD_PAIN3, + S_HEAD_DIE1, + S_HEAD_DIE2, + S_HEAD_DIE3, + S_HEAD_DIE4, + S_HEAD_DIE5, + S_HEAD_DIE6, + S_HEAD_RAISE1, + S_HEAD_RAISE2, + S_HEAD_RAISE3, + S_HEAD_RAISE4, + S_HEAD_RAISE5, + S_HEAD_RAISE6, + S_BRBALL1, + S_BRBALL2, + S_BRBALLX1, + S_BRBALLX2, + S_BRBALLX3, + S_BOSS_STND, + S_BOSS_STND2, + S_BOSS_RUN1, + S_BOSS_RUN2, + S_BOSS_RUN3, + S_BOSS_RUN4, + S_BOSS_RUN5, + S_BOSS_RUN6, + S_BOSS_RUN7, + S_BOSS_RUN8, + S_BOSS_ATK1, + S_BOSS_ATK2, + S_BOSS_ATK3, + S_BOSS_PAIN, + S_BOSS_PAIN2, + S_BOSS_DIE1, + S_BOSS_DIE2, + S_BOSS_DIE3, + S_BOSS_DIE4, + S_BOSS_DIE5, + S_BOSS_DIE6, + S_BOSS_DIE7, + S_BOSS_RAISE1, + S_BOSS_RAISE2, + S_BOSS_RAISE3, + S_BOSS_RAISE4, + S_BOSS_RAISE5, + S_BOSS_RAISE6, + S_BOSS_RAISE7, + S_BOS2_STND, + S_BOS2_STND2, + S_BOS2_RUN1, + S_BOS2_RUN2, + S_BOS2_RUN3, + S_BOS2_RUN4, + S_BOS2_RUN5, + S_BOS2_RUN6, + S_BOS2_RUN7, + S_BOS2_RUN8, + S_BOS2_ATK1, + S_BOS2_ATK2, + S_BOS2_ATK3, + S_BOS2_PAIN, + S_BOS2_PAIN2, + S_BOS2_DIE1, + S_BOS2_DIE2, + S_BOS2_DIE3, + S_BOS2_DIE4, + S_BOS2_DIE5, + S_BOS2_DIE6, + S_BOS2_DIE7, + S_BOS2_RAISE1, + S_BOS2_RAISE2, + S_BOS2_RAISE3, + S_BOS2_RAISE4, + S_BOS2_RAISE5, + S_BOS2_RAISE6, + S_BOS2_RAISE7, + S_SKULL_STND, + S_SKULL_STND2, + S_SKULL_RUN1, + S_SKULL_RUN2, + S_SKULL_ATK1, + S_SKULL_ATK2, + S_SKULL_ATK3, + S_SKULL_ATK4, + S_SKULL_PAIN, + S_SKULL_PAIN2, + S_SKULL_DIE1, + S_SKULL_DIE2, + S_SKULL_DIE3, + S_SKULL_DIE4, + S_SKULL_DIE5, + S_SKULL_DIE6, + S_SPID_STND, + S_SPID_STND2, + S_SPID_RUN1, + S_SPID_RUN2, + S_SPID_RUN3, + S_SPID_RUN4, + S_SPID_RUN5, + S_SPID_RUN6, + S_SPID_RUN7, + S_SPID_RUN8, + S_SPID_RUN9, + S_SPID_RUN10, + S_SPID_RUN11, + S_SPID_RUN12, + S_SPID_ATK1, + S_SPID_ATK2, + S_SPID_ATK3, + S_SPID_ATK4, + S_SPID_PAIN, + S_SPID_PAIN2, + S_SPID_DIE1, + S_SPID_DIE2, + S_SPID_DIE3, + S_SPID_DIE4, + S_SPID_DIE5, + S_SPID_DIE6, + S_SPID_DIE7, + S_SPID_DIE8, + S_SPID_DIE9, + S_SPID_DIE10, + S_SPID_DIE11, + S_BSPI_STND, + S_BSPI_STND2, + S_BSPI_SIGHT, + S_BSPI_RUN1, + S_BSPI_RUN2, + S_BSPI_RUN3, + S_BSPI_RUN4, + S_BSPI_RUN5, + S_BSPI_RUN6, + S_BSPI_RUN7, + S_BSPI_RUN8, + S_BSPI_RUN9, + S_BSPI_RUN10, + S_BSPI_RUN11, + S_BSPI_RUN12, + S_BSPI_ATK1, + S_BSPI_ATK2, + S_BSPI_ATK3, + S_BSPI_ATK4, + S_BSPI_PAIN, + S_BSPI_PAIN2, + S_BSPI_DIE1, + S_BSPI_DIE2, + S_BSPI_DIE3, + S_BSPI_DIE4, + S_BSPI_DIE5, + S_BSPI_DIE6, + S_BSPI_DIE7, + S_BSPI_RAISE1, + S_BSPI_RAISE2, + S_BSPI_RAISE3, + S_BSPI_RAISE4, + S_BSPI_RAISE5, + S_BSPI_RAISE6, + S_BSPI_RAISE7, + S_ARACH_PLAZ, + S_ARACH_PLAZ2, + S_ARACH_PLEX, + S_ARACH_PLEX2, + S_ARACH_PLEX3, + S_ARACH_PLEX4, + S_ARACH_PLEX5, + S_CYBER_STND, + S_CYBER_STND2, + S_CYBER_RUN1, + S_CYBER_RUN2, + S_CYBER_RUN3, + S_CYBER_RUN4, + S_CYBER_RUN5, + S_CYBER_RUN6, + S_CYBER_RUN7, + S_CYBER_RUN8, + S_CYBER_ATK1, + S_CYBER_ATK2, + S_CYBER_ATK3, + S_CYBER_ATK4, + S_CYBER_ATK5, + S_CYBER_ATK6, + S_CYBER_PAIN, + S_CYBER_DIE1, + S_CYBER_DIE2, + S_CYBER_DIE3, + S_CYBER_DIE4, + S_CYBER_DIE5, + S_CYBER_DIE6, + S_CYBER_DIE7, + S_CYBER_DIE8, + S_CYBER_DIE9, + S_CYBER_DIE10, + S_PAIN_STND, + S_PAIN_RUN1, + S_PAIN_RUN2, + S_PAIN_RUN3, + S_PAIN_RUN4, + S_PAIN_RUN5, + S_PAIN_RUN6, + S_PAIN_ATK1, + S_PAIN_ATK2, + S_PAIN_ATK3, + S_PAIN_ATK4, + S_PAIN_PAIN, + S_PAIN_PAIN2, + S_PAIN_DIE1, + S_PAIN_DIE2, + S_PAIN_DIE3, + S_PAIN_DIE4, + S_PAIN_DIE5, + S_PAIN_DIE6, + S_PAIN_RAISE1, + S_PAIN_RAISE2, + S_PAIN_RAISE3, + S_PAIN_RAISE4, + S_PAIN_RAISE5, + S_PAIN_RAISE6, + S_SSWV_STND, + S_SSWV_STND2, + S_SSWV_RUN1, + S_SSWV_RUN2, + S_SSWV_RUN3, + S_SSWV_RUN4, + S_SSWV_RUN5, + S_SSWV_RUN6, + S_SSWV_RUN7, + S_SSWV_RUN8, + S_SSWV_ATK1, + S_SSWV_ATK2, + S_SSWV_ATK3, + S_SSWV_ATK4, + S_SSWV_ATK5, + S_SSWV_ATK6, + S_SSWV_PAIN, + S_SSWV_PAIN2, + S_SSWV_DIE1, + S_SSWV_DIE2, + S_SSWV_DIE3, + S_SSWV_DIE4, + S_SSWV_DIE5, + S_SSWV_XDIE1, + S_SSWV_XDIE2, + S_SSWV_XDIE3, + S_SSWV_XDIE4, + S_SSWV_XDIE5, + S_SSWV_XDIE6, + S_SSWV_XDIE7, + S_SSWV_XDIE8, + S_SSWV_XDIE9, + S_SSWV_RAISE1, + S_SSWV_RAISE2, + S_SSWV_RAISE3, + S_SSWV_RAISE4, + S_SSWV_RAISE5, + S_KEENSTND, + S_COMMKEEN, + S_COMMKEEN2, + S_COMMKEEN3, + S_COMMKEEN4, + S_COMMKEEN5, + S_COMMKEEN6, + S_COMMKEEN7, + S_COMMKEEN8, + S_COMMKEEN9, + S_COMMKEEN10, + S_COMMKEEN11, + S_COMMKEEN12, + S_KEENPAIN, + S_KEENPAIN2, + S_BRAIN, + S_BRAIN_PAIN, + S_BRAIN_DIE1, + S_BRAIN_DIE2, + S_BRAIN_DIE3, + S_BRAIN_DIE4, + S_BRAINEYE, + S_BRAINEYESEE, + S_BRAINEYE1, + S_SPAWN1, + S_SPAWN2, + S_SPAWN3, + S_SPAWN4, + S_SPAWNFIRE1, + S_SPAWNFIRE2, + S_SPAWNFIRE3, + S_SPAWNFIRE4, + S_SPAWNFIRE5, + S_SPAWNFIRE6, + S_SPAWNFIRE7, + S_SPAWNFIRE8, + S_BRAINEXPLODE1, + S_BRAINEXPLODE2, + S_BRAINEXPLODE3, + S_ARM1, + S_ARM1A, + S_ARM2, + S_ARM2A, + S_BAR1, + S_BAR2, + S_BEXP, + S_BEXP2, + S_BEXP3, + S_BEXP4, + S_BEXP5, + S_BBAR1, + S_BBAR2, + S_BBAR3, + S_BON1, + S_BON1A, + S_BON1B, + S_BON1C, + S_BON1D, + S_BON1E, + S_BON2, + S_BON2A, + S_BON2B, + S_BON2C, + S_BON2D, + S_BON2E, + S_BKEY, + S_BKEY2, + S_RKEY, + S_RKEY2, + S_YKEY, + S_YKEY2, + S_BSKULL, + S_BSKULL2, + S_RSKULL, + S_RSKULL2, + S_YSKULL, + S_YSKULL2, + S_STIM, + S_MEDI, + S_SOUL, + S_SOUL2, + S_SOUL3, + S_SOUL4, + S_SOUL5, + S_SOUL6, + S_PINV, + S_PINV2, + S_PINV3, + S_PINV4, + S_PSTR, + S_PINS, + S_PINS2, + S_PINS3, + S_PINS4, + S_MEGA, + S_MEGA2, + S_MEGA3, + S_MEGA4, + S_SUIT, + S_PMAP, + S_PMAP2, + S_PMAP3, + S_PMAP4, + S_PMAP5, + S_PMAP6, + S_PVIS, + S_PVIS2, + S_CLIP, + S_AMMO, + S_ROCK, + S_BROK, + S_CELL, + S_CELP, + S_SHEL, + S_SBOX, + S_BPAK, + S_BFUG, + S_MGUN, + S_CSAW, + S_LAUN, + S_PLAS, + S_SHOT, + S_SHOT2, + S_COLU, + S_STALAG, + S_BLOODYTWITCH, + S_BLOODYTWITCH2, + S_BLOODYTWITCH3, + S_BLOODYTWITCH4, + S_DEADTORSO, + S_DEADBOTTOM, + S_HEADSONSTICK, + S_GIBS, + S_HEADONASTICK, + S_HEADCANDLES, + S_HEADCANDLES2, + S_DEADSTICK, + S_LIVESTICK, + S_LIVESTICK2, + S_MEAT2, + S_MEAT3, + S_MEAT4, + S_MEAT5, + S_STALAGTITE, + S_TALLGRNCOL, + S_SHRTGRNCOL, + S_TALLREDCOL, + S_SHRTREDCOL, + S_CANDLESTIK, + S_CANDELABRA, + S_SKULLCOL, + S_TORCHTREE, + S_BIGTREE, + S_TECHPILLAR, + S_EVILEYE, + S_EVILEYE2, + S_EVILEYE3, + S_EVILEYE4, + S_FLOATSKULL, + S_FLOATSKULL2, + S_FLOATSKULL3, + S_HEARTCOL, + S_HEARTCOL2, + S_BLUETORCH, + S_BLUETORCH2, + S_BLUETORCH3, + S_BLUETORCH4, + S_GREENTORCH, + S_GREENTORCH2, + S_GREENTORCH3, + S_GREENTORCH4, + S_REDTORCH, + S_REDTORCH2, + S_REDTORCH3, + S_REDTORCH4, + S_BTORCHSHRT, + S_BTORCHSHRT2, + S_BTORCHSHRT3, + S_BTORCHSHRT4, + S_GTORCHSHRT, + S_GTORCHSHRT2, + S_GTORCHSHRT3, + S_GTORCHSHRT4, + S_RTORCHSHRT, + S_RTORCHSHRT2, + S_RTORCHSHRT3, + S_RTORCHSHRT4, + S_HANGNOGUTS, + S_HANGBNOBRAIN, + S_HANGTLOOKDN, + S_HANGTSKULL, + S_HANGTLOOKUP, + S_HANGTNOBRAIN, + S_COLONGIBS, + S_SMALLPOOL, + S_BRAINSTEM, + S_TECHLAMP, + S_TECHLAMP2, + S_TECHLAMP3, + S_TECHLAMP4, + S_TECH2LAMP, + S_TECH2LAMP2, + S_TECH2LAMP3, + S_TECH2LAMP4, + NUMSTATES +} statenum_t; + + +typedef struct +{ + spritenum_t sprite; + int frame; + int tics; + // void (*action) (); + actionf_t action; + statenum_t nextstate; + int misc1; + int misc2; +} state_t; + +extern state_t states[NUMSTATES]; +extern char *sprnames[]; + +typedef enum { + MT_PLAYER, + MT_POSSESSED, + MT_SHOTGUY, + MT_VILE, + MT_FIRE, + MT_UNDEAD, + MT_TRACER, + MT_SMOKE, + MT_FATSO, + MT_FATSHOT, + MT_CHAINGUY, + MT_TROOP, + MT_SERGEANT, + MT_SHADOWS, + MT_HEAD, + MT_BRUISER, + MT_BRUISERSHOT, + MT_KNIGHT, + MT_SKULL, + MT_SPIDER, + MT_BABY, + MT_CYBORG, + MT_PAIN, + MT_WOLFSS, + MT_KEEN, + MT_BOSSBRAIN, + MT_BOSSSPIT, + MT_BOSSTARGET, + MT_SPAWNSHOT, + MT_SPAWNFIRE, + MT_BARREL, + MT_TROOPSHOT, + MT_HEADSHOT, + MT_ROCKET, + MT_PLASMA, + MT_BFG, + MT_ARACHPLAZ, + MT_PUFF, + MT_BLOOD, + MT_TFOG, + MT_IFOG, + MT_TELEPORTMAN, + MT_EXTRABFG, + MT_MISC0, + MT_MISC1, + MT_MISC2, + MT_MISC3, + MT_MISC4, + MT_MISC5, + MT_MISC6, + MT_MISC7, + MT_MISC8, + MT_MISC9, + MT_MISC10, + MT_MISC11, + MT_MISC12, + MT_INV, + MT_MISC13, + MT_INS, + MT_MISC14, + MT_MISC15, + MT_MISC16, + MT_MEGA, + MT_CLIP, + MT_MISC17, + MT_MISC18, + MT_MISC19, + MT_MISC20, + MT_MISC21, + MT_MISC22, + MT_MISC23, + MT_MISC24, + MT_MISC25, + MT_CHAINGUN, + MT_MISC26, + MT_MISC27, + MT_MISC28, + MT_SHOTGUN, + MT_SUPERSHOTGUN, + MT_MISC29, + MT_MISC30, + MT_MISC31, + MT_MISC32, + MT_MISC33, + MT_MISC34, + MT_MISC35, + MT_MISC36, + MT_MISC37, + MT_MISC38, + MT_MISC39, + MT_MISC40, + MT_MISC41, + MT_MISC42, + MT_MISC43, + MT_MISC44, + MT_MISC45, + MT_MISC46, + MT_MISC47, + MT_MISC48, + MT_MISC49, + MT_MISC50, + MT_MISC51, + MT_MISC52, + MT_MISC53, + MT_MISC54, + MT_MISC55, + MT_MISC56, + MT_MISC57, + MT_MISC58, + MT_MISC59, + MT_MISC60, + MT_MISC61, + MT_MISC62, + MT_MISC63, + MT_MISC64, + MT_MISC65, + MT_MISC66, + MT_MISC67, + MT_MISC68, + MT_MISC69, + MT_MISC70, + MT_MISC71, + MT_MISC72, + MT_MISC73, + MT_MISC74, + MT_MISC75, + MT_MISC76, + MT_MISC77, + MT_MISC78, + MT_MISC79, + MT_MISC80, + MT_MISC81, + MT_MISC82, + MT_MISC83, + MT_MISC84, + MT_MISC85, + MT_MISC86, + NUMMOBJTYPES + +} mobjtype_t; + +typedef struct +{ + int doomednum; + int spawnstate; + int spawnhealth; + int seestate; + int seesound; + int reactiontime; + int attacksound; + int painstate; + int painchance; + int painsound; + int meleestate; + int missilestate; + int deathstate; + int xdeathstate; + int deathsound; + int speed; + int radius; + int height; + int mass; + int damage; + int activesound; + int flags; + int raisestate; + +} mobjinfo_t; + +extern mobjinfo_t mobjinfo[NUMMOBJTYPES]; + +#endif diff --git a/src/kernel/userland/doom/inttypes.h b/src/kernel/userland/doom/inttypes.h new file mode 100644 index 0000000..28a93be --- /dev/null +++ b/src/kernel/userland/doom/inttypes.h @@ -0,0 +1 @@ +#include "boredos_libc.h" diff --git a/src/kernel/userland/doom/m_argv.c b/src/kernel/userland/doom/m_argv.c new file mode 100644 index 0000000..1582450 --- /dev/null +++ b/src/kernel/userland/doom/m_argv.c @@ -0,0 +1,265 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// + + +#include +#include +#include +#include + +#include "doomtype.h" +#include "i_system.h" +#include "m_misc.h" +#include "m_argv.h" // haleyjd 20110212: warning fix + +int myargc; +char** myargv; + + + + +// +// M_CheckParm +// Checks for the given parameter +// in the program's command line arguments. +// Returns the argument number (1 to argc-1) +// or 0 if not present +// + +int M_CheckParmWithArgs(char *check, int num_args) +{ + int i; + + for (i = 1; i < myargc - num_args; i++) + { + if (!strcasecmp(check, myargv[i])) + return i; + } + + return 0; +} + +// +// M_ParmExists +// +// Returns true if the given parameter exists in the program's command +// line arguments, false if not. +// + +boolean M_ParmExists(char *check) +{ + return M_CheckParm(check) != 0; +} + +int M_CheckParm(char *check) +{ + return M_CheckParmWithArgs(check, 0); +} + +#define MAXARGVS 100 + +static void LoadResponseFile(int argv_index) +{ +#if ORIGCODE + FILE *handle; + int size; + char *infile; + char *file; + char *response_filename; + char **newargv; + int newargc; + int i, k; + + response_filename = myargv[argv_index] + 1; + + // Read the response file into memory + handle = fopen(response_filename, "rb"); + + if (handle == NULL) + { + printf ("\nNo such response file!"); +#if ORIGCODE + exit(1); +#endif + } + + printf("Found response file %s!\n", response_filename); + + size = M_FileLength(handle); + + // Read in the entire file + // Allocate one byte extra - this is in case there is an argument + // at the end of the response file, in which case a '\0' will be + // needed. + + file = malloc(size + 1); + + i = 0; + + while (i < size) + { + k = fread(file + i, 1, size - i, handle); + + if (k < 0) + { + I_Error("Failed to read full contents of '%s'", response_filename); + } + + i += k; + } + + fclose(handle); + + // Create new arguments list array + + newargv = malloc(sizeof(char *) * MAXARGVS); + newargc = 0; + memset(newargv, 0, sizeof(char *) * MAXARGVS); + + // Copy all the arguments in the list up to the response file + + for (i=0; i= size) + { + break; + } + + // If the next argument is enclosed in quote marks, treat + // the contents as a single argument. This allows long filenames + // to be specified. + + if (infile[k] == '\"') + { + // Skip the first character(") + ++k; + + newargv[newargc++] = &infile[k]; + + // Read all characters between quotes + + while (k < size && infile[k] != '\"' && infile[k] != '\n') + { + ++k; + } + + if (k >= size || infile[k] == '\n') + { + I_Error("Quotes unclosed in response file '%s'", + response_filename); + } + + // Cut off the string at the closing quote + + infile[k] = '\0'; + ++k; + } + else + { + // Read in the next argument until a space is reached + + newargv[newargc++] = &infile[k]; + + while(k < size && !isspace((int)infile[k])) + { + ++k; + } + + // Cut off the end of the argument at the first space + + infile[k] = '\0'; + + ++k; + } + } + + // Add arguments following the response file argument + + for (i=argv_index + 1; ibox[BOXRIGHT]) + box[BOXRIGHT] = x; + if (ybox[BOXTOP]) + box[BOXTOP] = y; +} + + + + + diff --git a/src/kernel/userland/doom/m_bbox.h b/src/kernel/userland/doom/m_bbox.h new file mode 100644 index 0000000..5a7af57 --- /dev/null +++ b/src/kernel/userland/doom/m_bbox.h @@ -0,0 +1,47 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Nil. +// + + +#ifndef __M_BBOX__ +#define __M_BBOX__ + +#include + +#include "m_fixed.h" + + +// Bounding box coordinate storage. +enum +{ + BOXTOP, + BOXBOTTOM, + BOXLEFT, + BOXRIGHT +}; // bbox coordinates + +// Bounding box functions. +void M_ClearBox (fixed_t* box); + +void +M_AddToBox +( fixed_t* box, + fixed_t x, + fixed_t y ); + + +#endif diff --git a/src/kernel/userland/doom/m_cheat.c b/src/kernel/userland/doom/m_cheat.c new file mode 100644 index 0000000..1565f9e --- /dev/null +++ b/src/kernel/userland/doom/m_cheat.c @@ -0,0 +1,89 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Cheat sequence checking. +// + + + +#include + +#include "doomtype.h" +#include "m_cheat.h" + +// +// CHEAT SEQUENCE PACKAGE +// + +// +// Called in st_stuff module, which handles the input. +// Returns a 1 if the cheat was successful, 0 if failed. +// +int +cht_CheckCheat +( cheatseq_t* cht, + char key ) +{ + // if we make a short sequence on a cheat with parameters, this + // will not work in vanilla doom. behave the same. + + if (cht->parameter_chars > 0 && strlen(cht->sequence) < cht->sequence_len) + return false; + + if (cht->chars_read < strlen(cht->sequence)) + { + // still reading characters from the cheat code + // and verifying. reset back to the beginning + // if a key is wrong + + if (key == cht->sequence[cht->chars_read]) + ++cht->chars_read; + else + cht->chars_read = 0; + + cht->param_chars_read = 0; + } + else if (cht->param_chars_read < cht->parameter_chars) + { + // we have passed the end of the cheat sequence and are + // entering parameters now + + cht->parameter_buf[cht->param_chars_read] = key; + + ++cht->param_chars_read; + } + + if (cht->chars_read >= strlen(cht->sequence) + && cht->param_chars_read >= cht->parameter_chars) + { + cht->chars_read = cht->param_chars_read = 0; + + return true; + } + + // cheat not matched yet + + return false; +} + +void +cht_GetParam +( cheatseq_t* cht, + char* buffer ) +{ + memcpy(buffer, cht->parameter_buf, cht->parameter_chars); +} + + diff --git a/src/kernel/userland/doom/m_cheat.h b/src/kernel/userland/doom/m_cheat.h new file mode 100644 index 0000000..6775e70 --- /dev/null +++ b/src/kernel/userland/doom/m_cheat.h @@ -0,0 +1,62 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Cheat code checking. +// + + +#ifndef __M_CHEAT__ +#define __M_CHEAT__ + +// +// CHEAT SEQUENCE PACKAGE +// + +// declaring a cheat + +#define CHEAT(value, parameters) \ + { value, sizeof(value) - 1, parameters, 0, 0, "" } + +#define MAX_CHEAT_LEN 25 +#define MAX_CHEAT_PARAMS 5 + +typedef struct +{ + // settings for this cheat + + char sequence[MAX_CHEAT_LEN]; + size_t sequence_len; + int parameter_chars; + + // state used during the game + + size_t chars_read; + int param_chars_read; + char parameter_buf[MAX_CHEAT_PARAMS]; +} cheatseq_t; + +int +cht_CheckCheat +( cheatseq_t* cht, + char key ); + + +void +cht_GetParam +( cheatseq_t* cht, + char* buffer ); + + +#endif diff --git a/src/kernel/userland/doom/m_config.c b/src/kernel/userland/doom/m_config.c new file mode 100644 index 0000000..6353b78 --- /dev/null +++ b/src/kernel/userland/doom/m_config.c @@ -0,0 +1,2128 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 1993-2008 Raven Software +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Configuration file interface. +// + + +#include +#include +#include +#include +#include + +#include "config.h" + +#include "doomtype.h" +#include "doomkeys.h" +#include "doomfeatures.h" +#include "i_system.h" +#include "m_argv.h" +#include "m_misc.h" + +#include "z_zone.h" + +// +// DEFAULTS +// + +// Location where all configuration data is stored - +// default.cfg, savegames, etc. + +char *configdir; + +// Default filenames for configuration files. + +static char *default_main_config; +static char *default_extra_config; + +typedef enum +{ + DEFAULT_INT, + DEFAULT_INT_HEX, + DEFAULT_STRING, + DEFAULT_FLOAT, + DEFAULT_KEY, +} default_type_t; + +typedef struct +{ + // Name of the variable + char *name; + + // Pointer to the location in memory of the variable + void *location; + + // Type of the variable + default_type_t type; + + // If this is a key value, the original integer scancode we read from + // the config file before translating it to the internal key value. + // If zero, we didn't read this value from a config file. + int untranslated; + + // The value we translated the scancode into when we read the + // config file on startup. If the variable value is different from + // this, it has been changed and needs to be converted; otherwise, + // use the 'untranslated' value. + int original_translated; + + // If true, this config variable has been bound to a variable + // and is being used. + boolean bound; +} default_t; + +typedef struct +{ + default_t *defaults; + int numdefaults; + char *filename; +} default_collection_t; + +#define CONFIG_VARIABLE_GENERIC(name, type) \ + { #name, NULL, type, 0, 0, false } + +#define CONFIG_VARIABLE_KEY(name) \ + CONFIG_VARIABLE_GENERIC(name, DEFAULT_KEY) +#define CONFIG_VARIABLE_INT(name) \ + CONFIG_VARIABLE_GENERIC(name, DEFAULT_INT) +#define CONFIG_VARIABLE_INT_HEX(name) \ + CONFIG_VARIABLE_GENERIC(name, DEFAULT_INT_HEX) +#define CONFIG_VARIABLE_FLOAT(name) \ + CONFIG_VARIABLE_GENERIC(name, DEFAULT_FLOAT) +#define CONFIG_VARIABLE_STRING(name) \ + CONFIG_VARIABLE_GENERIC(name, DEFAULT_STRING) + +//! @begin_config_file default + +static default_t doom_defaults_list[] = +{ + //! + // Mouse sensitivity. This value is used to multiply input mouse + // movement to control the effect of moving the mouse. + // + // The "normal" maximum value available for this through the + // in-game options menu is 9. A value of 31 or greater will cause + // the game to crash when entering the options menu. + // + + CONFIG_VARIABLE_INT(mouse_sensitivity), + + //! + // Volume of sound effects, range 0-15. + // + + CONFIG_VARIABLE_INT(sfx_volume), + + //! + // Volume of in-game music, range 0-15. + // + + CONFIG_VARIABLE_INT(music_volume), + + //! + // @game strife + // + // If non-zero, dialogue text is displayed over characters' pictures + // when engaging actors who have voices. + // + + CONFIG_VARIABLE_INT(show_talk), + + //! + // @game strife + // + // Volume of voice sound effects, range 0-15. + // + + CONFIG_VARIABLE_INT(voice_volume), + + //! + // @game doom + // + // If non-zero, messages are displayed on the heads-up display + // in the game ("picked up a clip", etc). If zero, these messages + // are not displayed. + // + + CONFIG_VARIABLE_INT(show_messages), + + //! + // Keyboard key to turn right. + // + + CONFIG_VARIABLE_KEY(key_right), + + //! + // Keyboard key to turn left. + // + + CONFIG_VARIABLE_KEY(key_left), + + //! + // Keyboard key to move forward. + // + + CONFIG_VARIABLE_KEY(key_up), + + //! + // Keyboard key to move backward. + // + + CONFIG_VARIABLE_KEY(key_down), + + //! + // Keyboard key to strafe left. + // + + CONFIG_VARIABLE_KEY(key_strafeleft), + + //! + // Keyboard key to strafe right. + // + + CONFIG_VARIABLE_KEY(key_straferight), + + //! + // @game strife + // + // Keyboard key to use health. + // + + CONFIG_VARIABLE_KEY(key_useHealth), + + //! + // @game hexen + // + // Keyboard key to jump. + // + + CONFIG_VARIABLE_KEY(key_jump), + + //! + // @game heretic hexen + // + // Keyboard key to fly upward. + // + + CONFIG_VARIABLE_KEY(key_flyup), + + //! + // @game heretic hexen + // + // Keyboard key to fly downwards. + // + + CONFIG_VARIABLE_KEY(key_flydown), + + //! + // @game heretic hexen + // + // Keyboard key to center flying. + // + + CONFIG_VARIABLE_KEY(key_flycenter), + + //! + // @game heretic hexen + // + // Keyboard key to look up. + // + + CONFIG_VARIABLE_KEY(key_lookup), + + //! + // @game heretic hexen + // + // Keyboard key to look down. + // + + CONFIG_VARIABLE_KEY(key_lookdown), + + //! + // @game heretic hexen + // + // Keyboard key to center the view. + // + + CONFIG_VARIABLE_KEY(key_lookcenter), + + //! + // @game strife + // + // Keyboard key to query inventory. + // + + CONFIG_VARIABLE_KEY(key_invquery), + + //! + // @game strife + // + // Keyboard key to display mission objective. + // + + CONFIG_VARIABLE_KEY(key_mission), + + //! + // @game strife + // + // Keyboard key to display inventory popup. + // + + CONFIG_VARIABLE_KEY(key_invPop), + + //! + // @game strife + // + // Keyboard key to display keys popup. + // + + CONFIG_VARIABLE_KEY(key_invKey), + + //! + // @game strife + // + // Keyboard key to jump to start of inventory. + // + + CONFIG_VARIABLE_KEY(key_invHome), + + //! + // @game strife + // + // Keyboard key to jump to end of inventory. + // + + CONFIG_VARIABLE_KEY(key_invEnd), + + //! + // @game heretic hexen + // + // Keyboard key to scroll left in the inventory. + // + + CONFIG_VARIABLE_KEY(key_invleft), + + //! + // @game heretic hexen + // + // Keyboard key to scroll right in the inventory. + // + + CONFIG_VARIABLE_KEY(key_invright), + + //! + // @game strife + // + // Keyboard key to scroll left in the inventory. + // + + CONFIG_VARIABLE_KEY(key_invLeft), + + //! + // @game strife + // + // Keyboard key to scroll right in the inventory. + // + + CONFIG_VARIABLE_KEY(key_invRight), + + //! + // @game heretic hexen + // + // Keyboard key to use the current item in the inventory. + // + + CONFIG_VARIABLE_KEY(key_useartifact), + + //! + // @game strife + // + // Keyboard key to use inventory item. + // + + CONFIG_VARIABLE_KEY(key_invUse), + + //! + // @game strife + // + // Keyboard key to drop an inventory item. + // + + CONFIG_VARIABLE_KEY(key_invDrop), + + //! + // @game strife + // + // Keyboard key to look up. + // + + CONFIG_VARIABLE_KEY(key_lookUp), + + //! + // @game strife + // + // Keyboard key to look down. + // + + CONFIG_VARIABLE_KEY(key_lookDown), + + //! + // Keyboard key to fire the currently selected weapon. + // + + CONFIG_VARIABLE_KEY(key_fire), + + //! + // Keyboard key to "use" an object, eg. a door or switch. + // + + CONFIG_VARIABLE_KEY(key_use), + + //! + // Keyboard key to turn on strafing. When held down, pressing the + // key to turn left or right causes the player to strafe left or + // right instead. + // + + CONFIG_VARIABLE_KEY(key_strafe), + + //! + // Keyboard key to make the player run. + // + + CONFIG_VARIABLE_KEY(key_speed), + + //! + // If non-zero, mouse input is enabled. If zero, mouse input is + // disabled. + // + + CONFIG_VARIABLE_INT(use_mouse), + + //! + // Mouse button to fire the currently selected weapon. + // + + CONFIG_VARIABLE_INT(mouseb_fire), + + //! + // Mouse button to turn on strafing. When held down, the player + // will strafe left and right instead of turning left and right. + // + + CONFIG_VARIABLE_INT(mouseb_strafe), + + //! + // Mouse button to move forward. + // + + CONFIG_VARIABLE_INT(mouseb_forward), + + //! + // @game hexen strife + // + // Mouse button to jump. + // + + CONFIG_VARIABLE_INT(mouseb_jump), + + //! + // If non-zero, joystick input is enabled. + // + + CONFIG_VARIABLE_INT(use_joystick), + + //! + // Joystick virtual button that fires the current weapon. + // + + CONFIG_VARIABLE_INT(joyb_fire), + + //! + // Joystick virtual button that makes the player strafe while + // held down. + // + + CONFIG_VARIABLE_INT(joyb_strafe), + + //! + // Joystick virtual button to "use" an object, eg. a door or switch. + // + + CONFIG_VARIABLE_INT(joyb_use), + + //! + // Joystick virtual button that makes the player run while held + // down. + // + // If this has a value of 20 or greater, the player will always run, + // even if use_joystick is 0. + // + + CONFIG_VARIABLE_INT(joyb_speed), + + //! + // @game hexen strife + // + // Joystick virtual button that makes the player jump. + // + + CONFIG_VARIABLE_INT(joyb_jump), + + //! + // @game doom heretic hexen + // + // Screen size, range 3-11. + // + // A value of 11 gives a full-screen view with the status bar not + // displayed. A value of 10 gives a full-screen view with the + // status bar displayed. + // + + CONFIG_VARIABLE_INT(screenblocks), + + //! + // @game strife + // + // Screen size, range 3-11. + // + // A value of 11 gives a full-screen view with the status bar not + // displayed. A value of 10 gives a full-screen view with the + // status bar displayed. + // + + CONFIG_VARIABLE_INT(screensize), + + //! + // @game doom + // + // Screen detail. Zero gives normal "high detail" mode, while + // a non-zero value gives "low detail" mode. + // + + CONFIG_VARIABLE_INT(detaillevel), + + //! + // Number of sounds that will be played simultaneously. + // + + CONFIG_VARIABLE_INT(snd_channels), + + //! + // Music output device. A non-zero value gives MIDI sound output, + // while a value of zero disables music. + // + + CONFIG_VARIABLE_INT(snd_musicdevice), + + //! + // Sound effects device. A value of zero disables in-game sound + // effects, a value of 1 enables PC speaker sound effects, while + // a value in the range 2-9 enables the "normal" digital sound + // effects. + // + + CONFIG_VARIABLE_INT(snd_sfxdevice), + + //! + // SoundBlaster I/O port. Unused. + // + + CONFIG_VARIABLE_INT(snd_sbport), + + //! + // SoundBlaster IRQ. Unused. + // + + CONFIG_VARIABLE_INT(snd_sbirq), + + //! + // SoundBlaster DMA channel. Unused. + // + + CONFIG_VARIABLE_INT(snd_sbdma), + + //! + // Output port to use for OPL MIDI playback. Unused. + // + + CONFIG_VARIABLE_INT(snd_mport), + + //! + // Gamma correction level. A value of zero disables gamma + // correction, while a value in the range 1-4 gives increasing + // levels of gamma correction. + // + + CONFIG_VARIABLE_INT(usegamma), + + //! + // @game hexen + // + // Directory in which to store savegames. + // + + CONFIG_VARIABLE_STRING(savedir), + + //! + // @game hexen + // + // Controls whether messages are displayed in the heads-up display. + // If this has a non-zero value, messages are displayed. + // + + CONFIG_VARIABLE_INT(messageson), + + //! + // @game strife + // + // Name of background flat used by view border. + // + + CONFIG_VARIABLE_STRING(back_flat), + + //! + // @game strife + // + // Multiplayer nickname (?). + // + + CONFIG_VARIABLE_STRING(nickname), + + //! + // Multiplayer chat macro: message to send when alt+0 is pressed. + // + + CONFIG_VARIABLE_STRING(chatmacro0), + + //! + // Multiplayer chat macro: message to send when alt+1 is pressed. + // + + CONFIG_VARIABLE_STRING(chatmacro1), + + //! + // Multiplayer chat macro: message to send when alt+2 is pressed. + // + + CONFIG_VARIABLE_STRING(chatmacro2), + + //! + // Multiplayer chat macro: message to send when alt+3 is pressed. + // + + CONFIG_VARIABLE_STRING(chatmacro3), + + //! + // Multiplayer chat macro: message to send when alt+4 is pressed. + // + + CONFIG_VARIABLE_STRING(chatmacro4), + + //! + // Multiplayer chat macro: message to send when alt+5 is pressed. + // + + CONFIG_VARIABLE_STRING(chatmacro5), + + //! + // Multiplayer chat macro: message to send when alt+6 is pressed. + // + + CONFIG_VARIABLE_STRING(chatmacro6), + + //! + // Multiplayer chat macro: message to send when alt+7 is pressed. + // + + CONFIG_VARIABLE_STRING(chatmacro7), + + //! + // Multiplayer chat macro: message to send when alt+8 is pressed. + // + + CONFIG_VARIABLE_STRING(chatmacro8), + + //! + // Multiplayer chat macro: message to send when alt+9 is pressed. + // + + CONFIG_VARIABLE_STRING(chatmacro9), + + //! + // @game strife + // + // Serial port number to use for SERSETUP.EXE (unused). + // + + CONFIG_VARIABLE_INT(comport), +}; + +static default_collection_t doom_defaults = +{ + doom_defaults_list, + arrlen(doom_defaults_list), + NULL, +}; + +//! @begin_config_file extended + +static default_t extra_defaults_list[] = +{ + //! + // @game heretic hexen strife + // + // If non-zero, display the graphical startup screen. + // + + CONFIG_VARIABLE_INT(graphical_startup), + + //! + // If non-zero, video settings will be autoadjusted to a valid + // configuration when the screen_width and screen_height variables + // do not match any valid configuration. + // + + CONFIG_VARIABLE_INT(autoadjust_video_settings), + + //! + // If non-zero, the game will run in full screen mode. If zero, + // the game will run in a window. + // + + CONFIG_VARIABLE_INT(fullscreen), + + //! + // If non-zero, the screen will be stretched vertically to display + // correctly on a square pixel video mode. + // + + CONFIG_VARIABLE_INT(aspect_ratio_correct), + + //! + // Number of milliseconds to wait on startup after the video mode + // has been set, before the game will start. This allows the + // screen to settle on some monitors that do not display an image + // for a brief interval after changing video modes. + // + + CONFIG_VARIABLE_INT(startup_delay), + + //! + // Screen width in pixels. If running in full screen mode, this is + // the X dimension of the video mode to use. If running in + // windowed mode, this is the width of the window in which the game + // will run. + // + + CONFIG_VARIABLE_INT(screen_width), + + //! + // Screen height in pixels. If running in full screen mode, this is + // the Y dimension of the video mode to use. If running in + // windowed mode, this is the height of the window in which the game + // will run. + // + + CONFIG_VARIABLE_INT(screen_height), + + //! + // Color depth of the screen, in bits. + // If this is set to zero, the color depth will be automatically set + // on startup to the machine's default/native color depth. + // + + CONFIG_VARIABLE_INT(screen_bpp), + + //! + // If this is non-zero, the mouse will be "grabbed" when running + // in windowed mode so that it can be used as an input device. + // When running full screen, this has no effect. + // + + CONFIG_VARIABLE_INT(grabmouse), + + //! + // If non-zero, all vertical mouse movement is ignored. This + // emulates the behavior of the "novert" tool available under DOS + // that performs the same function. + // + + CONFIG_VARIABLE_INT(novert), + + //! + // Mouse acceleration factor. When the speed of mouse movement + // exceeds the threshold value (mouse_threshold), the speed is + // multiplied by this value. + // + + CONFIG_VARIABLE_INT(mouse_acceleration), + + //! + // Mouse acceleration threshold. When the speed of mouse movement + // exceeds this threshold value, the speed is multiplied by an + // acceleration factor (mouse_acceleration). + // + + CONFIG_VARIABLE_INT(mouse_threshold), + + //! + // Sound output sample rate, in Hz. Typical values to use are + // 11025, 22050, 44100 and 48000. + // + + CONFIG_VARIABLE_INT(snd_samplerate), + + //! + // Maximum number of bytes to allocate for caching converted sound + // effects in memory. If set to zero, there is no limit applied. + // + + CONFIG_VARIABLE_INT(snd_cachesize), + + //! + // Maximum size of the output sound buffer size in milliseconds. + // Sound output is generated periodically in slices. Higher values + // might be more efficient but will introduce latency to the + // sound output. The default is 28ms (one slice per tic with the + // 35fps timer). + + CONFIG_VARIABLE_INT(snd_maxslicetime_ms), + + //! + // External command to invoke to perform MIDI playback. If set to + // the empty string, SDL_mixer's internal MIDI playback is used. + // This only has any effect when snd_musicdevice is set to General + // MIDI output. + + CONFIG_VARIABLE_STRING(snd_musiccmd), + + //! + // The I/O port to use to access the OPL chip. Only relevant when + // using native OPL music playback. + // + + CONFIG_VARIABLE_INT_HEX(opl_io_port), + + //! + // @game doom heretic strife + // + // If non-zero, the ENDOOM text screen is displayed when exiting the + // game. If zero, the ENDOOM screen is not displayed. + // + + CONFIG_VARIABLE_INT(show_endoom), + + //! + // If non-zero, save screenshots in PNG format. + // + + CONFIG_VARIABLE_INT(png_screenshots), + + //! + // @game doom strife + // + // If non-zero, the Vanilla savegame limit is enforced; if the + // savegame exceeds 180224 bytes in size, the game will exit with + // an error. If this has a value of zero, there is no limit to + // the size of savegames. + // + + CONFIG_VARIABLE_INT(vanilla_savegame_limit), + + //! + // @game doom strife + // + // If non-zero, the Vanilla demo size limit is enforced; the game + // exits with an error when a demo exceeds the demo size limit + // (128KiB by default). If this has a value of zero, there is no + // limit to the size of demos. + // + + CONFIG_VARIABLE_INT(vanilla_demo_limit), + + //! + // If non-zero, the game behaves like Vanilla Doom, always assuming + // an American keyboard mapping. If this has a value of zero, the + // native keyboard mapping of the keyboard is used. + // + + CONFIG_VARIABLE_INT(vanilla_keyboard_mapping), + + //! + // Name of the SDL video driver to use. If this is an empty string, + // the default video driver is used. + // + + CONFIG_VARIABLE_STRING(video_driver), + + //! + // Position of the window on the screen when running in windowed + // mode. Accepted values are: "" (empty string) - don't care, + // "center" - place window at center of screen, "x,y" - place + // window at the specified coordinates. + + CONFIG_VARIABLE_STRING(window_position), + +#ifdef FEATURE_MULTIPLAYER + + //! + // Name to use in network games for identification. This is only + // used on the "waiting" screen while waiting for the game to start. + // + + CONFIG_VARIABLE_STRING(player_name), + +#endif + + //! + // Joystick number to use; '0' is the first joystick. A negative + // value ('-1') indicates that no joystick is configured. + // + + CONFIG_VARIABLE_INT(joystick_index), + + //! + // Joystick axis to use to for horizontal (X) movement. + // + + CONFIG_VARIABLE_INT(joystick_x_axis), + + //! + // If non-zero, movement on the horizontal joystick axis is inverted. + // + + CONFIG_VARIABLE_INT(joystick_x_invert), + + //! + // Joystick axis to use to for vertical (Y) movement. + // + + CONFIG_VARIABLE_INT(joystick_y_axis), + + //! + // If non-zero, movement on the vertical joystick axis is inverted. + // + + CONFIG_VARIABLE_INT(joystick_y_invert), + + //! + // Joystick axis to use to for strafing movement. + // + + CONFIG_VARIABLE_INT(joystick_strafe_axis), + + //! + // If non-zero, movement on the joystick axis used for strafing + // is inverted. + // + + CONFIG_VARIABLE_INT(joystick_strafe_invert), + + //! + // The physical joystick button that corresponds to joystick + // virtual button #0. + // + + CONFIG_VARIABLE_INT(joystick_physical_button0), + + //! + // The physical joystick button that corresponds to joystick + // virtual button #1. + // + + CONFIG_VARIABLE_INT(joystick_physical_button1), + + //! + // The physical joystick button that corresponds to joystick + // virtual button #2. + // + + CONFIG_VARIABLE_INT(joystick_physical_button2), + + //! + // The physical joystick button that corresponds to joystick + // virtual button #3. + // + + CONFIG_VARIABLE_INT(joystick_physical_button3), + + //! + // The physical joystick button that corresponds to joystick + // virtual button #4. + // + + CONFIG_VARIABLE_INT(joystick_physical_button4), + + //! + // The physical joystick button that corresponds to joystick + // virtual button #5. + // + + CONFIG_VARIABLE_INT(joystick_physical_button5), + + //! + // The physical joystick button that corresponds to joystick + // virtual button #6. + // + + CONFIG_VARIABLE_INT(joystick_physical_button6), + + //! + // The physical joystick button that corresponds to joystick + // virtual button #7. + // + + CONFIG_VARIABLE_INT(joystick_physical_button7), + + //! + // The physical joystick button that corresponds to joystick + // virtual button #8. + // + + CONFIG_VARIABLE_INT(joystick_physical_button8), + + //! + // The physical joystick button that corresponds to joystick + // virtual button #9. + // + + CONFIG_VARIABLE_INT(joystick_physical_button9), + + //! + // Joystick virtual button to make the player strafe left. + // + + CONFIG_VARIABLE_INT(joyb_strafeleft), + + //! + // Joystick virtual button to make the player strafe right. + // + + CONFIG_VARIABLE_INT(joyb_straferight), + + //! + // Joystick virtual button to activate the menu. + // + + CONFIG_VARIABLE_INT(joyb_menu_activate), + + //! + // Joystick virtual button that cycles to the previous weapon. + // + + CONFIG_VARIABLE_INT(joyb_prevweapon), + + //! + // Joystick virtual button that cycles to the next weapon. + // + + CONFIG_VARIABLE_INT(joyb_nextweapon), + + //! + // Mouse button to strafe left. + // + + CONFIG_VARIABLE_INT(mouseb_strafeleft), + + //! + // Mouse button to strafe right. + // + + CONFIG_VARIABLE_INT(mouseb_straferight), + + //! + // Mouse button to "use" an object, eg. a door or switch. + // + + CONFIG_VARIABLE_INT(mouseb_use), + + //! + // Mouse button to move backwards. + // + + CONFIG_VARIABLE_INT(mouseb_backward), + + //! + // Mouse button to cycle to the previous weapon. + // + + CONFIG_VARIABLE_INT(mouseb_prevweapon), + + //! + // Mouse button to cycle to the next weapon. + // + + CONFIG_VARIABLE_INT(mouseb_nextweapon), + + //! + // If non-zero, double-clicking a mouse button acts like pressing + // the "use" key to use an object in-game, eg. a door or switch. + // + + CONFIG_VARIABLE_INT(dclick_use), + +#ifdef FEATURE_SOUND + + //! + // Controls whether libsamplerate support is used for performing + // sample rate conversions of sound effects. Support for this + // must be compiled into the program. + // + // If zero, libsamplerate support is disabled. If non-zero, + // libsamplerate is enabled. Increasing values roughly correspond + // to higher quality conversion; the higher the quality, the + // slower the conversion process. Linear conversion = 1; + // Zero order hold = 2; Fast Sinc filter = 3; Medium quality + // Sinc filter = 4; High quality Sinc filter = 5. + // + + CONFIG_VARIABLE_INT(use_libsamplerate), + + //! + // Scaling factor used by libsamplerate. This is used when converting + // sounds internally back into integer form; normally it should not + // be necessary to change it from the default value. The only time + // it might be needed is if a PWAD file is loaded that contains very + // loud sounds, in which case the conversion may cause sound clipping + // and the scale factor should be reduced. The lower the value, the + // quieter the sound effects become, so it should be set as high as is + // possible without clipping occurring. + + CONFIG_VARIABLE_FLOAT(libsamplerate_scale), + + //! + // Full path to a Timidity configuration file to use for MIDI + // playback. The file will be evaluated from the directory where + // it is evaluated, so there is no need to add "dir" commands + // into it. + // + + CONFIG_VARIABLE_STRING(timidity_cfg_path), + + //! + // Path to GUS patch files to use when operating in GUS emulation + // mode. + // + + CONFIG_VARIABLE_STRING(gus_patch_path), + + //! + // Number of kilobytes of RAM to use in GUS emulation mode. Valid + // values are 256, 512, 768 or 1024. + // + + CONFIG_VARIABLE_INT(gus_ram_kb), + +#endif + + //! + // Key to pause or unpause the game. + // + + CONFIG_VARIABLE_KEY(key_pause), + + //! + // Key that activates the menu when pressed. + // + + CONFIG_VARIABLE_KEY(key_menu_activate), + + //! + // Key that moves the cursor up on the menu. + // + + CONFIG_VARIABLE_KEY(key_menu_up), + + //! + // Key that moves the cursor down on the menu. + // + + CONFIG_VARIABLE_KEY(key_menu_down), + + //! + // Key that moves the currently selected slider on the menu left. + // + + CONFIG_VARIABLE_KEY(key_menu_left), + + //! + // Key that moves the currently selected slider on the menu right. + // + + CONFIG_VARIABLE_KEY(key_menu_right), + + //! + // Key to go back to the previous menu. + // + + CONFIG_VARIABLE_KEY(key_menu_back), + + //! + // Key to activate the currently selected menu item. + // + + CONFIG_VARIABLE_KEY(key_menu_forward), + + //! + // Key to answer 'yes' to a question in the menu. + // + + CONFIG_VARIABLE_KEY(key_menu_confirm), + + //! + // Key to answer 'no' to a question in the menu. + // + + CONFIG_VARIABLE_KEY(key_menu_abort), + + //! + // Keyboard shortcut to bring up the help screen. + // + + CONFIG_VARIABLE_KEY(key_menu_help), + + //! + // Keyboard shortcut to bring up the save game menu. + // + + CONFIG_VARIABLE_KEY(key_menu_save), + + //! + // Keyboard shortcut to bring up the load game menu. + // + + CONFIG_VARIABLE_KEY(key_menu_load), + + //! + // Keyboard shortcut to bring up the sound volume menu. + // + + CONFIG_VARIABLE_KEY(key_menu_volume), + + //! + // Keyboard shortcut to toggle the detail level. + // + + CONFIG_VARIABLE_KEY(key_menu_detail), + + //! + // Keyboard shortcut to quicksave the current game. + // + + CONFIG_VARIABLE_KEY(key_menu_qsave), + + //! + // Keyboard shortcut to end the game. + // + + CONFIG_VARIABLE_KEY(key_menu_endgame), + + //! + // Keyboard shortcut to toggle heads-up messages. + // + + CONFIG_VARIABLE_KEY(key_menu_messages), + + //! + // Keyboard shortcut to load the last quicksave. + // + + CONFIG_VARIABLE_KEY(key_menu_qload), + + //! + // Keyboard shortcut to quit the game. + // + + CONFIG_VARIABLE_KEY(key_menu_quit), + + //! + // Keyboard shortcut to toggle the gamma correction level. + // + + CONFIG_VARIABLE_KEY(key_menu_gamma), + + //! + // Keyboard shortcut to switch view in multiplayer. + // + + CONFIG_VARIABLE_KEY(key_spy), + + //! + // Keyboard shortcut to increase the screen size. + // + + CONFIG_VARIABLE_KEY(key_menu_incscreen), + + //! + // Keyboard shortcut to decrease the screen size. + // + + CONFIG_VARIABLE_KEY(key_menu_decscreen), + + //! + // Keyboard shortcut to save a screenshot. + // + + CONFIG_VARIABLE_KEY(key_menu_screenshot), + + //! + // Key to toggle the map view. + // + + CONFIG_VARIABLE_KEY(key_map_toggle), + + //! + // Key to pan north when in the map view. + // + + CONFIG_VARIABLE_KEY(key_map_north), + + //! + // Key to pan south when in the map view. + // + + CONFIG_VARIABLE_KEY(key_map_south), + + //! + // Key to pan east when in the map view. + // + + CONFIG_VARIABLE_KEY(key_map_east), + + //! + // Key to pan west when in the map view. + // + + CONFIG_VARIABLE_KEY(key_map_west), + + //! + // Key to zoom in when in the map view. + // + + CONFIG_VARIABLE_KEY(key_map_zoomin), + + //! + // Key to zoom out when in the map view. + // + + CONFIG_VARIABLE_KEY(key_map_zoomout), + + //! + // Key to zoom out the maximum amount when in the map view. + // + + CONFIG_VARIABLE_KEY(key_map_maxzoom), + + //! + // Key to toggle follow mode when in the map view. + // + + CONFIG_VARIABLE_KEY(key_map_follow), + + //! + // Key to toggle the grid display when in the map view. + // + + CONFIG_VARIABLE_KEY(key_map_grid), + + //! + // Key to set a mark when in the map view. + // + + CONFIG_VARIABLE_KEY(key_map_mark), + + //! + // Key to clear all marks when in the map view. + // + + CONFIG_VARIABLE_KEY(key_map_clearmark), + + //! + // Key to select weapon 1. + // + + CONFIG_VARIABLE_KEY(key_weapon1), + + //! + // Key to select weapon 2. + // + + CONFIG_VARIABLE_KEY(key_weapon2), + + //! + // Key to select weapon 3. + // + + CONFIG_VARIABLE_KEY(key_weapon3), + + //! + // Key to select weapon 4. + // + + CONFIG_VARIABLE_KEY(key_weapon4), + + //! + // Key to select weapon 5. + // + + CONFIG_VARIABLE_KEY(key_weapon5), + + //! + // Key to select weapon 6. + // + + CONFIG_VARIABLE_KEY(key_weapon6), + + //! + // Key to select weapon 7. + // + + CONFIG_VARIABLE_KEY(key_weapon7), + + //! + // Key to select weapon 8. + // + + CONFIG_VARIABLE_KEY(key_weapon8), + + //! + // Key to cycle to the previous weapon. + // + + CONFIG_VARIABLE_KEY(key_prevweapon), + + //! + // Key to cycle to the next weapon. + // + + CONFIG_VARIABLE_KEY(key_nextweapon), + + //! + // @game hexen + // + // Key to use one of each artifact. + // + + CONFIG_VARIABLE_KEY(key_arti_all), + + //! + // @game hexen + // + // Key to use "quartz flask" artifact. + // + + CONFIG_VARIABLE_KEY(key_arti_health), + + //! + // @game hexen + // + // Key to use "flechette" artifact. + // + + CONFIG_VARIABLE_KEY(key_arti_poisonbag), + + //! + // @game hexen + // + // Key to use "disc of repulsion" artifact. + // + + CONFIG_VARIABLE_KEY(key_arti_blastradius), + + //! + // @game hexen + // + // Key to use "chaos device" artifact. + // + + CONFIG_VARIABLE_KEY(key_arti_teleport), + + //! + // @game hexen + // + // Key to use "banishment device" artifact. + // + + CONFIG_VARIABLE_KEY(key_arti_teleportother), + + //! + // @game hexen + // + // Key to use "porkalator" artifact. + // + + CONFIG_VARIABLE_KEY(key_arti_egg), + + //! + // @game hexen + // + // Key to use "icon of the defender" artifact. + // + + CONFIG_VARIABLE_KEY(key_arti_invulnerability), + + //! + // Key to re-display last message. + // + + CONFIG_VARIABLE_KEY(key_message_refresh), + + //! + // Key to quit the game when recording a demo. + // + + CONFIG_VARIABLE_KEY(key_demo_quit), + + //! + // Key to send a message during multiplayer games. + // + + CONFIG_VARIABLE_KEY(key_multi_msg), + + //! + // Key to send a message to player 1 during multiplayer games. + // + + CONFIG_VARIABLE_KEY(key_multi_msgplayer1), + + //! + // Key to send a message to player 2 during multiplayer games. + // + + CONFIG_VARIABLE_KEY(key_multi_msgplayer2), + + //! + // Key to send a message to player 3 during multiplayer games. + // + + CONFIG_VARIABLE_KEY(key_multi_msgplayer3), + + //! + // Key to send a message to player 4 during multiplayer games. + // + + CONFIG_VARIABLE_KEY(key_multi_msgplayer4), + + //! + // @game hexen strife + // + // Key to send a message to player 5 during multiplayer games. + // + + CONFIG_VARIABLE_KEY(key_multi_msgplayer5), + + //! + // @game hexen strife + // + // Key to send a message to player 6 during multiplayer games. + // + + CONFIG_VARIABLE_KEY(key_multi_msgplayer6), + + //! + // @game hexen strife + // + // Key to send a message to player 7 during multiplayer games. + // + + CONFIG_VARIABLE_KEY(key_multi_msgplayer7), + + //! + // @game hexen strife + // + // Key to send a message to player 8 during multiplayer games. + // + + CONFIG_VARIABLE_KEY(key_multi_msgplayer8), +}; + +static default_collection_t extra_defaults = +{ + extra_defaults_list, + arrlen(extra_defaults_list), + NULL, +}; + +// Search a collection for a variable + +static default_t *SearchCollection(default_collection_t *collection, char *name) +{ + int i; + + for (i=0; inumdefaults; ++i) + { + if (!strcmp(name, collection->defaults[i].name)) + { + return &collection->defaults[i]; + } + } + + return NULL; +} + +// Mapping from DOS keyboard scan code to internal key code (as defined +// in doomkey.h). I think I (fraggle) reused this from somewhere else +// but I can't find where. Anyway, notes: +// * KEY_PAUSE is wrong - it's in the KEY_NUMLOCK spot. This shouldn't +// matter in terms of Vanilla compatibility because neither of +// those were valid for key bindings. +// * There is no proper scan code for PrintScreen (on DOS machines it +// sends an interrupt). So I added a fake scan code of 126 for it. +// The presence of this is important so we can bind PrintScreen as +// a screenshot key. +static const int scantokey[128] = +{ + 0 , 27, '1', '2', '3', '4', '5', '6', + '7', '8', '9', '0', '-', '=', KEY_BACKSPACE, 9, + 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', + 'o', 'p', '[', ']', 13, KEY_RCTRL, 'a', 's', + 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', + '\'', '`', KEY_RSHIFT,'\\', 'z', 'x', 'c', 'v', + 'b', 'n', 'm', ',', '.', '/', KEY_RSHIFT,KEYP_MULTIPLY, + KEY_RALT, ' ', KEY_CAPSLOCK,KEY_F1, KEY_F2, KEY_F3, KEY_F4, KEY_F5, + KEY_F6, KEY_F7, KEY_F8, KEY_F9, KEY_F10, /*KEY_NUMLOCK?*/KEY_PAUSE,KEY_SCRLCK,KEY_HOME, + KEY_UPARROW,KEY_PGUP,KEY_MINUS,KEY_LEFTARROW,KEYP_5,KEY_RIGHTARROW,KEYP_PLUS,KEY_END, + KEY_DOWNARROW,KEY_PGDN,KEY_INS,KEY_DEL,0, 0, 0, KEY_F11, + KEY_F12, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, KEY_PRTSCR, 0 +}; + + +static void SaveDefaultCollection(default_collection_t *collection) +{ +#if ORIGCODE + default_t *defaults; + int i, v; + FILE *f; + + f = fopen (collection->filename, "w"); + if (!f) + return; // can't write the file, but don't complain + + defaults = collection->defaults; + + for (i=0 ; inumdefaults ; i++) + { + int chars_written; + + // Ignore unbound variables + + if (!defaults[i].bound) + { + continue; + } + + // Print the name and line up all values at 30 characters + + chars_written = fprintf(f, "%s ", defaults[i].name); + + for (; chars_written < 30; ++chars_written) + fprintf(f, " "); + + // Print the value + + switch (defaults[i].type) + { + case DEFAULT_KEY: + + // use the untranslated version if we can, to reduce + // the possibility of screwing up the user's config + // file + + v = * (int *) defaults[i].location; + + if (v == KEY_RSHIFT) + { + // Special case: for shift, force scan code for + // right shift, as this is what Vanilla uses. + // This overrides the change check below, to fix + // configuration files made by old versions that + // mistakenly used the scan code for left shift. + + v = 54; + } + else if (defaults[i].untranslated + && v == defaults[i].original_translated) + { + // Has not been changed since the last time we + // read the config file. + + v = defaults[i].untranslated; + } + else + { + // search for a reverse mapping back to a scancode + // in the scantokey table + + int s; + + for (s=0; s<128; ++s) + { + if (scantokey[s] == v) + { + v = s; + break; + } + } + } + + fprintf(f, "%i", v); + break; + + case DEFAULT_INT: + fprintf(f, "%i", * (int *) defaults[i].location); + break; + + case DEFAULT_INT_HEX: + fprintf(f, "0x%x", * (int *) defaults[i].location); + break; + + case DEFAULT_FLOAT: + fprintf(f, "%d", * (int *) defaults[i].location); + break; + + case DEFAULT_STRING: + fprintf(f,"\"%s\"", * (char **) (defaults[i].location)); + break; + } + + fprintf(f, "\n"); + } + + fclose (f); +#endif +} + +// Parses integer values in the configuration file + +static int ParseIntParameter(char *strparm) +{ + int parm; + + if (strparm[0] == '0' && strparm[1] == 'x') + sscanf(strparm+2, "%x", &parm); + else + sscanf(strparm, "%i", &parm); + + return parm; +} + +static void SetVariable(default_t *def, char *value) +{ + int intparm; + + // parameter found + + switch (def->type) + { + case DEFAULT_STRING: + * (char **) def->location = strdup(value); + break; + + case DEFAULT_INT: + case DEFAULT_INT_HEX: + * (int *) def->location = ParseIntParameter(value); + break; + + case DEFAULT_KEY: + + // translate scancodes read from config + // file (save the old value in untranslated) + + intparm = ParseIntParameter(value); + def->untranslated = intparm; + if (intparm >= 0 && intparm < 128) + { + intparm = scantokey[intparm]; + } + else + { + intparm = 0; + } + + def->original_translated = intparm; + * (int *) def->location = intparm; + break; + + case DEFAULT_FLOAT: + * (int *) def->location = atoi(value); + break; + } +} + +static void LoadDefaultCollection(default_collection_t *collection) +{ +#if ORIGCODE + FILE *f; + default_t *def; + char defname[80]; + char strparm[100]; + + // read the file in, overriding any set defaults + f = fopen(collection->filename, "r"); + + if (f == NULL) + { + // File not opened, but don't complain. + // It's probably just the first time they ran the game. + + return; + } + + while (!feof(f)) + { + if (fscanf(f, "%79s %99[^\n]\n", defname, strparm) != 2) + { + // This line doesn't match + + continue; + } + + // Find the setting in the list + + def = SearchCollection(collection, defname); + + if (def == NULL || !def->bound) + { + // Unknown variable? Unbound variables are also treated + // as unknown. + + continue; + } + + // Strip off trailing non-printable characters (\r characters + // from DOS text files) + + while (strlen(strparm) > 0 && !isprint(strparm[strlen(strparm)-1])) + { + strparm[strlen(strparm)-1] = '\0'; + } + + // Surrounded by quotes? If so, remove them. + if (strlen(strparm) >= 2 + && strparm[0] == '"' && strparm[strlen(strparm) - 1] == '"') + { + strparm[strlen(strparm) - 1] = '\0'; + memmove(strparm, strparm + 1, sizeof(strparm) - 1); + } + + SetVariable(def, strparm); + } + + fclose (f); +#endif +} + +// Set the default filenames to use for configuration files. + +void M_SetConfigFilenames(char *main_config, char *extra_config) +{ + default_main_config = main_config; + default_extra_config = extra_config; +} + +// +// M_SaveDefaults +// + +void M_SaveDefaults (void) +{ + SaveDefaultCollection(&doom_defaults); + SaveDefaultCollection(&extra_defaults); +} + +// +// Save defaults to alternate filenames +// + +void M_SaveDefaultsAlternate(char *main, char *extra) +{ + char *orig_main; + char *orig_extra; + + // Temporarily change the filenames + + orig_main = doom_defaults.filename; + orig_extra = extra_defaults.filename; + + doom_defaults.filename = main; + extra_defaults.filename = extra; + + M_SaveDefaults(); + + // Restore normal filenames + + doom_defaults.filename = orig_main; + extra_defaults.filename = orig_extra; +} + +// +// M_LoadDefaults +// + +void M_LoadDefaults (void) +{ + int i; + + // check for a custom default file + + //! + // @arg + // @vanilla + // + // Load main configuration from the specified file, instead of the + // default. + // + + i = M_CheckParmWithArgs("-config", 1); + + if (i) + { + doom_defaults.filename = myargv[i+1]; + printf (" default file: %s\n",doom_defaults.filename); + } + else + { + doom_defaults.filename + = M_StringJoin(configdir, default_main_config, NULL); + } + + printf("saving config in %s\n", doom_defaults.filename); + + //! + // @arg + // + // Load additional configuration from the specified file, instead of + // the default. + // + + i = M_CheckParmWithArgs("-extraconfig", 1); + + if (i) + { + extra_defaults.filename = myargv[i+1]; + printf(" extra configuration file: %s\n", + extra_defaults.filename); + } + else + { + extra_defaults.filename + = M_StringJoin(configdir, default_extra_config, NULL); + } + + LoadDefaultCollection(&doom_defaults); + LoadDefaultCollection(&extra_defaults); +} + +// Get a configuration file variable by its name + +static default_t *GetDefaultForName(char *name) +{ + default_t *result; + + // Try the main list and the extras + + result = SearchCollection(&doom_defaults, name); + + if (result == NULL) + { + result = SearchCollection(&extra_defaults, name); + } + + // Not found? Internal error. + + if (result == NULL) + { + I_Error("Unknown configuration variable: '%s'", name); + } + + return result; +} + +// +// Bind a variable to a given configuration file variable, by name. +// + +void M_BindVariable(char *name, void *location) +{ + default_t *variable; + + variable = GetDefaultForName(name); + + variable->location = location; + variable->bound = true; +} + +// Set the value of a particular variable; an API function for other +// parts of the program to assign values to config variables by name. + +boolean M_SetVariable(char *name, char *value) +{ + default_t *variable; + + variable = GetDefaultForName(name); + + if (variable == NULL || !variable->bound) + { + return false; + } + + SetVariable(variable, value); + + return true; +} + +// Get the value of a variable. + +int M_GetIntVariable(char *name) +{ + default_t *variable; + + variable = GetDefaultForName(name); + + if (variable == NULL || !variable->bound + || (variable->type != DEFAULT_INT && variable->type != DEFAULT_INT_HEX)) + { + return 0; + } + + return *((int *) variable->location); +} + +const char *M_GetStrVariable(char *name) +{ + default_t *variable; + + variable = GetDefaultForName(name); + + if (variable == NULL || !variable->bound + || variable->type != DEFAULT_STRING) + { + return NULL; + } + + return *((const char **) variable->location); +} + +int M_GetFloatVariable(char *name) +{ + default_t *variable; + + variable = GetDefaultForName(name); + + if (variable == NULL || !variable->bound + || variable->type != DEFAULT_FLOAT) + { + return 0; + } + + return *((int *) variable->location); +} + +// Get the path to the default configuration dir to use, if NULL +// is passed to M_SetConfigDir. + +static char *GetDefaultConfigDir(void) +{ + char *result = (char *)malloc(2); + result[0] = '.'; + result[1] = '\0'; + + return result; +} + +// +// SetConfigDir: +// +// Sets the location of the configuration directory, where configuration +// files are stored - default.cfg, chocolate-doom.cfg, savegames, etc. +// + +void M_SetConfigDir(char *dir) +{ + // Use the directory that was passed, or find the default. + + if (dir != NULL) + { + configdir = dir; + } + else + { + configdir = GetDefaultConfigDir(); + } + + if (strcmp(configdir, "") != 0) + { + printf("Using %s for configuration and saves\n", configdir); + } + + // Make the directory if it doesn't already exist: + + M_MakeDirectory(configdir); +} + +// +// Calculate the path to the directory to use to store save games. +// Creates the directory as necessary. +// + +char *M_GetSaveGameDir(char *iwadname) +{ + char *savegamedir; +#if ORIGCODE + char *topdir; +#endif + + // If not "doing" a configuration directory (Windows), don't "do" + // a savegame directory, either. + + if (!strcmp(configdir, "")) + { + savegamedir = strdup(""); + } + else + { +#if ORIGCODE + // ~/.chocolate-doom/savegames + + topdir = M_StringJoin(configdir, "savegame", NULL); + M_MakeDirectory(topdir); + + // eg. ~/.chocolate-doom/savegames/doom2.wad/ + + savegamedir = M_StringJoin(topdir, DIR_SEPARATOR_S, iwadname, + DIR_SEPARATOR_S, NULL); + + M_MakeDirectory(savegamedir); + + free(topdir); +#else + savegamedir = M_StringJoin(configdir, DIR_SEPARATOR_S, ".savegame/", NULL); + + M_MakeDirectory(savegamedir); + + printf ("Using %s for savegames\n", savegamedir); +#endif + } + + return savegamedir; +} + diff --git a/src/kernel/userland/doom/m_config.h b/src/kernel/userland/doom/m_config.h new file mode 100644 index 0000000..9cbc0e0 --- /dev/null +++ b/src/kernel/userland/doom/m_config.h @@ -0,0 +1,39 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Configuration file interface. +// + + +#ifndef __M_CONFIG__ +#define __M_CONFIG__ + +#include "doomtype.h" + +void M_LoadDefaults(void); +void M_SaveDefaults(void); +void M_SaveDefaultsAlternate(char *main, char *extra); +void M_SetConfigDir(char *dir); +void M_BindVariable(char *name, void *variable); +boolean M_SetVariable(char *name, char *value); +int M_GetIntVariable(char *name); +const char *M_GetStrVariable(char *name); +int M_GetFloatVariable(char *name); +void M_SetConfigFilenames(char *main_config, char *extra_config); +char *M_GetSaveGameDir(char *iwadname); + +extern char *configdir; + +#endif diff --git a/src/kernel/userland/doom/m_controls.c b/src/kernel/userland/doom/m_controls.c new file mode 100644 index 0000000..f0ffa01 --- /dev/null +++ b/src/kernel/userland/doom/m_controls.c @@ -0,0 +1,398 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 1993-2008 Raven Software +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// + +#include + +#include "doomtype.h" +#include "doomkeys.h" + +#include "m_config.h" +#include "m_misc.h" + +// +// Keyboard controls +// + +int key_right = KEY_RIGHTARROW; +int key_left = KEY_LEFTARROW; +int key_up = KEY_UPARROW; +int key_down = KEY_DOWNARROW; +int key_strafeleft = KEY_STRAFE_L; +int key_straferight = KEY_STRAFE_R; +int key_fire = KEY_FIRE; +int key_use = KEY_USE; +int key_strafe = KEY_RALT; +int key_speed = KEY_RSHIFT; + +// +// Heretic keyboard controls +// + +int key_flyup = KEY_PGUP; +int key_flydown = KEY_INS; +int key_flycenter = KEY_HOME; + +int key_lookup = KEY_PGDN; +int key_lookdown = KEY_DEL; +int key_lookcenter = KEY_END; + +int key_invleft = '['; +int key_invright = ']'; +int key_useartifact = KEY_ENTER; + +// +// Hexen key controls +// + +int key_jump = '/'; + +int key_arti_all = KEY_BACKSPACE; +int key_arti_health = '\\'; +int key_arti_poisonbag = '0'; +int key_arti_blastradius = '9'; +int key_arti_teleport = '8'; +int key_arti_teleportother = '7'; +int key_arti_egg = '6'; +int key_arti_invulnerability = '5'; + +// +// Strife key controls +// +// haleyjd 09/01/10 +// + +// Note: Strife also uses key_invleft, key_invright, key_jump, key_lookup, and +// key_lookdown, but with different default values. + +int key_usehealth = 'h'; +int key_invquery = 'q'; +int key_mission = 'w'; +int key_invpop = 'z'; +int key_invkey = 'k'; +int key_invhome = KEY_HOME; +int key_invend = KEY_END; +int key_invuse = KEY_ENTER; +int key_invdrop = KEY_BACKSPACE; + + +// +// Mouse controls +// + +int mousebfire = 0; +int mousebstrafe = 1; +int mousebforward = 2; + +int mousebjump = -1; + +int mousebstrafeleft = -1; +int mousebstraferight = -1; +int mousebbackward = -1; +int mousebuse = -1; + +int mousebprevweapon = -1; +int mousebnextweapon = -1; + + +int key_message_refresh = KEY_ENTER; +int key_pause = KEY_PAUSE; +int key_demo_quit = 'q'; +int key_spy = KEY_F12; + +// Multiplayer chat keys: + +int key_multi_msg = 't'; +int key_multi_msgplayer[8]; + +// Weapon selection keys: + +int key_weapon1 = '1'; +int key_weapon2 = '2'; +int key_weapon3 = '3'; +int key_weapon4 = '4'; +int key_weapon5 = '5'; +int key_weapon6 = '6'; +int key_weapon7 = '7'; +int key_weapon8 = '8'; +int key_prevweapon = 0; +int key_nextweapon = 0; + +// Map control keys: + +int key_map_north = KEY_UPARROW; +int key_map_south = KEY_DOWNARROW; +int key_map_east = KEY_RIGHTARROW; +int key_map_west = KEY_LEFTARROW; +int key_map_zoomin = '='; +int key_map_zoomout = '-'; +int key_map_toggle = KEY_TAB; +int key_map_maxzoom = '0'; +int key_map_follow = 'f'; +int key_map_grid = 'g'; +int key_map_mark = 'm'; +int key_map_clearmark = 'c'; + +// menu keys: + +int key_menu_activate = KEY_ESCAPE; +int key_menu_up = KEY_UPARROW; +int key_menu_down = KEY_DOWNARROW; +int key_menu_left = KEY_LEFTARROW; +int key_menu_right = KEY_RIGHTARROW; +int key_menu_back = KEY_BACKSPACE; +int key_menu_forward = KEY_ENTER; +int key_menu_confirm = 'y'; +int key_menu_abort = 'n'; + +int key_menu_help = KEY_F1; +int key_menu_save = KEY_F2; +int key_menu_load = KEY_F3; +int key_menu_volume = KEY_F4; +int key_menu_detail = KEY_F5; +int key_menu_qsave = KEY_F6; +int key_menu_endgame = KEY_F7; +int key_menu_messages = KEY_F8; +int key_menu_qload = KEY_F9; +int key_menu_quit = KEY_F10; +int key_menu_gamma = KEY_F11; + +int key_menu_incscreen = KEY_EQUALS; +int key_menu_decscreen = KEY_MINUS; +int key_menu_screenshot = 0; + +// +// Joystick controls +// + +int joybfire = 0; +int joybstrafe = 1; +int joybuse = 3; +int joybspeed = 2; + +int joybstrafeleft = -1; +int joybstraferight = -1; + +int joybjump = -1; + +int joybprevweapon = -1; +int joybnextweapon = -1; + +int joybmenu = -1; + +// Control whether if a mouse button is double clicked, it acts like +// "use" has been pressed + +int dclick_use = 1; + +// +// Bind all of the common controls used by Doom and all other games. +// + +void M_BindBaseControls(void) +{ + M_BindVariable("key_right", &key_right); + M_BindVariable("key_left", &key_left); + M_BindVariable("key_up", &key_up); + M_BindVariable("key_down", &key_down); + M_BindVariable("key_strafeleft", &key_strafeleft); + M_BindVariable("key_straferight", &key_straferight); + M_BindVariable("key_fire", &key_fire); + M_BindVariable("key_use", &key_use); + M_BindVariable("key_strafe", &key_strafe); + M_BindVariable("key_speed", &key_speed); + + M_BindVariable("mouseb_fire", &mousebfire); + M_BindVariable("mouseb_strafe", &mousebstrafe); + M_BindVariable("mouseb_forward", &mousebforward); + + M_BindVariable("joyb_fire", &joybfire); + M_BindVariable("joyb_strafe", &joybstrafe); + M_BindVariable("joyb_use", &joybuse); + M_BindVariable("joyb_speed", &joybspeed); + + M_BindVariable("joyb_menu_activate", &joybmenu); + + // Extra controls that are not in the Vanilla versions: + + M_BindVariable("joyb_strafeleft", &joybstrafeleft); + M_BindVariable("joyb_straferight", &joybstraferight); + M_BindVariable("mouseb_strafeleft", &mousebstrafeleft); + M_BindVariable("mouseb_straferight", &mousebstraferight); + M_BindVariable("mouseb_use", &mousebuse); + M_BindVariable("mouseb_backward", &mousebbackward); + M_BindVariable("dclick_use", &dclick_use); + M_BindVariable("key_pause", &key_pause); + M_BindVariable("key_message_refresh", &key_message_refresh); +} + +void M_BindHereticControls(void) +{ + M_BindVariable("key_flyup", &key_flyup); + M_BindVariable("key_flydown", &key_flydown); + M_BindVariable("key_flycenter", &key_flycenter); + + M_BindVariable("key_lookup", &key_lookup); + M_BindVariable("key_lookdown", &key_lookdown); + M_BindVariable("key_lookcenter", &key_lookcenter); + + M_BindVariable("key_invleft", &key_invleft); + M_BindVariable("key_invright", &key_invright); + M_BindVariable("key_useartifact", &key_useartifact); +} + +void M_BindHexenControls(void) +{ + M_BindVariable("key_jump", &key_jump); + M_BindVariable("mouseb_jump", &mousebjump); + M_BindVariable("joyb_jump", &joybjump); + + M_BindVariable("key_arti_all", &key_arti_all); + M_BindVariable("key_arti_health", &key_arti_health); + M_BindVariable("key_arti_poisonbag", &key_arti_poisonbag); + M_BindVariable("key_arti_blastradius", &key_arti_blastradius); + M_BindVariable("key_arti_teleport", &key_arti_teleport); + M_BindVariable("key_arti_teleportother", &key_arti_teleportother); + M_BindVariable("key_arti_egg", &key_arti_egg); + M_BindVariable("key_arti_invulnerability", &key_arti_invulnerability); +} + +void M_BindStrifeControls(void) +{ + // These are shared with all games, but have different defaults: + key_message_refresh = '/'; + + // These keys are shared with Heretic/Hexen but have different defaults: + key_jump = 'a'; + key_lookup = KEY_PGUP; + key_lookdown = KEY_PGDN; + key_invleft = KEY_INS; + key_invright = KEY_DEL; + + M_BindVariable("key_jump", &key_jump); + M_BindVariable("key_lookUp", &key_lookup); + M_BindVariable("key_lookDown", &key_lookdown); + M_BindVariable("key_invLeft", &key_invleft); + M_BindVariable("key_invRight", &key_invright); + + // Custom Strife-only Keys: + M_BindVariable("key_useHealth", &key_usehealth); + M_BindVariable("key_invquery", &key_invquery); + M_BindVariable("key_mission", &key_mission); + M_BindVariable("key_invPop", &key_invpop); + M_BindVariable("key_invKey", &key_invkey); + M_BindVariable("key_invHome", &key_invhome); + M_BindVariable("key_invEnd", &key_invend); + M_BindVariable("key_invUse", &key_invuse); + M_BindVariable("key_invDrop", &key_invdrop); + + // Strife also supports jump on mouse and joystick, and in the exact same + // manner as Hexen! + M_BindVariable("mouseb_jump", &mousebjump); + M_BindVariable("joyb_jump", &joybjump); +} + +void M_BindWeaponControls(void) +{ + M_BindVariable("key_weapon1", &key_weapon1); + M_BindVariable("key_weapon2", &key_weapon2); + M_BindVariable("key_weapon3", &key_weapon3); + M_BindVariable("key_weapon4", &key_weapon4); + M_BindVariable("key_weapon5", &key_weapon5); + M_BindVariable("key_weapon6", &key_weapon6); + M_BindVariable("key_weapon7", &key_weapon7); + M_BindVariable("key_weapon8", &key_weapon8); + + M_BindVariable("key_prevweapon", &key_prevweapon); + M_BindVariable("key_nextweapon", &key_nextweapon); + + M_BindVariable("joyb_prevweapon", &joybprevweapon); + M_BindVariable("joyb_nextweapon", &joybnextweapon); + + M_BindVariable("mouseb_prevweapon", &mousebprevweapon); + M_BindVariable("mouseb_nextweapon", &mousebnextweapon); +} + +void M_BindMapControls(void) +{ + M_BindVariable("key_map_north", &key_map_north); + M_BindVariable("key_map_south", &key_map_south); + M_BindVariable("key_map_east", &key_map_east); + M_BindVariable("key_map_west", &key_map_west); + M_BindVariable("key_map_zoomin", &key_map_zoomin); + M_BindVariable("key_map_zoomout", &key_map_zoomout); + M_BindVariable("key_map_toggle", &key_map_toggle); + M_BindVariable("key_map_maxzoom", &key_map_maxzoom); + M_BindVariable("key_map_follow", &key_map_follow); + M_BindVariable("key_map_grid", &key_map_grid); + M_BindVariable("key_map_mark", &key_map_mark); + M_BindVariable("key_map_clearmark", &key_map_clearmark); +} + +void M_BindMenuControls(void) +{ + M_BindVariable("key_menu_activate", &key_menu_activate); + M_BindVariable("key_menu_up", &key_menu_up); + M_BindVariable("key_menu_down", &key_menu_down); + M_BindVariable("key_menu_left", &key_menu_left); + M_BindVariable("key_menu_right", &key_menu_right); + M_BindVariable("key_menu_back", &key_menu_back); + M_BindVariable("key_menu_forward", &key_menu_forward); + M_BindVariable("key_menu_confirm", &key_menu_confirm); + M_BindVariable("key_menu_abort", &key_menu_abort); + + M_BindVariable("key_menu_help", &key_menu_help); + M_BindVariable("key_menu_save", &key_menu_save); + M_BindVariable("key_menu_load", &key_menu_load); + M_BindVariable("key_menu_volume", &key_menu_volume); + M_BindVariable("key_menu_detail", &key_menu_detail); + M_BindVariable("key_menu_qsave", &key_menu_qsave); + M_BindVariable("key_menu_endgame", &key_menu_endgame); + M_BindVariable("key_menu_messages", &key_menu_messages); + M_BindVariable("key_menu_qload", &key_menu_qload); + M_BindVariable("key_menu_quit", &key_menu_quit); + M_BindVariable("key_menu_gamma", &key_menu_gamma); + + M_BindVariable("key_menu_incscreen", &key_menu_incscreen); + M_BindVariable("key_menu_decscreen", &key_menu_decscreen); + M_BindVariable("key_menu_screenshot",&key_menu_screenshot); + M_BindVariable("key_demo_quit", &key_demo_quit); + M_BindVariable("key_spy", &key_spy); +} + +void M_BindChatControls(unsigned int num_players) +{ + char name[32]; // haleyjd: 20 not large enough - Thank you, come again! + unsigned int i; // haleyjd: signedness conflict + + M_BindVariable("key_multi_msg", &key_multi_msg); + + for (i=0; i> FRACBITS; +} + + + +// +// FixedDiv, C version. +// + +fixed_t FixedDiv(fixed_t a, fixed_t b) +{ + if ((abs(a) >> 14) >= abs(b)) + { + return (a^b) < 0 ? INT_MIN : INT_MAX; + } + else + { + int64_t result; + + result = ((int64_t) a << 16) / b; + + return (fixed_t) result; + } +} + diff --git a/src/kernel/userland/doom/m_fixed.h b/src/kernel/userland/doom/m_fixed.h new file mode 100644 index 0000000..733b290 --- /dev/null +++ b/src/kernel/userland/doom/m_fixed.h @@ -0,0 +1,39 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Fixed point arithemtics, implementation. +// + + +#ifndef __M_FIXED__ +#define __M_FIXED__ + + + + +// +// Fixed point, 32bit as 16.16. +// +#define FRACBITS 16 +#define FRACUNIT (1< +#include + + +#include "doomdef.h" +#include "doomkeys.h" +#include "dstrings.h" + +#include "d_main.h" +#include "deh_main.h" + +#include "i_swap.h" +#include "i_system.h" +#include "i_timer.h" +#include "i_video.h" +#include "m_misc.h" +#include "v_video.h" +#include "w_wad.h" +#include "z_zone.h" + +#include "r_local.h" + + +#include "hu_stuff.h" + +#include "g_game.h" + +#include "m_argv.h" +#include "m_controls.h" +#include "p_saveg.h" + +#include "s_sound.h" + +#include "doomstat.h" + +// Data. +#include "sounds.h" + +#include "m_menu.h" + + +extern patch_t* hu_font[HU_FONTSIZE]; +extern boolean message_dontfuckwithme; + +extern boolean chat_on; // in heads-up code + +// +// defaulted values +// +int mouseSensitivity = 5; + +// Show messages has default, 0 = off, 1 = on +int showMessages = 1; + + +// Blocky mode, has default, 0 = high, 1 = normal +int detailLevel = 0; +int screenblocks = 10; + +// temp for screenblocks (0-9) +int screenSize; + +// -1 = no quicksave slot picked! +int quickSaveSlot; + + // 1 = message to be printed +int messageToPrint; +// ...and here is the message string! +char* messageString; + +// message x & y +int messx; +int messy; +int messageLastMenuActive; + +// timed message = no input from user +boolean messageNeedsInput; + +void (*messageRoutine)(int response); + +char gammamsg[5][26] = +{ + GAMMALVL0, + GAMMALVL1, + GAMMALVL2, + GAMMALVL3, + GAMMALVL4 +}; + +// we are going to be entering a savegame string +int saveStringEnter; +int saveSlot; // which slot to save in +int saveCharIndex; // which char we're editing +// old save description before edit +char saveOldString[SAVESTRINGSIZE]; + +boolean inhelpscreens; +boolean menuactive; + +#define SKULLXOFF -32 +#define LINEHEIGHT 16 + +extern boolean sendpause; +char savegamestrings[10][SAVESTRINGSIZE]; + +char endstring[160]; + +//static boolean opldev; + +// +// MENU TYPEDEFS +// +typedef struct +{ + // 0 = no cursor here, 1 = ok, 2 = arrows ok + short status; + + char name[10]; + + // choice = menu item #. + // if status = 2, + // choice=0:leftarrow,1:rightarrow + void (*routine)(int choice); + + // hotkey in menu + char alphaKey; +} menuitem_t; + + + +typedef struct menu_s +{ + short numitems; // # of menu items + struct menu_s* prevMenu; // previous menu + menuitem_t* menuitems; // menu items + void (*routine)(); // draw routine + short x; + short y; // x,y of menu + short lastOn; // last item user was on in menu +} menu_t; + +short itemOn; // menu item skull is on +short skullAnimCounter; // skull animation counter +short whichSkull; // which skull to draw + +// graphic name of skulls +// warning: initializer-string for array of chars is too long +char *skullName[2] = {"M_SKULL1","M_SKULL2"}; + +// current menudef +menu_t* currentMenu; + +// +// PROTOTYPES +// +void M_NewGame(int choice); +void M_Episode(int choice); +void M_ChooseSkill(int choice); +void M_LoadGame(int choice); +void M_SaveGame(int choice); +void M_Options(int choice); +void M_EndGame(int choice); +void M_ReadThis(int choice); +void M_ReadThis2(int choice); +void M_QuitDOOM(int choice); + +void M_ChangeMessages(int choice); +void M_ChangeSensitivity(int choice); +void M_SfxVol(int choice); +void M_MusicVol(int choice); +void M_ChangeDetail(int choice); +void M_SizeDisplay(int choice); +void M_StartGame(int choice); +void M_Sound(int choice); + +void M_FinishReadThis(int choice); +void M_LoadSelect(int choice); +void M_SaveSelect(int choice); +void M_ReadSaveStrings(void); +void M_QuickSave(void); +void M_QuickLoad(void); + +void M_DrawMainMenu(void); +void M_DrawReadThis1(void); +void M_DrawReadThis2(void); +void M_DrawNewGame(void); +void M_DrawEpisode(void); +void M_DrawOptions(void); +void M_DrawSound(void); +void M_DrawLoad(void); +void M_DrawSave(void); + +void M_DrawSaveLoadBorder(int x,int y); +void M_SetupNextMenu(menu_t *menudef); +void M_DrawThermo(int x,int y,int thermWidth,int thermDot); +void M_DrawEmptyCell(menu_t *menu,int item); +void M_DrawSelCell(menu_t *menu,int item); +void M_WriteText(int x, int y, char *string); +int M_StringWidth(char *string); +int M_StringHeight(char *string); +void M_StartMessage(char *string,void *routine,boolean input); +void M_StopMessage(void); +void M_ClearMenus (void); + + + + +// +// DOOM MENU +// +enum +{ + newgame = 0, + options, + loadgame, + savegame, + readthis, + quitdoom, + main_end +} main_e; + +menuitem_t MainMenu[]= +{ + {1,"M_NGAME",M_NewGame,'n'}, + {1,"M_OPTION",M_Options,'o'}, + {1,"M_LOADG",M_LoadGame,'l'}, + {1,"M_SAVEG",M_SaveGame,'s'}, + // Another hickup with Special edition. + {1,"M_RDTHIS",M_ReadThis,'r'}, + {1,"M_QUITG",M_QuitDOOM,'q'} +}; + +menu_t MainDef = +{ + main_end, + NULL, + MainMenu, + M_DrawMainMenu, + 97,64, + 0 +}; + + +// +// EPISODE SELECT +// +enum +{ + ep1, + ep2, + ep3, + ep4, + ep_end +} episodes_e; + +menuitem_t EpisodeMenu[]= +{ + {1,"M_EPI1", M_Episode,'k'}, + {1,"M_EPI2", M_Episode,'t'}, + {1,"M_EPI3", M_Episode,'i'}, + {1,"M_EPI4", M_Episode,'t'} +}; + +menu_t EpiDef = +{ + ep_end, // # of menu items + &MainDef, // previous menu + EpisodeMenu, // menuitem_t -> + M_DrawEpisode, // drawing routine -> + 48,63, // x,y + ep1 // lastOn +}; + +// +// NEW GAME +// +enum +{ + killthings, + toorough, + hurtme, + violence, + nightmare, + newg_end +} newgame_e; + +menuitem_t NewGameMenu[]= +{ + {1,"M_JKILL", M_ChooseSkill, 'i'}, + {1,"M_ROUGH", M_ChooseSkill, 'h'}, + {1,"M_HURT", M_ChooseSkill, 'h'}, + {1,"M_ULTRA", M_ChooseSkill, 'u'}, + {1,"M_NMARE", M_ChooseSkill, 'n'} +}; + +menu_t NewDef = +{ + newg_end, // # of menu items + &EpiDef, // previous menu + NewGameMenu, // menuitem_t -> + M_DrawNewGame, // drawing routine -> + 48,63, // x,y + hurtme // lastOn +}; + + + +// +// OPTIONS MENU +// +enum +{ + endgame, + messages, + detail, + scrnsize, + option_empty1, + mousesens, + option_empty2, + soundvol, + opt_end +} options_e; + +menuitem_t OptionsMenu[]= +{ + {1,"M_ENDGAM", M_EndGame,'e'}, + {1,"M_MESSG", M_ChangeMessages,'m'}, + {1,"M_DETAIL", M_ChangeDetail,'g'}, + {2,"M_SCRNSZ", M_SizeDisplay,'s'}, + {-1,"",0,'\0'}, + {2,"M_MSENS", M_ChangeSensitivity,'m'}, + {-1,"",0,'\0'}, + {1,"M_SVOL", M_Sound,'s'} +}; + +menu_t OptionsDef = +{ + opt_end, + &MainDef, + OptionsMenu, + M_DrawOptions, + 60,37, + 0 +}; + +// +// Read This! MENU 1 & 2 +// +enum +{ + rdthsempty1, + read1_end +} read_e; + +menuitem_t ReadMenu1[] = +{ + {1,"",M_ReadThis2,0} +}; + +menu_t ReadDef1 = +{ + read1_end, + &MainDef, + ReadMenu1, + M_DrawReadThis1, + 280,185, + 0 +}; + +enum +{ + rdthsempty2, + read2_end +} read_e2; + +menuitem_t ReadMenu2[]= +{ + {1,"",M_FinishReadThis,0} +}; + +menu_t ReadDef2 = +{ + read2_end, + &ReadDef1, + ReadMenu2, + M_DrawReadThis2, + 330,175, + 0 +}; + +// +// SOUND VOLUME MENU +// +enum +{ + sfx_vol, + sfx_empty1, + music_vol, + sfx_empty2, + sound_end +} sound_e; + +menuitem_t SoundMenu[]= +{ + {2,"M_SFXVOL",M_SfxVol,'s'}, + {-1,"",0,'\0'}, + {2,"M_MUSVOL",M_MusicVol,'m'}, + {-1,"",0,'\0'} +}; + +menu_t SoundDef = +{ + sound_end, + &OptionsDef, + SoundMenu, + M_DrawSound, + 80,64, + 0 +}; + +// +// LOAD GAME MENU +// +enum +{ + load1, + load2, + load3, + load4, + load5, + load6, + load_end +} load_e; + +menuitem_t LoadMenu[]= +{ + {1,"", M_LoadSelect,'1'}, + {1,"", M_LoadSelect,'2'}, + {1,"", M_LoadSelect,'3'}, + {1,"", M_LoadSelect,'4'}, + {1,"", M_LoadSelect,'5'}, + {1,"", M_LoadSelect,'6'} +}; + +menu_t LoadDef = +{ + load_end, + &MainDef, + LoadMenu, + M_DrawLoad, + 80,54, + 0 +}; + +// +// SAVE GAME MENU +// +menuitem_t SaveMenu[]= +{ + {1,"", M_SaveSelect,'1'}, + {1,"", M_SaveSelect,'2'}, + {1,"", M_SaveSelect,'3'}, + {1,"", M_SaveSelect,'4'}, + {1,"", M_SaveSelect,'5'}, + {1,"", M_SaveSelect,'6'} +}; + +menu_t SaveDef = +{ + load_end, + &MainDef, + SaveMenu, + M_DrawSave, + 80,54, + 0 +}; + + +// +// M_ReadSaveStrings +// read the strings from the savegame files +// +void M_ReadSaveStrings(void) +{ + FILE *handle; + int i; + char name[256]; + + for (i = 0;i < load_end;i++) + { + M_StringCopy(name, P_SaveGameFile(i), sizeof(name)); + + handle = fopen(name, "rb"); + if (handle == NULL) + { + M_StringCopy(savegamestrings[i], EMPTYSTRING, SAVESTRINGSIZE); + LoadMenu[i].status = 0; + continue; + } + fread(&savegamestrings[i], 1, SAVESTRINGSIZE, handle); + fclose(handle); + LoadMenu[i].status = 1; + } +} + + +// +// M_LoadGame & Cie. +// +void M_DrawLoad(void) +{ + int i; + + V_DrawPatchDirect(72, 28, + W_CacheLumpName(DEH_String("M_LOADG"), PU_CACHE)); + + for (i = 0;i < load_end; i++) + { + M_DrawSaveLoadBorder(LoadDef.x,LoadDef.y+LINEHEIGHT*i); + M_WriteText(LoadDef.x,LoadDef.y+LINEHEIGHT*i,savegamestrings[i]); + } +} + + + +// +// Draw border for the savegame description +// +void M_DrawSaveLoadBorder(int x,int y) +{ + int i; + + V_DrawPatchDirect(x - 8, y + 7, + W_CacheLumpName(DEH_String("M_LSLEFT"), PU_CACHE)); + + for (i = 0;i < 24;i++) + { + V_DrawPatchDirect(x, y + 7, + W_CacheLumpName(DEH_String("M_LSCNTR"), PU_CACHE)); + x += 8; + } + + V_DrawPatchDirect(x, y + 7, + W_CacheLumpName(DEH_String("M_LSRGHT"), PU_CACHE)); +} + + + +// +// User wants to load this game +// +void M_LoadSelect(int choice) +{ + char name[256]; + + M_StringCopy(name, P_SaveGameFile(choice), sizeof(name)); + + G_LoadGame (name); + M_ClearMenus (); +} + +// +// Selected from DOOM menu +// +void M_LoadGame (int choice) +{ + if (netgame) + { + M_StartMessage(DEH_String(LOADNET),NULL,false); + return; + } + + M_SetupNextMenu(&LoadDef); + M_ReadSaveStrings(); +} + + +// +// M_SaveGame & Cie. +// +void M_DrawSave(void) +{ + int i; + + V_DrawPatchDirect(72, 28, W_CacheLumpName(DEH_String("M_SAVEG"), PU_CACHE)); + for (i = 0;i < load_end; i++) + { + M_DrawSaveLoadBorder(LoadDef.x,LoadDef.y+LINEHEIGHT*i); + M_WriteText(LoadDef.x,LoadDef.y+LINEHEIGHT*i,savegamestrings[i]); + } + + if (saveStringEnter) + { + i = M_StringWidth(savegamestrings[saveSlot]); + M_WriteText(LoadDef.x + i,LoadDef.y+LINEHEIGHT*saveSlot,"_"); + } +} + +// +// M_Responder calls this when user is finished +// +void M_DoSave(int slot) +{ + G_SaveGame (slot,savegamestrings[slot]); + M_ClearMenus (); + + // PICK QUICKSAVE SLOT YET? + if (quickSaveSlot == -2) + quickSaveSlot = slot; +} + +// +// User wants to save. Start string input for M_Responder +// +void M_SaveSelect(int choice) +{ + // we are going to be intercepting all chars + saveStringEnter = 1; + + saveSlot = choice; + M_StringCopy(saveOldString,savegamestrings[choice], SAVESTRINGSIZE); + if (!strcmp(savegamestrings[choice], EMPTYSTRING)) + savegamestrings[choice][0] = 0; + saveCharIndex = strlen(savegamestrings[choice]); +} + +// +// Selected from DOOM menu +// +void M_SaveGame (int choice) +{ + if (!usergame) + { + M_StartMessage(DEH_String(SAVEDEAD),NULL,false); + return; + } + + if (gamestate != GS_LEVEL) + return; + + M_SetupNextMenu(&SaveDef); + M_ReadSaveStrings(); +} + + + +// +// M_QuickSave +// +char tempstring[80]; + +void M_QuickSaveResponse(int key) +{ + if (key == key_menu_confirm) + { + M_DoSave(quickSaveSlot); + S_StartSound(NULL,sfx_swtchx); + } +} + +void M_QuickSave(void) +{ + if (!usergame) + { + S_StartSound(NULL,sfx_oof); + return; + } + + if (gamestate != GS_LEVEL) + return; + + if (quickSaveSlot < 0) + { + M_StartControlPanel(); + M_ReadSaveStrings(); + M_SetupNextMenu(&SaveDef); + quickSaveSlot = -2; // means to pick a slot now + return; + } + DEH_snprintf(tempstring, 80, QSPROMPT, savegamestrings[quickSaveSlot]); + M_StartMessage(tempstring,M_QuickSaveResponse,true); +} + + + +// +// M_QuickLoad +// +void M_QuickLoadResponse(int key) +{ + if (key == key_menu_confirm) + { + M_LoadSelect(quickSaveSlot); + S_StartSound(NULL,sfx_swtchx); + } +} + + +void M_QuickLoad(void) +{ + if (netgame) + { + M_StartMessage(DEH_String(QLOADNET),NULL,false); + return; + } + + if (quickSaveSlot < 0) + { + M_StartMessage(DEH_String(QSAVESPOT),NULL,false); + return; + } + DEH_snprintf(tempstring, 80, QLPROMPT, savegamestrings[quickSaveSlot]); + M_StartMessage(tempstring,M_QuickLoadResponse,true); +} + + + + +// +// Read This Menus +// Had a "quick hack to fix romero bug" +// +void M_DrawReadThis1(void) +{ + char *lumpname = "CREDIT"; + int skullx = 330, skully = 175; + + inhelpscreens = true; + + // Different versions of Doom 1.9 work differently + + switch (gameversion) + { + case exe_doom_1_666: + case exe_doom_1_7: + case exe_doom_1_8: + case exe_doom_1_9: + case exe_hacx: + + if (gamemode == commercial) + { + // Doom 2 + + lumpname = "HELP"; + + skullx = 330; + skully = 165; + } + else + { + // Doom 1 + // HELP2 is the first screen shown in Doom 1 + + lumpname = "HELP2"; + + skullx = 280; + skully = 185; + } + break; + + case exe_ultimate: + case exe_chex: + + // Ultimate Doom always displays "HELP1". + + // Chex Quest version also uses "HELP1", even though it is based + // on Final Doom. + + lumpname = "HELP1"; + + break; + + case exe_final: + case exe_final2: + + // Final Doom always displays "HELP". + + lumpname = "HELP"; + + break; + + default: + I_Error("Unhandled game version"); + break; + } + + lumpname = DEH_String(lumpname); + + V_DrawPatchDirect (0, 0, W_CacheLumpName(lumpname, PU_CACHE)); + + ReadDef1.x = skullx; + ReadDef1.y = skully; +} + + + +// +// Read This Menus - optional second page. +// +void M_DrawReadThis2(void) +{ + inhelpscreens = true; + + // We only ever draw the second page if this is + // gameversion == exe_doom_1_9 and gamemode == registered + + V_DrawPatchDirect(0, 0, W_CacheLumpName(DEH_String("HELP1"), PU_CACHE)); +} + + +// +// Change Sfx & Music volumes +// +void M_DrawSound(void) +{ + V_DrawPatchDirect (60, 38, W_CacheLumpName(DEH_String("M_SVOL"), PU_CACHE)); + + M_DrawThermo(SoundDef.x,SoundDef.y+LINEHEIGHT*(sfx_vol+1), + 16,sfxVolume); + + M_DrawThermo(SoundDef.x,SoundDef.y+LINEHEIGHT*(music_vol+1), + 16,musicVolume); +} + +void M_Sound(int choice) +{ + M_SetupNextMenu(&SoundDef); +} + +void M_SfxVol(int choice) +{ + switch(choice) + { + case 0: + if (sfxVolume) + sfxVolume--; + break; + case 1: + if (sfxVolume < 15) + sfxVolume++; + break; + } + + S_SetSfxVolume(sfxVolume * 8); +} + +void M_MusicVol(int choice) +{ + switch(choice) + { + case 0: + if (musicVolume) + musicVolume--; + break; + case 1: + if (musicVolume < 15) + musicVolume++; + break; + } + + S_SetMusicVolume(musicVolume * 8); +} + + + + +// +// M_DrawMainMenu +// +void M_DrawMainMenu(void) +{ + V_DrawPatchDirect(94, 2, + W_CacheLumpName(DEH_String("M_DOOM"), PU_CACHE)); +} + + + + +// +// M_NewGame +// +void M_DrawNewGame(void) +{ + V_DrawPatchDirect(96, 14, W_CacheLumpName(DEH_String("M_NEWG"), PU_CACHE)); + V_DrawPatchDirect(54, 38, W_CacheLumpName(DEH_String("M_SKILL"), PU_CACHE)); +} + +void M_NewGame(int choice) +{ + if (netgame && !demoplayback) + { + M_StartMessage(DEH_String(NEWGAME),NULL,false); + return; + } + + // Chex Quest disabled the episode select screen, as did Doom II. + + if (gamemode == commercial || gameversion == exe_chex) + M_SetupNextMenu(&NewDef); + else + M_SetupNextMenu(&EpiDef); +} + + +// +// M_Episode +// +int epi; + +void M_DrawEpisode(void) +{ + V_DrawPatchDirect(54, 38, W_CacheLumpName(DEH_String("M_EPISOD"), PU_CACHE)); +} + +void M_VerifyNightmare(int key) +{ + if (key != key_menu_confirm) + return; + + G_DeferedInitNew(nightmare,epi+1,1); + M_ClearMenus (); +} + +void M_ChooseSkill(int choice) +{ + if (choice == nightmare) + { + M_StartMessage(DEH_String(NIGHTMARE),M_VerifyNightmare,true); + return; + } + + G_DeferedInitNew(choice,epi+1,1); + M_ClearMenus (); +} + +void M_Episode(int choice) +{ + if ( (gamemode == shareware) + && choice) + { + M_StartMessage(DEH_String(SWSTRING),NULL,false); + M_SetupNextMenu(&ReadDef1); + return; + } + + // Yet another hack... + if ( (gamemode == registered) + && (choice > 2)) + { + fprintf( stderr, + "M_Episode: 4th episode requires UltimateDOOM\n"); + choice = 0; + } + + epi = choice; + M_SetupNextMenu(&NewDef); +} + + + +// +// M_Options +// +static char *detailNames[2] = {"M_GDHIGH","M_GDLOW"}; +static char *msgNames[2] = {"M_MSGOFF","M_MSGON"}; + +void M_DrawOptions(void) +{ + V_DrawPatchDirect(108, 15, W_CacheLumpName(DEH_String("M_OPTTTL"), + PU_CACHE)); + + V_DrawPatchDirect(OptionsDef.x + 175, OptionsDef.y + LINEHEIGHT * detail, + W_CacheLumpName(DEH_String(detailNames[detailLevel]), + PU_CACHE)); + + V_DrawPatchDirect(OptionsDef.x + 120, OptionsDef.y + LINEHEIGHT * messages, + W_CacheLumpName(DEH_String(msgNames[showMessages]), + PU_CACHE)); + + M_DrawThermo(OptionsDef.x, OptionsDef.y + LINEHEIGHT * (mousesens + 1), + 10, mouseSensitivity); + + M_DrawThermo(OptionsDef.x,OptionsDef.y+LINEHEIGHT*(scrnsize+1), + 9,screenSize); +} + +void M_Options(int choice) +{ + M_SetupNextMenu(&OptionsDef); +} + + + +// +// Toggle messages on/off +// +void M_ChangeMessages(int choice) +{ + // warning: unused parameter `int choice' + choice = 0; + showMessages = 1 - showMessages; + + if (!showMessages) + players[consoleplayer].message = DEH_String(MSGOFF); + else + players[consoleplayer].message = DEH_String(MSGON); + + message_dontfuckwithme = true; +} + + +// +// M_EndGame +// +void M_EndGameResponse(int key) +{ + if (key != key_menu_confirm) + return; + + currentMenu->lastOn = itemOn; + M_ClearMenus (); + D_StartTitle (); +} + +void M_EndGame(int choice) +{ + choice = 0; + if (!usergame) + { + S_StartSound(NULL,sfx_oof); + return; + } + + if (netgame) + { + M_StartMessage(DEH_String(NETEND),NULL,false); + return; + } + + M_StartMessage(DEH_String(ENDGAME),M_EndGameResponse,true); +} + + + + +// +// M_ReadThis +// +void M_ReadThis(int choice) +{ + choice = 0; + M_SetupNextMenu(&ReadDef1); +} + +void M_ReadThis2(int choice) +{ + // Doom 1.9 had two menus when playing Doom 1 + // All others had only one + + if (gameversion <= exe_doom_1_9 && gamemode != commercial) + { + choice = 0; + M_SetupNextMenu(&ReadDef2); + } + else + { + // Close the menu + + M_FinishReadThis(0); + } +} + +void M_FinishReadThis(int choice) +{ + choice = 0; + M_SetupNextMenu(&MainDef); +} + + + + +// +// M_QuitDOOM +// +int quitsounds[8] = +{ + sfx_pldeth, + sfx_dmpain, + sfx_popain, + sfx_slop, + sfx_telept, + sfx_posit1, + sfx_posit3, + sfx_sgtatk +}; + +int quitsounds2[8] = +{ + sfx_vilact, + sfx_getpow, + sfx_boscub, + sfx_slop, + sfx_skeswg, + sfx_kntdth, + sfx_bspact, + sfx_sgtatk +}; + + + +void M_QuitResponse(int key) +{ + if (key != key_menu_confirm) + return; + if (!netgame) + { + if (gamemode == commercial) + S_StartSound(NULL,quitsounds2[(gametic>>2)&7]); + else + S_StartSound(NULL,quitsounds[(gametic>>2)&7]); + I_WaitVBL(105); + } + I_Quit (); +} + + +static char *M_SelectEndMessage(void) +{ + char **endmsg; + + if (logical_gamemission == doom) + { + // Doom 1 + + endmsg = doom1_endmsg; + } + else + { + // Doom 2 + + endmsg = doom2_endmsg; + } + + return endmsg[gametic % NUM_QUITMESSAGES]; +} + + +void M_QuitDOOM(int choice) +{ + DEH_snprintf(endstring, sizeof(endstring), "%s\n\n" DOSY, + DEH_String(M_SelectEndMessage())); + + M_StartMessage(endstring,M_QuitResponse,true); +} + + + + +void M_ChangeSensitivity(int choice) +{ + switch(choice) + { + case 0: + if (mouseSensitivity) + mouseSensitivity--; + break; + case 1: + if (mouseSensitivity < 9) + mouseSensitivity++; + break; + } +} + + + + +void M_ChangeDetail(int choice) +{ + choice = 0; + detailLevel = 1 - detailLevel; + + R_SetViewSize (screenblocks, detailLevel); + + if (!detailLevel) + players[consoleplayer].message = DEH_String(DETAILHI); + else + players[consoleplayer].message = DEH_String(DETAILLO); +} + + + + +void M_SizeDisplay(int choice) +{ + switch(choice) + { + case 0: + if (screenSize > 0) + { + screenblocks--; + screenSize--; + } + break; + case 1: + if (screenSize < 8) + { + screenblocks++; + screenSize++; + } + break; + } + + + R_SetViewSize (screenblocks, detailLevel); +} + + + + +// +// Menu Functions +// +void +M_DrawThermo +( int x, + int y, + int thermWidth, + int thermDot ) +{ + int xx; + int i; + + xx = x; + V_DrawPatchDirect(xx, y, W_CacheLumpName(DEH_String("M_THERML"), PU_CACHE)); + xx += 8; + for (i=0;ix - 10, menu->y + item * LINEHEIGHT - 1, + W_CacheLumpName(DEH_String("M_CELL1"), PU_CACHE)); +} + +void +M_DrawSelCell +( menu_t* menu, + int item ) +{ + V_DrawPatchDirect(menu->x - 10, menu->y + item * LINEHEIGHT - 1, + W_CacheLumpName(DEH_String("M_CELL2"), PU_CACHE)); +} + + +void +M_StartMessage +( char* string, + void* routine, + boolean input ) +{ + messageLastMenuActive = menuactive; + messageToPrint = 1; + messageString = string; + messageRoutine = routine; + messageNeedsInput = input; + menuactive = true; + return; +} + + +void M_StopMessage(void) +{ + menuactive = messageLastMenuActive; + messageToPrint = 0; +} + + + +// +// Find string width from hu_font chars +// +int M_StringWidth(char* string) +{ + size_t i; + int w = 0; + int c; + + for (i = 0;i < strlen(string);i++) + { + c = toupper(string[i]) - HU_FONTSTART; + if (c < 0 || c >= HU_FONTSIZE) + w += 4; + else + w += SHORT (hu_font[c]->width); + } + + return w; +} + + + +// +// Find string height from hu_font chars +// +int M_StringHeight(char* string) +{ + size_t i; + int h; + int height = SHORT(hu_font[0]->height); + + h = height; + for (i = 0;i < strlen(string);i++) + if (string[i] == '\n') + h += height; + + return h; +} + + +// +// Write a string using the hu_font +// +void +M_WriteText +( int x, + int y, + char* string) +{ + int w; + char* ch; + int c; + int cx; + int cy; + + + ch = string; + cx = x; + cy = y; + + while(1) + { + c = *ch++; + if (!c) + break; + if (c == '\n') + { + cx = x; + cy += 12; + continue; + } + + c = toupper(c) - HU_FONTSTART; + if (c < 0 || c>= HU_FONTSIZE) + { + cx += 4; + continue; + } + + w = SHORT (hu_font[c]->width); + if (cx+w > SCREENWIDTH) + break; + V_DrawPatchDirect(cx, cy, hu_font[c]); + cx+=w; + } +} + +// These keys evaluate to a "null" key in Vanilla Doom that allows weird +// jumping in the menus. Preserve this behavior for accuracy. + +static boolean IsNullKey(int key) +{ + return key == KEY_PAUSE || key == KEY_CAPSLOCK + || key == KEY_SCRLCK || key == KEY_NUMLOCK; +} + +// +// CONTROL PANEL +// + +// +// M_Responder +// +boolean M_Responder (event_t* ev) +{ + int ch; + int key; + int i; + static int joywait = 0; + static int mousewait = 0; + static int mousey = 0; + static int lasty = 0; + static int mousex = 0; + static int lastx = 0; + + // In testcontrols mode, none of the function keys should do anything + // - the only key is escape to quit. + + if (testcontrols) + { + if (ev->type == ev_quit + || (ev->type == ev_keydown + && (ev->data1 == key_menu_activate || ev->data1 == key_menu_quit))) + { + I_Quit(); + return true; + } + + return false; + } + + // "close" button pressed on window? + if (ev->type == ev_quit) + { + // First click on close button = bring up quit confirm message. + // Second click on close button = confirm quit + + if (menuactive && messageToPrint && messageRoutine == M_QuitResponse) + { + M_QuitResponse(key_menu_confirm); + } + else + { + S_StartSound(NULL,sfx_swtchn); + M_QuitDOOM(0); + } + + return true; + } + + // key is the key pressed, ch is the actual character typed + + ch = 0; + key = -1; + + if (ev->type == ev_joystick && joywait < I_GetTime()) + { + if (ev->data3 < 0) + { + key = key_menu_up; + joywait = I_GetTime() + 5; + } + else if (ev->data3 > 0) + { + key = key_menu_down; + joywait = I_GetTime() + 5; + } + + if (ev->data2 < 0) + { + key = key_menu_left; + joywait = I_GetTime() + 2; + } + else if (ev->data2 > 0) + { + key = key_menu_right; + joywait = I_GetTime() + 2; + } + + if (ev->data1&1) + { + key = key_menu_forward; + joywait = I_GetTime() + 5; + } + if (ev->data1&2) + { + key = key_menu_back; + joywait = I_GetTime() + 5; + } + if (joybmenu >= 0 && (ev->data1 & (1 << joybmenu)) != 0) + { + key = key_menu_activate; + joywait = I_GetTime() + 5; + } + } + else + { + if (ev->type == ev_mouse && mousewait < I_GetTime()) + { + mousey += ev->data3; + if (mousey < lasty-30) + { + key = key_menu_down; + mousewait = I_GetTime() + 5; + mousey = lasty -= 30; + } + else if (mousey > lasty+30) + { + key = key_menu_up; + mousewait = I_GetTime() + 5; + mousey = lasty += 30; + } + + mousex += ev->data2; + if (mousex < lastx-30) + { + key = key_menu_left; + mousewait = I_GetTime() + 5; + mousex = lastx -= 30; + } + else if (mousex > lastx+30) + { + key = key_menu_right; + mousewait = I_GetTime() + 5; + mousex = lastx += 30; + } + + if (ev->data1&1) + { + key = key_menu_forward; + mousewait = I_GetTime() + 15; + } + + if (ev->data1&2) + { + key = key_menu_back; + mousewait = I_GetTime() + 15; + } + } + else + { + if (ev->type == ev_keydown) + { + key = ev->data1; + ch = ev->data2; + } + } + } + + if (key == -1) + return false; + + // Save Game string input + if (saveStringEnter) + { + switch(key) + { + case KEY_BACKSPACE: + if (saveCharIndex > 0) + { + saveCharIndex--; + savegamestrings[saveSlot][saveCharIndex] = 0; + } + break; + + case KEY_ESCAPE: + saveStringEnter = 0; + M_StringCopy(savegamestrings[saveSlot], saveOldString, + SAVESTRINGSIZE); + break; + + case KEY_ENTER: + saveStringEnter = 0; + if (savegamestrings[saveSlot][0]) + M_DoSave(saveSlot); + break; + + default: + // This is complicated. + // Vanilla has a bug where the shift key is ignored when entering + // a savegame name. If vanilla_keyboard_mapping is on, we want + // to emulate this bug by using 'data1'. But if it's turned off, + // it implies the user doesn't care about Vanilla emulation: just + // use the correct 'data2'. + + if (vanilla_keyboard_mapping) + { + ch = key; + } + + ch = toupper(ch); + + if (ch != ' ' + && (ch - HU_FONTSTART < 0 || ch - HU_FONTSTART >= HU_FONTSIZE)) + { + break; + } + + if (ch >= 32 && ch <= 127 && + saveCharIndex < SAVESTRINGSIZE-1 && + M_StringWidth(savegamestrings[saveSlot]) < + (SAVESTRINGSIZE-2)*8) + { + savegamestrings[saveSlot][saveCharIndex++] = ch; + savegamestrings[saveSlot][saveCharIndex] = 0; + } + break; + } + return true; + } + + // Take care of any messages that need input + if (messageToPrint) + { + if (messageNeedsInput) + { + if (key != ' ' && key != KEY_ESCAPE + && key != key_menu_confirm && key != key_menu_abort) + { + return false; + } + } + + menuactive = messageLastMenuActive; + messageToPrint = 0; + if (messageRoutine) + messageRoutine(key); + + menuactive = false; + S_StartSound(NULL,sfx_swtchx); + return true; + } + + if ((devparm && key == key_menu_help) || + (key != 0 && key == key_menu_screenshot)) + { + G_ScreenShot (); + return true; + } + + // F-Keys + if (!menuactive) + { + if (key == key_menu_decscreen) // Screen size down + { + if (automapactive || chat_on) + return false; + M_SizeDisplay(0); + S_StartSound(NULL,sfx_stnmov); + return true; + } + else if (key == key_menu_incscreen) // Screen size up + { + if (automapactive || chat_on) + return false; + M_SizeDisplay(1); + S_StartSound(NULL,sfx_stnmov); + return true; + } + else if (key == key_menu_help) // Help key + { + M_StartControlPanel (); + + if ( gamemode == retail ) + currentMenu = &ReadDef2; + else + currentMenu = &ReadDef1; + + itemOn = 0; + S_StartSound(NULL,sfx_swtchn); + return true; + } + else if (key == key_menu_save) // Save + { + M_StartControlPanel(); + S_StartSound(NULL,sfx_swtchn); + M_SaveGame(0); + return true; + } + else if (key == key_menu_load) // Load + { + M_StartControlPanel(); + S_StartSound(NULL,sfx_swtchn); + M_LoadGame(0); + return true; + } + else if (key == key_menu_volume) // Sound Volume + { + M_StartControlPanel (); + currentMenu = &SoundDef; + itemOn = sfx_vol; + S_StartSound(NULL,sfx_swtchn); + return true; + } + else if (key == key_menu_detail) // Detail toggle + { + M_ChangeDetail(0); + S_StartSound(NULL,sfx_swtchn); + return true; + } + else if (key == key_menu_qsave) // Quicksave + { + S_StartSound(NULL,sfx_swtchn); + M_QuickSave(); + return true; + } + else if (key == key_menu_endgame) // End game + { + S_StartSound(NULL,sfx_swtchn); + M_EndGame(0); + return true; + } + else if (key == key_menu_messages) // Toggle messages + { + M_ChangeMessages(0); + S_StartSound(NULL,sfx_swtchn); + return true; + } + else if (key == key_menu_qload) // Quickload + { + S_StartSound(NULL,sfx_swtchn); + M_QuickLoad(); + return true; + } + else if (key == key_menu_quit) // Quit DOOM + { + S_StartSound(NULL,sfx_swtchn); + M_QuitDOOM(0); + return true; + } + else if (key == key_menu_gamma) // gamma toggle + { + usegamma++; + if (usegamma > 4) + usegamma = 0; + players[consoleplayer].message = DEH_String(gammamsg[usegamma]); + I_SetPalette (W_CacheLumpName (DEH_String("PLAYPAL"),PU_CACHE)); + return true; + } + } + + // Pop-up menu? + if (!menuactive) + { + if (key == key_menu_activate) + { + M_StartControlPanel (); + S_StartSound(NULL,sfx_swtchn); + return true; + } + return false; + } + + // Keys usable within menu + + if (key == key_menu_down) + { + // Move down to next item + + do + { + if (itemOn+1 > currentMenu->numitems-1) + itemOn = 0; + else itemOn++; + S_StartSound(NULL,sfx_pstop); + } while(currentMenu->menuitems[itemOn].status==-1); + + return true; + } + else if (key == key_menu_up) + { + // Move back up to previous item + + do + { + if (!itemOn) + itemOn = currentMenu->numitems-1; + else itemOn--; + S_StartSound(NULL,sfx_pstop); + } while(currentMenu->menuitems[itemOn].status==-1); + + return true; + } + else if (key == key_menu_left) + { + // Slide slider left + + if (currentMenu->menuitems[itemOn].routine && + currentMenu->menuitems[itemOn].status == 2) + { + S_StartSound(NULL,sfx_stnmov); + currentMenu->menuitems[itemOn].routine(0); + } + return true; + } + else if (key == key_menu_right) + { + // Slide slider right + + if (currentMenu->menuitems[itemOn].routine && + currentMenu->menuitems[itemOn].status == 2) + { + S_StartSound(NULL,sfx_stnmov); + currentMenu->menuitems[itemOn].routine(1); + } + return true; + } + else if (key == key_menu_forward) + { + // Activate menu item + + if (currentMenu->menuitems[itemOn].routine && + currentMenu->menuitems[itemOn].status) + { + currentMenu->lastOn = itemOn; + if (currentMenu->menuitems[itemOn].status == 2) + { + currentMenu->menuitems[itemOn].routine(1); // right arrow + S_StartSound(NULL,sfx_stnmov); + } + else + { + currentMenu->menuitems[itemOn].routine(itemOn); + S_StartSound(NULL,sfx_pistol); + } + } + return true; + } + else if (key == key_menu_activate) + { + // Deactivate menu + + currentMenu->lastOn = itemOn; + M_ClearMenus (); + S_StartSound(NULL,sfx_swtchx); + return true; + } + else if (key == key_menu_back) + { + // Go back to previous menu + + currentMenu->lastOn = itemOn; + if (currentMenu->prevMenu) + { + currentMenu = currentMenu->prevMenu; + itemOn = currentMenu->lastOn; + S_StartSound(NULL,sfx_swtchn); + } + return true; + } + + // Keyboard shortcut? + // Vanilla Doom has a weird behavior where it jumps to the scroll bars + // when the certain keys are pressed, so emulate this. + + else if (ch != 0 || IsNullKey(key)) + { + for (i = itemOn+1;i < currentMenu->numitems;i++) + { + if (currentMenu->menuitems[i].alphaKey == ch) + { + itemOn = i; + S_StartSound(NULL,sfx_pstop); + return true; + } + } + + for (i = 0;i <= itemOn;i++) + { + if (currentMenu->menuitems[i].alphaKey == ch) + { + itemOn = i; + S_StartSound(NULL,sfx_pstop); + return true; + } + } + } + + return false; +} + + + +// +// M_StartControlPanel +// +void M_StartControlPanel (void) +{ + // intro might call this repeatedly + if (menuactive) + return; + + menuactive = 1; + currentMenu = &MainDef; // JDC + itemOn = currentMenu->lastOn; // JDC +} + +// Display OPL debug messages - hack for GENMIDI development. + +#if 0 +static void M_DrawOPLDev(void) +{ + extern void I_OPL_DevMessages(char *, size_t); + char debug[1024]; + char *curr, *p; + int line; + + //XXX I_OPL_DevMessages(debug, sizeof(debug)); + curr = debug; + line = 0; + + for (;;) + { + p = strchr(curr, '\n'); + + if (p != NULL) + { + *p = '\0'; + } + + M_WriteText(0, line * 8, curr); + ++line; + + if (p == NULL) + { + break; + } + + curr = p + 1; + } +} +#endif + +// +// M_Drawer +// Called after the view has been rendered, +// but before it has been blitted. +// +void M_Drawer (void) +{ + static short x; + static short y; + unsigned int i; + unsigned int max; + char string[80]; + char *name; + int start; + + inhelpscreens = false; + + // Horiz. & Vertically center string and print it. + if (messageToPrint) + { + start = 0; + y = SCREENHEIGHT/2 - M_StringHeight(messageString) / 2; + while (messageString[start] != '\0') + { + int foundnewline = 0; + + for (i = 0; i < strlen(messageString + start); i++) + { + if (messageString[start + i] == '\n') + { + M_StringCopy(string, messageString + start, + sizeof(string)); + if (i < sizeof(string)) + { + string[i] = '\0'; + } + + foundnewline = 1; + start += i + 1; + break; + } + } + + if (!foundnewline) + { + M_StringCopy(string, messageString + start, sizeof(string)); + start += strlen(string); + } + + x = SCREENWIDTH/2 - M_StringWidth(string) / 2; + M_WriteText(x, y, string); + y += SHORT(hu_font[0]->height); + } + + return; + } + + //if (opldev) + //{ + // M_DrawOPLDev(); + //} + + if (!menuactive) + return; + + if (currentMenu->routine) + currentMenu->routine(); // call Draw routine + + // DRAW MENU + x = currentMenu->x; + y = currentMenu->y; + max = currentMenu->numitems; + + for (i=0;imenuitems[i].name); + + if (name[0]) + { + V_DrawPatchDirect (x, y, W_CacheLumpName(name, PU_CACHE)); + } + y += LINEHEIGHT; + } + + + // DRAW SKULL + V_DrawPatchDirect(x + SKULLXOFF, currentMenu->y - 5 + itemOn*LINEHEIGHT, + W_CacheLumpName(DEH_String(skullName[whichSkull]), + PU_CACHE)); +} + + +// +// M_ClearMenus +// +void M_ClearMenus (void) +{ + menuactive = 0; + // if (!netgame && usergame && paused) + // sendpause = true; +} + + + + +// +// M_SetupNextMenu +// +void M_SetupNextMenu(menu_t *menudef) +{ + currentMenu = menudef; + itemOn = currentMenu->lastOn; +} + + +// +// M_Ticker +// +void M_Ticker (void) +{ + if (--skullAnimCounter <= 0) + { + whichSkull ^= 1; + skullAnimCounter = 8; + } +} + + +// +// M_Init +// +void M_Init (void) +{ + currentMenu = &MainDef; + menuactive = 0; + itemOn = currentMenu->lastOn; + whichSkull = 0; + skullAnimCounter = 10; + screenSize = screenblocks - 3; + messageToPrint = 0; + messageString = NULL; + messageLastMenuActive = menuactive; + quickSaveSlot = -1; + + // Here we could catch other version dependencies, + // like HELP1/2, and four episodes. + + + switch ( gamemode ) + { + case commercial: + // Commercial has no "read this" entry. + MainMenu[readthis] = MainMenu[quitdoom]; + MainDef.numitems--; + MainDef.y += 8; + NewDef.prevMenu = &MainDef; + break; + case shareware: + // Episode 2 and 3 are handled, + // branching to an ad screen. + case registered: + break; + case retail: + // We are fine. + default: + break; + } + + // Versions of doom.exe before the Ultimate Doom release only had + // three episodes; if we're emulating one of those then don't try + // to show episode four. If we are, then do show episode four + // (should crash if missing). + if (gameversion < exe_ultimate) + { + EpiDef.numitems--; + } + + //opldev = M_CheckParm("-opldev") > 0; +} + diff --git a/src/kernel/userland/doom/m_menu.h b/src/kernel/userland/doom/m_menu.h new file mode 100644 index 0000000..ce41db3 --- /dev/null +++ b/src/kernel/userland/doom/m_menu.h @@ -0,0 +1,61 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Menu widget stuff, episode selection and such. +// + + +#ifndef __M_MENU__ +#define __M_MENU__ + + + +#include "d_event.h" + +// +// MENUS +// +// Called by main loop, +// saves config file and calls I_Quit when user exits. +// Even when the menu is not displayed, +// this can resize the view and change game parameters. +// Does all the real work of the menu interaction. +boolean M_Responder (event_t *ev); + + +// Called by main loop, +// only used for menu (skull cursor) animation. +void M_Ticker (void); + +// Called by main loop, +// draws the menus directly into the screen buffer. +void M_Drawer (void); + +// Called by D_DoomMain, +// loads the config file. +void M_Init (void); + +// Called by intro code to force menu up upon a keypress, +// does nothing if menu is already up. +void M_StartControlPanel (void); + + + +extern int detailLevel; +extern int screenblocks; + + + +#endif diff --git a/src/kernel/userland/doom/m_misc.c b/src/kernel/userland/doom/m_misc.c new file mode 100644 index 0000000..54b2613 --- /dev/null +++ b/src/kernel/userland/doom/m_misc.c @@ -0,0 +1,536 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 1993-2008 Raven Software +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Miscellaneous. +// + + +#include +#include +#include +#include +#include + +#ifdef _WIN32 +#define WIN32_LEAN_AND_MEAN +#include +#include +#ifdef _MSC_VER +#include +#endif +#else +#include +#include +#endif + +#include "doomtype.h" + +#include "deh_str.h" + +#include "i_swap.h" +#include "i_system.h" +#include "i_video.h" +#include "m_misc.h" +#include "v_video.h" +#include "w_wad.h" +#include "z_zone.h" + +// +// Create a directory +// + +void M_MakeDirectory(char *path) +{ +#ifdef _WIN32 + mkdir(path); +#else + mkdir(path, 0755); +#endif +} + +// Check if a file exists + +boolean M_FileExists(char *filename) +{ + FILE *fstream; + + fstream = fopen(filename, "r"); + + if (fstream != NULL) + { + fclose(fstream); + return true; + } + else + { + // If we can't open because the file is a directory, the + // "file" exists at least! + + return errno == EISDIR; + } +} + +// +// Determine the length of an open file. +// + +long M_FileLength(FILE *handle) +{ + long savedpos; + long length; + + // save the current position in the file + savedpos = ftell(handle); + + // jump to the end and find the length + fseek(handle, 0, SEEK_END); + length = ftell(handle); + + // go back to the old location + fseek(handle, savedpos, SEEK_SET); + + return length; +} + +// +// M_WriteFile +// + +boolean M_WriteFile(char *name, void *source, int length) +{ + FILE *handle; + int count; + + handle = fopen(name, "wb"); + + if (handle == NULL) + return false; + + count = fwrite(source, 1, length, handle); + fclose(handle); + + if (count < length) + return false; + + return true; +} + + +// +// M_ReadFile +// + +int M_ReadFile(char *name, byte **buffer) +{ + FILE *handle; + int count, length; + byte *buf; + + handle = fopen(name, "rb"); + if (handle == NULL) + I_Error ("Couldn't read file %s", name); + + // find the size of the file by seeking to the end and + // reading the current position + + length = M_FileLength(handle); + + buf = Z_Malloc (length, PU_STATIC, NULL); + count = fread(buf, 1, length, handle); + fclose (handle); + + if (count < length) + I_Error ("Couldn't read file %s", name); + + *buffer = buf; + return length; +} + +// Returns the path to a temporary file of the given name, stored +// inside the system temporary directory. +// +// The returned value must be freed with Z_Free after use. + +char *M_TempFile(char *s) +{ + char *tempdir; + +#if defined(_WIN32) || defined(__DJGPP__) + + // Check the TEMP environment variable to find the location. + + tempdir = getenv("TEMP"); + + if (tempdir == NULL) + { + tempdir = "."; + } +#else + // In Unix, just use /tmp. + + tempdir = "/tmp"; +#endif + + return M_StringJoin(tempdir, DIR_SEPARATOR_S, s, NULL); +} + +boolean M_StrToInt(const char *str, int *result) +{ + return sscanf(str, " 0x%x", result) == 1 + || sscanf(str, " 0X%x", result) == 1 + || sscanf(str, " 0%o", result) == 1 + || sscanf(str, " %d", result) == 1; +} + +void M_ExtractFileBase(char *path, char *dest) +{ + char *src; + char *filename; + int length; + + src = path + strlen(path) - 1; + + // back up until a \ or the start + while (src != path && *(src - 1) != DIR_SEPARATOR) + { + src--; + } + + filename = src; + + // Copy up to eight characters + // Note: Vanilla Doom exits with an error if a filename is specified + // with a base of more than eight characters. To remove the 8.3 + // filename limit, instead we simply truncate the name. + + length = 0; + memset(dest, 0, 8); + + while (*src != '\0' && *src != '.') + { + if (length >= 8) + { + printf("Warning: Truncated '%s' lump name to '%.8s'.\n", + filename, dest); + break; + } + + dest[length++] = toupper((int)*src++); + } +} + +//--------------------------------------------------------------------------- +// +// PROC M_ForceUppercase +// +// Change string to uppercase. +// +//--------------------------------------------------------------------------- + +void M_ForceUppercase(char *text) +{ + char *p; + + for (p = text; *p != '\0'; ++p) + { + *p = toupper(*p); + } +} + +// +// M_StrCaseStr +// +// Case-insensitive version of strstr() +// + +char *M_StrCaseStr(char *haystack, char *needle) +{ + unsigned int haystack_len; + unsigned int needle_len; + unsigned int len; + unsigned int i; + + haystack_len = strlen(haystack); + needle_len = strlen(needle); + + if (haystack_len < needle_len) + { + return NULL; + } + + len = haystack_len - needle_len; + + for (i = 0; i <= len; ++i) + { + if (!strncasecmp(haystack + i, needle, needle_len)) + { + return haystack + i; + } + } + + return NULL; +} + +// +// Safe version of strdup() that checks the string was successfully +// allocated. +// + +char *M_StringDuplicate(const char *orig) +{ + char *result; + + result = strdup(orig); + + if (result == NULL) + { + I_Error("Failed to duplicate string (length %i)\n", + strlen(orig)); + } + + return result; +} + +// +// String replace function. +// + +char *M_StringReplace(const char *haystack, const char *needle, + const char *replacement) +{ + char *result, *dst; + const char *p; + size_t needle_len = strlen(needle); + size_t result_len, dst_len; + + // Iterate through occurrences of 'needle' and calculate the size of + // the new string. + result_len = strlen(haystack) + 1; + p = haystack; + + for (;;) + { + p = strstr(p, needle); + if (p == NULL) + { + break; + } + + p += needle_len; + result_len += strlen(replacement) - needle_len; + } + + // Construct new string. + + result = malloc(result_len); + if (result == NULL) + { + I_Error("M_StringReplace: Failed to allocate new string"); + return NULL; + } + + dst = result; dst_len = result_len; + p = haystack; + + while (*p != '\0') + { + if (!strncmp(p, needle, needle_len)) + { + M_StringCopy(dst, replacement, dst_len); + p += needle_len; + dst += strlen(replacement); + dst_len -= strlen(replacement); + } + else + { + *dst = *p; + ++dst; --dst_len; + ++p; + } + } + + *dst = '\0'; + + return result; +} + +// Safe string copy function that works like OpenBSD's strlcpy(). +// Returns true if the string was not truncated. + +boolean M_StringCopy(char *dest, const char *src, size_t dest_size) +{ + size_t len; + + if (dest_size >= 1) + { + dest[dest_size - 1] = '\0'; + strncpy(dest, src, dest_size - 1); + } + else + { + return false; + } + + len = strlen(dest); + return src[len] == '\0'; +} + +// Safe string concat function that works like OpenBSD's strlcat(). +// Returns true if string not truncated. + +boolean M_StringConcat(char *dest, const char *src, size_t dest_size) +{ + size_t offset; + + offset = strlen(dest); + if (offset > dest_size) + { + offset = dest_size; + } + + return M_StringCopy(dest + offset, src, dest_size - offset); +} + +// Returns true if 's' begins with the specified prefix. + +boolean M_StringStartsWith(const char *s, const char *prefix) +{ + return strlen(s) > strlen(prefix) + && strncmp(s, prefix, strlen(prefix)) == 0; +} + +// Returns true if 's' ends with the specified suffix. + +boolean M_StringEndsWith(const char *s, const char *suffix) +{ + return strlen(s) >= strlen(suffix) + && strcmp(s + strlen(s) - strlen(suffix), suffix) == 0; +} + +// Return a newly-malloced string with all the strings given as arguments +// concatenated together. + +char *M_StringJoin(const char *s, ...) +{ + char *result; + const char *v; + va_list args; + size_t result_len; + + result_len = strlen(s) + 1; + + va_start(args, s); + for (;;) + { + v = va_arg(args, const char *); + if (v == NULL) + { + break; + } + + result_len += strlen(v); + } + va_end(args); + + result = malloc(result_len); + + if (result == NULL) + { + I_Error("M_StringJoin: Failed to allocate new string."); + return NULL; + } + + M_StringCopy(result, s, result_len); + + va_start(args, s); + for (;;) + { + v = va_arg(args, const char *); + if (v == NULL) + { + break; + } + + M_StringConcat(result, v, result_len); + } + va_end(args); + + return result; +} + +// On Windows, vsnprintf() is _vsnprintf(). +#ifdef _WIN32 +#if _MSC_VER < 1400 /* not needed for Visual Studio 2008 */ +#define vsnprintf _vsnprintf +#endif +#endif + +// Safe, portable vsnprintf(). +int M_vsnprintf(char *buf, size_t buf_len, const char *s, va_list args) +{ + int result; + + if (buf_len < 1) + { + return 0; + } + + // Windows (and other OSes?) has a vsnprintf() that doesn't always + // append a trailing \0. So we must do it, and write into a buffer + // that is one byte shorter; otherwise this function is unsafe. + result = vsnprintf(buf, buf_len, s, args); + + // If truncated, change the final char in the buffer to a \0. + // A negative result indicates a truncated buffer on Windows. + if (result < 0 || result >= buf_len) + { + buf[buf_len - 1] = '\0'; + result = buf_len - 1; + } + + return result; +} + +// Safe, portable snprintf(). +int M_snprintf(char *buf, size_t buf_len, const char *s, ...) +{ + va_list args; + int result; + va_start(args, s); + result = M_vsnprintf(buf, buf_len, s, args); + va_end(args); + return result; +} + +#ifdef _WIN32 + +char *M_OEMToUTF8(const char *oem) +{ + unsigned int len = strlen(oem) + 1; + wchar_t *tmp; + char *result; + + tmp = malloc(len * sizeof(wchar_t)); + MultiByteToWideChar(CP_OEMCP, 0, oem, len, tmp, len); + result = malloc(len * 4); + WideCharToMultiByte(CP_UTF8, 0, tmp, len, result, len * 4, NULL, NULL); + free(tmp); + + return result; +} + +#endif + diff --git a/src/kernel/userland/doom/m_misc.h b/src/kernel/userland/doom/m_misc.h new file mode 100644 index 0000000..844b485 --- /dev/null +++ b/src/kernel/userland/doom/m_misc.h @@ -0,0 +1,51 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Miscellaneous. +// + + +#ifndef __M_MISC__ +#define __M_MISC__ + +#include +#include + +#include "doomtype.h" + +boolean M_WriteFile(char *name, void *source, int length); +int M_ReadFile(char *name, byte **buffer); +void M_MakeDirectory(char *dir); +char *M_TempFile(char *s); +boolean M_FileExists(char *file); +long M_FileLength(FILE *handle); +boolean M_StrToInt(const char *str, int *result); +void M_ExtractFileBase(char *path, char *dest); +void M_ForceUppercase(char *text); +char *M_StrCaseStr(char *haystack, char *needle); +char *M_StringDuplicate(const char *orig); +boolean M_StringCopy(char *dest, const char *src, size_t dest_size); +boolean M_StringConcat(char *dest, const char *src, size_t dest_size); +char *M_StringReplace(const char *haystack, const char *needle, + const char *replacement); +char *M_StringJoin(const char *s, ...); +boolean M_StringStartsWith(const char *s, const char *prefix); +boolean M_StringEndsWith(const char *s, const char *suffix); +int M_vsnprintf(char *buf, size_t buf_len, const char *s, va_list args); +int M_snprintf(char *buf, size_t buf_len, const char *s, ...); +char *M_OEMToUTF8(const char *ansi); + +#endif + diff --git a/src/kernel/userland/doom/m_random.c b/src/kernel/userland/doom/m_random.c new file mode 100644 index 0000000..8e3b4e1 --- /dev/null +++ b/src/kernel/userland/doom/m_random.c @@ -0,0 +1,65 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Random number LUT. +// + +// +// M_Random +// Returns a 0-255 number +// + +static const unsigned char rndtable[256] = { + 0, 8, 109, 220, 222, 241, 149, 107, 75, 248, 254, 140, 16, 66 , + 74, 21, 211, 47, 80, 242, 154, 27, 205, 128, 161, 89, 77, 36 , + 95, 110, 85, 48, 212, 140, 211, 249, 22, 79, 200, 50, 28, 188 , + 52, 140, 202, 120, 68, 145, 62, 70, 184, 190, 91, 197, 152, 224 , + 149, 104, 25, 178, 252, 182, 202, 182, 141, 197, 4, 81, 181, 242 , + 145, 42, 39, 227, 156, 198, 225, 193, 219, 93, 122, 175, 249, 0 , + 175, 143, 70, 239, 46, 246, 163, 53, 163, 109, 168, 135, 2, 235 , + 25, 92, 20, 145, 138, 77, 69, 166, 78, 176, 173, 212, 166, 113 , + 94, 161, 41, 50, 239, 49, 111, 164, 70, 60, 2, 37, 171, 75 , + 136, 156, 11, 56, 42, 146, 138, 229, 73, 146, 77, 61, 98, 196 , + 135, 106, 63, 197, 195, 86, 96, 203, 113, 101, 170, 247, 181, 113 , + 80, 250, 108, 7, 255, 237, 129, 226, 79, 107, 112, 166, 103, 241 , + 24, 223, 239, 120, 198, 58, 60, 82, 128, 3, 184, 66, 143, 224 , + 145, 224, 81, 206, 163, 45, 63, 90, 168, 114, 59, 33, 159, 95 , + 28, 139, 123, 98, 125, 196, 15, 70, 194, 253, 54, 14, 109, 226 , + 71, 17, 161, 93, 186, 87, 244, 138, 20, 52, 123, 251, 26, 36 , + 17, 46, 52, 231, 232, 76, 31, 221, 84, 37, 216, 165, 212, 106 , + 197, 242, 98, 43, 39, 175, 254, 145, 190, 84, 118, 222, 187, 136 , + 120, 163, 236, 249 +}; + +int rndindex = 0; +int prndindex = 0; + +// Which one is deterministic? +int P_Random (void) +{ + prndindex = (prndindex+1)&0xff; + return rndtable[prndindex]; +} + +int M_Random (void) +{ + rndindex = (rndindex+1)&0xff; + return rndtable[rndindex]; +} + +void M_ClearRandom (void) +{ + rndindex = prndindex = 0; +} diff --git a/src/kernel/userland/doom/m_random.h b/src/kernel/userland/doom/m_random.h new file mode 100644 index 0000000..aa6291a --- /dev/null +++ b/src/kernel/userland/doom/m_random.h @@ -0,0 +1,39 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// +// + + +#ifndef __M_RANDOM__ +#define __M_RANDOM__ + + +#include "doomtype.h" + + + +// Returns a number from 0 to 255, +// from a lookup table. +int M_Random (void); + +// As M_Random, but used only by the play simulation. +int P_Random (void); + +// Fix randoms for demos. +void M_ClearRandom (void); + + +#endif diff --git a/src/kernel/userland/doom/math.h b/src/kernel/userland/doom/math.h new file mode 100644 index 0000000..28a93be --- /dev/null +++ b/src/kernel/userland/doom/math.h @@ -0,0 +1 @@ +#include "boredos_libc.h" diff --git a/src/kernel/userland/doom/memio.c b/src/kernel/userland/doom/memio.c new file mode 100644 index 0000000..3cc769a --- /dev/null +++ b/src/kernel/userland/doom/memio.c @@ -0,0 +1,197 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// Emulates the IO functions in C stdio.h reading and writing to +// memory. +// + +#include +#include +#include + +#include "memio.h" + +#include "z_zone.h" + +typedef enum { + MODE_READ, + MODE_WRITE, +} memfile_mode_t; + +struct _MEMFILE { + unsigned char *buf; + size_t buflen; + size_t alloced; + unsigned int position; + memfile_mode_t mode; +}; + +// Open a memory area for reading + +MEMFILE *mem_fopen_read(void *buf, size_t buflen) +{ + MEMFILE *file; + + file = Z_Malloc(sizeof(MEMFILE), PU_STATIC, 0); + + file->buf = (unsigned char *) buf; + file->buflen = buflen; + file->position = 0; + file->mode = MODE_READ; + + return file; +} + +// Read bytes + +size_t mem_fread(void *buf, size_t size, size_t nmemb, MEMFILE *stream) +{ + size_t items; + + if (stream->mode != MODE_READ) + { + printf("not a read stream\n"); + return -1; + } + + // Trying to read more bytes than we have left? + + items = nmemb; + + if (items * size > stream->buflen - stream->position) + { + items = (stream->buflen - stream->position) / size; + } + + // Copy bytes to buffer + + memcpy(buf, stream->buf + stream->position, items * size); + + // Update position + + stream->position += items * size; + + return items; +} + +// Open a memory area for writing + +MEMFILE *mem_fopen_write(void) +{ + MEMFILE *file; + + file = Z_Malloc(sizeof(MEMFILE), PU_STATIC, 0); + + file->alloced = 1024; + file->buf = Z_Malloc(file->alloced, PU_STATIC, 0); + file->buflen = 0; + file->position = 0; + file->mode = MODE_WRITE; + + return file; +} + +// Write bytes to stream + +size_t mem_fwrite(const void *ptr, size_t size, size_t nmemb, MEMFILE *stream) +{ + size_t bytes; + + if (stream->mode != MODE_WRITE) + { + return -1; + } + + // More bytes than can fit in the buffer? + // If so, reallocate bigger. + + bytes = size * nmemb; + + while (bytes > stream->alloced - stream->position) + { + unsigned char *newbuf; + + newbuf = Z_Malloc(stream->alloced * 2, PU_STATIC, 0); + memcpy(newbuf, stream->buf, stream->alloced); + Z_Free(stream->buf); + stream->buf = newbuf; + stream->alloced *= 2; + } + + // Copy into buffer + + memcpy(stream->buf + stream->position, ptr, bytes); + stream->position += bytes; + + if (stream->position > stream->buflen) + stream->buflen = stream->position; + + return nmemb; +} + +void mem_get_buf(MEMFILE *stream, void **buf, size_t *buflen) +{ + *buf = stream->buf; + *buflen = stream->buflen; +} + +void mem_fclose(MEMFILE *stream) +{ + if (stream->mode == MODE_WRITE) + { + Z_Free(stream->buf); + } + + Z_Free(stream); +} + +long mem_ftell(MEMFILE *stream) +{ + return stream->position; +} + +int mem_fseek(MEMFILE *stream, signed long position, mem_rel_t whence) +{ + unsigned int newpos; + + switch (whence) + { + case MEM_SEEK_SET: + newpos = (int) position; + break; + + case MEM_SEEK_CUR: + newpos = (int) (stream->position + position); + break; + + case MEM_SEEK_END: + newpos = (int) (stream->buflen + position); + break; + default: + return -1; + } + + if (newpos < stream->buflen) + { + stream->position = newpos; + return 0; + } + else + { + printf("Error seeking to %i\n", newpos); + return -1; + } +} + + diff --git a/src/kernel/userland/doom/memio.h b/src/kernel/userland/doom/memio.h new file mode 100644 index 0000000..03706a3 --- /dev/null +++ b/src/kernel/userland/doom/memio.h @@ -0,0 +1,38 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// + +#ifndef MEMIO_H +#define MEMIO_H + +typedef struct _MEMFILE MEMFILE; + +typedef enum +{ + MEM_SEEK_SET, + MEM_SEEK_CUR, + MEM_SEEK_END, +} mem_rel_t; + +MEMFILE *mem_fopen_read(void *buf, size_t buflen); +size_t mem_fread(void *buf, size_t size, size_t nmemb, MEMFILE *stream); +MEMFILE *mem_fopen_write(void); +size_t mem_fwrite(const void *ptr, size_t size, size_t nmemb, MEMFILE *stream); +void mem_get_buf(MEMFILE *stream, void **buf, size_t *buflen); +void mem_fclose(MEMFILE *stream); +long mem_ftell(MEMFILE *stream); +int mem_fseek(MEMFILE *stream, signed long offset, mem_rel_t whence); + +#endif /* #ifndef MEMIO_H */ + diff --git a/src/kernel/userland/doom/mus2mid.c b/src/kernel/userland/doom/mus2mid.c new file mode 100644 index 0000000..bcbeb00 --- /dev/null +++ b/src/kernel/userland/doom/mus2mid.c @@ -0,0 +1,737 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// Copyright(C) 2006 Ben Ryves 2006 +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// mus2mid.c - Ben Ryves 2006 - http://benryves.com - benryves@benryves.com +// Use to convert a MUS file into a single track, type 0 MIDI file. + +#include + +#include "doomtype.h" +#include "i_swap.h" + +#include "memio.h" +#include "mus2mid.h" + +#define NUM_CHANNELS 16 + +#define MIDI_PERCUSSION_CHAN 9 +#define MUS_PERCUSSION_CHAN 15 + +// MUS event codes +typedef enum +{ + mus_releasekey = 0x00, + mus_presskey = 0x10, + mus_pitchwheel = 0x20, + mus_systemevent = 0x30, + mus_changecontroller = 0x40, + mus_scoreend = 0x60 +} musevent; + +// MIDI event codes +typedef enum +{ + midi_releasekey = 0x80, + midi_presskey = 0x90, + midi_aftertouchkey = 0xA0, + midi_changecontroller = 0xB0, + midi_changepatch = 0xC0, + midi_aftertouchchannel = 0xD0, + midi_pitchwheel = 0xE0 +} midievent; + +// Structure to hold MUS file header +typedef struct +{ + byte id[4]; + unsigned short scorelength; + unsigned short scorestart; + unsigned short primarychannels; + unsigned short secondarychannels; + unsigned short instrumentcount; +} musheader; + +// Standard MIDI type 0 header + track header +static const byte midiheader[] = +{ + 'M', 'T', 'h', 'd', // Main header + 0x00, 0x00, 0x00, 0x06, // Header size + 0x00, 0x00, // MIDI type (0) + 0x00, 0x01, // Number of tracks + 0x00, 0x46, // Resolution + 'M', 'T', 'r', 'k', // Start of track + 0x00, 0x00, 0x00, 0x00 // Placeholder for track length +}; + +// Cached channel velocities +static byte channelvelocities[] = +{ + 127, 127, 127, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 127, 127, 127 +}; + +// Timestamps between sequences of MUS events + +static unsigned int queuedtime = 0; + +// Counter for the length of the track + +static unsigned int tracksize; + +static const byte controller_map[] = +{ + 0x00, 0x20, 0x01, 0x07, 0x0A, 0x0B, 0x5B, 0x5D, + 0x40, 0x43, 0x78, 0x7B, 0x7E, 0x7F, 0x79 +}; + +static int channel_map[NUM_CHANNELS]; + +// Write timestamp to a MIDI file. + +static boolean WriteTime(unsigned int time, MEMFILE *midioutput) +{ + unsigned int buffer = time & 0x7F; + byte writeval; + + while ((time >>= 7) != 0) + { + buffer <<= 8; + buffer |= ((time & 0x7F) | 0x80); + } + + for (;;) + { + writeval = (byte)(buffer & 0xFF); + + if (mem_fwrite(&writeval, 1, 1, midioutput) != 1) + { + return true; + } + + ++tracksize; + + if ((buffer & 0x80) != 0) + { + buffer >>= 8; + } + else + { + queuedtime = 0; + return false; + } + } +} + + +// Write the end of track marker +static boolean WriteEndTrack(MEMFILE *midioutput) +{ + byte endtrack[] = {0xFF, 0x2F, 0x00}; + + if (WriteTime(queuedtime, midioutput)) + { + return true; + } + + if (mem_fwrite(endtrack, 1, 3, midioutput) != 3) + { + return true; + } + + tracksize += 3; + return false; +} + +// Write a key press event +static boolean WritePressKey(byte channel, byte key, + byte velocity, MEMFILE *midioutput) +{ + byte working = midi_presskey | channel; + + if (WriteTime(queuedtime, midioutput)) + { + return true; + } + + if (mem_fwrite(&working, 1, 1, midioutput) != 1) + { + return true; + } + + working = key & 0x7F; + + if (mem_fwrite(&working, 1, 1, midioutput) != 1) + { + return true; + } + + working = velocity & 0x7F; + + if (mem_fwrite(&working, 1, 1, midioutput) != 1) + { + return true; + } + + tracksize += 3; + + return false; +} + +// Write a key release event +static boolean WriteReleaseKey(byte channel, byte key, + MEMFILE *midioutput) +{ + byte working = midi_releasekey | channel; + + if (WriteTime(queuedtime, midioutput)) + { + return true; + } + + if (mem_fwrite(&working, 1, 1, midioutput) != 1) + { + return true; + } + + working = key & 0x7F; + + if (mem_fwrite(&working, 1, 1, midioutput) != 1) + { + return true; + } + + working = 0; + + if (mem_fwrite(&working, 1, 1, midioutput) != 1) + { + return true; + } + + tracksize += 3; + + return false; +} + +// Write a pitch wheel/bend event +static boolean WritePitchWheel(byte channel, short wheel, + MEMFILE *midioutput) +{ + byte working = midi_pitchwheel | channel; + + if (WriteTime(queuedtime, midioutput)) + { + return true; + } + + if (mem_fwrite(&working, 1, 1, midioutput) != 1) + { + return true; + } + + working = wheel & 0x7F; + + if (mem_fwrite(&working, 1, 1, midioutput) != 1) + { + return true; + } + + working = (wheel >> 7) & 0x7F; + + if (mem_fwrite(&working, 1, 1, midioutput) != 1) + { + return true; + } + + tracksize += 3; + return false; +} + +// Write a patch change event +static boolean WriteChangePatch(byte channel, byte patch, + MEMFILE *midioutput) +{ + byte working = midi_changepatch | channel; + + if (WriteTime(queuedtime, midioutput)) + { + return true; + } + + if (mem_fwrite(&working, 1, 1, midioutput) != 1) + { + return true; + } + + working = patch & 0x7F; + + if (mem_fwrite(&working, 1, 1, midioutput) != 1) + { + return true; + } + + tracksize += 2; + + return false; +} + +// Write a valued controller change event + +static boolean WriteChangeController_Valued(byte channel, + byte control, + byte value, + MEMFILE *midioutput) +{ + byte working = midi_changecontroller | channel; + + if (WriteTime(queuedtime, midioutput)) + { + return true; + } + + if (mem_fwrite(&working, 1, 1, midioutput) != 1) + { + return true; + } + + working = control & 0x7F; + + if (mem_fwrite(&working, 1, 1, midioutput) != 1) + { + return true; + } + + // Quirk in vanilla DOOM? MUS controller values should be + // 7-bit, not 8-bit. + + working = value;// & 0x7F; + + // Fix on said quirk to stop MIDI players from complaining that + // the value is out of range: + + if (working & 0x80) + { + working = 0x7F; + } + + if (mem_fwrite(&working, 1, 1, midioutput) != 1) + { + return true; + } + + tracksize += 3; + + return false; +} + +// Write a valueless controller change event +static boolean WriteChangeController_Valueless(byte channel, + byte control, + MEMFILE *midioutput) +{ + return WriteChangeController_Valued(channel, control, 0, + midioutput); +} + +// Allocate a free MIDI channel. + +static int AllocateMIDIChannel(void) +{ + int result; + int max; + int i; + + // Find the current highest-allocated channel. + + max = -1; + + for (i=0; i max) + { + max = channel_map[i]; + } + } + + // max is now equal to the highest-allocated MIDI channel. We can + // now allocate the next available channel. This also works if + // no channels are currently allocated (max=-1) + + result = max + 1; + + // Don't allocate the MIDI percussion channel! + + if (result == MIDI_PERCUSSION_CHAN) + { + ++result; + } + + return result; +} + +// Given a MUS channel number, get the MIDI channel number to use +// in the outputted file. + +static int GetMIDIChannel(int mus_channel, MEMFILE *midioutput) +{ + // Find the MIDI channel to use for this MUS channel. + // MUS channel 15 is the percusssion channel. + + if (mus_channel == MUS_PERCUSSION_CHAN) + { + return MIDI_PERCUSSION_CHAN; + } + else + { + // If a MIDI channel hasn't been allocated for this MUS channel + // yet, allocate the next free MIDI channel. + + if (channel_map[mus_channel] == -1) + { + channel_map[mus_channel] = AllocateMIDIChannel(); + + // First time using the channel, send an "all notes off" + // event. This fixes "The D_DDTBLU disease" described here: + // https://www.doomworld.com/vb/source-ports/66802-the + WriteChangeController_Valueless(channel_map[mus_channel], 0x7b, + midioutput); + } + + return channel_map[mus_channel]; + } +} + +static boolean ReadMusHeader(MEMFILE *file, musheader *header) +{ + boolean result; + + result = mem_fread(&header->id, sizeof(byte), 4, file) == 4 + && mem_fread(&header->scorelength, sizeof(short), 1, file) == 1 + && mem_fread(&header->scorestart, sizeof(short), 1, file) == 1 + && mem_fread(&header->primarychannels, sizeof(short), 1, file) == 1 + && mem_fread(&header->secondarychannels, sizeof(short), 1, file) == 1 + && mem_fread(&header->instrumentcount, sizeof(short), 1, file) == 1; + + if (result) + { + header->scorelength = SHORT(header->scorelength); + header->scorestart = SHORT(header->scorestart); + header->primarychannels = SHORT(header->primarychannels); + header->secondarychannels = SHORT(header->secondarychannels); + header->instrumentcount = SHORT(header->instrumentcount); + } + + return result; +} + + +// Read a MUS file from a stream (musinput) and output a MIDI file to +// a stream (midioutput). +// +// Returns 0 on success or 1 on failure. + +boolean mus2mid(MEMFILE *musinput, MEMFILE *midioutput) +{ + // Header for the MUS file + musheader musfileheader; + + // Descriptor for the current MUS event + byte eventdescriptor; + int channel; // Channel number + musevent event; + + + // Bunch of vars read from MUS lump + byte key; + byte controllernumber; + byte controllervalue; + + // Buffer used for MIDI track size record + byte tracksizebuffer[4]; + + // Flag for when the score end marker is hit. + int hitscoreend = 0; + + // Temp working byte + byte working; + // Used in building up time delays + unsigned int timedelay; + + // Initialise channel map to mark all channels as unused. + + for (channel=0; channel 14) + { + return true; + } + + if (WriteChangeController_Valueless(channel, + controller_map[controllernumber], + midioutput)) + { + return true; + } + + break; + + case mus_changecontroller: + if (mem_fread(&controllernumber, 1, 1, musinput) != 1) + { + return true; + } + + if (mem_fread(&controllervalue, 1, 1, musinput) != 1) + { + return true; + } + + if (controllernumber == 0) + { + if (WriteChangePatch(channel, controllervalue, + midioutput)) + { + return true; + } + } + else + { + if (controllernumber < 1 || controllernumber > 9) + { + return true; + } + + if (WriteChangeController_Valued(channel, + controller_map[controllernumber], + controllervalue, + midioutput)) + { + return true; + } + } + + break; + + case mus_scoreend: + hitscoreend = 1; + break; + + default: + return true; + break; + } + + if (eventdescriptor & 0x80) + { + break; + } + } + // Now we need to read the time code: + if (!hitscoreend) + { + timedelay = 0; + for (;;) + { + if (mem_fread(&working, 1, 1, musinput) != 1) + { + return true; + } + + timedelay = timedelay * 128 + (working & 0x7F); + if ((working & 0x80) == 0) + { + break; + } + } + queuedtime += timedelay; + } + } + + // End of track + if (WriteEndTrack(midioutput)) + { + return true; + } + + // Write the track size into the stream + if (mem_fseek(midioutput, 18, MEM_SEEK_SET)) + { + return true; + } + + tracksizebuffer[0] = (tracksize >> 24) & 0xff; + tracksizebuffer[1] = (tracksize >> 16) & 0xff; + tracksizebuffer[2] = (tracksize >> 8) & 0xff; + tracksizebuffer[3] = tracksize & 0xff; + + if (mem_fwrite(tracksizebuffer, 1, 4, midioutput) != 4) + { + return true; + } + + return false; +} + +#ifdef STANDALONE + +#include "m_misc.h" +#include "z_zone.h" + +int main(int argc, char *argv[]) +{ + MEMFILE *src, *dst; + byte *infile; + long infile_len; + void *outfile; + size_t outfile_len; + + if (argc != 3) + { + printf("Usage: %s \n", argv[0]); + exit(-1); + } + + Z_Init(); + + infile_len = M_ReadFile(argv[1], &infile); + + src = mem_fopen_read(infile, infile_len); + dst = mem_fopen_write(); + + if (mus2mid(src, dst)) + { + fprintf(stderr, "mus2mid() failed\n"); + exit(-1); + } + + // Write result to output file: + + mem_get_buf(dst, &outfile, &outfile_len); + + M_WriteFile(argv[2], outfile, outfile_len); + + return 0; +} + +#endif + diff --git a/src/kernel/userland/doom/mus2mid.h b/src/kernel/userland/doom/mus2mid.h new file mode 100644 index 0000000..d21516c --- /dev/null +++ b/src/kernel/userland/doom/mus2mid.h @@ -0,0 +1,9 @@ +#ifndef MUS2MID_H +#define MUS2MID_H + +#include "doomtype.h" +#include "memio.h" + +boolean mus2mid(MEMFILE *musinput, MEMFILE *midioutput); + +#endif /* #ifndef MUS2MID_H */ \ No newline at end of file diff --git a/src/kernel/userland/doom/net_client.h b/src/kernel/userland/doom/net_client.h new file mode 100644 index 0000000..31dc9e4 --- /dev/null +++ b/src/kernel/userland/doom/net_client.h @@ -0,0 +1,52 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// Network client code +// + +#ifndef NET_CLIENT_H +#define NET_CLIENT_H + +#include "doomtype.h" +#include "d_ticcmd.h" +#include "sha1.h" +#include "net_defs.h" + +boolean NET_CL_Connect(net_addr_t *addr, net_connect_data_t *data); +void NET_CL_Disconnect(void); +void NET_CL_Run(void); +void NET_CL_Init(void); +void NET_CL_LaunchGame(void); +void NET_CL_StartGame(net_gamesettings_t *settings); +void NET_CL_SendTiccmd(ticcmd_t *ticcmd, int maketic); +boolean NET_CL_GetSettings(net_gamesettings_t *_settings); +void NET_Init(void); + +void NET_BindVariables(void); + +extern boolean net_client_connected; +extern boolean net_client_received_wait_data; +extern net_waitdata_t net_client_wait_data; +extern boolean net_waiting_for_launch; +extern char *net_player_name; + +extern sha1_digest_t net_server_wad_sha1sum; +extern sha1_digest_t net_server_deh_sha1sum; +extern unsigned int net_server_is_freedoom; +extern sha1_digest_t net_local_wad_sha1sum; +extern sha1_digest_t net_local_deh_sha1sum; +extern unsigned int net_local_is_freedoom; + +extern boolean drone; + +#endif /* #ifndef NET_CLIENT_H */ diff --git a/src/kernel/userland/doom/net_dedicated.h b/src/kernel/userland/doom/net_dedicated.h new file mode 100644 index 0000000..3d7387b --- /dev/null +++ b/src/kernel/userland/doom/net_dedicated.h @@ -0,0 +1,25 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// +// Dedicated server code. +// + +#ifndef NET_DEDICATED_H +#define NET_DEDICATED_H + +void NET_DedicatedServer(void); + +#endif /* #ifndef NET_DEDICATED_H */ + + diff --git a/src/kernel/userland/doom/net_defs.h b/src/kernel/userland/doom/net_defs.h new file mode 100644 index 0000000..bedfb95 --- /dev/null +++ b/src/kernel/userland/doom/net_defs.h @@ -0,0 +1,248 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Definitions for use in networking code. +// + +#ifndef NET_DEFS_H +#define NET_DEFS_H + +#include + +#include "doomtype.h" +#include "d_ticcmd.h" +#include "sha1.h" + +// Absolute maximum number of "nodes" in the game. This is different to +// NET_MAXPLAYERS, as there may be observers that are not participating +// (eg. left/right monitors) + +#define MAXNETNODES 16 + +// The maximum number of players, multiplayer/networking. +// This is the maximum supported by the networking code; individual games +// have their own values for MAXPLAYERS that can be smaller. + +#define NET_MAXPLAYERS 8 + +// Maximum length of a player's name. + +#define MAXPLAYERNAME 30 + +// Networking and tick handling related. + +#define BACKUPTICS 128 + +typedef struct _net_module_s net_module_t; +typedef struct _net_packet_s net_packet_t; +typedef struct _net_addr_s net_addr_t; +typedef struct _net_context_s net_context_t; + +struct _net_packet_s +{ + byte *data; + size_t len; + size_t alloced; + unsigned int pos; +}; + +struct _net_module_s +{ + // Initialize this module for use as a client + + boolean (*InitClient)(void); + + // Initialize this module for use as a server + + boolean (*InitServer)(void); + + // Send a packet + + void (*SendPacket)(net_addr_t *addr, net_packet_t *packet); + + // Check for new packets to receive + // + // Returns true if packet received + + boolean (*RecvPacket)(net_addr_t **addr, net_packet_t **packet); + + // Converts an address to a string + + void (*AddrToString)(net_addr_t *addr, char *buffer, int buffer_len); + + // Free back an address when no longer in use + + void (*FreeAddress)(net_addr_t *addr); + + // Try to resolve a name to an address + + net_addr_t *(*ResolveAddress)(char *addr); +}; + +// net_addr_t + +struct _net_addr_s +{ + net_module_t *module; + void *handle; +}; + +// magic number sent when connecting to check this is a valid client + +#define NET_MAGIC_NUMBER 3436803284U + +// header field value indicating that the packet is a reliable packet + +#define NET_RELIABLE_PACKET (1 << 15) + +// packet types + +typedef enum +{ + NET_PACKET_TYPE_SYN, + NET_PACKET_TYPE_ACK, + NET_PACKET_TYPE_REJECTED, + NET_PACKET_TYPE_KEEPALIVE, + NET_PACKET_TYPE_WAITING_DATA, + NET_PACKET_TYPE_GAMESTART, + NET_PACKET_TYPE_GAMEDATA, + NET_PACKET_TYPE_GAMEDATA_ACK, + NET_PACKET_TYPE_DISCONNECT, + NET_PACKET_TYPE_DISCONNECT_ACK, + NET_PACKET_TYPE_RELIABLE_ACK, + NET_PACKET_TYPE_GAMEDATA_RESEND, + NET_PACKET_TYPE_CONSOLE_MESSAGE, + NET_PACKET_TYPE_QUERY, + NET_PACKET_TYPE_QUERY_RESPONSE, + NET_PACKET_TYPE_LAUNCH, +} net_packet_type_t; + +typedef enum +{ + NET_MASTER_PACKET_TYPE_ADD, + NET_MASTER_PACKET_TYPE_ADD_RESPONSE, + NET_MASTER_PACKET_TYPE_QUERY, + NET_MASTER_PACKET_TYPE_QUERY_RESPONSE, + NET_MASTER_PACKET_TYPE_GET_METADATA, + NET_MASTER_PACKET_TYPE_GET_METADATA_RESPONSE, + NET_MASTER_PACKET_TYPE_SIGN_START, + NET_MASTER_PACKET_TYPE_SIGN_START_RESPONSE, + NET_MASTER_PACKET_TYPE_SIGN_END, + NET_MASTER_PACKET_TYPE_SIGN_END_RESPONSE, +} net_master_packet_type_t; + +// Settings specified when the client connects to the server. + +typedef struct +{ + int gamemode; + int gamemission; + int lowres_turn; + int drone; + int max_players; + int is_freedoom; + sha1_digest_t wad_sha1sum; + sha1_digest_t deh_sha1sum; + int player_class; +} net_connect_data_t; + +// Game settings sent by client to server when initiating game start, +// and received from the server by clients when the game starts. + +typedef struct +{ + int ticdup; + int extratics; + int deathmatch; + int episode; + int nomonsters; + int fast_monsters; + int respawn_monsters; + int map; + int skill; + int gameversion; + int lowres_turn; + int new_sync; + int timelimit; + int loadgame; + int random; // [Strife only] + + // These fields are only used by the server when sending a game + // start message: + + int num_players; + int consoleplayer; + + // Hexen player classes: + + int player_classes[NET_MAXPLAYERS]; + +} net_gamesettings_t; + +#define NET_TICDIFF_FORWARD (1 << 0) +#define NET_TICDIFF_SIDE (1 << 1) +#define NET_TICDIFF_TURN (1 << 2) +#define NET_TICDIFF_BUTTONS (1 << 3) +#define NET_TICDIFF_CONSISTANCY (1 << 4) +#define NET_TICDIFF_CHATCHAR (1 << 5) +#define NET_TICDIFF_RAVEN (1 << 6) +#define NET_TICDIFF_STRIFE (1 << 7) + +typedef struct +{ + unsigned int diff; + ticcmd_t cmd; +} net_ticdiff_t; + +// Complete set of ticcmds from all players + +typedef struct +{ + signed int latency; + unsigned int seq; + boolean playeringame[NET_MAXPLAYERS]; + net_ticdiff_t cmds[NET_MAXPLAYERS]; +} net_full_ticcmd_t; + +// Data sent in response to server queries + +typedef struct +{ + char *version; + int server_state; + int num_players; + int max_players; + int gamemode; + int gamemission; + char *description; +} net_querydata_t; + +// Data sent by the server while waiting for the game to start. + +typedef struct +{ + int num_players; + int num_drones; + int ready_players; + int max_players; + int is_controller; + int consoleplayer; + char player_names[NET_MAXPLAYERS][MAXPLAYERNAME]; + char player_addrs[NET_MAXPLAYERS][MAXPLAYERNAME]; + sha1_digest_t wad_sha1sum; + sha1_digest_t deh_sha1sum; + int is_freedoom; +} net_waitdata_t; + +#endif /* #ifndef NET_DEFS_H */ diff --git a/src/kernel/userland/doom/net_gui.h b/src/kernel/userland/doom/net_gui.h new file mode 100644 index 0000000..4f4198b --- /dev/null +++ b/src/kernel/userland/doom/net_gui.h @@ -0,0 +1,29 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// Graphical stuff related to the networking code: +// +// * The client waiting screen when we are waiting for the server to +// start the game. +// + + +#ifndef NET_GUI_H +#define NET_GUI_H + +#include "doomtype.h" + +extern void NET_WaitForLaunch(void); + +#endif /* #ifndef NET_GUI_H */ + diff --git a/src/kernel/userland/doom/net_io.h b/src/kernel/userland/doom/net_io.h new file mode 100644 index 0000000..5350222 --- /dev/null +++ b/src/kernel/userland/doom/net_io.h @@ -0,0 +1,36 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Network packet manipulation (net_packet_t) +// + +#ifndef NET_IO_H +#define NET_IO_H + +#include "net_defs.h" + +extern net_addr_t net_broadcast_addr; + +net_context_t *NET_NewContext(void); +void NET_AddModule(net_context_t *context, net_module_t *module); +void NET_SendPacket(net_addr_t *addr, net_packet_t *packet); +void NET_SendBroadcast(net_context_t *context, net_packet_t *packet); +boolean NET_RecvPacket(net_context_t *context, net_addr_t **addr, + net_packet_t **packet); +char *NET_AddrToString(net_addr_t *addr); +void NET_FreeAddress(net_addr_t *addr); +net_addr_t *NET_ResolveAddress(net_context_t *context, char *address); + +#endif /* #ifndef NET_IO_H */ + diff --git a/src/kernel/userland/doom/net_loop.h b/src/kernel/userland/doom/net_loop.h new file mode 100644 index 0000000..5a2e58e --- /dev/null +++ b/src/kernel/userland/doom/net_loop.h @@ -0,0 +1,27 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Loopback network module for server compiled into the client +// + +#ifndef NET_LOOP_H +#define NET_LOOP_H + +#include "net_defs.h" + +extern net_module_t net_loop_client_module; +extern net_module_t net_loop_server_module; + +#endif /* #ifndef NET_LOOP_H */ + diff --git a/src/kernel/userland/doom/net_packet.h b/src/kernel/userland/doom/net_packet.h new file mode 100644 index 0000000..ced4e43 --- /dev/null +++ b/src/kernel/userland/doom/net_packet.h @@ -0,0 +1,44 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Definitions for use in networking code. +// + +#ifndef NET_PACKET_H +#define NET_PACKET_H + +#include "net_defs.h" + +net_packet_t *NET_NewPacket(int initial_size); +net_packet_t *NET_PacketDup(net_packet_t *packet); +void NET_FreePacket(net_packet_t *packet); + +boolean NET_ReadInt8(net_packet_t *packet, unsigned int *data); +boolean NET_ReadInt16(net_packet_t *packet, unsigned int *data); +boolean NET_ReadInt32(net_packet_t *packet, unsigned int *data); + +boolean NET_ReadSInt8(net_packet_t *packet, signed int *data); +boolean NET_ReadSInt16(net_packet_t *packet, signed int *data); +boolean NET_ReadSInt32(net_packet_t *packet, signed int *data); + +char *NET_ReadString(net_packet_t *packet); + +void NET_WriteInt8(net_packet_t *packet, unsigned int i); +void NET_WriteInt16(net_packet_t *packet, unsigned int i); +void NET_WriteInt32(net_packet_t *packet, unsigned int i); + +void NET_WriteString(net_packet_t *packet, char *string); + +#endif /* #ifndef NET_PACKET_H */ + diff --git a/src/kernel/userland/doom/net_query.h b/src/kernel/userland/doom/net_query.h new file mode 100644 index 0000000..563a055 --- /dev/null +++ b/src/kernel/userland/doom/net_query.h @@ -0,0 +1,44 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Querying servers to find their current status. +// + +#ifndef NET_QUERY_H +#define NET_QUERY_H + +#include "net_defs.h" + +typedef void (*net_query_callback_t)(net_addr_t *addr, + net_querydata_t *querydata, + unsigned int ping_time, + void *user_data); + +extern int NET_StartLANQuery(void); +extern int NET_StartMasterQuery(void); + +extern void NET_LANQuery(void); +extern void NET_MasterQuery(void); +extern void NET_QueryAddress(char *addr); +extern net_addr_t *NET_FindLANServer(void); + +extern int NET_Query_Poll(net_query_callback_t callback, void *user_data); + +extern net_addr_t *NET_Query_ResolveMaster(net_context_t *context); +extern void NET_Query_AddToMaster(net_addr_t *master_addr); +extern boolean NET_Query_CheckAddedToMaster(boolean *result); +extern void NET_Query_MasterResponse(net_packet_t *packet); + +#endif /* #ifndef NET_QUERY_H */ + diff --git a/src/kernel/userland/doom/net_sdl.h b/src/kernel/userland/doom/net_sdl.h new file mode 100644 index 0000000..c249de1 --- /dev/null +++ b/src/kernel/userland/doom/net_sdl.h @@ -0,0 +1,26 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Networking module which uses SDL_net +// + +#ifndef NET_SDL_H +#define NET_SDL_H + +#include "net_defs.h" + +extern net_module_t net_sdl_module; + +#endif /* #ifndef NET_SDL_H */ + diff --git a/src/kernel/userland/doom/net_server.h b/src/kernel/userland/doom/net_server.h new file mode 100644 index 0000000..b9de745 --- /dev/null +++ b/src/kernel/userland/doom/net_server.h @@ -0,0 +1,42 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// Network server code +// + +#ifndef NET_SERVER_H +#define NET_SERVER_H + +// initialize server and wait for connections + +void NET_SV_Init(void); + +// run server: check for new packets received etc. + +void NET_SV_Run(void); + +// Shut down the server +// Blocks until all clients disconnect, or until a 5 second timeout + +void NET_SV_Shutdown(void); + +// Add a network module to the context used by the server + +void NET_SV_AddModule(net_module_t *module); + +// Register server with master server. + +void NET_SV_RegisterWithMaster(void); + +#endif /* #ifndef NET_SERVER_H */ + diff --git a/src/kernel/userland/doom/p_ceilng.c b/src/kernel/userland/doom/p_ceilng.c new file mode 100644 index 0000000..d1e61c8 --- /dev/null +++ b/src/kernel/userland/doom/p_ceilng.c @@ -0,0 +1,324 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: Ceiling aninmation (lowering, crushing, raising) +// + + + +#include "z_zone.h" +#include "doomdef.h" +#include "p_local.h" + +#include "s_sound.h" + +// State. +#include "doomstat.h" +#include "r_state.h" + +// Data. +#include "sounds.h" + +// +// CEILINGS +// + + +ceiling_t* activeceilings[MAXCEILINGS]; + + +// +// T_MoveCeiling +// + +void T_MoveCeiling (ceiling_t* ceiling) +{ + result_e res; + + switch(ceiling->direction) + { + case 0: + // IN STASIS + break; + case 1: + // UP + res = T_MovePlane(ceiling->sector, + ceiling->speed, + ceiling->topheight, + false,1,ceiling->direction); + + if (!(leveltime&7)) + { + switch(ceiling->type) + { + case silentCrushAndRaise: + break; + default: + S_StartSound(&ceiling->sector->soundorg, sfx_stnmov); + // ? + break; + } + } + + if (res == pastdest) + { + switch(ceiling->type) + { + case raiseToHighest: + P_RemoveActiveCeiling(ceiling); + break; + + case silentCrushAndRaise: + S_StartSound(&ceiling->sector->soundorg, sfx_pstop); + case fastCrushAndRaise: + case crushAndRaise: + ceiling->direction = -1; + break; + + default: + break; + } + + } + break; + + case -1: + // DOWN + res = T_MovePlane(ceiling->sector, + ceiling->speed, + ceiling->bottomheight, + ceiling->crush,1,ceiling->direction); + + if (!(leveltime&7)) + { + switch(ceiling->type) + { + case silentCrushAndRaise: break; + default: + S_StartSound(&ceiling->sector->soundorg, sfx_stnmov); + } + } + + if (res == pastdest) + { + switch(ceiling->type) + { + case silentCrushAndRaise: + S_StartSound(&ceiling->sector->soundorg, sfx_pstop); + case crushAndRaise: + ceiling->speed = CEILSPEED; + case fastCrushAndRaise: + ceiling->direction = 1; + break; + + case lowerAndCrush: + case lowerToFloor: + P_RemoveActiveCeiling(ceiling); + break; + + default: + break; + } + } + else // ( res != pastdest ) + { + if (res == crushed) + { + switch(ceiling->type) + { + case silentCrushAndRaise: + case crushAndRaise: + case lowerAndCrush: + ceiling->speed = CEILSPEED / 8; + break; + + default: + break; + } + } + } + break; + } +} + + +// +// EV_DoCeiling +// Move a ceiling up/down and all around! +// +int +EV_DoCeiling +( line_t* line, + ceiling_e type ) +{ + int secnum; + int rtn; + sector_t* sec; + ceiling_t* ceiling; + + secnum = -1; + rtn = 0; + + // Reactivate in-stasis ceilings...for certain types. + switch(type) + { + case fastCrushAndRaise: + case silentCrushAndRaise: + case crushAndRaise: + P_ActivateInStasisCeiling(line); + default: + break; + } + + while ((secnum = P_FindSectorFromLineTag(line,secnum)) >= 0) + { + sec = §ors[secnum]; + if (sec->specialdata) + continue; + + // new door thinker + rtn = 1; + ceiling = Z_Malloc (sizeof(*ceiling), PU_LEVSPEC, 0); + P_AddThinker (&ceiling->thinker); + sec->specialdata = ceiling; + ceiling->thinker.function.acp1 = (actionf_p1)T_MoveCeiling; + ceiling->sector = sec; + ceiling->crush = false; + + switch(type) + { + case fastCrushAndRaise: + ceiling->crush = true; + ceiling->topheight = sec->ceilingheight; + ceiling->bottomheight = sec->floorheight + (8*FRACUNIT); + ceiling->direction = -1; + ceiling->speed = CEILSPEED * 2; + break; + + case silentCrushAndRaise: + case crushAndRaise: + ceiling->crush = true; + ceiling->topheight = sec->ceilingheight; + case lowerAndCrush: + case lowerToFloor: + ceiling->bottomheight = sec->floorheight; + if (type != lowerToFloor) + ceiling->bottomheight += 8*FRACUNIT; + ceiling->direction = -1; + ceiling->speed = CEILSPEED; + break; + + case raiseToHighest: + ceiling->topheight = P_FindHighestCeilingSurrounding(sec); + ceiling->direction = 1; + ceiling->speed = CEILSPEED; + break; + } + + ceiling->tag = sec->tag; + ceiling->type = type; + P_AddActiveCeiling(ceiling); + } + return rtn; +} + + +// +// Add an active ceiling +// +void P_AddActiveCeiling(ceiling_t* c) +{ + int i; + + for (i = 0; i < MAXCEILINGS;i++) + { + if (activeceilings[i] == NULL) + { + activeceilings[i] = c; + return; + } + } +} + + + +// +// Remove a ceiling's thinker +// +void P_RemoveActiveCeiling(ceiling_t* c) +{ + int i; + + for (i = 0;i < MAXCEILINGS;i++) + { + if (activeceilings[i] == c) + { + activeceilings[i]->sector->specialdata = NULL; + P_RemoveThinker (&activeceilings[i]->thinker); + activeceilings[i] = NULL; + break; + } + } +} + + + +// +// Restart a ceiling that's in-stasis +// +void P_ActivateInStasisCeiling(line_t* line) +{ + int i; + + for (i = 0;i < MAXCEILINGS;i++) + { + if (activeceilings[i] + && (activeceilings[i]->tag == line->tag) + && (activeceilings[i]->direction == 0)) + { + activeceilings[i]->direction = activeceilings[i]->olddirection; + activeceilings[i]->thinker.function.acp1 + = (actionf_p1)T_MoveCeiling; + } + } +} + + + +// +// EV_CeilingCrushStop +// Stop a ceiling from crushing! +// +int EV_CeilingCrushStop(line_t *line) +{ + int i; + int rtn; + + rtn = 0; + for (i = 0;i < MAXCEILINGS;i++) + { + if (activeceilings[i] + && (activeceilings[i]->tag == line->tag) + && (activeceilings[i]->direction != 0)) + { + activeceilings[i]->olddirection = activeceilings[i]->direction; + activeceilings[i]->thinker.function.acv = (actionf_v)NULL; + activeceilings[i]->direction = 0; // in-stasis + rtn = 1; + } + } + + + return rtn; +} diff --git a/src/kernel/userland/doom/p_doors.c b/src/kernel/userland/doom/p_doors.c new file mode 100644 index 0000000..cafab0f --- /dev/null +++ b/src/kernel/userland/doom/p_doors.c @@ -0,0 +1,778 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: Door animation code (opening/closing) +// + + + +#include "z_zone.h" +#include "doomdef.h" +#include "deh_main.h" +#include "p_local.h" + +#include "s_sound.h" + + +// State. +#include "doomstat.h" +#include "r_state.h" + +// Data. +#include "dstrings.h" +#include "sounds.h" + +#if 0 +// +// Sliding door frame information +// +slidename_t slideFrameNames[MAXSLIDEDOORS] = +{ + {"GDOORF1","GDOORF2","GDOORF3","GDOORF4", // front + "GDOORB1","GDOORB2","GDOORB3","GDOORB4"}, // back + + {"\0","\0","\0","\0"} +}; +#endif + + +// +// VERTICAL DOORS +// + +// +// T_VerticalDoor +// +void T_VerticalDoor (vldoor_t* door) +{ + result_e res; + + switch(door->direction) + { + case 0: + // WAITING + if (!--door->topcountdown) + { + switch(door->type) + { + case vld_blazeRaise: + door->direction = -1; // time to go back down + S_StartSound(&door->sector->soundorg, sfx_bdcls); + break; + + case vld_normal: + door->direction = -1; // time to go back down + S_StartSound(&door->sector->soundorg, sfx_dorcls); + break; + + case vld_close30ThenOpen: + door->direction = 1; + S_StartSound(&door->sector->soundorg, sfx_doropn); + break; + + default: + break; + } + } + break; + + case 2: + // INITIAL WAIT + if (!--door->topcountdown) + { + switch(door->type) + { + case vld_raiseIn5Mins: + door->direction = 1; + door->type = vld_normal; + S_StartSound(&door->sector->soundorg, sfx_doropn); + break; + + default: + break; + } + } + break; + + case -1: + // DOWN + res = T_MovePlane(door->sector, + door->speed, + door->sector->floorheight, + false,1,door->direction); + if (res == pastdest) + { + switch(door->type) + { + case vld_blazeRaise: + case vld_blazeClose: + door->sector->specialdata = NULL; + P_RemoveThinker (&door->thinker); // unlink and free + S_StartSound(&door->sector->soundorg, sfx_bdcls); + break; + + case vld_normal: + case vld_close: + door->sector->specialdata = NULL; + P_RemoveThinker (&door->thinker); // unlink and free + break; + + case vld_close30ThenOpen: + door->direction = 0; + door->topcountdown = TICRATE*30; + break; + + default: + break; + } + } + else if (res == crushed) + { + switch(door->type) + { + case vld_blazeClose: + case vld_close: // DO NOT GO BACK UP! + break; + + default: + door->direction = 1; + S_StartSound(&door->sector->soundorg, sfx_doropn); + break; + } + } + break; + + case 1: + // UP + res = T_MovePlane(door->sector, + door->speed, + door->topheight, + false,1,door->direction); + + if (res == pastdest) + { + switch(door->type) + { + case vld_blazeRaise: + case vld_normal: + door->direction = 0; // wait at top + door->topcountdown = door->topwait; + break; + + case vld_close30ThenOpen: + case vld_blazeOpen: + case vld_open: + door->sector->specialdata = NULL; + P_RemoveThinker (&door->thinker); // unlink and free + break; + + default: + break; + } + } + break; + } +} + + +// +// EV_DoLockedDoor +// Move a locked door up/down +// + +int +EV_DoLockedDoor +( line_t* line, + vldoor_e type, + mobj_t* thing ) +{ + player_t* p; + + p = thing->player; + + if (!p) + return 0; + + switch(line->special) + { + case 99: // Blue Lock + case 133: + if ( !p ) + return 0; + if (!p->cards[it_bluecard] && !p->cards[it_blueskull]) + { + p->message = DEH_String(PD_BLUEO); + S_StartSound(NULL,sfx_oof); + return 0; + } + break; + + case 134: // Red Lock + case 135: + if ( !p ) + return 0; + if (!p->cards[it_redcard] && !p->cards[it_redskull]) + { + p->message = DEH_String(PD_REDO); + S_StartSound(NULL,sfx_oof); + return 0; + } + break; + + case 136: // Yellow Lock + case 137: + if ( !p ) + return 0; + if (!p->cards[it_yellowcard] && + !p->cards[it_yellowskull]) + { + p->message = DEH_String(PD_YELLOWO); + S_StartSound(NULL,sfx_oof); + return 0; + } + break; + } + + return EV_DoDoor(line,type); +} + + +int +EV_DoDoor +( line_t* line, + vldoor_e type ) +{ + int secnum,rtn; + sector_t* sec; + vldoor_t* door; + + secnum = -1; + rtn = 0; + + while ((secnum = P_FindSectorFromLineTag(line,secnum)) >= 0) + { + sec = §ors[secnum]; + if (sec->specialdata) + continue; + + + // new door thinker + rtn = 1; + door = Z_Malloc (sizeof(*door), PU_LEVSPEC, 0); + P_AddThinker (&door->thinker); + sec->specialdata = door; + + door->thinker.function.acp1 = (actionf_p1) T_VerticalDoor; + door->sector = sec; + door->type = type; + door->topwait = VDOORWAIT; + door->speed = VDOORSPEED; + + switch(type) + { + case vld_blazeClose: + door->topheight = P_FindLowestCeilingSurrounding(sec); + door->topheight -= 4*FRACUNIT; + door->direction = -1; + door->speed = VDOORSPEED * 4; + S_StartSound(&door->sector->soundorg, sfx_bdcls); + break; + + case vld_close: + door->topheight = P_FindLowestCeilingSurrounding(sec); + door->topheight -= 4*FRACUNIT; + door->direction = -1; + S_StartSound(&door->sector->soundorg, sfx_dorcls); + break; + + case vld_close30ThenOpen: + door->topheight = sec->ceilingheight; + door->direction = -1; + S_StartSound(&door->sector->soundorg, sfx_dorcls); + break; + + case vld_blazeRaise: + case vld_blazeOpen: + door->direction = 1; + door->topheight = P_FindLowestCeilingSurrounding(sec); + door->topheight -= 4*FRACUNIT; + door->speed = VDOORSPEED * 4; + if (door->topheight != sec->ceilingheight) + S_StartSound(&door->sector->soundorg, sfx_bdopn); + break; + + case vld_normal: + case vld_open: + door->direction = 1; + door->topheight = P_FindLowestCeilingSurrounding(sec); + door->topheight -= 4*FRACUNIT; + if (door->topheight != sec->ceilingheight) + S_StartSound(&door->sector->soundorg, sfx_doropn); + break; + + default: + break; + } + + } + return rtn; +} + + +// +// EV_VerticalDoor : open a door manually, no tag value +// +void +EV_VerticalDoor +( line_t* line, + mobj_t* thing ) +{ + player_t* player; + sector_t* sec; + vldoor_t* door; + int side; + + side = 0; // only front sides can be used + + // Check for locks + player = thing->player; + + switch(line->special) + { + case 26: // Blue Lock + case 32: + if ( !player ) + return; + + if (!player->cards[it_bluecard] && !player->cards[it_blueskull]) + { + player->message = DEH_String(PD_BLUEK); + S_StartSound(NULL,sfx_oof); + return; + } + break; + + case 27: // Yellow Lock + case 34: + if ( !player ) + return; + + if (!player->cards[it_yellowcard] && + !player->cards[it_yellowskull]) + { + player->message = DEH_String(PD_YELLOWK); + S_StartSound(NULL,sfx_oof); + return; + } + break; + + case 28: // Red Lock + case 33: + if ( !player ) + return; + + if (!player->cards[it_redcard] && !player->cards[it_redskull]) + { + player->message = DEH_String(PD_REDK); + S_StartSound(NULL,sfx_oof); + return; + } + break; + } + + // if the sector has an active thinker, use it + sec = sides[ line->sidenum[side^1]] .sector; + + if (sec->specialdata) + { + door = sec->specialdata; + switch(line->special) + { + case 1: // ONLY FOR "RAISE" DOORS, NOT "OPEN"s + case 26: + case 27: + case 28: + case 117: + if (door->direction == -1) + door->direction = 1; // go back up + else + { + if (!thing->player) + return; // JDC: bad guys never close doors + + // When is a door not a door? + // In Vanilla, door->direction is set, even though + // "specialdata" might not actually point at a door. + + if (door->thinker.function.acp1 == (actionf_p1) T_VerticalDoor) + { + door->direction = -1; // start going down immediately + } + else if (door->thinker.function.acp1 == (actionf_p1) T_PlatRaise) + { + // Erm, this is a plat, not a door. + // This notably causes a problem in ep1-0500.lmp where + // a plat and a door are cross-referenced; the door + // doesn't open on 64-bit. + // The direction field in vldoor_t corresponds to the wait + // field in plat_t. Let's set that to -1 instead. + + plat_t *plat; + + plat = (plat_t *) door; + plat->wait = -1; + } + else + { + // This isn't a door OR a plat. Now we're in trouble. + + fprintf(stderr, "EV_VerticalDoor: Tried to close " + "something that wasn't a door.\n"); + + // Try closing it anyway. At least it will work on 32-bit + // machines. + + door->direction = -1; + } + } + return; + } + } + + // for proper sound + switch(line->special) + { + case 117: // BLAZING DOOR RAISE + case 118: // BLAZING DOOR OPEN + S_StartSound(&sec->soundorg,sfx_bdopn); + break; + + case 1: // NORMAL DOOR SOUND + case 31: + S_StartSound(&sec->soundorg,sfx_doropn); + break; + + default: // LOCKED DOOR SOUND + S_StartSound(&sec->soundorg,sfx_doropn); + break; + } + + + // new door thinker + door = Z_Malloc (sizeof(*door), PU_LEVSPEC, 0); + P_AddThinker (&door->thinker); + sec->specialdata = door; + door->thinker.function.acp1 = (actionf_p1) T_VerticalDoor; + door->sector = sec; + door->direction = 1; + door->speed = VDOORSPEED; + door->topwait = VDOORWAIT; + + switch(line->special) + { + case 1: + case 26: + case 27: + case 28: + door->type = vld_normal; + break; + + case 31: + case 32: + case 33: + case 34: + door->type = vld_open; + line->special = 0; + break; + + case 117: // blazing door raise + door->type = vld_blazeRaise; + door->speed = VDOORSPEED*4; + break; + case 118: // blazing door open + door->type = vld_blazeOpen; + line->special = 0; + door->speed = VDOORSPEED*4; + break; + } + + // find the top and bottom of the movement range + door->topheight = P_FindLowestCeilingSurrounding(sec); + door->topheight -= 4*FRACUNIT; +} + + +// +// Spawn a door that closes after 30 seconds +// +void P_SpawnDoorCloseIn30 (sector_t* sec) +{ + vldoor_t* door; + + door = Z_Malloc ( sizeof(*door), PU_LEVSPEC, 0); + + P_AddThinker (&door->thinker); + + sec->specialdata = door; + sec->special = 0; + + door->thinker.function.acp1 = (actionf_p1)T_VerticalDoor; + door->sector = sec; + door->direction = 0; + door->type = vld_normal; + door->speed = VDOORSPEED; + door->topcountdown = 30 * TICRATE; +} + +// +// Spawn a door that opens after 5 minutes +// +void +P_SpawnDoorRaiseIn5Mins +( sector_t* sec, + int secnum ) +{ + vldoor_t* door; + + door = Z_Malloc ( sizeof(*door), PU_LEVSPEC, 0); + + P_AddThinker (&door->thinker); + + sec->specialdata = door; + sec->special = 0; + + door->thinker.function.acp1 = (actionf_p1)T_VerticalDoor; + door->sector = sec; + door->direction = 2; + door->type = vld_raiseIn5Mins; + door->speed = VDOORSPEED; + door->topheight = P_FindLowestCeilingSurrounding(sec); + door->topheight -= 4*FRACUNIT; + door->topwait = VDOORWAIT; + door->topcountdown = 5 * 60 * TICRATE; +} + + + +// UNUSED +// Separate into p_slidoor.c? + +#if 0 // ABANDONED TO THE MISTS OF TIME!!! +// +// EV_SlidingDoor : slide a door horizontally +// (animate midtexture, then set noblocking line) +// + + +slideframe_t slideFrames[MAXSLIDEDOORS]; + +void P_InitSlidingDoorFrames(void) +{ + int i; + int f1; + int f2; + int f3; + int f4; + + // DOOM II ONLY... + if ( gamemode != commercial) + return; + + for (i = 0;i < MAXSLIDEDOORS; i++) + { + if (!slideFrameNames[i].frontFrame1[0]) + break; + + f1 = R_TextureNumForName(slideFrameNames[i].frontFrame1); + f2 = R_TextureNumForName(slideFrameNames[i].frontFrame2); + f3 = R_TextureNumForName(slideFrameNames[i].frontFrame3); + f4 = R_TextureNumForName(slideFrameNames[i].frontFrame4); + + slideFrames[i].frontFrames[0] = f1; + slideFrames[i].frontFrames[1] = f2; + slideFrames[i].frontFrames[2] = f3; + slideFrames[i].frontFrames[3] = f4; + + f1 = R_TextureNumForName(slideFrameNames[i].backFrame1); + f2 = R_TextureNumForName(slideFrameNames[i].backFrame2); + f3 = R_TextureNumForName(slideFrameNames[i].backFrame3); + f4 = R_TextureNumForName(slideFrameNames[i].backFrame4); + + slideFrames[i].backFrames[0] = f1; + slideFrames[i].backFrames[1] = f2; + slideFrames[i].backFrames[2] = f3; + slideFrames[i].backFrames[3] = f4; + } +} + + +// +// Return index into "slideFrames" array +// for which door type to use +// +int P_FindSlidingDoorType(line_t* line) +{ + int i; + int val; + + for (i = 0;i < MAXSLIDEDOORS;i++) + { + val = sides[line->sidenum[0]].midtexture; + if (val == slideFrames[i].frontFrames[0]) + return i; + } + + return -1; +} + +void T_SlidingDoor (slidedoor_t* door) +{ + switch(door->status) + { + case sd_opening: + if (!door->timer--) + { + if (++door->frame == SNUMFRAMES) + { + // IF DOOR IS DONE OPENING... + sides[door->line->sidenum[0]].midtexture = 0; + sides[door->line->sidenum[1]].midtexture = 0; + door->line->flags &= ML_BLOCKING^0xff; + + if (door->type == sdt_openOnly) + { + door->frontsector->specialdata = NULL; + P_RemoveThinker (&door->thinker); + break; + } + + door->timer = SDOORWAIT; + door->status = sd_waiting; + } + else + { + // IF DOOR NEEDS TO ANIMATE TO NEXT FRAME... + door->timer = SWAITTICS; + + sides[door->line->sidenum[0]].midtexture = + slideFrames[door->whichDoorIndex]. + frontFrames[door->frame]; + sides[door->line->sidenum[1]].midtexture = + slideFrames[door->whichDoorIndex]. + backFrames[door->frame]; + } + } + break; + + case sd_waiting: + // IF DOOR IS DONE WAITING... + if (!door->timer--) + { + // CAN DOOR CLOSE? + if (door->frontsector->thinglist != NULL || + door->backsector->thinglist != NULL) + { + door->timer = SDOORWAIT; + break; + } + + //door->frame = SNUMFRAMES-1; + door->status = sd_closing; + door->timer = SWAITTICS; + } + break; + + case sd_closing: + if (!door->timer--) + { + if (--door->frame < 0) + { + // IF DOOR IS DONE CLOSING... + door->line->flags |= ML_BLOCKING; + door->frontsector->specialdata = NULL; + P_RemoveThinker (&door->thinker); + break; + } + else + { + // IF DOOR NEEDS TO ANIMATE TO NEXT FRAME... + door->timer = SWAITTICS; + + sides[door->line->sidenum[0]].midtexture = + slideFrames[door->whichDoorIndex]. + frontFrames[door->frame]; + sides[door->line->sidenum[1]].midtexture = + slideFrames[door->whichDoorIndex]. + backFrames[door->frame]; + } + } + break; + } +} + + + +void +EV_SlidingDoor +( line_t* line, + mobj_t* thing ) +{ + sector_t* sec; + slidedoor_t* door; + + // DOOM II ONLY... + if (gamemode != commercial) + return; + + // Make sure door isn't already being animated + sec = line->frontsector; + door = NULL; + if (sec->specialdata) + { + if (!thing->player) + return; + + door = sec->specialdata; + if (door->type == sdt_openAndClose) + { + if (door->status == sd_waiting) + door->status = sd_closing; + } + else + return; + } + + // Init sliding door vars + if (!door) + { + door = Z_Malloc (sizeof(*door), PU_LEVSPEC, 0); + P_AddThinker (&door->thinker); + sec->specialdata = door; + + door->type = sdt_openAndClose; + door->status = sd_opening; + door->whichDoorIndex = P_FindSlidingDoorType(line); + + if (door->whichDoorIndex < 0) + I_Error("EV_SlidingDoor: Can't use texture for sliding door!"); + + door->frontsector = sec; + door->backsector = line->backsector; + door->thinker.function = T_SlidingDoor; + door->timer = SWAITTICS; + door->frame = 0; + door->line = line; + } +} +#endif diff --git a/src/kernel/userland/doom/p_enemy.c b/src/kernel/userland/doom/p_enemy.c new file mode 100644 index 0000000..f2b44d1 --- /dev/null +++ b/src/kernel/userland/doom/p_enemy.c @@ -0,0 +1,2006 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Enemy thinking, AI. +// Action Pointer Functions +// that are associated with states/frames. +// + +#include +#include + +#include "m_random.h" +#include "i_system.h" + +#include "doomdef.h" +#include "p_local.h" + +#include "s_sound.h" + +#include "g_game.h" + +// State. +#include "doomstat.h" +#include "r_state.h" + +// Data. +#include "sounds.h" + + + + +typedef enum +{ + DI_EAST, + DI_NORTHEAST, + DI_NORTH, + DI_NORTHWEST, + DI_WEST, + DI_SOUTHWEST, + DI_SOUTH, + DI_SOUTHEAST, + DI_NODIR, + NUMDIRS + +} dirtype_t; + + +// +// P_NewChaseDir related LUT. +// +dirtype_t opposite[] = +{ + DI_WEST, DI_SOUTHWEST, DI_SOUTH, DI_SOUTHEAST, + DI_EAST, DI_NORTHEAST, DI_NORTH, DI_NORTHWEST, DI_NODIR +}; + +dirtype_t diags[] = +{ + DI_NORTHWEST, DI_NORTHEAST, DI_SOUTHWEST, DI_SOUTHEAST +}; + + + + + +void A_Fall (mobj_t *actor); + + +// +// ENEMY THINKING +// Enemies are allways spawned +// with targetplayer = -1, threshold = 0 +// Most monsters are spawned unaware of all players, +// but some can be made preaware +// + + +// +// Called by P_NoiseAlert. +// Recursively traverse adjacent sectors, +// sound blocking lines cut off traversal. +// + +mobj_t* soundtarget; + +void +P_RecursiveSound +( sector_t* sec, + int soundblocks ) +{ + int i; + line_t* check; + sector_t* other; + + // wake up all monsters in this sector + if (sec->validcount == validcount + && sec->soundtraversed <= soundblocks+1) + { + return; // already flooded + } + + sec->validcount = validcount; + sec->soundtraversed = soundblocks+1; + sec->soundtarget = soundtarget; + + for (i=0 ;ilinecount ; i++) + { + check = sec->lines[i]; + if (! (check->flags & ML_TWOSIDED) ) + continue; + + P_LineOpening (check); + + if (openrange <= 0) + continue; // closed door + + if ( sides[ check->sidenum[0] ].sector == sec) + other = sides[ check->sidenum[1] ] .sector; + else + other = sides[ check->sidenum[0] ].sector; + + if (check->flags & ML_SOUNDBLOCK) + { + if (!soundblocks) + P_RecursiveSound (other, 1); + } + else + P_RecursiveSound (other, soundblocks); + } +} + + + +// +// P_NoiseAlert +// If a monster yells at a player, +// it will alert other monsters to the player. +// +void +P_NoiseAlert +( mobj_t* target, + mobj_t* emmiter ) +{ + soundtarget = target; + validcount++; + P_RecursiveSound (emmiter->subsector->sector, 0); +} + + + + +// +// P_CheckMeleeRange +// +boolean P_CheckMeleeRange (mobj_t* actor) +{ + mobj_t* pl; + fixed_t dist; + + if (!actor->target) + return false; + + pl = actor->target; + dist = P_AproxDistance (pl->x-actor->x, pl->y-actor->y); + + if (dist >= MELEERANGE-20*FRACUNIT+pl->info->radius) + return false; + + if (! P_CheckSight (actor, actor->target) ) + return false; + + return true; +} + +// +// P_CheckMissileRange +// +boolean P_CheckMissileRange (mobj_t* actor) +{ + fixed_t dist; + + if (! P_CheckSight (actor, actor->target) ) + return false; + + if ( actor->flags & MF_JUSTHIT ) + { + // the target just hit the enemy, + // so fight back! + actor->flags &= ~MF_JUSTHIT; + return true; + } + + if (actor->reactiontime) + return false; // do not attack yet + + // OPTIMIZE: get this from a global checksight + dist = P_AproxDistance ( actor->x-actor->target->x, + actor->y-actor->target->y) - 64*FRACUNIT; + + if (!actor->info->meleestate) + dist -= 128*FRACUNIT; // no melee attack, so fire more + + dist >>= 16; + + if (actor->type == MT_VILE) + { + if (dist > 14*64) + return false; // too far away + } + + + if (actor->type == MT_UNDEAD) + { + if (dist < 196) + return false; // close for fist attack + dist >>= 1; + } + + + if (actor->type == MT_CYBORG + || actor->type == MT_SPIDER + || actor->type == MT_SKULL) + { + dist >>= 1; + } + + if (dist > 200) + dist = 200; + + if (actor->type == MT_CYBORG && dist > 160) + dist = 160; + + if (P_Random () < dist) + return false; + + return true; +} + + +// +// P_Move +// Move in the current direction, +// returns false if the move is blocked. +// +fixed_t xspeed[8] = {FRACUNIT,47000,0,-47000,-FRACUNIT,-47000,0,47000}; +fixed_t yspeed[8] = {0,47000,FRACUNIT,47000,0,-47000,-FRACUNIT,-47000}; + +boolean P_Move (mobj_t* actor) +{ + fixed_t tryx; + fixed_t tryy; + + line_t* ld; + + // warning: 'catch', 'throw', and 'try' + // are all C++ reserved words + boolean try_ok; + boolean good; + + if (actor->movedir == DI_NODIR) + return false; + + if ((unsigned)actor->movedir >= 8) + I_Error ("Weird actor->movedir!"); + + tryx = actor->x + actor->info->speed*xspeed[actor->movedir]; + tryy = actor->y + actor->info->speed*yspeed[actor->movedir]; + + try_ok = P_TryMove (actor, tryx, tryy); + + if (!try_ok) + { + // open any specials + if (actor->flags & MF_FLOAT && floatok) + { + // must adjust height + if (actor->z < tmfloorz) + actor->z += FLOATSPEED; + else + actor->z -= FLOATSPEED; + + actor->flags |= MF_INFLOAT; + return true; + } + + if (!numspechit) + return false; + + actor->movedir = DI_NODIR; + good = false; + while (numspechit--) + { + ld = spechit[numspechit]; + // if the special is not a door + // that can be opened, + // return false + if (P_UseSpecialLine (actor, ld,0)) + good = true; + } + return good; + } + else + { + actor->flags &= ~MF_INFLOAT; + } + + + if (! (actor->flags & MF_FLOAT) ) + actor->z = actor->floorz; + return true; +} + + +// +// TryWalk +// Attempts to move actor on +// in its current (ob->moveangle) direction. +// If blocked by either a wall or an actor +// returns FALSE +// If move is either clear or blocked only by a door, +// returns TRUE and sets... +// If a door is in the way, +// an OpenDoor call is made to start it opening. +// +boolean P_TryWalk (mobj_t* actor) +{ + if (!P_Move (actor)) + { + return false; + } + + actor->movecount = P_Random()&15; + return true; +} + + + + +void P_NewChaseDir (mobj_t* actor) +{ + fixed_t deltax; + fixed_t deltay; + + dirtype_t d[3]; + + int tdir; + dirtype_t olddir; + + dirtype_t turnaround; + + if (!actor->target) + I_Error ("P_NewChaseDir: called with no target"); + + olddir = actor->movedir; + turnaround=opposite[olddir]; + + deltax = actor->target->x - actor->x; + deltay = actor->target->y - actor->y; + + if (deltax>10*FRACUNIT) + d[1]= DI_EAST; + else if (deltax<-10*FRACUNIT) + d[1]= DI_WEST; + else + d[1]=DI_NODIR; + + if (deltay<-10*FRACUNIT) + d[2]= DI_SOUTH; + else if (deltay>10*FRACUNIT) + d[2]= DI_NORTH; + else + d[2]=DI_NODIR; + + // try direct route + if (d[1] != DI_NODIR + && d[2] != DI_NODIR) + { + actor->movedir = diags[((deltay<0)<<1)+(deltax>0)]; + if (actor->movedir != (int) turnaround && P_TryWalk(actor)) + return; + } + + // try other directions + if (P_Random() > 200 + || abs(deltay)>abs(deltax)) + { + tdir=d[1]; + d[1]=d[2]; + d[2]=tdir; + } + + if (d[1]==turnaround) + d[1]=DI_NODIR; + if (d[2]==turnaround) + d[2]=DI_NODIR; + + if (d[1]!=DI_NODIR) + { + actor->movedir = d[1]; + if (P_TryWalk(actor)) + { + // either moved forward or attacked + return; + } + } + + if (d[2]!=DI_NODIR) + { + actor->movedir =d[2]; + + if (P_TryWalk(actor)) + return; + } + + // there is no direct path to the player, + // so pick another direction. + if (olddir!=DI_NODIR) + { + actor->movedir =olddir; + + if (P_TryWalk(actor)) + return; + } + + // randomly determine direction of search + if (P_Random()&1) + { + for ( tdir=DI_EAST; + tdir<=DI_SOUTHEAST; + tdir++ ) + { + if (tdir != (int) turnaround) + { + actor->movedir =tdir; + + if ( P_TryWalk(actor) ) + return; + } + } + } + else + { + for ( tdir=DI_SOUTHEAST; + tdir != (DI_EAST-1); + tdir-- ) + { + if (tdir != (int) turnaround) + { + actor->movedir = tdir; + + if ( P_TryWalk(actor) ) + return; + } + } + } + + if (turnaround != DI_NODIR) + { + actor->movedir =turnaround; + if ( P_TryWalk(actor) ) + return; + } + + actor->movedir = DI_NODIR; // can not move +} + + + +// +// P_LookForPlayers +// If allaround is false, only look 180 degrees in front. +// Returns true if a player is targeted. +// +boolean +P_LookForPlayers +( mobj_t* actor, + boolean allaround ) +{ + int c; + int stop; + player_t* player; + angle_t an; + fixed_t dist; + + c = 0; + stop = (actor->lastlook-1)&3; + + for ( ; ; actor->lastlook = (actor->lastlook+1)&3 ) + { + if (!playeringame[actor->lastlook]) + continue; + + if (c++ == 2 + || actor->lastlook == stop) + { + // done looking + return false; + } + + player = &players[actor->lastlook]; + + if (player->health <= 0) + continue; // dead + + if (!P_CheckSight (actor, player->mo)) + continue; // out of sight + + if (!allaround) + { + an = R_PointToAngle2 (actor->x, + actor->y, + player->mo->x, + player->mo->y) + - actor->angle; + + if (an > ANG90 && an < ANG270) + { + dist = P_AproxDistance (player->mo->x - actor->x, + player->mo->y - actor->y); + // if real close, react anyway + if (dist > MELEERANGE) + continue; // behind back + } + } + + actor->target = player->mo; + return true; + } + + return false; +} + + +// +// A_KeenDie +// DOOM II special, map 32. +// Uses special tag 666. +// +void A_KeenDie (mobj_t* mo) +{ + thinker_t* th; + mobj_t* mo2; + line_t junk; + + A_Fall (mo); + + // scan the remaining thinkers + // to see if all Keens are dead + for (th = thinkercap.next ; th != &thinkercap ; th=th->next) + { + if (th->function.acp1 != (actionf_p1)P_MobjThinker) + continue; + + mo2 = (mobj_t *)th; + if (mo2 != mo + && mo2->type == mo->type + && mo2->health > 0) + { + // other Keen not dead + return; + } + } + + junk.tag = 666; + EV_DoDoor(&junk, vld_open); +} + + +// +// ACTION ROUTINES +// + +// +// A_Look +// Stay in state until a player is sighted. +// +void A_Look (mobj_t* actor) +{ + mobj_t* targ; + + actor->threshold = 0; // any shot will wake up + targ = actor->subsector->sector->soundtarget; + + if (targ + && (targ->flags & MF_SHOOTABLE) ) + { + actor->target = targ; + + if ( actor->flags & MF_AMBUSH ) + { + if (P_CheckSight (actor, actor->target)) + goto seeyou; + } + else + goto seeyou; + } + + + if (!P_LookForPlayers (actor, false) ) + return; + + // go into chase state + seeyou: + if (actor->info->seesound) + { + int sound; + + switch (actor->info->seesound) + { + case sfx_posit1: + case sfx_posit2: + case sfx_posit3: + sound = sfx_posit1+P_Random()%3; + break; + + case sfx_bgsit1: + case sfx_bgsit2: + sound = sfx_bgsit1+P_Random()%2; + break; + + default: + sound = actor->info->seesound; + break; + } + + if (actor->type==MT_SPIDER + || actor->type == MT_CYBORG) + { + // full volume + S_StartSound (NULL, sound); + } + else + S_StartSound (actor, sound); + } + + P_SetMobjState (actor, actor->info->seestate); +} + + +// +// A_Chase +// Actor has a melee attack, +// so it tries to close as fast as possible +// +void A_Chase (mobj_t* actor) +{ + int delta; + + if (actor->reactiontime) + actor->reactiontime--; + + + // modify target threshold + if (actor->threshold) + { + if (!actor->target + || actor->target->health <= 0) + { + actor->threshold = 0; + } + else + actor->threshold--; + } + + // turn towards movement direction if not there yet + if (actor->movedir < 8) + { + actor->angle &= (7<<29); + delta = actor->angle - (actor->movedir << 29); + + if (delta > 0) + actor->angle -= ANG90/2; + else if (delta < 0) + actor->angle += ANG90/2; + } + + if (!actor->target + || !(actor->target->flags&MF_SHOOTABLE)) + { + // look for a new target + if (P_LookForPlayers(actor,true)) + return; // got a new target + + P_SetMobjState (actor, actor->info->spawnstate); + return; + } + + // do not attack twice in a row + if (actor->flags & MF_JUSTATTACKED) + { + actor->flags &= ~MF_JUSTATTACKED; + if (gameskill != sk_nightmare && !fastparm) + P_NewChaseDir (actor); + return; + } + + // check for melee attack + if (actor->info->meleestate + && P_CheckMeleeRange (actor)) + { + if (actor->info->attacksound) + S_StartSound (actor, actor->info->attacksound); + + P_SetMobjState (actor, actor->info->meleestate); + return; + } + + // check for missile attack + if (actor->info->missilestate) + { + if (gameskill < sk_nightmare + && !fastparm && actor->movecount) + { + goto nomissile; + } + + if (!P_CheckMissileRange (actor)) + goto nomissile; + + P_SetMobjState (actor, actor->info->missilestate); + actor->flags |= MF_JUSTATTACKED; + return; + } + + // ? + nomissile: + // possibly choose another target + if (netgame + && !actor->threshold + && !P_CheckSight (actor, actor->target) ) + { + if (P_LookForPlayers(actor,true)) + return; // got a new target + } + + // chase towards player + if (--actor->movecount<0 + || !P_Move (actor)) + { + P_NewChaseDir (actor); + } + + // make active sound + if (actor->info->activesound + && P_Random () < 3) + { + S_StartSound (actor, actor->info->activesound); + } +} + + +// +// A_FaceTarget +// +void A_FaceTarget (mobj_t* actor) +{ + if (!actor->target) + return; + + actor->flags &= ~MF_AMBUSH; + + actor->angle = R_PointToAngle2 (actor->x, + actor->y, + actor->target->x, + actor->target->y); + + if (actor->target->flags & MF_SHADOW) + actor->angle += (P_Random()-P_Random())<<21; +} + + +// +// A_PosAttack +// +void A_PosAttack (mobj_t* actor) +{ + int angle; + int damage; + int slope; + + if (!actor->target) + return; + + A_FaceTarget (actor); + angle = actor->angle; + slope = P_AimLineAttack (actor, angle, MISSILERANGE); + + S_StartSound (actor, sfx_pistol); + angle += (P_Random()-P_Random())<<20; + damage = ((P_Random()%5)+1)*3; + P_LineAttack (actor, angle, MISSILERANGE, slope, damage); +} + +void A_SPosAttack (mobj_t* actor) +{ + int i; + int angle; + int bangle; + int damage; + int slope; + + if (!actor->target) + return; + + S_StartSound (actor, sfx_shotgn); + A_FaceTarget (actor); + bangle = actor->angle; + slope = P_AimLineAttack (actor, bangle, MISSILERANGE); + + for (i=0 ; i<3 ; i++) + { + angle = bangle + ((P_Random()-P_Random())<<20); + damage = ((P_Random()%5)+1)*3; + P_LineAttack (actor, angle, MISSILERANGE, slope, damage); + } +} + +void A_CPosAttack (mobj_t* actor) +{ + int angle; + int bangle; + int damage; + int slope; + + if (!actor->target) + return; + + S_StartSound (actor, sfx_shotgn); + A_FaceTarget (actor); + bangle = actor->angle; + slope = P_AimLineAttack (actor, bangle, MISSILERANGE); + + angle = bangle + ((P_Random()-P_Random())<<20); + damage = ((P_Random()%5)+1)*3; + P_LineAttack (actor, angle, MISSILERANGE, slope, damage); +} + +void A_CPosRefire (mobj_t* actor) +{ + // keep firing unless target got out of sight + A_FaceTarget (actor); + + if (P_Random () < 40) + return; + + if (!actor->target + || actor->target->health <= 0 + || !P_CheckSight (actor, actor->target) ) + { + P_SetMobjState (actor, actor->info->seestate); + } +} + + +void A_SpidRefire (mobj_t* actor) +{ + // keep firing unless target got out of sight + A_FaceTarget (actor); + + if (P_Random () < 10) + return; + + if (!actor->target + || actor->target->health <= 0 + || !P_CheckSight (actor, actor->target) ) + { + P_SetMobjState (actor, actor->info->seestate); + } +} + +void A_BspiAttack (mobj_t *actor) +{ + if (!actor->target) + return; + + A_FaceTarget (actor); + + // launch a missile + P_SpawnMissile (actor, actor->target, MT_ARACHPLAZ); +} + + +// +// A_TroopAttack +// +void A_TroopAttack (mobj_t* actor) +{ + int damage; + + if (!actor->target) + return; + + A_FaceTarget (actor); + if (P_CheckMeleeRange (actor)) + { + S_StartSound (actor, sfx_claw); + damage = (P_Random()%8+1)*3; + P_DamageMobj (actor->target, actor, actor, damage); + return; + } + + + // launch a missile + P_SpawnMissile (actor, actor->target, MT_TROOPSHOT); +} + + +void A_SargAttack (mobj_t* actor) +{ + int damage; + + if (!actor->target) + return; + + A_FaceTarget (actor); + if (P_CheckMeleeRange (actor)) + { + damage = ((P_Random()%10)+1)*4; + P_DamageMobj (actor->target, actor, actor, damage); + } +} + +void A_HeadAttack (mobj_t* actor) +{ + int damage; + + if (!actor->target) + return; + + A_FaceTarget (actor); + if (P_CheckMeleeRange (actor)) + { + damage = (P_Random()%6+1)*10; + P_DamageMobj (actor->target, actor, actor, damage); + return; + } + + // launch a missile + P_SpawnMissile (actor, actor->target, MT_HEADSHOT); +} + +void A_CyberAttack (mobj_t* actor) +{ + if (!actor->target) + return; + + A_FaceTarget (actor); + P_SpawnMissile (actor, actor->target, MT_ROCKET); +} + + +void A_BruisAttack (mobj_t* actor) +{ + int damage; + + if (!actor->target) + return; + + if (P_CheckMeleeRange (actor)) + { + S_StartSound (actor, sfx_claw); + damage = (P_Random()%8+1)*10; + P_DamageMobj (actor->target, actor, actor, damage); + return; + } + + // launch a missile + P_SpawnMissile (actor, actor->target, MT_BRUISERSHOT); +} + + +// +// A_SkelMissile +// +void A_SkelMissile (mobj_t* actor) +{ + mobj_t* mo; + + if (!actor->target) + return; + + A_FaceTarget (actor); + actor->z += 16*FRACUNIT; // so missile spawns higher + mo = P_SpawnMissile (actor, actor->target, MT_TRACER); + actor->z -= 16*FRACUNIT; // back to normal + + mo->x += mo->momx; + mo->y += mo->momy; + mo->tracer = actor->target; +} + +int TRACEANGLE = 0xc000000; + +void A_Tracer (mobj_t* actor) +{ + angle_t exact; + fixed_t dist; + fixed_t slope; + mobj_t* dest; + mobj_t* th; + + if (gametic & 3) + return; + + // spawn a puff of smoke behind the rocket + P_SpawnPuff (actor->x, actor->y, actor->z); + + th = P_SpawnMobj (actor->x-actor->momx, + actor->y-actor->momy, + actor->z, MT_SMOKE); + + th->momz = FRACUNIT; + th->tics -= P_Random()&3; + if (th->tics < 1) + th->tics = 1; + + // adjust direction + dest = actor->tracer; + + if (!dest || dest->health <= 0) + return; + + // change angle + exact = R_PointToAngle2 (actor->x, + actor->y, + dest->x, + dest->y); + + if (exact != actor->angle) + { + if (exact - actor->angle > 0x80000000) + { + actor->angle -= TRACEANGLE; + if (exact - actor->angle < 0x80000000) + actor->angle = exact; + } + else + { + actor->angle += TRACEANGLE; + if (exact - actor->angle > 0x80000000) + actor->angle = exact; + } + } + + exact = actor->angle>>ANGLETOFINESHIFT; + actor->momx = FixedMul (actor->info->speed, finecosine[exact]); + actor->momy = FixedMul (actor->info->speed, finesine[exact]); + + // change slope + dist = P_AproxDistance (dest->x - actor->x, + dest->y - actor->y); + + dist = dist / actor->info->speed; + + if (dist < 1) + dist = 1; + slope = (dest->z+40*FRACUNIT - actor->z) / dist; + + if (slope < actor->momz) + actor->momz -= FRACUNIT/8; + else + actor->momz += FRACUNIT/8; +} + + +void A_SkelWhoosh (mobj_t* actor) +{ + if (!actor->target) + return; + A_FaceTarget (actor); + S_StartSound (actor,sfx_skeswg); +} + +void A_SkelFist (mobj_t* actor) +{ + int damage; + + if (!actor->target) + return; + + A_FaceTarget (actor); + + if (P_CheckMeleeRange (actor)) + { + damage = ((P_Random()%10)+1)*6; + S_StartSound (actor, sfx_skepch); + P_DamageMobj (actor->target, actor, actor, damage); + } +} + + + +// +// PIT_VileCheck +// Detect a corpse that could be raised. +// +mobj_t* corpsehit; +mobj_t* vileobj; +fixed_t viletryx; +fixed_t viletryy; + +boolean PIT_VileCheck (mobj_t* thing) +{ + int maxdist; + boolean check; + + if (!(thing->flags & MF_CORPSE) ) + return true; // not a monster + + if (thing->tics != -1) + return true; // not lying still yet + + if (thing->info->raisestate == S_NULL) + return true; // monster doesn't have a raise state + + maxdist = thing->info->radius + mobjinfo[MT_VILE].radius; + + if ( abs(thing->x - viletryx) > maxdist + || abs(thing->y - viletryy) > maxdist ) + return true; // not actually touching + + corpsehit = thing; + corpsehit->momx = corpsehit->momy = 0; + corpsehit->height <<= 2; + check = P_CheckPosition (corpsehit, corpsehit->x, corpsehit->y); + corpsehit->height >>= 2; + + if (!check) + return true; // doesn't fit here + + return false; // got one, so stop checking +} + + + +// +// A_VileChase +// Check for ressurecting a body +// +void A_VileChase (mobj_t* actor) +{ + int xl; + int xh; + int yl; + int yh; + + int bx; + int by; + + mobjinfo_t* info; + mobj_t* temp; + + if (actor->movedir != DI_NODIR) + { + // check for corpses to raise + viletryx = + actor->x + actor->info->speed*xspeed[actor->movedir]; + viletryy = + actor->y + actor->info->speed*yspeed[actor->movedir]; + + xl = (viletryx - bmaporgx - MAXRADIUS*2)>>MAPBLOCKSHIFT; + xh = (viletryx - bmaporgx + MAXRADIUS*2)>>MAPBLOCKSHIFT; + yl = (viletryy - bmaporgy - MAXRADIUS*2)>>MAPBLOCKSHIFT; + yh = (viletryy - bmaporgy + MAXRADIUS*2)>>MAPBLOCKSHIFT; + + vileobj = actor; + for (bx=xl ; bx<=xh ; bx++) + { + for (by=yl ; by<=yh ; by++) + { + // Call PIT_VileCheck to check + // whether object is a corpse + // that canbe raised. + if (!P_BlockThingsIterator(bx,by,PIT_VileCheck)) + { + // got one! + temp = actor->target; + actor->target = corpsehit; + A_FaceTarget (actor); + actor->target = temp; + + P_SetMobjState (actor, S_VILE_HEAL1); + S_StartSound (corpsehit, sfx_slop); + info = corpsehit->info; + + P_SetMobjState (corpsehit,info->raisestate); + corpsehit->height <<= 2; + corpsehit->flags = info->flags; + corpsehit->health = info->spawnhealth; + corpsehit->target = NULL; + + return; + } + } + } + } + + // Return to normal attack. + A_Chase (actor); +} + + +// +// A_VileStart +// +void A_VileStart (mobj_t* actor) +{ + S_StartSound (actor, sfx_vilatk); +} + + +// +// A_Fire +// Keep fire in front of player unless out of sight +// +void A_Fire (mobj_t* actor); + +void A_StartFire (mobj_t* actor) +{ + S_StartSound(actor,sfx_flamst); + A_Fire(actor); +} + +void A_FireCrackle (mobj_t* actor) +{ + S_StartSound(actor,sfx_flame); + A_Fire(actor); +} + +void A_Fire (mobj_t* actor) +{ + mobj_t* dest; + mobj_t* target; + unsigned an; + + dest = actor->tracer; + if (!dest) + return; + + target = P_SubstNullMobj(actor->target); + + // don't move it if the vile lost sight + if (!P_CheckSight (target, dest) ) + return; + + an = dest->angle >> ANGLETOFINESHIFT; + + P_UnsetThingPosition (actor); + actor->x = dest->x + FixedMul (24*FRACUNIT, finecosine[an]); + actor->y = dest->y + FixedMul (24*FRACUNIT, finesine[an]); + actor->z = dest->z; + P_SetThingPosition (actor); +} + + + +// +// A_VileTarget +// Spawn the hellfire +// +void A_VileTarget (mobj_t* actor) +{ + mobj_t* fog; + + if (!actor->target) + return; + + A_FaceTarget (actor); + + fog = P_SpawnMobj (actor->target->x, + actor->target->x, + actor->target->z, MT_FIRE); + + actor->tracer = fog; + fog->target = actor; + fog->tracer = actor->target; + A_Fire (fog); +} + + + + +// +// A_VileAttack +// +void A_VileAttack (mobj_t* actor) +{ + mobj_t* fire; + int an; + + if (!actor->target) + return; + + A_FaceTarget (actor); + + if (!P_CheckSight (actor, actor->target) ) + return; + + S_StartSound (actor, sfx_barexp); + P_DamageMobj (actor->target, actor, actor, 20); + actor->target->momz = 1000*FRACUNIT/actor->target->info->mass; + + an = actor->angle >> ANGLETOFINESHIFT; + + fire = actor->tracer; + + if (!fire) + return; + + // move the fire between the vile and the player + fire->x = actor->target->x - FixedMul (24*FRACUNIT, finecosine[an]); + fire->y = actor->target->y - FixedMul (24*FRACUNIT, finesine[an]); + P_RadiusAttack (fire, actor, 70 ); +} + + + + +// +// Mancubus attack, +// firing three missiles (bruisers) +// in three different directions? +// Doesn't look like it. +// +#define FATSPREAD (ANG90/8) + +void A_FatRaise (mobj_t *actor) +{ + A_FaceTarget (actor); + S_StartSound (actor, sfx_manatk); +} + + +void A_FatAttack1 (mobj_t* actor) +{ + mobj_t* mo; + mobj_t* target; + int an; + + A_FaceTarget (actor); + + // Change direction to ... + actor->angle += FATSPREAD; + target = P_SubstNullMobj(actor->target); + P_SpawnMissile (actor, target, MT_FATSHOT); + + mo = P_SpawnMissile (actor, target, MT_FATSHOT); + mo->angle += FATSPREAD; + an = mo->angle >> ANGLETOFINESHIFT; + mo->momx = FixedMul (mo->info->speed, finecosine[an]); + mo->momy = FixedMul (mo->info->speed, finesine[an]); +} + +void A_FatAttack2 (mobj_t* actor) +{ + mobj_t* mo; + mobj_t* target; + int an; + + A_FaceTarget (actor); + // Now here choose opposite deviation. + actor->angle -= FATSPREAD; + target = P_SubstNullMobj(actor->target); + P_SpawnMissile (actor, target, MT_FATSHOT); + + mo = P_SpawnMissile (actor, target, MT_FATSHOT); + mo->angle -= FATSPREAD*2; + an = mo->angle >> ANGLETOFINESHIFT; + mo->momx = FixedMul (mo->info->speed, finecosine[an]); + mo->momy = FixedMul (mo->info->speed, finesine[an]); +} + +void A_FatAttack3 (mobj_t* actor) +{ + mobj_t* mo; + mobj_t* target; + int an; + + A_FaceTarget (actor); + + target = P_SubstNullMobj(actor->target); + + mo = P_SpawnMissile (actor, target, MT_FATSHOT); + mo->angle -= FATSPREAD/2; + an = mo->angle >> ANGLETOFINESHIFT; + mo->momx = FixedMul (mo->info->speed, finecosine[an]); + mo->momy = FixedMul (mo->info->speed, finesine[an]); + + mo = P_SpawnMissile (actor, target, MT_FATSHOT); + mo->angle += FATSPREAD/2; + an = mo->angle >> ANGLETOFINESHIFT; + mo->momx = FixedMul (mo->info->speed, finecosine[an]); + mo->momy = FixedMul (mo->info->speed, finesine[an]); +} + + +// +// SkullAttack +// Fly at the player like a missile. +// +#define SKULLSPEED (20*FRACUNIT) + +void A_SkullAttack (mobj_t* actor) +{ + mobj_t* dest; + angle_t an; + int dist; + + if (!actor->target) + return; + + dest = actor->target; + actor->flags |= MF_SKULLFLY; + + S_StartSound (actor, actor->info->attacksound); + A_FaceTarget (actor); + an = actor->angle >> ANGLETOFINESHIFT; + actor->momx = FixedMul (SKULLSPEED, finecosine[an]); + actor->momy = FixedMul (SKULLSPEED, finesine[an]); + dist = P_AproxDistance (dest->x - actor->x, dest->y - actor->y); + dist = dist / SKULLSPEED; + + if (dist < 1) + dist = 1; + actor->momz = (dest->z+(dest->height>>1) - actor->z) / dist; +} + + +// +// A_PainShootSkull +// Spawn a lost soul and launch it at the target +// +void +A_PainShootSkull +( mobj_t* actor, + angle_t angle ) +{ + fixed_t x; + fixed_t y; + fixed_t z; + + mobj_t* newmobj; + angle_t an; + int prestep; + int count; + thinker_t* currentthinker; + + // count total number of skull currently on the level + count = 0; + + currentthinker = thinkercap.next; + while (currentthinker != &thinkercap) + { + if ( (currentthinker->function.acp1 == (actionf_p1)P_MobjThinker) + && ((mobj_t *)currentthinker)->type == MT_SKULL) + count++; + currentthinker = currentthinker->next; + } + + // if there are allready 20 skulls on the level, + // don't spit another one + if (count > 20) + return; + + + // okay, there's playe for another one + an = angle >> ANGLETOFINESHIFT; + + prestep = + 4*FRACUNIT + + 3*(actor->info->radius + mobjinfo[MT_SKULL].radius)/2; + + x = actor->x + FixedMul (prestep, finecosine[an]); + y = actor->y + FixedMul (prestep, finesine[an]); + z = actor->z + 8*FRACUNIT; + + newmobj = P_SpawnMobj (x , y, z, MT_SKULL); + + // Check for movements. + if (!P_TryMove (newmobj, newmobj->x, newmobj->y)) + { + // kill it immediately + P_DamageMobj (newmobj,actor,actor,10000); + return; + } + + newmobj->target = actor->target; + A_SkullAttack (newmobj); +} + + +// +// A_PainAttack +// Spawn a lost soul and launch it at the target +// +void A_PainAttack (mobj_t* actor) +{ + if (!actor->target) + return; + + A_FaceTarget (actor); + A_PainShootSkull (actor, actor->angle); +} + + +void A_PainDie (mobj_t* actor) +{ + A_Fall (actor); + A_PainShootSkull (actor, actor->angle+ANG90); + A_PainShootSkull (actor, actor->angle+ANG180); + A_PainShootSkull (actor, actor->angle+ANG270); +} + + + + + + +void A_Scream (mobj_t* actor) +{ + int sound; + + switch (actor->info->deathsound) + { + case 0: + return; + + case sfx_podth1: + case sfx_podth2: + case sfx_podth3: + sound = sfx_podth1 + P_Random ()%3; + break; + + case sfx_bgdth1: + case sfx_bgdth2: + sound = sfx_bgdth1 + P_Random ()%2; + break; + + default: + sound = actor->info->deathsound; + break; + } + + // Check for bosses. + if (actor->type==MT_SPIDER + || actor->type == MT_CYBORG) + { + // full volume + S_StartSound (NULL, sound); + } + else + S_StartSound (actor, sound); +} + + +void A_XScream (mobj_t* actor) +{ + S_StartSound (actor, sfx_slop); +} + +void A_Pain (mobj_t* actor) +{ + if (actor->info->painsound) + S_StartSound (actor, actor->info->painsound); +} + + + +void A_Fall (mobj_t *actor) +{ + // actor is on ground, it can be walked over + actor->flags &= ~MF_SOLID; + + // So change this if corpse objects + // are meant to be obstacles. +} + + +// +// A_Explode +// +void A_Explode (mobj_t* thingy) +{ + P_RadiusAttack(thingy, thingy->target, 128); +} + +// Check whether the death of the specified monster type is allowed +// to trigger the end of episode special action. +// +// This behavior changed in v1.9, the most notable effect of which +// was to break uac_dead.wad + +static boolean CheckBossEnd(mobjtype_t motype) +{ + if (gameversion < exe_ultimate) + { + if (gamemap != 8) + { + return false; + } + + // Baron death on later episodes is nothing special. + + if (motype == MT_BRUISER && gameepisode != 1) + { + return false; + } + + return true; + } + else + { + // New logic that appeared in Ultimate Doom. + // Looks like the logic was overhauled while adding in the + // episode 4 support. Now bosses only trigger on their + // specific episode. + + switch(gameepisode) + { + case 1: + return gamemap == 8 && motype == MT_BRUISER; + + case 2: + return gamemap == 8 && motype == MT_CYBORG; + + case 3: + return gamemap == 8 && motype == MT_SPIDER; + + case 4: + return (gamemap == 6 && motype == MT_CYBORG) + || (gamemap == 8 && motype == MT_SPIDER); + + default: + return gamemap == 8; + } + } +} + +// +// A_BossDeath +// Possibly trigger special effects +// if on first boss level +// +void A_BossDeath (mobj_t* mo) +{ + thinker_t* th; + mobj_t* mo2; + line_t junk; + int i; + + if ( gamemode == commercial) + { + if (gamemap != 7) + return; + + if ((mo->type != MT_FATSO) + && (mo->type != MT_BABY)) + return; + } + else + { + if (!CheckBossEnd(mo->type)) + { + return; + } + } + + // make sure there is a player alive for victory + for (i=0 ; i 0) + break; + + if (i==MAXPLAYERS) + return; // no one left alive, so do not end game + + // scan the remaining thinkers to see + // if all bosses are dead + for (th = thinkercap.next ; th != &thinkercap ; th=th->next) + { + if (th->function.acp1 != (actionf_p1)P_MobjThinker) + continue; + + mo2 = (mobj_t *)th; + if (mo2 != mo + && mo2->type == mo->type + && mo2->health > 0) + { + // other boss not dead + return; + } + } + + // victory! + if ( gamemode == commercial) + { + if (gamemap == 7) + { + if (mo->type == MT_FATSO) + { + junk.tag = 666; + EV_DoFloor(&junk,lowerFloorToLowest); + return; + } + + if (mo->type == MT_BABY) + { + junk.tag = 667; + EV_DoFloor(&junk,raiseToTexture); + return; + } + } + } + else + { + switch(gameepisode) + { + case 1: + junk.tag = 666; + EV_DoFloor (&junk, lowerFloorToLowest); + return; + break; + + case 4: + switch(gamemap) + { + case 6: + junk.tag = 666; + EV_DoDoor (&junk, vld_blazeOpen); + return; + break; + + case 8: + junk.tag = 666; + EV_DoFloor (&junk, lowerFloorToLowest); + return; + break; + } + } + } + + G_ExitLevel (); +} + + +void A_Hoof (mobj_t* mo) +{ + S_StartSound (mo, sfx_hoof); + A_Chase (mo); +} + +void A_Metal (mobj_t* mo) +{ + S_StartSound (mo, sfx_metal); + A_Chase (mo); +} + +void A_BabyMetal (mobj_t* mo) +{ + S_StartSound (mo, sfx_bspwlk); + A_Chase (mo); +} + +void +A_OpenShotgun2 +( player_t* player, + pspdef_t* psp ) +{ + S_StartSound (player->mo, sfx_dbopn); +} + +void +A_LoadShotgun2 +( player_t* player, + pspdef_t* psp ) +{ + S_StartSound (player->mo, sfx_dbload); +} + +void +A_ReFire +( player_t* player, + pspdef_t* psp ); + +void +A_CloseShotgun2 +( player_t* player, + pspdef_t* psp ) +{ + S_StartSound (player->mo, sfx_dbcls); + A_ReFire(player,psp); +} + + + +mobj_t* braintargets[32]; +int numbraintargets; +int braintargeton = 0; + +void A_BrainAwake (mobj_t* mo) +{ + thinker_t* thinker; + mobj_t* m; + + // find all the target spots + numbraintargets = 0; + braintargeton = 0; + + thinker = thinkercap.next; + for (thinker = thinkercap.next ; + thinker != &thinkercap ; + thinker = thinker->next) + { + if (thinker->function.acp1 != (actionf_p1)P_MobjThinker) + continue; // not a mobj + + m = (mobj_t *)thinker; + + if (m->type == MT_BOSSTARGET ) + { + braintargets[numbraintargets] = m; + numbraintargets++; + } + } + + S_StartSound (NULL,sfx_bossit); +} + + +void A_BrainPain (mobj_t* mo) +{ + S_StartSound (NULL,sfx_bospn); +} + + +void A_BrainScream (mobj_t* mo) +{ + int x; + int y; + int z; + mobj_t* th; + + for (x=mo->x - 196*FRACUNIT ; x< mo->x + 320*FRACUNIT ; x+= FRACUNIT*8) + { + y = mo->y - 320*FRACUNIT; + z = 128 + P_Random()*2*FRACUNIT; + th = P_SpawnMobj (x,y,z, MT_ROCKET); + th->momz = P_Random()*512; + + P_SetMobjState (th, S_BRAINEXPLODE1); + + th->tics -= P_Random()&7; + if (th->tics < 1) + th->tics = 1; + } + + S_StartSound (NULL,sfx_bosdth); +} + + + +void A_BrainExplode (mobj_t* mo) +{ + int x; + int y; + int z; + mobj_t* th; + + x = mo->x + (P_Random () - P_Random ())*2048; + y = mo->y; + z = 128 + P_Random()*2*FRACUNIT; + th = P_SpawnMobj (x,y,z, MT_ROCKET); + th->momz = P_Random()*512; + + P_SetMobjState (th, S_BRAINEXPLODE1); + + th->tics -= P_Random()&7; + if (th->tics < 1) + th->tics = 1; +} + + +void A_BrainDie (mobj_t* mo) +{ + G_ExitLevel (); +} + +void A_BrainSpit (mobj_t* mo) +{ + mobj_t* targ; + mobj_t* newmobj; + + static int easy = 0; + + easy ^= 1; + if (gameskill <= sk_easy && (!easy)) + return; + + // shoot a cube at current target + targ = braintargets[braintargeton]; + braintargeton = (braintargeton+1)%numbraintargets; + + // spawn brain missile + newmobj = P_SpawnMissile (mo, targ, MT_SPAWNSHOT); + newmobj->target = targ; + newmobj->reactiontime = + ((targ->y - mo->y)/newmobj->momy) / newmobj->state->tics; + + S_StartSound(NULL, sfx_bospit); +} + + + +void A_SpawnFly (mobj_t* mo); + +// travelling cube sound +void A_SpawnSound (mobj_t* mo) +{ + S_StartSound (mo,sfx_boscub); + A_SpawnFly(mo); +} + +void A_SpawnFly (mobj_t* mo) +{ + mobj_t* newmobj; + mobj_t* fog; + mobj_t* targ; + int r; + mobjtype_t type; + + if (--mo->reactiontime) + return; // still flying + + targ = P_SubstNullMobj(mo->target); + + // First spawn teleport fog. + fog = P_SpawnMobj (targ->x, targ->y, targ->z, MT_SPAWNFIRE); + S_StartSound (fog, sfx_telept); + + // Randomly select monster to spawn. + r = P_Random (); + + // Probability distribution (kind of :), + // decreasing likelihood. + if ( r<50 ) + type = MT_TROOP; + else if (r<90) + type = MT_SERGEANT; + else if (r<120) + type = MT_SHADOWS; + else if (r<130) + type = MT_PAIN; + else if (r<160) + type = MT_HEAD; + else if (r<162) + type = MT_VILE; + else if (r<172) + type = MT_UNDEAD; + else if (r<192) + type = MT_BABY; + else if (r<222) + type = MT_FATSO; + else if (r<246) + type = MT_KNIGHT; + else + type = MT_BRUISER; + + newmobj = P_SpawnMobj (targ->x, targ->y, targ->z, type); + if (P_LookForPlayers (newmobj, true) ) + P_SetMobjState (newmobj, newmobj->info->seestate); + + // telefrag anything in this spot + P_TeleportMove (newmobj, newmobj->x, newmobj->y); + + // remove self (i.e., cube). + P_RemoveMobj (mo); +} + + + +void A_PlayerScream (mobj_t* mo) +{ + // Default death sound. + int sound = sfx_pldeth; + + if ( (gamemode == commercial) + && (mo->health < -50)) + { + // IF THE PLAYER DIES + // LESS THAN -50% WITHOUT GIBBING + sound = sfx_pdiehi; + } + + S_StartSound (mo, sound); +} diff --git a/src/kernel/userland/doom/p_floor.c b/src/kernel/userland/doom/p_floor.c new file mode 100644 index 0000000..1384ee6 --- /dev/null +++ b/src/kernel/userland/doom/p_floor.c @@ -0,0 +1,546 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Floor animation: raising stairs. +// + + + +#include "z_zone.h" +#include "doomdef.h" +#include "p_local.h" + +#include "s_sound.h" + +// State. +#include "doomstat.h" +#include "r_state.h" +// Data. +#include "sounds.h" + + +// +// FLOORS +// + +// +// Move a plane (floor or ceiling) and check for crushing +// +result_e +T_MovePlane +( sector_t* sector, + fixed_t speed, + fixed_t dest, + boolean crush, + int floorOrCeiling, + int direction ) +{ + boolean flag; + fixed_t lastpos; + + switch(floorOrCeiling) + { + case 0: + // FLOOR + switch(direction) + { + case -1: + // DOWN + if (sector->floorheight - speed < dest) + { + lastpos = sector->floorheight; + sector->floorheight = dest; + flag = P_ChangeSector(sector,crush); + if (flag == true) + { + sector->floorheight =lastpos; + P_ChangeSector(sector,crush); + //return crushed; + } + return pastdest; + } + else + { + lastpos = sector->floorheight; + sector->floorheight -= speed; + flag = P_ChangeSector(sector,crush); + if (flag == true) + { + sector->floorheight = lastpos; + P_ChangeSector(sector,crush); + return crushed; + } + } + break; + + case 1: + // UP + if (sector->floorheight + speed > dest) + { + lastpos = sector->floorheight; + sector->floorheight = dest; + flag = P_ChangeSector(sector,crush); + if (flag == true) + { + sector->floorheight = lastpos; + P_ChangeSector(sector,crush); + //return crushed; + } + return pastdest; + } + else + { + // COULD GET CRUSHED + lastpos = sector->floorheight; + sector->floorheight += speed; + flag = P_ChangeSector(sector,crush); + if (flag == true) + { + if (crush == true) + return crushed; + sector->floorheight = lastpos; + P_ChangeSector(sector,crush); + return crushed; + } + } + break; + } + break; + + case 1: + // CEILING + switch(direction) + { + case -1: + // DOWN + if (sector->ceilingheight - speed < dest) + { + lastpos = sector->ceilingheight; + sector->ceilingheight = dest; + flag = P_ChangeSector(sector,crush); + + if (flag == true) + { + sector->ceilingheight = lastpos; + P_ChangeSector(sector,crush); + //return crushed; + } + return pastdest; + } + else + { + // COULD GET CRUSHED + lastpos = sector->ceilingheight; + sector->ceilingheight -= speed; + flag = P_ChangeSector(sector,crush); + + if (flag == true) + { + if (crush == true) + return crushed; + sector->ceilingheight = lastpos; + P_ChangeSector(sector,crush); + return crushed; + } + } + break; + + case 1: + // UP + if (sector->ceilingheight + speed > dest) + { + lastpos = sector->ceilingheight; + sector->ceilingheight = dest; + flag = P_ChangeSector(sector,crush); + if (flag == true) + { + sector->ceilingheight = lastpos; + P_ChangeSector(sector,crush); + //return crushed; + } + return pastdest; + } + else + { + lastpos = sector->ceilingheight; + sector->ceilingheight += speed; + flag = P_ChangeSector(sector,crush); +// UNUSED +#if 0 + if (flag == true) + { + sector->ceilingheight = lastpos; + P_ChangeSector(sector,crush); + return crushed; + } +#endif + } + break; + } + break; + + } + return ok; +} + + +// +// MOVE A FLOOR TO IT'S DESTINATION (UP OR DOWN) +// +void T_MoveFloor(floormove_t* floor) +{ + result_e res; + + res = T_MovePlane(floor->sector, + floor->speed, + floor->floordestheight, + floor->crush,0,floor->direction); + + if (!(leveltime&7)) + S_StartSound(&floor->sector->soundorg, sfx_stnmov); + + if (res == pastdest) + { + floor->sector->specialdata = NULL; + + if (floor->direction == 1) + { + switch(floor->type) + { + case donutRaise: + floor->sector->special = floor->newspecial; + floor->sector->floorpic = floor->texture; + default: + break; + } + } + else if (floor->direction == -1) + { + switch(floor->type) + { + case lowerAndChange: + floor->sector->special = floor->newspecial; + floor->sector->floorpic = floor->texture; + default: + break; + } + } + P_RemoveThinker(&floor->thinker); + + S_StartSound(&floor->sector->soundorg, sfx_pstop); + } + +} + +// +// HANDLE FLOOR TYPES +// +int +EV_DoFloor +( line_t* line, + floor_e floortype ) +{ + int secnum; + int rtn; + int i; + sector_t* sec; + floormove_t* floor; + + secnum = -1; + rtn = 0; + while ((secnum = P_FindSectorFromLineTag(line,secnum)) >= 0) + { + sec = §ors[secnum]; + + // ALREADY MOVING? IF SO, KEEP GOING... + if (sec->specialdata) + continue; + + // new floor thinker + rtn = 1; + floor = Z_Malloc (sizeof(*floor), PU_LEVSPEC, 0); + P_AddThinker (&floor->thinker); + sec->specialdata = floor; + floor->thinker.function.acp1 = (actionf_p1) T_MoveFloor; + floor->type = floortype; + floor->crush = false; + + switch(floortype) + { + case lowerFloor: + floor->direction = -1; + floor->sector = sec; + floor->speed = FLOORSPEED; + floor->floordestheight = + P_FindHighestFloorSurrounding(sec); + break; + + case lowerFloorToLowest: + floor->direction = -1; + floor->sector = sec; + floor->speed = FLOORSPEED; + floor->floordestheight = + P_FindLowestFloorSurrounding(sec); + break; + + case turboLower: + floor->direction = -1; + floor->sector = sec; + floor->speed = FLOORSPEED * 4; + floor->floordestheight = + P_FindHighestFloorSurrounding(sec); + if (floor->floordestheight != sec->floorheight) + floor->floordestheight += 8*FRACUNIT; + break; + + case raiseFloorCrush: + floor->crush = true; + case raiseFloor: + floor->direction = 1; + floor->sector = sec; + floor->speed = FLOORSPEED; + floor->floordestheight = + P_FindLowestCeilingSurrounding(sec); + if (floor->floordestheight > sec->ceilingheight) + floor->floordestheight = sec->ceilingheight; + floor->floordestheight -= (8*FRACUNIT)* + (floortype == raiseFloorCrush); + break; + + case raiseFloorTurbo: + floor->direction = 1; + floor->sector = sec; + floor->speed = FLOORSPEED*4; + floor->floordestheight = + P_FindNextHighestFloor(sec,sec->floorheight); + break; + + case raiseFloorToNearest: + floor->direction = 1; + floor->sector = sec; + floor->speed = FLOORSPEED; + floor->floordestheight = + P_FindNextHighestFloor(sec,sec->floorheight); + break; + + case raiseFloor24: + floor->direction = 1; + floor->sector = sec; + floor->speed = FLOORSPEED; + floor->floordestheight = floor->sector->floorheight + + 24 * FRACUNIT; + break; + case raiseFloor512: + floor->direction = 1; + floor->sector = sec; + floor->speed = FLOORSPEED; + floor->floordestheight = floor->sector->floorheight + + 512 * FRACUNIT; + break; + + case raiseFloor24AndChange: + floor->direction = 1; + floor->sector = sec; + floor->speed = FLOORSPEED; + floor->floordestheight = floor->sector->floorheight + + 24 * FRACUNIT; + sec->floorpic = line->frontsector->floorpic; + sec->special = line->frontsector->special; + break; + + case raiseToTexture: + { + int minsize = INT_MAX; + side_t* side; + + floor->direction = 1; + floor->sector = sec; + floor->speed = FLOORSPEED; + for (i = 0; i < sec->linecount; i++) + { + if (twoSided (secnum, i) ) + { + side = getSide(secnum,i,0); + if (side->bottomtexture >= 0) + if (textureheight[side->bottomtexture] < + minsize) + minsize = + textureheight[side->bottomtexture]; + side = getSide(secnum,i,1); + if (side->bottomtexture >= 0) + if (textureheight[side->bottomtexture] < + minsize) + minsize = + textureheight[side->bottomtexture]; + } + } + floor->floordestheight = + floor->sector->floorheight + minsize; + } + break; + + case lowerAndChange: + floor->direction = -1; + floor->sector = sec; + floor->speed = FLOORSPEED; + floor->floordestheight = + P_FindLowestFloorSurrounding(sec); + floor->texture = sec->floorpic; + + for (i = 0; i < sec->linecount; i++) + { + if ( twoSided(secnum, i) ) + { + if (getSide(secnum,i,0)->sector-sectors == secnum) + { + sec = getSector(secnum,i,1); + + if (sec->floorheight == floor->floordestheight) + { + floor->texture = sec->floorpic; + floor->newspecial = sec->special; + break; + } + } + else + { + sec = getSector(secnum,i,0); + + if (sec->floorheight == floor->floordestheight) + { + floor->texture = sec->floorpic; + floor->newspecial = sec->special; + break; + } + } + } + } + default: + break; + } + } + return rtn; +} + + + + +// +// BUILD A STAIRCASE! +// +int +EV_BuildStairs +( line_t* line, + stair_e type ) +{ + int secnum; + int height; + int i; + int newsecnum; + int texture; + int ok; + int rtn; + + sector_t* sec; + sector_t* tsec; + + floormove_t* floor; + + fixed_t stairsize = 0; + fixed_t speed = 0; + + secnum = -1; + rtn = 0; + while ((secnum = P_FindSectorFromLineTag(line,secnum)) >= 0) + { + sec = §ors[secnum]; + + // ALREADY MOVING? IF SO, KEEP GOING... + if (sec->specialdata) + continue; + + // new floor thinker + rtn = 1; + floor = Z_Malloc (sizeof(*floor), PU_LEVSPEC, 0); + P_AddThinker (&floor->thinker); + sec->specialdata = floor; + floor->thinker.function.acp1 = (actionf_p1) T_MoveFloor; + floor->direction = 1; + floor->sector = sec; + switch(type) + { + case build8: + speed = FLOORSPEED/4; + stairsize = 8*FRACUNIT; + break; + case turbo16: + speed = FLOORSPEED*4; + stairsize = 16*FRACUNIT; + break; + } + floor->speed = speed; + height = sec->floorheight + stairsize; + floor->floordestheight = height; + + texture = sec->floorpic; + + // Find next sector to raise + // 1. Find 2-sided line with same sector side[0] + // 2. Other side is the next sector to raise + do + { + ok = 0; + for (i = 0;i < sec->linecount;i++) + { + if ( !((sec->lines[i])->flags & ML_TWOSIDED) ) + continue; + + tsec = (sec->lines[i])->frontsector; + newsecnum = tsec-sectors; + + if (secnum != newsecnum) + continue; + + tsec = (sec->lines[i])->backsector; + newsecnum = tsec - sectors; + + if (tsec->floorpic != texture) + continue; + + height += stairsize; + + if (tsec->specialdata) + continue; + + sec = tsec; + secnum = newsecnum; + floor = Z_Malloc (sizeof(*floor), PU_LEVSPEC, 0); + + P_AddThinker (&floor->thinker); + + sec->specialdata = floor; + floor->thinker.function.acp1 = (actionf_p1) T_MoveFloor; + floor->direction = 1; + floor->sector = sec; + floor->speed = speed; + floor->floordestheight = height; + ok = 1; + break; + } + } while(ok); + } + return rtn; +} + diff --git a/src/kernel/userland/doom/p_inter.c b/src/kernel/userland/doom/p_inter.c new file mode 100644 index 0000000..1eb58cf --- /dev/null +++ b/src/kernel/userland/doom/p_inter.c @@ -0,0 +1,922 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Handling interactions (i.e., collisions). +// + + + + +// Data. +#include "doomdef.h" +#include "dstrings.h" +#include "sounds.h" + +#include "deh_main.h" +#include "deh_misc.h" +#include "doomstat.h" + +#include "m_random.h" +#include "i_system.h" + +#include "am_map.h" + +#include "p_local.h" + +#include "s_sound.h" + +#include "p_inter.h" + + +#define BONUSADD 6 + + + + +// a weapon is found with two clip loads, +// a big item has five clip loads +int maxammo[NUMAMMO] = {200, 50, 300, 50}; +int clipammo[NUMAMMO] = {10, 4, 20, 1}; + + +// +// GET STUFF +// + +// +// P_GiveAmmo +// Num is the number of clip loads, +// not the individual count (0= 1/2 clip). +// Returns false if the ammo can't be picked up at all +// + +boolean +P_GiveAmmo +( player_t* player, + ammotype_t ammo, + int num ) +{ + int oldammo; + + if (ammo == am_noammo) + return false; + + if (ammo > NUMAMMO) + I_Error ("P_GiveAmmo: bad type %i", ammo); + + if ( player->ammo[ammo] == player->maxammo[ammo] ) + return false; + + if (num) + num *= clipammo[ammo]; + else + num = clipammo[ammo]/2; + + if (gameskill == sk_baby + || gameskill == sk_nightmare) + { + // give double ammo in trainer mode, + // you'll need in nightmare + num <<= 1; + } + + + oldammo = player->ammo[ammo]; + player->ammo[ammo] += num; + + if (player->ammo[ammo] > player->maxammo[ammo]) + player->ammo[ammo] = player->maxammo[ammo]; + + // If non zero ammo, + // don't change up weapons, + // player was lower on purpose. + if (oldammo) + return true; + + // We were down to zero, + // so select a new weapon. + // Preferences are not user selectable. + switch (ammo) + { + case am_clip: + if (player->readyweapon == wp_fist) + { + if (player->weaponowned[wp_chaingun]) + player->pendingweapon = wp_chaingun; + else + player->pendingweapon = wp_pistol; + } + break; + + case am_shell: + if (player->readyweapon == wp_fist + || player->readyweapon == wp_pistol) + { + if (player->weaponowned[wp_shotgun]) + player->pendingweapon = wp_shotgun; + } + break; + + case am_cell: + if (player->readyweapon == wp_fist + || player->readyweapon == wp_pistol) + { + if (player->weaponowned[wp_plasma]) + player->pendingweapon = wp_plasma; + } + break; + + case am_misl: + if (player->readyweapon == wp_fist) + { + if (player->weaponowned[wp_missile]) + player->pendingweapon = wp_missile; + } + default: + break; + } + + return true; +} + + +// +// P_GiveWeapon +// The weapon name may have a MF_DROPPED flag ored in. +// +boolean +P_GiveWeapon +( player_t* player, + weapontype_t weapon, + boolean dropped ) +{ + boolean gaveammo; + boolean gaveweapon; + + if (netgame && (deathmatch!=2) && !dropped ) + { + // leave placed weapons forever on net games + if (player->weaponowned[weapon]) + return false; + + player->bonuscount += BONUSADD; + player->weaponowned[weapon] = true; + + if (deathmatch) + P_GiveAmmo (player, weaponinfo[weapon].ammo, 5); + else + P_GiveAmmo (player, weaponinfo[weapon].ammo, 2); + player->pendingweapon = weapon; + + if (player == &players[consoleplayer]) + S_StartSound (NULL, sfx_wpnup); + return false; + } + + if (weaponinfo[weapon].ammo != am_noammo) + { + // give one clip with a dropped weapon, + // two clips with a found weapon + if (dropped) + gaveammo = P_GiveAmmo (player, weaponinfo[weapon].ammo, 1); + else + gaveammo = P_GiveAmmo (player, weaponinfo[weapon].ammo, 2); + } + else + { + gaveammo = false; + } + + if (player->weaponowned[weapon]) + { + gaveweapon = false; + } + else + { + gaveweapon = true; + player->weaponowned[weapon] = true; + player->pendingweapon = weapon; + } + + return (gaveweapon || gaveammo); +} + + + +// +// P_GiveBody +// Returns false if the body isn't needed at all +// +boolean +P_GiveBody +( player_t* player, + int num ) +{ + if (player->health >= MAXHEALTH) + return false; + + player->health += num; + if (player->health > MAXHEALTH) + player->health = MAXHEALTH; + player->mo->health = player->health; + + return true; +} + + + +// +// P_GiveArmor +// Returns false if the armor is worse +// than the current armor. +// +boolean +P_GiveArmor +( player_t* player, + int armortype ) +{ + int hits; + + hits = armortype*100; + if (player->armorpoints >= hits) + return false; // don't pick up + + player->armortype = armortype; + player->armorpoints = hits; + + return true; +} + + + +// +// P_GiveCard +// +void +P_GiveCard +( player_t* player, + card_t card ) +{ + if (player->cards[card]) + return; + + player->bonuscount = BONUSADD; + player->cards[card] = 1; +} + + +// +// P_GivePower +// +boolean +P_GivePower +( player_t* player, + int /*powertype_t*/ power ) +{ + if (power == pw_invulnerability) + { + player->powers[power] = INVULNTICS; + return true; + } + + if (power == pw_invisibility) + { + player->powers[power] = INVISTICS; + player->mo->flags |= MF_SHADOW; + return true; + } + + if (power == pw_infrared) + { + player->powers[power] = INFRATICS; + return true; + } + + if (power == pw_ironfeet) + { + player->powers[power] = IRONTICS; + return true; + } + + if (power == pw_strength) + { + P_GiveBody (player, 100); + player->powers[power] = 1; + return true; + } + + if (player->powers[power]) + return false; // already got it + + player->powers[power] = 1; + return true; +} + + + +// +// P_TouchSpecialThing +// +void +P_TouchSpecialThing +( mobj_t* special, + mobj_t* toucher ) +{ + player_t* player; + int i; + fixed_t delta; + int sound; + + delta = special->z - toucher->z; + + if (delta > toucher->height + || delta < -8*FRACUNIT) + { + // out of reach + return; + } + + + sound = sfx_itemup; + player = toucher->player; + + // Dead thing touching. + // Can happen with a sliding player corpse. + if (toucher->health <= 0) + return; + + // Identify by sprite. + switch (special->sprite) + { + // armor + case SPR_ARM1: + if (!P_GiveArmor (player, deh_green_armor_class)) + return; + player->message = DEH_String(GOTARMOR); + break; + + case SPR_ARM2: + if (!P_GiveArmor (player, deh_blue_armor_class)) + return; + player->message = DEH_String(GOTMEGA); + break; + + // bonus items + case SPR_BON1: + player->health++; // can go over 100% + if (player->health > deh_max_health) + player->health = deh_max_health; + player->mo->health = player->health; + player->message = DEH_String(GOTHTHBONUS); + break; + + case SPR_BON2: + player->armorpoints++; // can go over 100% + if (player->armorpoints > deh_max_armor) + player->armorpoints = deh_max_armor; + // deh_green_armor_class only applies to the green armor shirt; + // for the armor helmets, armortype 1 is always used. + if (!player->armortype) + player->armortype = 1; + player->message = DEH_String(GOTARMBONUS); + break; + + case SPR_SOUL: + player->health += deh_soulsphere_health; + if (player->health > deh_max_soulsphere) + player->health = deh_max_soulsphere; + player->mo->health = player->health; + player->message = DEH_String(GOTSUPER); + sound = sfx_getpow; + break; + + case SPR_MEGA: + if (gamemode != commercial) + return; + player->health = deh_megasphere_health; + player->mo->health = player->health; + // We always give armor type 2 for the megasphere; dehacked only + // affects the MegaArmor. + P_GiveArmor (player, 2); + player->message = DEH_String(GOTMSPHERE); + sound = sfx_getpow; + break; + + // cards + // leave cards for everyone + case SPR_BKEY: + if (!player->cards[it_bluecard]) + player->message = DEH_String(GOTBLUECARD); + P_GiveCard (player, it_bluecard); + if (!netgame) + break; + return; + + case SPR_YKEY: + if (!player->cards[it_yellowcard]) + player->message = DEH_String(GOTYELWCARD); + P_GiveCard (player, it_yellowcard); + if (!netgame) + break; + return; + + case SPR_RKEY: + if (!player->cards[it_redcard]) + player->message = DEH_String(GOTREDCARD); + P_GiveCard (player, it_redcard); + if (!netgame) + break; + return; + + case SPR_BSKU: + if (!player->cards[it_blueskull]) + player->message = DEH_String(GOTBLUESKUL); + P_GiveCard (player, it_blueskull); + if (!netgame) + break; + return; + + case SPR_YSKU: + if (!player->cards[it_yellowskull]) + player->message = DEH_String(GOTYELWSKUL); + P_GiveCard (player, it_yellowskull); + if (!netgame) + break; + return; + + case SPR_RSKU: + if (!player->cards[it_redskull]) + player->message = DEH_String(GOTREDSKULL); + P_GiveCard (player, it_redskull); + if (!netgame) + break; + return; + + // medikits, heals + case SPR_STIM: + if (!P_GiveBody (player, 10)) + return; + player->message = DEH_String(GOTSTIM); + break; + + case SPR_MEDI: + if (!P_GiveBody (player, 25)) + return; + + if (player->health < 25) + player->message = DEH_String(GOTMEDINEED); + else + player->message = DEH_String(GOTMEDIKIT); + break; + + + // power ups + case SPR_PINV: + if (!P_GivePower (player, pw_invulnerability)) + return; + player->message = DEH_String(GOTINVUL); + sound = sfx_getpow; + break; + + case SPR_PSTR: + if (!P_GivePower (player, pw_strength)) + return; + player->message = DEH_String(GOTBERSERK); + if (player->readyweapon != wp_fist) + player->pendingweapon = wp_fist; + sound = sfx_getpow; + break; + + case SPR_PINS: + if (!P_GivePower (player, pw_invisibility)) + return; + player->message = DEH_String(GOTINVIS); + sound = sfx_getpow; + break; + + case SPR_SUIT: + if (!P_GivePower (player, pw_ironfeet)) + return; + player->message = DEH_String(GOTSUIT); + sound = sfx_getpow; + break; + + case SPR_PMAP: + if (!P_GivePower (player, pw_allmap)) + return; + player->message = DEH_String(GOTMAP); + sound = sfx_getpow; + break; + + case SPR_PVIS: + if (!P_GivePower (player, pw_infrared)) + return; + player->message = DEH_String(GOTVISOR); + sound = sfx_getpow; + break; + + // ammo + case SPR_CLIP: + if (special->flags & MF_DROPPED) + { + if (!P_GiveAmmo (player,am_clip,0)) + return; + } + else + { + if (!P_GiveAmmo (player,am_clip,1)) + return; + } + player->message = DEH_String(GOTCLIP); + break; + + case SPR_AMMO: + if (!P_GiveAmmo (player, am_clip,5)) + return; + player->message = DEH_String(GOTCLIPBOX); + break; + + case SPR_ROCK: + if (!P_GiveAmmo (player, am_misl,1)) + return; + player->message = DEH_String(GOTROCKET); + break; + + case SPR_BROK: + if (!P_GiveAmmo (player, am_misl,5)) + return; + player->message = DEH_String(GOTROCKBOX); + break; + + case SPR_CELL: + if (!P_GiveAmmo (player, am_cell,1)) + return; + player->message = DEH_String(GOTCELL); + break; + + case SPR_CELP: + if (!P_GiveAmmo (player, am_cell,5)) + return; + player->message = DEH_String(GOTCELLBOX); + break; + + case SPR_SHEL: + if (!P_GiveAmmo (player, am_shell,1)) + return; + player->message = DEH_String(GOTSHELLS); + break; + + case SPR_SBOX: + if (!P_GiveAmmo (player, am_shell,5)) + return; + player->message = DEH_String(GOTSHELLBOX); + break; + + case SPR_BPAK: + if (!player->backpack) + { + for (i=0 ; imaxammo[i] *= 2; + player->backpack = true; + } + for (i=0 ; imessage = DEH_String(GOTBACKPACK); + break; + + // weapons + case SPR_BFUG: + if (!P_GiveWeapon (player, wp_bfg, false) ) + return; + player->message = DEH_String(GOTBFG9000); + sound = sfx_wpnup; + break; + + case SPR_MGUN: + if (!P_GiveWeapon (player, wp_chaingun, (special->flags&MF_DROPPED) != 0) ) + return; + player->message = DEH_String(GOTCHAINGUN); + sound = sfx_wpnup; + break; + + case SPR_CSAW: + if (!P_GiveWeapon (player, wp_chainsaw, false) ) + return; + player->message = DEH_String(GOTCHAINSAW); + sound = sfx_wpnup; + break; + + case SPR_LAUN: + if (!P_GiveWeapon (player, wp_missile, false) ) + return; + player->message = DEH_String(GOTLAUNCHER); + sound = sfx_wpnup; + break; + + case SPR_PLAS: + if (!P_GiveWeapon (player, wp_plasma, false) ) + return; + player->message = DEH_String(GOTPLASMA); + sound = sfx_wpnup; + break; + + case SPR_SHOT: + if (!P_GiveWeapon (player, wp_shotgun, (special->flags&MF_DROPPED) != 0 ) ) + return; + player->message = DEH_String(GOTSHOTGUN); + sound = sfx_wpnup; + break; + + case SPR_SGN2: + if (!P_GiveWeapon (player, wp_supershotgun, (special->flags&MF_DROPPED) != 0 ) ) + return; + player->message = DEH_String(GOTSHOTGUN2); + sound = sfx_wpnup; + break; + + default: + I_Error ("P_SpecialThing: Unknown gettable thing"); + } + + if (special->flags & MF_COUNTITEM) + player->itemcount++; + P_RemoveMobj (special); + player->bonuscount += BONUSADD; + if (player == &players[consoleplayer]) + S_StartSound (NULL, sound); +} + + +// +// KillMobj +// +void +P_KillMobj +( mobj_t* source, + mobj_t* target ) +{ + mobjtype_t item; + mobj_t* mo; + + target->flags &= ~(MF_SHOOTABLE|MF_FLOAT|MF_SKULLFLY); + + if (target->type != MT_SKULL) + target->flags &= ~MF_NOGRAVITY; + + target->flags |= MF_CORPSE|MF_DROPOFF; + target->height >>= 2; + + if (source && source->player) + { + // count for intermission + if (target->flags & MF_COUNTKILL) + source->player->killcount++; + + if (target->player) + source->player->frags[target->player-players]++; + } + else if (!netgame && (target->flags & MF_COUNTKILL) ) + { + // count all monster deaths, + // even those caused by other monsters + players[0].killcount++; + } + + if (target->player) + { + // count environment kills against you + if (!source) + target->player->frags[target->player-players]++; + + target->flags &= ~MF_SOLID; + target->player->playerstate = PST_DEAD; + P_DropWeapon (target->player); + + if (target->player == &players[consoleplayer] + && automapactive) + { + // don't die in auto map, + // switch view prior to dying + AM_Stop (); + } + + } + + if (target->health < -target->info->spawnhealth + && target->info->xdeathstate) + { + P_SetMobjState (target, target->info->xdeathstate); + } + else + P_SetMobjState (target, target->info->deathstate); + target->tics -= P_Random()&3; + + if (target->tics < 1) + target->tics = 1; + + // I_StartSound (&actor->r, actor->info->deathsound); + + // In Chex Quest, monsters don't drop items. + + if (gameversion == exe_chex) + { + return; + } + + // Drop stuff. + // This determines the kind of object spawned + // during the death frame of a thing. + switch (target->type) + { + case MT_WOLFSS: + case MT_POSSESSED: + item = MT_CLIP; + break; + + case MT_SHOTGUY: + item = MT_SHOTGUN; + break; + + case MT_CHAINGUY: + item = MT_CHAINGUN; + break; + + default: + return; + } + + mo = P_SpawnMobj (target->x,target->y,ONFLOORZ, item); + mo->flags |= MF_DROPPED; // special versions of items +} + + + + +// +// P_DamageMobj +// Damages both enemies and players +// "inflictor" is the thing that caused the damage +// creature or missile, can be NULL (slime, etc) +// "source" is the thing to target after taking damage +// creature or NULL +// Source and inflictor are the same for melee attacks. +// Source can be NULL for slime, barrel explosions +// and other environmental stuff. +// +void +P_DamageMobj +( mobj_t* target, + mobj_t* inflictor, + mobj_t* source, + int damage ) +{ + unsigned ang; + int saved; + player_t* player; + fixed_t thrust; + int temp; + + if ( !(target->flags & MF_SHOOTABLE) ) + return; // shouldn't happen... + + if (target->health <= 0) + return; + + if ( target->flags & MF_SKULLFLY ) + { + target->momx = target->momy = target->momz = 0; + } + + player = target->player; + if (player && gameskill == sk_baby) + damage >>= 1; // take half damage in trainer mode + + + // Some close combat weapons should not + // inflict thrust and push the victim out of reach, + // thus kick away unless using the chainsaw. + if (inflictor + && !(target->flags & MF_NOCLIP) + && (!source + || !source->player + || source->player->readyweapon != wp_chainsaw)) + { + ang = R_PointToAngle2 ( inflictor->x, + inflictor->y, + target->x, + target->y); + + thrust = damage*(FRACUNIT>>3)*100/target->info->mass; + + // make fall forwards sometimes + if ( damage < 40 + && damage > target->health + && target->z - inflictor->z > 64*FRACUNIT + && (P_Random ()&1) ) + { + ang += ANG180; + thrust *= 4; + } + + ang >>= ANGLETOFINESHIFT; + target->momx += FixedMul (thrust, finecosine[ang]); + target->momy += FixedMul (thrust, finesine[ang]); + } + + // player specific + if (player) + { + // end of game hell hack + if (target->subsector->sector->special == 11 + && damage >= target->health) + { + damage = target->health - 1; + } + + + // Below certain threshold, + // ignore damage in GOD mode, or with INVUL power. + if ( damage < 1000 + && ( (player->cheats&CF_GODMODE) + || player->powers[pw_invulnerability] ) ) + { + return; + } + + if (player->armortype) + { + if (player->armortype == 1) + saved = damage/3; + else + saved = damage/2; + + if (player->armorpoints <= saved) + { + // armor is used up + saved = player->armorpoints; + player->armortype = 0; + } + player->armorpoints -= saved; + damage -= saved; + } + player->health -= damage; // mirror mobj health here for Dave + if (player->health < 0) + player->health = 0; + + player->attacker = source; + player->damagecount += damage; // add damage after armor / invuln + + if (player->damagecount > 100) + player->damagecount = 100; // teleport stomp does 10k points... + + temp = damage < 100 ? damage : 100; + + if (player == &players[consoleplayer]) + I_Tactile (40,10,40+temp*2); + } + + // do the damage + target->health -= damage; + if (target->health <= 0) + { + P_KillMobj (source, target); + return; + } + + if ( (P_Random () < target->info->painchance) + && !(target->flags&MF_SKULLFLY) ) + { + target->flags |= MF_JUSTHIT; // fight back! + + P_SetMobjState (target, target->info->painstate); + } + + target->reactiontime = 0; // we're awake now... + + if ( (!target->threshold || target->type == MT_VILE) + && source && source != target + && source->type != MT_VILE) + { + // if not intent on another player, + // chase after this one + target->target = source; + target->threshold = BASETHRESHOLD; + if (target->state == &states[target->info->spawnstate] + && target->info->seestate != S_NULL) + P_SetMobjState (target, target->info->seestate); + } + +} + diff --git a/src/kernel/userland/doom/p_inter.h b/src/kernel/userland/doom/p_inter.h new file mode 100644 index 0000000..5764d5d --- /dev/null +++ b/src/kernel/userland/doom/p_inter.h @@ -0,0 +1,30 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// +// + + +#ifndef __P_INTER__ +#define __P_INTER__ + + + + +boolean P_GivePower(player_t*, int); + + + +#endif diff --git a/src/kernel/userland/doom/p_lights.c b/src/kernel/userland/doom/p_lights.c new file mode 100644 index 0000000..863338d --- /dev/null +++ b/src/kernel/userland/doom/p_lights.c @@ -0,0 +1,350 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Handle Sector base lighting effects. +// Muzzle flash? +// + + + +#include "z_zone.h" +#include "m_random.h" + +#include "doomdef.h" +#include "p_local.h" + + +// State. +#include "r_state.h" + +// +// FIRELIGHT FLICKER +// + +// +// T_FireFlicker +// +void T_FireFlicker (fireflicker_t* flick) +{ + int amount; + + if (--flick->count) + return; + + amount = (P_Random()&3)*16; + + if (flick->sector->lightlevel - amount < flick->minlight) + flick->sector->lightlevel = flick->minlight; + else + flick->sector->lightlevel = flick->maxlight - amount; + + flick->count = 4; +} + + + +// +// P_SpawnFireFlicker +// +void P_SpawnFireFlicker (sector_t* sector) +{ + fireflicker_t* flick; + + // Note that we are resetting sector attributes. + // Nothing special about it during gameplay. + sector->special = 0; + + flick = Z_Malloc ( sizeof(*flick), PU_LEVSPEC, 0); + + P_AddThinker (&flick->thinker); + + flick->thinker.function.acp1 = (actionf_p1) T_FireFlicker; + flick->sector = sector; + flick->maxlight = sector->lightlevel; + flick->minlight = P_FindMinSurroundingLight(sector,sector->lightlevel)+16; + flick->count = 4; +} + + + +// +// BROKEN LIGHT FLASHING +// + + +// +// T_LightFlash +// Do flashing lights. +// +void T_LightFlash (lightflash_t* flash) +{ + if (--flash->count) + return; + + if (flash->sector->lightlevel == flash->maxlight) + { + flash-> sector->lightlevel = flash->minlight; + flash->count = (P_Random()&flash->mintime)+1; + } + else + { + flash-> sector->lightlevel = flash->maxlight; + flash->count = (P_Random()&flash->maxtime)+1; + } + +} + + + + +// +// P_SpawnLightFlash +// After the map has been loaded, scan each sector +// for specials that spawn thinkers +// +void P_SpawnLightFlash (sector_t* sector) +{ + lightflash_t* flash; + + // nothing special about it during gameplay + sector->special = 0; + + flash = Z_Malloc ( sizeof(*flash), PU_LEVSPEC, 0); + + P_AddThinker (&flash->thinker); + + flash->thinker.function.acp1 = (actionf_p1) T_LightFlash; + flash->sector = sector; + flash->maxlight = sector->lightlevel; + + flash->minlight = P_FindMinSurroundingLight(sector,sector->lightlevel); + flash->maxtime = 64; + flash->mintime = 7; + flash->count = (P_Random()&flash->maxtime)+1; +} + + + +// +// STROBE LIGHT FLASHING +// + + +// +// T_StrobeFlash +// +void T_StrobeFlash (strobe_t* flash) +{ + if (--flash->count) + return; + + if (flash->sector->lightlevel == flash->minlight) + { + flash-> sector->lightlevel = flash->maxlight; + flash->count = flash->brighttime; + } + else + { + flash-> sector->lightlevel = flash->minlight; + flash->count =flash->darktime; + } + +} + + + +// +// P_SpawnStrobeFlash +// After the map has been loaded, scan each sector +// for specials that spawn thinkers +// +void +P_SpawnStrobeFlash +( sector_t* sector, + int fastOrSlow, + int inSync ) +{ + strobe_t* flash; + + flash = Z_Malloc ( sizeof(*flash), PU_LEVSPEC, 0); + + P_AddThinker (&flash->thinker); + + flash->sector = sector; + flash->darktime = fastOrSlow; + flash->brighttime = STROBEBRIGHT; + flash->thinker.function.acp1 = (actionf_p1) T_StrobeFlash; + flash->maxlight = sector->lightlevel; + flash->minlight = P_FindMinSurroundingLight(sector, sector->lightlevel); + + if (flash->minlight == flash->maxlight) + flash->minlight = 0; + + // nothing special about it during gameplay + sector->special = 0; + + if (!inSync) + flash->count = (P_Random()&7)+1; + else + flash->count = 1; +} + + +// +// Start strobing lights (usually from a trigger) +// +void EV_StartLightStrobing(line_t* line) +{ + int secnum; + sector_t* sec; + + secnum = -1; + while ((secnum = P_FindSectorFromLineTag(line,secnum)) >= 0) + { + sec = §ors[secnum]; + if (sec->specialdata) + continue; + + P_SpawnStrobeFlash (sec,SLOWDARK, 0); + } +} + + + +// +// TURN LINE'S TAG LIGHTS OFF +// +void EV_TurnTagLightsOff(line_t* line) +{ + int i; + int j; + int min; + sector_t* sector; + sector_t* tsec; + line_t* templine; + + sector = sectors; + + for (j = 0;j < numsectors; j++, sector++) + { + if (sector->tag == line->tag) + { + min = sector->lightlevel; + for (i = 0;i < sector->linecount; i++) + { + templine = sector->lines[i]; + tsec = getNextSector(templine,sector); + if (!tsec) + continue; + if (tsec->lightlevel < min) + min = tsec->lightlevel; + } + sector->lightlevel = min; + } + } +} + + +// +// TURN LINE'S TAG LIGHTS ON +// +void +EV_LightTurnOn +( line_t* line, + int bright ) +{ + int i; + int j; + sector_t* sector; + sector_t* temp; + line_t* templine; + + sector = sectors; + + for (i=0;itag == line->tag) + { + // bright = 0 means to search + // for highest light level + // surrounding sector + if (!bright) + { + for (j = 0;j < sector->linecount; j++) + { + templine = sector->lines[j]; + temp = getNextSector(templine,sector); + + if (!temp) + continue; + + if (temp->lightlevel > bright) + bright = temp->lightlevel; + } + } + sector-> lightlevel = bright; + } + } +} + + +// +// Spawn glowing light +// + +void T_Glow(glow_t* g) +{ + switch(g->direction) + { + case -1: + // DOWN + g->sector->lightlevel -= GLOWSPEED; + if (g->sector->lightlevel <= g->minlight) + { + g->sector->lightlevel += GLOWSPEED; + g->direction = 1; + } + break; + + case 1: + // UP + g->sector->lightlevel += GLOWSPEED; + if (g->sector->lightlevel >= g->maxlight) + { + g->sector->lightlevel -= GLOWSPEED; + g->direction = -1; + } + break; + } +} + + +void P_SpawnGlowingLight(sector_t* sector) +{ + glow_t* g; + + g = Z_Malloc( sizeof(*g), PU_LEVSPEC, 0); + + P_AddThinker(&g->thinker); + + g->sector = sector; + g->minlight = P_FindMinSurroundingLight(sector,sector->lightlevel); + g->maxlight = sector->lightlevel; + g->thinker.function.acp1 = (actionf_p1) T_Glow; + g->direction = -1; + + sector->special = 0; +} + diff --git a/src/kernel/userland/doom/p_local.h b/src/kernel/userland/doom/p_local.h new file mode 100644 index 0000000..95fa405 --- /dev/null +++ b/src/kernel/userland/doom/p_local.h @@ -0,0 +1,297 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Play functions, animation, global header. +// + + +#ifndef __P_LOCAL__ +#define __P_LOCAL__ + +#ifndef __R_LOCAL__ +#include "r_local.h" +#endif + +#define FLOATSPEED (FRACUNIT*4) + + +#define MAXHEALTH 100 +#define VIEWHEIGHT (41*FRACUNIT) + +// mapblocks are used to check movement +// against lines and things +#define MAPBLOCKUNITS 128 +#define MAPBLOCKSIZE (MAPBLOCKUNITS*FRACUNIT) +#define MAPBLOCKSHIFT (FRACBITS+7) +#define MAPBMASK (MAPBLOCKSIZE-1) +#define MAPBTOFRAC (MAPBLOCKSHIFT-FRACBITS) + + +// player radius for movement checking +#define PLAYERRADIUS 16*FRACUNIT + +// MAXRADIUS is for precalculated sector block boxes +// the spider demon is larger, +// but we do not have any moving sectors nearby +#define MAXRADIUS 32*FRACUNIT + +#define GRAVITY FRACUNIT +#define MAXMOVE (30*FRACUNIT) + +#define USERANGE (64*FRACUNIT) +#define MELEERANGE (64*FRACUNIT) +#define MISSILERANGE (32*64*FRACUNIT) + +// follow a player exlusively for 3 seconds +#define BASETHRESHOLD 100 + + + +// +// P_TICK +// + +// both the head and tail of the thinker list +extern thinker_t thinkercap; + + +void P_InitThinkers (void); +void P_AddThinker (thinker_t* thinker); +void P_RemoveThinker (thinker_t* thinker); + + +// +// P_PSPR +// +void P_SetupPsprites (player_t* curplayer); +void P_MovePsprites (player_t* curplayer); +void P_DropWeapon (player_t* player); + + +// +// P_USER +// +void P_PlayerThink (player_t* player); + + +// +// P_MOBJ +// +#define ONFLOORZ INT_MIN +#define ONCEILINGZ INT_MAX + +// Time interval for item respawning. +#define ITEMQUESIZE 128 + +extern mapthing_t itemrespawnque[ITEMQUESIZE]; +extern int itemrespawntime[ITEMQUESIZE]; +extern int iquehead; +extern int iquetail; + + +void P_RespawnSpecials (void); + +mobj_t* +P_SpawnMobj +( fixed_t x, + fixed_t y, + fixed_t z, + mobjtype_t type ); + +void P_RemoveMobj (mobj_t* th); +mobj_t* P_SubstNullMobj (mobj_t* th); +boolean P_SetMobjState (mobj_t* mobj, statenum_t state); +void P_MobjThinker (mobj_t* mobj); + +void P_SpawnPuff (fixed_t x, fixed_t y, fixed_t z); +void P_SpawnBlood (fixed_t x, fixed_t y, fixed_t z, int damage); +mobj_t* P_SpawnMissile (mobj_t* source, mobj_t* dest, mobjtype_t type); +void P_SpawnPlayerMissile (mobj_t* source, mobjtype_t type); + + +// +// P_ENEMY +// +void P_NoiseAlert (mobj_t* target, mobj_t* emmiter); + + +// +// P_MAPUTL +// +typedef struct +{ + fixed_t x; + fixed_t y; + fixed_t dx; + fixed_t dy; + +} divline_t; + +typedef struct +{ + fixed_t frac; // along trace line + boolean isaline; + union { + mobj_t* thing; + line_t* line; + } d; +} intercept_t; + +// Extended MAXINTERCEPTS, to allow for intercepts overrun emulation. + +#define MAXINTERCEPTS_ORIGINAL 128 +#define MAXINTERCEPTS (MAXINTERCEPTS_ORIGINAL + 61) + +extern intercept_t intercepts[MAXINTERCEPTS]; +extern intercept_t* intercept_p; + +typedef boolean (*traverser_t) (intercept_t *in); + +fixed_t P_AproxDistance (fixed_t dx, fixed_t dy); +int P_PointOnLineSide (fixed_t x, fixed_t y, line_t* line); +int P_PointOnDivlineSide (fixed_t x, fixed_t y, divline_t* line); +void P_MakeDivline (line_t* li, divline_t* dl); +fixed_t P_InterceptVector (divline_t* v2, divline_t* v1); +int P_BoxOnLineSide (fixed_t* tmbox, line_t* ld); + +extern fixed_t opentop; +extern fixed_t openbottom; +extern fixed_t openrange; +extern fixed_t lowfloor; + +void P_LineOpening (line_t* linedef); + +boolean P_BlockLinesIterator (int x, int y, boolean(*func)(line_t*) ); +boolean P_BlockThingsIterator (int x, int y, boolean(*func)(mobj_t*) ); + +#define PT_ADDLINES 1 +#define PT_ADDTHINGS 2 +#define PT_EARLYOUT 4 + +extern divline_t trace; + +boolean +P_PathTraverse +( fixed_t x1, + fixed_t y1, + fixed_t x2, + fixed_t y2, + int flags, + boolean (*trav) (intercept_t *)); + +void P_UnsetThingPosition (mobj_t* thing); +void P_SetThingPosition (mobj_t* thing); + + +// +// P_MAP +// + +// If "floatok" true, move would be ok +// if within "tmfloorz - tmceilingz". +extern boolean floatok; +extern fixed_t tmfloorz; +extern fixed_t tmceilingz; + + +extern line_t* ceilingline; + +// fraggle: I have increased the size of this buffer. In the original Doom, +// overrunning past this limit caused other bits of memory to be overwritten, +// affecting demo playback. However, in doing so, the limit was still +// exceeded. So we have to support more than 8 specials. +// +// We keep the original limit, to detect what variables in memory were +// overwritten (see SpechitOverrun()) + +#define MAXSPECIALCROSS 20 +#define MAXSPECIALCROSS_ORIGINAL 8 + +extern line_t* spechit[MAXSPECIALCROSS]; +extern int numspechit; + +boolean P_CheckPosition (mobj_t *thing, fixed_t x, fixed_t y); +boolean P_TryMove (mobj_t* thing, fixed_t x, fixed_t y); +boolean P_TeleportMove (mobj_t* thing, fixed_t x, fixed_t y); +void P_SlideMove (mobj_t* mo); +boolean P_CheckSight (mobj_t* t1, mobj_t* t2); +void P_UseLines (player_t* player); + +boolean P_ChangeSector (sector_t* sector, boolean crunch); + +extern mobj_t* linetarget; // who got hit (or NULL) + +fixed_t +P_AimLineAttack +( mobj_t* t1, + angle_t angle, + fixed_t distance ); + +void +P_LineAttack +( mobj_t* t1, + angle_t angle, + fixed_t distance, + fixed_t slope, + int damage ); + +void +P_RadiusAttack +( mobj_t* spot, + mobj_t* source, + int damage ); + + + +// +// P_SETUP +// +extern byte* rejectmatrix; // for fast sight rejection +extern short* blockmaplump; // offsets in blockmap are from here +extern short* blockmap; +extern int bmapwidth; +extern int bmapheight; // in mapblocks +extern fixed_t bmaporgx; +extern fixed_t bmaporgy; // origin of block map +extern mobj_t** blocklinks; // for thing chains + + + +// +// P_INTER +// +extern int maxammo[NUMAMMO]; +extern int clipammo[NUMAMMO]; + +void +P_TouchSpecialThing +( mobj_t* special, + mobj_t* toucher ); + +void +P_DamageMobj +( mobj_t* target, + mobj_t* inflictor, + mobj_t* source, + int damage ); + + +// +// P_SPEC +// +#include "p_spec.h" + + +#endif // __P_LOCAL__ diff --git a/src/kernel/userland/doom/p_map.c b/src/kernel/userland/doom/p_map.c new file mode 100644 index 0000000..e371869 --- /dev/null +++ b/src/kernel/userland/doom/p_map.c @@ -0,0 +1,1448 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard, Andrey Budko +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Movement, collision handling. +// Shooting and aiming. +// + +#include +#include + +#include "deh_misc.h" + +#include "m_bbox.h" +#include "m_random.h" +#include "i_system.h" + +#include "doomdef.h" +#include "m_argv.h" +#include "m_misc.h" +#include "p_local.h" + +#include "s_sound.h" + +// State. +#include "doomstat.h" +#include "r_state.h" +// Data. +#include "sounds.h" + +// Spechit overrun magic value. +// +// This is the value used by PrBoom-plus. I think the value below is +// actually better and works with more demos. However, I think +// it's better for the spechits emulation to be compatible with +// PrBoom-plus, at least so that the big spechits emulation list +// on Doomworld can also be used with Chocolate Doom. + +#define DEFAULT_SPECHIT_MAGIC 0x01C09C98 + +// This is from a post by myk on the Doomworld forums, +// outputted from entryway's spechit_magic generator for +// s205n546.lmp. The _exact_ value of this isn't too +// important; as long as it is in the right general +// range, it will usually work. Otherwise, we can use +// the generator (hacked doom2.exe) and provide it +// with -spechit. + +//#define DEFAULT_SPECHIT_MAGIC 0x84f968e8 + + +fixed_t tmbbox[4]; +mobj_t* tmthing; +int tmflags; +fixed_t tmx; +fixed_t tmy; + + +// If "floatok" true, move would be ok +// if within "tmfloorz - tmceilingz". +boolean floatok; + +fixed_t tmfloorz; +fixed_t tmceilingz; +fixed_t tmdropoffz; + +// keep track of the line that lowers the ceiling, +// so missiles don't explode against sky hack walls +line_t* ceilingline; + +// keep track of special lines as they are hit, +// but don't process them until the move is proven valid + +line_t* spechit[MAXSPECIALCROSS]; +int numspechit; + + + +// +// TELEPORT MOVE +// + +// +// PIT_StompThing +// +boolean PIT_StompThing (mobj_t* thing) +{ + fixed_t blockdist; + + if (!(thing->flags & MF_SHOOTABLE) ) + return true; + + blockdist = thing->radius + tmthing->radius; + + if ( abs(thing->x - tmx) >= blockdist + || abs(thing->y - tmy) >= blockdist ) + { + // didn't hit it + return true; + } + + // don't clip against self + if (thing == tmthing) + return true; + + // monsters don't stomp things except on boss level + if ( !tmthing->player && gamemap != 30) + return false; + + P_DamageMobj (thing, tmthing, tmthing, 10000); + + return true; +} + + +// +// P_TeleportMove +// +boolean +P_TeleportMove +( mobj_t* thing, + fixed_t x, + fixed_t y ) +{ + int xl; + int xh; + int yl; + int yh; + int bx; + int by; + + subsector_t* newsubsec; + + // kill anything occupying the position + tmthing = thing; + tmflags = thing->flags; + + tmx = x; + tmy = y; + + tmbbox[BOXTOP] = y + tmthing->radius; + tmbbox[BOXBOTTOM] = y - tmthing->radius; + tmbbox[BOXRIGHT] = x + tmthing->radius; + tmbbox[BOXLEFT] = x - tmthing->radius; + + newsubsec = R_PointInSubsector (x,y); + ceilingline = NULL; + + // The base floor/ceiling is from the subsector + // that contains the point. + // Any contacted lines the step closer together + // will adjust them. + tmfloorz = tmdropoffz = newsubsec->sector->floorheight; + tmceilingz = newsubsec->sector->ceilingheight; + + validcount++; + numspechit = 0; + + // stomp on any things contacted + xl = (tmbbox[BOXLEFT] - bmaporgx - MAXRADIUS)>>MAPBLOCKSHIFT; + xh = (tmbbox[BOXRIGHT] - bmaporgx + MAXRADIUS)>>MAPBLOCKSHIFT; + yl = (tmbbox[BOXBOTTOM] - bmaporgy - MAXRADIUS)>>MAPBLOCKSHIFT; + yh = (tmbbox[BOXTOP] - bmaporgy + MAXRADIUS)>>MAPBLOCKSHIFT; + + for (bx=xl ; bx<=xh ; bx++) + for (by=yl ; by<=yh ; by++) + if (!P_BlockThingsIterator(bx,by,PIT_StompThing)) + return false; + + // the move is ok, + // so link the thing into its new position + P_UnsetThingPosition (thing); + + thing->floorz = tmfloorz; + thing->ceilingz = tmceilingz; + thing->x = x; + thing->y = y; + + P_SetThingPosition (thing); + + return true; +} + + +// +// MOVEMENT ITERATOR FUNCTIONS +// + +static void SpechitOverrun(line_t *ld); + +// +// PIT_CheckLine +// Adjusts tmfloorz and tmceilingz as lines are contacted +// +boolean PIT_CheckLine (line_t* ld) +{ + if (tmbbox[BOXRIGHT] <= ld->bbox[BOXLEFT] + || tmbbox[BOXLEFT] >= ld->bbox[BOXRIGHT] + || tmbbox[BOXTOP] <= ld->bbox[BOXBOTTOM] + || tmbbox[BOXBOTTOM] >= ld->bbox[BOXTOP] ) + return true; + + if (P_BoxOnLineSide (tmbbox, ld) != -1) + return true; + + // A line has been hit + + // The moving thing's destination position will cross + // the given line. + // If this should not be allowed, return false. + // If the line is special, keep track of it + // to process later if the move is proven ok. + // NOTE: specials are NOT sorted by order, + // so two special lines that are only 8 pixels apart + // could be crossed in either order. + + if (!ld->backsector) + return false; // one sided line + + if (!(tmthing->flags & MF_MISSILE) ) + { + if ( ld->flags & ML_BLOCKING ) + return false; // explicitly blocking everything + + if ( !tmthing->player && ld->flags & ML_BLOCKMONSTERS ) + return false; // block monsters only + } + + // set openrange, opentop, openbottom + P_LineOpening (ld); + + // adjust floor / ceiling heights + if (opentop < tmceilingz) + { + tmceilingz = opentop; + ceilingline = ld; + } + + if (openbottom > tmfloorz) + tmfloorz = openbottom; + + if (lowfloor < tmdropoffz) + tmdropoffz = lowfloor; + + // if contacted a special line, add it to the list + if (ld->special) + { + spechit[numspechit] = ld; + numspechit++; + + // fraggle: spechits overrun emulation code from prboom-plus + if (numspechit > MAXSPECIALCROSS_ORIGINAL) + { + SpechitOverrun(ld); + } + } + + return true; +} + +// +// PIT_CheckThing +// +boolean PIT_CheckThing (mobj_t* thing) +{ + fixed_t blockdist; + boolean solid; + int damage; + + if (!(thing->flags & (MF_SOLID|MF_SPECIAL|MF_SHOOTABLE) )) + return true; + + blockdist = thing->radius + tmthing->radius; + + if ( abs(thing->x - tmx) >= blockdist + || abs(thing->y - tmy) >= blockdist ) + { + // didn't hit it + return true; + } + + // don't clip against self + if (thing == tmthing) + return true; + + // check for skulls slamming into things + if (tmthing->flags & MF_SKULLFLY) + { + damage = ((P_Random()%8)+1)*tmthing->info->damage; + + P_DamageMobj (thing, tmthing, tmthing, damage); + + tmthing->flags &= ~MF_SKULLFLY; + tmthing->momx = tmthing->momy = tmthing->momz = 0; + + P_SetMobjState (tmthing, tmthing->info->spawnstate); + + return false; // stop moving + } + + + // missiles can hit other things + if (tmthing->flags & MF_MISSILE) + { + // see if it went over / under + if (tmthing->z > thing->z + thing->height) + return true; // overhead + if (tmthing->z+tmthing->height < thing->z) + return true; // underneath + + if (tmthing->target + && (tmthing->target->type == thing->type || + (tmthing->target->type == MT_KNIGHT && thing->type == MT_BRUISER)|| + (tmthing->target->type == MT_BRUISER && thing->type == MT_KNIGHT) ) ) + { + // Don't hit same species as originator. + if (thing == tmthing->target) + return true; + + // sdh: Add deh_species_infighting here. We can override the + // "monsters of the same species cant hurt each other" behavior + // through dehacked patches + + if (thing->type != MT_PLAYER && !deh_species_infighting) + { + // Explode, but do no damage. + // Let players missile other players. + return false; + } + } + + if (! (thing->flags & MF_SHOOTABLE) ) + { + // didn't do any damage + return !(thing->flags & MF_SOLID); + } + + // damage / explode + damage = ((P_Random()%8)+1)*tmthing->info->damage; + P_DamageMobj (thing, tmthing, tmthing->target, damage); + + // don't traverse any more + return false; + } + + // check for special pickup + if (thing->flags & MF_SPECIAL) + { + solid = thing->flags&MF_SOLID; + if (tmflags&MF_PICKUP) + { + // can remove thing + P_TouchSpecialThing (thing, tmthing); + } + return !solid; + } + + return !(thing->flags & MF_SOLID); +} + + +// +// MOVEMENT CLIPPING +// + +// +// P_CheckPosition +// This is purely informative, nothing is modified +// (except things picked up). +// +// in: +// a mobj_t (can be valid or invalid) +// a position to be checked +// (doesn't need to be related to the mobj_t->x,y) +// +// during: +// special things are touched if MF_PICKUP +// early out on solid lines? +// +// out: +// newsubsec +// floorz +// ceilingz +// tmdropoffz +// the lowest point contacted +// (monsters won't move to a dropoff) +// speciallines[] +// numspeciallines +// +boolean +P_CheckPosition +( mobj_t* thing, + fixed_t x, + fixed_t y ) +{ + int xl; + int xh; + int yl; + int yh; + int bx; + int by; + subsector_t* newsubsec; + + tmthing = thing; + tmflags = thing->flags; + + tmx = x; + tmy = y; + + tmbbox[BOXTOP] = y + tmthing->radius; + tmbbox[BOXBOTTOM] = y - tmthing->radius; + tmbbox[BOXRIGHT] = x + tmthing->radius; + tmbbox[BOXLEFT] = x - tmthing->radius; + + newsubsec = R_PointInSubsector (x,y); + ceilingline = NULL; + + // The base floor / ceiling is from the subsector + // that contains the point. + // Any contacted lines the step closer together + // will adjust them. + tmfloorz = tmdropoffz = newsubsec->sector->floorheight; + tmceilingz = newsubsec->sector->ceilingheight; + + validcount++; + numspechit = 0; + + if ( tmflags & MF_NOCLIP ) + return true; + + // Check things first, possibly picking things up. + // The bounding box is extended by MAXRADIUS + // because mobj_ts are grouped into mapblocks + // based on their origin point, and can overlap + // into adjacent blocks by up to MAXRADIUS units. + xl = (tmbbox[BOXLEFT] - bmaporgx - MAXRADIUS)>>MAPBLOCKSHIFT; + xh = (tmbbox[BOXRIGHT] - bmaporgx + MAXRADIUS)>>MAPBLOCKSHIFT; + yl = (tmbbox[BOXBOTTOM] - bmaporgy - MAXRADIUS)>>MAPBLOCKSHIFT; + yh = (tmbbox[BOXTOP] - bmaporgy + MAXRADIUS)>>MAPBLOCKSHIFT; + + for (bx=xl ; bx<=xh ; bx++) + for (by=yl ; by<=yh ; by++) + if (!P_BlockThingsIterator(bx,by,PIT_CheckThing)) + return false; + + // check lines + xl = (tmbbox[BOXLEFT] - bmaporgx)>>MAPBLOCKSHIFT; + xh = (tmbbox[BOXRIGHT] - bmaporgx)>>MAPBLOCKSHIFT; + yl = (tmbbox[BOXBOTTOM] - bmaporgy)>>MAPBLOCKSHIFT; + yh = (tmbbox[BOXTOP] - bmaporgy)>>MAPBLOCKSHIFT; + + for (bx=xl ; bx<=xh ; bx++) + for (by=yl ; by<=yh ; by++) + if (!P_BlockLinesIterator (bx,by,PIT_CheckLine)) + return false; + + return true; +} + + +// +// P_TryMove +// Attempt to move to a new position, +// crossing special lines unless MF_TELEPORT is set. +// +boolean +P_TryMove +( mobj_t* thing, + fixed_t x, + fixed_t y ) +{ + fixed_t oldx; + fixed_t oldy; + int side; + int oldside; + line_t* ld; + + floatok = false; + if (!P_CheckPosition (thing, x, y)) + return false; // solid wall or thing + + if ( !(thing->flags & MF_NOCLIP) ) + { + if (tmceilingz - tmfloorz < thing->height) + return false; // doesn't fit + + floatok = true; + + if ( !(thing->flags&MF_TELEPORT) + &&tmceilingz - thing->z < thing->height) + return false; // mobj must lower itself to fit + + if ( !(thing->flags&MF_TELEPORT) + && tmfloorz - thing->z > 24*FRACUNIT ) + return false; // too big a step up + + if ( !(thing->flags&(MF_DROPOFF|MF_FLOAT)) + && tmfloorz - tmdropoffz > 24*FRACUNIT ) + return false; // don't stand over a dropoff + } + + // the move is ok, + // so link the thing into its new position + P_UnsetThingPosition (thing); + + oldx = thing->x; + oldy = thing->y; + thing->floorz = tmfloorz; + thing->ceilingz = tmceilingz; + thing->x = x; + thing->y = y; + + P_SetThingPosition (thing); + + // if any special lines were hit, do the effect + if (! (thing->flags&(MF_TELEPORT|MF_NOCLIP)) ) + { + while (numspechit--) + { + // see if the line was crossed + ld = spechit[numspechit]; + side = P_PointOnLineSide (thing->x, thing->y, ld); + oldside = P_PointOnLineSide (oldx, oldy, ld); + if (side != oldside) + { + if (ld->special) + P_CrossSpecialLine (ld-lines, oldside, thing); + } + } + } + + return true; +} + + +// +// P_ThingHeightClip +// Takes a valid thing and adjusts the thing->floorz, +// thing->ceilingz, and possibly thing->z. +// This is called for all nearby monsters +// whenever a sector changes height. +// If the thing doesn't fit, +// the z will be set to the lowest value +// and false will be returned. +// +boolean P_ThingHeightClip (mobj_t* thing) +{ + boolean onfloor; + + onfloor = (thing->z == thing->floorz); + + P_CheckPosition (thing, thing->x, thing->y); + // what about stranding a monster partially off an edge? + + thing->floorz = tmfloorz; + thing->ceilingz = tmceilingz; + + if (onfloor) + { + // walking monsters rise and fall with the floor + thing->z = thing->floorz; + } + else + { + // don't adjust a floating monster unless forced to + if (thing->z+thing->height > thing->ceilingz) + thing->z = thing->ceilingz - thing->height; + } + + if (thing->ceilingz - thing->floorz < thing->height) + return false; + + return true; +} + + + +// +// SLIDE MOVE +// Allows the player to slide along any angled walls. +// +fixed_t bestslidefrac; +fixed_t secondslidefrac; + +line_t* bestslideline; +line_t* secondslideline; + +mobj_t* slidemo; + +fixed_t tmxmove; +fixed_t tmymove; + + + +// +// P_HitSlideLine +// Adjusts the xmove / ymove +// so that the next move will slide along the wall. +// +void P_HitSlideLine (line_t* ld) +{ + int side; + + angle_t lineangle; + angle_t moveangle; + angle_t deltaangle; + + fixed_t movelen; + fixed_t newlen; + + + if (ld->slopetype == ST_HORIZONTAL) + { + tmymove = 0; + return; + } + + if (ld->slopetype == ST_VERTICAL) + { + tmxmove = 0; + return; + } + + side = P_PointOnLineSide (slidemo->x, slidemo->y, ld); + + lineangle = R_PointToAngle2 (0,0, ld->dx, ld->dy); + + if (side == 1) + lineangle += ANG180; + + moveangle = R_PointToAngle2 (0,0, tmxmove, tmymove); + deltaangle = moveangle-lineangle; + + if (deltaangle > ANG180) + deltaangle += ANG180; + // I_Error ("SlideLine: ang>ANG180"); + + lineangle >>= ANGLETOFINESHIFT; + deltaangle >>= ANGLETOFINESHIFT; + + movelen = P_AproxDistance (tmxmove, tmymove); + newlen = FixedMul (movelen, finecosine[deltaangle]); + + tmxmove = FixedMul (newlen, finecosine[lineangle]); + tmymove = FixedMul (newlen, finesine[lineangle]); +} + + +// +// PTR_SlideTraverse +// +boolean PTR_SlideTraverse (intercept_t* in) +{ + line_t* li; + + if (!in->isaline) + I_Error ("PTR_SlideTraverse: not a line?"); + + li = in->d.line; + + if ( ! (li->flags & ML_TWOSIDED) ) + { + if (P_PointOnLineSide (slidemo->x, slidemo->y, li)) + { + // don't hit the back side + return true; + } + goto isblocking; + } + + // set openrange, opentop, openbottom + P_LineOpening (li); + + if (openrange < slidemo->height) + goto isblocking; // doesn't fit + + if (opentop - slidemo->z < slidemo->height) + goto isblocking; // mobj is too high + + if (openbottom - slidemo->z > 24*FRACUNIT ) + goto isblocking; // too big a step up + + // this line doesn't block movement + return true; + + // the line does block movement, + // see if it is closer than best so far + isblocking: + if (in->frac < bestslidefrac) + { + secondslidefrac = bestslidefrac; + secondslideline = bestslideline; + bestslidefrac = in->frac; + bestslideline = li; + } + + return false; // stop +} + + + +// +// P_SlideMove +// The momx / momy move is bad, so try to slide +// along a wall. +// Find the first line hit, move flush to it, +// and slide along it +// +// This is a kludgy mess. +// +void P_SlideMove (mobj_t* mo) +{ + fixed_t leadx; + fixed_t leady; + fixed_t trailx; + fixed_t traily; + fixed_t newx; + fixed_t newy; + int hitcount; + + slidemo = mo; + hitcount = 0; + + retry: + if (++hitcount == 3) + goto stairstep; // don't loop forever + + + // trace along the three leading corners + if (mo->momx > 0) + { + leadx = mo->x + mo->radius; + trailx = mo->x - mo->radius; + } + else + { + leadx = mo->x - mo->radius; + trailx = mo->x + mo->radius; + } + + if (mo->momy > 0) + { + leady = mo->y + mo->radius; + traily = mo->y - mo->radius; + } + else + { + leady = mo->y - mo->radius; + traily = mo->y + mo->radius; + } + + bestslidefrac = FRACUNIT+1; + + P_PathTraverse ( leadx, leady, leadx+mo->momx, leady+mo->momy, + PT_ADDLINES, PTR_SlideTraverse ); + P_PathTraverse ( trailx, leady, trailx+mo->momx, leady+mo->momy, + PT_ADDLINES, PTR_SlideTraverse ); + P_PathTraverse ( leadx, traily, leadx+mo->momx, traily+mo->momy, + PT_ADDLINES, PTR_SlideTraverse ); + + // move up to the wall + if (bestslidefrac == FRACUNIT+1) + { + // the move most have hit the middle, so stairstep + stairstep: + if (!P_TryMove (mo, mo->x, mo->y + mo->momy)) + P_TryMove (mo, mo->x + mo->momx, mo->y); + return; + } + + // fudge a bit to make sure it doesn't hit + bestslidefrac -= 0x800; + if (bestslidefrac > 0) + { + newx = FixedMul (mo->momx, bestslidefrac); + newy = FixedMul (mo->momy, bestslidefrac); + + if (!P_TryMove (mo, mo->x+newx, mo->y+newy)) + goto stairstep; + } + + // Now continue along the wall. + // First calculate remainder. + bestslidefrac = FRACUNIT-(bestslidefrac+0x800); + + if (bestslidefrac > FRACUNIT) + bestslidefrac = FRACUNIT; + + if (bestslidefrac <= 0) + return; + + tmxmove = FixedMul (mo->momx, bestslidefrac); + tmymove = FixedMul (mo->momy, bestslidefrac); + + P_HitSlideLine (bestslideline); // clip the moves + + mo->momx = tmxmove; + mo->momy = tmymove; + + if (!P_TryMove (mo, mo->x+tmxmove, mo->y+tmymove)) + { + goto retry; + } +} + + +// +// P_LineAttack +// +mobj_t* linetarget; // who got hit (or NULL) +mobj_t* shootthing; + +// Height if not aiming up or down +// ???: use slope for monsters? +fixed_t shootz; + +int la_damage; +fixed_t attackrange; + +fixed_t aimslope; + +// slopes to top and bottom of target +extern fixed_t topslope; +extern fixed_t bottomslope; + + +// +// PTR_AimTraverse +// Sets linetaget and aimslope when a target is aimed at. +// +boolean +PTR_AimTraverse (intercept_t* in) +{ + line_t* li; + mobj_t* th; + fixed_t slope; + fixed_t thingtopslope; + fixed_t thingbottomslope; + fixed_t dist; + + if (in->isaline) + { + li = in->d.line; + + if ( !(li->flags & ML_TWOSIDED) ) + return false; // stop + + // Crosses a two sided line. + // A two sided line will restrict + // the possible target ranges. + P_LineOpening (li); + + if (openbottom >= opentop) + return false; // stop + + dist = FixedMul (attackrange, in->frac); + + if (li->backsector == NULL + || li->frontsector->floorheight != li->backsector->floorheight) + { + slope = FixedDiv (openbottom - shootz , dist); + if (slope > bottomslope) + bottomslope = slope; + } + + if (li->backsector == NULL + || li->frontsector->ceilingheight != li->backsector->ceilingheight) + { + slope = FixedDiv (opentop - shootz , dist); + if (slope < topslope) + topslope = slope; + } + + if (topslope <= bottomslope) + return false; // stop + + return true; // shot continues + } + + // shoot a thing + th = in->d.thing; + if (th == shootthing) + return true; // can't shoot self + + if (!(th->flags&MF_SHOOTABLE)) + return true; // corpse or something + + // check angles to see if the thing can be aimed at + dist = FixedMul (attackrange, in->frac); + thingtopslope = FixedDiv (th->z+th->height - shootz , dist); + + if (thingtopslope < bottomslope) + return true; // shot over the thing + + thingbottomslope = FixedDiv (th->z - shootz, dist); + + if (thingbottomslope > topslope) + return true; // shot under the thing + + // this thing can be hit! + if (thingtopslope > topslope) + thingtopslope = topslope; + + if (thingbottomslope < bottomslope) + thingbottomslope = bottomslope; + + aimslope = (thingtopslope+thingbottomslope)/2; + linetarget = th; + + return false; // don't go any farther +} + + +// +// PTR_ShootTraverse +// +boolean PTR_ShootTraverse (intercept_t* in) +{ + fixed_t x; + fixed_t y; + fixed_t z; + fixed_t frac; + + line_t* li; + + mobj_t* th; + + fixed_t slope; + fixed_t dist; + fixed_t thingtopslope; + fixed_t thingbottomslope; + + if (in->isaline) + { + li = in->d.line; + + if (li->special) + P_ShootSpecialLine (shootthing, li); + + if ( !(li->flags & ML_TWOSIDED) ) + goto hitline; + + // crosses a two sided line + P_LineOpening (li); + + dist = FixedMul (attackrange, in->frac); + + // e6y: emulation of missed back side on two-sided lines. + // backsector can be NULL when emulating missing back side. + + if (li->backsector == NULL) + { + slope = FixedDiv (openbottom - shootz , dist); + if (slope > aimslope) + goto hitline; + + slope = FixedDiv (opentop - shootz , dist); + if (slope < aimslope) + goto hitline; + } + else + { + if (li->frontsector->floorheight != li->backsector->floorheight) + { + slope = FixedDiv (openbottom - shootz , dist); + if (slope > aimslope) + goto hitline; + } + + if (li->frontsector->ceilingheight != li->backsector->ceilingheight) + { + slope = FixedDiv (opentop - shootz , dist); + if (slope < aimslope) + goto hitline; + } + } + + // shot continues + return true; + + + // hit line + hitline: + // position a bit closer + frac = in->frac - FixedDiv (4*FRACUNIT,attackrange); + x = trace.x + FixedMul (trace.dx, frac); + y = trace.y + FixedMul (trace.dy, frac); + z = shootz + FixedMul (aimslope, FixedMul(frac, attackrange)); + + if (li->frontsector->ceilingpic == skyflatnum) + { + // don't shoot the sky! + if (z > li->frontsector->ceilingheight) + return false; + + // it's a sky hack wall + if (li->backsector && li->backsector->ceilingpic == skyflatnum) + return false; + } + + // Spawn bullet puffs. + P_SpawnPuff (x,y,z); + + // don't go any farther + return false; + } + + // shoot a thing + th = in->d.thing; + if (th == shootthing) + return true; // can't shoot self + + if (!(th->flags&MF_SHOOTABLE)) + return true; // corpse or something + + // check angles to see if the thing can be aimed at + dist = FixedMul (attackrange, in->frac); + thingtopslope = FixedDiv (th->z+th->height - shootz , dist); + + if (thingtopslope < aimslope) + return true; // shot over the thing + + thingbottomslope = FixedDiv (th->z - shootz, dist); + + if (thingbottomslope > aimslope) + return true; // shot under the thing + + + // hit thing + // position a bit closer + frac = in->frac - FixedDiv (10*FRACUNIT,attackrange); + + x = trace.x + FixedMul (trace.dx, frac); + y = trace.y + FixedMul (trace.dy, frac); + z = shootz + FixedMul (aimslope, FixedMul(frac, attackrange)); + + // Spawn bullet puffs or blod spots, + // depending on target type. + if (in->d.thing->flags & MF_NOBLOOD) + P_SpawnPuff (x,y,z); + else + P_SpawnBlood (x,y,z, la_damage); + + if (la_damage) + P_DamageMobj (th, shootthing, shootthing, la_damage); + + // don't go any farther + return false; + +} + + +// +// P_AimLineAttack +// +fixed_t +P_AimLineAttack +( mobj_t* t1, + angle_t angle, + fixed_t distance ) +{ + fixed_t x2; + fixed_t y2; + + t1 = P_SubstNullMobj(t1); + + angle >>= ANGLETOFINESHIFT; + shootthing = t1; + + x2 = t1->x + (distance>>FRACBITS)*finecosine[angle]; + y2 = t1->y + (distance>>FRACBITS)*finesine[angle]; + shootz = t1->z + (t1->height>>1) + 8*FRACUNIT; + + // can't shoot outside view angles + topslope = 100*FRACUNIT/160; + bottomslope = -100*FRACUNIT/160; + + attackrange = distance; + linetarget = NULL; + + P_PathTraverse ( t1->x, t1->y, + x2, y2, + PT_ADDLINES|PT_ADDTHINGS, + PTR_AimTraverse ); + + if (linetarget) + return aimslope; + + return 0; +} + + +// +// P_LineAttack +// If damage == 0, it is just a test trace +// that will leave linetarget set. +// +void +P_LineAttack +( mobj_t* t1, + angle_t angle, + fixed_t distance, + fixed_t slope, + int damage ) +{ + fixed_t x2; + fixed_t y2; + + angle >>= ANGLETOFINESHIFT; + shootthing = t1; + la_damage = damage; + x2 = t1->x + (distance>>FRACBITS)*finecosine[angle]; + y2 = t1->y + (distance>>FRACBITS)*finesine[angle]; + shootz = t1->z + (t1->height>>1) + 8*FRACUNIT; + attackrange = distance; + aimslope = slope; + + P_PathTraverse ( t1->x, t1->y, + x2, y2, + PT_ADDLINES|PT_ADDTHINGS, + PTR_ShootTraverse ); +} + + + +// +// USE LINES +// +mobj_t* usething; + +boolean PTR_UseTraverse (intercept_t* in) +{ + int side; + + if (!in->d.line->special) + { + P_LineOpening (in->d.line); + if (openrange <= 0) + { + S_StartSound (usething, sfx_noway); + + // can't use through a wall + return false; + } + // not a special line, but keep checking + return true ; + } + + side = 0; + if (P_PointOnLineSide (usething->x, usething->y, in->d.line) == 1) + side = 1; + + // return false; // don't use back side + + P_UseSpecialLine (usething, in->d.line, side); + + // can't use for than one special line in a row + return false; +} + + +// +// P_UseLines +// Looks for special lines in front of the player to activate. +// +void P_UseLines (player_t* player) +{ + int angle; + fixed_t x1; + fixed_t y1; + fixed_t x2; + fixed_t y2; + + usething = player->mo; + + angle = player->mo->angle >> ANGLETOFINESHIFT; + + x1 = player->mo->x; + y1 = player->mo->y; + x2 = x1 + (USERANGE>>FRACBITS)*finecosine[angle]; + y2 = y1 + (USERANGE>>FRACBITS)*finesine[angle]; + + P_PathTraverse ( x1, y1, x2, y2, PT_ADDLINES, PTR_UseTraverse ); +} + + +// +// RADIUS ATTACK +// +mobj_t* bombsource; +mobj_t* bombspot; +int bombdamage; + + +// +// PIT_RadiusAttack +// "bombsource" is the creature +// that caused the explosion at "bombspot". +// +boolean PIT_RadiusAttack (mobj_t* thing) +{ + fixed_t dx; + fixed_t dy; + fixed_t dist; + + if (!(thing->flags & MF_SHOOTABLE) ) + return true; + + // Boss spider and cyborg + // take no damage from concussion. + if (thing->type == MT_CYBORG + || thing->type == MT_SPIDER) + return true; + + dx = abs(thing->x - bombspot->x); + dy = abs(thing->y - bombspot->y); + + dist = dx>dy ? dx : dy; + dist = (dist - thing->radius) >> FRACBITS; + + if (dist < 0) + dist = 0; + + if (dist >= bombdamage) + return true; // out of range + + if ( P_CheckSight (thing, bombspot) ) + { + // must be in direct path + P_DamageMobj (thing, bombspot, bombsource, bombdamage - dist); + } + + return true; +} + + +// +// P_RadiusAttack +// Source is the creature that caused the explosion at spot. +// +void +P_RadiusAttack +( mobj_t* spot, + mobj_t* source, + int damage ) +{ + int x; + int y; + + int xl; + int xh; + int yl; + int yh; + + fixed_t dist; + + dist = (damage+MAXRADIUS)<y + dist - bmaporgy)>>MAPBLOCKSHIFT; + yl = (spot->y - dist - bmaporgy)>>MAPBLOCKSHIFT; + xh = (spot->x + dist - bmaporgx)>>MAPBLOCKSHIFT; + xl = (spot->x - dist - bmaporgx)>>MAPBLOCKSHIFT; + bombspot = spot; + bombsource = source; + bombdamage = damage; + + for (y=yl ; y<=yh ; y++) + for (x=xl ; x<=xh ; x++) + P_BlockThingsIterator (x, y, PIT_RadiusAttack ); +} + + + +// +// SECTOR HEIGHT CHANGING +// After modifying a sectors floor or ceiling height, +// call this routine to adjust the positions +// of all things that touch the sector. +// +// If anything doesn't fit anymore, true will be returned. +// If crunch is true, they will take damage +// as they are being crushed. +// If Crunch is false, you should set the sector height back +// the way it was and call P_ChangeSector again +// to undo the changes. +// +boolean crushchange; +boolean nofit; + + +// +// PIT_ChangeSector +// +boolean PIT_ChangeSector (mobj_t* thing) +{ + mobj_t* mo; + + if (P_ThingHeightClip (thing)) + { + // keep checking + return true; + } + + + // crunch bodies to giblets + if (thing->health <= 0) + { + P_SetMobjState (thing, S_GIBS); + + thing->flags &= ~MF_SOLID; + thing->height = 0; + thing->radius = 0; + + // keep checking + return true; + } + + // crunch dropped items + if (thing->flags & MF_DROPPED) + { + P_RemoveMobj (thing); + + // keep checking + return true; + } + + if (! (thing->flags & MF_SHOOTABLE) ) + { + // assume it is bloody gibs or something + return true; + } + + nofit = true; + + if (crushchange && !(leveltime&3) ) + { + P_DamageMobj(thing,NULL,NULL,10); + + // spray blood in a random direction + mo = P_SpawnMobj (thing->x, + thing->y, + thing->z + thing->height/2, MT_BLOOD); + + mo->momx = (P_Random() - P_Random ())<<12; + mo->momy = (P_Random() - P_Random ())<<12; + } + + // keep checking (crush other things) + return true; +} + + + +// +// P_ChangeSector +// +boolean +P_ChangeSector +( sector_t* sector, + boolean crunch ) +{ + int x; + int y; + + nofit = false; + crushchange = crunch; + + // re-check heights for all things near the moving sector + for (x=sector->blockbox[BOXLEFT] ; x<= sector->blockbox[BOXRIGHT] ; x++) + for (y=sector->blockbox[BOXBOTTOM];y<= sector->blockbox[BOXTOP] ; y++) + P_BlockThingsIterator (x, y, PIT_ChangeSector); + + + return nofit; +} + +// Code to emulate the behavior of Vanilla Doom when encountering an overrun +// of the spechit array. This is by Andrey Budko (e6y) and comes from his +// PrBoom plus port. A big thanks to Andrey for this. + +static void SpechitOverrun(line_t *ld) +{ + static unsigned int baseaddr = 0; + unsigned int addr; + + if (baseaddr == 0) + { + int p; + + // This is the first time we have had an overrun. Work out + // what base address we are going to use. + // Allow a spechit value to be specified on the command line. + + //! + // @category compat + // @arg + // + // Use the specified magic value when emulating spechit overruns. + // + + p = M_CheckParmWithArgs("-spechit", 1); + + if (p > 0) + { + M_StrToInt(myargv[p+1], (int *) &baseaddr); + } + else + { + baseaddr = DEFAULT_SPECHIT_MAGIC; + } + } + + // Calculate address used in doom2.exe + + addr = baseaddr + (ld - lines) * 0x3E; + + switch(numspechit) + { + case 9: + case 10: + case 11: + case 12: + tmbbox[numspechit-9] = addr; + break; + case 13: + crushchange = addr; + break; + case 14: + nofit = addr; + break; + default: + fprintf(stderr, "SpechitOverrun: Warning: unable to emulate" + "an overrun where numspechit=%i\n", + numspechit); + break; + } +} + diff --git a/src/kernel/userland/doom/p_maputl.c b/src/kernel/userland/doom/p_maputl.c new file mode 100644 index 0000000..916f2b6 --- /dev/null +++ b/src/kernel/userland/doom/p_maputl.c @@ -0,0 +1,1001 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// Copyright(C) 2005, 2006 Andrey Budko +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Movement/collision utility functions, +// as used by function in p_map.c. +// BLOCKMAP Iterator functions, +// and some PIT_* functions to use for iteration. +// + + + +#include + + +#include "m_bbox.h" + +#include "doomdef.h" +#include "doomstat.h" +#include "p_local.h" + + +// State. +#include "r_state.h" + +// +// P_AproxDistance +// Gives an estimation of distance (not exact) +// + +fixed_t +P_AproxDistance +( fixed_t dx, + fixed_t dy ) +{ + dx = abs(dx); + dy = abs(dy); + if (dx < dy) + return dx+dy-(dx>>1); + return dx+dy-(dy>>1); +} + + +// +// P_PointOnLineSide +// Returns 0 or 1 +// +int +P_PointOnLineSide +( fixed_t x, + fixed_t y, + line_t* line ) +{ + fixed_t dx; + fixed_t dy; + fixed_t left; + fixed_t right; + + if (!line->dx) + { + if (x <= line->v1->x) + return line->dy > 0; + + return line->dy < 0; + } + if (!line->dy) + { + if (y <= line->v1->y) + return line->dx < 0; + + return line->dx > 0; + } + + dx = (x - line->v1->x); + dy = (y - line->v1->y); + + left = FixedMul ( line->dy>>FRACBITS , dx ); + right = FixedMul ( dy , line->dx>>FRACBITS ); + + if (right < left) + return 0; // front side + return 1; // back side +} + + + +// +// P_BoxOnLineSide +// Considers the line to be infinite +// Returns side 0 or 1, -1 if box crosses the line. +// +int +P_BoxOnLineSide +( fixed_t* tmbox, + line_t* ld ) +{ + int p1 = 0; + int p2 = 0; + + switch (ld->slopetype) + { + case ST_HORIZONTAL: + p1 = tmbox[BOXTOP] > ld->v1->y; + p2 = tmbox[BOXBOTTOM] > ld->v1->y; + if (ld->dx < 0) + { + p1 ^= 1; + p2 ^= 1; + } + break; + + case ST_VERTICAL: + p1 = tmbox[BOXRIGHT] < ld->v1->x; + p2 = tmbox[BOXLEFT] < ld->v1->x; + if (ld->dy < 0) + { + p1 ^= 1; + p2 ^= 1; + } + break; + + case ST_POSITIVE: + p1 = P_PointOnLineSide (tmbox[BOXLEFT], tmbox[BOXTOP], ld); + p2 = P_PointOnLineSide (tmbox[BOXRIGHT], tmbox[BOXBOTTOM], ld); + break; + + case ST_NEGATIVE: + p1 = P_PointOnLineSide (tmbox[BOXRIGHT], tmbox[BOXTOP], ld); + p2 = P_PointOnLineSide (tmbox[BOXLEFT], tmbox[BOXBOTTOM], ld); + break; + } + + if (p1 == p2) + return p1; + return -1; +} + + +// +// P_PointOnDivlineSide +// Returns 0 or 1. +// +int +P_PointOnDivlineSide +( fixed_t x, + fixed_t y, + divline_t* line ) +{ + fixed_t dx; + fixed_t dy; + fixed_t left; + fixed_t right; + + if (!line->dx) + { + if (x <= line->x) + return line->dy > 0; + + return line->dy < 0; + } + if (!line->dy) + { + if (y <= line->y) + return line->dx < 0; + + return line->dx > 0; + } + + dx = (x - line->x); + dy = (y - line->y); + + // try to quickly decide by looking at sign bits + if ( (line->dy ^ line->dx ^ dx ^ dy)&0x80000000 ) + { + if ( (line->dy ^ dx) & 0x80000000 ) + return 1; // (left is negative) + return 0; + } + + left = FixedMul ( line->dy>>8, dx>>8 ); + right = FixedMul ( dy>>8 , line->dx>>8 ); + + if (right < left) + return 0; // front side + return 1; // back side +} + + + +// +// P_MakeDivline +// +void +P_MakeDivline +( line_t* li, + divline_t* dl ) +{ + dl->x = li->v1->x; + dl->y = li->v1->y; + dl->dx = li->dx; + dl->dy = li->dy; +} + + + +// +// P_InterceptVector +// Returns the fractional intercept point +// along the first divline. +// This is only called by the addthings +// and addlines traversers. +// +fixed_t +P_InterceptVector +( divline_t* v2, + divline_t* v1 ) +{ +#if 1 + fixed_t frac; + fixed_t num; + fixed_t den; + + den = FixedMul (v1->dy>>8,v2->dx) - FixedMul(v1->dx>>8,v2->dy); + + if (den == 0) + return 0; + // I_Error ("P_InterceptVector: parallel"); + + num = + FixedMul ( (v1->x - v2->x)>>8 ,v1->dy ) + +FixedMul ( (v2->y - v1->y)>>8, v1->dx ); + + frac = FixedDiv (num , den); + + return frac; +#else // UNUSED, float debug. + float frac; + float num; + float den; + float v1x; + float v1y; + float v1dx; + float v1dy; + float v2x; + float v2y; + float v2dx; + float v2dy; + + v1x = (float)v1->x/FRACUNIT; + v1y = (float)v1->y/FRACUNIT; + v1dx = (float)v1->dx/FRACUNIT; + v1dy = (float)v1->dy/FRACUNIT; + v2x = (float)v2->x/FRACUNIT; + v2y = (float)v2->y/FRACUNIT; + v2dx = (float)v2->dx/FRACUNIT; + v2dy = (float)v2->dy/FRACUNIT; + + den = v1dy*v2dx - v1dx*v2dy; + + if (den == 0) + return 0; // parallel + + num = (v1x - v2x)*v1dy + (v2y - v1y)*v1dx; + frac = num / den; + + return frac*FRACUNIT; +#endif +} + + +// +// P_LineOpening +// Sets opentop and openbottom to the window +// through a two sided line. +// OPTIMIZE: keep this precalculated +// +fixed_t opentop; +fixed_t openbottom; +fixed_t openrange; +fixed_t lowfloor; + + +void P_LineOpening (line_t* linedef) +{ + sector_t* front; + sector_t* back; + + if (linedef->sidenum[1] == -1) + { + // single sided line + openrange = 0; + return; + } + + front = linedef->frontsector; + back = linedef->backsector; + + if (front->ceilingheight < back->ceilingheight) + opentop = front->ceilingheight; + else + opentop = back->ceilingheight; + + if (front->floorheight > back->floorheight) + { + openbottom = front->floorheight; + lowfloor = back->floorheight; + } + else + { + openbottom = back->floorheight; + lowfloor = front->floorheight; + } + + openrange = opentop - openbottom; +} + + +// +// THING POSITION SETTING +// + + +// +// P_UnsetThingPosition +// Unlinks a thing from block map and sectors. +// On each position change, BLOCKMAP and other +// lookups maintaining lists ot things inside +// these structures need to be updated. +// +void P_UnsetThingPosition (mobj_t* thing) +{ + int blockx; + int blocky; + + if ( ! (thing->flags & MF_NOSECTOR) ) + { + // inert things don't need to be in blockmap? + // unlink from subsector + if (thing->snext) + thing->snext->sprev = thing->sprev; + + if (thing->sprev) + thing->sprev->snext = thing->snext; + else + thing->subsector->sector->thinglist = thing->snext; + } + + if ( ! (thing->flags & MF_NOBLOCKMAP) ) + { + // inert things don't need to be in blockmap + // unlink from block map + if (thing->bnext) + thing->bnext->bprev = thing->bprev; + + if (thing->bprev) + thing->bprev->bnext = thing->bnext; + else + { + blockx = (thing->x - bmaporgx)>>MAPBLOCKSHIFT; + blocky = (thing->y - bmaporgy)>>MAPBLOCKSHIFT; + + if (blockx>=0 && blockx < bmapwidth + && blocky>=0 && blocky bnext; + } + } + } +} + + +// +// P_SetThingPosition +// Links a thing into both a block and a subsector +// based on it's x y. +// Sets thing->subsector properly +// +void +P_SetThingPosition (mobj_t* thing) +{ + subsector_t* ss; + sector_t* sec; + int blockx; + int blocky; + mobj_t** link; + + + // link into subsector + ss = R_PointInSubsector (thing->x,thing->y); + thing->subsector = ss; + + if ( ! (thing->flags & MF_NOSECTOR) ) + { + // invisible things don't go into the sector links + sec = ss->sector; + + thing->sprev = NULL; + thing->snext = sec->thinglist; + + if (sec->thinglist) + sec->thinglist->sprev = thing; + + sec->thinglist = thing; + } + + + // link into blockmap + if ( ! (thing->flags & MF_NOBLOCKMAP) ) + { + // inert things don't need to be in blockmap + blockx = (thing->x - bmaporgx)>>MAPBLOCKSHIFT; + blocky = (thing->y - bmaporgy)>>MAPBLOCKSHIFT; + + if (blockx>=0 + && blockx < bmapwidth + && blocky>=0 + && blocky < bmapheight) + { + link = &blocklinks[blocky*bmapwidth+blockx]; + thing->bprev = NULL; + thing->bnext = *link; + if (*link) + (*link)->bprev = thing; + + *link = thing; + } + else + { + // thing is off the map + thing->bnext = thing->bprev = NULL; + } + } +} + + + +// +// BLOCK MAP ITERATORS +// For each line/thing in the given mapblock, +// call the passed PIT_* function. +// If the function returns false, +// exit with false without checking anything else. +// + + +// +// P_BlockLinesIterator +// The validcount flags are used to avoid checking lines +// that are marked in multiple mapblocks, +// so increment validcount before the first call +// to P_BlockLinesIterator, then make one or more calls +// to it. +// +boolean +P_BlockLinesIterator +( int x, + int y, + boolean(*func)(line_t*) ) +{ + int offset; + short* list; + line_t* ld; + + if (x<0 + || y<0 + || x>=bmapwidth + || y>=bmapheight) + { + return true; + } + + offset = y*bmapwidth+x; + + offset = *(blockmap+offset); + + for ( list = blockmaplump+offset ; *list != -1 ; list++) + { + ld = &lines[*list]; + + if (ld->validcount == validcount) + continue; // line has already been checked + + ld->validcount = validcount; + + if ( !func(ld) ) + return false; + } + return true; // everything was checked +} + + +// +// P_BlockThingsIterator +// +boolean +P_BlockThingsIterator +( int x, + int y, + boolean(*func)(mobj_t*) ) +{ + mobj_t* mobj; + + if ( x<0 + || y<0 + || x>=bmapwidth + || y>=bmapheight) + { + return true; + } + + + for (mobj = blocklinks[y*bmapwidth+x] ; + mobj ; + mobj = mobj->bnext) + { + if (!func( mobj ) ) + return false; + } + return true; +} + + + +// +// INTERCEPT ROUTINES +// +intercept_t intercepts[MAXINTERCEPTS]; +intercept_t* intercept_p; + +divline_t trace; +boolean earlyout; +int ptflags; + +static void InterceptsOverrun(int num_intercepts, intercept_t *intercept); + +// +// PIT_AddLineIntercepts. +// Looks for lines in the given block +// that intercept the given trace +// to add to the intercepts list. +// +// A line is crossed if its endpoints +// are on opposite sides of the trace. +// Returns true if earlyout and a solid line hit. +// +boolean +PIT_AddLineIntercepts (line_t* ld) +{ + int s1; + int s2; + fixed_t frac; + divline_t dl; + + // avoid precision problems with two routines + if ( trace.dx > FRACUNIT*16 + || trace.dy > FRACUNIT*16 + || trace.dx < -FRACUNIT*16 + || trace.dy < -FRACUNIT*16) + { + s1 = P_PointOnDivlineSide (ld->v1->x, ld->v1->y, &trace); + s2 = P_PointOnDivlineSide (ld->v2->x, ld->v2->y, &trace); + } + else + { + s1 = P_PointOnLineSide (trace.x, trace.y, ld); + s2 = P_PointOnLineSide (trace.x+trace.dx, trace.y+trace.dy, ld); + } + + if (s1 == s2) + return true; // line isn't crossed + + // hit the line + P_MakeDivline (ld, &dl); + frac = P_InterceptVector (&trace, &dl); + + if (frac < 0) + return true; // behind source + + // try to early out the check + if (earlyout + && frac < FRACUNIT + && !ld->backsector) + { + return false; // stop checking + } + + + intercept_p->frac = frac; + intercept_p->isaline = true; + intercept_p->d.line = ld; + InterceptsOverrun(intercept_p - intercepts, intercept_p); + intercept_p++; + + return true; // continue +} + + + +// +// PIT_AddThingIntercepts +// +boolean PIT_AddThingIntercepts (mobj_t* thing) +{ + fixed_t x1; + fixed_t y1; + fixed_t x2; + fixed_t y2; + + int s1; + int s2; + + boolean tracepositive; + + divline_t dl; + + fixed_t frac; + + tracepositive = (trace.dx ^ trace.dy)>0; + + // check a corner to corner crossection for hit + if (tracepositive) + { + x1 = thing->x - thing->radius; + y1 = thing->y + thing->radius; + + x2 = thing->x + thing->radius; + y2 = thing->y - thing->radius; + } + else + { + x1 = thing->x - thing->radius; + y1 = thing->y - thing->radius; + + x2 = thing->x + thing->radius; + y2 = thing->y + thing->radius; + } + + s1 = P_PointOnDivlineSide (x1, y1, &trace); + s2 = P_PointOnDivlineSide (x2, y2, &trace); + + if (s1 == s2) + return true; // line isn't crossed + + dl.x = x1; + dl.y = y1; + dl.dx = x2-x1; + dl.dy = y2-y1; + + frac = P_InterceptVector (&trace, &dl); + + if (frac < 0) + return true; // behind source + + intercept_p->frac = frac; + intercept_p->isaline = false; + intercept_p->d.thing = thing; + InterceptsOverrun(intercept_p - intercepts, intercept_p); + intercept_p++; + + return true; // keep going +} + + +// +// P_TraverseIntercepts +// Returns true if the traverser function returns true +// for all lines. +// +boolean +P_TraverseIntercepts +( traverser_t func, + fixed_t maxfrac ) +{ + int count; + fixed_t dist; + intercept_t* scan; + intercept_t* in; + + count = intercept_p - intercepts; + + in = 0; // shut up compiler warning + + while (count--) + { + dist = INT_MAX; + for (scan = intercepts ; scanfrac < dist) + { + dist = scan->frac; + in = scan; + } + } + + if (dist > maxfrac) + return true; // checked everything in range + +#if 0 // UNUSED + { + // don't check these yet, there may be others inserted + in = scan = intercepts; + for ( scan = intercepts ; scanfrac > maxfrac) + *in++ = *scan; + intercept_p = in; + return false; + } +#endif + + if ( !func (in) ) + return false; // don't bother going farther + + in->frac = INT_MAX; + } + + return true; // everything was traversed +} + +extern fixed_t bulletslope; + +// Intercepts Overrun emulation, from PrBoom-plus. +// Thanks to Andrey Budko (entryway) for researching this and his +// implementation of Intercepts Overrun emulation in PrBoom-plus +// which this is based on. + +typedef struct +{ + int len; + void *addr; + boolean int16_array; +} intercepts_overrun_t; + +// Intercepts memory table. This is where various variables are located +// in memory in Vanilla Doom. When the intercepts table overflows, we +// need to write to them. +// +// Almost all of the values to overwrite are 32-bit integers, except for +// playerstarts, which is effectively an array of 16-bit integers and +// must be treated differently. + +static intercepts_overrun_t intercepts_overrun[] = +{ + {4, NULL, false}, + {4, NULL, /* &earlyout, */ false}, + {4, NULL, /* &intercept_p, */ false}, + {4, &lowfloor, false}, + {4, &openbottom, false}, + {4, &opentop, false}, + {4, &openrange, false}, + {4, NULL, false}, + {120, NULL, /* &activeplats, */ false}, + {8, NULL, false}, + {4, &bulletslope, false}, + {4, NULL, /* &swingx, */ false}, + {4, NULL, /* &swingy, */ false}, + {4, NULL, false}, + {40, &playerstarts, true}, + {4, NULL, /* &blocklinks, */ false}, + {4, &bmapwidth, false}, + {4, NULL, /* &blockmap, */ false}, + {4, &bmaporgx, false}, + {4, &bmaporgy, false}, + {4, NULL, /* &blockmaplump, */ false}, + {4, &bmapheight, false}, + {0, NULL, false}, +}; + +// Overwrite a specific memory location with a value. + +static void InterceptsMemoryOverrun(int location, int value) +{ + int i, offset; + int index; + void *addr; + + i = 0; + offset = 0; + + // Search down the array until we find the right entry + + while (intercepts_overrun[i].len != 0) + { + if (offset + intercepts_overrun[i].len > location) + { + addr = intercepts_overrun[i].addr; + + // Write the value to the memory location. + // 16-bit and 32-bit values are written differently. + + if (addr != NULL) + { + if (intercepts_overrun[i].int16_array) + { + index = (location - offset) / 2; + ((short *) addr)[index] = value & 0xffff; + ((short *) addr)[index + 1] = (value >> 16) & 0xffff; + } + else + { + index = (location - offset) / 4; + ((int *) addr)[index] = value; + } + } + + break; + } + + offset += intercepts_overrun[i].len; + ++i; + } +} + +// Emulate overruns of the intercepts[] array. + +static void InterceptsOverrun(int num_intercepts, intercept_t *intercept) +{ + int location; + + if (num_intercepts <= MAXINTERCEPTS_ORIGINAL) + { + // No overrun + + return; + } + + location = (num_intercepts - MAXINTERCEPTS_ORIGINAL - 1) * 12; + + // Overwrite memory that is overwritten in Vanilla Doom, using + // the values from the intercept structure. + // + // Note: the ->d.{thing,line} member should really have its + // address translated into the correct address value for + // Vanilla Doom. + + InterceptsMemoryOverrun(location, intercept->frac); + InterceptsMemoryOverrun(location + 4, intercept->isaline); + InterceptsMemoryOverrun(location + 8, (int) intercept->d.thing); +} + + +// +// P_PathTraverse +// Traces a line from x1,y1 to x2,y2, +// calling the traverser function for each. +// Returns true if the traverser function returns true +// for all lines. +// +boolean +P_PathTraverse +( fixed_t x1, + fixed_t y1, + fixed_t x2, + fixed_t y2, + int flags, + boolean (*trav) (intercept_t *)) +{ + fixed_t xt1; + fixed_t yt1; + fixed_t xt2; + fixed_t yt2; + + fixed_t xstep; + fixed_t ystep; + + fixed_t partial; + + fixed_t xintercept; + fixed_t yintercept; + + int mapx; + int mapy; + + int mapxstep; + int mapystep; + + int count; + + earlyout = flags & PT_EARLYOUT; + + validcount++; + intercept_p = intercepts; + + if ( ((x1-bmaporgx)&(MAPBLOCKSIZE-1)) == 0) + x1 += FRACUNIT; // don't side exactly on a line + + if ( ((y1-bmaporgy)&(MAPBLOCKSIZE-1)) == 0) + y1 += FRACUNIT; // don't side exactly on a line + + trace.x = x1; + trace.y = y1; + trace.dx = x2 - x1; + trace.dy = y2 - y1; + + x1 -= bmaporgx; + y1 -= bmaporgy; + xt1 = x1>>MAPBLOCKSHIFT; + yt1 = y1>>MAPBLOCKSHIFT; + + x2 -= bmaporgx; + y2 -= bmaporgy; + xt2 = x2>>MAPBLOCKSHIFT; + yt2 = y2>>MAPBLOCKSHIFT; + + if (xt2 > xt1) + { + mapxstep = 1; + partial = FRACUNIT - ((x1>>MAPBTOFRAC)&(FRACUNIT-1)); + ystep = FixedDiv (y2-y1,abs(x2-x1)); + } + else if (xt2 < xt1) + { + mapxstep = -1; + partial = (x1>>MAPBTOFRAC)&(FRACUNIT-1); + ystep = FixedDiv (y2-y1,abs(x2-x1)); + } + else + { + mapxstep = 0; + partial = FRACUNIT; + ystep = 256*FRACUNIT; + } + + yintercept = (y1>>MAPBTOFRAC) + FixedMul (partial, ystep); + + + if (yt2 > yt1) + { + mapystep = 1; + partial = FRACUNIT - ((y1>>MAPBTOFRAC)&(FRACUNIT-1)); + xstep = FixedDiv (x2-x1,abs(y2-y1)); + } + else if (yt2 < yt1) + { + mapystep = -1; + partial = (y1>>MAPBTOFRAC)&(FRACUNIT-1); + xstep = FixedDiv (x2-x1,abs(y2-y1)); + } + else + { + mapystep = 0; + partial = FRACUNIT; + xstep = 256*FRACUNIT; + } + xintercept = (x1>>MAPBTOFRAC) + FixedMul (partial, xstep); + + // Step through map blocks. + // Count is present to prevent a round off error + // from skipping the break. + mapx = xt1; + mapy = yt1; + + for (count = 0 ; count < 64 ; count++) + { + if (flags & PT_ADDLINES) + { + if (!P_BlockLinesIterator (mapx, mapy,PIT_AddLineIntercepts)) + return false; // early out + } + + if (flags & PT_ADDTHINGS) + { + if (!P_BlockThingsIterator (mapx, mapy,PIT_AddThingIntercepts)) + return false; // early out + } + + if (mapx == xt2 + && mapy == yt2) + { + break; + } + + if ( (yintercept >> FRACBITS) == mapy) + { + yintercept += ystep; + mapx += mapxstep; + } + else if ( (xintercept >> FRACBITS) == mapx) + { + xintercept += xstep; + mapy += mapystep; + } + + } + // go through the sorted list + return P_TraverseIntercepts ( trav, FRACUNIT ); +} + + + diff --git a/src/kernel/userland/doom/p_mobj.c b/src/kernel/userland/doom/p_mobj.c new file mode 100644 index 0000000..a3b9c43 --- /dev/null +++ b/src/kernel/userland/doom/p_mobj.c @@ -0,0 +1,1049 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Moving object handling. Spawn functions. +// + +#include + +#include "i_system.h" +#include "z_zone.h" +#include "m_random.h" + +#include "doomdef.h" +#include "p_local.h" +#include "sounds.h" + +#include "st_stuff.h" +#include "hu_stuff.h" + +#include "s_sound.h" + +#include "doomstat.h" + + +void G_PlayerReborn (int player); +void P_SpawnMapThing (mapthing_t* mthing); + + +// +// P_SetMobjState +// Returns true if the mobj is still present. +// +int test; + +boolean +P_SetMobjState +( mobj_t* mobj, + statenum_t state ) +{ + state_t* st; + + do + { + if (state == S_NULL) + { + mobj->state = (state_t *) S_NULL; + P_RemoveMobj (mobj); + return false; + } + + st = &states[state]; + mobj->state = st; + mobj->tics = st->tics; + mobj->sprite = st->sprite; + mobj->frame = st->frame; + + // Modified handling. + // Call action functions when the state is set + if (st->action.acp1) + st->action.acp1(mobj); + + state = st->nextstate; + } while (!mobj->tics); + + return true; +} + + +// +// P_ExplodeMissile +// +void P_ExplodeMissile (mobj_t* mo) +{ + mo->momx = mo->momy = mo->momz = 0; + + P_SetMobjState (mo, mobjinfo[mo->type].deathstate); + + mo->tics -= P_Random()&3; + + if (mo->tics < 1) + mo->tics = 1; + + mo->flags &= ~MF_MISSILE; + + if (mo->info->deathsound) + S_StartSound (mo, mo->info->deathsound); +} + + +// +// P_XYMovement +// +#define STOPSPEED 0x1000 +#define FRICTION 0xe800 + +void P_XYMovement (mobj_t* mo) +{ + fixed_t ptryx; + fixed_t ptryy; + player_t* player; + fixed_t xmove; + fixed_t ymove; + + if (!mo->momx && !mo->momy) + { + if (mo->flags & MF_SKULLFLY) + { + // the skull slammed into something + mo->flags &= ~MF_SKULLFLY; + mo->momx = mo->momy = mo->momz = 0; + + P_SetMobjState (mo, mo->info->spawnstate); + } + return; + } + + player = mo->player; + + if (mo->momx > MAXMOVE) + mo->momx = MAXMOVE; + else if (mo->momx < -MAXMOVE) + mo->momx = -MAXMOVE; + + if (mo->momy > MAXMOVE) + mo->momy = MAXMOVE; + else if (mo->momy < -MAXMOVE) + mo->momy = -MAXMOVE; + + xmove = mo->momx; + ymove = mo->momy; + + do + { + if (xmove > MAXMOVE/2 || ymove > MAXMOVE/2) + { + ptryx = mo->x + xmove/2; + ptryy = mo->y + ymove/2; + xmove >>= 1; + ymove >>= 1; + } + else + { + ptryx = mo->x + xmove; + ptryy = mo->y + ymove; + xmove = ymove = 0; + } + + if (!P_TryMove (mo, ptryx, ptryy)) + { + // blocked move + if (mo->player) + { // try to slide along it + P_SlideMove (mo); + } + else if (mo->flags & MF_MISSILE) + { + // explode a missile + if (ceilingline && + ceilingline->backsector && + ceilingline->backsector->ceilingpic == skyflatnum) + { + // Hack to prevent missiles exploding + // against the sky. + // Does not handle sky floors. + P_RemoveMobj (mo); + return; + } + P_ExplodeMissile (mo); + } + else + mo->momx = mo->momy = 0; + } + } while (xmove || ymove); + + // slow down + if (player && player->cheats & CF_NOMOMENTUM) + { + // debug option for no sliding at all + mo->momx = mo->momy = 0; + return; + } + + if (mo->flags & (MF_MISSILE | MF_SKULLFLY) ) + return; // no friction for missiles ever + + if (mo->z > mo->floorz) + return; // no friction when airborne + + if (mo->flags & MF_CORPSE) + { + // do not stop sliding + // if halfway off a step with some momentum + if (mo->momx > FRACUNIT/4 + || mo->momx < -FRACUNIT/4 + || mo->momy > FRACUNIT/4 + || mo->momy < -FRACUNIT/4) + { + if (mo->floorz != mo->subsector->sector->floorheight) + return; + } + } + + if (mo->momx > -STOPSPEED + && mo->momx < STOPSPEED + && mo->momy > -STOPSPEED + && mo->momy < STOPSPEED + && (!player + || (player->cmd.forwardmove== 0 + && player->cmd.sidemove == 0 ) ) ) + { + // if in a walking frame, stop moving + if ( player&&(unsigned)((player->mo->state - states)- S_PLAY_RUN1) < 4) + P_SetMobjState (player->mo, S_PLAY); + + mo->momx = 0; + mo->momy = 0; + } + else + { + mo->momx = FixedMul (mo->momx, FRICTION); + mo->momy = FixedMul (mo->momy, FRICTION); + } +} + +// +// P_ZMovement +// +void P_ZMovement (mobj_t* mo) +{ + fixed_t dist; + fixed_t delta; + + // check for smooth step up + if (mo->player && mo->z < mo->floorz) + { + mo->player->viewheight -= mo->floorz-mo->z; + + mo->player->deltaviewheight + = (VIEWHEIGHT - mo->player->viewheight)>>3; + } + + // adjust height + mo->z += mo->momz; + + if ( mo->flags & MF_FLOAT + && mo->target) + { + // float down towards target if too close + if ( !(mo->flags & MF_SKULLFLY) + && !(mo->flags & MF_INFLOAT) ) + { + dist = P_AproxDistance (mo->x - mo->target->x, + mo->y - mo->target->y); + + delta =(mo->target->z + (mo->height>>1)) - mo->z; + + if (delta<0 && dist < -(delta*3) ) + mo->z -= FLOATSPEED; + else if (delta>0 && dist < (delta*3) ) + mo->z += FLOATSPEED; + } + + } + + // clip movement + if (mo->z <= mo->floorz) + { + // hit the floor + + // Note (id): + // somebody left this after the setting momz to 0, + // kinda useless there. + // + // cph - This was the a bug in the linuxdoom-1.10 source which + // caused it not to sync Doom 2 v1.9 demos. Someone + // added the above comment and moved up the following code. So + // demos would desync in close lost soul fights. + // Note that this only applies to original Doom 1 or Doom2 demos - not + // Final Doom and Ultimate Doom. So we test demo_compatibility *and* + // gamemission. (Note we assume that Doom1 is always Ult Doom, which + // seems to hold for most published demos.) + // + // fraggle - cph got the logic here slightly wrong. There are three + // versions of Doom 1.9: + // + // * The version used in registered doom 1.9 + doom2 - no bounce + // * The version used in ultimate doom - has bounce + // * The version used in final doom - has bounce + // + // So we need to check that this is either retail or commercial + // (but not doom2) + + int correct_lost_soul_bounce = gameversion >= exe_ultimate; + + if (correct_lost_soul_bounce && mo->flags & MF_SKULLFLY) + { + // the skull slammed into something + mo->momz = -mo->momz; + } + + if (mo->momz < 0) + { + if (mo->player + && mo->momz < -GRAVITY*8) + { + // Squat down. + // Decrease viewheight for a moment + // after hitting the ground (hard), + // and utter appropriate sound. + mo->player->deltaviewheight = mo->momz>>3; + S_StartSound (mo, sfx_oof); + } + mo->momz = 0; + } + mo->z = mo->floorz; + + + // cph 2001/05/26 - + // See lost soul bouncing comment above. We need this here for bug + // compatibility with original Doom2 v1.9 - if a soul is charging and + // hit by a raising floor this incorrectly reverses its Y momentum. + // + + if (!correct_lost_soul_bounce && mo->flags & MF_SKULLFLY) + mo->momz = -mo->momz; + + if ( (mo->flags & MF_MISSILE) + && !(mo->flags & MF_NOCLIP) ) + { + P_ExplodeMissile (mo); + return; + } + } + else if (! (mo->flags & MF_NOGRAVITY) ) + { + if (mo->momz == 0) + mo->momz = -GRAVITY*2; + else + mo->momz -= GRAVITY; + } + + if (mo->z + mo->height > mo->ceilingz) + { + // hit the ceiling + if (mo->momz > 0) + mo->momz = 0; + { + mo->z = mo->ceilingz - mo->height; + } + + if (mo->flags & MF_SKULLFLY) + { // the skull slammed into something + mo->momz = -mo->momz; + } + + if ( (mo->flags & MF_MISSILE) + && !(mo->flags & MF_NOCLIP) ) + { + P_ExplodeMissile (mo); + return; + } + } +} + + + +// +// P_NightmareRespawn +// +void +P_NightmareRespawn (mobj_t* mobj) +{ + fixed_t x; + fixed_t y; + fixed_t z; + subsector_t* ss; + mobj_t* mo; + mapthing_t* mthing; + + x = mobj->spawnpoint.x << FRACBITS; + y = mobj->spawnpoint.y << FRACBITS; + + // somthing is occupying it's position? + if (!P_CheckPosition (mobj, x, y) ) + return; // no respwan + + // spawn a teleport fog at old spot + // because of removal of the body? + mo = P_SpawnMobj (mobj->x, + mobj->y, + mobj->subsector->sector->floorheight , MT_TFOG); + // initiate teleport sound + S_StartSound (mo, sfx_telept); + + // spawn a teleport fog at the new spot + ss = R_PointInSubsector (x,y); + + mo = P_SpawnMobj (x, y, ss->sector->floorheight , MT_TFOG); + + S_StartSound (mo, sfx_telept); + + // spawn the new monster + mthing = &mobj->spawnpoint; + + // spawn it + if (mobj->info->flags & MF_SPAWNCEILING) + z = ONCEILINGZ; + else + z = ONFLOORZ; + + // inherit attributes from deceased one + mo = P_SpawnMobj (x,y,z, mobj->type); + mo->spawnpoint = mobj->spawnpoint; + mo->angle = ANG45 * (mthing->angle/45); + + if (mthing->options & MTF_AMBUSH) + mo->flags |= MF_AMBUSH; + + mo->reactiontime = 18; + + // remove the old monster, + P_RemoveMobj (mobj); +} + + +// +// P_MobjThinker +// +void P_MobjThinker (mobj_t* mobj) +{ + // momentum movement + if (mobj->momx + || mobj->momy + || (mobj->flags&MF_SKULLFLY) ) + { + P_XYMovement (mobj); + + // FIXME: decent NOP/NULL/Nil function pointer please. + if (mobj->thinker.function.acv == (actionf_v) (-1)) + return; // mobj was removed + } + if ( (mobj->z != mobj->floorz) + || mobj->momz ) + { + P_ZMovement (mobj); + + // FIXME: decent NOP/NULL/Nil function pointer please. + if (mobj->thinker.function.acv == (actionf_v) (-1)) + return; // mobj was removed + } + + + // cycle through states, + // calling action functions at transitions + if (mobj->tics != -1) + { + mobj->tics--; + + // you can cycle through multiple states in a tic + if (!mobj->tics) + if (!P_SetMobjState (mobj, mobj->state->nextstate) ) + return; // freed itself + } + else + { + // check for nightmare respawn + if (! (mobj->flags & MF_COUNTKILL) ) + return; + + if (!respawnmonsters) + return; + + mobj->movecount++; + + if (mobj->movecount < 12*TICRATE) + return; + + if ( leveltime&31 ) + return; + + if (P_Random () > 4) + return; + + P_NightmareRespawn (mobj); + } + +} + + +// +// P_SpawnMobj +// +mobj_t* +P_SpawnMobj +( fixed_t x, + fixed_t y, + fixed_t z, + mobjtype_t type ) +{ + mobj_t* mobj; + state_t* st; + mobjinfo_t* info; + + mobj = Z_Malloc (sizeof(*mobj), PU_LEVEL, NULL); + memset (mobj, 0, sizeof (*mobj)); + info = &mobjinfo[type]; + + mobj->type = type; + mobj->info = info; + mobj->x = x; + mobj->y = y; + mobj->radius = info->radius; + mobj->height = info->height; + mobj->flags = info->flags; + mobj->health = info->spawnhealth; + + if (gameskill != sk_nightmare) + mobj->reactiontime = info->reactiontime; + + mobj->lastlook = P_Random () % MAXPLAYERS; + // do not set the state with P_SetMobjState, + // because action routines can not be called yet + st = &states[info->spawnstate]; + + mobj->state = st; + mobj->tics = st->tics; + mobj->sprite = st->sprite; + mobj->frame = st->frame; + + // set subsector and/or block links + P_SetThingPosition (mobj); + + mobj->floorz = mobj->subsector->sector->floorheight; + mobj->ceilingz = mobj->subsector->sector->ceilingheight; + + if (z == ONFLOORZ) + mobj->z = mobj->floorz; + else if (z == ONCEILINGZ) + mobj->z = mobj->ceilingz - mobj->info->height; + else + mobj->z = z; + + mobj->thinker.function.acp1 = (actionf_p1)P_MobjThinker; + + P_AddThinker (&mobj->thinker); + + return mobj; +} + + +// +// P_RemoveMobj +// +mapthing_t itemrespawnque[ITEMQUESIZE]; +int itemrespawntime[ITEMQUESIZE]; +int iquehead; +int iquetail; + + +void P_RemoveMobj (mobj_t* mobj) +{ + if ((mobj->flags & MF_SPECIAL) + && !(mobj->flags & MF_DROPPED) + && (mobj->type != MT_INV) + && (mobj->type != MT_INS)) + { + itemrespawnque[iquehead] = mobj->spawnpoint; + itemrespawntime[iquehead] = leveltime; + iquehead = (iquehead+1)&(ITEMQUESIZE-1); + + // lose one off the end? + if (iquehead == iquetail) + iquetail = (iquetail+1)&(ITEMQUESIZE-1); + } + + // unlink from sector and block lists + P_UnsetThingPosition (mobj); + + // stop any playing sound + S_StopSound (mobj); + + // free block + P_RemoveThinker ((thinker_t*)mobj); +} + + + + +// +// P_RespawnSpecials +// +void P_RespawnSpecials (void) +{ + fixed_t x; + fixed_t y; + fixed_t z; + + subsector_t* ss; + mobj_t* mo; + mapthing_t* mthing; + + int i; + + // only respawn items in deathmatch + if (deathmatch != 2) + return; // + + // nothing left to respawn? + if (iquehead == iquetail) + return; + + // wait at least 30 seconds + if (leveltime - itemrespawntime[iquetail] < 30*TICRATE) + return; + + mthing = &itemrespawnque[iquetail]; + + x = mthing->x << FRACBITS; + y = mthing->y << FRACBITS; + + // spawn a teleport fog at the new spot + ss = R_PointInSubsector (x,y); + mo = P_SpawnMobj (x, y, ss->sector->floorheight , MT_IFOG); + S_StartSound (mo, sfx_itmbk); + + // find which type to spawn + for (i=0 ; i< NUMMOBJTYPES ; i++) + { + if (mthing->type == mobjinfo[i].doomednum) + break; + } + + // spawn it + if (mobjinfo[i].flags & MF_SPAWNCEILING) + z = ONCEILINGZ; + else + z = ONFLOORZ; + + mo = P_SpawnMobj (x,y,z, i); + mo->spawnpoint = *mthing; + mo->angle = ANG45 * (mthing->angle/45); + + // pull it from the que + iquetail = (iquetail+1)&(ITEMQUESIZE-1); +} + + + + +// +// P_SpawnPlayer +// Called when a player is spawned on the level. +// Most of the player structure stays unchanged +// between levels. +// +void P_SpawnPlayer (mapthing_t* mthing) +{ + player_t* p; + fixed_t x; + fixed_t y; + fixed_t z; + + mobj_t* mobj; + + int i; + + if (mthing->type == 0) + { + return; + } + + // not playing? + if (!playeringame[mthing->type-1]) + return; + + p = &players[mthing->type-1]; + + if (p->playerstate == PST_REBORN) + G_PlayerReborn (mthing->type-1); + + x = mthing->x << FRACBITS; + y = mthing->y << FRACBITS; + z = ONFLOORZ; + mobj = P_SpawnMobj (x,y,z, MT_PLAYER); + + // set color translations for player sprites + if (mthing->type > 1) + mobj->flags |= (mthing->type-1)<angle = ANG45 * (mthing->angle/45); + mobj->player = p; + mobj->health = p->health; + + p->mo = mobj; + p->playerstate = PST_LIVE; + p->refire = 0; + p->message = NULL; + p->damagecount = 0; + p->bonuscount = 0; + p->extralight = 0; + p->fixedcolormap = 0; + p->viewheight = VIEWHEIGHT; + + // setup gun psprite + P_SetupPsprites (p); + + // give all cards in death match mode + if (deathmatch) + for (i=0 ; icards[i] = true; + + if (mthing->type-1 == consoleplayer) + { + // wake up the status bar + ST_Start (); + // wake up the heads up text + HU_Start (); + } +} + + +// +// P_SpawnMapThing +// The fields of the mapthing should +// already be in host byte order. +// +void P_SpawnMapThing (mapthing_t* mthing) +{ + int i; + int bit; + mobj_t* mobj; + fixed_t x; + fixed_t y; + fixed_t z; + + // count deathmatch start positions + if (mthing->type == 11) + { + if (deathmatch_p < &deathmatchstarts[10]) + { + memcpy (deathmatch_p, mthing, sizeof(*mthing)); + deathmatch_p++; + } + return; + } + + if (mthing->type <= 0) + { + // Thing type 0 is actually "player -1 start". + // For some reason, Vanilla Doom accepts/ignores this. + + return; + } + + // check for players specially + if (mthing->type <= 4) + { + // save spots for respawning in network games + playerstarts[mthing->type-1] = *mthing; + if (!deathmatch) + P_SpawnPlayer (mthing); + + return; + } + + // check for apropriate skill level + if (!netgame && (mthing->options & 16) ) + return; + + if (gameskill == sk_baby) + bit = 1; + else if (gameskill == sk_nightmare) + bit = 4; + else + bit = 1<<(gameskill-1); + + if (!(mthing->options & bit) ) + return; + + // find which type to spawn + for (i=0 ; i< NUMMOBJTYPES ; i++) + if (mthing->type == mobjinfo[i].doomednum) + break; + + if (i==NUMMOBJTYPES) + I_Error ("P_SpawnMapThing: Unknown type %i at (%i, %i)", + mthing->type, + mthing->x, mthing->y); + + // don't spawn keycards and players in deathmatch + if (deathmatch && mobjinfo[i].flags & MF_NOTDMATCH) + return; + + // don't spawn any monsters if -nomonsters + if (nomonsters + && ( i == MT_SKULL + || (mobjinfo[i].flags & MF_COUNTKILL)) ) + { + return; + } + + // spawn it + x = mthing->x << FRACBITS; + y = mthing->y << FRACBITS; + + if (mobjinfo[i].flags & MF_SPAWNCEILING) + z = ONCEILINGZ; + else + z = ONFLOORZ; + + mobj = P_SpawnMobj (x,y,z, i); + mobj->spawnpoint = *mthing; + + if (mobj->tics > 0) + mobj->tics = 1 + (P_Random () % mobj->tics); + if (mobj->flags & MF_COUNTKILL) + totalkills++; + if (mobj->flags & MF_COUNTITEM) + totalitems++; + + mobj->angle = ANG45 * (mthing->angle/45); + if (mthing->options & MTF_AMBUSH) + mobj->flags |= MF_AMBUSH; +} + + + +// +// GAME SPAWN FUNCTIONS +// + + +// +// P_SpawnPuff +// +extern fixed_t attackrange; + +void +P_SpawnPuff +( fixed_t x, + fixed_t y, + fixed_t z ) +{ + mobj_t* th; + + z += ((P_Random()-P_Random())<<10); + + th = P_SpawnMobj (x,y,z, MT_PUFF); + th->momz = FRACUNIT; + th->tics -= P_Random()&3; + + if (th->tics < 1) + th->tics = 1; + + // don't make punches spark on the wall + if (attackrange == MELEERANGE) + P_SetMobjState (th, S_PUFF3); +} + + + +// +// P_SpawnBlood +// +void +P_SpawnBlood +( fixed_t x, + fixed_t y, + fixed_t z, + int damage ) +{ + mobj_t* th; + + z += ((P_Random()-P_Random())<<10); + th = P_SpawnMobj (x,y,z, MT_BLOOD); + th->momz = FRACUNIT*2; + th->tics -= P_Random()&3; + + if (th->tics < 1) + th->tics = 1; + + if (damage <= 12 && damage >= 9) + P_SetMobjState (th,S_BLOOD2); + else if (damage < 9) + P_SetMobjState (th,S_BLOOD3); +} + + + +// +// P_CheckMissileSpawn +// Moves the missile forward a bit +// and possibly explodes it right there. +// +void P_CheckMissileSpawn (mobj_t* th) +{ + th->tics -= P_Random()&3; + if (th->tics < 1) + th->tics = 1; + + // move a little forward so an angle can + // be computed if it immediately explodes + th->x += (th->momx>>1); + th->y += (th->momy>>1); + th->z += (th->momz>>1); + + if (!P_TryMove (th, th->x, th->y)) + P_ExplodeMissile (th); +} + +// Certain functions assume that a mobj_t pointer is non-NULL, +// causing a crash in some situations where it is NULL. Vanilla +// Doom did not crash because of the lack of proper memory +// protection. This function substitutes NULL pointers for +// pointers to a dummy mobj, to avoid a crash. + +mobj_t *P_SubstNullMobj(mobj_t *mobj) +{ + if (mobj == NULL) + { + static mobj_t dummy_mobj; + + dummy_mobj.x = 0; + dummy_mobj.y = 0; + dummy_mobj.z = 0; + dummy_mobj.flags = 0; + + mobj = &dummy_mobj; + } + + return mobj; +} + +// +// P_SpawnMissile +// +mobj_t* +P_SpawnMissile +( mobj_t* source, + mobj_t* dest, + mobjtype_t type ) +{ + mobj_t* th; + angle_t an; + int dist; + + th = P_SpawnMobj (source->x, + source->y, + source->z + 4*8*FRACUNIT, type); + + if (th->info->seesound) + S_StartSound (th, th->info->seesound); + + th->target = source; // where it came from + an = R_PointToAngle2 (source->x, source->y, dest->x, dest->y); + + // fuzzy player + if (dest->flags & MF_SHADOW) + an += (P_Random()-P_Random())<<20; + + th->angle = an; + an >>= ANGLETOFINESHIFT; + th->momx = FixedMul (th->info->speed, finecosine[an]); + th->momy = FixedMul (th->info->speed, finesine[an]); + + dist = P_AproxDistance (dest->x - source->x, dest->y - source->y); + dist = dist / th->info->speed; + + if (dist < 1) + dist = 1; + + th->momz = (dest->z - source->z) / dist; + P_CheckMissileSpawn (th); + + return th; +} + + +// +// P_SpawnPlayerMissile +// Tries to aim at a nearby monster +// +void +P_SpawnPlayerMissile +( mobj_t* source, + mobjtype_t type ) +{ + mobj_t* th; + angle_t an; + + fixed_t x; + fixed_t y; + fixed_t z; + fixed_t slope; + + // see which target is to be aimed at + an = source->angle; + slope = P_AimLineAttack (source, an, 16*64*FRACUNIT); + + if (!linetarget) + { + an += 1<<26; + slope = P_AimLineAttack (source, an, 16*64*FRACUNIT); + + if (!linetarget) + { + an -= 2<<26; + slope = P_AimLineAttack (source, an, 16*64*FRACUNIT); + } + + if (!linetarget) + { + an = source->angle; + slope = 0; + } + } + + x = source->x; + y = source->y; + z = source->z + 4*8*FRACUNIT; + + th = P_SpawnMobj (x,y,z, type); + + if (th->info->seesound) + S_StartSound (th, th->info->seesound); + + th->target = source; + th->angle = an; + th->momx = FixedMul( th->info->speed, + finecosine[an>>ANGLETOFINESHIFT]); + th->momy = FixedMul( th->info->speed, + finesine[an>>ANGLETOFINESHIFT]); + th->momz = FixedMul( th->info->speed, slope); + + P_CheckMissileSpawn (th); +} + diff --git a/src/kernel/userland/doom/p_mobj.h b/src/kernel/userland/doom/p_mobj.h new file mode 100644 index 0000000..90ed764 --- /dev/null +++ b/src/kernel/userland/doom/p_mobj.h @@ -0,0 +1,284 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Map Objects, MObj, definition and handling. +// + + +#ifndef __P_MOBJ__ +#define __P_MOBJ__ + +// Basics. +#include "tables.h" +#include "m_fixed.h" + +// We need the thinker_t stuff. +#include "d_think.h" + +// We need the WAD data structure for Map things, +// from the THINGS lump. +#include "doomdata.h" + +// States are tied to finite states are +// tied to animation frames. +// Needs precompiled tables/data structures. +#include "info.h" + + + + + + +// +// NOTES: mobj_t +// +// mobj_ts are used to tell the refresh where to draw an image, +// tell the world simulation when objects are contacted, +// and tell the sound driver how to position a sound. +// +// The refresh uses the next and prev links to follow +// lists of things in sectors as they are being drawn. +// The sprite, frame, and angle elements determine which patch_t +// is used to draw the sprite if it is visible. +// The sprite and frame values are allmost allways set +// from state_t structures. +// The statescr.exe utility generates the states.h and states.c +// files that contain the sprite/frame numbers from the +// statescr.txt source file. +// The xyz origin point represents a point at the bottom middle +// of the sprite (between the feet of a biped). +// This is the default origin position for patch_ts grabbed +// with lumpy.exe. +// A walking creature will have its z equal to the floor +// it is standing on. +// +// The sound code uses the x,y, and subsector fields +// to do stereo positioning of any sound effited by the mobj_t. +// +// The play simulation uses the blocklinks, x,y,z, radius, height +// to determine when mobj_ts are touching each other, +// touching lines in the map, or hit by trace lines (gunshots, +// lines of sight, etc). +// The mobj_t->flags element has various bit flags +// used by the simulation. +// +// Every mobj_t is linked into a single sector +// based on its origin coordinates. +// The subsector_t is found with R_PointInSubsector(x,y), +// and the sector_t can be found with subsector->sector. +// The sector links are only used by the rendering code, +// the play simulation does not care about them at all. +// +// Any mobj_t that needs to be acted upon by something else +// in the play world (block movement, be shot, etc) will also +// need to be linked into the blockmap. +// If the thing has the MF_NOBLOCK flag set, it will not use +// the block links. It can still interact with other things, +// but only as the instigator (missiles will run into other +// things, but nothing can run into a missile). +// Each block in the grid is 128*128 units, and knows about +// every line_t that it contains a piece of, and every +// interactable mobj_t that has its origin contained. +// +// A valid mobj_t is a mobj_t that has the proper subsector_t +// filled in for its xy coordinates and is linked into the +// sector from which the subsector was made, or has the +// MF_NOSECTOR flag set (the subsector_t needs to be valid +// even if MF_NOSECTOR is set), and is linked into a blockmap +// block or has the MF_NOBLOCKMAP flag set. +// Links should only be modified by the P_[Un]SetThingPosition() +// functions. +// Do not change the MF_NO? flags while a thing is valid. +// +// Any questions? +// + +// +// Misc. mobj flags +// +typedef enum +{ + // Call P_SpecialThing when touched. + MF_SPECIAL = 1, + // Blocks. + MF_SOLID = 2, + // Can be hit. + MF_SHOOTABLE = 4, + // Don't use the sector links (invisible but touchable). + MF_NOSECTOR = 8, + // Don't use the blocklinks (inert but displayable) + MF_NOBLOCKMAP = 16, + + // Not to be activated by sound, deaf monster. + MF_AMBUSH = 32, + // Will try to attack right back. + MF_JUSTHIT = 64, + // Will take at least one step before attacking. + MF_JUSTATTACKED = 128, + // On level spawning (initial position), + // hang from ceiling instead of stand on floor. + MF_SPAWNCEILING = 256, + // Don't apply gravity (every tic), + // that is, object will float, keeping current height + // or changing it actively. + MF_NOGRAVITY = 512, + + // Movement flags. + // This allows jumps from high places. + MF_DROPOFF = 0x400, + // For players, will pick up items. + MF_PICKUP = 0x800, + // Player cheat. ??? + MF_NOCLIP = 0x1000, + // Player: keep info about sliding along walls. + MF_SLIDE = 0x2000, + // Allow moves to any height, no gravity. + // For active floaters, e.g. cacodemons, pain elementals. + MF_FLOAT = 0x4000, + // Don't cross lines + // ??? or look at heights on teleport. + MF_TELEPORT = 0x8000, + // Don't hit same species, explode on block. + // Player missiles as well as fireballs of various kinds. + MF_MISSILE = 0x10000, + // Dropped by a demon, not level spawned. + // E.g. ammo clips dropped by dying former humans. + MF_DROPPED = 0x20000, + // Use fuzzy draw (shadow demons or spectres), + // temporary player invisibility powerup. + MF_SHADOW = 0x40000, + // Flag: don't bleed when shot (use puff), + // barrels and shootable furniture shall not bleed. + MF_NOBLOOD = 0x80000, + // Don't stop moving halfway off a step, + // that is, have dead bodies slide down all the way. + MF_CORPSE = 0x100000, + // Floating to a height for a move, ??? + // don't auto float to target's height. + MF_INFLOAT = 0x200000, + + // On kill, count this enemy object + // towards intermission kill total. + // Happy gathering. + MF_COUNTKILL = 0x400000, + + // On picking up, count this item object + // towards intermission item total. + MF_COUNTITEM = 0x800000, + + // Special handling: skull in flight. + // Neither a cacodemon nor a missile. + MF_SKULLFLY = 0x1000000, + + // Don't spawn this object + // in death match mode (e.g. key cards). + MF_NOTDMATCH = 0x2000000, + + // Player sprites in multiplayer modes are modified + // using an internal color lookup table for re-indexing. + // If 0x4 0x8 or 0xc, + // use a translation table for player colormaps + MF_TRANSLATION = 0xc000000, + // Hmm ???. + MF_TRANSSHIFT = 26 + +} mobjflag_t; + + +// Map Object definition. +typedef struct mobj_s +{ + // List: thinker links. + thinker_t thinker; + + // Info for drawing: position. + fixed_t x; + fixed_t y; + fixed_t z; + + // More list: links in sector (if needed) + struct mobj_s* snext; + struct mobj_s* sprev; + + //More drawing info: to determine current sprite. + angle_t angle; // orientation + spritenum_t sprite; // used to find patch_t and flip value + int frame; // might be ORed with FF_FULLBRIGHT + + // Interaction info, by BLOCKMAP. + // Links in blocks (if needed). + struct mobj_s* bnext; + struct mobj_s* bprev; + + struct subsector_s* subsector; + + // The closest interval over all contacted Sectors. + fixed_t floorz; + fixed_t ceilingz; + + // For movement checking. + fixed_t radius; + fixed_t height; + + // Momentums, used to update position. + fixed_t momx; + fixed_t momy; + fixed_t momz; + + // If == validcount, already checked. + int validcount; + + mobjtype_t type; + mobjinfo_t* info; // &mobjinfo[mobj->type] + + int tics; // state tic counter + state_t* state; + int flags; + int health; + + // Movement direction, movement generation (zig-zagging). + int movedir; // 0-7 + int movecount; // when 0, select a new dir + + // Thing being chased/attacked (or NULL), + // also the originator for missiles. + struct mobj_s* target; + + // Reaction time: if non 0, don't attack yet. + // Used by player to freeze a bit after teleporting. + int reactiontime; + + // If >0, the target will be chased + // no matter what (even if shot) + int threshold; + + // Additional info record for player avatars only. + // Only valid if type == MT_PLAYER + struct player_s* player; + + // Player number last looked for. + int lastlook; + + // For nightmare respawn. + mapthing_t spawnpoint; + + // Thing being chased/attacked for tracers. + struct mobj_s* tracer; + +} mobj_t; + + + +#endif diff --git a/src/kernel/userland/doom/p_plats.c b/src/kernel/userland/doom/p_plats.c new file mode 100644 index 0000000..9e773d5 --- /dev/null +++ b/src/kernel/userland/doom/p_plats.c @@ -0,0 +1,304 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Plats (i.e. elevator platforms) code, raising/lowering. +// + +#include + +#include "i_system.h" +#include "z_zone.h" +#include "m_random.h" + +#include "doomdef.h" +#include "p_local.h" + +#include "s_sound.h" + +// State. +#include "doomstat.h" +#include "r_state.h" + +// Data. +#include "sounds.h" + + +plat_t* activeplats[MAXPLATS]; + + + +// +// Move a plat up and down +// +void T_PlatRaise(plat_t* plat) +{ + result_e res; + + switch(plat->status) + { + case up: + res = T_MovePlane(plat->sector, + plat->speed, + plat->high, + plat->crush,0,1); + + if (plat->type == raiseAndChange + || plat->type == raiseToNearestAndChange) + { + if (!(leveltime&7)) + S_StartSound(&plat->sector->soundorg, sfx_stnmov); + } + + + if (res == crushed && (!plat->crush)) + { + plat->count = plat->wait; + plat->status = down; + S_StartSound(&plat->sector->soundorg, sfx_pstart); + } + else + { + if (res == pastdest) + { + plat->count = plat->wait; + plat->status = waiting; + S_StartSound(&plat->sector->soundorg, sfx_pstop); + + switch(plat->type) + { + case blazeDWUS: + case downWaitUpStay: + P_RemoveActivePlat(plat); + break; + + case raiseAndChange: + case raiseToNearestAndChange: + P_RemoveActivePlat(plat); + break; + + default: + break; + } + } + } + break; + + case down: + res = T_MovePlane(plat->sector,plat->speed,plat->low,false,0,-1); + + if (res == pastdest) + { + plat->count = plat->wait; + plat->status = waiting; + S_StartSound(&plat->sector->soundorg,sfx_pstop); + } + break; + + case waiting: + if (!--plat->count) + { + if (plat->sector->floorheight == plat->low) + plat->status = up; + else + plat->status = down; + S_StartSound(&plat->sector->soundorg,sfx_pstart); + } + case in_stasis: + break; + } +} + + +// +// Do Platforms +// "amount" is only used for SOME platforms. +// +int +EV_DoPlat +( line_t* line, + plattype_e type, + int amount ) +{ + plat_t* plat; + int secnum; + int rtn; + sector_t* sec; + + secnum = -1; + rtn = 0; + + + // Activate all plats that are in_stasis + switch(type) + { + case perpetualRaise: + P_ActivateInStasis(line->tag); + break; + + default: + break; + } + + while ((secnum = P_FindSectorFromLineTag(line,secnum)) >= 0) + { + sec = §ors[secnum]; + + if (sec->specialdata) + continue; + + // Find lowest & highest floors around sector + rtn = 1; + plat = Z_Malloc( sizeof(*plat), PU_LEVSPEC, 0); + P_AddThinker(&plat->thinker); + + plat->type = type; + plat->sector = sec; + plat->sector->specialdata = plat; + plat->thinker.function.acp1 = (actionf_p1) T_PlatRaise; + plat->crush = false; + plat->tag = line->tag; + + switch(type) + { + case raiseToNearestAndChange: + plat->speed = PLATSPEED/2; + sec->floorpic = sides[line->sidenum[0]].sector->floorpic; + plat->high = P_FindNextHighestFloor(sec,sec->floorheight); + plat->wait = 0; + plat->status = up; + // NO MORE DAMAGE, IF APPLICABLE + sec->special = 0; + + S_StartSound(&sec->soundorg,sfx_stnmov); + break; + + case raiseAndChange: + plat->speed = PLATSPEED/2; + sec->floorpic = sides[line->sidenum[0]].sector->floorpic; + plat->high = sec->floorheight + amount*FRACUNIT; + plat->wait = 0; + plat->status = up; + + S_StartSound(&sec->soundorg,sfx_stnmov); + break; + + case downWaitUpStay: + plat->speed = PLATSPEED * 4; + plat->low = P_FindLowestFloorSurrounding(sec); + + if (plat->low > sec->floorheight) + plat->low = sec->floorheight; + + plat->high = sec->floorheight; + plat->wait = TICRATE*PLATWAIT; + plat->status = down; + S_StartSound(&sec->soundorg,sfx_pstart); + break; + + case blazeDWUS: + plat->speed = PLATSPEED * 8; + plat->low = P_FindLowestFloorSurrounding(sec); + + if (plat->low > sec->floorheight) + plat->low = sec->floorheight; + + plat->high = sec->floorheight; + plat->wait = TICRATE*PLATWAIT; + plat->status = down; + S_StartSound(&sec->soundorg,sfx_pstart); + break; + + case perpetualRaise: + plat->speed = PLATSPEED; + plat->low = P_FindLowestFloorSurrounding(sec); + + if (plat->low > sec->floorheight) + plat->low = sec->floorheight; + + plat->high = P_FindHighestFloorSurrounding(sec); + + if (plat->high < sec->floorheight) + plat->high = sec->floorheight; + + plat->wait = TICRATE*PLATWAIT; + plat->status = P_Random()&1; + + S_StartSound(&sec->soundorg,sfx_pstart); + break; + } + P_AddActivePlat(plat); + } + return rtn; +} + + + +void P_ActivateInStasis(int tag) +{ + int i; + + for (i = 0;i < MAXPLATS;i++) + if (activeplats[i] + && (activeplats[i])->tag == tag + && (activeplats[i])->status == in_stasis) + { + (activeplats[i])->status = (activeplats[i])->oldstatus; + (activeplats[i])->thinker.function.acp1 + = (actionf_p1) T_PlatRaise; + } +} + +void EV_StopPlat(line_t* line) +{ + int j; + + for (j = 0;j < MAXPLATS;j++) + if (activeplats[j] + && ((activeplats[j])->status != in_stasis) + && ((activeplats[j])->tag == line->tag)) + { + (activeplats[j])->oldstatus = (activeplats[j])->status; + (activeplats[j])->status = in_stasis; + (activeplats[j])->thinker.function.acv = (actionf_v)NULL; + } +} + +void P_AddActivePlat(plat_t* plat) +{ + int i; + + for (i = 0;i < MAXPLATS;i++) + if (activeplats[i] == NULL) + { + activeplats[i] = plat; + return; + } + I_Error ("P_AddActivePlat: no more plats!"); +} + +void P_RemoveActivePlat(plat_t* plat) +{ + int i; + for (i = 0;i < MAXPLATS;i++) + if (plat == activeplats[i]) + { + (activeplats[i])->sector->specialdata = NULL; + P_RemoveThinker(&(activeplats[i])->thinker); + activeplats[i] = NULL; + + return; + } + I_Error ("P_RemoveActivePlat: can't find plat!"); +} diff --git a/src/kernel/userland/doom/p_pspr.c b/src/kernel/userland/doom/p_pspr.c new file mode 100644 index 0000000..e4774c7 --- /dev/null +++ b/src/kernel/userland/doom/p_pspr.c @@ -0,0 +1,888 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Weapon sprite animation, weapon objects. +// Action functions for weapons. +// + + +#include "doomdef.h" +#include "d_event.h" + +#include "deh_misc.h" + +#include "m_random.h" +#include "p_local.h" +#include "s_sound.h" + +// State. +#include "doomstat.h" + +// Data. +#include "sounds.h" + +#include "p_pspr.h" + +#define LOWERSPEED FRACUNIT*6 +#define RAISESPEED FRACUNIT*6 + +#define WEAPONBOTTOM 128*FRACUNIT +#define WEAPONTOP 32*FRACUNIT + + + +// +// P_SetPsprite +// +void +P_SetPsprite +( player_t* player, + int position, + statenum_t stnum ) +{ + pspdef_t* psp; + state_t* state; + + psp = &player->psprites[position]; + + do + { + if (!stnum) + { + // object removed itself + psp->state = NULL; + break; + } + + state = &states[stnum]; + psp->state = state; + psp->tics = state->tics; // could be 0 + + if (state->misc1) + { + // coordinate set + psp->sx = state->misc1 << FRACBITS; + psp->sy = state->misc2 << FRACBITS; + } + + // Call action routine. + // Modified handling. + if (state->action.acp2) + { + state->action.acp2(player, psp); + if (!psp->state) + break; + } + + stnum = psp->state->nextstate; + + } while (!psp->tics); + // an initial state of 0 could cycle through +} + + + +// +// P_CalcSwing +// +fixed_t swingx; +fixed_t swingy; + +void P_CalcSwing (player_t* player) +{ + fixed_t swing; + int angle; + + // OPTIMIZE: tablify this. + // A LUT would allow for different modes, + // and add flexibility. + + swing = player->bob; + + angle = (FINEANGLES/70*leveltime)&FINEMASK; + swingx = FixedMul ( swing, finesine[angle]); + + angle = (FINEANGLES/70*leveltime+FINEANGLES/2)&FINEMASK; + swingy = -FixedMul ( swingx, finesine[angle]); +} + + + +// +// P_BringUpWeapon +// Starts bringing the pending weapon up +// from the bottom of the screen. +// Uses player +// +void P_BringUpWeapon (player_t* player) +{ + statenum_t newstate; + + if (player->pendingweapon == wp_nochange) + player->pendingweapon = player->readyweapon; + + if (player->pendingweapon == wp_chainsaw) + S_StartSound (player->mo, sfx_sawup); + + newstate = weaponinfo[player->pendingweapon].upstate; + + player->pendingweapon = wp_nochange; + player->psprites[ps_weapon].sy = WEAPONBOTTOM; + + P_SetPsprite (player, ps_weapon, newstate); +} + +// +// P_CheckAmmo +// Returns true if there is enough ammo to shoot. +// If not, selects the next weapon to use. +// +boolean P_CheckAmmo (player_t* player) +{ + ammotype_t ammo; + int count; + + ammo = weaponinfo[player->readyweapon].ammo; + + // Minimal amount for one shot varies. + if (player->readyweapon == wp_bfg) + count = deh_bfg_cells_per_shot; + else if (player->readyweapon == wp_supershotgun) + count = 2; // Double barrel. + else + count = 1; // Regular. + + // Some do not need ammunition anyway. + // Return if current ammunition sufficient. + if (ammo == am_noammo || player->ammo[ammo] >= count) + return true; + + // Out of ammo, pick a weapon to change to. + // Preferences are set here. + do + { + if (player->weaponowned[wp_plasma] + && player->ammo[am_cell] + && (gamemode != shareware) ) + { + player->pendingweapon = wp_plasma; + } + else if (player->weaponowned[wp_supershotgun] + && player->ammo[am_shell]>2 + && (gamemode == commercial) ) + { + player->pendingweapon = wp_supershotgun; + } + else if (player->weaponowned[wp_chaingun] + && player->ammo[am_clip]) + { + player->pendingweapon = wp_chaingun; + } + else if (player->weaponowned[wp_shotgun] + && player->ammo[am_shell]) + { + player->pendingweapon = wp_shotgun; + } + else if (player->ammo[am_clip]) + { + player->pendingweapon = wp_pistol; + } + else if (player->weaponowned[wp_chainsaw]) + { + player->pendingweapon = wp_chainsaw; + } + else if (player->weaponowned[wp_missile] + && player->ammo[am_misl]) + { + player->pendingweapon = wp_missile; + } + else if (player->weaponowned[wp_bfg] + && player->ammo[am_cell]>40 + && (gamemode != shareware) ) + { + player->pendingweapon = wp_bfg; + } + else + { + // If everything fails. + player->pendingweapon = wp_fist; + } + + } while (player->pendingweapon == wp_nochange); + + // Now set appropriate weapon overlay. + P_SetPsprite (player, + ps_weapon, + weaponinfo[player->readyweapon].downstate); + + return false; +} + + +// +// P_FireWeapon. +// +void P_FireWeapon (player_t* player) +{ + statenum_t newstate; + + if (!P_CheckAmmo (player)) + return; + + P_SetMobjState (player->mo, S_PLAY_ATK1); + newstate = weaponinfo[player->readyweapon].atkstate; + P_SetPsprite (player, ps_weapon, newstate); + P_NoiseAlert (player->mo, player->mo); +} + + + +// +// P_DropWeapon +// Player died, so put the weapon away. +// +void P_DropWeapon (player_t* player) +{ + P_SetPsprite (player, + ps_weapon, + weaponinfo[player->readyweapon].downstate); +} + + + +// +// A_WeaponReady +// The player can fire the weapon +// or change to another weapon at this time. +// Follows after getting weapon up, +// or after previous attack/fire sequence. +// +void +A_WeaponReady +( player_t* player, + pspdef_t* psp ) +{ + statenum_t newstate; + int angle; + + // get out of attack state + if (player->mo->state == &states[S_PLAY_ATK1] + || player->mo->state == &states[S_PLAY_ATK2] ) + { + P_SetMobjState (player->mo, S_PLAY); + } + + if (player->readyweapon == wp_chainsaw + && psp->state == &states[S_SAW]) + { + S_StartSound (player->mo, sfx_sawidl); + } + + // check for change + // if player is dead, put the weapon away + if (player->pendingweapon != wp_nochange || !player->health) + { + // change weapon + // (pending weapon should allready be validated) + newstate = weaponinfo[player->readyweapon].downstate; + P_SetPsprite (player, ps_weapon, newstate); + return; + } + + // check for fire + // the missile launcher and bfg do not auto fire + if (player->cmd.buttons & BT_ATTACK) + { + if ( !player->attackdown + || (player->readyweapon != wp_missile + && player->readyweapon != wp_bfg) ) + { + player->attackdown = true; + P_FireWeapon (player); + return; + } + } + else + player->attackdown = false; + + // bob the weapon based on movement speed + angle = (128*leveltime)&FINEMASK; + psp->sx = FRACUNIT + FixedMul (player->bob, finecosine[angle]); + angle &= FINEANGLES/2-1; + psp->sy = WEAPONTOP + FixedMul (player->bob, finesine[angle]); +} + + + +// +// A_ReFire +// The player can re-fire the weapon +// without lowering it entirely. +// +void A_ReFire +( player_t* player, + pspdef_t* psp ) +{ + + // check for fire + // (if a weaponchange is pending, let it go through instead) + if ( (player->cmd.buttons & BT_ATTACK) + && player->pendingweapon == wp_nochange + && player->health) + { + player->refire++; + P_FireWeapon (player); + } + else + { + player->refire = 0; + P_CheckAmmo (player); + } +} + + +void +A_CheckReload +( player_t* player, + pspdef_t* psp ) +{ + P_CheckAmmo (player); +#if 0 + if (player->ammo[am_shell]<2) + P_SetPsprite (player, ps_weapon, S_DSNR1); +#endif +} + + + +// +// A_Lower +// Lowers current weapon, +// and changes weapon at bottom. +// +void +A_Lower +( player_t* player, + pspdef_t* psp ) +{ + psp->sy += LOWERSPEED; + + // Is already down. + if (psp->sy < WEAPONBOTTOM ) + return; + + // Player is dead. + if (player->playerstate == PST_DEAD) + { + psp->sy = WEAPONBOTTOM; + + // don't bring weapon back up + return; + } + + // The old weapon has been lowered off the screen, + // so change the weapon and start raising it + if (!player->health) + { + // Player is dead, so keep the weapon off screen. + P_SetPsprite (player, ps_weapon, S_NULL); + return; + } + + player->readyweapon = player->pendingweapon; + + P_BringUpWeapon (player); +} + + +// +// A_Raise +// +void +A_Raise +( player_t* player, + pspdef_t* psp ) +{ + statenum_t newstate; + + psp->sy -= RAISESPEED; + + if (psp->sy > WEAPONTOP ) + return; + + psp->sy = WEAPONTOP; + + // The weapon has been raised all the way, + // so change to the ready state. + newstate = weaponinfo[player->readyweapon].readystate; + + P_SetPsprite (player, ps_weapon, newstate); +} + + + +// +// A_GunFlash +// +void +A_GunFlash +( player_t* player, + pspdef_t* psp ) +{ + P_SetMobjState (player->mo, S_PLAY_ATK2); + P_SetPsprite (player,ps_flash,weaponinfo[player->readyweapon].flashstate); +} + + + +// +// WEAPON ATTACKS +// + + +// +// A_Punch +// +void +A_Punch +( player_t* player, + pspdef_t* psp ) +{ + angle_t angle; + int damage; + int slope; + + damage = (P_Random ()%10+1)<<1; + + if (player->powers[pw_strength]) + damage *= 10; + + angle = player->mo->angle; + angle += (P_Random()-P_Random())<<18; + slope = P_AimLineAttack (player->mo, angle, MELEERANGE); + P_LineAttack (player->mo, angle, MELEERANGE, slope, damage); + + // turn to face target + if (linetarget) + { + S_StartSound (player->mo, sfx_punch); + player->mo->angle = R_PointToAngle2 (player->mo->x, + player->mo->y, + linetarget->x, + linetarget->y); + } +} + + +// +// A_Saw +// +void +A_Saw +( player_t* player, + pspdef_t* psp ) +{ + angle_t angle; + int damage; + int slope; + + damage = 2*(P_Random ()%10+1); + angle = player->mo->angle; + angle += (P_Random()-P_Random())<<18; + + // use meleerange + 1 se the puff doesn't skip the flash + slope = P_AimLineAttack (player->mo, angle, MELEERANGE+1); + P_LineAttack (player->mo, angle, MELEERANGE+1, slope, damage); + + if (!linetarget) + { + S_StartSound (player->mo, sfx_sawful); + return; + } + S_StartSound (player->mo, sfx_sawhit); + + // turn to face target + angle = R_PointToAngle2 (player->mo->x, player->mo->y, + linetarget->x, linetarget->y); + if (angle - player->mo->angle > ANG180) + { + if ((signed int) (angle - player->mo->angle) < -ANG90/20) + player->mo->angle = angle + ANG90/21; + else + player->mo->angle -= ANG90/20; + } + else + { + if (angle - player->mo->angle > ANG90/20) + player->mo->angle = angle - ANG90/21; + else + player->mo->angle += ANG90/20; + } + player->mo->flags |= MF_JUSTATTACKED; +} + +// Doom does not check the bounds of the ammo array. As a result, +// it is possible to use an ammo type > 4 that overflows into the +// maxammo array and affects that instead. Through dehacked, for +// example, it is possible to make a weapon that decreases the max +// number of ammo for another weapon. Emulate this. + +static void DecreaseAmmo(player_t *player, int ammonum, int amount) +{ + if (ammonum < NUMAMMO) + { + player->ammo[ammonum] -= amount; + } + else + { + player->maxammo[ammonum - NUMAMMO] -= amount; + } +} + + +// +// A_FireMissile +// +void +A_FireMissile +( player_t* player, + pspdef_t* psp ) +{ + DecreaseAmmo(player, weaponinfo[player->readyweapon].ammo, 1); + P_SpawnPlayerMissile (player->mo, MT_ROCKET); +} + + +// +// A_FireBFG +// +void +A_FireBFG +( player_t* player, + pspdef_t* psp ) +{ + DecreaseAmmo(player, weaponinfo[player->readyweapon].ammo, + deh_bfg_cells_per_shot); + P_SpawnPlayerMissile (player->mo, MT_BFG); +} + + + +// +// A_FirePlasma +// +void +A_FirePlasma +( player_t* player, + pspdef_t* psp ) +{ + DecreaseAmmo(player, weaponinfo[player->readyweapon].ammo, 1); + + P_SetPsprite (player, + ps_flash, + weaponinfo[player->readyweapon].flashstate+(P_Random ()&1) ); + + P_SpawnPlayerMissile (player->mo, MT_PLASMA); +} + + + +// +// P_BulletSlope +// Sets a slope so a near miss is at aproximately +// the height of the intended target +// +fixed_t bulletslope; + + +void P_BulletSlope (mobj_t* mo) +{ + angle_t an; + + // see which target is to be aimed at + an = mo->angle; + bulletslope = P_AimLineAttack (mo, an, 16*64*FRACUNIT); + + if (!linetarget) + { + an += 1<<26; + bulletslope = P_AimLineAttack (mo, an, 16*64*FRACUNIT); + if (!linetarget) + { + an -= 2<<26; + bulletslope = P_AimLineAttack (mo, an, 16*64*FRACUNIT); + } + } +} + + +// +// P_GunShot +// +void +P_GunShot +( mobj_t* mo, + boolean accurate ) +{ + angle_t angle; + int damage; + + damage = 5*(P_Random ()%3+1); + angle = mo->angle; + + if (!accurate) + angle += (P_Random()-P_Random())<<18; + + P_LineAttack (mo, angle, MISSILERANGE, bulletslope, damage); +} + + +// +// A_FirePistol +// +void +A_FirePistol +( player_t* player, + pspdef_t* psp ) +{ + S_StartSound (player->mo, sfx_pistol); + + P_SetMobjState (player->mo, S_PLAY_ATK2); + DecreaseAmmo(player, weaponinfo[player->readyweapon].ammo, 1); + + P_SetPsprite (player, + ps_flash, + weaponinfo[player->readyweapon].flashstate); + + P_BulletSlope (player->mo); + P_GunShot (player->mo, !player->refire); +} + + +// +// A_FireShotgun +// +void +A_FireShotgun +( player_t* player, + pspdef_t* psp ) +{ + int i; + + S_StartSound (player->mo, sfx_shotgn); + P_SetMobjState (player->mo, S_PLAY_ATK2); + + DecreaseAmmo(player, weaponinfo[player->readyweapon].ammo, 1); + + P_SetPsprite (player, + ps_flash, + weaponinfo[player->readyweapon].flashstate); + + P_BulletSlope (player->mo); + + for (i=0 ; i<7 ; i++) + P_GunShot (player->mo, false); +} + + + +// +// A_FireShotgun2 +// +void +A_FireShotgun2 +( player_t* player, + pspdef_t* psp ) +{ + int i; + angle_t angle; + int damage; + + + S_StartSound (player->mo, sfx_dshtgn); + P_SetMobjState (player->mo, S_PLAY_ATK2); + + DecreaseAmmo(player, weaponinfo[player->readyweapon].ammo, 2); + + P_SetPsprite (player, + ps_flash, + weaponinfo[player->readyweapon].flashstate); + + P_BulletSlope (player->mo); + + for (i=0 ; i<20 ; i++) + { + damage = 5*(P_Random ()%3+1); + angle = player->mo->angle; + angle += (P_Random()-P_Random())<<19; + P_LineAttack (player->mo, + angle, + MISSILERANGE, + bulletslope + ((P_Random()-P_Random())<<5), damage); + } +} + + +// +// A_FireCGun +// +void +A_FireCGun +( player_t* player, + pspdef_t* psp ) +{ + S_StartSound (player->mo, sfx_pistol); + + if (!player->ammo[weaponinfo[player->readyweapon].ammo]) + return; + + P_SetMobjState (player->mo, S_PLAY_ATK2); + DecreaseAmmo(player, weaponinfo[player->readyweapon].ammo, 1); + + P_SetPsprite (player, + ps_flash, + weaponinfo[player->readyweapon].flashstate + + psp->state + - &states[S_CHAIN1] ); + + P_BulletSlope (player->mo); + + P_GunShot (player->mo, !player->refire); +} + + + +// +// ? +// +void A_Light0 (player_t *player, pspdef_t *psp) +{ + player->extralight = 0; +} + +void A_Light1 (player_t *player, pspdef_t *psp) +{ + player->extralight = 1; +} + +void A_Light2 (player_t *player, pspdef_t *psp) +{ + player->extralight = 2; +} + + +// +// A_BFGSpray +// Spawn a BFG explosion on every monster in view +// +void A_BFGSpray (mobj_t* mo) +{ + int i; + int j; + int damage; + angle_t an; + + // offset angles from its attack angle + for (i=0 ; i<40 ; i++) + { + an = mo->angle - ANG90/2 + ANG90/40*i; + + // mo->target is the originator (player) + // of the missile + P_AimLineAttack (mo->target, an, 16*64*FRACUNIT); + + if (!linetarget) + continue; + + P_SpawnMobj (linetarget->x, + linetarget->y, + linetarget->z + (linetarget->height>>2), + MT_EXTRABFG); + + damage = 0; + for (j=0;j<15;j++) + damage += (P_Random()&7) + 1; + + P_DamageMobj (linetarget, mo->target,mo->target, damage); + } +} + + +// +// A_BFGsound +// +void +A_BFGsound +( player_t* player, + pspdef_t* psp ) +{ + S_StartSound (player->mo, sfx_bfg); +} + + + +// +// P_SetupPsprites +// Called at start of level for each player. +// +void P_SetupPsprites (player_t* player) +{ + int i; + + // remove all psprites + for (i=0 ; ipsprites[i].state = NULL; + + // spawn the gun + player->pendingweapon = player->readyweapon; + P_BringUpWeapon (player); +} + + + + +// +// P_MovePsprites +// Called every tic by player thinking routine. +// +void P_MovePsprites (player_t* player) +{ + int i; + pspdef_t* psp; + state_t* state; + + psp = &player->psprites[0]; + for (i=0 ; istate) ) + { + // drop tic count and possibly change state + + // a -1 tic count never changes + if (psp->tics != -1) + { + psp->tics--; + if (!psp->tics) + P_SetPsprite (player, i, psp->state->nextstate); + } + } + } + + player->psprites[ps_flash].sx = player->psprites[ps_weapon].sx; + player->psprites[ps_flash].sy = player->psprites[ps_weapon].sy; +} + + diff --git a/src/kernel/userland/doom/p_pspr.h b/src/kernel/userland/doom/p_pspr.h new file mode 100644 index 0000000..f98fe35 --- /dev/null +++ b/src/kernel/userland/doom/p_pspr.h @@ -0,0 +1,71 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Sprite animation. +// + + +#ifndef __P_PSPR__ +#define __P_PSPR__ + +// Basic data types. +// Needs fixed point, and BAM angles. +#include "m_fixed.h" +#include "tables.h" + + +// +// Needs to include the precompiled +// sprite animation tables. +// Header generated by multigen utility. +// This includes all the data for thing animation, +// i.e. the Thing Atrributes table +// and the Frame Sequence table. +#include "info.h" + + + +// +// Frame flags: +// handles maximum brightness (torches, muzzle flare, light sources) +// +#define FF_FULLBRIGHT 0x8000 // flag in thing->frame +#define FF_FRAMEMASK 0x7fff + + + +// +// Overlay psprites are scaled shapes +// drawn directly on the view screen, +// coordinates are given for a 320*200 view screen. +// +typedef enum +{ + ps_weapon, + ps_flash, + NUMPSPRITES + +} psprnum_t; + +typedef struct +{ + state_t* state; // a NULL state means not active + int tics; + fixed_t sx; + fixed_t sy; + +} pspdef_t; + +#endif diff --git a/src/kernel/userland/doom/p_saveg.c b/src/kernel/userland/doom/p_saveg.c new file mode 100644 index 0000000..5cb8196 --- /dev/null +++ b/src/kernel/userland/doom/p_saveg.c @@ -0,0 +1,1891 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Archiving: SaveGame I/O. +// + + +#include +#include + +#include "dstrings.h" +#include "deh_main.h" +#include "i_system.h" +#include "z_zone.h" +#include "p_local.h" +#include "p_saveg.h" + +// State. +#include "doomstat.h" +#include "g_game.h" +#include "m_misc.h" +#include "r_state.h" + +#define SAVEGAME_EOF 0x1d +#define VERSIONSIZE 16 + +FILE *save_stream; +int savegamelength; +boolean savegame_error; + +// Get the filename of a temporary file to write the savegame to. After +// the file has been successfully saved, it will be renamed to the +// real file. + +char *P_TempSaveGameFile(void) +{ + static char *filename = NULL; + + if (filename == NULL) + { + filename = M_StringJoin(savegamedir, "temp.dsg", NULL); + } + + return filename; +} + +// Get the filename of the save game file to use for the specified slot. + +char *P_SaveGameFile(int slot) +{ + static char *filename = NULL; + static size_t filename_size = 0; + char basename[32]; + + if (filename == NULL) + { + filename_size = strlen(savegamedir) + 32; + filename = malloc(filename_size); + } + + DEH_snprintf(basename, 32, SAVEGAMENAME "%d.dsg", slot); + M_snprintf(filename, filename_size, "%s%s", savegamedir, basename); + + return filename; +} + +// Endian-safe integer read/write functions + +static byte saveg_read8(void) +{ + byte result; + + if (fread(&result, 1, 1, save_stream) < 1) + { + if (!savegame_error) + { + fprintf(stderr, "saveg_read8: Unexpected end of file while " + "reading save game\n"); + + savegame_error = true; + } + } + + return result; +} + +static void saveg_write8(byte value) +{ + if (fwrite(&value, 1, 1, save_stream) < 1) + { + if (!savegame_error) + { + fprintf(stderr, "saveg_write8: Error while writing save game\n"); + + savegame_error = true; + } + } +} + +static short saveg_read16(void) +{ + int result; + + result = saveg_read8(); + result |= saveg_read8() << 8; + + return result; +} + +static void saveg_write16(short value) +{ + saveg_write8(value & 0xff); + saveg_write8((value >> 8) & 0xff); +} + +static int saveg_read32(void) +{ + int result; + + result = saveg_read8(); + result |= saveg_read8() << 8; + result |= saveg_read8() << 16; + result |= saveg_read8() << 24; + + return result; +} + +static void saveg_write32(int value) +{ + saveg_write8(value & 0xff); + saveg_write8((value >> 8) & 0xff); + saveg_write8((value >> 16) & 0xff); + saveg_write8((value >> 24) & 0xff); +} + +// Pad to 4-byte boundaries + +static void saveg_read_pad(void) +{ + unsigned long pos; + int padding; + int i; + + pos = ftell(save_stream); + + padding = (4 - (pos & 3)) & 3; + + for (i=0; ix = saveg_read16(); + + // short y; + str->y = saveg_read16(); + + // short angle; + str->angle = saveg_read16(); + + // short type; + str->type = saveg_read16(); + + // short options; + str->options = saveg_read16(); +} + +static void saveg_write_mapthing_t(mapthing_t *str) +{ + // short x; + saveg_write16(str->x); + + // short y; + saveg_write16(str->y); + + // short angle; + saveg_write16(str->angle); + + // short type; + saveg_write16(str->type); + + // short options; + saveg_write16(str->options); +} + +// +// actionf_t +// + +static void saveg_read_actionf_t(actionf_t *str) +{ + // actionf_p1 acp1; + str->acp1 = saveg_readp(); +} + +static void saveg_write_actionf_t(actionf_t *str) +{ + // actionf_p1 acp1; + saveg_writep(str->acp1); +} + +// +// think_t +// +// This is just an actionf_t. +// + +#define saveg_read_think_t saveg_read_actionf_t +#define saveg_write_think_t saveg_write_actionf_t + +// +// thinker_t +// + +static void saveg_read_thinker_t(thinker_t *str) +{ + // struct thinker_s* prev; + str->prev = saveg_readp(); + + // struct thinker_s* next; + str->next = saveg_readp(); + + // think_t function; + saveg_read_think_t(&str->function); +} + +static void saveg_write_thinker_t(thinker_t *str) +{ + // struct thinker_s* prev; + saveg_writep(str->prev); + + // struct thinker_s* next; + saveg_writep(str->next); + + // think_t function; + saveg_write_think_t(&str->function); +} + +// +// mobj_t +// + +static void saveg_read_mobj_t(mobj_t *str) +{ + int pl; + + // thinker_t thinker; + saveg_read_thinker_t(&str->thinker); + + // fixed_t x; + str->x = saveg_read32(); + + // fixed_t y; + str->y = saveg_read32(); + + // fixed_t z; + str->z = saveg_read32(); + + // struct mobj_s* snext; + str->snext = saveg_readp(); + + // struct mobj_s* sprev; + str->sprev = saveg_readp(); + + // angle_t angle; + str->angle = saveg_read32(); + + // spritenum_t sprite; + str->sprite = saveg_read_enum(); + + // int frame; + str->frame = saveg_read32(); + + // struct mobj_s* bnext; + str->bnext = saveg_readp(); + + // struct mobj_s* bprev; + str->bprev = saveg_readp(); + + // struct subsector_s* subsector; + str->subsector = saveg_readp(); + + // fixed_t floorz; + str->floorz = saveg_read32(); + + // fixed_t ceilingz; + str->ceilingz = saveg_read32(); + + // fixed_t radius; + str->radius = saveg_read32(); + + // fixed_t height; + str->height = saveg_read32(); + + // fixed_t momx; + str->momx = saveg_read32(); + + // fixed_t momy; + str->momy = saveg_read32(); + + // fixed_t momz; + str->momz = saveg_read32(); + + // int validcount; + str->validcount = saveg_read32(); + + // mobjtype_t type; + str->type = saveg_read_enum(); + + // mobjinfo_t* info; + str->info = saveg_readp(); + + // int tics; + str->tics = saveg_read32(); + + // state_t* state; + str->state = &states[saveg_read32()]; + + // int flags; + str->flags = saveg_read32(); + + // int health; + str->health = saveg_read32(); + + // int movedir; + str->movedir = saveg_read32(); + + // int movecount; + str->movecount = saveg_read32(); + + // struct mobj_s* target; + str->target = saveg_readp(); + + // int reactiontime; + str->reactiontime = saveg_read32(); + + // int threshold; + str->threshold = saveg_read32(); + + // struct player_s* player; + pl = saveg_read32(); + + if (pl > 0) + { + str->player = &players[pl - 1]; + str->player->mo = str; + } + else + { + str->player = NULL; + } + + // int lastlook; + str->lastlook = saveg_read32(); + + // mapthing_t spawnpoint; + saveg_read_mapthing_t(&str->spawnpoint); + + // struct mobj_s* tracer; + str->tracer = saveg_readp(); +} + +static void saveg_write_mobj_t(mobj_t *str) +{ + // thinker_t thinker; + saveg_write_thinker_t(&str->thinker); + + // fixed_t x; + saveg_write32(str->x); + + // fixed_t y; + saveg_write32(str->y); + + // fixed_t z; + saveg_write32(str->z); + + // struct mobj_s* snext; + saveg_writep(str->snext); + + // struct mobj_s* sprev; + saveg_writep(str->sprev); + + // angle_t angle; + saveg_write32(str->angle); + + // spritenum_t sprite; + saveg_write_enum(str->sprite); + + // int frame; + saveg_write32(str->frame); + + // struct mobj_s* bnext; + saveg_writep(str->bnext); + + // struct mobj_s* bprev; + saveg_writep(str->bprev); + + // struct subsector_s* subsector; + saveg_writep(str->subsector); + + // fixed_t floorz; + saveg_write32(str->floorz); + + // fixed_t ceilingz; + saveg_write32(str->ceilingz); + + // fixed_t radius; + saveg_write32(str->radius); + + // fixed_t height; + saveg_write32(str->height); + + // fixed_t momx; + saveg_write32(str->momx); + + // fixed_t momy; + saveg_write32(str->momy); + + // fixed_t momz; + saveg_write32(str->momz); + + // int validcount; + saveg_write32(str->validcount); + + // mobjtype_t type; + saveg_write_enum(str->type); + + // mobjinfo_t* info; + saveg_writep(str->info); + + // int tics; + saveg_write32(str->tics); + + // state_t* state; + saveg_write32(str->state - states); + + // int flags; + saveg_write32(str->flags); + + // int health; + saveg_write32(str->health); + + // int movedir; + saveg_write32(str->movedir); + + // int movecount; + saveg_write32(str->movecount); + + // struct mobj_s* target; + saveg_writep(str->target); + + // int reactiontime; + saveg_write32(str->reactiontime); + + // int threshold; + saveg_write32(str->threshold); + + // struct player_s* player; + if (str->player) + { + saveg_write32(str->player - players + 1); + } + else + { + saveg_write32(0); + } + + // int lastlook; + saveg_write32(str->lastlook); + + // mapthing_t spawnpoint; + saveg_write_mapthing_t(&str->spawnpoint); + + // struct mobj_s* tracer; + saveg_writep(str->tracer); +} + + +// +// ticcmd_t +// + +static void saveg_read_ticcmd_t(ticcmd_t *str) +{ + + // signed char forwardmove; + str->forwardmove = saveg_read8(); + + // signed char sidemove; + str->sidemove = saveg_read8(); + + // short angleturn; + str->angleturn = saveg_read16(); + + // short consistancy; + str->consistancy = saveg_read16(); + + // byte chatchar; + str->chatchar = saveg_read8(); + + // byte buttons; + str->buttons = saveg_read8(); +} + +static void saveg_write_ticcmd_t(ticcmd_t *str) +{ + + // signed char forwardmove; + saveg_write8(str->forwardmove); + + // signed char sidemove; + saveg_write8(str->sidemove); + + // short angleturn; + saveg_write16(str->angleturn); + + // short consistancy; + saveg_write16(str->consistancy); + + // byte chatchar; + saveg_write8(str->chatchar); + + // byte buttons; + saveg_write8(str->buttons); +} + +// +// pspdef_t +// + +static void saveg_read_pspdef_t(pspdef_t *str) +{ + int state; + + // state_t* state; + state = saveg_read32(); + + if (state > 0) + { + str->state = &states[state]; + } + else + { + str->state = NULL; + } + + // int tics; + str->tics = saveg_read32(); + + // fixed_t sx; + str->sx = saveg_read32(); + + // fixed_t sy; + str->sy = saveg_read32(); +} + +static void saveg_write_pspdef_t(pspdef_t *str) +{ + // state_t* state; + if (str->state) + { + saveg_write32(str->state - states); + } + else + { + saveg_write32(0); + } + + // int tics; + saveg_write32(str->tics); + + // fixed_t sx; + saveg_write32(str->sx); + + // fixed_t sy; + saveg_write32(str->sy); +} + +// +// player_t +// + +static void saveg_read_player_t(player_t *str) +{ + int i; + + // mobj_t* mo; + str->mo = saveg_readp(); + + // playerstate_t playerstate; + str->playerstate = saveg_read_enum(); + + // ticcmd_t cmd; + saveg_read_ticcmd_t(&str->cmd); + + // fixed_t viewz; + str->viewz = saveg_read32(); + + // fixed_t viewheight; + str->viewheight = saveg_read32(); + + // fixed_t deltaviewheight; + str->deltaviewheight = saveg_read32(); + + // fixed_t bob; + str->bob = saveg_read32(); + + // int health; + str->health = saveg_read32(); + + // int armorpoints; + str->armorpoints = saveg_read32(); + + // int armortype; + str->armortype = saveg_read32(); + + // int powers[NUMPOWERS]; + for (i=0; ipowers[i] = saveg_read32(); + } + + // boolean cards[NUMCARDS]; + for (i=0; icards[i] = saveg_read32(); + } + + // boolean backpack; + str->backpack = saveg_read32(); + + // int frags[MAXPLAYERS]; + for (i=0; ifrags[i] = saveg_read32(); + } + + // weapontype_t readyweapon; + str->readyweapon = saveg_read_enum(); + + // weapontype_t pendingweapon; + str->pendingweapon = saveg_read_enum(); + + // boolean weaponowned[NUMWEAPONS]; + for (i=0; iweaponowned[i] = saveg_read32(); + } + + // int ammo[NUMAMMO]; + for (i=0; iammo[i] = saveg_read32(); + } + + // int maxammo[NUMAMMO]; + for (i=0; imaxammo[i] = saveg_read32(); + } + + // int attackdown; + str->attackdown = saveg_read32(); + + // int usedown; + str->usedown = saveg_read32(); + + // int cheats; + str->cheats = saveg_read32(); + + // int refire; + str->refire = saveg_read32(); + + // int killcount; + str->killcount = saveg_read32(); + + // int itemcount; + str->itemcount = saveg_read32(); + + // int secretcount; + str->secretcount = saveg_read32(); + + // char* message; + str->message = saveg_readp(); + + // int damagecount; + str->damagecount = saveg_read32(); + + // int bonuscount; + str->bonuscount = saveg_read32(); + + // mobj_t* attacker; + str->attacker = saveg_readp(); + + // int extralight; + str->extralight = saveg_read32(); + + // int fixedcolormap; + str->fixedcolormap = saveg_read32(); + + // int colormap; + str->colormap = saveg_read32(); + + // pspdef_t psprites[NUMPSPRITES]; + for (i=0; ipsprites[i]); + } + + // boolean didsecret; + str->didsecret = saveg_read32(); +} + +static void saveg_write_player_t(player_t *str) +{ + int i; + + // mobj_t* mo; + saveg_writep(str->mo); + + // playerstate_t playerstate; + saveg_write_enum(str->playerstate); + + // ticcmd_t cmd; + saveg_write_ticcmd_t(&str->cmd); + + // fixed_t viewz; + saveg_write32(str->viewz); + + // fixed_t viewheight; + saveg_write32(str->viewheight); + + // fixed_t deltaviewheight; + saveg_write32(str->deltaviewheight); + + // fixed_t bob; + saveg_write32(str->bob); + + // int health; + saveg_write32(str->health); + + // int armorpoints; + saveg_write32(str->armorpoints); + + // int armortype; + saveg_write32(str->armortype); + + // int powers[NUMPOWERS]; + for (i=0; ipowers[i]); + } + + // boolean cards[NUMCARDS]; + for (i=0; icards[i]); + } + + // boolean backpack; + saveg_write32(str->backpack); + + // int frags[MAXPLAYERS]; + for (i=0; ifrags[i]); + } + + // weapontype_t readyweapon; + saveg_write_enum(str->readyweapon); + + // weapontype_t pendingweapon; + saveg_write_enum(str->pendingweapon); + + // boolean weaponowned[NUMWEAPONS]; + for (i=0; iweaponowned[i]); + } + + // int ammo[NUMAMMO]; + for (i=0; iammo[i]); + } + + // int maxammo[NUMAMMO]; + for (i=0; imaxammo[i]); + } + + // int attackdown; + saveg_write32(str->attackdown); + + // int usedown; + saveg_write32(str->usedown); + + // int cheats; + saveg_write32(str->cheats); + + // int refire; + saveg_write32(str->refire); + + // int killcount; + saveg_write32(str->killcount); + + // int itemcount; + saveg_write32(str->itemcount); + + // int secretcount; + saveg_write32(str->secretcount); + + // char* message; + saveg_writep(str->message); + + // int damagecount; + saveg_write32(str->damagecount); + + // int bonuscount; + saveg_write32(str->bonuscount); + + // mobj_t* attacker; + saveg_writep(str->attacker); + + // int extralight; + saveg_write32(str->extralight); + + // int fixedcolormap; + saveg_write32(str->fixedcolormap); + + // int colormap; + saveg_write32(str->colormap); + + // pspdef_t psprites[NUMPSPRITES]; + for (i=0; ipsprites[i]); + } + + // boolean didsecret; + saveg_write32(str->didsecret); +} + + +// +// ceiling_t +// + +static void saveg_read_ceiling_t(ceiling_t *str) +{ + int sector; + + // thinker_t thinker; + saveg_read_thinker_t(&str->thinker); + + // ceiling_e type; + str->type = saveg_read_enum(); + + // sector_t* sector; + sector = saveg_read32(); + str->sector = §ors[sector]; + + // fixed_t bottomheight; + str->bottomheight = saveg_read32(); + + // fixed_t topheight; + str->topheight = saveg_read32(); + + // fixed_t speed; + str->speed = saveg_read32(); + + // boolean crush; + str->crush = saveg_read32(); + + // int direction; + str->direction = saveg_read32(); + + // int tag; + str->tag = saveg_read32(); + + // int olddirection; + str->olddirection = saveg_read32(); +} + +static void saveg_write_ceiling_t(ceiling_t *str) +{ + // thinker_t thinker; + saveg_write_thinker_t(&str->thinker); + + // ceiling_e type; + saveg_write_enum(str->type); + + // sector_t* sector; + saveg_write32(str->sector - sectors); + + // fixed_t bottomheight; + saveg_write32(str->bottomheight); + + // fixed_t topheight; + saveg_write32(str->topheight); + + // fixed_t speed; + saveg_write32(str->speed); + + // boolean crush; + saveg_write32(str->crush); + + // int direction; + saveg_write32(str->direction); + + // int tag; + saveg_write32(str->tag); + + // int olddirection; + saveg_write32(str->olddirection); +} + +// +// vldoor_t +// + +static void saveg_read_vldoor_t(vldoor_t *str) +{ + int sector; + + // thinker_t thinker; + saveg_read_thinker_t(&str->thinker); + + // vldoor_e type; + str->type = saveg_read_enum(); + + // sector_t* sector; + sector = saveg_read32(); + str->sector = §ors[sector]; + + // fixed_t topheight; + str->topheight = saveg_read32(); + + // fixed_t speed; + str->speed = saveg_read32(); + + // int direction; + str->direction = saveg_read32(); + + // int topwait; + str->topwait = saveg_read32(); + + // int topcountdown; + str->topcountdown = saveg_read32(); +} + +static void saveg_write_vldoor_t(vldoor_t *str) +{ + // thinker_t thinker; + saveg_write_thinker_t(&str->thinker); + + // vldoor_e type; + saveg_write_enum(str->type); + + // sector_t* sector; + saveg_write32(str->sector - sectors); + + // fixed_t topheight; + saveg_write32(str->topheight); + + // fixed_t speed; + saveg_write32(str->speed); + + // int direction; + saveg_write32(str->direction); + + // int topwait; + saveg_write32(str->topwait); + + // int topcountdown; + saveg_write32(str->topcountdown); +} + +// +// floormove_t +// + +static void saveg_read_floormove_t(floormove_t *str) +{ + int sector; + + // thinker_t thinker; + saveg_read_thinker_t(&str->thinker); + + // floor_e type; + str->type = saveg_read_enum(); + + // boolean crush; + str->crush = saveg_read32(); + + // sector_t* sector; + sector = saveg_read32(); + str->sector = §ors[sector]; + + // int direction; + str->direction = saveg_read32(); + + // int newspecial; + str->newspecial = saveg_read32(); + + // short texture; + str->texture = saveg_read16(); + + // fixed_t floordestheight; + str->floordestheight = saveg_read32(); + + // fixed_t speed; + str->speed = saveg_read32(); +} + +static void saveg_write_floormove_t(floormove_t *str) +{ + // thinker_t thinker; + saveg_write_thinker_t(&str->thinker); + + // floor_e type; + saveg_write_enum(str->type); + + // boolean crush; + saveg_write32(str->crush); + + // sector_t* sector; + saveg_write32(str->sector - sectors); + + // int direction; + saveg_write32(str->direction); + + // int newspecial; + saveg_write32(str->newspecial); + + // short texture; + saveg_write16(str->texture); + + // fixed_t floordestheight; + saveg_write32(str->floordestheight); + + // fixed_t speed; + saveg_write32(str->speed); +} + +// +// plat_t +// + +static void saveg_read_plat_t(plat_t *str) +{ + int sector; + + // thinker_t thinker; + saveg_read_thinker_t(&str->thinker); + + // sector_t* sector; + sector = saveg_read32(); + str->sector = §ors[sector]; + + // fixed_t speed; + str->speed = saveg_read32(); + + // fixed_t low; + str->low = saveg_read32(); + + // fixed_t high; + str->high = saveg_read32(); + + // int wait; + str->wait = saveg_read32(); + + // int count; + str->count = saveg_read32(); + + // plat_e status; + str->status = saveg_read_enum(); + + // plat_e oldstatus; + str->oldstatus = saveg_read_enum(); + + // boolean crush; + str->crush = saveg_read32(); + + // int tag; + str->tag = saveg_read32(); + + // plattype_e type; + str->type = saveg_read_enum(); +} + +static void saveg_write_plat_t(plat_t *str) +{ + // thinker_t thinker; + saveg_write_thinker_t(&str->thinker); + + // sector_t* sector; + saveg_write32(str->sector - sectors); + + // fixed_t speed; + saveg_write32(str->speed); + + // fixed_t low; + saveg_write32(str->low); + + // fixed_t high; + saveg_write32(str->high); + + // int wait; + saveg_write32(str->wait); + + // int count; + saveg_write32(str->count); + + // plat_e status; + saveg_write_enum(str->status); + + // plat_e oldstatus; + saveg_write_enum(str->oldstatus); + + // boolean crush; + saveg_write32(str->crush); + + // int tag; + saveg_write32(str->tag); + + // plattype_e type; + saveg_write_enum(str->type); +} + +// +// lightflash_t +// + +static void saveg_read_lightflash_t(lightflash_t *str) +{ + int sector; + + // thinker_t thinker; + saveg_read_thinker_t(&str->thinker); + + // sector_t* sector; + sector = saveg_read32(); + str->sector = §ors[sector]; + + // int count; + str->count = saveg_read32(); + + // int maxlight; + str->maxlight = saveg_read32(); + + // int minlight; + str->minlight = saveg_read32(); + + // int maxtime; + str->maxtime = saveg_read32(); + + // int mintime; + str->mintime = saveg_read32(); +} + +static void saveg_write_lightflash_t(lightflash_t *str) +{ + // thinker_t thinker; + saveg_write_thinker_t(&str->thinker); + + // sector_t* sector; + saveg_write32(str->sector - sectors); + + // int count; + saveg_write32(str->count); + + // int maxlight; + saveg_write32(str->maxlight); + + // int minlight; + saveg_write32(str->minlight); + + // int maxtime; + saveg_write32(str->maxtime); + + // int mintime; + saveg_write32(str->mintime); +} + +// +// strobe_t +// + +static void saveg_read_strobe_t(strobe_t *str) +{ + int sector; + + // thinker_t thinker; + saveg_read_thinker_t(&str->thinker); + + // sector_t* sector; + sector = saveg_read32(); + str->sector = §ors[sector]; + + // int count; + str->count = saveg_read32(); + + // int minlight; + str->minlight = saveg_read32(); + + // int maxlight; + str->maxlight = saveg_read32(); + + // int darktime; + str->darktime = saveg_read32(); + + // int brighttime; + str->brighttime = saveg_read32(); +} + +static void saveg_write_strobe_t(strobe_t *str) +{ + // thinker_t thinker; + saveg_write_thinker_t(&str->thinker); + + // sector_t* sector; + saveg_write32(str->sector - sectors); + + // int count; + saveg_write32(str->count); + + // int minlight; + saveg_write32(str->minlight); + + // int maxlight; + saveg_write32(str->maxlight); + + // int darktime; + saveg_write32(str->darktime); + + // int brighttime; + saveg_write32(str->brighttime); +} + +// +// glow_t +// + +static void saveg_read_glow_t(glow_t *str) +{ + int sector; + + // thinker_t thinker; + saveg_read_thinker_t(&str->thinker); + + // sector_t* sector; + sector = saveg_read32(); + str->sector = §ors[sector]; + + // int minlight; + str->minlight = saveg_read32(); + + // int maxlight; + str->maxlight = saveg_read32(); + + // int direction; + str->direction = saveg_read32(); +} + +static void saveg_write_glow_t(glow_t *str) +{ + // thinker_t thinker; + saveg_write_thinker_t(&str->thinker); + + // sector_t* sector; + saveg_write32(str->sector - sectors); + + // int minlight; + saveg_write32(str->minlight); + + // int maxlight; + saveg_write32(str->maxlight); + + // int direction; + saveg_write32(str->direction); +} + +// +// Write the header for a savegame +// + +void P_WriteSaveGameHeader(char *description) +{ + char name[VERSIONSIZE]; + int i; + + for (i=0; description[i] != '\0'; ++i) + saveg_write8(description[i]); + for (; i> 16) & 0xff); + saveg_write8((leveltime >> 8) & 0xff); + saveg_write8(leveltime & 0xff); +} + +// +// Read the header for a savegame +// + +boolean P_ReadSaveGameHeader(void) +{ + int i; + byte a, b, c; + char vcheck[VERSIONSIZE]; + char read_vcheck[VERSIONSIZE]; + + // skip the description field + + for (i=0; ifloorheight >> FRACBITS); + saveg_write16(sec->ceilingheight >> FRACBITS); + saveg_write16(sec->floorpic); + saveg_write16(sec->ceilingpic); + saveg_write16(sec->lightlevel); + saveg_write16(sec->special); // needed? + saveg_write16(sec->tag); // needed? + } + + + // do lines + for (i=0, li = lines ; iflags); + saveg_write16(li->special); + saveg_write16(li->tag); + for (j=0 ; j<2 ; j++) + { + if (li->sidenum[j] == -1) + continue; + + si = &sides[li->sidenum[j]]; + + saveg_write16(si->textureoffset >> FRACBITS); + saveg_write16(si->rowoffset >> FRACBITS); + saveg_write16(si->toptexture); + saveg_write16(si->bottomtexture); + saveg_write16(si->midtexture); + } + } +} + + + +// +// P_UnArchiveWorld +// +void P_UnArchiveWorld (void) +{ + int i; + int j; + sector_t* sec; + line_t* li; + side_t* si; + + // do sectors + for (i=0, sec = sectors ; ifloorheight = saveg_read16() << FRACBITS; + sec->ceilingheight = saveg_read16() << FRACBITS; + sec->floorpic = saveg_read16(); + sec->ceilingpic = saveg_read16(); + sec->lightlevel = saveg_read16(); + sec->special = saveg_read16(); // needed? + sec->tag = saveg_read16(); // needed? + sec->specialdata = 0; + sec->soundtarget = 0; + } + + // do lines + for (i=0, li = lines ; iflags = saveg_read16(); + li->special = saveg_read16(); + li->tag = saveg_read16(); + for (j=0 ; j<2 ; j++) + { + if (li->sidenum[j] == -1) + continue; + si = &sides[li->sidenum[j]]; + si->textureoffset = saveg_read16() << FRACBITS; + si->rowoffset = saveg_read16() << FRACBITS; + si->toptexture = saveg_read16(); + si->bottomtexture = saveg_read16(); + si->midtexture = saveg_read16(); + } + } +} + + + + + +// +// Thinkers +// +typedef enum +{ + tc_end, + tc_mobj + +} thinkerclass_t; + + +// +// P_ArchiveThinkers +// +void P_ArchiveThinkers (void) +{ + thinker_t* th; + + // save off the current thinkers + for (th = thinkercap.next ; th != &thinkercap ; th=th->next) + { + if (th->function.acp1 == (actionf_p1)P_MobjThinker) + { + saveg_write8(tc_mobj); + saveg_write_pad(); + saveg_write_mobj_t((mobj_t *) th); + + continue; + } + + // I_Error ("P_ArchiveThinkers: Unknown thinker function"); + } + + // add a terminating marker + saveg_write8(tc_end); +} + + + +// +// P_UnArchiveThinkers +// +void P_UnArchiveThinkers (void) +{ + byte tclass; + thinker_t* currentthinker; + thinker_t* next; + mobj_t* mobj; + + // remove all the current thinkers + currentthinker = thinkercap.next; + while (currentthinker != &thinkercap) + { + next = currentthinker->next; + + if (currentthinker->function.acp1 == (actionf_p1)P_MobjThinker) + P_RemoveMobj ((mobj_t *)currentthinker); + else + Z_Free (currentthinker); + + currentthinker = next; + } + P_InitThinkers (); + + // read in saved thinkers + while (1) + { + tclass = saveg_read8(); + switch (tclass) + { + case tc_end: + return; // end of list + + case tc_mobj: + saveg_read_pad(); + mobj = Z_Malloc (sizeof(*mobj), PU_LEVEL, NULL); + saveg_read_mobj_t(mobj); + + mobj->target = NULL; + mobj->tracer = NULL; + P_SetThingPosition (mobj); + mobj->info = &mobjinfo[mobj->type]; + mobj->floorz = mobj->subsector->sector->floorheight; + mobj->ceilingz = mobj->subsector->sector->ceilingheight; + mobj->thinker.function.acp1 = (actionf_p1)P_MobjThinker; + P_AddThinker (&mobj->thinker); + break; + + default: + I_Error ("Unknown tclass %i in savegame",tclass); + } + + } + +} + + +// +// P_ArchiveSpecials +// +enum +{ + tc_ceiling, + tc_door, + tc_floor, + tc_plat, + tc_flash, + tc_strobe, + tc_glow, + tc_endspecials + +} specials_e; + + + +// +// Things to handle: +// +// T_MoveCeiling, (ceiling_t: sector_t * swizzle), - active list +// T_VerticalDoor, (vldoor_t: sector_t * swizzle), +// T_MoveFloor, (floormove_t: sector_t * swizzle), +// T_LightFlash, (lightflash_t: sector_t * swizzle), +// T_StrobeFlash, (strobe_t: sector_t *), +// T_Glow, (glow_t: sector_t *), +// T_PlatRaise, (plat_t: sector_t *), - active list +// +void P_ArchiveSpecials (void) +{ + thinker_t* th; + int i; + + // save off the current thinkers + for (th = thinkercap.next ; th != &thinkercap ; th=th->next) + { + if (th->function.acv == (actionf_v)NULL) + { + for (i = 0; i < MAXCEILINGS;i++) + if (activeceilings[i] == (ceiling_t *)th) + break; + + if (ifunction.acp1 == (actionf_p1)T_MoveCeiling) + { + saveg_write8(tc_ceiling); + saveg_write_pad(); + saveg_write_ceiling_t((ceiling_t *) th); + continue; + } + + if (th->function.acp1 == (actionf_p1)T_VerticalDoor) + { + saveg_write8(tc_door); + saveg_write_pad(); + saveg_write_vldoor_t((vldoor_t *) th); + continue; + } + + if (th->function.acp1 == (actionf_p1)T_MoveFloor) + { + saveg_write8(tc_floor); + saveg_write_pad(); + saveg_write_floormove_t((floormove_t *) th); + continue; + } + + if (th->function.acp1 == (actionf_p1)T_PlatRaise) + { + saveg_write8(tc_plat); + saveg_write_pad(); + saveg_write_plat_t((plat_t *) th); + continue; + } + + if (th->function.acp1 == (actionf_p1)T_LightFlash) + { + saveg_write8(tc_flash); + saveg_write_pad(); + saveg_write_lightflash_t((lightflash_t *) th); + continue; + } + + if (th->function.acp1 == (actionf_p1)T_StrobeFlash) + { + saveg_write8(tc_strobe); + saveg_write_pad(); + saveg_write_strobe_t((strobe_t *) th); + continue; + } + + if (th->function.acp1 == (actionf_p1)T_Glow) + { + saveg_write8(tc_glow); + saveg_write_pad(); + saveg_write_glow_t((glow_t *) th); + continue; + } + } + + // add a terminating marker + saveg_write8(tc_endspecials); + +} + + +// +// P_UnArchiveSpecials +// +void P_UnArchiveSpecials (void) +{ + byte tclass; + ceiling_t* ceiling; + vldoor_t* door; + floormove_t* floor; + plat_t* plat; + lightflash_t* flash; + strobe_t* strobe; + glow_t* glow; + + + // read in saved thinkers + while (1) + { + tclass = saveg_read8(); + + switch (tclass) + { + case tc_endspecials: + return; // end of list + + case tc_ceiling: + saveg_read_pad(); + ceiling = Z_Malloc (sizeof(*ceiling), PU_LEVEL, NULL); + saveg_read_ceiling_t(ceiling); + ceiling->sector->specialdata = ceiling; + + if (ceiling->thinker.function.acp1) + ceiling->thinker.function.acp1 = (actionf_p1)T_MoveCeiling; + + P_AddThinker (&ceiling->thinker); + P_AddActiveCeiling(ceiling); + break; + + case tc_door: + saveg_read_pad(); + door = Z_Malloc (sizeof(*door), PU_LEVEL, NULL); + saveg_read_vldoor_t(door); + door->sector->specialdata = door; + door->thinker.function.acp1 = (actionf_p1)T_VerticalDoor; + P_AddThinker (&door->thinker); + break; + + case tc_floor: + saveg_read_pad(); + floor = Z_Malloc (sizeof(*floor), PU_LEVEL, NULL); + saveg_read_floormove_t(floor); + floor->sector->specialdata = floor; + floor->thinker.function.acp1 = (actionf_p1)T_MoveFloor; + P_AddThinker (&floor->thinker); + break; + + case tc_plat: + saveg_read_pad(); + plat = Z_Malloc (sizeof(*plat), PU_LEVEL, NULL); + saveg_read_plat_t(plat); + plat->sector->specialdata = plat; + + if (plat->thinker.function.acp1) + plat->thinker.function.acp1 = (actionf_p1)T_PlatRaise; + + P_AddThinker (&plat->thinker); + P_AddActivePlat(plat); + break; + + case tc_flash: + saveg_read_pad(); + flash = Z_Malloc (sizeof(*flash), PU_LEVEL, NULL); + saveg_read_lightflash_t(flash); + flash->thinker.function.acp1 = (actionf_p1)T_LightFlash; + P_AddThinker (&flash->thinker); + break; + + case tc_strobe: + saveg_read_pad(); + strobe = Z_Malloc (sizeof(*strobe), PU_LEVEL, NULL); + saveg_read_strobe_t(strobe); + strobe->thinker.function.acp1 = (actionf_p1)T_StrobeFlash; + P_AddThinker (&strobe->thinker); + break; + + case tc_glow: + saveg_read_pad(); + glow = Z_Malloc (sizeof(*glow), PU_LEVEL, NULL); + saveg_read_glow_t(glow); + glow->thinker.function.acp1 = (actionf_p1)T_Glow; + P_AddThinker (&glow->thinker); + break; + + default: + I_Error ("P_UnarchiveSpecials:Unknown tclass %i " + "in savegame",tclass); + } + + } + +} + diff --git a/src/kernel/userland/doom/p_saveg.h b/src/kernel/userland/doom/p_saveg.h new file mode 100644 index 0000000..2d7beba --- /dev/null +++ b/src/kernel/userland/doom/p_saveg.h @@ -0,0 +1,62 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Savegame I/O, archiving, persistence. +// + + +#ifndef __P_SAVEG__ +#define __P_SAVEG__ + +#include + +// maximum size of a savegame description + +#define SAVESTRINGSIZE 24 + +// temporary filename to use while saving. + +char *P_TempSaveGameFile(void); + +// filename to use for a savegame slot + +char *P_SaveGameFile(int slot); + +// Savegame file header read/write functions + +boolean P_ReadSaveGameHeader(void); +void P_WriteSaveGameHeader(char *description); + +// Savegame end-of-file read/write functions + +boolean P_ReadSaveGameEOF(void); +void P_WriteSaveGameEOF(void); + +// Persistent storage/archiving. +// These are the load / save game routines. +void P_ArchivePlayers (void); +void P_UnArchivePlayers (void); +void P_ArchiveWorld (void); +void P_UnArchiveWorld (void); +void P_ArchiveThinkers (void); +void P_UnArchiveThinkers (void); +void P_ArchiveSpecials (void); +void P_UnArchiveSpecials (void); + +extern FILE *save_stream; +extern boolean savegame_error; + + +#endif diff --git a/src/kernel/userland/doom/p_setup.c b/src/kernel/userland/doom/p_setup.c new file mode 100644 index 0000000..00306e8 --- /dev/null +++ b/src/kernel/userland/doom/p_setup.c @@ -0,0 +1,855 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Do all the WAD I/O, get map description, +// set up initial state and misc. LUTs. +// + + + +#include + +#include "z_zone.h" + +#include "deh_main.h" +#include "i_swap.h" +#include "m_argv.h" +#include "m_bbox.h" + +#include "g_game.h" + +#include "i_system.h" +#include "w_wad.h" + +#include "doomdef.h" +#include "p_local.h" + +#include "s_sound.h" + +#include "doomstat.h" + + +void P_SpawnMapThing (mapthing_t* mthing); + + +// +// MAP related Lookup tables. +// Store VERTEXES, LINEDEFS, SIDEDEFS, etc. +// +int numvertexes; +vertex_t* vertexes; + +int numsegs; +seg_t* segs; + +int numsectors; +sector_t* sectors; + +int numsubsectors; +subsector_t* subsectors; + +int numnodes; +node_t* nodes; + +int numlines; +line_t* lines; + +int numsides; +side_t* sides; + +static int totallines; + +// BLOCKMAP +// Created from axis aligned bounding box +// of the map, a rectangular array of +// blocks of size ... +// Used to speed up collision detection +// by spatial subdivision in 2D. +// +// Blockmap size. +int bmapwidth; +int bmapheight; // size in mapblocks +short* blockmap; // int for larger maps +// offsets in blockmap are from here +short* blockmaplump; +// origin of block map +fixed_t bmaporgx; +fixed_t bmaporgy; +// for thing chains +mobj_t** blocklinks; + + +// REJECT +// For fast sight rejection. +// Speeds up enemy AI by skipping detailed +// LineOf Sight calculation. +// Without special effect, this could be +// used as a PVS lookup as well. +// +byte* rejectmatrix; + + +// Maintain single and multi player starting spots. +#define MAX_DEATHMATCH_STARTS 10 + +mapthing_t deathmatchstarts[MAX_DEATHMATCH_STARTS]; +mapthing_t* deathmatch_p; +mapthing_t playerstarts[MAXPLAYERS]; + + + + + +// +// P_LoadVertexes +// +void P_LoadVertexes (int lump) +{ + byte* data; + int i; + mapvertex_t* ml; + vertex_t* li; + + // Determine number of lumps: + // total lump length / vertex record length. + numvertexes = W_LumpLength (lump) / sizeof(mapvertex_t); + + // Allocate zone memory for buffer. + vertexes = Z_Malloc (numvertexes*sizeof(vertex_t),PU_LEVEL,0); + + // Load data into cache. + data = W_CacheLumpNum (lump, PU_STATIC); + + ml = (mapvertex_t *)data; + li = vertexes; + + // Copy and convert vertex coordinates, + // internal representation as fixed. + for (i=0 ; ix = SHORT(ml->x)<y = SHORT(ml->y)<v1 = &vertexes[SHORT(ml->v1)]; + li->v2 = &vertexes[SHORT(ml->v2)]; + + li->angle = (SHORT(ml->angle))<<16; + li->offset = (SHORT(ml->offset))<<16; + linedef = SHORT(ml->linedef); + ldef = &lines[linedef]; + li->linedef = ldef; + side = SHORT(ml->side); + li->sidedef = &sides[ldef->sidenum[side]]; + li->frontsector = sides[ldef->sidenum[side]].sector; + + if (ldef-> flags & ML_TWOSIDED) + { + sidenum = ldef->sidenum[side ^ 1]; + + // If the sidenum is out of range, this may be a "glass hack" + // impassible window. Point at side #0 (this may not be + // the correct Vanilla behavior; however, it seems to work for + // OTTAWAU.WAD, which is the one place I've seen this trick + // used). + + if (sidenum < 0 || sidenum >= numsides) + { + li->backsector = GetSectorAtNullAddress(); + } + else + { + li->backsector = sides[sidenum].sector; + } + } + else + { + li->backsector = 0; + } + } + + W_ReleaseLumpNum(lump); +} + + +// +// P_LoadSubsectors +// +void P_LoadSubsectors (int lump) +{ + byte* data; + int i; + mapsubsector_t* ms; + subsector_t* ss; + + numsubsectors = W_LumpLength (lump) / sizeof(mapsubsector_t); + subsectors = Z_Malloc (numsubsectors*sizeof(subsector_t),PU_LEVEL,0); + data = W_CacheLumpNum (lump,PU_STATIC); + + ms = (mapsubsector_t *)data; + memset (subsectors,0, numsubsectors*sizeof(subsector_t)); + ss = subsectors; + + for (i=0 ; inumlines = SHORT(ms->numsegs); + ss->firstline = SHORT(ms->firstseg); + } + + W_ReleaseLumpNum(lump); +} + + + +// +// P_LoadSectors +// +void P_LoadSectors (int lump) +{ + byte* data; + int i; + mapsector_t* ms; + sector_t* ss; + + numsectors = W_LumpLength (lump) / sizeof(mapsector_t); + sectors = Z_Malloc (numsectors*sizeof(sector_t),PU_LEVEL,0); + memset (sectors, 0, numsectors*sizeof(sector_t)); + data = W_CacheLumpNum (lump,PU_STATIC); + + ms = (mapsector_t *)data; + ss = sectors; + for (i=0 ; ifloorheight = SHORT(ms->floorheight)<ceilingheight = SHORT(ms->ceilingheight)<floorpic = R_FlatNumForName(ms->floorpic); + ss->ceilingpic = R_FlatNumForName(ms->ceilingpic); + ss->lightlevel = SHORT(ms->lightlevel); + ss->special = SHORT(ms->special); + ss->tag = SHORT(ms->tag); + ss->thinglist = NULL; + } + + W_ReleaseLumpNum(lump); +} + + +// +// P_LoadNodes +// +void P_LoadNodes (int lump) +{ + byte* data; + int i; + int j; + int k; + mapnode_t* mn; + node_t* no; + + numnodes = W_LumpLength (lump) / sizeof(mapnode_t); + nodes = Z_Malloc (numnodes*sizeof(node_t),PU_LEVEL,0); + data = W_CacheLumpNum (lump,PU_STATIC); + + mn = (mapnode_t *)data; + no = nodes; + + for (i=0 ; ix = SHORT(mn->x)<y = SHORT(mn->y)<dx = SHORT(mn->dx)<dy = SHORT(mn->dy)<children[j] = SHORT(mn->children[j]); + for (k=0 ; k<4 ; k++) + no->bbox[j][k] = SHORT(mn->bbox[j][k])<type)) + { + case 68: // Arachnotron + case 64: // Archvile + case 88: // Boss Brain + case 89: // Boss Shooter + case 69: // Hell Knight + case 67: // Mancubus + case 71: // Pain Elemental + case 65: // Former Human Commando + case 66: // Revenant + case 84: // Wolf SS + spawn = false; + break; + } + } + if (spawn == false) + break; + + // Do spawn all other stuff. + spawnthing.x = SHORT(mt->x); + spawnthing.y = SHORT(mt->y); + spawnthing.angle = SHORT(mt->angle); + spawnthing.type = SHORT(mt->type); + spawnthing.options = SHORT(mt->options); + + P_SpawnMapThing(&spawnthing); + } + + W_ReleaseLumpNum(lump); +} + + +// +// P_LoadLineDefs +// Also counts secret lines for intermissions. +// +void P_LoadLineDefs (int lump) +{ + byte* data; + int i; + maplinedef_t* mld; + line_t* ld; + vertex_t* v1; + vertex_t* v2; + + numlines = W_LumpLength (lump) / sizeof(maplinedef_t); + lines = Z_Malloc (numlines*sizeof(line_t),PU_LEVEL,0); + memset (lines, 0, numlines*sizeof(line_t)); + data = W_CacheLumpNum (lump,PU_STATIC); + + mld = (maplinedef_t *)data; + ld = lines; + for (i=0 ; iflags = SHORT(mld->flags); + ld->special = SHORT(mld->special); + ld->tag = SHORT(mld->tag); + v1 = ld->v1 = &vertexes[SHORT(mld->v1)]; + v2 = ld->v2 = &vertexes[SHORT(mld->v2)]; + ld->dx = v2->x - v1->x; + ld->dy = v2->y - v1->y; + + if (!ld->dx) + ld->slopetype = ST_VERTICAL; + else if (!ld->dy) + ld->slopetype = ST_HORIZONTAL; + else + { + if (FixedDiv (ld->dy , ld->dx) > 0) + ld->slopetype = ST_POSITIVE; + else + ld->slopetype = ST_NEGATIVE; + } + + if (v1->x < v2->x) + { + ld->bbox[BOXLEFT] = v1->x; + ld->bbox[BOXRIGHT] = v2->x; + } + else + { + ld->bbox[BOXLEFT] = v2->x; + ld->bbox[BOXRIGHT] = v1->x; + } + + if (v1->y < v2->y) + { + ld->bbox[BOXBOTTOM] = v1->y; + ld->bbox[BOXTOP] = v2->y; + } + else + { + ld->bbox[BOXBOTTOM] = v2->y; + ld->bbox[BOXTOP] = v1->y; + } + + ld->sidenum[0] = SHORT(mld->sidenum[0]); + ld->sidenum[1] = SHORT(mld->sidenum[1]); + + if (ld->sidenum[0] != -1) + ld->frontsector = sides[ld->sidenum[0]].sector; + else + ld->frontsector = 0; + + if (ld->sidenum[1] != -1) + ld->backsector = sides[ld->sidenum[1]].sector; + else + ld->backsector = 0; + } + + W_ReleaseLumpNum(lump); +} + + +// +// P_LoadSideDefs +// +void P_LoadSideDefs (int lump) +{ + byte* data; + int i; + mapsidedef_t* msd; + side_t* sd; + + numsides = W_LumpLength (lump) / sizeof(mapsidedef_t); + sides = Z_Malloc (numsides*sizeof(side_t),PU_LEVEL,0); + memset (sides, 0, numsides*sizeof(side_t)); + data = W_CacheLumpNum (lump,PU_STATIC); + + msd = (mapsidedef_t *)data; + sd = sides; + for (i=0 ; itextureoffset = SHORT(msd->textureoffset)<rowoffset = SHORT(msd->rowoffset)<toptexture = R_TextureNumForName(msd->toptexture); + sd->bottomtexture = R_TextureNumForName(msd->bottomtexture); + sd->midtexture = R_TextureNumForName(msd->midtexture); + sd->sector = §ors[SHORT(msd->sector)]; + } + + W_ReleaseLumpNum(lump); +} + + +// +// P_LoadBlockMap +// +void P_LoadBlockMap (int lump) +{ + int i; + int count; + int lumplen; + + lumplen = W_LumpLength(lump); + count = lumplen / 2; + + blockmaplump = Z_Malloc(lumplen, PU_LEVEL, NULL); + W_ReadLump(lump, blockmaplump); + blockmap = blockmaplump + 4; + + // Swap all short integers to native byte ordering. + + for (i=0; ifirstline]; + ss->sector = seg->sidedef->sector; + } + + // count number of lines in each sector + li = lines; + totallines = 0; + for (i=0 ; ifrontsector->linecount++; + + if (li->backsector && li->backsector != li->frontsector) + { + li->backsector->linecount++; + totallines++; + } + } + + // build line tables for each sector + linebuffer = Z_Malloc (totallines*sizeof(line_t *), PU_LEVEL, 0); + + for (i=0; ifrontsector != NULL) + { + sector = li->frontsector; + + sector->lines[sector->linecount] = li; + ++sector->linecount; + } + + if (li->backsector != NULL && li->frontsector != li->backsector) + { + sector = li->backsector; + + sector->lines[sector->linecount] = li; + ++sector->linecount; + } + } + + // Generate bounding boxes for sectors + + sector = sectors; + for (i=0 ; ilinecount; j++) + { + li = sector->lines[j]; + + M_AddToBox (bbox, li->v1->x, li->v1->y); + M_AddToBox (bbox, li->v2->x, li->v2->y); + } + + // set the degenmobj_t to the middle of the bounding box + sector->soundorg.x = (bbox[BOXRIGHT]+bbox[BOXLEFT])/2; + sector->soundorg.y = (bbox[BOXTOP]+bbox[BOXBOTTOM])/2; + + // adjust bounding box to map blocks + block = (bbox[BOXTOP]-bmaporgy+MAXRADIUS)>>MAPBLOCKSHIFT; + block = block >= bmapheight ? bmapheight-1 : block; + sector->blockbox[BOXTOP]=block; + + block = (bbox[BOXBOTTOM]-bmaporgy-MAXRADIUS)>>MAPBLOCKSHIFT; + block = block < 0 ? 0 : block; + sector->blockbox[BOXBOTTOM]=block; + + block = (bbox[BOXRIGHT]-bmaporgx+MAXRADIUS)>>MAPBLOCKSHIFT; + block = block >= bmapwidth ? bmapwidth-1 : block; + sector->blockbox[BOXRIGHT]=block; + + block = (bbox[BOXLEFT]-bmaporgx-MAXRADIUS)>>MAPBLOCKSHIFT; + block = block < 0 ? 0 : block; + sector->blockbox[BOXLEFT]=block; + } + +} + +// Pad the REJECT lump with extra data when the lump is too small, +// to simulate a REJECT buffer overflow in Vanilla Doom. + +static void PadRejectArray(byte *array, unsigned int len) +{ + unsigned int i; + unsigned int byte_num; + byte *dest; + unsigned int padvalue; + + // Values to pad the REJECT array with: + + unsigned int rejectpad[4] = + { + ((totallines * 4 + 3) & ~3) + 24, // Size + 0, // Part of z_zone block header + 50, // PU_LEVEL + 0x1d4a11 // DOOM_CONST_ZONEID + }; + + // Copy values from rejectpad into the destination array. + + dest = array; + + for (i=0; i> (byte_num * 8)) & 0xff; + ++dest; + } + + // We only have a limited pad size. Print a warning if the + // REJECT lump is too small. + + if (len > sizeof(rejectpad)) + { + fprintf(stderr, "PadRejectArray: REJECT lump too short to pad! (%i > %i)\n", + len, (int) sizeof(rejectpad)); + + // Pad remaining space with 0 (or 0xff, if specified on command line). + + if (M_CheckParm("-reject_pad_with_ff")) + { + padvalue = 0xff; + } + else + { + padvalue = 0xf00; + } + + memset(array + sizeof(rejectpad), padvalue, len - sizeof(rejectpad)); + } +} + +static void P_LoadReject(int lumpnum) +{ + int minlength; + int lumplen; + + // Calculate the size that the REJECT lump *should* be. + + minlength = (numsectors * numsectors + 7) / 8; + + // If the lump meets the minimum length, it can be loaded directly. + // Otherwise, we need to allocate a buffer of the correct size + // and pad it with appropriate data. + + lumplen = W_LumpLength(lumpnum); + + if (lumplen >= minlength) + { + rejectmatrix = W_CacheLumpNum(lumpnum, PU_LEVEL); + } + else + { + rejectmatrix = Z_Malloc(minlength, PU_LEVEL, &rejectmatrix); + W_ReadLump(lumpnum, rejectmatrix); + + PadRejectArray(rejectmatrix + lumplen, minlength - lumplen); + } +} + +// +// P_SetupLevel +// +void +P_SetupLevel +( int episode, + int map, + int playermask, + skill_t skill) +{ + int i; + char lumpname[9]; + int lumpnum; + + totalkills = totalitems = totalsecret = wminfo.maxfrags = 0; + wminfo.partime = 180; + for (i=0 ; idx) + { + if (x==node->x) + return 2; + + if (x <= node->x) + return node->dy > 0; + + return node->dy < 0; + } + + if (!node->dy) + { + if (x==node->y) + return 2; + + if (y <= node->y) + return node->dx < 0; + + return node->dx > 0; + } + + dx = (x - node->x); + dy = (y - node->y); + + left = (node->dy>>FRACBITS) * (dx>>FRACBITS); + right = (dy>>FRACBITS) * (node->dx>>FRACBITS); + + if (right < left) + return 0; // front side + + if (left == right) + return 2; + return 1; // back side +} + + +// +// P_InterceptVector2 +// Returns the fractional intercept point +// along the first divline. +// This is only called by the addthings and addlines traversers. +// +fixed_t +P_InterceptVector2 +( divline_t* v2, + divline_t* v1 ) +{ + fixed_t frac; + fixed_t num; + fixed_t den; + + den = FixedMul (v1->dy>>8,v2->dx) - FixedMul(v1->dx>>8,v2->dy); + + if (den == 0) + return 0; + // I_Error ("P_InterceptVector: parallel"); + + num = FixedMul ( (v1->x - v2->x)>>8 ,v1->dy) + + FixedMul ( (v2->y - v1->y)>>8 , v1->dx); + frac = FixedDiv (num , den); + + return frac; +} + +// +// P_CrossSubsector +// Returns true +// if strace crosses the given subsector successfully. +// +boolean P_CrossSubsector (int num) +{ + seg_t* seg; + line_t* line; + int s1; + int s2; + int count; + subsector_t* sub; + sector_t* front; + sector_t* back; + fixed_t opentop; + fixed_t openbottom; + divline_t divl; + vertex_t* v1; + vertex_t* v2; + fixed_t frac; + fixed_t slope; + +#ifdef RANGECHECK + if (num>=numsubsectors) + I_Error ("P_CrossSubsector: ss %i with numss = %i", + num, + numsubsectors); +#endif + + sub = &subsectors[num]; + + // check lines + count = sub->numlines; + seg = &segs[sub->firstline]; + + for ( ; count ; seg++, count--) + { + line = seg->linedef; + + // allready checked other side? + if (line->validcount == validcount) + continue; + + line->validcount = validcount; + + v1 = line->v1; + v2 = line->v2; + s1 = P_DivlineSide (v1->x,v1->y, &strace); + s2 = P_DivlineSide (v2->x, v2->y, &strace); + + // line isn't crossed? + if (s1 == s2) + continue; + + divl.x = v1->x; + divl.y = v1->y; + divl.dx = v2->x - v1->x; + divl.dy = v2->y - v1->y; + s1 = P_DivlineSide (strace.x, strace.y, &divl); + s2 = P_DivlineSide (t2x, t2y, &divl); + + // line isn't crossed? + if (s1 == s2) + continue; + + // Backsector may be NULL if this is an "impassible + // glass" hack line. + + if (line->backsector == NULL) + { + return false; + } + + // stop because it is not two sided anyway + // might do this after updating validcount? + if ( !(line->flags & ML_TWOSIDED) ) + return false; + + // crosses a two sided line + front = seg->frontsector; + back = seg->backsector; + + // no wall to block sight with? + if (front->floorheight == back->floorheight + && front->ceilingheight == back->ceilingheight) + continue; + + // possible occluder + // because of ceiling height differences + if (front->ceilingheight < back->ceilingheight) + opentop = front->ceilingheight; + else + opentop = back->ceilingheight; + + // because of ceiling height differences + if (front->floorheight > back->floorheight) + openbottom = front->floorheight; + else + openbottom = back->floorheight; + + // quick test for totally closed doors + if (openbottom >= opentop) + return false; // stop + + frac = P_InterceptVector2 (&strace, &divl); + + if (front->floorheight != back->floorheight) + { + slope = FixedDiv (openbottom - sightzstart , frac); + if (slope > bottomslope) + bottomslope = slope; + } + + if (front->ceilingheight != back->ceilingheight) + { + slope = FixedDiv (opentop - sightzstart , frac); + if (slope < topslope) + topslope = slope; + } + + if (topslope <= bottomslope) + return false; // stop + } + // passed the subsector ok + return true; +} + + + +// +// P_CrossBSPNode +// Returns true +// if strace crosses the given node successfully. +// +boolean P_CrossBSPNode (int bspnum) +{ + node_t* bsp; + int side; + + if (bspnum & NF_SUBSECTOR) + { + if (bspnum == -1) + return P_CrossSubsector (0); + else + return P_CrossSubsector (bspnum&(~NF_SUBSECTOR)); + } + + bsp = &nodes[bspnum]; + + // decide which side the start point is on + side = P_DivlineSide (strace.x, strace.y, (divline_t *)bsp); + if (side == 2) + side = 0; // an "on" should cross both sides + + // cross the starting side + if (!P_CrossBSPNode (bsp->children[side]) ) + return false; + + // the partition plane is crossed here + if (side == P_DivlineSide (t2x, t2y,(divline_t *)bsp)) + { + // the line doesn't touch the other side + return true; + } + + // cross the ending side + return P_CrossBSPNode (bsp->children[side^1]); +} + + +// +// P_CheckSight +// Returns true +// if a straight line between t1 and t2 is unobstructed. +// Uses REJECT. +// +boolean +P_CheckSight +( mobj_t* t1, + mobj_t* t2 ) +{ + int s1; + int s2; + int pnum; + int bytenum; + int bitnum; + + // First check for trivial rejection. + + // Determine subsector entries in REJECT table. + s1 = (t1->subsector->sector - sectors); + s2 = (t2->subsector->sector - sectors); + pnum = s1*numsectors + s2; + bytenum = pnum>>3; + bitnum = 1 << (pnum&7); + + // Check in REJECT table. + if (rejectmatrix[bytenum]&bitnum) + { + sightcounts[0]++; + + // can't possibly be connected + return false; + } + + // An unobstructed LOS is possible. + // Now look from eyes of t1 to any part of t2. + sightcounts[1]++; + + validcount++; + + sightzstart = t1->z + t1->height - (t1->height>>2); + topslope = (t2->z+t2->height) - sightzstart; + bottomslope = (t2->z) - sightzstart; + + strace.x = t1->x; + strace.y = t1->y; + t2x = t2->x; + t2y = t2->y; + strace.dx = t2->x - t1->x; + strace.dy = t2->y - t1->y; + + // the head node is the last node output + return P_CrossBSPNode (numnodes-1); +} + + diff --git a/src/kernel/userland/doom/p_spec.c b/src/kernel/userland/doom/p_spec.c new file mode 100644 index 0000000..17446b5 --- /dev/null +++ b/src/kernel/userland/doom/p_spec.c @@ -0,0 +1,1489 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Implements special effects: +// Texture animation, height or lighting changes +// according to adjacent sectors, respective +// utility functions, etc. +// Line Tag handling. Line and Sector triggers. +// + + +#include + +#include "doomdef.h" +#include "doomstat.h" + +#include "deh_main.h" +#include "i_system.h" +#include "z_zone.h" +#include "m_argv.h" +#include "m_misc.h" +#include "m_random.h" +#include "w_wad.h" + +#include "r_local.h" +#include "p_local.h" + +#include "g_game.h" + +#include "s_sound.h" + +// State. +#include "r_state.h" + +// Data. +#include "sounds.h" + + +// +// Animating textures and planes +// There is another anim_t used in wi_stuff, unrelated. +// +typedef struct +{ + boolean istexture; + int picnum; + int basepic; + int numpics; + int speed; + +} anim_t; + +// +// source animation definition +// +typedef struct +{ + int istexture; // if false, it is a flat + char endname[9]; + char startname[9]; + int speed; +} animdef_t; + + + +#define MAXANIMS 32 + +extern anim_t anims[MAXANIMS]; +extern anim_t* lastanim; + +// +// P_InitPicAnims +// + +// Floor/ceiling animation sequences, +// defined by first and last frame, +// i.e. the flat (64x64 tile) name to +// be used. +// The full animation sequence is given +// using all the flats between the start +// and end entry, in the order found in +// the WAD file. +// +animdef_t animdefs[] = +{ + {false, "NUKAGE3", "NUKAGE1", 8}, + {false, "FWATER4", "FWATER1", 8}, + {false, "SWATER4", "SWATER1", 8}, + {false, "LAVA4", "LAVA1", 8}, + {false, "BLOOD3", "BLOOD1", 8}, + + // DOOM II flat animations. + {false, "RROCK08", "RROCK05", 8}, + {false, "SLIME04", "SLIME01", 8}, + {false, "SLIME08", "SLIME05", 8}, + {false, "SLIME12", "SLIME09", 8}, + + {true, "BLODGR4", "BLODGR1", 8}, + {true, "SLADRIP3", "SLADRIP1", 8}, + + {true, "BLODRIP4", "BLODRIP1", 8}, + {true, "FIREWALL", "FIREWALA", 8}, + {true, "GSTFONT3", "GSTFONT1", 8}, + {true, "FIRELAVA", "FIRELAV3", 8}, + {true, "FIREMAG3", "FIREMAG1", 8}, + {true, "FIREBLU2", "FIREBLU1", 8}, + {true, "ROCKRED3", "ROCKRED1", 8}, + + {true, "BFALL4", "BFALL1", 8}, + {true, "SFALL4", "SFALL1", 8}, + {true, "WFALL4", "WFALL1", 8}, + {true, "DBRAIN4", "DBRAIN1", 8}, + + {-1, "", "", 0}, +}; + +anim_t anims[MAXANIMS]; +anim_t* lastanim; + + +// +// Animating line specials +// +#define MAXLINEANIMS 64 + +extern short numlinespecials; +extern line_t* linespeciallist[MAXLINEANIMS]; + + + +void P_InitPicAnims (void) +{ + int i; + + + // Init animation + lastanim = anims; + for (i=0 ; animdefs[i].istexture != -1 ; i++) + { + char *startname, *endname; + + startname = DEH_String(animdefs[i].startname); + endname = DEH_String(animdefs[i].endname); + + if (animdefs[i].istexture) + { + // different episode ? + if (R_CheckTextureNumForName(startname) == -1) + continue; + + lastanim->picnum = R_TextureNumForName(endname); + lastanim->basepic = R_TextureNumForName(startname); + } + else + { + if (W_CheckNumForName(startname) == -1) + continue; + + lastanim->picnum = R_FlatNumForName(endname); + lastanim->basepic = R_FlatNumForName(startname); + } + + lastanim->istexture = animdefs[i].istexture; + lastanim->numpics = lastanim->picnum - lastanim->basepic + 1; + + if (lastanim->numpics < 2) + I_Error ("P_InitPicAnims: bad cycle from %s to %s", + startname, endname); + + lastanim->speed = animdefs[i].speed; + lastanim++; + } + +} + + + +// +// UTILITIES +// + + + +// +// getSide() +// Will return a side_t* +// given the number of the current sector, +// the line number, and the side (0/1) that you want. +// +side_t* +getSide +( int currentSector, + int line, + int side ) +{ + return &sides[ (sectors[currentSector].lines[line])->sidenum[side] ]; +} + + +// +// getSector() +// Will return a sector_t* +// given the number of the current sector, +// the line number and the side (0/1) that you want. +// +sector_t* +getSector +( int currentSector, + int line, + int side ) +{ + return sides[ (sectors[currentSector].lines[line])->sidenum[side] ].sector; +} + + +// +// twoSided() +// Given the sector number and the line number, +// it will tell you whether the line is two-sided or not. +// +int +twoSided +( int sector, + int line ) +{ + return (sectors[sector].lines[line])->flags & ML_TWOSIDED; +} + + + + +// +// getNextSector() +// Return sector_t * of sector next to current. +// NULL if not two-sided line +// +sector_t* +getNextSector +( line_t* line, + sector_t* sec ) +{ + if (!(line->flags & ML_TWOSIDED)) + return NULL; + + if (line->frontsector == sec) + return line->backsector; + + return line->frontsector; +} + + + +// +// P_FindLowestFloorSurrounding() +// FIND LOWEST FLOOR HEIGHT IN SURROUNDING SECTORS +// +fixed_t P_FindLowestFloorSurrounding(sector_t* sec) +{ + int i; + line_t* check; + sector_t* other; + fixed_t floor = sec->floorheight; + + for (i=0 ;i < sec->linecount ; i++) + { + check = sec->lines[i]; + other = getNextSector(check,sec); + + if (!other) + continue; + + if (other->floorheight < floor) + floor = other->floorheight; + } + return floor; +} + + + +// +// P_FindHighestFloorSurrounding() +// FIND HIGHEST FLOOR HEIGHT IN SURROUNDING SECTORS +// +fixed_t P_FindHighestFloorSurrounding(sector_t *sec) +{ + int i; + line_t* check; + sector_t* other; + fixed_t floor = -500*FRACUNIT; + + for (i=0 ;i < sec->linecount ; i++) + { + check = sec->lines[i]; + other = getNextSector(check,sec); + + if (!other) + continue; + + if (other->floorheight > floor) + floor = other->floorheight; + } + return floor; +} + + + +// +// P_FindNextHighestFloor +// FIND NEXT HIGHEST FLOOR IN SURROUNDING SECTORS +// Note: this should be doable w/o a fixed array. + +// Thanks to entryway for the Vanilla overflow emulation. + +// 20 adjoining sectors max! +#define MAX_ADJOINING_SECTORS 20 + +fixed_t +P_FindNextHighestFloor +( sector_t* sec, + int currentheight ) +{ + int i; + int h; + int min; + line_t* check; + sector_t* other; + fixed_t height = currentheight; + fixed_t heightlist[MAX_ADJOINING_SECTORS + 2]; + + for (i=0, h=0; i < sec->linecount; i++) + { + check = sec->lines[i]; + other = getNextSector(check,sec); + + if (!other) + continue; + + if (other->floorheight > height) + { + // Emulation of memory (stack) overflow + if (h == MAX_ADJOINING_SECTORS + 1) + { + height = other->floorheight; + } + else if (h == MAX_ADJOINING_SECTORS + 2) + { + // Fatal overflow: game crashes at 22 textures + I_Error("Sector with more than 22 adjoining sectors. " + "Vanilla will crash here"); + } + + heightlist[h++] = other->floorheight; + } + } + + // Find lowest height in list + if (!h) + { + return currentheight; + } + + min = heightlist[0]; + + // Range checking? + for (i = 1; i < h; i++) + { + if (heightlist[i] < min) + { + min = heightlist[i]; + } + } + + return min; +} + +// +// FIND LOWEST CEILING IN THE SURROUNDING SECTORS +// +fixed_t +P_FindLowestCeilingSurrounding(sector_t* sec) +{ + int i; + line_t* check; + sector_t* other; + fixed_t height = INT_MAX; + + for (i=0 ;i < sec->linecount ; i++) + { + check = sec->lines[i]; + other = getNextSector(check,sec); + + if (!other) + continue; + + if (other->ceilingheight < height) + height = other->ceilingheight; + } + return height; +} + + +// +// FIND HIGHEST CEILING IN THE SURROUNDING SECTORS +// +fixed_t P_FindHighestCeilingSurrounding(sector_t* sec) +{ + int i; + line_t* check; + sector_t* other; + fixed_t height = 0; + + for (i=0 ;i < sec->linecount ; i++) + { + check = sec->lines[i]; + other = getNextSector(check,sec); + + if (!other) + continue; + + if (other->ceilingheight > height) + height = other->ceilingheight; + } + return height; +} + + + +// +// RETURN NEXT SECTOR # THAT LINE TAG REFERS TO +// +int +P_FindSectorFromLineTag +( line_t* line, + int start ) +{ + int i; + + for (i=start+1;itag) + return i; + + return -1; +} + + + + +// +// Find minimum light from an adjacent sector +// +int +P_FindMinSurroundingLight +( sector_t* sector, + int max ) +{ + int i; + int min; + line_t* line; + sector_t* check; + + min = max; + for (i=0 ; i < sector->linecount ; i++) + { + line = sector->lines[i]; + check = getNextSector(line,sector); + + if (!check) + continue; + + if (check->lightlevel < min) + min = check->lightlevel; + } + return min; +} + + + +// +// EVENTS +// Events are operations triggered by using, crossing, +// or shooting special lines, or by timed thinkers. +// + +// +// P_CrossSpecialLine - TRIGGER +// Called every time a thing origin is about +// to cross a line with a non 0 special. +// +void +P_CrossSpecialLine +( int linenum, + int side, + mobj_t* thing ) +{ + line_t* line; + int ok; + + line = &lines[linenum]; + + // Triggers that other things can activate + if (!thing->player) + { + // Things that should NOT trigger specials... + switch(thing->type) + { + case MT_ROCKET: + case MT_PLASMA: + case MT_BFG: + case MT_TROOPSHOT: + case MT_HEADSHOT: + case MT_BRUISERSHOT: + return; + break; + + default: break; + } + + ok = 0; + switch(line->special) + { + case 39: // TELEPORT TRIGGER + case 97: // TELEPORT RETRIGGER + case 125: // TELEPORT MONSTERONLY TRIGGER + case 126: // TELEPORT MONSTERONLY RETRIGGER + case 4: // RAISE DOOR + case 10: // PLAT DOWN-WAIT-UP-STAY TRIGGER + case 88: // PLAT DOWN-WAIT-UP-STAY RETRIGGER + ok = 1; + break; + } + if (!ok) + return; + } + + + // Note: could use some const's here. + switch (line->special) + { + // TRIGGERS. + // All from here to RETRIGGERS. + case 2: + // Open Door + EV_DoDoor(line,vld_open); + line->special = 0; + break; + + case 3: + // Close Door + EV_DoDoor(line,vld_close); + line->special = 0; + break; + + case 4: + // Raise Door + EV_DoDoor(line,vld_normal); + line->special = 0; + break; + + case 5: + // Raise Floor + EV_DoFloor(line,raiseFloor); + line->special = 0; + break; + + case 6: + // Fast Ceiling Crush & Raise + EV_DoCeiling(line,fastCrushAndRaise); + line->special = 0; + break; + + case 8: + // Build Stairs + EV_BuildStairs(line,build8); + line->special = 0; + break; + + case 10: + // PlatDownWaitUp + EV_DoPlat(line,downWaitUpStay,0); + line->special = 0; + break; + + case 12: + // Light Turn On - brightest near + EV_LightTurnOn(line,0); + line->special = 0; + break; + + case 13: + // Light Turn On 255 + EV_LightTurnOn(line,255); + line->special = 0; + break; + + case 16: + // Close Door 30 + EV_DoDoor(line,vld_close30ThenOpen); + line->special = 0; + break; + + case 17: + // Start Light Strobing + EV_StartLightStrobing(line); + line->special = 0; + break; + + case 19: + // Lower Floor + EV_DoFloor(line,lowerFloor); + line->special = 0; + break; + + case 22: + // Raise floor to nearest height and change texture + EV_DoPlat(line,raiseToNearestAndChange,0); + line->special = 0; + break; + + case 25: + // Ceiling Crush and Raise + EV_DoCeiling(line,crushAndRaise); + line->special = 0; + break; + + case 30: + // Raise floor to shortest texture height + // on either side of lines. + EV_DoFloor(line,raiseToTexture); + line->special = 0; + break; + + case 35: + // Lights Very Dark + EV_LightTurnOn(line,35); + line->special = 0; + break; + + case 36: + // Lower Floor (TURBO) + EV_DoFloor(line,turboLower); + line->special = 0; + break; + + case 37: + // LowerAndChange + EV_DoFloor(line,lowerAndChange); + line->special = 0; + break; + + case 38: + // Lower Floor To Lowest + EV_DoFloor( line, lowerFloorToLowest ); + line->special = 0; + break; + + case 39: + // TELEPORT! + EV_Teleport( line, side, thing ); + line->special = 0; + break; + + case 40: + // RaiseCeilingLowerFloor + EV_DoCeiling( line, raiseToHighest ); + EV_DoFloor( line, lowerFloorToLowest ); + line->special = 0; + break; + + case 44: + // Ceiling Crush + EV_DoCeiling( line, lowerAndCrush ); + line->special = 0; + break; + + case 52: + // EXIT! + G_ExitLevel (); + break; + + case 53: + // Perpetual Platform Raise + EV_DoPlat(line,perpetualRaise,0); + line->special = 0; + break; + + case 54: + // Platform Stop + EV_StopPlat(line); + line->special = 0; + break; + + case 56: + // Raise Floor Crush + EV_DoFloor(line,raiseFloorCrush); + line->special = 0; + break; + + case 57: + // Ceiling Crush Stop + EV_CeilingCrushStop(line); + line->special = 0; + break; + + case 58: + // Raise Floor 24 + EV_DoFloor(line,raiseFloor24); + line->special = 0; + break; + + case 59: + // Raise Floor 24 And Change + EV_DoFloor(line,raiseFloor24AndChange); + line->special = 0; + break; + + case 104: + // Turn lights off in sector(tag) + EV_TurnTagLightsOff(line); + line->special = 0; + break; + + case 108: + // Blazing Door Raise (faster than TURBO!) + EV_DoDoor (line,vld_blazeRaise); + line->special = 0; + break; + + case 109: + // Blazing Door Open (faster than TURBO!) + EV_DoDoor (line,vld_blazeOpen); + line->special = 0; + break; + + case 100: + // Build Stairs Turbo 16 + EV_BuildStairs(line,turbo16); + line->special = 0; + break; + + case 110: + // Blazing Door Close (faster than TURBO!) + EV_DoDoor (line,vld_blazeClose); + line->special = 0; + break; + + case 119: + // Raise floor to nearest surr. floor + EV_DoFloor(line,raiseFloorToNearest); + line->special = 0; + break; + + case 121: + // Blazing PlatDownWaitUpStay + EV_DoPlat(line,blazeDWUS,0); + line->special = 0; + break; + + case 124: + // Secret EXIT + G_SecretExitLevel (); + break; + + case 125: + // TELEPORT MonsterONLY + if (!thing->player) + { + EV_Teleport( line, side, thing ); + line->special = 0; + } + break; + + case 130: + // Raise Floor Turbo + EV_DoFloor(line,raiseFloorTurbo); + line->special = 0; + break; + + case 141: + // Silent Ceiling Crush & Raise + EV_DoCeiling(line,silentCrushAndRaise); + line->special = 0; + break; + + // RETRIGGERS. All from here till end. + case 72: + // Ceiling Crush + EV_DoCeiling( line, lowerAndCrush ); + break; + + case 73: + // Ceiling Crush and Raise + EV_DoCeiling(line,crushAndRaise); + break; + + case 74: + // Ceiling Crush Stop + EV_CeilingCrushStop(line); + break; + + case 75: + // Close Door + EV_DoDoor(line,vld_close); + break; + + case 76: + // Close Door 30 + EV_DoDoor(line,vld_close30ThenOpen); + break; + + case 77: + // Fast Ceiling Crush & Raise + EV_DoCeiling(line,fastCrushAndRaise); + break; + + case 79: + // Lights Very Dark + EV_LightTurnOn(line,35); + break; + + case 80: + // Light Turn On - brightest near + EV_LightTurnOn(line,0); + break; + + case 81: + // Light Turn On 255 + EV_LightTurnOn(line,255); + break; + + case 82: + // Lower Floor To Lowest + EV_DoFloor( line, lowerFloorToLowest ); + break; + + case 83: + // Lower Floor + EV_DoFloor(line,lowerFloor); + break; + + case 84: + // LowerAndChange + EV_DoFloor(line,lowerAndChange); + break; + + case 86: + // Open Door + EV_DoDoor(line,vld_open); + break; + + case 87: + // Perpetual Platform Raise + EV_DoPlat(line,perpetualRaise,0); + break; + + case 88: + // PlatDownWaitUp + EV_DoPlat(line,downWaitUpStay,0); + break; + + case 89: + // Platform Stop + EV_StopPlat(line); + break; + + case 90: + // Raise Door + EV_DoDoor(line,vld_normal); + break; + + case 91: + // Raise Floor + EV_DoFloor(line,raiseFloor); + break; + + case 92: + // Raise Floor 24 + EV_DoFloor(line,raiseFloor24); + break; + + case 93: + // Raise Floor 24 And Change + EV_DoFloor(line,raiseFloor24AndChange); + break; + + case 94: + // Raise Floor Crush + EV_DoFloor(line,raiseFloorCrush); + break; + + case 95: + // Raise floor to nearest height + // and change texture. + EV_DoPlat(line,raiseToNearestAndChange,0); + break; + + case 96: + // Raise floor to shortest texture height + // on either side of lines. + EV_DoFloor(line,raiseToTexture); + break; + + case 97: + // TELEPORT! + EV_Teleport( line, side, thing ); + break; + + case 98: + // Lower Floor (TURBO) + EV_DoFloor(line,turboLower); + break; + + case 105: + // Blazing Door Raise (faster than TURBO!) + EV_DoDoor (line,vld_blazeRaise); + break; + + case 106: + // Blazing Door Open (faster than TURBO!) + EV_DoDoor (line,vld_blazeOpen); + break; + + case 107: + // Blazing Door Close (faster than TURBO!) + EV_DoDoor (line,vld_blazeClose); + break; + + case 120: + // Blazing PlatDownWaitUpStay. + EV_DoPlat(line,blazeDWUS,0); + break; + + case 126: + // TELEPORT MonsterONLY. + if (!thing->player) + EV_Teleport( line, side, thing ); + break; + + case 128: + // Raise To Nearest Floor + EV_DoFloor(line,raiseFloorToNearest); + break; + + case 129: + // Raise Floor Turbo + EV_DoFloor(line,raiseFloorTurbo); + break; + } +} + + + +// +// P_ShootSpecialLine - IMPACT SPECIALS +// Called when a thing shoots a special line. +// +void +P_ShootSpecialLine +( mobj_t* thing, + line_t* line ) +{ + int ok; + + // Impacts that other things can activate. + if (!thing->player) + { + ok = 0; + switch(line->special) + { + case 46: + // OPEN DOOR IMPACT + ok = 1; + break; + } + if (!ok) + return; + } + + switch(line->special) + { + case 24: + // RAISE FLOOR + EV_DoFloor(line,raiseFloor); + P_ChangeSwitchTexture(line,0); + break; + + case 46: + // OPEN DOOR + EV_DoDoor(line,vld_open); + P_ChangeSwitchTexture(line,1); + break; + + case 47: + // RAISE FLOOR NEAR AND CHANGE + EV_DoPlat(line,raiseToNearestAndChange,0); + P_ChangeSwitchTexture(line,0); + break; + } +} + + + +// +// P_PlayerInSpecialSector +// Called every tic frame +// that the player origin is in a special sector +// +void P_PlayerInSpecialSector (player_t* player) +{ + sector_t* sector; + + sector = player->mo->subsector->sector; + + // Falling, not all the way down yet? + if (player->mo->z != sector->floorheight) + return; + + // Has hitten ground. + switch (sector->special) + { + case 5: + // HELLSLIME DAMAGE + if (!player->powers[pw_ironfeet]) + if (!(leveltime&0x1f)) + P_DamageMobj (player->mo, NULL, NULL, 10); + break; + + case 7: + // NUKAGE DAMAGE + if (!player->powers[pw_ironfeet]) + if (!(leveltime&0x1f)) + P_DamageMobj (player->mo, NULL, NULL, 5); + break; + + case 16: + // SUPER HELLSLIME DAMAGE + case 4: + // STROBE HURT + if (!player->powers[pw_ironfeet] + || (P_Random()<5) ) + { + if (!(leveltime&0x1f)) + P_DamageMobj (player->mo, NULL, NULL, 20); + } + break; + + case 9: + // SECRET SECTOR + player->secretcount++; + sector->special = 0; + break; + + case 11: + // EXIT SUPER DAMAGE! (for E1M8 finale) + player->cheats &= ~CF_GODMODE; + + if (!(leveltime&0x1f)) + P_DamageMobj (player->mo, NULL, NULL, 20); + + if (player->health <= 10) + G_ExitLevel(); + break; + + default: + I_Error ("P_PlayerInSpecialSector: " + "unknown special %i", + sector->special); + break; + }; +} + + + + +// +// P_UpdateSpecials +// Animate planes, scroll walls, etc. +// +boolean levelTimer; +int levelTimeCount; + +void P_UpdateSpecials (void) +{ + anim_t* anim; + int pic; + int i; + line_t* line; + + + // LEVEL TIMER + if (levelTimer == true) + { + levelTimeCount--; + if (!levelTimeCount) + G_ExitLevel(); + } + + // ANIMATE FLATS AND TEXTURES GLOBALLY + for (anim = anims ; anim < lastanim ; anim++) + { + for (i=anim->basepic ; ibasepic+anim->numpics ; i++) + { + pic = anim->basepic + ( (leveltime/anim->speed + i)%anim->numpics ); + if (anim->istexture) + texturetranslation[i] = pic; + else + flattranslation[i] = pic; + } + } + + + // ANIMATE LINE SPECIALS + for (i = 0; i < numlinespecials; i++) + { + line = linespeciallist[i]; + switch(line->special) + { + case 48: + // EFFECT FIRSTCOL SCROLL + + sides[line->sidenum[0]].textureoffset += FRACUNIT; + break; + } + } + + + // DO BUTTONS + for (i = 0; i < MAXBUTTONS; i++) + if (buttonlist[i].btimer) + { + buttonlist[i].btimer--; + if (!buttonlist[i].btimer) + { + switch(buttonlist[i].where) + { + case top: + sides[buttonlist[i].line->sidenum[0]].toptexture = + buttonlist[i].btexture; + break; + + case middle: + sides[buttonlist[i].line->sidenum[0]].midtexture = + buttonlist[i].btexture; + break; + + case bottom: + sides[buttonlist[i].line->sidenum[0]].bottomtexture = + buttonlist[i].btexture; + break; + } + S_StartSound(&buttonlist[i].soundorg,sfx_swtchn); + memset(&buttonlist[i],0,sizeof(button_t)); + } + } +} + + +// +// Donut overrun emulation +// +// Derived from the code from PrBoom+. Thanks go to Andrey Budko (entryway) +// as usual :-) +// + +#define DONUT_FLOORHEIGHT_DEFAULT 0x00000000 +#define DONUT_FLOORPIC_DEFAULT 0x16 + +static void DonutOverrun(fixed_t *s3_floorheight, short *s3_floorpic, + line_t *line, sector_t *pillar_sector) +{ + static int first = 1; + static int tmp_s3_floorheight; + static int tmp_s3_floorpic; + + extern int numflats; + + if (first) + { + int p; + + // This is the first time we have had an overrun. + first = 0; + + // Default values + tmp_s3_floorheight = DONUT_FLOORHEIGHT_DEFAULT; + tmp_s3_floorpic = DONUT_FLOORPIC_DEFAULT; + + //! + // @category compat + // @arg + // + // Use the specified magic values when emulating behavior caused + // by memory overruns from improperly constructed donuts. + // In Vanilla Doom this can differ depending on the operating + // system. The default (if this option is not specified) is to + // emulate the behavior when running under Windows 98. + + p = M_CheckParmWithArgs("-donut", 2); + + if (p > 0) + { + // Dump of needed memory: (fixed_t)0000:0000 and (short)0000:0008 + // + // C:\>debug + // -d 0:0 + // + // DOS 6.22: + // 0000:0000 (57 92 19 00) F4 06 70 00-(16 00) + // DOS 7.1: + // 0000:0000 (9E 0F C9 00) 65 04 70 00-(16 00) + // Win98: + // 0000:0000 (00 00 00 00) 65 04 70 00-(16 00) + // DOSBox under XP: + // 0000:0000 (00 00 00 F1) ?? ?? ?? 00-(07 00) + + M_StrToInt(myargv[p + 1], &tmp_s3_floorheight); + M_StrToInt(myargv[p + 2], &tmp_s3_floorpic); + + if (tmp_s3_floorpic >= numflats) + { + fprintf(stderr, + "DonutOverrun: The second parameter for \"-donut\" " + "switch should be greater than 0 and less than number " + "of flats (%d). Using default value (%d) instead. \n", + numflats, DONUT_FLOORPIC_DEFAULT); + tmp_s3_floorpic = DONUT_FLOORPIC_DEFAULT; + } + } + } + + /* + fprintf(stderr, + "Linedef: %d; Sector: %d; " + "New floor height: %d; New floor pic: %d\n", + line->iLineID, pillar_sector->iSectorID, + tmp_s3_floorheight >> 16, tmp_s3_floorpic); + */ + + *s3_floorheight = (fixed_t) tmp_s3_floorheight; + *s3_floorpic = (short) tmp_s3_floorpic; +} + + +// +// Special Stuff that can not be categorized +// +int EV_DoDonut(line_t* line) +{ + sector_t* s1; + sector_t* s2; + sector_t* s3; + int secnum; + int rtn; + int i; + floormove_t* floor; + fixed_t s3_floorheight; + short s3_floorpic; + + secnum = -1; + rtn = 0; + while ((secnum = P_FindSectorFromLineTag(line,secnum)) >= 0) + { + s1 = §ors[secnum]; + + // ALREADY MOVING? IF SO, KEEP GOING... + if (s1->specialdata) + continue; + + rtn = 1; + s2 = getNextSector(s1->lines[0],s1); + + // Vanilla Doom does not check if the linedef is one sided. The + // game does not crash, but reads invalid memory and causes the + // sector floor to move "down" to some unknown height. + // DOSbox prints a warning about an invalid memory access. + // + // I'm not sure exactly what invalid memory is being read. This + // isn't something that should be done, anyway. + // Just print a warning and return. + + if (s2 == NULL) + { + fprintf(stderr, + "EV_DoDonut: linedef had no second sidedef! " + "Unexpected behavior may occur in Vanilla Doom. \n"); + break; + } + + for (i = 0; i < s2->linecount; i++) + { + s3 = s2->lines[i]->backsector; + + if (s3 == s1) + continue; + + if (s3 == NULL) + { + // e6y + // s3 is NULL, so + // s3->floorheight is an int at 0000:0000 + // s3->floorpic is a short at 0000:0008 + // Trying to emulate + + fprintf(stderr, + "EV_DoDonut: WARNING: emulating buffer overrun due to " + "NULL back sector. " + "Unexpected behavior may occur in Vanilla Doom.\n"); + + DonutOverrun(&s3_floorheight, &s3_floorpic, line, s1); + } + else + { + s3_floorheight = s3->floorheight; + s3_floorpic = s3->floorpic; + } + + // Spawn rising slime + floor = Z_Malloc (sizeof(*floor), PU_LEVSPEC, 0); + P_AddThinker (&floor->thinker); + s2->specialdata = floor; + floor->thinker.function.acp1 = (actionf_p1) T_MoveFloor; + floor->type = donutRaise; + floor->crush = false; + floor->direction = 1; + floor->sector = s2; + floor->speed = FLOORSPEED / 2; + floor->texture = s3_floorpic; + floor->newspecial = 0; + floor->floordestheight = s3_floorheight; + + // Spawn lowering donut-hole + floor = Z_Malloc (sizeof(*floor), PU_LEVSPEC, 0); + P_AddThinker (&floor->thinker); + s1->specialdata = floor; + floor->thinker.function.acp1 = (actionf_p1) T_MoveFloor; + floor->type = lowerFloor; + floor->crush = false; + floor->direction = -1; + floor->sector = s1; + floor->speed = FLOORSPEED / 2; + floor->floordestheight = s3_floorheight; + break; + } + } + return rtn; +} + + + +// +// SPECIAL SPAWNING +// + +// +// P_SpawnSpecials +// After the map has been loaded, scan for specials +// that spawn thinkers +// +short numlinespecials; +line_t* linespeciallist[MAXLINEANIMS]; + + +// Parses command line parameters. +void P_SpawnSpecials (void) +{ + sector_t* sector; + int i; + + // See if -TIMER was specified. + + if (timelimit > 0 && deathmatch) + { + levelTimer = true; + levelTimeCount = timelimit * 60 * TICRATE; + } + else + { + levelTimer = false; + } + + // Init special SECTORs. + sector = sectors; + for (i=0 ; ispecial) + continue; + + switch (sector->special) + { + case 1: + // FLICKERING LIGHTS + P_SpawnLightFlash (sector); + break; + + case 2: + // STROBE FAST + P_SpawnStrobeFlash(sector,FASTDARK,0); + break; + + case 3: + // STROBE SLOW + P_SpawnStrobeFlash(sector,SLOWDARK,0); + break; + + case 4: + // STROBE FAST/DEATH SLIME + P_SpawnStrobeFlash(sector,FASTDARK,0); + sector->special = 4; + break; + + case 8: + // GLOWING LIGHT + P_SpawnGlowingLight(sector); + break; + case 9: + // SECRET SECTOR + totalsecret++; + break; + + case 10: + // DOOR CLOSE IN 30 SECONDS + P_SpawnDoorCloseIn30 (sector); + break; + + case 12: + // SYNC STROBE SLOW + P_SpawnStrobeFlash (sector, SLOWDARK, 1); + break; + + case 13: + // SYNC STROBE FAST + P_SpawnStrobeFlash (sector, FASTDARK, 1); + break; + + case 14: + // DOOR RAISE IN 5 MINUTES + P_SpawnDoorRaiseIn5Mins (sector, i); + break; + + case 17: + P_SpawnFireFlicker(sector); + break; + } + } + + + // Init line EFFECTs + numlinespecials = 0; + for (i = 0;i < numlines; i++) + { + switch(lines[i].special) + { + case 48: + if (numlinespecials >= MAXLINEANIMS) + { + I_Error("Too many scrolling wall linedefs! " + "(Vanilla limit is 64)"); + } + // EFFECT FIRSTCOL SCROLL+ + linespeciallist[numlinespecials] = &lines[i]; + numlinespecials++; + break; + } + } + + + // Init other misc stuff + for (i = 0;i < MAXCEILINGS;i++) + activeceilings[i] = NULL; + + for (i = 0;i < MAXPLATS;i++) + activeplats[i] = NULL; + + for (i = 0;i < MAXBUTTONS;i++) + memset(&buttonlist[i],0,sizeof(button_t)); + + // UNUSED: no horizonal sliders. + // P_InitSlidingDoorFrames(); +} diff --git a/src/kernel/userland/doom/p_spec.h b/src/kernel/userland/doom/p_spec.h new file mode 100644 index 0000000..a1343bf --- /dev/null +++ b/src/kernel/userland/doom/p_spec.h @@ -0,0 +1,637 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: none +// Implements special effects: +// Texture animation, height or lighting changes +// according to adjacent sectors, respective +// utility functions, etc. +// + + +#ifndef __P_SPEC__ +#define __P_SPEC__ + + +// +// End-level timer (-TIMER option) +// +extern boolean levelTimer; +extern int levelTimeCount; + + +// Define values for map objects +#define MO_TELEPORTMAN 14 + + +// at game start +void P_InitPicAnims (void); + +// at map load +void P_SpawnSpecials (void); + +// every tic +void P_UpdateSpecials (void); + +// when needed +boolean +P_UseSpecialLine +( mobj_t* thing, + line_t* line, + int side ); + +void +P_ShootSpecialLine +( mobj_t* thing, + line_t* line ); + +void +P_CrossSpecialLine +( int linenum, + int side, + mobj_t* thing ); + +void P_PlayerInSpecialSector (player_t* player); + +int +twoSided +( int sector, + int line ); + +sector_t* +getSector +( int currentSector, + int line, + int side ); + +side_t* +getSide +( int currentSector, + int line, + int side ); + +fixed_t P_FindLowestFloorSurrounding(sector_t* sec); +fixed_t P_FindHighestFloorSurrounding(sector_t* sec); + +fixed_t +P_FindNextHighestFloor +( sector_t* sec, + int currentheight ); + +fixed_t P_FindLowestCeilingSurrounding(sector_t* sec); +fixed_t P_FindHighestCeilingSurrounding(sector_t* sec); + +int +P_FindSectorFromLineTag +( line_t* line, + int start ); + +int +P_FindMinSurroundingLight +( sector_t* sector, + int max ); + +sector_t* +getNextSector +( line_t* line, + sector_t* sec ); + + +// +// SPECIAL +// +int EV_DoDonut(line_t* line); + + + +// +// P_LIGHTS +// +typedef struct +{ + thinker_t thinker; + sector_t* sector; + int count; + int maxlight; + int minlight; + +} fireflicker_t; + + + +typedef struct +{ + thinker_t thinker; + sector_t* sector; + int count; + int maxlight; + int minlight; + int maxtime; + int mintime; + +} lightflash_t; + + + +typedef struct +{ + thinker_t thinker; + sector_t* sector; + int count; + int minlight; + int maxlight; + int darktime; + int brighttime; + +} strobe_t; + + + + +typedef struct +{ + thinker_t thinker; + sector_t* sector; + int minlight; + int maxlight; + int direction; + +} glow_t; + + +#define GLOWSPEED 8 +#define STROBEBRIGHT 5 +#define FASTDARK 15 +#define SLOWDARK 35 + +void P_SpawnFireFlicker (sector_t* sector); +void T_LightFlash (lightflash_t* flash); +void P_SpawnLightFlash (sector_t* sector); +void T_StrobeFlash (strobe_t* flash); + +void +P_SpawnStrobeFlash +( sector_t* sector, + int fastOrSlow, + int inSync ); + +void EV_StartLightStrobing(line_t* line); +void EV_TurnTagLightsOff(line_t* line); + +void +EV_LightTurnOn +( line_t* line, + int bright ); + +void T_Glow(glow_t* g); +void P_SpawnGlowingLight(sector_t* sector); + + + + +// +// P_SWITCH +// +typedef struct +{ + char name1[9]; + char name2[9]; + short episode; + +} switchlist_t; + + +typedef enum +{ + top, + middle, + bottom + +} bwhere_e; + + +typedef struct +{ + line_t* line; + bwhere_e where; + int btexture; + int btimer; + degenmobj_t *soundorg; + +} button_t; + + + + + // max # of wall switches in a level +#define MAXSWITCHES 50 + + // 4 players, 4 buttons each at once, max. +#define MAXBUTTONS 16 + + // 1 second, in ticks. +#define BUTTONTIME 35 + +extern button_t buttonlist[MAXBUTTONS]; + +void +P_ChangeSwitchTexture +( line_t* line, + int useAgain ); + +void P_InitSwitchList(void); + + +// +// P_PLATS +// +typedef enum +{ + up, + down, + waiting, + in_stasis + +} plat_e; + + + +typedef enum +{ + perpetualRaise, + downWaitUpStay, + raiseAndChange, + raiseToNearestAndChange, + blazeDWUS + +} plattype_e; + + + +typedef struct +{ + thinker_t thinker; + sector_t* sector; + fixed_t speed; + fixed_t low; + fixed_t high; + int wait; + int count; + plat_e status; + plat_e oldstatus; + boolean crush; + int tag; + plattype_e type; + +} plat_t; + + + +#define PLATWAIT 3 +#define PLATSPEED FRACUNIT +#define MAXPLATS 30 + + +extern plat_t* activeplats[MAXPLATS]; + +void T_PlatRaise(plat_t* plat); + +int +EV_DoPlat +( line_t* line, + plattype_e type, + int amount ); + +void P_AddActivePlat(plat_t* plat); +void P_RemoveActivePlat(plat_t* plat); +void EV_StopPlat(line_t* line); +void P_ActivateInStasis(int tag); + + +// +// P_DOORS +// +typedef enum +{ + vld_normal, + vld_close30ThenOpen, + vld_close, + vld_open, + vld_raiseIn5Mins, + vld_blazeRaise, + vld_blazeOpen, + vld_blazeClose + +} vldoor_e; + + + +typedef struct +{ + thinker_t thinker; + vldoor_e type; + sector_t* sector; + fixed_t topheight; + fixed_t speed; + + // 1 = up, 0 = waiting at top, -1 = down + int direction; + + // tics to wait at the top + int topwait; + // (keep in case a door going down is reset) + // when it reaches 0, start going down + int topcountdown; + +} vldoor_t; + + + +#define VDOORSPEED FRACUNIT*2 +#define VDOORWAIT 150 + +void +EV_VerticalDoor +( line_t* line, + mobj_t* thing ); + +int +EV_DoDoor +( line_t* line, + vldoor_e type ); + +int +EV_DoLockedDoor +( line_t* line, + vldoor_e type, + mobj_t* thing ); + +void T_VerticalDoor (vldoor_t* door); +void P_SpawnDoorCloseIn30 (sector_t* sec); + +void +P_SpawnDoorRaiseIn5Mins +( sector_t* sec, + int secnum ); + + + +#if 0 // UNUSED +// +// Sliding doors... +// +typedef enum +{ + sd_opening, + sd_waiting, + sd_closing + +} sd_e; + + + +typedef enum +{ + sdt_openOnly, + sdt_closeOnly, + sdt_openAndClose + +} sdt_e; + + + + +typedef struct +{ + thinker_t thinker; + sdt_e type; + line_t* line; + int frame; + int whichDoorIndex; + int timer; + sector_t* frontsector; + sector_t* backsector; + sd_e status; + +} slidedoor_t; + + + +typedef struct +{ + char frontFrame1[9]; + char frontFrame2[9]; + char frontFrame3[9]; + char frontFrame4[9]; + char backFrame1[9]; + char backFrame2[9]; + char backFrame3[9]; + char backFrame4[9]; + +} slidename_t; + + + +typedef struct +{ + int frontFrames[4]; + int backFrames[4]; + +} slideframe_t; + + + +// how many frames of animation +#define SNUMFRAMES 4 + +#define SDOORWAIT 35*3 +#define SWAITTICS 4 + +// how many diff. types of anims +#define MAXSLIDEDOORS 5 + +void P_InitSlidingDoorFrames(void); + +void +EV_SlidingDoor +( line_t* line, + mobj_t* thing ); +#endif + + + +// +// P_CEILNG +// +typedef enum +{ + lowerToFloor, + raiseToHighest, + lowerAndCrush, + crushAndRaise, + fastCrushAndRaise, + silentCrushAndRaise + +} ceiling_e; + + + +typedef struct +{ + thinker_t thinker; + ceiling_e type; + sector_t* sector; + fixed_t bottomheight; + fixed_t topheight; + fixed_t speed; + boolean crush; + + // 1 = up, 0 = waiting, -1 = down + int direction; + + // ID + int tag; + int olddirection; + +} ceiling_t; + + + + + +#define CEILSPEED FRACUNIT +#define CEILWAIT 150 +#define MAXCEILINGS 30 + +extern ceiling_t* activeceilings[MAXCEILINGS]; + +int +EV_DoCeiling +( line_t* line, + ceiling_e type ); + +void T_MoveCeiling (ceiling_t* ceiling); +void P_AddActiveCeiling(ceiling_t* c); +void P_RemoveActiveCeiling(ceiling_t* c); +int EV_CeilingCrushStop(line_t* line); +void P_ActivateInStasisCeiling(line_t* line); + + +// +// P_FLOOR +// +typedef enum +{ + // lower floor to highest surrounding floor + lowerFloor, + + // lower floor to lowest surrounding floor + lowerFloorToLowest, + + // lower floor to highest surrounding floor VERY FAST + turboLower, + + // raise floor to lowest surrounding CEILING + raiseFloor, + + // raise floor to next highest surrounding floor + raiseFloorToNearest, + + // raise floor to shortest height texture around it + raiseToTexture, + + // lower floor to lowest surrounding floor + // and change floorpic + lowerAndChange, + + raiseFloor24, + raiseFloor24AndChange, + raiseFloorCrush, + + // raise to next highest floor, turbo-speed + raiseFloorTurbo, + donutRaise, + raiseFloor512 + +} floor_e; + + + + +typedef enum +{ + build8, // slowly build by 8 + turbo16 // quickly build by 16 + +} stair_e; + + + +typedef struct +{ + thinker_t thinker; + floor_e type; + boolean crush; + sector_t* sector; + int direction; + int newspecial; + short texture; + fixed_t floordestheight; + fixed_t speed; + +} floormove_t; + + + +#define FLOORSPEED FRACUNIT + +typedef enum +{ + ok, + crushed, + pastdest + +} result_e; + +result_e +T_MovePlane +( sector_t* sector, + fixed_t speed, + fixed_t dest, + boolean crush, + int floorOrCeiling, + int direction ); + +int +EV_BuildStairs +( line_t* line, + stair_e type ); + +int +EV_DoFloor +( line_t* line, + floor_e floortype ); + +void T_MoveFloor( floormove_t* floor); + +// +// P_TELEPT +// +int +EV_Teleport +( line_t* line, + int side, + mobj_t* thing ); + +#endif diff --git a/src/kernel/userland/doom/p_switch.c b/src/kernel/userland/doom/p_switch.c new file mode 100644 index 0000000..ed4feec --- /dev/null +++ b/src/kernel/userland/doom/p_switch.c @@ -0,0 +1,648 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// +// DESCRIPTION: +// Switches, buttons. Two-state animation. Exits. +// + +#include + +#include "i_system.h" +#include "deh_main.h" +#include "doomdef.h" +#include "p_local.h" + +#include "g_game.h" + +#include "s_sound.h" + +// Data. +#include "sounds.h" + +// State. +#include "doomstat.h" +#include "r_state.h" + + +// +// CHANGE THE TEXTURE OF A WALL SWITCH TO ITS OPPOSITE +// +switchlist_t alphSwitchList[] = +{ + // Doom shareware episode 1 switches + {"SW1BRCOM", "SW2BRCOM", 1}, + {"SW1BRN1", "SW2BRN1", 1}, + {"SW1BRN2", "SW2BRN2", 1}, + {"SW1BRNGN", "SW2BRNGN", 1}, + {"SW1BROWN", "SW2BROWN", 1}, + {"SW1COMM", "SW2COMM", 1}, + {"SW1COMP", "SW2COMP", 1}, + {"SW1DIRT", "SW2DIRT", 1}, + {"SW1EXIT", "SW2EXIT", 1}, + {"SW1GRAY", "SW2GRAY", 1}, + {"SW1GRAY1", "SW2GRAY1", 1}, + {"SW1METAL", "SW2METAL", 1}, + {"SW1PIPE", "SW2PIPE", 1}, + {"SW1SLAD", "SW2SLAD", 1}, + {"SW1STARG", "SW2STARG", 1}, + {"SW1STON1", "SW2STON1", 1}, + {"SW1STON2", "SW2STON2", 1}, + {"SW1STONE", "SW2STONE", 1}, + {"SW1STRTN", "SW2STRTN", 1}, + + // Doom registered episodes 2&3 switches + {"SW1BLUE", "SW2BLUE", 2}, + {"SW1CMT", "SW2CMT", 2}, + {"SW1GARG", "SW2GARG", 2}, + {"SW1GSTON", "SW2GSTON", 2}, + {"SW1HOT", "SW2HOT", 2}, + {"SW1LION", "SW2LION", 2}, + {"SW1SATYR", "SW2SATYR", 2}, + {"SW1SKIN", "SW2SKIN", 2}, + {"SW1VINE", "SW2VINE", 2}, + {"SW1WOOD", "SW2WOOD", 2}, + + // Doom II switches + {"SW1PANEL", "SW2PANEL", 3}, + {"SW1ROCK", "SW2ROCK", 3}, + {"SW1MET2", "SW2MET2", 3}, + {"SW1WDMET", "SW2WDMET", 3}, + {"SW1BRIK", "SW2BRIK", 3}, + {"SW1MOD1", "SW2MOD1", 3}, + {"SW1ZIM", "SW2ZIM", 3}, + {"SW1STON6", "SW2STON6", 3}, + {"SW1TEK", "SW2TEK", 3}, + {"SW1MARB", "SW2MARB", 3}, + {"SW1SKULL", "SW2SKULL", 3}, + + {"\0", "\0", 0} +}; + +int switchlist[MAXSWITCHES * 2]; +int numswitches; +button_t buttonlist[MAXBUTTONS]; + +// +// P_InitSwitchList +// Only called at game initialization. +// +void P_InitSwitchList(void) +{ + int i; + int index; + int episode; + + episode = 1; + + if (gamemode == registered || gamemode == retail) + episode = 2; + else + if ( gamemode == commercial ) + episode = 3; + + for (index = 0,i = 0;i < MAXSWITCHES;i++) + { + if (!alphSwitchList[i].episode) + { + numswitches = index/2; + switchlist[index] = -1; + break; + } + + if (alphSwitchList[i].episode <= episode) + { +#if 0 // UNUSED - debug? + int value; + + if (R_CheckTextureNumForName(alphSwitchList[i].name1) < 0) + { + I_Error("Can't find switch texture '%s'!", + alphSwitchList[i].name1); + continue; + } + + value = R_TextureNumForName(alphSwitchList[i].name1); +#endif + switchlist[index++] = R_TextureNumForName(DEH_String(alphSwitchList[i].name1)); + switchlist[index++] = R_TextureNumForName(DEH_String(alphSwitchList[i].name2)); + } + } +} + + +// +// Start a button counting down till it turns off. +// +void +P_StartButton +( line_t* line, + bwhere_e w, + int texture, + int time ) +{ + int i; + + // See if button is already pressed + for (i = 0;i < MAXBUTTONS;i++) + { + if (buttonlist[i].btimer + && buttonlist[i].line == line) + { + + return; + } + } + + + + for (i = 0;i < MAXBUTTONS;i++) + { + if (!buttonlist[i].btimer) + { + buttonlist[i].line = line; + buttonlist[i].where = w; + buttonlist[i].btexture = texture; + buttonlist[i].btimer = time; + buttonlist[i].soundorg = &line->frontsector->soundorg; + return; + } + } + + I_Error("P_StartButton: no button slots left!"); +} + + + + + +// +// Function that changes wall texture. +// Tell it if switch is ok to use again (1=yes, it's a button). +// +void +P_ChangeSwitchTexture +( line_t* line, + int useAgain ) +{ + int texTop; + int texMid; + int texBot; + int i; + int sound; + + if (!useAgain) + line->special = 0; + + texTop = sides[line->sidenum[0]].toptexture; + texMid = sides[line->sidenum[0]].midtexture; + texBot = sides[line->sidenum[0]].bottomtexture; + + sound = sfx_swtchn; + + // EXIT SWITCH? + if (line->special == 11) + sound = sfx_swtchx; + + for (i = 0;i < numswitches*2;i++) + { + if (switchlist[i] == texTop) + { + S_StartSound(buttonlist->soundorg,sound); + sides[line->sidenum[0]].toptexture = switchlist[i^1]; + + if (useAgain) + P_StartButton(line,top,switchlist[i],BUTTONTIME); + + return; + } + else + { + if (switchlist[i] == texMid) + { + S_StartSound(buttonlist->soundorg,sound); + sides[line->sidenum[0]].midtexture = switchlist[i^1]; + + if (useAgain) + P_StartButton(line, middle,switchlist[i],BUTTONTIME); + + return; + } + else + { + if (switchlist[i] == texBot) + { + S_StartSound(buttonlist->soundorg,sound); + sides[line->sidenum[0]].bottomtexture = switchlist[i^1]; + + if (useAgain) + P_StartButton(line, bottom,switchlist[i],BUTTONTIME); + + return; + } + } + } + } +} + + + + + + +// +// P_UseSpecialLine +// Called when a thing uses a special line. +// Only the front sides of lines are usable. +// +boolean +P_UseSpecialLine +( mobj_t* thing, + line_t* line, + int side ) +{ + + // Err... + // Use the back sides of VERY SPECIAL lines... + if (side) + { + switch(line->special) + { + case 124: + // Sliding door open&close + // UNUSED? + break; + + default: + return false; + break; + } + } + + + // Switches that other things can activate. + if (!thing->player) + { + // never open secret doors + if (line->flags & ML_SECRET) + return false; + + switch(line->special) + { + case 1: // MANUAL DOOR RAISE + case 32: // MANUAL BLUE + case 33: // MANUAL RED + case 34: // MANUAL YELLOW + break; + + default: + return false; + break; + } + } + + + // do something + switch (line->special) + { + // MANUALS + case 1: // Vertical Door + case 26: // Blue Door/Locked + case 27: // Yellow Door /Locked + case 28: // Red Door /Locked + + case 31: // Manual door open + case 32: // Blue locked door open + case 33: // Red locked door open + case 34: // Yellow locked door open + + case 117: // Blazing door raise + case 118: // Blazing door open + EV_VerticalDoor (line, thing); + break; + + //UNUSED - Door Slide Open&Close + // case 124: + // EV_SlidingDoor (line, thing); + // break; + + // SWITCHES + case 7: + // Build Stairs + if (EV_BuildStairs(line,build8)) + P_ChangeSwitchTexture(line,0); + break; + + case 9: + // Change Donut + if (EV_DoDonut(line)) + P_ChangeSwitchTexture(line,0); + break; + + case 11: + // Exit level + P_ChangeSwitchTexture(line,0); + G_ExitLevel (); + break; + + case 14: + // Raise Floor 32 and change texture + if (EV_DoPlat(line,raiseAndChange,32)) + P_ChangeSwitchTexture(line,0); + break; + + case 15: + // Raise Floor 24 and change texture + if (EV_DoPlat(line,raiseAndChange,24)) + P_ChangeSwitchTexture(line,0); + break; + + case 18: + // Raise Floor to next highest floor + if (EV_DoFloor(line, raiseFloorToNearest)) + P_ChangeSwitchTexture(line,0); + break; + + case 20: + // Raise Plat next highest floor and change texture + if (EV_DoPlat(line,raiseToNearestAndChange,0)) + P_ChangeSwitchTexture(line,0); + break; + + case 21: + // PlatDownWaitUpStay + if (EV_DoPlat(line,downWaitUpStay,0)) + P_ChangeSwitchTexture(line,0); + break; + + case 23: + // Lower Floor to Lowest + if (EV_DoFloor(line,lowerFloorToLowest)) + P_ChangeSwitchTexture(line,0); + break; + + case 29: + // Raise Door + if (EV_DoDoor(line,vld_normal)) + P_ChangeSwitchTexture(line,0); + break; + + case 41: + // Lower Ceiling to Floor + if (EV_DoCeiling(line,lowerToFloor)) + P_ChangeSwitchTexture(line,0); + break; + + case 71: + // Turbo Lower Floor + if (EV_DoFloor(line,turboLower)) + P_ChangeSwitchTexture(line,0); + break; + + case 49: + // Ceiling Crush And Raise + if (EV_DoCeiling(line,crushAndRaise)) + P_ChangeSwitchTexture(line,0); + break; + + case 50: + // Close Door + if (EV_DoDoor(line,vld_close)) + P_ChangeSwitchTexture(line,0); + break; + + case 51: + // Secret EXIT + P_ChangeSwitchTexture(line,0); + G_SecretExitLevel (); + break; + + case 55: + // Raise Floor Crush + if (EV_DoFloor(line,raiseFloorCrush)) + P_ChangeSwitchTexture(line,0); + break; + + case 101: + // Raise Floor + if (EV_DoFloor(line,raiseFloor)) + P_ChangeSwitchTexture(line,0); + break; + + case 102: + // Lower Floor to Surrounding floor height + if (EV_DoFloor(line,lowerFloor)) + P_ChangeSwitchTexture(line,0); + break; + + case 103: + // Open Door + if (EV_DoDoor(line,vld_open)) + P_ChangeSwitchTexture(line,0); + break; + + case 111: + // Blazing Door Raise (faster than TURBO!) + if (EV_DoDoor (line,vld_blazeRaise)) + P_ChangeSwitchTexture(line,0); + break; + + case 112: + // Blazing Door Open (faster than TURBO!) + if (EV_DoDoor (line,vld_blazeOpen)) + P_ChangeSwitchTexture(line,0); + break; + + case 113: + // Blazing Door Close (faster than TURBO!) + if (EV_DoDoor (line,vld_blazeClose)) + P_ChangeSwitchTexture(line,0); + break; + + case 122: + // Blazing PlatDownWaitUpStay + if (EV_DoPlat(line,blazeDWUS,0)) + P_ChangeSwitchTexture(line,0); + break; + + case 127: + // Build Stairs Turbo 16 + if (EV_BuildStairs(line,turbo16)) + P_ChangeSwitchTexture(line,0); + break; + + case 131: + // Raise Floor Turbo + if (EV_DoFloor(line,raiseFloorTurbo)) + P_ChangeSwitchTexture(line,0); + break; + + case 133: + // BlzOpenDoor BLUE + case 135: + // BlzOpenDoor RED + case 137: + // BlzOpenDoor YELLOW + if (EV_DoLockedDoor (line,vld_blazeOpen,thing)) + P_ChangeSwitchTexture(line,0); + break; + + case 140: + // Raise Floor 512 + if (EV_DoFloor(line,raiseFloor512)) + P_ChangeSwitchTexture(line,0); + break; + + // BUTTONS + case 42: + // Close Door + if (EV_DoDoor(line,vld_close)) + P_ChangeSwitchTexture(line,1); + break; + + case 43: + // Lower Ceiling to Floor + if (EV_DoCeiling(line,lowerToFloor)) + P_ChangeSwitchTexture(line,1); + break; + + case 45: + // Lower Floor to Surrounding floor height + if (EV_DoFloor(line,lowerFloor)) + P_ChangeSwitchTexture(line,1); + break; + + case 60: + // Lower Floor to Lowest + if (EV_DoFloor(line,lowerFloorToLowest)) + P_ChangeSwitchTexture(line,1); + break; + + case 61: + // Open Door + if (EV_DoDoor(line,vld_open)) + P_ChangeSwitchTexture(line,1); + break; + + case 62: + // PlatDownWaitUpStay + if (EV_DoPlat(line,downWaitUpStay,1)) + P_ChangeSwitchTexture(line,1); + break; + + case 63: + // Raise Door + if (EV_DoDoor(line,vld_normal)) + P_ChangeSwitchTexture(line,1); + break; + + case 64: + // Raise Floor to ceiling + if (EV_DoFloor(line,raiseFloor)) + P_ChangeSwitchTexture(line,1); + break; + + case 66: + // Raise Floor 24 and change texture + if (EV_DoPlat(line,raiseAndChange,24)) + P_ChangeSwitchTexture(line,1); + break; + + case 67: + // Raise Floor 32 and change texture + if (EV_DoPlat(line,raiseAndChange,32)) + P_ChangeSwitchTexture(line,1); + break; + + case 65: + // Raise Floor Crush + if (EV_DoFloor(line,raiseFloorCrush)) + P_ChangeSwitchTexture(line,1); + break; + + case 68: + // Raise Plat to next highest floor and change texture + if (EV_DoPlat(line,raiseToNearestAndChange,0)) + P_ChangeSwitchTexture(line,1); + break; + + case 69: + // Raise Floor to next highest floor + if (EV_DoFloor(line, raiseFloorToNearest)) + P_ChangeSwitchTexture(line,1); + break; + + case 70: + // Turbo Lower Floor + if (EV_DoFloor(line,turboLower)) + P_ChangeSwitchTexture(line,1); + break; + + case 114: + // Blazing Door Raise (faster than TURBO!) + if (EV_DoDoor (line,vld_blazeRaise)) + P_ChangeSwitchTexture(line,1); + break; + + case 115: + // Blazing Door Open (faster than TURBO!) + if (EV_DoDoor (line,vld_blazeOpen)) + P_ChangeSwitchTexture(line,1); + break; + + case 116: + // Blazing Door Close (faster than TURBO!) + if (EV_DoDoor (line,vld_blazeClose)) + P_ChangeSwitchTexture(line,1); + break; + + case 123: + // Blazing PlatDownWaitUpStay + if (EV_DoPlat(line,blazeDWUS,0)) + P_ChangeSwitchTexture(line,1); + break; + + case 132: + // Raise Floor Turbo + if (EV_DoFloor(line,raiseFloorTurbo)) + P_ChangeSwitchTexture(line,1); + break; + + case 99: + // BlzOpenDoor BLUE + case 134: + // BlzOpenDoor RED + case 136: + // BlzOpenDoor YELLOW + if (EV_DoLockedDoor (line,vld_blazeOpen,thing)) + P_ChangeSwitchTexture(line,1); + break; + + case 138: + // Light Turn On + EV_LightTurnOn(line,255); + P_ChangeSwitchTexture(line,1); + break; + + case 139: + // Light Turn Off + EV_LightTurnOn(line,35); + P_ChangeSwitchTexture(line,1); + break; + + } + + return true; +} + diff --git a/src/kernel/userland/doom/p_telept.c b/src/kernel/userland/doom/p_telept.c new file mode 100644 index 0000000..45cdfb0 --- /dev/null +++ b/src/kernel/userland/doom/p_telept.c @@ -0,0 +1,133 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Teleportation. +// + + + + +#include "doomdef.h" +#include "doomstat.h" + +#include "s_sound.h" + +#include "p_local.h" + + +// Data. +#include "sounds.h" + +// State. +#include "r_state.h" + + + +// +// TELEPORTATION +// +int +EV_Teleport +( line_t* line, + int side, + mobj_t* thing ) +{ + int i; + int tag; + mobj_t* m; + mobj_t* fog; + unsigned an; + thinker_t* thinker; + sector_t* sector; + fixed_t oldx; + fixed_t oldy; + fixed_t oldz; + + // don't teleport missiles + if (thing->flags & MF_MISSILE) + return 0; + + // Don't teleport if hit back of line, + // so you can get out of teleporter. + if (side == 1) + return 0; + + + tag = line->tag; + for (i = 0; i < numsectors; i++) + { + if (sectors[ i ].tag == tag ) + { + thinker = thinkercap.next; + for (thinker = thinkercap.next; + thinker != &thinkercap; + thinker = thinker->next) + { + // not a mobj + if (thinker->function.acp1 != (actionf_p1)P_MobjThinker) + continue; + + m = (mobj_t *)thinker; + + // not a teleportman + if (m->type != MT_TELEPORTMAN ) + continue; + + sector = m->subsector->sector; + // wrong sector + if (sector-sectors != i ) + continue; + + oldx = thing->x; + oldy = thing->y; + oldz = thing->z; + + if (!P_TeleportMove (thing, m->x, m->y)) + return 0; + + // The first Final Doom executable does not set thing->z + // when teleporting. This quirk is unique to this + // particular version; the later version included in + // some versions of the Id Anthology fixed this. + + if (gameversion != exe_final) + thing->z = thing->floorz; + + if (thing->player) + thing->player->viewz = thing->z+thing->player->viewheight; + + // spawn teleport fog at source and destination + fog = P_SpawnMobj (oldx, oldy, oldz, MT_TFOG); + S_StartSound (fog, sfx_telept); + an = m->angle >> ANGLETOFINESHIFT; + fog = P_SpawnMobj (m->x+20*finecosine[an], m->y+20*finesine[an] + , thing->z, MT_TFOG); + + // emit sound, where? + S_StartSound (fog, sfx_telept); + + // don't move for a bit + if (thing->player) + thing->reactiontime = 18; + + thing->angle = m->angle; + thing->momx = thing->momy = thing->momz = 0; + return 1; + } + } + } + return 0; +} + diff --git a/src/kernel/userland/doom/p_tick.c b/src/kernel/userland/doom/p_tick.c new file mode 100644 index 0000000..2289350 --- /dev/null +++ b/src/kernel/userland/doom/p_tick.c @@ -0,0 +1,151 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Archiving: SaveGame I/O. +// Thinker, Ticker. +// + + +#include "z_zone.h" +#include "p_local.h" + +#include "doomstat.h" + + +int leveltime; + +// +// THINKERS +// All thinkers should be allocated by Z_Malloc +// so they can be operated on uniformly. +// The actual structures will vary in size, +// but the first element must be thinker_t. +// + + + +// Both the head and tail of the thinker list. +thinker_t thinkercap; + + +// +// P_InitThinkers +// +void P_InitThinkers (void) +{ + thinkercap.prev = thinkercap.next = &thinkercap; +} + + + + +// +// P_AddThinker +// Adds a new thinker at the end of the list. +// +void P_AddThinker (thinker_t* thinker) +{ + thinkercap.prev->next = thinker; + thinker->next = &thinkercap; + thinker->prev = thinkercap.prev; + thinkercap.prev = thinker; +} + + + +// +// P_RemoveThinker +// Deallocation is lazy -- it will not actually be freed +// until its thinking turn comes up. +// +void P_RemoveThinker (thinker_t* thinker) +{ + // FIXME: NOP. + thinker->function.acv = (actionf_v)(-1); +} + + + +// +// P_AllocateThinker +// Allocates memory and adds a new thinker at the end of the list. +// +void P_AllocateThinker (thinker_t* thinker) +{ +} + + + +// +// P_RunThinkers +// +void P_RunThinkers (void) +{ + thinker_t* currentthinker; + + currentthinker = thinkercap.next; + while (currentthinker != &thinkercap) + { + if ( currentthinker->function.acv == (actionf_v)(-1) ) + { + // time to remove it + currentthinker->next->prev = currentthinker->prev; + currentthinker->prev->next = currentthinker->next; + Z_Free (currentthinker); + } + else + { + if (currentthinker->function.acp1) + currentthinker->function.acp1 (currentthinker); + } + currentthinker = currentthinker->next; + } +} + + + +// +// P_Ticker +// + +void P_Ticker (void) +{ + int i; + + // run the tic + if (paused) + return; + + // pause if in menu and at least one tic has been run + if ( !netgame + && menuactive + && !demoplayback + && players[consoleplayer].viewz != 1) + { + return; + } + + + for (i=0 ; i>= ANGLETOFINESHIFT; + + player->mo->momx += FixedMul(move,finecosine[angle]); + player->mo->momy += FixedMul(move,finesine[angle]); +} + + + + +// +// P_CalcHeight +// Calculate the walking / running height adjustment +// +void P_CalcHeight (player_t* player) +{ + int angle; + fixed_t bob; + + // Regular movement bobbing + // (needs to be calculated for gun swing + // even if not on ground) + // OPTIMIZE: tablify angle + // Note: a LUT allows for effects + // like a ramp with low health. + player->bob = + FixedMul (player->mo->momx, player->mo->momx) + + FixedMul (player->mo->momy,player->mo->momy); + + player->bob >>= 2; + + if (player->bob>MAXBOB) + player->bob = MAXBOB; + + if ((player->cheats & CF_NOMOMENTUM) || !onground) + { + player->viewz = player->mo->z + VIEWHEIGHT; + + if (player->viewz > player->mo->ceilingz-4*FRACUNIT) + player->viewz = player->mo->ceilingz-4*FRACUNIT; + + player->viewz = player->mo->z + player->viewheight; + return; + } + + angle = (FINEANGLES/20*leveltime)&FINEMASK; + bob = FixedMul ( player->bob/2, finesine[angle]); + + + // move viewheight + if (player->playerstate == PST_LIVE) + { + player->viewheight += player->deltaviewheight; + + if (player->viewheight > VIEWHEIGHT) + { + player->viewheight = VIEWHEIGHT; + player->deltaviewheight = 0; + } + + if (player->viewheight < VIEWHEIGHT/2) + { + player->viewheight = VIEWHEIGHT/2; + if (player->deltaviewheight <= 0) + player->deltaviewheight = 1; + } + + if (player->deltaviewheight) + { + player->deltaviewheight += FRACUNIT/4; + if (!player->deltaviewheight) + player->deltaviewheight = 1; + } + } + player->viewz = player->mo->z + player->viewheight + bob; + + if (player->viewz > player->mo->ceilingz-4*FRACUNIT) + player->viewz = player->mo->ceilingz-4*FRACUNIT; +} + + + +// +// P_MovePlayer +// +void P_MovePlayer (player_t* player) +{ + ticcmd_t* cmd; + + cmd = &player->cmd; + + player->mo->angle += (cmd->angleturn<<16); + + // Do not let the player control movement + // if not onground. + onground = (player->mo->z <= player->mo->floorz); + + if (cmd->forwardmove && onground) + P_Thrust (player, player->mo->angle, cmd->forwardmove*2048); + + if (cmd->sidemove && onground) + P_Thrust (player, player->mo->angle-ANG90, cmd->sidemove*2048); + + if ( (cmd->forwardmove || cmd->sidemove) + && player->mo->state == &states[S_PLAY] ) + { + P_SetMobjState (player->mo, S_PLAY_RUN1); + } +} + + + +// +// P_DeathThink +// Fall on your face when dying. +// Decrease POV height to floor height. +// +#define ANG5 (ANG90/18) + +void P_DeathThink (player_t* player) +{ + angle_t angle; + angle_t delta; + + P_MovePsprites (player); + + // fall to the ground + if (player->viewheight > 6*FRACUNIT) + player->viewheight -= FRACUNIT; + + if (player->viewheight < 6*FRACUNIT) + player->viewheight = 6*FRACUNIT; + + player->deltaviewheight = 0; + onground = (player->mo->z <= player->mo->floorz); + P_CalcHeight (player); + + if (player->attacker && player->attacker != player->mo) + { + angle = R_PointToAngle2 (player->mo->x, + player->mo->y, + player->attacker->x, + player->attacker->y); + + delta = angle - player->mo->angle; + + if (delta < ANG5 || delta > (unsigned)-ANG5) + { + // Looking at killer, + // so fade damage flash down. + player->mo->angle = angle; + + if (player->damagecount) + player->damagecount--; + } + else if (delta < ANG180) + player->mo->angle += ANG5; + else + player->mo->angle -= ANG5; + } + else if (player->damagecount) + player->damagecount--; + + + if (player->cmd.buttons & BT_USE) + player->playerstate = PST_REBORN; +} + + + +// +// P_PlayerThink +// +void P_PlayerThink (player_t* player) +{ + ticcmd_t* cmd; + weapontype_t newweapon; + + // fixme: do this in the cheat code + if (player->cheats & CF_NOCLIP) + player->mo->flags |= MF_NOCLIP; + else + player->mo->flags &= ~MF_NOCLIP; + + // chain saw run forward + cmd = &player->cmd; + if (player->mo->flags & MF_JUSTATTACKED) + { + cmd->angleturn = 0; + cmd->forwardmove = 0xc800/512; + cmd->sidemove = 0; + player->mo->flags &= ~MF_JUSTATTACKED; + } + + + if (player->playerstate == PST_DEAD) + { + P_DeathThink (player); + return; + } + + // Move around. + // Reactiontime is used to prevent movement + // for a bit after a teleport. + if (player->mo->reactiontime) + player->mo->reactiontime--; + else + P_MovePlayer (player); + + P_CalcHeight (player); + + if (player->mo->subsector->sector->special) + P_PlayerInSpecialSector (player); + + // Check for weapon change. + + // A special event has no other buttons. + if (cmd->buttons & BT_SPECIAL) + cmd->buttons = 0; + + if (cmd->buttons & BT_CHANGE) + { + // The actual changing of the weapon is done + // when the weapon psprite can do it + // (read: not in the middle of an attack). + newweapon = (cmd->buttons&BT_WEAPONMASK)>>BT_WEAPONSHIFT; + + if (newweapon == wp_fist + && player->weaponowned[wp_chainsaw] + && !(player->readyweapon == wp_chainsaw + && player->powers[pw_strength])) + { + newweapon = wp_chainsaw; + } + + if ( (gamemode == commercial) + && newweapon == wp_shotgun + && player->weaponowned[wp_supershotgun] + && player->readyweapon != wp_supershotgun) + { + newweapon = wp_supershotgun; + } + + + if (player->weaponowned[newweapon] + && newweapon != player->readyweapon) + { + // Do not go to plasma or BFG in shareware, + // even if cheated. + if ((newweapon != wp_plasma + && newweapon != wp_bfg) + || (gamemode != shareware) ) + { + player->pendingweapon = newweapon; + } + } + } + + // check for use + if (cmd->buttons & BT_USE) + { + if (!player->usedown) + { + P_UseLines (player); + player->usedown = true; + } + } + else + player->usedown = false; + + // cycle psprites + P_MovePsprites (player); + + // Counters, time dependend power ups. + + // Strength counts up to diminish fade. + if (player->powers[pw_strength]) + player->powers[pw_strength]++; + + if (player->powers[pw_invulnerability]) + player->powers[pw_invulnerability]--; + + if (player->powers[pw_invisibility]) + if (! --player->powers[pw_invisibility] ) + player->mo->flags &= ~MF_SHADOW; + + if (player->powers[pw_infrared]) + player->powers[pw_infrared]--; + + if (player->powers[pw_ironfeet]) + player->powers[pw_ironfeet]--; + + if (player->damagecount) + player->damagecount--; + + if (player->bonuscount) + player->bonuscount--; + + + // Handling colormaps. + if (player->powers[pw_invulnerability]) + { + if (player->powers[pw_invulnerability] > 4*32 + || (player->powers[pw_invulnerability]&8) ) + player->fixedcolormap = INVERSECOLORMAP; + else + player->fixedcolormap = 0; + } + else if (player->powers[pw_infrared]) + { + if (player->powers[pw_infrared] > 4*32 + || (player->powers[pw_infrared]&8) ) + { + // almost full bright + player->fixedcolormap = 1; + } + else + player->fixedcolormap = 0; + } + else + player->fixedcolormap = 0; +} + + diff --git a/src/kernel/userland/doom/r_bsp.c b/src/kernel/userland/doom/r_bsp.c new file mode 100644 index 0000000..9a78812 --- /dev/null +++ b/src/kernel/userland/doom/r_bsp.c @@ -0,0 +1,573 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// BSP traversal, handling of LineSegs for rendering. +// + + + + +#include "doomdef.h" + +#include "m_bbox.h" + +#include "i_system.h" + +#include "r_main.h" +#include "r_plane.h" +#include "r_things.h" + +// State. +#include "doomstat.h" +#include "r_state.h" + +//#include "r_local.h" + + + +seg_t* curline; +side_t* sidedef; +line_t* linedef; +sector_t* frontsector; +sector_t* backsector; + +drawseg_t drawsegs[MAXDRAWSEGS]; +drawseg_t* ds_p; + + +void +R_StoreWallRange +( int start, + int stop ); + + + + +// +// R_ClearDrawSegs +// +void R_ClearDrawSegs (void) +{ + ds_p = drawsegs; +} + + + +// +// ClipWallSegment +// Clips the given range of columns +// and includes it in the new clip list. +// +typedef struct +{ + int first; + int last; + +} cliprange_t; + + +#define MAXSEGS 32 + +// newend is one past the last valid seg +cliprange_t* newend; +cliprange_t solidsegs[MAXSEGS]; + + + + +// +// R_ClipSolidWallSegment +// Does handle solid walls, +// e.g. single sided LineDefs (middle texture) +// that entirely block the view. +// +void +R_ClipSolidWallSegment +( int first, + int last ) +{ + cliprange_t* next; + cliprange_t* start; + + // Find the first range that touches the range + // (adjacent pixels are touching). + start = solidsegs; + while (start->last < first-1) + start++; + + if (first < start->first) + { + if (last < start->first-1) + { + // Post is entirely visible (above start), + // so insert a new clippost. + R_StoreWallRange (first, last); + next = newend; + newend++; + + while (next != start) + { + *next = *(next-1); + next--; + } + next->first = first; + next->last = last; + return; + } + + // There is a fragment above *start. + R_StoreWallRange (first, start->first - 1); + // Now adjust the clip size. + start->first = first; + } + + // Bottom contained in start? + if (last <= start->last) + return; + + next = start; + while (last >= (next+1)->first-1) + { + // There is a fragment between two posts. + R_StoreWallRange (next->last + 1, (next+1)->first - 1); + next++; + + if (last <= next->last) + { + // Bottom is contained in next. + // Adjust the clip size. + start->last = next->last; + goto crunch; + } + } + + // There is a fragment after *next. + R_StoreWallRange (next->last + 1, last); + // Adjust the clip size. + start->last = last; + + // Remove start+1 to next from the clip list, + // because start now covers their area. + crunch: + if (next == start) + { + // Post just extended past the bottom of one post. + return; + } + + + while (next++ != newend) + { + // Remove a post. + *++start = *next; + } + + newend = start+1; +} + + + +// +// R_ClipPassWallSegment +// Clips the given range of columns, +// but does not includes it in the clip list. +// Does handle windows, +// e.g. LineDefs with upper and lower texture. +// +void +R_ClipPassWallSegment +( int first, + int last ) +{ + cliprange_t* start; + + // Find the first range that touches the range + // (adjacent pixels are touching). + start = solidsegs; + while (start->last < first-1) + start++; + + if (first < start->first) + { + if (last < start->first-1) + { + // Post is entirely visible (above start). + R_StoreWallRange (first, last); + return; + } + + // There is a fragment above *start. + R_StoreWallRange (first, start->first - 1); + } + + // Bottom contained in start? + if (last <= start->last) + return; + + while (last >= (start+1)->first-1) + { + // There is a fragment between two posts. + R_StoreWallRange (start->last + 1, (start+1)->first - 1); + start++; + + if (last <= start->last) + return; + } + + // There is a fragment after *next. + R_StoreWallRange (start->last + 1, last); +} + + + +// +// R_ClearClipSegs +// +void R_ClearClipSegs (void) +{ + solidsegs[0].first = -0x7fffffff; + solidsegs[0].last = -1; + solidsegs[1].first = viewwidth; + solidsegs[1].last = 0x7fffffff; + newend = solidsegs+2; +} + +// +// R_AddLine +// Clips the given segment +// and adds any visible pieces to the line list. +// +void R_AddLine (seg_t* line) +{ + int x1; + int x2; + angle_t angle1; + angle_t angle2; + angle_t span; + angle_t tspan; + + curline = line; + + // OPTIMIZE: quickly reject orthogonal back sides. + angle1 = R_PointToAngle (line->v1->x, line->v1->y); + angle2 = R_PointToAngle (line->v2->x, line->v2->y); + + // Clip to view edges. + // OPTIMIZE: make constant out of 2*clipangle (FIELDOFVIEW). + span = angle1 - angle2; + + // Back side? I.e. backface culling? + if (span >= ANG180) + return; + + // Global angle needed by segcalc. + rw_angle1 = angle1; + angle1 -= viewangle; + angle2 -= viewangle; + + tspan = angle1 + clipangle; + if (tspan > 2*clipangle) + { + tspan -= 2*clipangle; + + // Totally off the left edge? + if (tspan >= span) + return; + + angle1 = clipangle; + } + tspan = clipangle - angle2; + if (tspan > 2*clipangle) + { + tspan -= 2*clipangle; + + // Totally off the left edge? + if (tspan >= span) + return; + angle2 = -clipangle; + } + + // The seg is in the view range, + // but not necessarily visible. + angle1 = (angle1+ANG90)>>ANGLETOFINESHIFT; + angle2 = (angle2+ANG90)>>ANGLETOFINESHIFT; + x1 = viewangletox[angle1]; + x2 = viewangletox[angle2]; + + // Does not cross a pixel? + if (x1 == x2) + return; + + backsector = line->backsector; + + // Single sided line? + if (!backsector) + goto clipsolid; + + // Closed door. + if (backsector->ceilingheight <= frontsector->floorheight + || backsector->floorheight >= frontsector->ceilingheight) + goto clipsolid; + + // Window. + if (backsector->ceilingheight != frontsector->ceilingheight + || backsector->floorheight != frontsector->floorheight) + goto clippass; + + // Reject empty lines used for triggers + // and special events. + // Identical floor and ceiling on both sides, + // identical light levels on both sides, + // and no middle texture. + if (backsector->ceilingpic == frontsector->ceilingpic + && backsector->floorpic == frontsector->floorpic + && backsector->lightlevel == frontsector->lightlevel + && curline->sidedef->midtexture == 0) + { + return; + } + + + clippass: + R_ClipPassWallSegment (x1, x2-1); + return; + + clipsolid: + R_ClipSolidWallSegment (x1, x2-1); +} + + +// +// R_CheckBBox +// Checks BSP node/subtree bounding box. +// Returns true +// if some part of the bbox might be visible. +// +int checkcoord[12][4] = +{ + {3,0,2,1}, + {3,0,2,0}, + {3,1,2,0}, + {0}, + {2,0,2,1}, + {0,0,0,0}, + {3,1,3,0}, + {0}, + {2,0,3,1}, + {2,1,3,1}, + {2,1,3,0} +}; + + +boolean R_CheckBBox (fixed_t* bspcoord) +{ + int boxx; + int boxy; + int boxpos; + + fixed_t x1; + fixed_t y1; + fixed_t x2; + fixed_t y2; + + angle_t angle1; + angle_t angle2; + angle_t span; + angle_t tspan; + + cliprange_t* start; + + int sx1; + int sx2; + + // Find the corners of the box + // that define the edges from current viewpoint. + if (viewx <= bspcoord[BOXLEFT]) + boxx = 0; + else if (viewx < bspcoord[BOXRIGHT]) + boxx = 1; + else + boxx = 2; + + if (viewy >= bspcoord[BOXTOP]) + boxy = 0; + else if (viewy > bspcoord[BOXBOTTOM]) + boxy = 1; + else + boxy = 2; + + boxpos = (boxy<<2)+boxx; + if (boxpos == 5) + return true; + + x1 = bspcoord[checkcoord[boxpos][0]]; + y1 = bspcoord[checkcoord[boxpos][1]]; + x2 = bspcoord[checkcoord[boxpos][2]]; + y2 = bspcoord[checkcoord[boxpos][3]]; + + // check clip list for an open space + angle1 = R_PointToAngle (x1, y1) - viewangle; + angle2 = R_PointToAngle (x2, y2) - viewangle; + + span = angle1 - angle2; + + // Sitting on a line? + if (span >= ANG180) + return true; + + tspan = angle1 + clipangle; + + if (tspan > 2*clipangle) + { + tspan -= 2*clipangle; + + // Totally off the left edge? + if (tspan >= span) + return false; + + angle1 = clipangle; + } + tspan = clipangle - angle2; + if (tspan > 2*clipangle) + { + tspan -= 2*clipangle; + + // Totally off the left edge? + if (tspan >= span) + return false; + + angle2 = -clipangle; + } + + + // Find the first clippost + // that touches the source post + // (adjacent pixels are touching). + angle1 = (angle1+ANG90)>>ANGLETOFINESHIFT; + angle2 = (angle2+ANG90)>>ANGLETOFINESHIFT; + sx1 = viewangletox[angle1]; + sx2 = viewangletox[angle2]; + + // Does not cross a pixel. + if (sx1 == sx2) + return false; + sx2--; + + start = solidsegs; + while (start->last < sx2) + start++; + + if (sx1 >= start->first + && sx2 <= start->last) + { + // The clippost contains the new span. + return false; + } + + return true; +} + + + +// +// R_Subsector +// Determine floor/ceiling planes. +// Add sprites of things in sector. +// Draw one or more line segments. +// +void R_Subsector (int num) +{ + int count; + seg_t* line; + subsector_t* sub; + +#ifdef RANGECHECK + if (num>=numsubsectors) + I_Error ("R_Subsector: ss %i with numss = %i", + num, + numsubsectors); +#endif + + sscount++; + sub = &subsectors[num]; + frontsector = sub->sector; + count = sub->numlines; + line = &segs[sub->firstline]; + + if (frontsector->floorheight < viewz) + { + floorplane = R_FindPlane (frontsector->floorheight, + frontsector->floorpic, + frontsector->lightlevel); + } + else + floorplane = NULL; + + if (frontsector->ceilingheight > viewz + || frontsector->ceilingpic == skyflatnum) + { + ceilingplane = R_FindPlane (frontsector->ceilingheight, + frontsector->ceilingpic, + frontsector->lightlevel); + } + else + ceilingplane = NULL; + + R_AddSprites (frontsector); + + while (count--) + { + R_AddLine (line); + line++; + } +} + + + + +// +// RenderBSPNode +// Renders all subsectors below a given node, +// traversing subtree recursively. +// Just call with BSP root. +void R_RenderBSPNode (int bspnum) +{ + node_t* bsp; + int side; + + // Found a subsector? + if (bspnum & NF_SUBSECTOR) + { + if (bspnum == -1) + R_Subsector (0); + else + R_Subsector (bspnum&(~NF_SUBSECTOR)); + return; + } + + bsp = &nodes[bspnum]; + + // Decide which side the view point is on. + side = R_PointOnSide (viewx, viewy, bsp); + + // Recursively divide front space. + R_RenderBSPNode (bsp->children[side]); + + // Possibly divide back space. + if (R_CheckBBox (bsp->bbox[side^1])) + R_RenderBSPNode (bsp->children[side^1]); +} + + diff --git a/src/kernel/userland/doom/r_bsp.h b/src/kernel/userland/doom/r_bsp.h new file mode 100644 index 0000000..1723e68 --- /dev/null +++ b/src/kernel/userland/doom/r_bsp.h @@ -0,0 +1,61 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Refresh module, BSP traversal and handling. +// + + +#ifndef __R_BSP__ +#define __R_BSP__ + + + +extern seg_t* curline; +extern side_t* sidedef; +extern line_t* linedef; +extern sector_t* frontsector; +extern sector_t* backsector; + +extern int rw_x; +extern int rw_stopx; + +extern boolean segtextured; + +// false if the back side is the same plane +extern boolean markfloor; +extern boolean markceiling; + +extern boolean skymap; + +extern drawseg_t drawsegs[MAXDRAWSEGS]; +extern drawseg_t* ds_p; + +extern lighttable_t** hscalelight; +extern lighttable_t** vscalelight; +extern lighttable_t** dscalelight; + + +typedef void (*drawfunc_t) (int start, int stop); + + +// BSP? +void R_ClearClipSegs (void); +void R_ClearDrawSegs (void); + + +void R_RenderBSPNode (int bspnum); + + +#endif diff --git a/src/kernel/userland/doom/r_data.c b/src/kernel/userland/doom/r_data.c new file mode 100644 index 0000000..2d4b65b --- /dev/null +++ b/src/kernel/userland/doom/r_data.c @@ -0,0 +1,912 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Preparation of data for rendering, +// generation of lookups, caching, retrieval by name. +// + +#include + +#include "deh_main.h" +#include "i_swap.h" +#include "i_system.h" +#include "z_zone.h" + + +#include "w_wad.h" + +#include "doomdef.h" +#include "m_misc.h" +#include "r_local.h" +#include "p_local.h" + +#include "doomstat.h" +#include "r_sky.h" + + +#include "r_data.h" + +// +// Graphics. +// DOOM graphics for walls and sprites +// is stored in vertical runs of opaque pixels (posts). +// A column is composed of zero or more posts, +// a patch or sprite is composed of zero or more columns. +// + + + +// +// Texture definition. +// Each texture is composed of one or more patches, +// with patches being lumps stored in the WAD. +// The lumps are referenced by number, and patched +// into the rectangular texture space using origin +// and possibly other attributes. +// +typedef struct +{ + short originx; + short originy; + short patch; + short stepdir; + short colormap; +} PACKEDATTR mappatch_t; + + +// +// Texture definition. +// A DOOM wall texture is a list of patches +// which are to be combined in a predefined order. +// +typedef struct +{ + char name[8]; + int masked; + short width; + short height; + int obsolete; + short patchcount; + mappatch_t patches[1]; +} PACKEDATTR maptexture_t; + + +// A single patch from a texture definition, +// basically a rectangular area within +// the texture rectangle. +typedef struct +{ + // Block origin (allways UL), + // which has allready accounted + // for the internal origin of the patch. + short originx; + short originy; + int patch; +} texpatch_t; + + +// A maptexturedef_t describes a rectangular texture, +// which is composed of one or more mappatch_t structures +// that arrange graphic patches. + +typedef struct texture_s texture_t; + +struct texture_s +{ + // Keep name for switch changing, etc. + char name[8]; + short width; + short height; + + // Index in textures list + + int index; + + // Next in hash table chain + + texture_t *next; + + // All the patches[patchcount] + // are drawn back to front into the cached texture. + short patchcount; + texpatch_t patches[1]; +}; + + + +int firstflat; +int lastflat; +int numflats; + +int firstpatch; +int lastpatch; +int numpatches; + +int firstspritelump; +int lastspritelump; +int numspritelumps; + +int numtextures; +texture_t** textures; +texture_t** textures_hashtable; + + +int* texturewidthmask; +// needed for texture pegging +fixed_t* textureheight; +int* texturecompositesize; +short** texturecolumnlump; +unsigned short** texturecolumnofs; +byte** texturecomposite; + +// for global animation +int* flattranslation; +int* texturetranslation; + +// needed for pre rendering +fixed_t* spritewidth; +fixed_t* spriteoffset; +fixed_t* spritetopoffset; + +lighttable_t *colormaps; + + +// +// MAPTEXTURE_T CACHING +// When a texture is first needed, +// it counts the number of composite columns +// required in the texture and allocates space +// for a column directory and any new columns. +// The directory will simply point inside other patches +// if there is only one patch in a given column, +// but any columns with multiple patches +// will have new column_ts generated. +// + + + +// +// R_DrawColumnInCache +// Clip and draw a column +// from a patch into a cached post. +// +void +R_DrawColumnInCache +( column_t* patch, + byte* cache, + int originy, + int cacheheight ) +{ + int count; + int position; + byte* source; + + while (patch->topdelta != 0xff) + { + source = (byte *)patch + 3; + count = patch->length; + position = originy + patch->topdelta; + + if (position < 0) + { + count += position; + position = 0; + } + + if (position + count > cacheheight) + count = cacheheight - position; + + if (count > 0) + memcpy (cache + position, source, count); + + patch = (column_t *)( (byte *)patch + patch->length + 4); + } +} + + + +// +// R_GenerateComposite +// Using the texture definition, +// the composite texture is created from the patches, +// and each column is cached. +// +void R_GenerateComposite (int texnum) +{ + byte* block; + texture_t* texture; + texpatch_t* patch; + patch_t* realpatch; + int x; + int x1; + int x2; + int i; + column_t* patchcol; + short* collump; + unsigned short* colofs; + + texture = textures[texnum]; + + block = Z_Malloc (texturecompositesize[texnum], + PU_STATIC, + &texturecomposite[texnum]); + + collump = texturecolumnlump[texnum]; + colofs = texturecolumnofs[texnum]; + + // Composite the columns together. + patch = texture->patches; + + for (i=0 , patch = texture->patches; + ipatchcount; + i++, patch++) + { + realpatch = W_CacheLumpNum (patch->patch, PU_CACHE); + x1 = patch->originx; + x2 = x1 + SHORT(realpatch->width); + + if (x1<0) + x = 0; + else + x = x1; + + if (x2 > texture->width) + x2 = texture->width; + + for ( ; x= 0) + continue; + + patchcol = (column_t *)((byte *)realpatch + + LONG(realpatch->columnofs[x-x1])); + R_DrawColumnInCache (patchcol, + block + colofs[x], + patch->originy, + texture->height); + } + + } + + // Now that the texture has been built in column cache, + // it is purgable from zone memory. + Z_ChangeTag (block, PU_CACHE); +} + + + +// +// R_GenerateLookup +// +void R_GenerateLookup (int texnum) +{ + texture_t* texture; + byte* patchcount; // patchcount[texture->width] + texpatch_t* patch; + patch_t* realpatch; + int x; + int x1; + int x2; + int i; + short* collump; + unsigned short* colofs; + + texture = textures[texnum]; + + // Composited texture not created yet. + texturecomposite[texnum] = 0; + + texturecompositesize[texnum] = 0; + collump = texturecolumnlump[texnum]; + colofs = texturecolumnofs[texnum]; + + // Now count the number of columns + // that are covered by more than one patch. + // Fill in the lump / offset, so columns + // with only a single patch are all done. + patchcount = (byte *) Z_Malloc(texture->width, PU_STATIC, &patchcount); + memset (patchcount, 0, texture->width); + patch = texture->patches; + + for (i=0 , patch = texture->patches; + ipatchcount; + i++, patch++) + { + realpatch = W_CacheLumpNum (patch->patch, PU_CACHE); + x1 = patch->originx; + x2 = x1 + SHORT(realpatch->width); + + if (x1 < 0) + x = 0; + else + x = x1; + + if (x2 > texture->width) + x2 = texture->width; + for ( ; xpatch; + colofs[x] = LONG(realpatch->columnofs[x-x1])+3; + } + } + + for (x=0 ; xwidth ; x++) + { + if (!patchcount[x]) + { + printf ("R_GenerateLookup: column without a patch (%s)\n", + texture->name); + return; + } + // I_Error ("R_GenerateLookup: column without a patch"); + + if (patchcount[x] > 1) + { + // Use the cached block. + collump[x] = -1; + colofs[x] = texturecompositesize[texnum]; + + if (texturecompositesize[texnum] > 0x10000-texture->height) + { + I_Error ("R_GenerateLookup: texture %i is >64k", + texnum); + } + + texturecompositesize[texnum] += texture->height; + } + } + + Z_Free(patchcount); +} + + + + +// +// R_GetColumn +// +byte* +R_GetColumn +( int tex, + int col ) +{ + int lump; + int ofs; + + col &= texturewidthmask[tex]; + lump = texturecolumnlump[tex][col]; + ofs = texturecolumnofs[tex][col]; + + if (lump > 0) + return (byte *)W_CacheLumpNum(lump,PU_CACHE)+ofs; + + if (!texturecomposite[tex]) + R_GenerateComposite (tex); + + return texturecomposite[tex] + ofs; +} + + +static void GenerateTextureHashTable(void) +{ + texture_t **rover; + int i; + int key; + + textures_hashtable + = Z_Malloc(sizeof(texture_t *) * numtextures, PU_STATIC, 0); + + memset(textures_hashtable, 0, sizeof(texture_t *) * numtextures); + + // Add all textures to hash table + + for (i=0; iindex = i; + + // Vanilla Doom does a linear search of the texures array + // and stops at the first entry it finds. If there are two + // entries with the same name, the first one in the array + // wins. The new entry must therefore be added at the end + // of the hash chain, so that earlier entries win. + + key = W_LumpNameHash(textures[i]->name) % numtextures; + + rover = &textures_hashtable[key]; + + while (*rover != NULL) + { + rover = &(*rover)->next; + } + + // Hook into hash table + + textures[i]->next = NULL; + *rover = textures[i]; + } +} + + +// +// R_InitTextures +// Initializes the texture list +// with the textures from the world map. +// +void R_InitTextures (void) +{ + maptexture_t* mtexture; + texture_t* texture; + mappatch_t* mpatch; + texpatch_t* patch; + + int i; + int j; + + int* maptex; + int* maptex2; + int* maptex1; + + char name[9]; + char* names; + char* name_p; + + int* patchlookup; + + int totalwidth; + int nummappatches; + int offset; + int maxoff; + int maxoff2; + int numtextures1; + int numtextures2; + + int* directory; + + int temp1; + int temp2; + int temp3; + + + // Load the patch names from pnames.lmp. + name[8] = 0; + names = W_CacheLumpName (DEH_String("PNAMES"), PU_STATIC); + nummappatches = LONG ( *((int *)names) ); + name_p = names + 4; + patchlookup = Z_Malloc(nummappatches*sizeof(*patchlookup), PU_STATIC, NULL); + + for (i = 0; i < nummappatches; i++) + { + M_StringCopy(name, name_p + i * 8, sizeof(name)); + patchlookup[i] = W_CheckNumForName(name); + } + W_ReleaseLumpName(DEH_String("PNAMES")); + + // Load the map texture definitions from textures.lmp. + // The data is contained in one or two lumps, + // TEXTURE1 for shareware, plus TEXTURE2 for commercial. + maptex = maptex1 = W_CacheLumpName (DEH_String("TEXTURE1"), PU_STATIC); + numtextures1 = LONG(*maptex); + maxoff = W_LumpLength (W_GetNumForName (DEH_String("TEXTURE1"))); + directory = maptex+1; + + if (W_CheckNumForName (DEH_String("TEXTURE2")) != -1) + { + maptex2 = W_CacheLumpName (DEH_String("TEXTURE2"), PU_STATIC); + numtextures2 = LONG(*maptex2); + maxoff2 = W_LumpLength (W_GetNumForName (DEH_String("TEXTURE2"))); + } + else + { + maptex2 = NULL; + numtextures2 = 0; + maxoff2 = 0; + } + numtextures = numtextures1 + numtextures2; + + textures = Z_Malloc (numtextures * sizeof(*textures), PU_STATIC, 0); + texturecolumnlump = Z_Malloc (numtextures * sizeof(*texturecolumnlump), PU_STATIC, 0); + texturecolumnofs = Z_Malloc (numtextures * sizeof(*texturecolumnofs), PU_STATIC, 0); + texturecomposite = Z_Malloc (numtextures * sizeof(*texturecomposite), PU_STATIC, 0); + texturecompositesize = Z_Malloc (numtextures * sizeof(*texturecompositesize), PU_STATIC, 0); + texturewidthmask = Z_Malloc (numtextures * sizeof(*texturewidthmask), PU_STATIC, 0); + textureheight = Z_Malloc (numtextures * sizeof(*textureheight), PU_STATIC, 0); + + totalwidth = 0; + + // Really complex printing shit... + temp1 = W_GetNumForName (DEH_String("S_START")); // P_??????? + temp2 = W_GetNumForName (DEH_String("S_END")) - 1; + temp3 = ((temp2-temp1+63)/64) + ((numtextures+63)/64); + + // If stdout is a real console, use the classic vanilla "filling + // up the box" effect, which uses backspace to "step back" inside + // the box. If stdout is a file, don't draw the box. + + if (I_ConsoleStdout()) + { + printf("["); + for (i = 0; i < temp3 + 9; i++) + printf(" "); + printf("]"); + for (i = 0; i < temp3 + 10; i++) + printf("\b"); + } + + for (i=0 ; i maxoff) + I_Error ("R_InitTextures: bad texture directory"); + + mtexture = (maptexture_t *) ( (byte *)maptex + offset); + + texture = textures[i] = + Z_Malloc (sizeof(texture_t) + + sizeof(texpatch_t)*(SHORT(mtexture->patchcount)-1), + PU_STATIC, 0); + + texture->width = SHORT(mtexture->width); + texture->height = SHORT(mtexture->height); + texture->patchcount = SHORT(mtexture->patchcount); + + memcpy (texture->name, mtexture->name, sizeof(texture->name)); + mpatch = &mtexture->patches[0]; + patch = &texture->patches[0]; + + for (j=0 ; jpatchcount ; j++, mpatch++, patch++) + { + patch->originx = SHORT(mpatch->originx); + patch->originy = SHORT(mpatch->originy); + patch->patch = patchlookup[SHORT(mpatch->patch)]; + if (patch->patch == -1) + { + I_Error ("R_InitTextures: Missing patch in texture %s", + texture->name); + } + } + texturecolumnlump[i] = Z_Malloc (texture->width*sizeof(**texturecolumnlump), PU_STATIC,0); + texturecolumnofs[i] = Z_Malloc (texture->width*sizeof(**texturecolumnofs), PU_STATIC,0); + + j = 1; + while (j*2 <= texture->width) + j<<=1; + + texturewidthmask[i] = j-1; + textureheight[i] = texture->height<width; + } + + Z_Free(patchlookup); + + W_ReleaseLumpName(DEH_String("TEXTURE1")); + if (maptex2) + W_ReleaseLumpName(DEH_String("TEXTURE2")); + + // Precalculate whatever possible. + + for (i=0 ; iwidth)<leftoffset)<topoffset)<name, name, 8) ) + return texture->index; + + texture = texture->next; + } + + return -1; +} + + + +// +// R_TextureNumForName +// Calls R_CheckTextureNumForName, +// aborts with error message. +// +int R_TextureNumForName (char* name) +{ + int i; + + i = R_CheckTextureNumForName (name); + + if (i==-1) + { + I_Error ("R_TextureNumForName: %s not found", + name); + } + return i; +} + + + + +// +// R_PrecacheLevel +// Preloads all relevant graphics for the level. +// +int flatmemory; +int texturememory; +int spritememory; + +void R_PrecacheLevel (void) +{ + char* flatpresent; + char* texturepresent; + char* spritepresent; + + int i; + int j; + int k; + int lump; + + texture_t* texture; + thinker_t* th; + spriteframe_t* sf; + + if (demoplayback) + return; + + // Precache flats. + flatpresent = Z_Malloc(numflats, PU_STATIC, NULL); + memset (flatpresent,0,numflats); + + for (i=0 ; ipatchcount ; j++) + { + lump = texture->patches[j].patch; + texturememory += lumpinfo[lump].size; + W_CacheLumpNum(lump , PU_CACHE); + } + } + + Z_Free(texturepresent); + + // Precache sprites. + spritepresent = Z_Malloc(numsprites, PU_STATIC, NULL); + memset (spritepresent,0, numsprites); + + for (th = thinkercap.next ; th != &thinkercap ; th=th->next) + { + if (th->function.acp1 == (actionf_p1)P_MobjThinker) + spritepresent[((mobj_t *)th)->sprite] = 1; + } + + spritememory = 0; + for (i=0 ; ilump[k]; + spritememory += lumpinfo[lump].size; + W_CacheLumpNum(lump , PU_CACHE); + } + } + } + + Z_Free(spritepresent); +} + + + + diff --git a/src/kernel/userland/doom/r_data.h b/src/kernel/userland/doom/r_data.h new file mode 100644 index 0000000..66425af --- /dev/null +++ b/src/kernel/userland/doom/r_data.h @@ -0,0 +1,51 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Refresh module, data I/O, caching, retrieval of graphics +// by name. +// + + +#ifndef __R_DATA__ +#define __R_DATA__ + +#include "r_defs.h" +#include "r_state.h" + + +// Retrieve column data for span blitting. +byte* +R_GetColumn +( int tex, + int col ); + + +// I/O, setting up the stuff. +void R_InitData (void); +void R_PrecacheLevel (void); + + +// Retrieval. +// Floor/ceiling opaque texture tiles, +// lookup by name. For animation? +int R_FlatNumForName (char* name); + + +// Called by P_Ticker for switches and animations, +// returns the texture number for the texture name. +int R_TextureNumForName (char *name); +int R_CheckTextureNumForName (char *name); + +#endif diff --git a/src/kernel/userland/doom/r_defs.h b/src/kernel/userland/doom/r_defs.h new file mode 100644 index 0000000..a64ac84 --- /dev/null +++ b/src/kernel/userland/doom/r_defs.h @@ -0,0 +1,448 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Refresh/rendering module, shared data struct definitions. +// + + +#ifndef __R_DEFS__ +#define __R_DEFS__ + + +// Screenwidth. +#include "doomdef.h" + +// Some more or less basic data types +// we depend on. +#include "m_fixed.h" + +// We rely on the thinker data struct +// to handle sound origins in sectors. +#include "d_think.h" +// SECTORS do store MObjs anyway. +#include "p_mobj.h" + +#include "i_video.h" + +#include "v_patch.h" + + + + +// Silhouette, needed for clipping Segs (mainly) +// and sprites representing things. +#define SIL_NONE 0 +#define SIL_BOTTOM 1 +#define SIL_TOP 2 +#define SIL_BOTH 3 + +#define MAXDRAWSEGS 256 + + + + + +// +// INTERNAL MAP TYPES +// used by play and refresh +// + +// +// Your plain vanilla vertex. +// Note: transformed values not buffered locally, +// like some DOOM-alikes ("wt", "WebView") did. +// +typedef struct +{ + fixed_t x; + fixed_t y; + +} vertex_t; + + +// Forward of LineDefs, for Sectors. +struct line_s; + +// Each sector has a degenmobj_t in its center +// for sound origin purposes. +// I suppose this does not handle sound from +// moving objects (doppler), because +// position is prolly just buffered, not +// updated. +typedef struct +{ + thinker_t thinker; // not used for anything + fixed_t x; + fixed_t y; + fixed_t z; + +} degenmobj_t; + +// +// The SECTORS record, at runtime. +// Stores things/mobjs. +// +typedef struct +{ + fixed_t floorheight; + fixed_t ceilingheight; + short floorpic; + short ceilingpic; + short lightlevel; + short special; + short tag; + + // 0 = untraversed, 1,2 = sndlines -1 + int soundtraversed; + + // thing that made a sound (or null) + mobj_t* soundtarget; + + // mapblock bounding box for height changes + int blockbox[4]; + + // origin for any sounds played by the sector + degenmobj_t soundorg; + + // if == validcount, already checked + int validcount; + + // list of mobjs in sector + mobj_t* thinglist; + + // thinker_t for reversable actions + void* specialdata; + + int linecount; + struct line_s** lines; // [linecount] size + +} sector_t; + + + + +// +// The SideDef. +// + +typedef struct +{ + // add this to the calculated texture column + fixed_t textureoffset; + + // add this to the calculated texture top + fixed_t rowoffset; + + // Texture indices. + // We do not maintain names here. + short toptexture; + short bottomtexture; + short midtexture; + + // Sector the SideDef is facing. + sector_t* sector; + +} side_t; + + + +// +// Move clipping aid for LineDefs. +// +typedef enum +{ + ST_HORIZONTAL, + ST_VERTICAL, + ST_POSITIVE, + ST_NEGATIVE + +} slopetype_t; + + + +typedef struct line_s +{ + // Vertices, from v1 to v2. + vertex_t* v1; + vertex_t* v2; + + // Precalculated v2 - v1 for side checking. + fixed_t dx; + fixed_t dy; + + // Animation related. + short flags; + short special; + short tag; + + // Visual appearance: SideDefs. + // sidenum[1] will be -1 if one sided + short sidenum[2]; + + // Neat. Another bounding box, for the extent + // of the LineDef. + fixed_t bbox[4]; + + // To aid move clipping. + slopetype_t slopetype; + + // Front and back sector. + // Note: redundant? Can be retrieved from SideDefs. + sector_t* frontsector; + sector_t* backsector; + + // if == validcount, already checked + int validcount; + + // thinker_t for reversable actions + void* specialdata; +} line_t; + + + + +// +// A SubSector. +// References a Sector. +// Basically, this is a list of LineSegs, +// indicating the visible walls that define +// (all or some) sides of a convex BSP leaf. +// +typedef struct subsector_s +{ + sector_t* sector; + short numlines; + short firstline; + +} subsector_t; + + + +// +// The LineSeg. +// +typedef struct +{ + vertex_t* v1; + vertex_t* v2; + + fixed_t offset; + + angle_t angle; + + side_t* sidedef; + line_t* linedef; + + // Sector references. + // Could be retrieved from linedef, too. + // backsector is NULL for one sided lines + sector_t* frontsector; + sector_t* backsector; + +} seg_t; + + + +// +// BSP node. +// +typedef struct +{ + // Partition line. + fixed_t x; + fixed_t y; + fixed_t dx; + fixed_t dy; + + // Bounding box for each child. + fixed_t bbox[2][4]; + + // If NF_SUBSECTOR its a subsector. + unsigned short children[2]; + +} node_t; + + + + +// PC direct to screen pointers +//B UNUSED - keep till detailshift in r_draw.c resolved +//extern byte* destview; +//extern byte* destscreen; + + + + + +// +// OTHER TYPES +// + +// This could be wider for >8 bit display. +// Indeed, true color support is posibble +// precalculating 24bpp lightmap/colormap LUT. +// from darkening PLAYPAL to all black. +// Could even us emore than 32 levels. +typedef byte lighttable_t; + + + + +// +// ? +// +typedef struct drawseg_s +{ + seg_t* curline; + int x1; + int x2; + + fixed_t scale1; + fixed_t scale2; + fixed_t scalestep; + + // 0=none, 1=bottom, 2=top, 3=both + int silhouette; + + // do not clip sprites above this + fixed_t bsilheight; + + // do not clip sprites below this + fixed_t tsilheight; + + // Pointers to lists for sprite clipping, + // all three adjusted so [x1] is first value. + short* sprtopclip; + short* sprbottomclip; + short* maskedtexturecol; + +} drawseg_t; + + + +// A vissprite_t is a thing +// that will be drawn during a refresh. +// I.e. a sprite object that is partly visible. +typedef struct vissprite_s +{ + // Doubly linked list. + struct vissprite_s* prev; + struct vissprite_s* next; + + int x1; + int x2; + + // for line side calculation + fixed_t gx; + fixed_t gy; + + // global bottom / top for silhouette clipping + fixed_t gz; + fixed_t gzt; + + // horizontal position of x1 + fixed_t startfrac; + + fixed_t scale; + + // negative if flipped + fixed_t xiscale; + + fixed_t texturemid; + int patch; + + // for color translation and shadow draw, + // maxbright frames as well + lighttable_t* colormap; + + int mobjflags; + +} vissprite_t; + + +// +// Sprites are patches with a special naming convention +// so they can be recognized by R_InitSprites. +// The base name is NNNNFx or NNNNFxFx, with +// x indicating the rotation, x = 0, 1-7. +// The sprite and frame specified by a thing_t +// is range checked at run time. +// A sprite is a patch_t that is assumed to represent +// a three dimensional object and may have multiple +// rotations pre drawn. +// Horizontal flipping is used to save space, +// thus NNNNF2F5 defines a mirrored patch. +// Some sprites will only have one picture used +// for all views: NNNNF0 +// +typedef struct +{ + // If false use 0 for any position. + // Note: as eight entries are available, + // we might as well insert the same name eight times. + boolean rotate; + + // Lump to use for view angles 0-7. + short lump[8]; + + // Flip bit (1 = flip) to use for view angles 0-7. + byte flip[8]; + +} spriteframe_t; + + + +// +// A sprite definition: +// a number of animation frames. +// +typedef struct +{ + int numframes; + spriteframe_t* spriteframes; + +} spritedef_t; + + + +// +// Now what is a visplane, anyway? +// +typedef struct +{ + fixed_t height; + int picnum; + int lightlevel; + int minx; + int maxx; + + // leave pads for [minx-1]/[maxx+1] + + byte pad1; + // Here lies the rub for all + // dynamic resize/change of resolution. + byte top[SCREENWIDTH]; + byte pad2; + byte pad3; + // See above. + byte bottom[SCREENWIDTH]; + byte pad4; + +} visplane_t; + + + + +#endif diff --git a/src/kernel/userland/doom/r_draw.c b/src/kernel/userland/doom/r_draw.c new file mode 100644 index 0000000..9271bcd --- /dev/null +++ b/src/kernel/userland/doom/r_draw.c @@ -0,0 +1,975 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// The actual span/column drawing functions. +// Here find the main potential for optimization, +// e.g. inline assembly, different algorithms. +// + + + + +#include "doomdef.h" +#include "deh_main.h" + +#include "i_system.h" +#include "z_zone.h" +#include "w_wad.h" + +#include "r_local.h" + +// Needs access to LFB (guess what). +#include "v_video.h" + +// State. +#include "doomstat.h" + + +// ? +#define MAXWIDTH 1120 +#define MAXHEIGHT 832 + +// status bar height at bottom of screen +#define SBARHEIGHT 32 + +// +// All drawing to the view buffer is accomplished in this file. +// The other refresh files only know about ccordinates, +// not the architecture of the frame buffer. +// Conveniently, the frame buffer is a linear one, +// and we need only the base address, +// and the total size == width*height*depth/8., +// + + +byte* viewimage; +int viewwidth; +int scaledviewwidth; +int viewheight; +int viewwindowx; +int viewwindowy; +byte* ylookup[MAXHEIGHT]; +int columnofs[MAXWIDTH]; + +// Color tables for different players, +// translate a limited part to another +// (color ramps used for suit colors). +// +byte translations[3][256]; + +// Backing buffer containing the bezel drawn around the screen and +// surrounding background. + +static byte *background_buffer = NULL; + + +// +// R_DrawColumn +// Source is the top of the column to scale. +// +lighttable_t* dc_colormap; +int dc_x; +int dc_yl; +int dc_yh; +fixed_t dc_iscale; +fixed_t dc_texturemid; + +// first pixel in a column (possibly virtual) +byte* dc_source; + +// just for profiling +int dccount; + +// +// A column is a vertical slice/span from a wall texture that, +// given the DOOM style restrictions on the view orientation, +// will always have constant z depth. +// Thus a special case loop for very fast rendering can +// be used. It has also been used with Wolfenstein 3D. +// +void R_DrawColumn (void) +{ + int count; + byte* dest; + fixed_t frac; + fixed_t fracstep; + + count = dc_yh - dc_yl; + + // Zero length, column does not exceed a pixel. + if (count < 0) + return; + +#ifdef RANGECHECK + if ((unsigned)dc_x >= SCREENWIDTH + || dc_yl < 0 + || dc_yh >= SCREENHEIGHT) + I_Error ("R_DrawColumn: %i to %i at %i", dc_yl, dc_yh, dc_x); +#endif + + // Framebuffer destination address. + // Use ylookup LUT to avoid multiply with ScreenWidth. + // Use columnofs LUT for subwindows? + dest = ylookup[dc_yl] + columnofs[dc_x]; + + // Determine scaling, + // which is the only mapping to be done. + fracstep = dc_iscale; + frac = dc_texturemid + (dc_yl-centery)*fracstep; + + // Inner loop that does the actual texture mapping, + // e.g. a DDA-lile scaling. + // This is as fast as it gets. + do + { + // Re-map color indices from wall texture column + // using a lighting/special effects LUT. + *dest = dc_colormap[dc_source[(frac>>FRACBITS)&127]]; + + dest += SCREENWIDTH; + frac += fracstep; + + } while (count--); +} + + + +// UNUSED. +// Loop unrolled. +#if 0 +void R_DrawColumn (void) +{ + int count; + byte* source; + byte* dest; + byte* colormap; + + unsigned frac; + unsigned fracstep; + unsigned fracstep2; + unsigned fracstep3; + unsigned fracstep4; + + count = dc_yh - dc_yl + 1; + + source = dc_source; + colormap = dc_colormap; + dest = ylookup[dc_yl] + columnofs[dc_x]; + + fracstep = dc_iscale<<9; + frac = (dc_texturemid + (dc_yl-centery)*dc_iscale)<<9; + + fracstep2 = fracstep+fracstep; + fracstep3 = fracstep2+fracstep; + fracstep4 = fracstep3+fracstep; + + while (count >= 8) + { + dest[0] = colormap[source[frac>>25]]; + dest[SCREENWIDTH] = colormap[source[(frac+fracstep)>>25]]; + dest[SCREENWIDTH*2] = colormap[source[(frac+fracstep2)>>25]]; + dest[SCREENWIDTH*3] = colormap[source[(frac+fracstep3)>>25]]; + + frac += fracstep4; + + dest[SCREENWIDTH*4] = colormap[source[frac>>25]]; + dest[SCREENWIDTH*5] = colormap[source[(frac+fracstep)>>25]]; + dest[SCREENWIDTH*6] = colormap[source[(frac+fracstep2)>>25]]; + dest[SCREENWIDTH*7] = colormap[source[(frac+fracstep3)>>25]]; + + frac += fracstep4; + dest += SCREENWIDTH*8; + count -= 8; + } + + while (count > 0) + { + *dest = colormap[source[frac>>25]]; + dest += SCREENWIDTH; + frac += fracstep; + count--; + } +} +#endif + + +void R_DrawColumnLow (void) +{ + int count; + byte* dest; + byte* dest2; + fixed_t frac; + fixed_t fracstep; + int x; + + count = dc_yh - dc_yl; + + // Zero length. + if (count < 0) + return; + +#ifdef RANGECHECK + if ((unsigned)dc_x >= SCREENWIDTH + || dc_yl < 0 + || dc_yh >= SCREENHEIGHT) + { + + I_Error ("R_DrawColumn: %i to %i at %i", dc_yl, dc_yh, dc_x); + } + // dccount++; +#endif + // Blocky mode, need to multiply by 2. + x = dc_x << 1; + + dest = ylookup[dc_yl] + columnofs[x]; + dest2 = ylookup[dc_yl] + columnofs[x+1]; + + fracstep = dc_iscale; + frac = dc_texturemid + (dc_yl-centery)*fracstep; + + do + { + // Hack. Does not work corretly. + *dest2 = *dest = dc_colormap[dc_source[(frac>>FRACBITS)&127]]; + dest += SCREENWIDTH; + dest2 += SCREENWIDTH; + frac += fracstep; + + } while (count--); +} + + +// +// Spectre/Invisibility. +// +#define FUZZTABLE 50 +#define FUZZOFF (SCREENWIDTH) + + +int fuzzoffset[FUZZTABLE] = +{ + FUZZOFF,-FUZZOFF,FUZZOFF,-FUZZOFF,FUZZOFF,FUZZOFF,-FUZZOFF, + FUZZOFF,FUZZOFF,-FUZZOFF,FUZZOFF,FUZZOFF,FUZZOFF,-FUZZOFF, + FUZZOFF,FUZZOFF,FUZZOFF,-FUZZOFF,-FUZZOFF,-FUZZOFF,-FUZZOFF, + FUZZOFF,-FUZZOFF,-FUZZOFF,FUZZOFF,FUZZOFF,FUZZOFF,FUZZOFF,-FUZZOFF, + FUZZOFF,-FUZZOFF,FUZZOFF,FUZZOFF,-FUZZOFF,-FUZZOFF,FUZZOFF, + FUZZOFF,-FUZZOFF,-FUZZOFF,-FUZZOFF,-FUZZOFF,FUZZOFF,FUZZOFF, + FUZZOFF,FUZZOFF,-FUZZOFF,FUZZOFF,FUZZOFF,-FUZZOFF,FUZZOFF +}; + +int fuzzpos = 0; + + +// +// Framebuffer postprocessing. +// Creates a fuzzy image by copying pixels +// from adjacent ones to left and right. +// Used with an all black colormap, this +// could create the SHADOW effect, +// i.e. spectres and invisible players. +// +void R_DrawFuzzColumn (void) +{ + int count; + byte* dest; + fixed_t frac; + fixed_t fracstep; + + // Adjust borders. Low... + if (!dc_yl) + dc_yl = 1; + + // .. and high. + if (dc_yh == viewheight-1) + dc_yh = viewheight - 2; + + count = dc_yh - dc_yl; + + // Zero length. + if (count < 0) + return; + +#ifdef RANGECHECK + if ((unsigned)dc_x >= SCREENWIDTH + || dc_yl < 0 || dc_yh >= SCREENHEIGHT) + { + I_Error ("R_DrawFuzzColumn: %i to %i at %i", + dc_yl, dc_yh, dc_x); + } +#endif + + dest = ylookup[dc_yl] + columnofs[dc_x]; + + // Looks familiar. + fracstep = dc_iscale; + frac = dc_texturemid + (dc_yl-centery)*fracstep; + + // Looks like an attempt at dithering, + // using the colormap #6 (of 0-31, a bit + // brighter than average). + do + { + // Lookup framebuffer, and retrieve + // a pixel that is either one column + // left or right of the current one. + // Add index from colormap to index. + *dest = colormaps[6*256+dest[fuzzoffset[fuzzpos]]]; + + // Clamp table lookup index. + if (++fuzzpos == FUZZTABLE) + fuzzpos = 0; + + dest += SCREENWIDTH; + + frac += fracstep; + } while (count--); +} + +// low detail mode version + +void R_DrawFuzzColumnLow (void) +{ + int count; + byte* dest; + byte* dest2; + fixed_t frac; + fixed_t fracstep; + int x; + + // Adjust borders. Low... + if (!dc_yl) + dc_yl = 1; + + // .. and high. + if (dc_yh == viewheight-1) + dc_yh = viewheight - 2; + + count = dc_yh - dc_yl; + + // Zero length. + if (count < 0) + return; + + // low detail mode, need to multiply by 2 + + x = dc_x << 1; + +#ifdef RANGECHECK + if ((unsigned)x >= SCREENWIDTH + || dc_yl < 0 || dc_yh >= SCREENHEIGHT) + { + I_Error ("R_DrawFuzzColumn: %i to %i at %i", + dc_yl, dc_yh, dc_x); + } +#endif + + dest = ylookup[dc_yl] + columnofs[x]; + dest2 = ylookup[dc_yl] + columnofs[x+1]; + + // Looks familiar. + fracstep = dc_iscale; + frac = dc_texturemid + (dc_yl-centery)*fracstep; + + // Looks like an attempt at dithering, + // using the colormap #6 (of 0-31, a bit + // brighter than average). + do + { + // Lookup framebuffer, and retrieve + // a pixel that is either one column + // left or right of the current one. + // Add index from colormap to index. + *dest = colormaps[6*256+dest[fuzzoffset[fuzzpos]]]; + *dest2 = colormaps[6*256+dest2[fuzzoffset[fuzzpos]]]; + + // Clamp table lookup index. + if (++fuzzpos == FUZZTABLE) + fuzzpos = 0; + + dest += SCREENWIDTH; + dest2 += SCREENWIDTH; + + frac += fracstep; + } while (count--); +} + + + + + +// +// R_DrawTranslatedColumn +// Used to draw player sprites +// with the green colorramp mapped to others. +// Could be used with different translation +// tables, e.g. the lighter colored version +// of the BaronOfHell, the HellKnight, uses +// identical sprites, kinda brightened up. +// +byte* dc_translation; +byte* translationtables; + +void R_DrawTranslatedColumn (void) +{ + int count; + byte* dest; + fixed_t frac; + fixed_t fracstep; + + count = dc_yh - dc_yl; + if (count < 0) + return; + +#ifdef RANGECHECK + if ((unsigned)dc_x >= SCREENWIDTH + || dc_yl < 0 + || dc_yh >= SCREENHEIGHT) + { + I_Error ( "R_DrawColumn: %i to %i at %i", + dc_yl, dc_yh, dc_x); + } + +#endif + + + dest = ylookup[dc_yl] + columnofs[dc_x]; + + // Looks familiar. + fracstep = dc_iscale; + frac = dc_texturemid + (dc_yl-centery)*fracstep; + + // Here we do an additional index re-mapping. + do + { + // Translation tables are used + // to map certain colorramps to other ones, + // used with PLAY sprites. + // Thus the "green" ramp of the player 0 sprite + // is mapped to gray, red, black/indigo. + *dest = dc_colormap[dc_translation[dc_source[frac>>FRACBITS]]]; + dest += SCREENWIDTH; + + frac += fracstep; + } while (count--); +} + +void R_DrawTranslatedColumnLow (void) +{ + int count; + byte* dest; + byte* dest2; + fixed_t frac; + fixed_t fracstep; + int x; + + count = dc_yh - dc_yl; + if (count < 0) + return; + + // low detail, need to scale by 2 + x = dc_x << 1; + +#ifdef RANGECHECK + if ((unsigned)x >= SCREENWIDTH + || dc_yl < 0 + || dc_yh >= SCREENHEIGHT) + { + I_Error ( "R_DrawColumn: %i to %i at %i", + dc_yl, dc_yh, x); + } + +#endif + + + dest = ylookup[dc_yl] + columnofs[x]; + dest2 = ylookup[dc_yl] + columnofs[x+1]; + + // Looks familiar. + fracstep = dc_iscale; + frac = dc_texturemid + (dc_yl-centery)*fracstep; + + // Here we do an additional index re-mapping. + do + { + // Translation tables are used + // to map certain colorramps to other ones, + // used with PLAY sprites. + // Thus the "green" ramp of the player 0 sprite + // is mapped to gray, red, black/indigo. + *dest = dc_colormap[dc_translation[dc_source[frac>>FRACBITS]]]; + *dest2 = dc_colormap[dc_translation[dc_source[frac>>FRACBITS]]]; + dest += SCREENWIDTH; + dest2 += SCREENWIDTH; + + frac += fracstep; + } while (count--); +} + + + + +// +// R_InitTranslationTables +// Creates the translation tables to map +// the green color ramp to gray, brown, red. +// Assumes a given structure of the PLAYPAL. +// Could be read from a lump instead. +// +void R_InitTranslationTables (void) +{ + int i; + + translationtables = Z_Malloc (256*3, PU_STATIC, 0); + + // translate just the 16 green colors + for (i=0 ; i<256 ; i++) + { + if (i >= 0x70 && i<= 0x7f) + { + // map green ramp to gray, brown, red + translationtables[i] = 0x60 + (i&0xf); + translationtables [i+256] = 0x40 + (i&0xf); + translationtables [i+512] = 0x20 + (i&0xf); + } + else + { + // Keep all other colors as is. + translationtables[i] = translationtables[i+256] + = translationtables[i+512] = i; + } + } +} + + + + +// +// R_DrawSpan +// With DOOM style restrictions on view orientation, +// the floors and ceilings consist of horizontal slices +// or spans with constant z depth. +// However, rotation around the world z axis is possible, +// thus this mapping, while simpler and faster than +// perspective correct texture mapping, has to traverse +// the texture at an angle in all but a few cases. +// In consequence, flats are not stored by column (like walls), +// and the inner loop has to step in texture space u and v. +// +int ds_y; +int ds_x1; +int ds_x2; + +lighttable_t* ds_colormap; + +fixed_t ds_xfrac; +fixed_t ds_yfrac; +fixed_t ds_xstep; +fixed_t ds_ystep; + +// start of a 64*64 tile image +byte* ds_source; + +// just for profiling +int dscount; + + +// +// Draws the actual span. +void R_DrawSpan (void) +{ + unsigned int position, step; + byte *dest; + int count; + int spot; + unsigned int xtemp, ytemp; + +#ifdef RANGECHECK + if (ds_x2 < ds_x1 + || ds_x1<0 + || ds_x2>=SCREENWIDTH + || (unsigned)ds_y>SCREENHEIGHT) + { + I_Error( "R_DrawSpan: %i to %i at %i", + ds_x1,ds_x2,ds_y); + } +// dscount++; +#endif + + // Pack position and step variables into a single 32-bit integer, + // with x in the top 16 bits and y in the bottom 16 bits. For + // each 16-bit part, the top 6 bits are the integer part and the + // bottom 10 bits are the fractional part of the pixel position. + + position = ((ds_xfrac << 10) & 0xffff0000) + | ((ds_yfrac >> 6) & 0x0000ffff); + step = ((ds_xstep << 10) & 0xffff0000) + | ((ds_ystep >> 6) & 0x0000ffff); + + dest = ylookup[ds_y] + columnofs[ds_x1]; + + // We do not check for zero spans here? + count = ds_x2 - ds_x1; + + do + { + // Calculate current texture index in u,v. + ytemp = (position >> 4) & 0x0fc0; + xtemp = (position >> 26); + spot = xtemp | ytemp; + + // Lookup pixel from flat texture tile, + // re-index using light/colormap. + *dest++ = ds_colormap[ds_source[spot]]; + + position += step; + + } while (count--); +} + + + +// UNUSED. +// Loop unrolled by 4. +#if 0 +void R_DrawSpan (void) +{ + unsigned position, step; + + byte* source; + byte* colormap; + byte* dest; + + unsigned count; + usingned spot; + unsigned value; + unsigned temp; + unsigned xtemp; + unsigned ytemp; + + position = ((ds_xfrac<<10)&0xffff0000) | ((ds_yfrac>>6)&0xffff); + step = ((ds_xstep<<10)&0xffff0000) | ((ds_ystep>>6)&0xffff); + + source = ds_source; + colormap = ds_colormap; + dest = ylookup[ds_y] + columnofs[ds_x1]; + count = ds_x2 - ds_x1 + 1; + + while (count >= 4) + { + ytemp = position>>4; + ytemp = ytemp & 4032; + xtemp = position>>26; + spot = xtemp | ytemp; + position += step; + dest[0] = colormap[source[spot]]; + + ytemp = position>>4; + ytemp = ytemp & 4032; + xtemp = position>>26; + spot = xtemp | ytemp; + position += step; + dest[1] = colormap[source[spot]]; + + ytemp = position>>4; + ytemp = ytemp & 4032; + xtemp = position>>26; + spot = xtemp | ytemp; + position += step; + dest[2] = colormap[source[spot]]; + + ytemp = position>>4; + ytemp = ytemp & 4032; + xtemp = position>>26; + spot = xtemp | ytemp; + position += step; + dest[3] = colormap[source[spot]]; + + count -= 4; + dest += 4; + } + while (count > 0) + { + ytemp = position>>4; + ytemp = ytemp & 4032; + xtemp = position>>26; + spot = xtemp | ytemp; + position += step; + *dest++ = colormap[source[spot]]; + count--; + } +} +#endif + + +// +// Again.. +// +void R_DrawSpanLow (void) +{ + unsigned int position, step; + unsigned int xtemp, ytemp; + byte *dest; + int count; + int spot; + +#ifdef RANGECHECK + if (ds_x2 < ds_x1 + || ds_x1<0 + || ds_x2>=SCREENWIDTH + || (unsigned)ds_y>SCREENHEIGHT) + { + I_Error( "R_DrawSpan: %i to %i at %i", + ds_x1,ds_x2,ds_y); + } +// dscount++; +#endif + + position = ((ds_xfrac << 10) & 0xffff0000) + | ((ds_yfrac >> 6) & 0x0000ffff); + step = ((ds_xstep << 10) & 0xffff0000) + | ((ds_ystep >> 6) & 0x0000ffff); + + count = (ds_x2 - ds_x1); + + // Blocky mode, need to multiply by 2. + ds_x1 <<= 1; + ds_x2 <<= 1; + + dest = ylookup[ds_y] + columnofs[ds_x1]; + + do + { + // Calculate current texture index in u,v. + ytemp = (position >> 4) & 0x0fc0; + xtemp = (position >> 26); + spot = xtemp | ytemp; + + // Lowres/blocky mode does it twice, + // while scale is adjusted appropriately. + *dest++ = ds_colormap[ds_source[spot]]; + *dest++ = ds_colormap[ds_source[spot]]; + + position += step; + + } while (count--); +} + +// +// R_InitBuffer +// Creats lookup tables that avoid +// multiplies and other hazzles +// for getting the framebuffer address +// of a pixel to draw. +// +void +R_InitBuffer +( int width, + int height ) +{ + int i; + + // Handle resize, + // e.g. smaller view windows + // with border and/or status bar. + viewwindowx = (SCREENWIDTH-width) >> 1; + + // Column offset. For windows. + for (i=0 ; i> 1; + + // Preclaculate all row offsets. + for (i=0 ; i +#include + + +#include "doomdef.h" +#include "d_loop.h" + +#include "m_bbox.h" +#include "m_menu.h" + +#include "r_local.h" +#include "r_sky.h" + + + + + +// Fineangles in the SCREENWIDTH wide window. +#define FIELDOFVIEW 2048 + + + +int viewangleoffset; + +// increment every time a check is made +int validcount = 1; + + +lighttable_t* fixedcolormap; +extern lighttable_t** walllights; + +int centerx; +int centery; + +fixed_t centerxfrac; +fixed_t centeryfrac; +fixed_t projection; + +// just for profiling purposes +int framecount; + +int sscount; +int linecount; +int loopcount; + +fixed_t viewx; +fixed_t viewy; +fixed_t viewz; + +angle_t viewangle; + +fixed_t viewcos; +fixed_t viewsin; + +player_t* viewplayer; + +// 0 = high, 1 = low +int detailshift; + +// +// precalculated math tables +// +angle_t clipangle; + +// The viewangletox[viewangle + FINEANGLES/4] lookup +// maps the visible view angles to screen X coordinates, +// flattening the arc to a flat projection plane. +// There will be many angles mapped to the same X. +int viewangletox[FINEANGLES/2]; + +// The xtoviewangleangle[] table maps a screen pixel +// to the lowest viewangle that maps back to x ranges +// from clipangle to -clipangle. +angle_t xtoviewangle[SCREENWIDTH+1]; + +lighttable_t* scalelight[LIGHTLEVELS][MAXLIGHTSCALE]; +lighttable_t* scalelightfixed[MAXLIGHTSCALE]; +lighttable_t* zlight[LIGHTLEVELS][MAXLIGHTZ]; + +// bumped light from gun blasts +int extralight; + + + +void (*colfunc) (void); +void (*basecolfunc) (void); +void (*fuzzcolfunc) (void); +void (*transcolfunc) (void); +void (*spanfunc) (void); + + + +// +// R_AddPointToBox +// Expand a given bbox +// so that it encloses a given point. +// +void +R_AddPointToBox +( int x, + int y, + fixed_t* box ) +{ + if (x< box[BOXLEFT]) + box[BOXLEFT] = x; + if (x> box[BOXRIGHT]) + box[BOXRIGHT] = x; + if (y< box[BOXBOTTOM]) + box[BOXBOTTOM] = y; + if (y> box[BOXTOP]) + box[BOXTOP] = y; +} + + +// +// R_PointOnSide +// Traverse BSP (sub) tree, +// check point against partition plane. +// Returns side 0 (front) or 1 (back). +// +int +R_PointOnSide +( fixed_t x, + fixed_t y, + node_t* node ) +{ + fixed_t dx; + fixed_t dy; + fixed_t left; + fixed_t right; + + if (!node->dx) + { + if (x <= node->x) + return node->dy > 0; + + return node->dy < 0; + } + if (!node->dy) + { + if (y <= node->y) + return node->dx < 0; + + return node->dx > 0; + } + + dx = (x - node->x); + dy = (y - node->y); + + // Try to quickly decide by looking at sign bits. + if ( (node->dy ^ node->dx ^ dx ^ dy)&0x80000000 ) + { + if ( (node->dy ^ dx) & 0x80000000 ) + { + // (left is negative) + return 1; + } + return 0; + } + + left = FixedMul ( node->dy>>FRACBITS , dx ); + right = FixedMul ( dy , node->dx>>FRACBITS ); + + if (right < left) + { + // front side + return 0; + } + // back side + return 1; +} + + +int +R_PointOnSegSide +( fixed_t x, + fixed_t y, + seg_t* line ) +{ + fixed_t lx; + fixed_t ly; + fixed_t ldx; + fixed_t ldy; + fixed_t dx; + fixed_t dy; + fixed_t left; + fixed_t right; + + lx = line->v1->x; + ly = line->v1->y; + + ldx = line->v2->x - lx; + ldy = line->v2->y - ly; + + if (!ldx) + { + if (x <= lx) + return ldy > 0; + + return ldy < 0; + } + if (!ldy) + { + if (y <= ly) + return ldx < 0; + + return ldx > 0; + } + + dx = (x - lx); + dy = (y - ly); + + // Try to quickly decide by looking at sign bits. + if ( (ldy ^ ldx ^ dx ^ dy)&0x80000000 ) + { + if ( (ldy ^ dx) & 0x80000000 ) + { + // (left is negative) + return 1; + } + return 0; + } + + left = FixedMul ( ldy>>FRACBITS , dx ); + right = FixedMul ( dy , ldx>>FRACBITS ); + + if (right < left) + { + // front side + return 0; + } + // back side + return 1; +} + + +// +// R_PointToAngle +// To get a global angle from cartesian coordinates, +// the coordinates are flipped until they are in +// the first octant of the coordinate system, then +// the y (<=x) is scaled and divided by x to get a +// tangent (slope) value which is looked up in the +// tantoangle[] table. + +// + + + + +angle_t +R_PointToAngle +( fixed_t x, + fixed_t y ) +{ + x -= viewx; + y -= viewy; + + if ( (!x) && (!y) ) + return 0; + + if (x>= 0) + { + // x >=0 + if (y>= 0) + { + // y>= 0 + + if (x>y) + { + // octant 0 + return tantoangle[ SlopeDiv(y,x)]; + } + else + { + // octant 1 + return ANG90-1-tantoangle[ SlopeDiv(x,y)]; + } + } + else + { + // y<0 + y = -y; + + if (x>y) + { + // octant 8 + return -tantoangle[SlopeDiv(y,x)]; + } + else + { + // octant 7 + return ANG270+tantoangle[ SlopeDiv(x,y)]; + } + } + } + else + { + // x<0 + x = -x; + + if (y>= 0) + { + // y>= 0 + if (x>y) + { + // octant 3 + return ANG180-1-tantoangle[ SlopeDiv(y,x)]; + } + else + { + // octant 2 + return ANG90+ tantoangle[ SlopeDiv(x,y)]; + } + } + else + { + // y<0 + y = -y; + + if (x>y) + { + // octant 4 + return ANG180+tantoangle[ SlopeDiv(y,x)]; + } + else + { + // octant 5 + return ANG270-1-tantoangle[ SlopeDiv(x,y)]; + } + } + } + return 0; +} + + +angle_t +R_PointToAngle2 +( fixed_t x1, + fixed_t y1, + fixed_t x2, + fixed_t y2 ) +{ + viewx = x1; + viewy = y1; + + return R_PointToAngle (x2, y2); +} + + +fixed_t +R_PointToDist +( fixed_t x, + fixed_t y ) +{ + int angle; + fixed_t dx; + fixed_t dy; + fixed_t temp; + fixed_t dist; + fixed_t frac; + + dx = abs(x - viewx); + dy = abs(y - viewy); + + if (dy>dx) + { + temp = dx; + dx = dy; + dy = temp; + } + + // Fix crashes in udm1.wad + + if (dx != 0) + { + frac = FixedDiv(dy, dx); + } + else + { + frac = 0; + } + + angle = (tantoangle[frac>>DBITS]+ANG90) >> ANGLETOFINESHIFT; + + // use as cosine + dist = FixedDiv (dx, finesine[angle] ); + + return dist; +} + + + + +// +// R_InitPointToAngle +// +void R_InitPointToAngle (void) +{ + // UNUSED - now getting from tables.c +#if 0 + int i; + long t; + float f; +// +// slope (tangent) to angle lookup +// + for (i=0 ; i<=SLOPERANGE ; i++) + { + f = atan( (float)i/SLOPERANGE )/(3.141592657*2); + t = 0xffffffff*f; + tantoangle[i] = t; + } +#endif +} + + +// +// R_ScaleFromGlobalAngle +// Returns the texture mapping scale +// for the current line (horizontal span) +// at the given angle. +// rw_distance must be calculated first. +// +fixed_t R_ScaleFromGlobalAngle (angle_t visangle) +{ + fixed_t scale; + angle_t anglea; + angle_t angleb; + int sinea; + int sineb; + fixed_t num; + int den; + + // UNUSED +#if 0 +{ + fixed_t dist; + fixed_t z; + fixed_t sinv; + fixed_t cosv; + + sinv = finesine[(visangle-rw_normalangle)>>ANGLETOFINESHIFT]; + dist = FixedDiv (rw_distance, sinv); + cosv = finecosine[(viewangle-visangle)>>ANGLETOFINESHIFT]; + z = abs(FixedMul (dist, cosv)); + scale = FixedDiv(projection, z); + return scale; +} +#endif + + anglea = ANG90 + (visangle-viewangle); + angleb = ANG90 + (visangle-rw_normalangle); + + // both sines are allways positive + sinea = finesine[anglea>>ANGLETOFINESHIFT]; + sineb = finesine[angleb>>ANGLETOFINESHIFT]; + num = FixedMul(projection,sineb)< num>>16) + { + scale = FixedDiv (num, den); + + if (scale > 64*FRACUNIT) + scale = 64*FRACUNIT; + else if (scale < 256) + scale = 256; + } + else + scale = 64*FRACUNIT; + + return scale; +} + + + +// +// R_InitTables +// +void R_InitTables (void) +{ + // UNUSED: now getting from tables.c +#if 0 + int i; + float a; + float fv; + int t; + + // viewangle tangent table + for (i=0 ; i FRACUNIT*2) + t = -1; + else if (finetangent[i] < -FRACUNIT*2) + t = viewwidth+1; + else + { + t = FixedMul (finetangent[i], focallength); + t = (centerxfrac - t+FRACUNIT-1)>>FRACBITS; + + if (t < -1) + t = -1; + else if (t>viewwidth+1) + t = viewwidth+1; + } + viewangletox[i] = t; + } + + // Scan viewangletox[] to generate xtoviewangle[]: + // xtoviewangle will give the smallest view angle + // that maps to x. + for (x=0;x<=viewwidth;x++) + { + i = 0; + while (viewangletox[i]>x) + i++; + xtoviewangle[x] = (i<>= LIGHTSCALESHIFT; + level = startmap - scale/DISTMAP; + + if (level < 0) + level = 0; + + if (level >= NUMCOLORMAPS) + level = NUMCOLORMAPS-1; + + zlight[i][j] = colormaps + level*256; + } + } +} + + + +// +// R_SetViewSize +// Do not really change anything here, +// because it might be in the middle of a refresh. +// The change will take effect next refresh. +// +boolean setsizeneeded; +int setblocks; +int setdetail; + + +void +R_SetViewSize +( int blocks, + int detail ) +{ + setsizeneeded = true; + setblocks = blocks; + setdetail = detail; +} + + +// +// R_ExecuteSetViewSize +// +void R_ExecuteSetViewSize (void) +{ + fixed_t cosadj; + fixed_t dy; + int i; + int j; + int level; + int startmap; + + setsizeneeded = false; + + if (setblocks == 11) + { + scaledviewwidth = SCREENWIDTH; + viewheight = SCREENHEIGHT; + } + else + { + scaledviewwidth = setblocks*32; + viewheight = (setblocks*168/10)&~7; + } + + detailshift = setdetail; + viewwidth = scaledviewwidth>>detailshift; + + centery = viewheight/2; + centerx = viewwidth/2; + centerxfrac = centerx<>ANGLETOFINESHIFT]); + distscale[i] = FixedDiv (FRACUNIT,cosadj); + } + + // Calculate the light levels to use + // for each level / scale combination. + for (i=0 ; i< LIGHTLEVELS ; i++) + { + startmap = ((LIGHTLEVELS-1-i)*2)*NUMCOLORMAPS/LIGHTLEVELS; + for (j=0 ; j= NUMCOLORMAPS) + level = NUMCOLORMAPS-1; + + scalelight[i][j] = colormaps + level*256; + } + } +} + + + +// +// R_Init +// + + + +void R_Init (void) +{ + R_InitData (); + printf ("."); + R_InitPointToAngle (); + printf ("."); + R_InitTables (); + // viewwidth / viewheight / detailLevel are set by the defaults + printf ("."); + + R_SetViewSize (screenblocks, detailLevel); + R_InitPlanes (); + printf ("."); + R_InitLightTables (); + printf ("."); + R_InitSkyMap (); + R_InitTranslationTables (); + printf ("."); + + framecount = 0; +} + + +// +// R_PointInSubsector +// +subsector_t* +R_PointInSubsector +( fixed_t x, + fixed_t y ) +{ + node_t* node; + int side; + int nodenum; + + // single subsector is a special case + if (!numnodes) + return subsectors; + + nodenum = numnodes-1; + + while (! (nodenum & NF_SUBSECTOR) ) + { + node = &nodes[nodenum]; + side = R_PointOnSide (x, y, node); + nodenum = node->children[side]; + } + + return &subsectors[nodenum & ~NF_SUBSECTOR]; +} + + + +// +// R_SetupFrame +// +void R_SetupFrame (player_t* player) +{ + int i; + + viewplayer = player; + viewx = player->mo->x; + viewy = player->mo->y; + viewangle = player->mo->angle + viewangleoffset; + extralight = player->extralight; + + viewz = player->viewz; + + viewsin = finesine[viewangle>>ANGLETOFINESHIFT]; + viewcos = finecosine[viewangle>>ANGLETOFINESHIFT]; + + sscount = 0; + + if (player->fixedcolormap) + { + fixedcolormap = + colormaps + + player->fixedcolormap*256*sizeof(lighttable_t); + + walllights = scalelightfixed; + + for (i=0 ; i +#include + +#include "i_system.h" +#include "z_zone.h" +#include "w_wad.h" + +#include "doomdef.h" +#include "doomstat.h" + +#include "r_local.h" +#include "r_sky.h" + + + +planefunction_t floorfunc; +planefunction_t ceilingfunc; + +// +// opening +// + +// Here comes the obnoxious "visplane". +#define MAXVISPLANES 128 +visplane_t visplanes[MAXVISPLANES]; +visplane_t* lastvisplane; +visplane_t* floorplane; +visplane_t* ceilingplane; + +// ? +#define MAXOPENINGS SCREENWIDTH*64 +short openings[MAXOPENINGS]; +short* lastopening; + + +// +// Clip values are the solid pixel bounding the range. +// floorclip starts out SCREENHEIGHT +// ceilingclip starts out -1 +// +short floorclip[SCREENWIDTH]; +short ceilingclip[SCREENWIDTH]; + +// +// spanstart holds the start of a plane span +// initialized to 0 at start +// +int spanstart[SCREENHEIGHT]; +int spanstop[SCREENHEIGHT]; + +// +// texture mapping +// +lighttable_t** planezlight; +fixed_t planeheight; + +fixed_t yslope[SCREENHEIGHT]; +fixed_t distscale[SCREENWIDTH]; +fixed_t basexscale; +fixed_t baseyscale; + +fixed_t cachedheight[SCREENHEIGHT]; +fixed_t cacheddistance[SCREENHEIGHT]; +fixed_t cachedxstep[SCREENHEIGHT]; +fixed_t cachedystep[SCREENHEIGHT]; + + + +// +// R_InitPlanes +// Only at game startup. +// +void R_InitPlanes (void) +{ + // Doh! +} + + +// +// R_MapPlane +// +// Uses global vars: +// planeheight +// ds_source +// basexscale +// baseyscale +// viewx +// viewy +// +// BASIC PRIMITIVE +// +void +R_MapPlane +( int y, + int x1, + int x2 ) +{ + angle_t angle; + fixed_t distance; + fixed_t length; + unsigned index; + +#ifdef RANGECHECK + if (x2 < x1 + || x1 < 0 + || x2 >= viewwidth + || y > viewheight) + { + I_Error ("R_MapPlane: %i, %i at %i",x1,x2,y); + } +#endif + + if (planeheight != cachedheight[y]) + { + cachedheight[y] = planeheight; + distance = cacheddistance[y] = FixedMul (planeheight, yslope[y]); + ds_xstep = cachedxstep[y] = FixedMul (distance,basexscale); + ds_ystep = cachedystep[y] = FixedMul (distance,baseyscale); + } + else + { + distance = cacheddistance[y]; + ds_xstep = cachedxstep[y]; + ds_ystep = cachedystep[y]; + } + + length = FixedMul (distance,distscale[x1]); + angle = (viewangle + xtoviewangle[x1])>>ANGLETOFINESHIFT; + ds_xfrac = viewx + FixedMul(finecosine[angle], length); + ds_yfrac = -viewy - FixedMul(finesine[angle], length); + + if (fixedcolormap) + ds_colormap = fixedcolormap; + else + { + index = distance >> LIGHTZSHIFT; + + if (index >= MAXLIGHTZ ) + index = MAXLIGHTZ-1; + + ds_colormap = planezlight[index]; + } + + ds_y = y; + ds_x1 = x1; + ds_x2 = x2; + + // high or low detail + spanfunc (); +} + + +// +// R_ClearPlanes +// At begining of frame. +// +void R_ClearPlanes (void) +{ + int i; + angle_t angle; + + // opening / clipping determination + for (i=0 ; i>ANGLETOFINESHIFT; + + // scale will be unit scale at SCREENWIDTH/2 distance + basexscale = FixedDiv (finecosine[angle],centerxfrac); + baseyscale = -FixedDiv (finesine[angle],centerxfrac); +} + + + + +// +// R_FindPlane +// +visplane_t* +R_FindPlane +( fixed_t height, + int picnum, + int lightlevel ) +{ + visplane_t* check; + + if (picnum == skyflatnum) + { + height = 0; // all skys map together + lightlevel = 0; + } + + for (check=visplanes; checkheight + && picnum == check->picnum + && lightlevel == check->lightlevel) + { + break; + } + } + + + if (check < lastvisplane) + return check; + + if (lastvisplane - visplanes == MAXVISPLANES) + I_Error ("R_FindPlane: no more visplanes"); + + lastvisplane++; + + check->height = height; + check->picnum = picnum; + check->lightlevel = lightlevel; + check->minx = SCREENWIDTH; + check->maxx = -1; + + memset (check->top,0xff,sizeof(check->top)); + + return check; +} + + +// +// R_CheckPlane +// +visplane_t* +R_CheckPlane +( visplane_t* pl, + int start, + int stop ) +{ + int intrl; + int intrh; + int unionl; + int unionh; + int x; + + if (start < pl->minx) + { + intrl = pl->minx; + unionl = start; + } + else + { + unionl = pl->minx; + intrl = start; + } + + if (stop > pl->maxx) + { + intrh = pl->maxx; + unionh = stop; + } + else + { + unionh = pl->maxx; + intrh = stop; + } + + for (x=intrl ; x<= intrh ; x++) + if (pl->top[x] != 0xff) + break; + + if (x > intrh) + { + pl->minx = unionl; + pl->maxx = unionh; + + // use the same one + return pl; + } + + // make a new visplane + lastvisplane->height = pl->height; + lastvisplane->picnum = pl->picnum; + lastvisplane->lightlevel = pl->lightlevel; + + pl = lastvisplane++; + pl->minx = start; + pl->maxx = stop; + + memset (pl->top,0xff,sizeof(pl->top)); + + return pl; +} + + +// +// R_MakeSpans +// +void +R_MakeSpans +( int x, + int t1, + int b1, + int t2, + int b2 ) +{ + while (t1 < t2 && t1<=b1) + { + R_MapPlane (t1,spanstart[t1],x-1); + t1++; + } + while (b1 > b2 && b1>=t1) + { + R_MapPlane (b1,spanstart[b1],x-1); + b1--; + } + + while (t2 < t1 && t2<=b2) + { + spanstart[t2] = x; + t2++; + } + while (b2 > b1 && b2>=t2) + { + spanstart[b2] = x; + b2--; + } +} + + + +// +// R_DrawPlanes +// At the end of each frame. +// +void R_DrawPlanes (void) +{ + visplane_t* pl; + int light; + int x; + int stop; + int angle; + int lumpnum; + +#ifdef RANGECHECK + if (ds_p - drawsegs > MAXDRAWSEGS) + I_Error ("R_DrawPlanes: drawsegs overflow (%i)", + ds_p - drawsegs); + + if (lastvisplane - visplanes > MAXVISPLANES) + I_Error ("R_DrawPlanes: visplane overflow (%i)", + lastvisplane - visplanes); + + if (lastopening - openings > MAXOPENINGS) + I_Error ("R_DrawPlanes: opening overflow (%i)", + lastopening - openings); +#endif + + for (pl = visplanes ; pl < lastvisplane ; pl++) + { + if (pl->minx > pl->maxx) + continue; + + + // sky flat + if (pl->picnum == skyflatnum) + { + dc_iscale = pspriteiscale>>detailshift; + + // Sky is allways drawn full bright, + // i.e. colormaps[0] is used. + // Because of this hack, sky is not affected + // by INVUL inverse mapping. + dc_colormap = colormaps; + dc_texturemid = skytexturemid; + for (x=pl->minx ; x <= pl->maxx ; x++) + { + dc_yl = pl->top[x]; + dc_yh = pl->bottom[x]; + + if (dc_yl <= dc_yh) + { + angle = (viewangle + xtoviewangle[x])>>ANGLETOSKYSHIFT; + dc_x = x; + dc_source = R_GetColumn(skytexture, angle); + colfunc (); + } + } + continue; + } + + // regular flat + lumpnum = firstflat + flattranslation[pl->picnum]; + ds_source = W_CacheLumpNum(lumpnum, PU_STATIC); + + planeheight = abs(pl->height-viewz); + light = (pl->lightlevel >> LIGHTSEGSHIFT)+extralight; + + if (light >= LIGHTLEVELS) + light = LIGHTLEVELS-1; + + if (light < 0) + light = 0; + + planezlight = zlight[light]; + + pl->top[pl->maxx+1] = 0xff; + pl->top[pl->minx-1] = 0xff; + + stop = pl->maxx + 1; + + for (x=pl->minx ; x<= stop ; x++) + { + R_MakeSpans(x,pl->top[x-1], + pl->bottom[x-1], + pl->top[x], + pl->bottom[x]); + } + + W_ReleaseLumpNum(lumpnum); + } +} diff --git a/src/kernel/userland/doom/r_plane.h b/src/kernel/userland/doom/r_plane.h new file mode 100644 index 0000000..57b50e5 --- /dev/null +++ b/src/kernel/userland/doom/r_plane.h @@ -0,0 +1,76 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Refresh, visplane stuff (floor, ceilings). +// + + +#ifndef __R_PLANE__ +#define __R_PLANE__ + + +#include "r_data.h" + + + +// Visplane related. +extern short* lastopening; + + +typedef void (*planefunction_t) (int top, int bottom); + +extern planefunction_t floorfunc; +extern planefunction_t ceilingfunc_t; + +extern short floorclip[SCREENWIDTH]; +extern short ceilingclip[SCREENWIDTH]; + +extern fixed_t yslope[SCREENHEIGHT]; +extern fixed_t distscale[SCREENWIDTH]; + +void R_InitPlanes (void); +void R_ClearPlanes (void); + +void +R_MapPlane +( int y, + int x1, + int x2 ); + +void +R_MakeSpans +( int x, + int t1, + int b1, + int t2, + int b2 ); + +void R_DrawPlanes (void); + +visplane_t* +R_FindPlane +( fixed_t height, + int picnum, + int lightlevel ); + +visplane_t* +R_CheckPlane +( visplane_t* pl, + int start, + int stop ); + + + +#endif diff --git a/src/kernel/userland/doom/r_segs.c b/src/kernel/userland/doom/r_segs.c new file mode 100644 index 0000000..9b4e413 --- /dev/null +++ b/src/kernel/userland/doom/r_segs.c @@ -0,0 +1,743 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// All the clipping: columns, horizontal spans, sky columns. +// + + + + + + +#include +#include + +#include "i_system.h" + +#include "doomdef.h" +#include "doomstat.h" + +#include "r_local.h" +#include "r_sky.h" + + +// OPTIMIZE: closed two sided lines as single sided + +// True if any of the segs textures might be visible. +boolean segtextured; + +// False if the back side is the same plane. +boolean markfloor; +boolean markceiling; + +boolean maskedtexture; +int toptexture; +int bottomtexture; +int midtexture; + + +angle_t rw_normalangle; +// angle to line origin +int rw_angle1; + +// +// regular wall +// +int rw_x; +int rw_stopx; +angle_t rw_centerangle; +fixed_t rw_offset; +fixed_t rw_distance; +fixed_t rw_scale; +fixed_t rw_scalestep; +fixed_t rw_midtexturemid; +fixed_t rw_toptexturemid; +fixed_t rw_bottomtexturemid; + +int worldtop; +int worldbottom; +int worldhigh; +int worldlow; + +fixed_t pixhigh; +fixed_t pixlow; +fixed_t pixhighstep; +fixed_t pixlowstep; + +fixed_t topfrac; +fixed_t topstep; + +fixed_t bottomfrac; +fixed_t bottomstep; + + +lighttable_t** walllights; + +short* maskedtexturecol; + + + +// +// R_RenderMaskedSegRange +// +void +R_RenderMaskedSegRange +( drawseg_t* ds, + int x1, + int x2 ) +{ + unsigned index; + column_t* col; + int lightnum; + int texnum; + + // Calculate light table. + // Use different light tables + // for horizontal / vertical / diagonal. Diagonal? + // OPTIMIZE: get rid of LIGHTSEGSHIFT globally + curline = ds->curline; + frontsector = curline->frontsector; + backsector = curline->backsector; + texnum = texturetranslation[curline->sidedef->midtexture]; + + lightnum = (frontsector->lightlevel >> LIGHTSEGSHIFT)+extralight; + + if (curline->v1->y == curline->v2->y) + lightnum--; + else if (curline->v1->x == curline->v2->x) + lightnum++; + + if (lightnum < 0) + walllights = scalelight[0]; + else if (lightnum >= LIGHTLEVELS) + walllights = scalelight[LIGHTLEVELS-1]; + else + walllights = scalelight[lightnum]; + + maskedtexturecol = ds->maskedtexturecol; + + rw_scalestep = ds->scalestep; + spryscale = ds->scale1 + (x1 - ds->x1)*rw_scalestep; + mfloorclip = ds->sprbottomclip; + mceilingclip = ds->sprtopclip; + + // find positioning + if (curline->linedef->flags & ML_DONTPEGBOTTOM) + { + dc_texturemid = frontsector->floorheight > backsector->floorheight + ? frontsector->floorheight : backsector->floorheight; + dc_texturemid = dc_texturemid + textureheight[texnum] - viewz; + } + else + { + dc_texturemid =frontsector->ceilingheightceilingheight + ? frontsector->ceilingheight : backsector->ceilingheight; + dc_texturemid = dc_texturemid - viewz; + } + dc_texturemid += curline->sidedef->rowoffset; + + if (fixedcolormap) + dc_colormap = fixedcolormap; + + // draw the columns + for (dc_x = x1 ; dc_x <= x2 ; dc_x++) + { + // calculate lighting + if (maskedtexturecol[dc_x] != SHRT_MAX) + { + if (!fixedcolormap) + { + index = spryscale>>LIGHTSCALESHIFT; + + if (index >= MAXLIGHTSCALE ) + index = MAXLIGHTSCALE-1; + + dc_colormap = walllights[index]; + } + + sprtopscreen = centeryfrac - FixedMul(dc_texturemid, spryscale); + dc_iscale = 0xffffffffu / (unsigned)spryscale; + + // draw the texture + col = (column_t *)( + (byte *)R_GetColumn(texnum,maskedtexturecol[dc_x]) -3); + + R_DrawMaskedColumn (col); + maskedtexturecol[dc_x] = SHRT_MAX; + } + spryscale += rw_scalestep; + } + +} + + + + +// +// R_RenderSegLoop +// Draws zero, one, or two textures (and possibly a masked +// texture) for walls. +// Can draw or mark the starting pixel of floor and ceiling +// textures. +// CALLED: CORE LOOPING ROUTINE. +// +#define HEIGHTBITS 12 +#define HEIGHTUNIT (1<>HEIGHTBITS; + + // no space above wall? + if (yl < ceilingclip[rw_x]+1) + yl = ceilingclip[rw_x]+1; + + if (markceiling) + { + top = ceilingclip[rw_x]+1; + bottom = yl-1; + + if (bottom >= floorclip[rw_x]) + bottom = floorclip[rw_x]-1; + + if (top <= bottom) + { + ceilingplane->top[rw_x] = top; + ceilingplane->bottom[rw_x] = bottom; + } + } + + yh = bottomfrac>>HEIGHTBITS; + + if (yh >= floorclip[rw_x]) + yh = floorclip[rw_x]-1; + + if (markfloor) + { + top = yh+1; + bottom = floorclip[rw_x]-1; + if (top <= ceilingclip[rw_x]) + top = ceilingclip[rw_x]+1; + if (top <= bottom) + { + floorplane->top[rw_x] = top; + floorplane->bottom[rw_x] = bottom; + } + } + + // texturecolumn and lighting are independent of wall tiers + if (segtextured) + { + // calculate texture offset + angle = (rw_centerangle + xtoviewangle[rw_x])>>ANGLETOFINESHIFT; + texturecolumn = rw_offset-FixedMul(finetangent[angle],rw_distance); + texturecolumn >>= FRACBITS; + // calculate lighting + index = rw_scale>>LIGHTSCALESHIFT; + + if (index >= MAXLIGHTSCALE ) + index = MAXLIGHTSCALE-1; + + dc_colormap = walllights[index]; + dc_x = rw_x; + dc_iscale = 0xffffffffu / (unsigned)rw_scale; + } + else + { + // purely to shut up the compiler + + texturecolumn = 0; + } + + // draw the wall tiers + if (midtexture) + { + // single sided line + dc_yl = yl; + dc_yh = yh; + dc_texturemid = rw_midtexturemid; + dc_source = R_GetColumn(midtexture,texturecolumn); + colfunc (); + ceilingclip[rw_x] = viewheight; + floorclip[rw_x] = -1; + } + else + { + // two sided line + if (toptexture) + { + // top wall + mid = pixhigh>>HEIGHTBITS; + pixhigh += pixhighstep; + + if (mid >= floorclip[rw_x]) + mid = floorclip[rw_x]-1; + + if (mid >= yl) + { + dc_yl = yl; + dc_yh = mid; + dc_texturemid = rw_toptexturemid; + dc_source = R_GetColumn(toptexture,texturecolumn); + colfunc (); + ceilingclip[rw_x] = mid; + } + else + ceilingclip[rw_x] = yl-1; + } + else + { + // no top wall + if (markceiling) + ceilingclip[rw_x] = yl-1; + } + + if (bottomtexture) + { + // bottom wall + mid = (pixlow+HEIGHTUNIT-1)>>HEIGHTBITS; + pixlow += pixlowstep; + + // no space above wall? + if (mid <= ceilingclip[rw_x]) + mid = ceilingclip[rw_x]+1; + + if (mid <= yh) + { + dc_yl = mid; + dc_yh = yh; + dc_texturemid = rw_bottomtexturemid; + dc_source = R_GetColumn(bottomtexture, + texturecolumn); + colfunc (); + floorclip[rw_x] = mid; + } + else + floorclip[rw_x] = yh+1; + } + else + { + // no bottom wall + if (markfloor) + floorclip[rw_x] = yh+1; + } + + if (maskedtexture) + { + // save texturecol + // for backdrawing of masked mid texture + maskedtexturecol[rw_x] = texturecolumn; + } + } + + rw_scale += rw_scalestep; + topfrac += topstep; + bottomfrac += bottomstep; + } +} + + + + +// +// R_StoreWallRange +// A wall segment will be drawn +// between start and stop pixels (inclusive). +// +void +R_StoreWallRange +( int start, + int stop ) +{ + fixed_t hyp; + fixed_t sineval; + angle_t distangle, offsetangle; + fixed_t vtop; + int lightnum; + + // don't overflow and crash + if (ds_p == &drawsegs[MAXDRAWSEGS]) + return; + +#ifdef RANGECHECK + if (start >=viewwidth || start > stop) + I_Error ("Bad R_RenderWallRange: %i to %i", start , stop); +#endif + + sidedef = curline->sidedef; + linedef = curline->linedef; + + // mark the segment as visible for auto map + linedef->flags |= ML_MAPPED; + + // calculate rw_distance for scale calculation + rw_normalangle = curline->angle + ANG90; + offsetangle = abs(rw_normalangle-rw_angle1); + + if (offsetangle > ANG90) + offsetangle = ANG90; + + distangle = ANG90 - offsetangle; + hyp = R_PointToDist (curline->v1->x, curline->v1->y); + sineval = finesine[distangle>>ANGLETOFINESHIFT]; + rw_distance = FixedMul (hyp, sineval); + + + ds_p->x1 = rw_x = start; + ds_p->x2 = stop; + ds_p->curline = curline; + rw_stopx = stop+1; + + // calculate scale at both ends and step + ds_p->scale1 = rw_scale = + R_ScaleFromGlobalAngle (viewangle + xtoviewangle[start]); + + if (stop > start ) + { + ds_p->scale2 = R_ScaleFromGlobalAngle (viewangle + xtoviewangle[stop]); + ds_p->scalestep = rw_scalestep = + (ds_p->scale2 - rw_scale) / (stop-start); + } + else + { + // UNUSED: try to fix the stretched line bug +#if 0 + if (rw_distance < FRACUNIT/2) + { + fixed_t trx,try; + fixed_t gxt,gyt; + + trx = curline->v1->x - viewx; + try = curline->v1->y - viewy; + + gxt = FixedMul(trx,viewcos); + gyt = -FixedMul(try,viewsin); + ds_p->scale1 = FixedDiv(projection, gxt-gyt)<scale2 = ds_p->scale1; + } + + // calculate texture boundaries + // and decide if floor / ceiling marks are needed + worldtop = frontsector->ceilingheight - viewz; + worldbottom = frontsector->floorheight - viewz; + + midtexture = toptexture = bottomtexture = maskedtexture = 0; + ds_p->maskedtexturecol = NULL; + + if (!backsector) + { + // single sided line + midtexture = texturetranslation[sidedef->midtexture]; + // a single sided line is terminal, so it must mark ends + markfloor = markceiling = true; + if (linedef->flags & ML_DONTPEGBOTTOM) + { + vtop = frontsector->floorheight + + textureheight[sidedef->midtexture]; + // bottom of texture at bottom + rw_midtexturemid = vtop - viewz; + } + else + { + // top of texture at top + rw_midtexturemid = worldtop; + } + rw_midtexturemid += sidedef->rowoffset; + + ds_p->silhouette = SIL_BOTH; + ds_p->sprtopclip = screenheightarray; + ds_p->sprbottomclip = negonearray; + ds_p->bsilheight = INT_MAX; + ds_p->tsilheight = INT_MIN; + } + else + { + // two sided line + ds_p->sprtopclip = ds_p->sprbottomclip = NULL; + ds_p->silhouette = 0; + + if (frontsector->floorheight > backsector->floorheight) + { + ds_p->silhouette = SIL_BOTTOM; + ds_p->bsilheight = frontsector->floorheight; + } + else if (backsector->floorheight > viewz) + { + ds_p->silhouette = SIL_BOTTOM; + ds_p->bsilheight = INT_MAX; + // ds_p->sprbottomclip = negonearray; + } + + if (frontsector->ceilingheight < backsector->ceilingheight) + { + ds_p->silhouette |= SIL_TOP; + ds_p->tsilheight = frontsector->ceilingheight; + } + else if (backsector->ceilingheight < viewz) + { + ds_p->silhouette |= SIL_TOP; + ds_p->tsilheight = INT_MIN; + // ds_p->sprtopclip = screenheightarray; + } + + if (backsector->ceilingheight <= frontsector->floorheight) + { + ds_p->sprbottomclip = negonearray; + ds_p->bsilheight = INT_MAX; + ds_p->silhouette |= SIL_BOTTOM; + } + + if (backsector->floorheight >= frontsector->ceilingheight) + { + ds_p->sprtopclip = screenheightarray; + ds_p->tsilheight = INT_MIN; + ds_p->silhouette |= SIL_TOP; + } + + worldhigh = backsector->ceilingheight - viewz; + worldlow = backsector->floorheight - viewz; + + // hack to allow height changes in outdoor areas + if (frontsector->ceilingpic == skyflatnum + && backsector->ceilingpic == skyflatnum) + { + worldtop = worldhigh; + } + + + if (worldlow != worldbottom + || backsector->floorpic != frontsector->floorpic + || backsector->lightlevel != frontsector->lightlevel) + { + markfloor = true; + } + else + { + // same plane on both sides + markfloor = false; + } + + + if (worldhigh != worldtop + || backsector->ceilingpic != frontsector->ceilingpic + || backsector->lightlevel != frontsector->lightlevel) + { + markceiling = true; + } + else + { + // same plane on both sides + markceiling = false; + } + + if (backsector->ceilingheight <= frontsector->floorheight + || backsector->floorheight >= frontsector->ceilingheight) + { + // closed door + markceiling = markfloor = true; + } + + + if (worldhigh < worldtop) + { + // top texture + toptexture = texturetranslation[sidedef->toptexture]; + if (linedef->flags & ML_DONTPEGTOP) + { + // top of texture at top + rw_toptexturemid = worldtop; + } + else + { + vtop = + backsector->ceilingheight + + textureheight[sidedef->toptexture]; + + // bottom of texture + rw_toptexturemid = vtop - viewz; + } + } + if (worldlow > worldbottom) + { + // bottom texture + bottomtexture = texturetranslation[sidedef->bottomtexture]; + + if (linedef->flags & ML_DONTPEGBOTTOM ) + { + // bottom of texture at bottom + // top of texture at top + rw_bottomtexturemid = worldtop; + } + else // top of texture at top + rw_bottomtexturemid = worldlow; + } + rw_toptexturemid += sidedef->rowoffset; + rw_bottomtexturemid += sidedef->rowoffset; + + // allocate space for masked texture tables + if (sidedef->midtexture) + { + // masked midtexture + maskedtexture = true; + ds_p->maskedtexturecol = maskedtexturecol = lastopening - rw_x; + lastopening += rw_stopx - rw_x; + } + } + + // calculate rw_offset (only needed for textured lines) + segtextured = midtexture | toptexture | bottomtexture | maskedtexture; + + if (segtextured) + { + offsetangle = rw_normalangle-rw_angle1; + + if (offsetangle > ANG180) + offsetangle = -offsetangle; + + if (offsetangle > ANG90) + offsetangle = ANG90; + + sineval = finesine[offsetangle >>ANGLETOFINESHIFT]; + rw_offset = FixedMul (hyp, sineval); + + if (rw_normalangle-rw_angle1 < ANG180) + rw_offset = -rw_offset; + + rw_offset += sidedef->textureoffset + curline->offset; + rw_centerangle = ANG90 + viewangle - rw_normalangle; + + // calculate light table + // use different light tables + // for horizontal / vertical / diagonal + // OPTIMIZE: get rid of LIGHTSEGSHIFT globally + if (!fixedcolormap) + { + lightnum = (frontsector->lightlevel >> LIGHTSEGSHIFT)+extralight; + + if (curline->v1->y == curline->v2->y) + lightnum--; + else if (curline->v1->x == curline->v2->x) + lightnum++; + + if (lightnum < 0) + walllights = scalelight[0]; + else if (lightnum >= LIGHTLEVELS) + walllights = scalelight[LIGHTLEVELS-1]; + else + walllights = scalelight[lightnum]; + } + } + + // if a floor / ceiling plane is on the wrong side + // of the view plane, it is definitely invisible + // and doesn't need to be marked. + + + if (frontsector->floorheight >= viewz) + { + // above view plane + markfloor = false; + } + + if (frontsector->ceilingheight <= viewz + && frontsector->ceilingpic != skyflatnum) + { + // below view plane + markceiling = false; + } + + + // calculate incremental stepping values for texture edges + worldtop >>= 4; + worldbottom >>= 4; + + topstep = -FixedMul (rw_scalestep, worldtop); + topfrac = (centeryfrac>>4) - FixedMul (worldtop, rw_scale); + + bottomstep = -FixedMul (rw_scalestep,worldbottom); + bottomfrac = (centeryfrac>>4) - FixedMul (worldbottom, rw_scale); + + if (backsector) + { + worldhigh >>= 4; + worldlow >>= 4; + + if (worldhigh < worldtop) + { + pixhigh = (centeryfrac>>4) - FixedMul (worldhigh, rw_scale); + pixhighstep = -FixedMul (rw_scalestep,worldhigh); + } + + if (worldlow > worldbottom) + { + pixlow = (centeryfrac>>4) - FixedMul (worldlow, rw_scale); + pixlowstep = -FixedMul (rw_scalestep,worldlow); + } + } + + // render it + if (markceiling) + ceilingplane = R_CheckPlane (ceilingplane, rw_x, rw_stopx-1); + + if (markfloor) + floorplane = R_CheckPlane (floorplane, rw_x, rw_stopx-1); + + R_RenderSegLoop (); + + + // save sprite clipping info + if ( ((ds_p->silhouette & SIL_TOP) || maskedtexture) + && !ds_p->sprtopclip) + { + memcpy (lastopening, ceilingclip+start, 2*(rw_stopx-start)); + ds_p->sprtopclip = lastopening - start; + lastopening += rw_stopx - start; + } + + if ( ((ds_p->silhouette & SIL_BOTTOM) || maskedtexture) + && !ds_p->sprbottomclip) + { + memcpy (lastopening, floorclip+start, 2*(rw_stopx-start)); + ds_p->sprbottomclip = lastopening - start; + lastopening += rw_stopx - start; + } + + if (maskedtexture && !(ds_p->silhouette&SIL_TOP)) + { + ds_p->silhouette |= SIL_TOP; + ds_p->tsilheight = INT_MIN; + } + if (maskedtexture && !(ds_p->silhouette&SIL_BOTTOM)) + { + ds_p->silhouette |= SIL_BOTTOM; + ds_p->bsilheight = INT_MAX; + } + ds_p++; +} + diff --git a/src/kernel/userland/doom/r_segs.h b/src/kernel/userland/doom/r_segs.h new file mode 100644 index 0000000..d4a4d89 --- /dev/null +++ b/src/kernel/userland/doom/r_segs.h @@ -0,0 +1,33 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Refresh module, drawing LineSegs from BSP. +// + + +#ifndef __R_SEGS__ +#define __R_SEGS__ + + + + +void +R_RenderMaskedSegRange +( drawseg_t* ds, + int x1, + int x2 ); + + +#endif diff --git a/src/kernel/userland/doom/r_sky.c b/src/kernel/userland/doom/r_sky.c new file mode 100644 index 0000000..667c88d --- /dev/null +++ b/src/kernel/userland/doom/r_sky.c @@ -0,0 +1,52 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Sky rendering. The DOOM sky is a texture map like any +// wall, wrapping around. A 1024 columns equal 360 degrees. +// The default sky map is 256 columns and repeats 4 times +// on a 320 screen? +// +// + + + +// Needed for FRACUNIT. +#include "m_fixed.h" + +// Needed for Flat retrieval. +#include "r_data.h" + + +#include "r_sky.h" + +// +// sky mapping +// +int skyflatnum; +int skytexture; +int skytexturemid; + + + +// +// R_InitSkyMap +// Called whenever the view size changes. +// +void R_InitSkyMap (void) +{ + // skyflatnum = R_FlatNumForName ( SKYFLATNAME ); + skytexturemid = 100*FRACUNIT; +} + diff --git a/src/kernel/userland/doom/r_sky.h b/src/kernel/userland/doom/r_sky.h new file mode 100644 index 0000000..8ad6680 --- /dev/null +++ b/src/kernel/userland/doom/r_sky.h @@ -0,0 +1,37 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Sky rendering. +// + + +#ifndef __R_SKY__ +#define __R_SKY__ + + + +// SKY, store the number for name. +#define SKYFLATNAME "F_SKY1" + +// The sky map is 256*128*4 maps. +#define ANGLETOSKYSHIFT 22 + +extern int skytexture; +extern int skytexturemid; + +// Called whenever the view size changes. +void R_InitSkyMap (void); + +#endif diff --git a/src/kernel/userland/doom/r_state.h b/src/kernel/userland/doom/r_state.h new file mode 100644 index 0000000..2a60e2f --- /dev/null +++ b/src/kernel/userland/doom/r_state.h @@ -0,0 +1,127 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Refresh/render internal state variables (global). +// + + +#ifndef __R_STATE__ +#define __R_STATE__ + +// Need data structure definitions. +#include "d_player.h" +#include "r_data.h" + + + + + + +// +// Refresh internal data structures, +// for rendering. +// + +// needed for texture pegging +extern fixed_t* textureheight; + +// needed for pre rendering (fracs) +extern fixed_t* spritewidth; + +extern fixed_t* spriteoffset; +extern fixed_t* spritetopoffset; + +extern lighttable_t* colormaps; + +extern int viewwidth; +extern int scaledviewwidth; +extern int viewheight; + +extern int firstflat; + +// for global animation +extern int* flattranslation; +extern int* texturetranslation; + + +// Sprite.... +extern int firstspritelump; +extern int lastspritelump; +extern int numspritelumps; + + + +// +// Lookup tables for map data. +// +extern int numsprites; +extern spritedef_t* sprites; + +extern int numvertexes; +extern vertex_t* vertexes; + +extern int numsegs; +extern seg_t* segs; + +extern int numsectors; +extern sector_t* sectors; + +extern int numsubsectors; +extern subsector_t* subsectors; + +extern int numnodes; +extern node_t* nodes; + +extern int numlines; +extern line_t* lines; + +extern int numsides; +extern side_t* sides; + + +// +// POV data. +// +extern fixed_t viewx; +extern fixed_t viewy; +extern fixed_t viewz; + +extern angle_t viewangle; +extern player_t* viewplayer; + + +// ? +extern angle_t clipangle; + +extern int viewangletox[FINEANGLES/2]; +extern angle_t xtoviewangle[SCREENWIDTH+1]; +//extern fixed_t finetangent[FINEANGLES/2]; + +extern fixed_t rw_distance; +extern angle_t rw_normalangle; + + + +// angle to line origin +extern int rw_angle1; + +// Segs count? +extern int sscount; + +extern visplane_t* floorplane; +extern visplane_t* ceilingplane; + + +#endif diff --git a/src/kernel/userland/doom/r_things.c b/src/kernel/userland/doom/r_things.c new file mode 100644 index 0000000..74e7369 --- /dev/null +++ b/src/kernel/userland/doom/r_things.c @@ -0,0 +1,982 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Refresh of things, i.e. objects represented by sprites. +// + + + + +#include +#include + + +#include "deh_main.h" +#include "doomdef.h" + +#include "i_swap.h" +#include "i_system.h" +#include "z_zone.h" +#include "w_wad.h" + +#include "r_local.h" + +#include "doomstat.h" + + + +#define MINZ (FRACUNIT*4) +#define BASEYCENTER 100 + +//void R_DrawColumn (void); +//void R_DrawFuzzColumn (void); + + + +typedef struct +{ + int x1; + int x2; + + int column; + int topclip; + int bottomclip; + +} maskdraw_t; + + + +// +// Sprite rotation 0 is facing the viewer, +// rotation 1 is one angle turn CLOCKWISE around the axis. +// This is not the same as the angle, +// which increases counter clockwise (protractor). +// There was a lot of stuff grabbed wrong, so I changed it... +// +fixed_t pspritescale; +fixed_t pspriteiscale; + +lighttable_t** spritelights; + +// constant arrays +// used for psprite clipping and initializing clipping +short negonearray[SCREENWIDTH]; +short screenheightarray[SCREENWIDTH]; + + +// +// INITIALIZATION FUNCTIONS +// + +// variables used to look up +// and range check thing_t sprites patches +spritedef_t* sprites; +int numsprites; + +spriteframe_t sprtemp[29]; +int maxframe; +char* spritename; + + + + +// +// R_InstallSpriteLump +// Local function for R_InitSprites. +// +void +R_InstallSpriteLump +( int lump, + unsigned frame, + unsigned rotation, + boolean flipped ) +{ + int r; + + if (frame >= 29 || rotation > 8) + I_Error("R_InstallSpriteLump: " + "Bad frame characters in lump %i", lump); + + if ((int)frame > maxframe) + maxframe = frame; + + if (rotation == 0) + { + // the lump should be used for all rotations + if (sprtemp[frame].rotate == false) + I_Error ("R_InitSprites: Sprite %s frame %c has " + "multip rot=0 lump", spritename, 'A'+frame); + + if (sprtemp[frame].rotate == true) + I_Error ("R_InitSprites: Sprite %s frame %c has rotations " + "and a rot=0 lump", spritename, 'A'+frame); + + sprtemp[frame].rotate = false; + for (r=0 ; r<8 ; r++) + { + sprtemp[frame].lump[r] = lump - firstspritelump; + sprtemp[frame].flip[r] = (byte)flipped; + } + return; + } + + // the lump is only used for one rotation + if (sprtemp[frame].rotate == false) + I_Error ("R_InitSprites: Sprite %s frame %c has rotations " + "and a rot=0 lump", spritename, 'A'+frame); + + sprtemp[frame].rotate = true; + + // make 0 based + rotation--; + if (sprtemp[frame].lump[rotation] != -1) + I_Error ("R_InitSprites: Sprite %s : %c : %c " + "has two lumps mapped to it", + spritename, 'A'+frame, '1'+rotation); + + sprtemp[frame].lump[rotation] = lump - firstspritelump; + sprtemp[frame].flip[rotation] = (byte)flipped; +} + + + + +// +// R_InitSpriteDefs +// Pass a null terminated list of sprite names +// (4 chars exactly) to be used. +// Builds the sprite rotation matrixes to account +// for horizontally flipped sprites. +// Will report an error if the lumps are inconsistant. +// Only called at startup. +// +// Sprite lump names are 4 characters for the actor, +// a letter for the frame, and a number for the rotation. +// A sprite that is flippable will have an additional +// letter/number appended. +// The rotation character can be 0 to signify no rotations. +// +void R_InitSpriteDefs (char** namelist) +{ + char** check; + int i; + int l; + int frame; + int rotation; + int start; + int end; + int patched; + + // count the number of sprite names + check = namelist; + while (*check != NULL) + check++; + + numsprites = check-namelist; + + if (!numsprites) + return; + + sprites = Z_Malloc(numsprites *sizeof(*sprites), PU_STATIC, NULL); + + start = firstspritelump-1; + end = lastspritelump+1; + + // scan all the lump names for each of the names, + // noting the highest frame letter. + // Just compare 4 characters as ints + for (i=0 ; itopdelta != 0xff ; ) + { + // calculate unclipped screen coordinates + // for post + topscreen = sprtopscreen + spryscale*column->topdelta; + bottomscreen = topscreen + spryscale*column->length; + + dc_yl = (topscreen+FRACUNIT-1)>>FRACBITS; + dc_yh = (bottomscreen-1)>>FRACBITS; + + if (dc_yh >= mfloorclip[dc_x]) + dc_yh = mfloorclip[dc_x]-1; + if (dc_yl <= mceilingclip[dc_x]) + dc_yl = mceilingclip[dc_x]+1; + + if (dc_yl <= dc_yh) + { + dc_source = (byte *)column + 3; + dc_texturemid = basetexturemid - (column->topdelta<topdelta; + + // Drawn by either R_DrawColumn + // or (SHADOW) R_DrawFuzzColumn. + colfunc (); + } + column = (column_t *)( (byte *)column + column->length + 4); + } + + dc_texturemid = basetexturemid; +} + + + +// +// R_DrawVisSprite +// mfloorclip and mceilingclip should also be set. +// +void +R_DrawVisSprite +( vissprite_t* vis, + int x1, + int x2 ) +{ + column_t* column; + int texturecolumn; + fixed_t frac; + patch_t* patch; + + + patch = W_CacheLumpNum (vis->patch+firstspritelump, PU_CACHE); + + dc_colormap = vis->colormap; + + if (!dc_colormap) + { + // NULL colormap = shadow draw + colfunc = fuzzcolfunc; + } + else if (vis->mobjflags & MF_TRANSLATION) + { + colfunc = transcolfunc; + dc_translation = translationtables - 256 + + ( (vis->mobjflags & MF_TRANSLATION) >> (MF_TRANSSHIFT-8) ); + } + + dc_iscale = abs(vis->xiscale)>>detailshift; + dc_texturemid = vis->texturemid; + frac = vis->startfrac; + spryscale = vis->scale; + sprtopscreen = centeryfrac - FixedMul(dc_texturemid,spryscale); + + for (dc_x=vis->x1 ; dc_x<=vis->x2 ; dc_x++, frac += vis->xiscale) + { + texturecolumn = frac>>FRACBITS; +#ifdef RANGECHECK + if (texturecolumn < 0 || texturecolumn >= SHORT(patch->width)) + I_Error ("R_DrawSpriteRange: bad texturecolumn"); +#endif + column = (column_t *) ((byte *)patch + + LONG(patch->columnofs[texturecolumn])); + R_DrawMaskedColumn (column); + } + + colfunc = basecolfunc; +} + + + +// +// R_ProjectSprite +// Generates a vissprite for a thing +// if it might be visible. +// +void R_ProjectSprite (mobj_t* thing) +{ + fixed_t tr_x; + fixed_t tr_y; + + fixed_t gxt; + fixed_t gyt; + + fixed_t tx; + fixed_t tz; + + fixed_t xscale; + + int x1; + int x2; + + spritedef_t* sprdef; + spriteframe_t* sprframe; + int lump; + + unsigned rot; + boolean flip; + + int index; + + vissprite_t* vis; + + angle_t ang; + fixed_t iscale; + + // transform the origin point + tr_x = thing->x - viewx; + tr_y = thing->y - viewy; + + gxt = FixedMul(tr_x,viewcos); + gyt = -FixedMul(tr_y,viewsin); + + tz = gxt-gyt; + + // thing is behind view plane? + if (tz < MINZ) + return; + + xscale = FixedDiv(projection, tz); + + gxt = -FixedMul(tr_x,viewsin); + gyt = FixedMul(tr_y,viewcos); + tx = -(gyt+gxt); + + // too far off the side? + if (abs(tx)>(tz<<2)) + return; + + // decide which patch to use for sprite relative to player +#ifdef RANGECHECK + if ((unsigned int) thing->sprite >= (unsigned int) numsprites) + I_Error ("R_ProjectSprite: invalid sprite number %i ", + thing->sprite); +#endif + sprdef = &sprites[thing->sprite]; +#ifdef RANGECHECK + if ( (thing->frame&FF_FRAMEMASK) >= sprdef->numframes ) + I_Error ("R_ProjectSprite: invalid sprite frame %i : %i ", + thing->sprite, thing->frame); +#endif + sprframe = &sprdef->spriteframes[ thing->frame & FF_FRAMEMASK]; + + if (sprframe->rotate) + { + // choose a different rotation based on player view + ang = R_PointToAngle (thing->x, thing->y); + rot = (ang-thing->angle+(unsigned)(ANG45/2)*9)>>29; + lump = sprframe->lump[rot]; + flip = (boolean)sprframe->flip[rot]; + } + else + { + // use single rotation for all views + lump = sprframe->lump[0]; + flip = (boolean)sprframe->flip[0]; + } + + // calculate edges of the shape + tx -= spriteoffset[lump]; + x1 = (centerxfrac + FixedMul (tx,xscale) ) >>FRACBITS; + + // off the right side? + if (x1 > viewwidth) + return; + + tx += spritewidth[lump]; + x2 = ((centerxfrac + FixedMul (tx,xscale) ) >>FRACBITS) - 1; + + // off the left side + if (x2 < 0) + return; + + // store information in a vissprite + vis = R_NewVisSprite (); + vis->mobjflags = thing->flags; + vis->scale = xscale<gx = thing->x; + vis->gy = thing->y; + vis->gz = thing->z; + vis->gzt = thing->z + spritetopoffset[lump]; + vis->texturemid = vis->gzt - viewz; + vis->x1 = x1 < 0 ? 0 : x1; + vis->x2 = x2 >= viewwidth ? viewwidth-1 : x2; + iscale = FixedDiv (FRACUNIT, xscale); + + if (flip) + { + vis->startfrac = spritewidth[lump]-1; + vis->xiscale = -iscale; + } + else + { + vis->startfrac = 0; + vis->xiscale = iscale; + } + + if (vis->x1 > x1) + vis->startfrac += vis->xiscale*(vis->x1-x1); + vis->patch = lump; + + // get light level + if (thing->flags & MF_SHADOW) + { + // shadow draw + vis->colormap = NULL; + } + else if (fixedcolormap) + { + // fixed map + vis->colormap = fixedcolormap; + } + else if (thing->frame & FF_FULLBRIGHT) + { + // full bright + vis->colormap = colormaps; + } + + else + { + // diminished light + index = xscale>>(LIGHTSCALESHIFT-detailshift); + + if (index >= MAXLIGHTSCALE) + index = MAXLIGHTSCALE-1; + + vis->colormap = spritelights[index]; + } +} + + + + +// +// R_AddSprites +// During BSP traversal, this adds sprites by sector. +// +void R_AddSprites (sector_t* sec) +{ + mobj_t* thing; + int lightnum; + + // BSP is traversed by subsector. + // A sector might have been split into several + // subsectors during BSP building. + // Thus we check whether its already added. + if (sec->validcount == validcount) + return; + + // Well, now it will be done. + sec->validcount = validcount; + + lightnum = (sec->lightlevel >> LIGHTSEGSHIFT)+extralight; + + if (lightnum < 0) + spritelights = scalelight[0]; + else if (lightnum >= LIGHTLEVELS) + spritelights = scalelight[LIGHTLEVELS-1]; + else + spritelights = scalelight[lightnum]; + + // Handle all things in sector. + for (thing = sec->thinglist ; thing ; thing = thing->snext) + R_ProjectSprite (thing); +} + + +// +// R_DrawPSprite +// +void R_DrawPSprite (pspdef_t* psp) +{ + fixed_t tx; + int x1; + int x2; + spritedef_t* sprdef; + spriteframe_t* sprframe; + int lump; + boolean flip; + vissprite_t* vis; + vissprite_t avis; + + // decide which patch to use +#ifdef RANGECHECK + if ( (unsigned)psp->state->sprite >= (unsigned int) numsprites) + I_Error ("R_ProjectSprite: invalid sprite number %i ", + psp->state->sprite); +#endif + sprdef = &sprites[psp->state->sprite]; +#ifdef RANGECHECK + if ( (psp->state->frame & FF_FRAMEMASK) >= sprdef->numframes) + I_Error ("R_ProjectSprite: invalid sprite frame %i : %i ", + psp->state->sprite, psp->state->frame); +#endif + sprframe = &sprdef->spriteframes[ psp->state->frame & FF_FRAMEMASK ]; + + lump = sprframe->lump[0]; + flip = (boolean)sprframe->flip[0]; + + // calculate edges of the shape + tx = psp->sx-160*FRACUNIT; + + tx -= spriteoffset[lump]; + x1 = (centerxfrac + FixedMul (tx,pspritescale) ) >>FRACBITS; + + // off the right side + if (x1 > viewwidth) + return; + + tx += spritewidth[lump]; + x2 = ((centerxfrac + FixedMul (tx, pspritescale) ) >>FRACBITS) - 1; + + // off the left side + if (x2 < 0) + return; + + // store information in a vissprite + vis = &avis; + vis->mobjflags = 0; + vis->texturemid = (BASEYCENTER<sy-spritetopoffset[lump]); + vis->x1 = x1 < 0 ? 0 : x1; + vis->x2 = x2 >= viewwidth ? viewwidth-1 : x2; + vis->scale = pspritescale<xiscale = -pspriteiscale; + vis->startfrac = spritewidth[lump]-1; + } + else + { + vis->xiscale = pspriteiscale; + vis->startfrac = 0; + } + + if (vis->x1 > x1) + vis->startfrac += vis->xiscale*(vis->x1-x1); + + vis->patch = lump; + + if (viewplayer->powers[pw_invisibility] > 4*32 + || viewplayer->powers[pw_invisibility] & 8) + { + // shadow draw + vis->colormap = NULL; + } + else if (fixedcolormap) + { + // fixed color + vis->colormap = fixedcolormap; + } + else if (psp->state->frame & FF_FULLBRIGHT) + { + // full bright + vis->colormap = colormaps; + } + else + { + // local light + vis->colormap = spritelights[MAXLIGHTSCALE-1]; + } + + R_DrawVisSprite (vis, vis->x1, vis->x2); +} + + + +// +// R_DrawPlayerSprites +// +void R_DrawPlayerSprites (void) +{ + int i; + int lightnum; + pspdef_t* psp; + + // get light level + lightnum = + (viewplayer->mo->subsector->sector->lightlevel >> LIGHTSEGSHIFT) + +extralight; + + if (lightnum < 0) + spritelights = scalelight[0]; + else if (lightnum >= LIGHTLEVELS) + spritelights = scalelight[LIGHTLEVELS-1]; + else + spritelights = scalelight[lightnum]; + + // clip to screen bounds + mfloorclip = screenheightarray; + mceilingclip = negonearray; + + // add all active psprites + for (i=0, psp=viewplayer->psprites; + istate) + R_DrawPSprite (psp); + } +} + + + + +// +// R_SortVisSprites +// +vissprite_t vsprsortedhead; + + +void R_SortVisSprites (void) +{ + int i; + int count; + vissprite_t* ds; + vissprite_t* best; + vissprite_t unsorted; + fixed_t bestscale; + + count = vissprite_p - vissprites; + + unsorted.next = unsorted.prev = &unsorted; + + if (!count) + return; + + for (ds=vissprites ; dsnext = ds+1; + ds->prev = ds-1; + } + + vissprites[0].prev = &unsorted; + unsorted.next = &vissprites[0]; + (vissprite_p-1)->next = &unsorted; + unsorted.prev = vissprite_p-1; + + // pull the vissprites out by scale + + vsprsortedhead.next = vsprsortedhead.prev = &vsprsortedhead; + for (i=0 ; inext) + { + if (ds->scale < bestscale) + { + bestscale = ds->scale; + best = ds; + } + } + best->next->prev = best->prev; + best->prev->next = best->next; + best->next = &vsprsortedhead; + best->prev = vsprsortedhead.prev; + vsprsortedhead.prev->next = best; + vsprsortedhead.prev = best; + } +} + + + +// +// R_DrawSprite +// +static short clipbot[SCREENWIDTH]; +static short cliptop[SCREENWIDTH]; +void R_DrawSprite (vissprite_t* spr) +{ + drawseg_t* ds; + int x; + int r1; + int r2; + fixed_t scale; + fixed_t lowscale; + int silhouette; + + for (x = spr->x1 ; x<=spr->x2 ; x++) + clipbot[x] = cliptop[x] = -2; + + // Scan drawsegs from end to start for obscuring segs. + // The first drawseg that has a greater scale + // is the clip seg. + for (ds=ds_p-1 ; ds >= drawsegs ; ds--) + { + // determine if the drawseg obscures the sprite + if (ds->x1 > spr->x2 + || ds->x2 < spr->x1 + || (!ds->silhouette + && !ds->maskedtexturecol) ) + { + // does not cover sprite + continue; + } + + r1 = ds->x1 < spr->x1 ? spr->x1 : ds->x1; + r2 = ds->x2 > spr->x2 ? spr->x2 : ds->x2; + + if (ds->scale1 > ds->scale2) + { + lowscale = ds->scale2; + scale = ds->scale1; + } + else + { + lowscale = ds->scale1; + scale = ds->scale2; + } + + if (scale < spr->scale + || ( lowscale < spr->scale + && !R_PointOnSegSide (spr->gx, spr->gy, ds->curline) ) ) + { + // masked mid texture? + if (ds->maskedtexturecol) + R_RenderMaskedSegRange (ds, r1, r2); + // seg is behind sprite + continue; + } + + + // clip this piece of the sprite + silhouette = ds->silhouette; + + if (spr->gz >= ds->bsilheight) + silhouette &= ~SIL_BOTTOM; + + if (spr->gzt <= ds->tsilheight) + silhouette &= ~SIL_TOP; + + if (silhouette == 1) + { + // bottom sil + for (x=r1 ; x<=r2 ; x++) + if (clipbot[x] == -2) + clipbot[x] = ds->sprbottomclip[x]; + } + else if (silhouette == 2) + { + // top sil + for (x=r1 ; x<=r2 ; x++) + if (cliptop[x] == -2) + cliptop[x] = ds->sprtopclip[x]; + } + else if (silhouette == 3) + { + // both + for (x=r1 ; x<=r2 ; x++) + { + if (clipbot[x] == -2) + clipbot[x] = ds->sprbottomclip[x]; + if (cliptop[x] == -2) + cliptop[x] = ds->sprtopclip[x]; + } + } + + } + + // all clipping has been performed, so draw the sprite + + // check for unclipped columns + for (x = spr->x1 ; x<=spr->x2 ; x++) + { + if (clipbot[x] == -2) + clipbot[x] = viewheight; + + if (cliptop[x] == -2) + cliptop[x] = -1; + } + + mfloorclip = clipbot; + mceilingclip = cliptop; + R_DrawVisSprite (spr, spr->x1, spr->x2); +} + + + + +// +// R_DrawMasked +// +void R_DrawMasked (void) +{ + vissprite_t* spr; + drawseg_t* ds; + + R_SortVisSprites (); + + if (vissprite_p > vissprites) + { + // draw all vissprites back to front + for (spr = vsprsortedhead.next ; + spr != &vsprsortedhead ; + spr=spr->next) + { + + R_DrawSprite (spr); + } + } + + // render any remaining masked mid textures + for (ds=ds_p-1 ; ds >= drawsegs ; ds--) + if (ds->maskedtexturecol) + R_RenderMaskedSegRange (ds, ds->x1, ds->x2); + + // draw the psprites on top of everything + // but does not draw on side views + if (!viewangleoffset) + R_DrawPlayerSprites (); +} + + + diff --git a/src/kernel/userland/doom/r_things.h b/src/kernel/userland/doom/r_things.h new file mode 100644 index 0000000..256a5eb --- /dev/null +++ b/src/kernel/userland/doom/r_things.h @@ -0,0 +1,65 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Rendering of moving objects, sprites. +// + + +#ifndef __R_THINGS__ +#define __R_THINGS__ + + + +#define MAXVISSPRITES 128 + +extern vissprite_t vissprites[MAXVISSPRITES]; +extern vissprite_t* vissprite_p; +extern vissprite_t vsprsortedhead; + +// Constant arrays used for psprite clipping +// and initializing clipping. +extern short negonearray[SCREENWIDTH]; +extern short screenheightarray[SCREENWIDTH]; + +// vars for R_DrawMaskedColumn +extern short* mfloorclip; +extern short* mceilingclip; +extern fixed_t spryscale; +extern fixed_t sprtopscreen; + +extern fixed_t pspritescale; +extern fixed_t pspriteiscale; + + +void R_DrawMaskedColumn (column_t* column); + + +void R_SortVisSprites (void); + +void R_AddSprites (sector_t* sec); +void R_AddPSprites (void); +void R_DrawSprites (void); +void R_InitSprites (char** namelist); +void R_ClearSprites (void); +void R_DrawMasked (void); + +void +R_ClipVisSprite +( vissprite_t* vis, + int xl, + int xh ); + + +#endif diff --git a/src/kernel/userland/doom/s_sound.c b/src/kernel/userland/doom/s_sound.c new file mode 100644 index 0000000..f6d8be1 --- /dev/null +++ b/src/kernel/userland/doom/s_sound.c @@ -0,0 +1,670 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: none +// + +#include +#include + +#include "i_sound.h" +#include "i_system.h" + +#include "doomfeatures.h" +#include "deh_str.h" + +#include "doomstat.h" +#include "doomtype.h" + +#include "sounds.h" +#include "s_sound.h" + +#include "m_misc.h" +#include "m_random.h" +#include "m_argv.h" + +#include "p_local.h" +#include "w_wad.h" +#include "z_zone.h" + +// when to clip out sounds +// Does not fit the large outdoor areas. + +#define S_CLIPPING_DIST (1200 * FRACUNIT) + +// Distance tp origin when sounds should be maxed out. +// This should relate to movement clipping resolution +// (see BLOCKMAP handling). +// In the source code release: (160*FRACUNIT). Changed back to the +// Vanilla value of 200 (why was this changed?) + +#define S_CLOSE_DIST (200 * FRACUNIT) + +// The range over which sound attenuates + +#define S_ATTENUATOR ((S_CLIPPING_DIST - S_CLOSE_DIST) >> FRACBITS) + +// Stereo separation + +#define S_STEREO_SWING (96 * FRACUNIT) + +#define NORM_PITCH 128 +#define NORM_PRIORITY 64 +#define NORM_SEP 128 + +typedef struct +{ + // sound information (if null, channel avail.) + sfxinfo_t *sfxinfo; + + // origin of sound + mobj_t *origin; + + // handle of the sound being played + int handle; + +} channel_t; + +// The set of channels available + +static channel_t *channels; + +// Maximum volume of a sound effect. +// Internal default is max out of 0-15. + +int sfxVolume = 8; + +// Maximum volume of music. + +int musicVolume = 8; + +// Internal volume level, ranging from 0-127 + +static int snd_SfxVolume; + +// Whether songs are mus_paused + +static boolean mus_paused; + +// Music currently being played + +static musicinfo_t *mus_playing = NULL; + +// Number of channels to use + +int snd_channels = 8; + +// +// Initializes sound stuff, including volume +// Sets channels, SFX and music volume, +// allocates channel buffer, sets S_sfx lookup. +// + +void S_Init(int sfxVolume, int musicVolume) +{ + int i; + + I_PrecacheSounds(S_sfx, NUMSFX); + + S_SetSfxVolume(sfxVolume); + S_SetMusicVolume(musicVolume); + + // Allocating the internal channels for mixing + // (the maximum numer of sounds rendered + // simultaneously) within zone memory. + channels = Z_Malloc(snd_channels*sizeof(channel_t), PU_STATIC, 0); + + // Free all channels for use + for (i=0 ; isfxinfo) + { + // stop the sound playing + + if (I_SoundIsPlaying(c->handle)) + { + I_StopSound(c->handle); + } + + // check to see if other channels are playing the sound + + for (i=0; isfxinfo == channels[i].sfxinfo) + { + break; + } + } + + // degrade usefulness of sound data + + c->sfxinfo->usefulness--; + c->sfxinfo = NULL; + } +} + +// +// Per level startup code. +// Kills playing sounds at start of level, +// determines music if any, changes music. +// + +void S_Start(void) +{ + int cnum; + int mnum; + + // kill all playing sounds at start of level + // (trust me - a good idea) + for (cnum=0 ; cnumpriority >= sfxinfo->priority) + { + break; + } + } + + if (cnum == snd_channels) + { + // FUCK! No lower priority. Sorry, Charlie. + return -1; + } + else + { + // Otherwise, kick out lower priority. + S_StopChannel(cnum); + } + } + + c = &channels[cnum]; + + // channel is decided to be cnum. + c->sfxinfo = sfxinfo; + c->origin = origin; + + return cnum; +} + +// +// Changes volume and stereo-separation variables +// from the norm of a sound effect to be played. +// If the sound is not audible, returns a 0. +// Otherwise, modifies parameters and returns 1. +// + +static int S_AdjustSoundParams(mobj_t *listener, mobj_t *source, + int *vol, int *sep) +{ + fixed_t approx_dist; + fixed_t adx; + fixed_t ady; + angle_t angle; + + // calculate the distance to sound origin + // and clip it if necessary + adx = abs(listener->x - source->x); + ady = abs(listener->y - source->y); + + // From _GG1_ p.428. Appox. eucledian distance fast. + approx_dist = adx + ady - ((adx < ady ? adx : ady)>>1); + + if (gamemap != 8 && approx_dist > S_CLIPPING_DIST) + { + return 0; + } + + // angle of source to listener + angle = R_PointToAngle2(listener->x, + listener->y, + source->x, + source->y); + + if (angle > listener->angle) + { + angle = angle - listener->angle; + } + else + { + angle = angle + (0xffffffff - listener->angle); + } + + angle >>= ANGLETOFINESHIFT; + + // stereo separation + *sep = 128 - (FixedMul(S_STEREO_SWING, finesine[angle]) >> FRACBITS); + + // volume calculation + if (approx_dist < S_CLOSE_DIST) + { + *vol = snd_SfxVolume; + } + else if (gamemap == 8) + { + if (approx_dist > S_CLIPPING_DIST) + { + approx_dist = S_CLIPPING_DIST; + } + + *vol = 15+ ((snd_SfxVolume-15) + *((S_CLIPPING_DIST - approx_dist)>>FRACBITS)) + / S_ATTENUATOR; + } + else + { + // distance effect + *vol = (snd_SfxVolume + * ((S_CLIPPING_DIST - approx_dist)>>FRACBITS)) + / S_ATTENUATOR; + } + + return (*vol > 0); +} + +void S_StartSound(void *origin_p, int sfx_id) +{ + sfxinfo_t *sfx; + mobj_t *origin; + int rc; + int sep; + int cnum; + int volume; + + origin = (mobj_t *) origin_p; + volume = snd_SfxVolume; + + // check for bogus sound # + if (sfx_id < 1 || sfx_id > NUMSFX) + { + I_Error("Bad sfx #: %d", sfx_id); + } + + sfx = &S_sfx[sfx_id]; + + // Initialize sound parameters + if (sfx->link) + { + volume += sfx->volume; + + if (volume < 1) + { + return; + } + + if (volume > snd_SfxVolume) + { + volume = snd_SfxVolume; + } + } + + + // Check to see if it is audible, + // and if not, modify the params + if (origin && origin != players[consoleplayer].mo) + { + rc = S_AdjustSoundParams(players[consoleplayer].mo, + origin, + &volume, + &sep); + + if (origin->x == players[consoleplayer].mo->x + && origin->y == players[consoleplayer].mo->y) + { + sep = NORM_SEP; + } + + if (!rc) + { + return; + } + } + else + { + sep = NORM_SEP; + } + + // kill old sound + S_StopSound(origin); + + // try to find a channel + cnum = S_GetChannel(origin, sfx); + + if (cnum < 0) + { + return; + } + + // increase the usefulness + if (sfx->usefulness++ < 0) + { + sfx->usefulness = 1; + } + + if (sfx->lumpnum < 0) + { + sfx->lumpnum = I_GetSfxLumpNum(sfx); + } + + channels[cnum].handle = I_StartSound(sfx, cnum, volume, sep); +} + +// +// Stop and resume music, during game PAUSE. +// + +void S_PauseSound(void) +{ + if (mus_playing && !mus_paused) + { + I_PauseSong(); + mus_paused = true; + } +} + +void S_ResumeSound(void) +{ + if (mus_playing && mus_paused) + { + I_ResumeSong(); + mus_paused = false; + } +} + +// +// Updates music & sounds +// + +void S_UpdateSounds(mobj_t *listener) +{ + int audible; + int cnum; + int volume; + int sep; + sfxinfo_t* sfx; + channel_t* c; + + I_UpdateSound(); + + for (cnum=0; cnumsfxinfo; + + if (c->sfxinfo) + { + if (I_SoundIsPlaying(c->handle)) + { + // initialize parameters + volume = snd_SfxVolume; + sep = NORM_SEP; + + if (sfx->link) + { + volume += sfx->volume; + if (volume < 1) + { + S_StopChannel(cnum); + continue; + } + else if (volume > snd_SfxVolume) + { + volume = snd_SfxVolume; + } + } + + // check non-local sounds for distance clipping + // or modify their params + if (c->origin && listener != c->origin) + { + audible = S_AdjustSoundParams(listener, + c->origin, + &volume, + &sep); + + if (!audible) + { + S_StopChannel(cnum); + } + else + { + I_UpdateSoundParams(c->handle, volume, sep); + } + } + } + else + { + // if channel is allocated but sound has stopped, + // free it + S_StopChannel(cnum); + } + } + } +} + +void S_SetMusicVolume(int volume) +{ + if (volume < 0 || volume > 127) + { + I_Error("Attempt to set music volume at %d", + volume); + } + + I_SetMusicVolume(volume); +} + +void S_SetSfxVolume(int volume) +{ + if (volume < 0 || volume > 127) + { + I_Error("Attempt to set sfx volume at %d", volume); + } + + snd_SfxVolume = volume; +} + +// +// Starts some music with the music id found in sounds.h. +// + +void S_StartMusic(int m_id) +{ + S_ChangeMusic(m_id, false); +} + +void S_ChangeMusic(int musicnum, int looping) +{ + musicinfo_t *music = NULL; + char namebuf[9]; + void *handle; + + // The Doom IWAD file has two versions of the intro music: d_intro + // and d_introa. The latter is used for OPL playback. + + if (musicnum == mus_intro && (snd_musicdevice == SNDDEVICE_ADLIB + || snd_musicdevice == SNDDEVICE_SB)) + { + musicnum = mus_introa; + } + + if (musicnum <= mus_None || musicnum >= NUMMUSIC) + { + I_Error("Bad music number %d", musicnum); + } + else + { + music = &S_music[musicnum]; + } + + if (mus_playing == music) + { + return; + } + + // shutdown old music + S_StopMusic(); + + // get lumpnum if neccessary + if (!music->lumpnum) + { + M_snprintf(namebuf, sizeof(namebuf), "d_%s", DEH_String(music->name)); + music->lumpnum = W_GetNumForName(namebuf); + } + + music->data = W_CacheLumpNum(music->lumpnum, PU_STATIC); + + handle = I_RegisterSong(music->data, W_LumpLength(music->lumpnum)); + music->handle = handle; + I_PlaySong(handle, looping); + + mus_playing = music; +} + +boolean S_MusicPlaying(void) +{ + return I_MusicIsPlaying(); +} + +void S_StopMusic(void) +{ + if (mus_playing) + { + if (mus_paused) + { + I_ResumeSong(); + } + + I_StopSong(); + I_UnRegisterSong(mus_playing->handle); + W_ReleaseLumpNum(mus_playing->lumpnum); + mus_playing->data = NULL; + mus_playing = NULL; + } +} + diff --git a/src/kernel/userland/doom/s_sound.h b/src/kernel/userland/doom/s_sound.h new file mode 100644 index 0000000..bbd100a --- /dev/null +++ b/src/kernel/userland/doom/s_sound.h @@ -0,0 +1,89 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// The not so system specific sound interface. +// + + +#ifndef __S_SOUND__ +#define __S_SOUND__ + +#include "p_mobj.h" +#include "sounds.h" + +// +// Initializes sound stuff, including volume +// Sets channels, SFX and music volume, +// allocates channel buffer, sets S_sfx lookup. +// + +void S_Init(int sfxVolume, int musicVolume); + + +// Shut down sound + +void S_Shutdown(void); + + + +// +// Per level startup code. +// Kills playing sounds at start of level, +// determines music if any, changes music. +// + +void S_Start(void); + +// +// Start sound for thing at +// using from sounds.h +// + +void S_StartSound(void *origin, int sound_id); + +// Stop sound for thing at +void S_StopSound(mobj_t *origin); + + +// Start music using from sounds.h +void S_StartMusic(int music_id); + +// Start music using from sounds.h, +// and set whether looping +void S_ChangeMusic(int music_id, int looping); + +// query if music is playing +boolean S_MusicPlaying(void); + +// Stops the music fer sure. +void S_StopMusic(void); + +// Stop and resume music, during game PAUSE. +void S_PauseSound(void); +void S_ResumeSound(void); + + +// +// Updates music & sounds +// +void S_UpdateSounds(mobj_t *listener); + +void S_SetMusicVolume(int volume); +void S_SetSfxVolume(int volume); + +extern int snd_channels; + +#endif + diff --git a/src/kernel/userland/doom/sha1.c b/src/kernel/userland/doom/sha1.c new file mode 100644 index 0000000..06ab40a --- /dev/null +++ b/src/kernel/userland/doom/sha1.c @@ -0,0 +1,319 @@ +/* sha1.c - SHA1 hash function + * Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. + * + * Please see below for more legal information! + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + + +/* Test vectors: + * + * "abc" + * A999 3E36 4706 816A BA3E 2571 7850 C26C 9CD0 D89D + * + * "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" + * 8498 3E44 1C3B D26E BAAE 4AA1 F951 29E5 E546 70F1 + */ + +#include +#include +#include +#include + +#include "i_swap.h" +#include "sha1.h" + +void SHA1_Init(sha1_context_t *hd) +{ + hd->h0 = 0x67452301; + hd->h1 = 0xefcdab89; + hd->h2 = 0x98badcfe; + hd->h3 = 0x10325476; + hd->h4 = 0xc3d2e1f0; + hd->nblocks = 0; + hd->count = 0; +} + + +/**************** + * Transform the message X which consists of 16 32-bit-words + */ +static void Transform(sha1_context_t *hd, byte *data) +{ + uint32_t a,b,c,d,e,tm; + uint32_t x[16]; + + /* get values from the chaining vars */ + a = hd->h0; + b = hd->h1; + c = hd->h2; + d = hd->h3; + e = hd->h4; + +#ifdef SYS_BIG_ENDIAN + memcpy(x, data, 64); +#else + { + int i; + byte *p2; + for(i=0, p2=(byte*)x; i < 16; i++, p2 += 4 ) + { + p2[3] = *data++; + p2[2] = *data++; + p2[1] = *data++; + p2[0] = *data++; + } + } +#endif + + +#define K1 0x5A827999L +#define K2 0x6ED9EBA1L +#define K3 0x8F1BBCDCL +#define K4 0xCA62C1D6L +#define F1(x,y,z) ( z ^ ( x & ( y ^ z ) ) ) +#define F2(x,y,z) ( x ^ y ^ z ) +#define F3(x,y,z) ( ( x & y ) | ( z & ( x | y ) ) ) +#define F4(x,y,z) ( x ^ y ^ z ) + +#define rol(x,n) ( ((x) << (n)) | ((x) >> (32-(n))) ) + +#define M(i) ( tm = x[i&0x0f] ^ x[(i-14)&0x0f] \ + ^ x[(i-8)&0x0f] ^ x[(i-3)&0x0f] \ + , (x[i&0x0f] = rol(tm,1)) ) + +#define R(a,b,c,d,e,f,k,m) do { e += rol( a, 5 ) \ + + f( b, c, d ) \ + + k \ + + m; \ + b = rol( b, 30 ); \ + } while(0) + R( a, b, c, d, e, F1, K1, x[ 0] ); + R( e, a, b, c, d, F1, K1, x[ 1] ); + R( d, e, a, b, c, F1, K1, x[ 2] ); + R( c, d, e, a, b, F1, K1, x[ 3] ); + R( b, c, d, e, a, F1, K1, x[ 4] ); + R( a, b, c, d, e, F1, K1, x[ 5] ); + R( e, a, b, c, d, F1, K1, x[ 6] ); + R( d, e, a, b, c, F1, K1, x[ 7] ); + R( c, d, e, a, b, F1, K1, x[ 8] ); + R( b, c, d, e, a, F1, K1, x[ 9] ); + R( a, b, c, d, e, F1, K1, x[10] ); + R( e, a, b, c, d, F1, K1, x[11] ); + R( d, e, a, b, c, F1, K1, x[12] ); + R( c, d, e, a, b, F1, K1, x[13] ); + R( b, c, d, e, a, F1, K1, x[14] ); + R( a, b, c, d, e, F1, K1, x[15] ); + R( e, a, b, c, d, F1, K1, M(16) ); + R( d, e, a, b, c, F1, K1, M(17) ); + R( c, d, e, a, b, F1, K1, M(18) ); + R( b, c, d, e, a, F1, K1, M(19) ); + R( a, b, c, d, e, F2, K2, M(20) ); + R( e, a, b, c, d, F2, K2, M(21) ); + R( d, e, a, b, c, F2, K2, M(22) ); + R( c, d, e, a, b, F2, K2, M(23) ); + R( b, c, d, e, a, F2, K2, M(24) ); + R( a, b, c, d, e, F2, K2, M(25) ); + R( e, a, b, c, d, F2, K2, M(26) ); + R( d, e, a, b, c, F2, K2, M(27) ); + R( c, d, e, a, b, F2, K2, M(28) ); + R( b, c, d, e, a, F2, K2, M(29) ); + R( a, b, c, d, e, F2, K2, M(30) ); + R( e, a, b, c, d, F2, K2, M(31) ); + R( d, e, a, b, c, F2, K2, M(32) ); + R( c, d, e, a, b, F2, K2, M(33) ); + R( b, c, d, e, a, F2, K2, M(34) ); + R( a, b, c, d, e, F2, K2, M(35) ); + R( e, a, b, c, d, F2, K2, M(36) ); + R( d, e, a, b, c, F2, K2, M(37) ); + R( c, d, e, a, b, F2, K2, M(38) ); + R( b, c, d, e, a, F2, K2, M(39) ); + R( a, b, c, d, e, F3, K3, M(40) ); + R( e, a, b, c, d, F3, K3, M(41) ); + R( d, e, a, b, c, F3, K3, M(42) ); + R( c, d, e, a, b, F3, K3, M(43) ); + R( b, c, d, e, a, F3, K3, M(44) ); + R( a, b, c, d, e, F3, K3, M(45) ); + R( e, a, b, c, d, F3, K3, M(46) ); + R( d, e, a, b, c, F3, K3, M(47) ); + R( c, d, e, a, b, F3, K3, M(48) ); + R( b, c, d, e, a, F3, K3, M(49) ); + R( a, b, c, d, e, F3, K3, M(50) ); + R( e, a, b, c, d, F3, K3, M(51) ); + R( d, e, a, b, c, F3, K3, M(52) ); + R( c, d, e, a, b, F3, K3, M(53) ); + R( b, c, d, e, a, F3, K3, M(54) ); + R( a, b, c, d, e, F3, K3, M(55) ); + R( e, a, b, c, d, F3, K3, M(56) ); + R( d, e, a, b, c, F3, K3, M(57) ); + R( c, d, e, a, b, F3, K3, M(58) ); + R( b, c, d, e, a, F3, K3, M(59) ); + R( a, b, c, d, e, F4, K4, M(60) ); + R( e, a, b, c, d, F4, K4, M(61) ); + R( d, e, a, b, c, F4, K4, M(62) ); + R( c, d, e, a, b, F4, K4, M(63) ); + R( b, c, d, e, a, F4, K4, M(64) ); + R( a, b, c, d, e, F4, K4, M(65) ); + R( e, a, b, c, d, F4, K4, M(66) ); + R( d, e, a, b, c, F4, K4, M(67) ); + R( c, d, e, a, b, F4, K4, M(68) ); + R( b, c, d, e, a, F4, K4, M(69) ); + R( a, b, c, d, e, F4, K4, M(70) ); + R( e, a, b, c, d, F4, K4, M(71) ); + R( d, e, a, b, c, F4, K4, M(72) ); + R( c, d, e, a, b, F4, K4, M(73) ); + R( b, c, d, e, a, F4, K4, M(74) ); + R( a, b, c, d, e, F4, K4, M(75) ); + R( e, a, b, c, d, F4, K4, M(76) ); + R( d, e, a, b, c, F4, K4, M(77) ); + R( c, d, e, a, b, F4, K4, M(78) ); + R( b, c, d, e, a, F4, K4, M(79) ); + + /* update chainig vars */ + hd->h0 += a; + hd->h1 += b; + hd->h2 += c; + hd->h3 += d; + hd->h4 += e; +} + + +/* Update the message digest with the contents + * of INBUF with length INLEN. + */ +void SHA1_Update(sha1_context_t *hd, byte *inbuf, size_t inlen) +{ + if (hd->count == 64) + { + /* flush the buffer */ + Transform(hd, hd->buf); + hd->count = 0; + hd->nblocks++; + } + if (!inbuf) + return; + if (hd->count) + { + for (; inlen && hd->count < 64; inlen--) + hd->buf[hd->count++] = *inbuf++; + SHA1_Update(hd, NULL, 0); + if (!inlen) + return; + } + + while (inlen >= 64) + { + Transform(hd, inbuf); + hd->count = 0; + hd->nblocks++; + inlen -= 64; + inbuf += 64; + } + for (; inlen && hd->count < 64; inlen--) + hd->buf[hd->count++] = *inbuf++; +} + + +/* The routine final terminates the computation and + * returns the digest. + * The handle is prepared for a new cycle, but adding bytes to the + * handle will the destroy the returned buffer. + * Returns: 20 bytes representing the digest. + */ + +void SHA1_Final(sha1_digest_t digest, sha1_context_t *hd) +{ + uint32_t t, msb, lsb; + byte *p; + + SHA1_Update(hd, NULL, 0); /* flush */; + + t = hd->nblocks; + /* multiply by 64 to make a byte count */ + lsb = t << 6; + msb = t >> 26; + /* add the count */ + t = lsb; + if ((lsb += hd->count) < t) + msb++; + /* multiply by 8 to make a bit count */ + t = lsb; + lsb <<= 3; + msb <<= 3; + msb |= t >> 29; + + if (hd->count < 56) + { + /* enough room */ + hd->buf[hd->count++] = 0x80; /* pad */ + while (hd->count < 56) + hd->buf[hd->count++] = 0; /* pad */ + } + else + { + /* need one extra block */ + hd->buf[hd->count++] = 0x80; /* pad character */ + while (hd->count < 64) + hd->buf[hd->count++] = 0; + SHA1_Update(hd, NULL, 0); /* flush */; + memset(hd->buf, 0, 56 ); /* fill next block with zeroes */ + } + /* append the 64 bit count */ + hd->buf[56] = msb >> 24; + hd->buf[57] = msb >> 16; + hd->buf[58] = msb >> 8; + hd->buf[59] = msb ; + hd->buf[60] = lsb >> 24; + hd->buf[61] = lsb >> 16; + hd->buf[62] = lsb >> 8; + hd->buf[63] = lsb ; + Transform(hd, hd->buf); + + p = hd->buf; +#ifdef SYS_BIG_ENDIAN +#define X(a) do { *(uint32_t*)p = hd->h##a ; p += 4; } while(0) +#else /* little endian */ +#define X(a) do { *p++ = hd->h##a >> 24; *p++ = hd->h##a >> 16; \ + *p++ = hd->h##a >> 8; *p++ = hd->h##a; } while(0) +#endif + X(0); + X(1); + X(2); + X(3); + X(4); +#undef X + + memcpy(digest, hd->buf, sizeof(sha1_digest_t)); +} + +void SHA1_UpdateInt32(sha1_context_t *context, unsigned int val) +{ + byte buf[4]; + + buf[0] = (val >> 24) & 0xff; + buf[1] = (val >> 16) & 0xff; + buf[2] = (val >> 8) & 0xff; + buf[3] = val & 0xff; + + SHA1_Update(context, buf, 4); +} + +void SHA1_UpdateString(sha1_context_t *context, char *str) +{ + SHA1_Update(context, (byte *) str, strlen(str) + 1); +} + diff --git a/src/kernel/userland/doom/sha1.h b/src/kernel/userland/doom/sha1.h new file mode 100644 index 0000000..249571b --- /dev/null +++ b/src/kernel/userland/doom/sha1.h @@ -0,0 +1,40 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// SHA-1 digest. +// + +#ifndef __SHA1_H__ +#define __SHA1_H__ + +#include "doomtype.h" + +typedef struct sha1_context_s sha1_context_t; +typedef byte sha1_digest_t[20]; + +struct sha1_context_s { + uint32_t h0,h1,h2,h3,h4; + uint32_t nblocks; + byte buf[64]; + int count; +}; + +void SHA1_Init(sha1_context_t *context); +void SHA1_Update(sha1_context_t *context, byte *buf, size_t len); +void SHA1_Final(sha1_digest_t digest, sha1_context_t *context); +void SHA1_UpdateInt32(sha1_context_t *context, unsigned int val); +void SHA1_UpdateString(sha1_context_t *context, char *str); + +#endif /* #ifndef __SHA1_H__ */ + diff --git a/src/kernel/userland/doom/sounds.c b/src/kernel/userland/doom/sounds.c new file mode 100644 index 0000000..e976bc8 --- /dev/null +++ b/src/kernel/userland/doom/sounds.c @@ -0,0 +1,229 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Created by a sound utility. +// Kept as a sample, DOOM2 sounds. +// + + +#include + + +#include "doomtype.h" +#include "sounds.h" + +// +// Information about all the music +// + +#define MUSIC(name) \ + { name, 0, NULL, NULL } + +musicinfo_t S_music[] = +{ + MUSIC(NULL), + MUSIC("e1m1"), + MUSIC("e1m2"), + MUSIC("e1m3"), + MUSIC("e1m4"), + MUSIC("e1m5"), + MUSIC("e1m6"), + MUSIC("e1m7"), + MUSIC("e1m8"), + MUSIC("e1m9"), + MUSIC("e2m1"), + MUSIC("e2m2"), + MUSIC("e2m3"), + MUSIC("e2m4"), + MUSIC("e2m5"), + MUSIC("e2m6"), + MUSIC("e2m7"), + MUSIC("e2m8"), + MUSIC("e2m9"), + MUSIC("e3m1"), + MUSIC("e3m2"), + MUSIC("e3m3"), + MUSIC("e3m4"), + MUSIC("e3m5"), + MUSIC("e3m6"), + MUSIC("e3m7"), + MUSIC("e3m8"), + MUSIC("e3m9"), + MUSIC("inter"), + MUSIC("intro"), + MUSIC("bunny"), + MUSIC("victor"), + MUSIC("introa"), + MUSIC("runnin"), + MUSIC("stalks"), + MUSIC("countd"), + MUSIC("betwee"), + MUSIC("doom"), + MUSIC("the_da"), + MUSIC("shawn"), + MUSIC("ddtblu"), + MUSIC("in_cit"), + MUSIC("dead"), + MUSIC("stlks2"), + MUSIC("theda2"), + MUSIC("doom2"), + MUSIC("ddtbl2"), + MUSIC("runni2"), + MUSIC("dead2"), + MUSIC("stlks3"), + MUSIC("romero"), + MUSIC("shawn2"), + MUSIC("messag"), + MUSIC("count2"), + MUSIC("ddtbl3"), + MUSIC("ampie"), + MUSIC("theda3"), + MUSIC("adrian"), + MUSIC("messg2"), + MUSIC("romer2"), + MUSIC("tense"), + MUSIC("shawn3"), + MUSIC("openin"), + MUSIC("evil"), + MUSIC("ultima"), + MUSIC("read_m"), + MUSIC("dm2ttl"), + MUSIC("dm2int") +}; + + +// +// Information about all the sfx +// + +#define SOUND(name, priority) \ + { NULL, name, priority, NULL, -1, -1, 0, 0, -1, NULL } +#define SOUND_LINK(name, priority, link_id, pitch, volume) \ + { NULL, name, priority, &S_sfx[link_id], pitch, volume, 0, 0, -1, NULL } + +sfxinfo_t S_sfx[] = +{ + // S_sfx[0] needs to be a dummy for odd reasons. + SOUND("none", 0), + SOUND("pistol", 64), + SOUND("shotgn", 64), + SOUND("sgcock", 64), + SOUND("dshtgn", 64), + SOUND("dbopn", 64), + SOUND("dbcls", 64), + SOUND("dbload", 64), + SOUND("plasma", 64), + SOUND("bfg", 64), + SOUND("sawup", 64), + SOUND("sawidl", 118), + SOUND("sawful", 64), + SOUND("sawhit", 64), + SOUND("rlaunc", 64), + SOUND("rxplod", 70), + SOUND("firsht", 70), + SOUND("firxpl", 70), + SOUND("pstart", 100), + SOUND("pstop", 100), + SOUND("doropn", 100), + SOUND("dorcls", 100), + SOUND("stnmov", 119), + SOUND("swtchn", 78), + SOUND("swtchx", 78), + SOUND("plpain", 96), + SOUND("dmpain", 96), + SOUND("popain", 96), + SOUND("vipain", 96), + SOUND("mnpain", 96), + SOUND("pepain", 96), + SOUND("slop", 78), + SOUND("itemup", 78), + SOUND("wpnup", 78), + SOUND("oof", 96), + SOUND("telept", 32), + SOUND("posit1", 98), + SOUND("posit2", 98), + SOUND("posit3", 98), + SOUND("bgsit1", 98), + SOUND("bgsit2", 98), + SOUND("sgtsit", 98), + SOUND("cacsit", 98), + SOUND("brssit", 94), + SOUND("cybsit", 92), + SOUND("spisit", 90), + SOUND("bspsit", 90), + SOUND("kntsit", 90), + SOUND("vilsit", 90), + SOUND("mansit", 90), + SOUND("pesit", 90), + SOUND("sklatk", 70), + SOUND("sgtatk", 70), + SOUND("skepch", 70), + SOUND("vilatk", 70), + SOUND("claw", 70), + SOUND("skeswg", 70), + SOUND("pldeth", 32), + SOUND("pdiehi", 32), + SOUND("podth1", 70), + SOUND("podth2", 70), + SOUND("podth3", 70), + SOUND("bgdth1", 70), + SOUND("bgdth2", 70), + SOUND("sgtdth", 70), + SOUND("cacdth", 70), + SOUND("skldth", 70), + SOUND("brsdth", 32), + SOUND("cybdth", 32), + SOUND("spidth", 32), + SOUND("bspdth", 32), + SOUND("vildth", 32), + SOUND("kntdth", 32), + SOUND("pedth", 32), + SOUND("skedth", 32), + SOUND("posact", 120), + SOUND("bgact", 120), + SOUND("dmact", 120), + SOUND("bspact", 100), + SOUND("bspwlk", 100), + SOUND("vilact", 100), + SOUND("noway", 78), + SOUND("barexp", 60), + SOUND("punch", 64), + SOUND("hoof", 70), + SOUND("metal", 70), + SOUND_LINK("chgun", 64, sfx_pistol, 150, 0), + SOUND("tink", 60), + SOUND("bdopn", 100), + SOUND("bdcls", 100), + SOUND("itmbk", 100), + SOUND("flame", 32), + SOUND("flamst", 32), + SOUND("getpow", 60), + SOUND("bospit", 70), + SOUND("boscub", 70), + SOUND("bossit", 70), + SOUND("bospn", 70), + SOUND("bosdth", 70), + SOUND("manatk", 70), + SOUND("mandth", 70), + SOUND("sssit", 70), + SOUND("ssdth", 70), + SOUND("keenpn", 70), + SOUND("keendt", 70), + SOUND("skeact", 70), + SOUND("skesit", 70), + SOUND("skeatk", 70), + SOUND("radio", 60), +}; + diff --git a/src/kernel/userland/doom/sounds.h b/src/kernel/userland/doom/sounds.h new file mode 100644 index 0000000..1e8afc4 --- /dev/null +++ b/src/kernel/userland/doom/sounds.h @@ -0,0 +1,227 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Created by the sound utility written by Dave Taylor. +// Kept as a sample, DOOM2 sounds. Frozen. +// + +#ifndef __SOUNDS__ +#define __SOUNDS__ + +#include "i_sound.h" + +// the complete set of sound effects +extern sfxinfo_t S_sfx[]; + +// the complete set of music +extern musicinfo_t S_music[]; + +// +// Identifiers for all music in game. +// + +typedef enum +{ + mus_None, + mus_e1m1, + mus_e1m2, + mus_e1m3, + mus_e1m4, + mus_e1m5, + mus_e1m6, + mus_e1m7, + mus_e1m8, + mus_e1m9, + mus_e2m1, + mus_e2m2, + mus_e2m3, + mus_e2m4, + mus_e2m5, + mus_e2m6, + mus_e2m7, + mus_e2m8, + mus_e2m9, + mus_e3m1, + mus_e3m2, + mus_e3m3, + mus_e3m4, + mus_e3m5, + mus_e3m6, + mus_e3m7, + mus_e3m8, + mus_e3m9, + mus_inter, + mus_intro, + mus_bunny, + mus_victor, + mus_introa, + mus_runnin, + mus_stalks, + mus_countd, + mus_betwee, + mus_doom, + mus_the_da, + mus_shawn, + mus_ddtblu, + mus_in_cit, + mus_dead, + mus_stlks2, + mus_theda2, + mus_doom2, + mus_ddtbl2, + mus_runni2, + mus_dead2, + mus_stlks3, + mus_romero, + mus_shawn2, + mus_messag, + mus_count2, + mus_ddtbl3, + mus_ampie, + mus_theda3, + mus_adrian, + mus_messg2, + mus_romer2, + mus_tense, + mus_shawn3, + mus_openin, + mus_evil, + mus_ultima, + mus_read_m, + mus_dm2ttl, + mus_dm2int, + NUMMUSIC +} musicenum_t; + + +// +// Identifiers for all sfx in game. +// + +typedef enum +{ + sfx_None, + sfx_pistol, + sfx_shotgn, + sfx_sgcock, + sfx_dshtgn, + sfx_dbopn, + sfx_dbcls, + sfx_dbload, + sfx_plasma, + sfx_bfg, + sfx_sawup, + sfx_sawidl, + sfx_sawful, + sfx_sawhit, + sfx_rlaunc, + sfx_rxplod, + sfx_firsht, + sfx_firxpl, + sfx_pstart, + sfx_pstop, + sfx_doropn, + sfx_dorcls, + sfx_stnmov, + sfx_swtchn, + sfx_swtchx, + sfx_plpain, + sfx_dmpain, + sfx_popain, + sfx_vipain, + sfx_mnpain, + sfx_pepain, + sfx_slop, + sfx_itemup, + sfx_wpnup, + sfx_oof, + sfx_telept, + sfx_posit1, + sfx_posit2, + sfx_posit3, + sfx_bgsit1, + sfx_bgsit2, + sfx_sgtsit, + sfx_cacsit, + sfx_brssit, + sfx_cybsit, + sfx_spisit, + sfx_bspsit, + sfx_kntsit, + sfx_vilsit, + sfx_mansit, + sfx_pesit, + sfx_sklatk, + sfx_sgtatk, + sfx_skepch, + sfx_vilatk, + sfx_claw, + sfx_skeswg, + sfx_pldeth, + sfx_pdiehi, + sfx_podth1, + sfx_podth2, + sfx_podth3, + sfx_bgdth1, + sfx_bgdth2, + sfx_sgtdth, + sfx_cacdth, + sfx_skldth, + sfx_brsdth, + sfx_cybdth, + sfx_spidth, + sfx_bspdth, + sfx_vildth, + sfx_kntdth, + sfx_pedth, + sfx_skedth, + sfx_posact, + sfx_bgact, + sfx_dmact, + sfx_bspact, + sfx_bspwlk, + sfx_vilact, + sfx_noway, + sfx_barexp, + sfx_punch, + sfx_hoof, + sfx_metal, + sfx_chgun, + sfx_tink, + sfx_bdopn, + sfx_bdcls, + sfx_itmbk, + sfx_flame, + sfx_flamst, + sfx_getpow, + sfx_bospit, + sfx_boscub, + sfx_bossit, + sfx_bospn, + sfx_bosdth, + sfx_manatk, + sfx_mandth, + sfx_sssit, + sfx_ssdth, + sfx_keenpn, + sfx_keendt, + sfx_skeact, + sfx_skesit, + sfx_skeatk, + sfx_radio, + NUMSFX +} sfxenum_t; + +#endif diff --git a/src/kernel/userland/doom/st_lib.c b/src/kernel/userland/doom/st_lib.c new file mode 100644 index 0000000..7ce978d --- /dev/null +++ b/src/kernel/userland/doom/st_lib.c @@ -0,0 +1,284 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// The status bar widget code. +// + + +#include +#include + +#include "deh_main.h" +#include "doomdef.h" + +#include "z_zone.h" +#include "v_video.h" + +#include "i_swap.h" +#include "i_system.h" + +#include "w_wad.h" + +#include "st_stuff.h" +#include "st_lib.h" +#include "r_local.h" + + +// in AM_map.c +extern boolean automapactive; + + + + +// +// Hack display negative frags. +// Loads and store the stminus lump. +// +patch_t* sttminus; + +void STlib_init(void) +{ + sttminus = (patch_t *) W_CacheLumpName(DEH_String("STTMINUS"), PU_STATIC); +} + + +// ? +void +STlib_initNum +( st_number_t* n, + int x, + int y, + patch_t** pl, + int* num, + boolean* on, + int width ) +{ + n->x = x; + n->y = y; + n->oldnum = 0; + n->width = width; + n->num = num; + n->on = on; + n->p = pl; +} + + +// +// A fairly efficient way to draw a number +// based on differences from the old number. +// Note: worth the trouble? +// +void +STlib_drawNum +( st_number_t* n, + boolean refresh ) +{ + + int numdigits = n->width; + int num = *n->num; + + int w = SHORT(n->p[0]->width); + int h = SHORT(n->p[0]->height); + int x = n->x; + + int neg; + + n->oldnum = *n->num; + + neg = num < 0; + + if (neg) + { + if (numdigits == 2 && num < -9) + num = -9; + else if (numdigits == 3 && num < -99) + num = -99; + + num = -num; + } + + // clear the area + x = n->x - numdigits*w; + + if (n->y - ST_Y < 0) + I_Error("drawNum: n->y - ST_Y < 0"); + + V_CopyRect(x, n->y - ST_Y, st_backing_screen, w*numdigits, h, x, n->y); + + // if non-number, do not draw it + if (num == 1994) + return; + + x = n->x; + + // in the special case of 0, you draw 0 + if (!num) + V_DrawPatch(x - w, n->y, n->p[ 0 ]); + + // draw the new number + while (num && numdigits--) + { + x -= w; + V_DrawPatch(x, n->y, n->p[ num % 10 ]); + num /= 10; + } + + // draw a minus sign if necessary + if (neg) + V_DrawPatch(x - 8, n->y, sttminus); +} + + +// +void +STlib_updateNum +( st_number_t* n, + boolean refresh ) +{ + if (*n->on) STlib_drawNum(n, refresh); +} + + +// +void +STlib_initPercent +( st_percent_t* p, + int x, + int y, + patch_t** pl, + int* num, + boolean* on, + patch_t* percent ) +{ + STlib_initNum(&p->n, x, y, pl, num, on, 3); + p->p = percent; +} + + + + +void +STlib_updatePercent +( st_percent_t* per, + int refresh ) +{ + if (refresh && *per->n.on) + V_DrawPatch(per->n.x, per->n.y, per->p); + + STlib_updateNum(&per->n, refresh); +} + + + +void +STlib_initMultIcon +( st_multicon_t* i, + int x, + int y, + patch_t** il, + int* inum, + boolean* on ) +{ + i->x = x; + i->y = y; + i->oldinum = -1; + i->inum = inum; + i->on = on; + i->p = il; +} + + + +void +STlib_updateMultIcon +( st_multicon_t* mi, + boolean refresh ) +{ + int w; + int h; + int x; + int y; + + if (*mi->on && (mi->oldinum != *mi->inum || refresh) && (*mi->inum != -1)) + { + if (mi->oldinum != -1) + { + x = mi->x - SHORT(mi->p[mi->oldinum]->leftoffset); + y = mi->y - SHORT(mi->p[mi->oldinum]->topoffset); + w = SHORT(mi->p[mi->oldinum]->width); + h = SHORT(mi->p[mi->oldinum]->height); + + if (y - ST_Y < 0) + I_Error("updateMultIcon: y - ST_Y < 0"); + + V_CopyRect(x, y-ST_Y, st_backing_screen, w, h, x, y); + } + V_DrawPatch(mi->x, mi->y, mi->p[*mi->inum]); + mi->oldinum = *mi->inum; + } +} + + + +void +STlib_initBinIcon +( st_binicon_t* b, + int x, + int y, + patch_t* i, + boolean* val, + boolean* on ) +{ + b->x = x; + b->y = y; + b->oldval = false; + b->val = val; + b->on = on; + b->p = i; +} + + + +void +STlib_updateBinIcon +( st_binicon_t* bi, + boolean refresh ) +{ + int x; + int y; + int w; + int h; + + if (*bi->on + && (bi->oldval != *bi->val || refresh)) + { + x = bi->x - SHORT(bi->p->leftoffset); + y = bi->y - SHORT(bi->p->topoffset); + w = SHORT(bi->p->width); + h = SHORT(bi->p->height); + + if (y - ST_Y < 0) + I_Error("updateBinIcon: y - ST_Y < 0"); + + if (*bi->val) + V_DrawPatch(bi->x, bi->y, bi->p); + else + V_CopyRect(x, y-ST_Y, st_backing_screen, w, h, x, y); + + bi->oldval = *bi->val; + } + +} + diff --git a/src/kernel/userland/doom/st_lib.h b/src/kernel/userland/doom/st_lib.h new file mode 100644 index 0000000..3a8f521 --- /dev/null +++ b/src/kernel/userland/doom/st_lib.h @@ -0,0 +1,209 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// The status bar widget code. +// + +#ifndef __STLIB__ +#define __STLIB__ + + +// We are referring to patches. +#include "r_defs.h" + +// +// Typedefs of widgets +// + +// Number widget + +typedef struct +{ + // upper right-hand corner + // of the number (right-justified) + int x; + int y; + + // max # of digits in number + int width; + + // last number value + int oldnum; + + // pointer to current value + int* num; + + // pointer to boolean stating + // whether to update number + boolean* on; + + // list of patches for 0-9 + patch_t** p; + + // user data + int data; + +} st_number_t; + + + +// Percent widget ("child" of number widget, +// or, more precisely, contains a number widget.) +typedef struct +{ + // number information + st_number_t n; + + // percent sign graphic + patch_t* p; + +} st_percent_t; + + + +// Multiple Icon widget +typedef struct +{ + // center-justified location of icons + int x; + int y; + + // last icon number + int oldinum; + + // pointer to current icon + int* inum; + + // pointer to boolean stating + // whether to update icon + boolean* on; + + // list of icons + patch_t** p; + + // user data + int data; + +} st_multicon_t; + + + + +// Binary Icon widget + +typedef struct +{ + // center-justified location of icon + int x; + int y; + + // last icon value + boolean oldval; + + // pointer to current icon status + boolean* val; + + // pointer to boolean + // stating whether to update icon + boolean* on; + + + patch_t* p; // icon + int data; // user data + +} st_binicon_t; + + + +// +// Widget creation, access, and update routines +// + +// Initializes widget library. +// More precisely, initialize STMINUS, +// everything else is done somewhere else. +// +void STlib_init(void); + + + +// Number widget routines +void +STlib_initNum +( st_number_t* n, + int x, + int y, + patch_t** pl, + int* num, + boolean* on, + int width ); + +void +STlib_updateNum +( st_number_t* n, + boolean refresh ); + + +// Percent widget routines +void +STlib_initPercent +( st_percent_t* p, + int x, + int y, + patch_t** pl, + int* num, + boolean* on, + patch_t* percent ); + + +void +STlib_updatePercent +( st_percent_t* per, + int refresh ); + + +// Multiple Icon widget routines +void +STlib_initMultIcon +( st_multicon_t* mi, + int x, + int y, + patch_t** il, + int* inum, + boolean* on ); + + +void +STlib_updateMultIcon +( st_multicon_t* mi, + boolean refresh ); + +// Binary Icon widget routines + +void +STlib_initBinIcon +( st_binicon_t* b, + int x, + int y, + patch_t* i, + boolean* val, + boolean* on ); + +void +STlib_updateBinIcon +( st_binicon_t* bi, + boolean refresh ); + +#endif diff --git a/src/kernel/userland/doom/st_stuff.c b/src/kernel/userland/doom/st_stuff.c new file mode 100644 index 0000000..e25accc --- /dev/null +++ b/src/kernel/userland/doom/st_stuff.c @@ -0,0 +1,1416 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Status bar code. +// Does the face/direction indicator animatin. +// Does palette indicators as well (red pain/berserk, bright pickup) +// + + + +#include + +#include "i_system.h" +#include "i_video.h" +#include "z_zone.h" +#include "m_misc.h" +#include "m_random.h" +#include "w_wad.h" + +#include "deh_main.h" +#include "deh_misc.h" +#include "doomdef.h" +#include "doomkeys.h" + +#include "g_game.h" + +#include "st_stuff.h" +#include "st_lib.h" +#include "r_local.h" + +#include "p_local.h" +#include "p_inter.h" + +#include "am_map.h" +#include "m_cheat.h" + +#include "s_sound.h" + +// Needs access to LFB. +#include "v_video.h" + +// State. +#include "doomstat.h" + +// Data. +#include "dstrings.h" +#include "sounds.h" + +// +// STATUS BAR DATA +// + + +// Palette indices. +// For damage/bonus red-/gold-shifts +#define STARTREDPALS 1 +#define STARTBONUSPALS 9 +#define NUMREDPALS 8 +#define NUMBONUSPALS 4 +// Radiation suit, green shift. +#define RADIATIONPAL 13 + +// N/256*100% probability +// that the normal face state will change +#define ST_FACEPROBABILITY 96 + +// For Responder +#define ST_TOGGLECHAT KEY_ENTER + +// Location of status bar +#define ST_X 0 +#define ST_X2 104 + +#define ST_FX 143 +#define ST_FY 169 + +// Should be set to patch width +// for tall numbers later on +#define ST_TALLNUMWIDTH (tallnum[0]->width) + +// Number of status faces. +#define ST_NUMPAINFACES 5 +#define ST_NUMSTRAIGHTFACES 3 +#define ST_NUMTURNFACES 2 +#define ST_NUMSPECIALFACES 3 + +#define ST_FACESTRIDE \ + (ST_NUMSTRAIGHTFACES+ST_NUMTURNFACES+ST_NUMSPECIALFACES) + +#define ST_NUMEXTRAFACES 2 + +#define ST_NUMFACES \ + (ST_FACESTRIDE*ST_NUMPAINFACES+ST_NUMEXTRAFACES) + +#define ST_TURNOFFSET (ST_NUMSTRAIGHTFACES) +#define ST_OUCHOFFSET (ST_TURNOFFSET + ST_NUMTURNFACES) +#define ST_EVILGRINOFFSET (ST_OUCHOFFSET + 1) +#define ST_RAMPAGEOFFSET (ST_EVILGRINOFFSET + 1) +#define ST_GODFACE (ST_NUMPAINFACES*ST_FACESTRIDE) +#define ST_DEADFACE (ST_GODFACE+1) + +#define ST_FACESX 143 +#define ST_FACESY 168 + +#define ST_EVILGRINCOUNT (2*TICRATE) +#define ST_STRAIGHTFACECOUNT (TICRATE/2) +#define ST_TURNCOUNT (1*TICRATE) +#define ST_OUCHCOUNT (1*TICRATE) +#define ST_RAMPAGEDELAY (2*TICRATE) + +#define ST_MUCHPAIN 20 + + +// Location and size of statistics, +// justified according to widget type. +// Problem is, within which space? STbar? Screen? +// Note: this could be read in by a lump. +// Problem is, is the stuff rendered +// into a buffer, +// or into the frame buffer? + +// AMMO number pos. +#define ST_AMMOWIDTH 3 +#define ST_AMMOX 44 +#define ST_AMMOY 171 + +// HEALTH number pos. +#define ST_HEALTHWIDTH 3 +#define ST_HEALTHX 90 +#define ST_HEALTHY 171 + +// Weapon pos. +#define ST_ARMSX 111 +#define ST_ARMSY 172 +#define ST_ARMSBGX 104 +#define ST_ARMSBGY 168 +#define ST_ARMSXSPACE 12 +#define ST_ARMSYSPACE 10 + +// Frags pos. +#define ST_FRAGSX 138 +#define ST_FRAGSY 171 +#define ST_FRAGSWIDTH 2 + +// ARMOR number pos. +#define ST_ARMORWIDTH 3 +#define ST_ARMORX 221 +#define ST_ARMORY 171 + +// Key icon positions. +#define ST_KEY0WIDTH 8 +#define ST_KEY0HEIGHT 5 +#define ST_KEY0X 239 +#define ST_KEY0Y 171 +#define ST_KEY1WIDTH ST_KEY0WIDTH +#define ST_KEY1X 239 +#define ST_KEY1Y 181 +#define ST_KEY2WIDTH ST_KEY0WIDTH +#define ST_KEY2X 239 +#define ST_KEY2Y 191 + +// Ammunition counter. +#define ST_AMMO0WIDTH 3 +#define ST_AMMO0HEIGHT 6 +#define ST_AMMO0X 288 +#define ST_AMMO0Y 173 +#define ST_AMMO1WIDTH ST_AMMO0WIDTH +#define ST_AMMO1X 288 +#define ST_AMMO1Y 179 +#define ST_AMMO2WIDTH ST_AMMO0WIDTH +#define ST_AMMO2X 288 +#define ST_AMMO2Y 191 +#define ST_AMMO3WIDTH ST_AMMO0WIDTH +#define ST_AMMO3X 288 +#define ST_AMMO3Y 185 + +// Indicate maximum ammunition. +// Only needed because backpack exists. +#define ST_MAXAMMO0WIDTH 3 +#define ST_MAXAMMO0HEIGHT 5 +#define ST_MAXAMMO0X 314 +#define ST_MAXAMMO0Y 173 +#define ST_MAXAMMO1WIDTH ST_MAXAMMO0WIDTH +#define ST_MAXAMMO1X 314 +#define ST_MAXAMMO1Y 179 +#define ST_MAXAMMO2WIDTH ST_MAXAMMO0WIDTH +#define ST_MAXAMMO2X 314 +#define ST_MAXAMMO2Y 191 +#define ST_MAXAMMO3WIDTH ST_MAXAMMO0WIDTH +#define ST_MAXAMMO3X 314 +#define ST_MAXAMMO3Y 185 + +// pistol +#define ST_WEAPON0X 110 +#define ST_WEAPON0Y 172 + +// shotgun +#define ST_WEAPON1X 122 +#define ST_WEAPON1Y 172 + +// chain gun +#define ST_WEAPON2X 134 +#define ST_WEAPON2Y 172 + +// missile launcher +#define ST_WEAPON3X 110 +#define ST_WEAPON3Y 181 + +// plasma gun +#define ST_WEAPON4X 122 +#define ST_WEAPON4Y 181 + + // bfg +#define ST_WEAPON5X 134 +#define ST_WEAPON5Y 181 + +// WPNS title +#define ST_WPNSX 109 +#define ST_WPNSY 191 + + // DETH title +#define ST_DETHX 109 +#define ST_DETHY 191 + +//Incoming messages window location +//UNUSED +// #define ST_MSGTEXTX (viewwindowx) +// #define ST_MSGTEXTY (viewwindowy+viewheight-18) +#define ST_MSGTEXTX 0 +#define ST_MSGTEXTY 0 +// Dimensions given in characters. +#define ST_MSGWIDTH 52 +// Or shall I say, in lines? +#define ST_MSGHEIGHT 1 + +#define ST_OUTTEXTX 0 +#define ST_OUTTEXTY 6 + +// Width, in characters again. +#define ST_OUTWIDTH 52 + // Height, in lines. +#define ST_OUTHEIGHT 1 + +#define ST_MAPTITLEX \ + (SCREENWIDTH - ST_MAPWIDTH * ST_CHATFONTWIDTH) + +#define ST_MAPTITLEY 0 +#define ST_MAPHEIGHT 1 + +// graphics are drawn to a backing screen and blitted to the real screen +byte *st_backing_screen; + +// main player in game +static player_t* plyr; + +// ST_Start() has just been called +static boolean st_firsttime; + +// lump number for PLAYPAL +static int lu_palette; + +// used for timing +static unsigned int st_clock; + +// used for making messages go away +static int st_msgcounter=0; + +// used when in chat +static st_chatstateenum_t st_chatstate; + +// whether in automap or first-person +static st_stateenum_t st_gamestate; + +// whether left-side main status bar is active +static boolean st_statusbaron; + +// whether status bar chat is active +static boolean st_chat; + +// value of st_chat before message popped up +static boolean st_oldchat; + +// whether chat window has the cursor on +static boolean st_cursoron; + +// !deathmatch +static boolean st_notdeathmatch; + +// !deathmatch && st_statusbaron +static boolean st_armson; + +// !deathmatch +static boolean st_fragson; + +// main bar left +static patch_t* sbar; + +// 0-9, tall numbers +static patch_t* tallnum[10]; + +// tall % sign +static patch_t* tallpercent; + +// 0-9, short, yellow (,different!) numbers +static patch_t* shortnum[10]; + +// 3 key-cards, 3 skulls +static patch_t* keys[NUMCARDS]; + +// face status patches +static patch_t* faces[ST_NUMFACES]; + +// face background +static patch_t* faceback; + + // main bar right +static patch_t* armsbg; + +// weapon ownership patches +static patch_t* arms[6][2]; + +// ready-weapon widget +static st_number_t w_ready; + + // in deathmatch only, summary of frags stats +static st_number_t w_frags; + +// health widget +static st_percent_t w_health; + +// arms background +static st_binicon_t w_armsbg; + + +// weapon ownership widgets +static st_multicon_t w_arms[6]; + +// face status widget +static st_multicon_t w_faces; + +// keycard widgets +static st_multicon_t w_keyboxes[3]; + +// armor widget +static st_percent_t w_armor; + +// ammo widgets +static st_number_t w_ammo[4]; + +// max ammo widgets +static st_number_t w_maxammo[4]; + + + + // number of frags so far in deathmatch +static int st_fragscount; + +// used to use appopriately pained face +static int st_oldhealth = -1; + +// used for evil grin +static boolean oldweaponsowned[NUMWEAPONS]; + + // count until face changes +static int st_facecount = 0; + +// current face index, used by w_faces +static int st_faceindex = 0; + +// holds key-type for each key box on bar +static int keyboxes[3]; + +// a random number per tick +static int st_randomnumber; + +cheatseq_t cheat_mus = CHEAT("idmus", 2); +cheatseq_t cheat_god = CHEAT("iddqd", 0); +cheatseq_t cheat_ammo = CHEAT("idkfa", 0); +cheatseq_t cheat_ammonokey = CHEAT("idfa", 0); +cheatseq_t cheat_noclip = CHEAT("idspispopd", 0); +cheatseq_t cheat_commercial_noclip = CHEAT("idclip", 0); + +cheatseq_t cheat_powerup[7] = +{ + CHEAT("idbeholdv", 0), + CHEAT("idbeholds", 0), + CHEAT("idbeholdi", 0), + CHEAT("idbeholdr", 0), + CHEAT("idbeholda", 0), + CHEAT("idbeholdl", 0), + CHEAT("idbehold", 0), +}; + +cheatseq_t cheat_choppers = CHEAT("idchoppers", 0); +cheatseq_t cheat_clev = CHEAT("idclev", 2); +cheatseq_t cheat_mypos = CHEAT("idmypos", 0); + + +// +// STATUS BAR CODE +// +void ST_Stop(void); + +void ST_refreshBackground(void) +{ + + if (st_statusbaron) + { + V_UseBuffer(st_backing_screen); + + V_DrawPatch(ST_X, 0, sbar); + + if (netgame) + V_DrawPatch(ST_FX, 0, faceback); + + V_RestoreBuffer(); + + V_CopyRect(ST_X, 0, st_backing_screen, ST_WIDTH, ST_HEIGHT, ST_X, ST_Y); + } + +} + + +// Respond to keyboard input events, +// intercept cheats. +boolean +ST_Responder (event_t* ev) +{ + int i; + + // Filter automap on/off. + if (ev->type == ev_keyup + && ((ev->data1 & 0xffff0000) == AM_MSGHEADER)) + { + switch(ev->data1) + { + case AM_MSGENTERED: + st_gamestate = AutomapState; + st_firsttime = true; + break; + + case AM_MSGEXITED: + // fprintf(stderr, "AM exited\n"); + st_gamestate = FirstPersonState; + break; + } + } + + // if a user keypress... + else if (ev->type == ev_keydown) + { + if (!netgame && gameskill != sk_nightmare) + { + // 'dqd' cheat for toggleable god mode + if (cht_CheckCheat(&cheat_god, ev->data2)) + { + plyr->cheats ^= CF_GODMODE; + if (plyr->cheats & CF_GODMODE) + { + if (plyr->mo) + plyr->mo->health = 100; + + plyr->health = deh_god_mode_health; + plyr->message = DEH_String(STSTR_DQDON); + } + else + plyr->message = DEH_String(STSTR_DQDOFF); + } + // 'fa' cheat for killer fucking arsenal + else if (cht_CheckCheat(&cheat_ammonokey, ev->data2)) + { + plyr->armorpoints = deh_idfa_armor; + plyr->armortype = deh_idfa_armor_class; + + for (i=0;iweaponowned[i] = true; + + for (i=0;iammo[i] = plyr->maxammo[i]; + + plyr->message = DEH_String(STSTR_FAADDED); + } + // 'kfa' cheat for key full ammo + else if (cht_CheckCheat(&cheat_ammo, ev->data2)) + { + plyr->armorpoints = deh_idkfa_armor; + plyr->armortype = deh_idkfa_armor_class; + + for (i=0;iweaponowned[i] = true; + + for (i=0;iammo[i] = plyr->maxammo[i]; + + for (i=0;icards[i] = true; + + plyr->message = DEH_String(STSTR_KFAADDED); + } + // 'mus' cheat for changing music + else if (cht_CheckCheat(&cheat_mus, ev->data2)) + { + + char buf[3]; + int musnum; + + plyr->message = DEH_String(STSTR_MUS); + cht_GetParam(&cheat_mus, buf); + + // Note: The original v1.9 had a bug that tried to play back + // the Doom II music regardless of gamemode. This was fixed + // in the Ultimate Doom executable so that it would work for + // the Doom 1 music as well. + + if (gamemode == commercial || gameversion < exe_ultimate) + { + musnum = mus_runnin + (buf[0]-'0')*10 + buf[1]-'0' - 1; + + if (((buf[0]-'0')*10 + buf[1]-'0') > 35) + plyr->message = DEH_String(STSTR_NOMUS); + else + S_ChangeMusic(musnum, 1); + } + else + { + musnum = mus_e1m1 + (buf[0]-'1')*9 + (buf[1]-'1'); + + if (((buf[0]-'1')*9 + buf[1]-'1') > 31) + plyr->message = DEH_String(STSTR_NOMUS); + else + S_ChangeMusic(musnum, 1); + } + } + else if ( (logical_gamemission == doom + && cht_CheckCheat(&cheat_noclip, ev->data2)) + || (logical_gamemission != doom + && cht_CheckCheat(&cheat_commercial_noclip,ev->data2))) + { + // Noclip cheat. + // For Doom 1, use the idspipsopd cheat; for all others, use + // idclip + + plyr->cheats ^= CF_NOCLIP; + + if (plyr->cheats & CF_NOCLIP) + plyr->message = DEH_String(STSTR_NCON); + else + plyr->message = DEH_String(STSTR_NCOFF); + } + // 'behold?' power-up cheats + for (i=0;i<6;i++) + { + if (cht_CheckCheat(&cheat_powerup[i], ev->data2)) + { + if (!plyr->powers[i]) + P_GivePower( plyr, i); + else if (i!=pw_strength) + plyr->powers[i] = 1; + else + plyr->powers[i] = 0; + + plyr->message = DEH_String(STSTR_BEHOLDX); + } + } + + // 'behold' power-up menu + if (cht_CheckCheat(&cheat_powerup[6], ev->data2)) + { + plyr->message = DEH_String(STSTR_BEHOLD); + } + // 'choppers' invulnerability & chainsaw + else if (cht_CheckCheat(&cheat_choppers, ev->data2)) + { + plyr->weaponowned[wp_chainsaw] = true; + plyr->powers[pw_invulnerability] = true; + plyr->message = DEH_String(STSTR_CHOPPERS); + } + // 'mypos' for player position + else if (cht_CheckCheat(&cheat_mypos, ev->data2)) + { + static char buf[ST_MSGWIDTH]; + M_snprintf(buf, sizeof(buf), "ang=0x%x;x,y=(0x%x,0x%x)", + players[consoleplayer].mo->angle, + players[consoleplayer].mo->x, + players[consoleplayer].mo->y); + plyr->message = buf; + } + } + + // 'clev' change-level cheat + if (!netgame && cht_CheckCheat(&cheat_clev, ev->data2)) + { + char buf[3]; + int epsd; + int map; + + cht_GetParam(&cheat_clev, buf); + + if (gamemode == commercial) + { + epsd = 1; + map = (buf[0] - '0')*10 + buf[1] - '0'; + } + else + { + epsd = buf[0] - '0'; + map = buf[1] - '0'; + } + + // Chex.exe always warps to episode 1. + + if (gameversion == exe_chex) + { + epsd = 1; + } + + // Catch invalid maps. + if (epsd < 1) + return false; + + if (map < 1) + return false; + + // Ohmygod - this is not going to work. + if ((gamemode == retail) + && ((epsd > 4) || (map > 9))) + return false; + + if ((gamemode == registered) + && ((epsd > 3) || (map > 9))) + return false; + + if ((gamemode == shareware) + && ((epsd > 1) || (map > 9))) + return false; + + // The source release has this check as map > 34. However, Vanilla + // Doom allows IDCLEV up to MAP40 even though it normally crashes. + if ((gamemode == commercial) + && (( epsd > 1) || (map > 40))) + return false; + + // So be it. + plyr->message = DEH_String(STSTR_CLEV); + G_DeferedInitNew(gameskill, epsd, map); + } + } + return false; +} + + + +int ST_calcPainOffset(void) +{ + int health; + static int lastcalc; + static int oldhealth = -1; + + health = plyr->health > 100 ? 100 : plyr->health; + + if (health != oldhealth) + { + lastcalc = ST_FACESTRIDE * (((100 - health) * ST_NUMPAINFACES) / 101); + oldhealth = health; + } + return lastcalc; +} + + +// +// This is a not-very-pretty routine which handles +// the face states and their timing. +// the precedence of expressions is: +// dead > evil grin > turned head > straight ahead +// +void ST_updateFaceWidget(void) +{ + int i; + angle_t badguyangle; + angle_t diffang; + static int lastattackdown = -1; + static int priority = 0; + boolean doevilgrin; + + if (priority < 10) + { + // dead + if (!plyr->health) + { + priority = 9; + st_faceindex = ST_DEADFACE; + st_facecount = 1; + } + } + + if (priority < 9) + { + if (plyr->bonuscount) + { + // picking up bonus + doevilgrin = false; + + for (i=0;iweaponowned[i]) + { + doevilgrin = true; + oldweaponsowned[i] = plyr->weaponowned[i]; + } + } + if (doevilgrin) + { + // evil grin if just picked up weapon + priority = 8; + st_facecount = ST_EVILGRINCOUNT; + st_faceindex = ST_calcPainOffset() + ST_EVILGRINOFFSET; + } + } + + } + + if (priority < 8) + { + if (plyr->damagecount + && plyr->attacker + && plyr->attacker != plyr->mo) + { + // being attacked + priority = 7; + + if (plyr->health - st_oldhealth > ST_MUCHPAIN) + { + st_facecount = ST_TURNCOUNT; + st_faceindex = ST_calcPainOffset() + ST_OUCHOFFSET; + } + else + { + badguyangle = R_PointToAngle2(plyr->mo->x, + plyr->mo->y, + plyr->attacker->x, + plyr->attacker->y); + + if (badguyangle > plyr->mo->angle) + { + // whether right or left + diffang = badguyangle - plyr->mo->angle; + i = diffang > ANG180; + } + else + { + // whether left or right + diffang = plyr->mo->angle - badguyangle; + i = diffang <= ANG180; + } // confusing, aint it? + + + st_facecount = ST_TURNCOUNT; + st_faceindex = ST_calcPainOffset(); + + if (diffang < ANG45) + { + // head-on + st_faceindex += ST_RAMPAGEOFFSET; + } + else if (i) + { + // turn face right + st_faceindex += ST_TURNOFFSET; + } + else + { + // turn face left + st_faceindex += ST_TURNOFFSET+1; + } + } + } + } + + if (priority < 7) + { + // getting hurt because of your own damn stupidity + if (plyr->damagecount) + { + if (plyr->health - st_oldhealth > ST_MUCHPAIN) + { + priority = 7; + st_facecount = ST_TURNCOUNT; + st_faceindex = ST_calcPainOffset() + ST_OUCHOFFSET; + } + else + { + priority = 6; + st_facecount = ST_TURNCOUNT; + st_faceindex = ST_calcPainOffset() + ST_RAMPAGEOFFSET; + } + + } + + } + + if (priority < 6) + { + // rapid firing + if (plyr->attackdown) + { + if (lastattackdown==-1) + lastattackdown = ST_RAMPAGEDELAY; + else if (!--lastattackdown) + { + priority = 5; + st_faceindex = ST_calcPainOffset() + ST_RAMPAGEOFFSET; + st_facecount = 1; + lastattackdown = 1; + } + } + else + lastattackdown = -1; + + } + + if (priority < 5) + { + // invulnerability + if ((plyr->cheats & CF_GODMODE) + || plyr->powers[pw_invulnerability]) + { + priority = 4; + + st_faceindex = ST_GODFACE; + st_facecount = 1; + + } + + } + + // look left or look right if the facecount has timed out + if (!st_facecount) + { + st_faceindex = ST_calcPainOffset() + (st_randomnumber % 3); + st_facecount = ST_STRAIGHTFACECOUNT; + priority = 0; + } + + st_facecount--; + +} + +void ST_updateWidgets(void) +{ + static int largeammo = 1994; // means "n/a" + int i; + + // must redirect the pointer if the ready weapon has changed. + // if (w_ready.data != plyr->readyweapon) + // { + if (weaponinfo[plyr->readyweapon].ammo == am_noammo) + w_ready.num = &largeammo; + else + w_ready.num = &plyr->ammo[weaponinfo[plyr->readyweapon].ammo]; + //{ + // static int tic=0; + // static int dir=-1; + // if (!(tic&15)) + // plyr->ammo[weaponinfo[plyr->readyweapon].ammo]+=dir; + // if (plyr->ammo[weaponinfo[plyr->readyweapon].ammo] == -100) + // dir = 1; + // tic++; + // } + w_ready.data = plyr->readyweapon; + + // if (*w_ready.on) + // STlib_updateNum(&w_ready, true); + // refresh weapon change + // } + + // update keycard multiple widgets + for (i=0;i<3;i++) + { + keyboxes[i] = plyr->cards[i] ? i : -1; + + if (plyr->cards[i+3]) + keyboxes[i] = i+3; + } + + // refresh everything if this is him coming back to life + ST_updateFaceWidget(); + + // used by the w_armsbg widget + st_notdeathmatch = !deathmatch; + + // used by w_arms[] widgets + st_armson = st_statusbaron && !deathmatch; + + // used by w_frags widget + st_fragson = deathmatch && st_statusbaron; + st_fragscount = 0; + + for (i=0 ; ifrags[i]; + else + st_fragscount -= plyr->frags[i]; + } + + // get rid of chat window if up because of message + if (!--st_msgcounter) + st_chat = st_oldchat; + +} + +void ST_Ticker (void) +{ + + st_clock++; + st_randomnumber = M_Random(); + ST_updateWidgets(); + st_oldhealth = plyr->health; + +} + +static int st_palette = 0; + +void ST_doPaletteStuff(void) +{ + + int palette; + byte* pal; + int cnt; + int bzc; + + cnt = plyr->damagecount; + + if (plyr->powers[pw_strength]) + { + // slowly fade the berzerk out + bzc = 12 - (plyr->powers[pw_strength]>>6); + + if (bzc > cnt) + cnt = bzc; + } + + if (cnt) + { + palette = (cnt+7)>>3; + + if (palette >= NUMREDPALS) + palette = NUMREDPALS-1; + + palette += STARTREDPALS; + } + + else if (plyr->bonuscount) + { + palette = (plyr->bonuscount+7)>>3; + + if (palette >= NUMBONUSPALS) + palette = NUMBONUSPALS-1; + + palette += STARTBONUSPALS; + } + + else if ( plyr->powers[pw_ironfeet] > 4*32 + || plyr->powers[pw_ironfeet]&8) + palette = RADIATIONPAL; + else + palette = 0; + + // In Chex Quest, the player never sees red. Instead, the + // radiation suit palette is used to tint the screen green, + // as though the player is being covered in goo by an + // attacking flemoid. + + if (gameversion == exe_chex + && palette >= STARTREDPALS && palette < STARTREDPALS + NUMREDPALS) + { + palette = RADIATIONPAL; + } + + if (palette != st_palette) + { + st_palette = palette; + pal = (byte *) W_CacheLumpNum (lu_palette, PU_CACHE)+palette*768; + I_SetPalette (pal); + } + +} + +void ST_drawWidgets(boolean refresh) +{ + int i; + + // used by w_arms[] widgets + st_armson = st_statusbaron && !deathmatch; + + // used by w_frags widget + st_fragson = deathmatch && st_statusbaron; + + STlib_updateNum(&w_ready, refresh); + + for (i=0;i<4;i++) + { + STlib_updateNum(&w_ammo[i], refresh); + STlib_updateNum(&w_maxammo[i], refresh); + } + + STlib_updatePercent(&w_health, refresh); + STlib_updatePercent(&w_armor, refresh); + + STlib_updateBinIcon(&w_armsbg, refresh); + + for (i=0;i<6;i++) + STlib_updateMultIcon(&w_arms[i], refresh); + + STlib_updateMultIcon(&w_faces, refresh); + + for (i=0;i<3;i++) + STlib_updateMultIcon(&w_keyboxes[i], refresh); + + STlib_updateNum(&w_frags, refresh); + +} + +void ST_doRefresh(void) +{ + + st_firsttime = false; + + // draw status bar background to off-screen buff + ST_refreshBackground(); + + // and refresh all widgets + ST_drawWidgets(true); + +} + +void ST_diffDraw(void) +{ + // update all widgets + ST_drawWidgets(false); +} + +void ST_Drawer (boolean fullscreen, boolean refresh) +{ + + st_statusbaron = (!fullscreen) || automapactive; + st_firsttime = st_firsttime || refresh; + + // Do red-/gold-shifts from damage/items + ST_doPaletteStuff(); + + // If just after ST_Start(), refresh all + if (st_firsttime) ST_doRefresh(); + // Otherwise, update as little as possible + else ST_diffDraw(); + +} + +typedef void (*load_callback_t)(char *lumpname, patch_t **variable); + +// Iterates through all graphics to be loaded or unloaded, along with +// the variable they use, invoking the specified callback function. + +static void ST_loadUnloadGraphics(load_callback_t callback) +{ + + int i; + int j; + int facenum; + + char namebuf[9]; + + // Load the numbers, tall and short + for (i=0;i<10;i++) + { + DEH_snprintf(namebuf, 9, "STTNUM%d", i); + callback(namebuf, &tallnum[i]); + + DEH_snprintf(namebuf, 9, "STYSNUM%d", i); + callback(namebuf, &shortnum[i]); + } + + // Load percent key. + //Note: why not load STMINUS here, too? + + callback(DEH_String("STTPRCNT"), &tallpercent); + + // key cards + for (i=0;iweaponowned[i]; + + for (i=0;i<3;i++) + keyboxes[i] = -1; + + STlib_init(); + +} + + + +void ST_createWidgets(void) +{ + + int i; + + // ready weapon ammo + STlib_initNum(&w_ready, + ST_AMMOX, + ST_AMMOY, + tallnum, + &plyr->ammo[weaponinfo[plyr->readyweapon].ammo], + &st_statusbaron, + ST_AMMOWIDTH ); + + // the last weapon type + w_ready.data = plyr->readyweapon; + + // health percentage + STlib_initPercent(&w_health, + ST_HEALTHX, + ST_HEALTHY, + tallnum, + &plyr->health, + &st_statusbaron, + tallpercent); + + // arms background + STlib_initBinIcon(&w_armsbg, + ST_ARMSBGX, + ST_ARMSBGY, + armsbg, + &st_notdeathmatch, + &st_statusbaron); + + // weapons owned + for(i=0;i<6;i++) + { + STlib_initMultIcon(&w_arms[i], + ST_ARMSX+(i%3)*ST_ARMSXSPACE, + ST_ARMSY+(i/3)*ST_ARMSYSPACE, + arms[i], (int *) &plyr->weaponowned[i+1], + &st_armson); + } + + // frags sum + STlib_initNum(&w_frags, + ST_FRAGSX, + ST_FRAGSY, + tallnum, + &st_fragscount, + &st_fragson, + ST_FRAGSWIDTH); + + // faces + STlib_initMultIcon(&w_faces, + ST_FACESX, + ST_FACESY, + faces, + &st_faceindex, + &st_statusbaron); + + // armor percentage - should be colored later + STlib_initPercent(&w_armor, + ST_ARMORX, + ST_ARMORY, + tallnum, + &plyr->armorpoints, + &st_statusbaron, tallpercent); + + // keyboxes 0-2 + STlib_initMultIcon(&w_keyboxes[0], + ST_KEY0X, + ST_KEY0Y, + keys, + &keyboxes[0], + &st_statusbaron); + + STlib_initMultIcon(&w_keyboxes[1], + ST_KEY1X, + ST_KEY1Y, + keys, + &keyboxes[1], + &st_statusbaron); + + STlib_initMultIcon(&w_keyboxes[2], + ST_KEY2X, + ST_KEY2Y, + keys, + &keyboxes[2], + &st_statusbaron); + + // ammo count (all four kinds) + STlib_initNum(&w_ammo[0], + ST_AMMO0X, + ST_AMMO0Y, + shortnum, + &plyr->ammo[0], + &st_statusbaron, + ST_AMMO0WIDTH); + + STlib_initNum(&w_ammo[1], + ST_AMMO1X, + ST_AMMO1Y, + shortnum, + &plyr->ammo[1], + &st_statusbaron, + ST_AMMO1WIDTH); + + STlib_initNum(&w_ammo[2], + ST_AMMO2X, + ST_AMMO2Y, + shortnum, + &plyr->ammo[2], + &st_statusbaron, + ST_AMMO2WIDTH); + + STlib_initNum(&w_ammo[3], + ST_AMMO3X, + ST_AMMO3Y, + shortnum, + &plyr->ammo[3], + &st_statusbaron, + ST_AMMO3WIDTH); + + // max ammo count (all four kinds) + STlib_initNum(&w_maxammo[0], + ST_MAXAMMO0X, + ST_MAXAMMO0Y, + shortnum, + &plyr->maxammo[0], + &st_statusbaron, + ST_MAXAMMO0WIDTH); + + STlib_initNum(&w_maxammo[1], + ST_MAXAMMO1X, + ST_MAXAMMO1Y, + shortnum, + &plyr->maxammo[1], + &st_statusbaron, + ST_MAXAMMO1WIDTH); + + STlib_initNum(&w_maxammo[2], + ST_MAXAMMO2X, + ST_MAXAMMO2Y, + shortnum, + &plyr->maxammo[2], + &st_statusbaron, + ST_MAXAMMO2WIDTH); + + STlib_initNum(&w_maxammo[3], + ST_MAXAMMO3X, + ST_MAXAMMO3Y, + shortnum, + &plyr->maxammo[3], + &st_statusbaron, + ST_MAXAMMO3WIDTH); + +} + +static boolean st_stopped = true; + + +void ST_Start (void) +{ + + if (!st_stopped) + ST_Stop(); + + ST_initData(); + ST_createWidgets(); + st_stopped = false; + +} + +void ST_Stop (void) +{ + if (st_stopped) + return; + + I_SetPalette (W_CacheLumpNum (lu_palette, PU_CACHE)); + + st_stopped = true; +} + +void ST_Init (void) +{ + ST_loadData(); + st_backing_screen = (byte *) Z_Malloc(ST_WIDTH * ST_HEIGHT, PU_STATIC, 0); +} + diff --git a/src/kernel/userland/doom/st_stuff.h b/src/kernel/userland/doom/st_stuff.h new file mode 100644 index 0000000..8ed53e4 --- /dev/null +++ b/src/kernel/userland/doom/st_stuff.h @@ -0,0 +1,89 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Status bar code. +// Does the face/direction indicator animatin. +// Does palette indicators as well (red pain/berserk, bright pickup) +// + +#ifndef __STSTUFF_H__ +#define __STSTUFF_H__ + +#include "doomtype.h" +#include "d_event.h" +#include "m_cheat.h" + +// Size of statusbar. +// Now sensitive for scaling. +#define ST_HEIGHT 32 +#define ST_WIDTH SCREENWIDTH +#define ST_Y (SCREENHEIGHT - ST_HEIGHT) + + +// +// STATUS BAR +// + +// Called by main loop. +boolean ST_Responder (event_t* ev); + +// Called by main loop. +void ST_Ticker (void); + +// Called by main loop. +void ST_Drawer (boolean fullscreen, boolean refresh); + +// Called when the console player is spawned on each level. +void ST_Start (void); + +// Called by startup code. +void ST_Init (void); + + + +// States for status bar code. +typedef enum +{ + AutomapState, + FirstPersonState + +} st_stateenum_t; + + +// States for the chat code. +typedef enum +{ + StartChatState, + WaitDestState, + GetChatState + +} st_chatstateenum_t; + + + +extern byte *st_backing_screen; +extern cheatseq_t cheat_mus; +extern cheatseq_t cheat_god; +extern cheatseq_t cheat_ammo; +extern cheatseq_t cheat_ammonokey; +extern cheatseq_t cheat_noclip; +extern cheatseq_t cheat_commercial_noclip; +extern cheatseq_t cheat_powerup[7]; +extern cheatseq_t cheat_choppers; +extern cheatseq_t cheat_clev; +extern cheatseq_t cheat_mypos; + + +#endif diff --git a/src/kernel/userland/doom/statdump.c b/src/kernel/userland/doom/statdump.c new file mode 100644 index 0000000..7afe3f3 --- /dev/null +++ b/src/kernel/userland/doom/statdump.c @@ -0,0 +1,392 @@ + /* + + Copyright(C) 2005-2014 Simon Howard + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + -- + + Functions for presenting the information captured from the statistics + buffer to a file. + + */ + +#include +#include +#include + +#include "d_player.h" +#include "d_mode.h" +#include "m_argv.h" + +#include "statdump.h" + +/* Par times for E1M1-E1M9. */ +static const int doom1_par_times[] = +{ + 30, 75, 120, 90, 165, 180, 180, 30, 165, +}; + +/* Par times for MAP01-MAP09. */ +static const int doom2_par_times[] = +{ + 30, 90, 120, 120, 90, 150, 120, 120, 270, +}; + +#if ORIGCODE + +/* Player colors. */ +static const char *player_colors[] = +{ + "Green", "Indigo", "Brown", "Red" +}; + +#endif + +// Array of end-of-level statistics that have been captured. + +#define MAX_CAPTURES 32 +static wbstartstruct_t captured_stats[MAX_CAPTURES]; +static int num_captured_stats = 0; + +#if ORIGCODE +static GameMission_t discovered_gamemission = none; +#endif + +#if ORIGCODE + +/* Try to work out whether this is a Doom 1 or Doom 2 game, by looking + * at the episode and map, and the par times. This is used to decide + * how to format the level name. Unfortunately, in some cases it is + * impossible to determine whether this is Doom 1 or Doom 2. */ + +static void DiscoverGamemode(wbstartstruct_t *stats, int num_stats) +{ + int partime; + int level; + int i; + + if (discovered_gamemission != none) + { + return; + } + + for (i=0; i 0) + { + discovered_gamemission = doom; + return; + } + + /* This is episode 1. If this is level 10 or higher, + it must be Doom 2. */ + + if (level >= 9) + { + discovered_gamemission = doom2; + return; + } + + /* Try to work out if this is Doom 1 or Doom 2 by looking + at the par time. */ + + partime = stats[i].partime; + + if (partime == doom1_par_times[level] * TICRATE + && partime != doom2_par_times[level] * TICRATE) + { + discovered_gamemission = doom; + return; + } + + if (partime != doom1_par_times[level] * TICRATE + && partime == doom2_par_times[level] * TICRATE) + { + discovered_gamemission = doom2; + return; + } + } +} + +#endif + +#if ORIGCODE + +/* Returns the number of players active in the given stats buffer. */ + +static int GetNumPlayers(wbstartstruct_t *stats) +{ + int i; + int num_players = 0; + + for (i=0; iplyr[i].in) + { + ++num_players; + } + } + + return num_players; +} + +#endif + +#if ORIGCODE + +static void PrintBanner(FILE *stream) +{ + fprintf(stream, "===========================================\n"); +} + +static void PrintPercentage(FILE *stream, int amount, int total) +{ + if (total == 0) + { + fprintf(stream, "0"); + } + else + { + fprintf(stream, "%i / %i", amount, total); + + // statdump.exe is a 16-bit program, so very occasionally an + // integer overflow can occur when doing this calculation with + // a large value. Therefore, cast to short to give the same + // output. + + fprintf(stream, " (%i%%)", (short) (amount * 100) / total); + } +} + +#endif + +#if ORIGCODE + +/* Display statistics for a single player. */ + +static void PrintPlayerStats(FILE *stream, wbstartstruct_t *stats, + int player_num) +{ + wbplayerstruct_t *player = &stats->plyr[player_num]; + + fprintf(stream, "Player %i (%s):\n", player_num + 1, + player_colors[player_num]); + + /* Kills percentage */ + + fprintf(stream, "\tKills: "); + PrintPercentage(stream, player->skills, stats->maxkills); + fprintf(stream, "\n"); + + /* Items percentage */ + + fprintf(stream, "\tItems: "); + PrintPercentage(stream, player->sitems, stats->maxitems); + fprintf(stream, "\n"); + + /* Secrets percentage */ + + fprintf(stream, "\tSecrets: "); + PrintPercentage(stream, player->ssecret, stats->maxsecret); + fprintf(stream, "\n"); +} + +#endif + +#if ORIGCODE + +/* Frags table for multiplayer games. */ + +static void PrintFragsTable(FILE *stream, wbstartstruct_t *stats) +{ + int x, y; + + fprintf(stream, "Frags:\n"); + + /* Print header */ + + fprintf(stream, "\t\t"); + + for (x=0; xplyr[x].in) + { + continue; + } + + fprintf(stream, "%s\t", player_colors[x]); + } + + fprintf(stream, "\n"); + + fprintf(stream, "\t\t-------------------------------- VICTIMS\n"); + + /* Print table */ + + for (y=0; yplyr[y].in) + { + continue; + } + + fprintf(stream, "\t%s\t|", player_colors[y]); + + for (x=0; xplyr[x].in) + { + continue; + } + + fprintf(stream, "%i\t", stats->plyr[y].frags[x]); + } + + fprintf(stream, "\n"); + } + + fprintf(stream, "\t\t|\n"); + fprintf(stream, "\t KILLERS\n"); +} + +#endif + +#if ORIGCODE + +/* Displays the level name: MAPxy or ExMy, depending on game mode. */ + +static void PrintLevelName(FILE *stream, int episode, int level) +{ + PrintBanner(stream); + + switch (discovered_gamemission) + { + + case doom: + fprintf(stream, "E%iM%i\n", episode + 1, level + 1); + break; + case doom2: + fprintf(stream, "MAP%02i\n", level + 1); + break; + default: + case none: + fprintf(stream, "E%iM%i / MAP%02i\n", + episode + 1, level + 1, level + 1); + break; + } + + PrintBanner(stream); +} + +#endif + +#if ORIGCODE + +/* Print details of a statistics buffer to the given file. */ + +static void PrintStats(FILE *stream, wbstartstruct_t *stats) +{ + int leveltime, partime; + int i; + + PrintLevelName(stream, stats->epsd, stats->last); + fprintf(stream, "\n"); + + leveltime = stats->plyr[0].stime / TICRATE; + partime = stats->partime / TICRATE; + fprintf(stream, "Time: %i:%02i", leveltime / 60, leveltime % 60); + fprintf(stream, " (par: %i:%02i)\n", partime / 60, partime % 60); + fprintf(stream, "\n"); + + for (i=0; iplyr[i].in) + { + PrintPlayerStats(stream, stats, i); + } + } + + if (GetNumPlayers(stats) >= 2) + { + PrintFragsTable(stream, stats); + } + + fprintf(stream, "\n"); +} + +#endif + +void StatCopy(wbstartstruct_t *stats) +{ + if (M_ParmExists("-statdump") && num_captured_stats < MAX_CAPTURES) + { + memcpy(&captured_stats[num_captured_stats], stats, + sizeof(wbstartstruct_t)); + ++num_captured_stats; + } +} + +void StatDump(void) +{ +#if ORIGCODE + FILE *dumpfile; + int i; + + //! + // @category compat + // @arg + // + // Dump statistics information to the specified file on the levels + // that were played. The output from this option matches the output + // from statdump.exe (see ctrlapi.zip in the /idgames archive). + // + + i = M_CheckParmWithArgs("-statdump", 1); + + if (i > 0) + { + printf("Statistics captured for %i level(s)\n", num_captured_stats); + + // We actually know what the real gamemission is, but this has + // to match the output from statdump.exe. + + DiscoverGamemode(captured_stats, num_captured_stats); + + // Allow "-" as output file, for stdout. + + if (strcmp(myargv[i + 1], "-") != 0) + { + dumpfile = fopen(myargv[i + 1], "w"); + } + else + { + dumpfile = NULL; + } + + for (i = 0; i < num_captured_stats; ++i) + { + PrintStats(dumpfile, &captured_stats[i]); + } + + if (dumpfile != NULL) + { + fclose(dumpfile); + } + } +#endif +} + diff --git a/src/kernel/userland/doom/statdump.h b/src/kernel/userland/doom/statdump.h new file mode 100644 index 0000000..48db2ad --- /dev/null +++ b/src/kernel/userland/doom/statdump.h @@ -0,0 +1,23 @@ + /* + + Copyright(C) 2005-2014 Simon Howard + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + */ + +#ifndef DOOM_STATDUMP_H +#define DOOM_STATDUMP_H + +void StatCopy(wbstartstruct_t *stats); +void StatDump(void); + +#endif /* #ifndef DOOM_STATDUMP_H */ diff --git a/src/kernel/userland/doom/stb_sprintf.h b/src/kernel/userland/doom/stb_sprintf.h new file mode 100644 index 0000000..45c2899 --- /dev/null +++ b/src/kernel/userland/doom/stb_sprintf.h @@ -0,0 +1,1906 @@ +// stb_sprintf - v1.10 - public domain snprintf() implementation +// originally by Jeff Roberts / RAD Game Tools, 2015/10/20 +// http://github.com/nothings/stb +// +// allowed types: sc uidBboXx p AaGgEef n +// lengths : hh h ll j z t I64 I32 I +// +// Contributors: +// Fabian "ryg" Giesen (reformatting) +// github:aganm (attribute format) +// +// Contributors (bugfixes): +// github:d26435 +// github:trex78 +// github:account-login +// Jari Komppa (SI suffixes) +// Rohit Nirmal +// Marcin Wojdyr +// Leonard Ritter +// Stefano Zanotti +// Adam Allison +// Arvid Gerstmann +// Markus Kolb +// +// LICENSE: +// +// See end of file for license information. + +#ifndef STB_SPRINTF_H_INCLUDE +#define STB_SPRINTF_H_INCLUDE + +/* +Single file sprintf replacement. + +Originally written by Jeff Roberts at RAD Game Tools - 2015/10/20. +Hereby placed in public domain. + +This is a full sprintf replacement that supports everything that +the C runtime sprintfs support, including float/double, 64-bit integers, +hex floats, field parameters (%*.*d stuff), length reads backs, etc. + +Why would you need this if sprintf already exists? Well, first off, +it's *much* faster (see below). It's also much smaller than the CRT +versions code-space-wise. We've also added some simple improvements +that are super handy (commas in thousands, callbacks at buffer full, +for example). Finally, the format strings for MSVC and GCC differ +for 64-bit integers (among other small things), so this lets you use +the same format strings in cross platform code. + +It uses the standard single file trick of being both the header file +and the source itself. If you just include it normally, you just get +the header file function definitions. To get the code, you include +it from a C or C++ file and define STB_SPRINTF_IMPLEMENTATION first. + +It only uses va_args macros from the C runtime to do it's work. It +does cast doubles to S64s and shifts and divides U64s, which does +drag in CRT code on most platforms. + +It compiles to roughly 8K with float support, and 4K without. +As a comparison, when using MSVC static libs, calling sprintf drags +in 16K. + +API: +==== +int stbsp_sprintf( char * buf, char const * fmt, ... ) +int stbsp_snprintf( char * buf, int count, char const * fmt, ... ) + Convert an arg list into a buffer. stbsp_snprintf always returns + a zero-terminated string (unlike regular snprintf). + +int stbsp_vsprintf( char * buf, char const * fmt, va_list va ) +int stbsp_vsnprintf( char * buf, int count, char const * fmt, va_list va ) + Convert a va_list arg list into a buffer. stbsp_vsnprintf always returns + a zero-terminated string (unlike regular snprintf). + +int stbsp_vsprintfcb( STBSP_SPRINTFCB * callback, void * user, char * buf, char const * fmt, va_list va ) + typedef char * STBSP_SPRINTFCB( char const * buf, void * user, int len ); + Convert into a buffer, calling back every STB_SPRINTF_MIN chars. + Your callback can then copy the chars out, print them or whatever. + This function is actually the workhorse for everything else. + The buffer you pass in must hold at least STB_SPRINTF_MIN characters. + // you return the next buffer to use or 0 to stop converting + +void stbsp_set_separators( char comma, char period ) + Set the comma and period characters to use. + +FLOATS/DOUBLES: +=============== +This code uses a internal float->ascii conversion method that uses +doubles with error correction (double-doubles, for ~105 bits of +precision). This conversion is round-trip perfect - that is, an atof +of the values output here will give you the bit-exact double back. + +One difference is that our insignificant digits will be different than +with MSVC or GCC (but they don't match each other either). We also +don't attempt to find the minimum length matching float (pre-MSVC15 +doesn't either). + +If you don't need float or doubles at all, define STB_SPRINTF_NOFLOAT +and you'll save 4K of code space. + +64-BIT INTS: +============ +This library also supports 64-bit integers and you can use MSVC style or +GCC style indicators (%I64d or %lld). It supports the C99 specifiers +for size_t and ptr_diff_t (%jd %zd) as well. + +EXTRAS: +======= +Like some GCCs, for integers and floats, you can use a ' (single quote) +specifier and commas will be inserted on the thousands: "%'d" on 12345 +would print 12,345. + +For integers and floats, you can use a "$" specifier and the number +will be converted to float and then divided to get kilo, mega, giga or +tera and then printed, so "%$d" 1000 is "1.0 k", "%$.2d" 2536000 is +"2.53 M", etc. For byte values, use two $:s, like "%$$d" to turn +2536000 to "2.42 Mi". If you prefer JEDEC suffixes to SI ones, use three +$:s: "%$$$d" -> "2.42 M". To remove the space between the number and the +suffix, add "_" specifier: "%_$d" -> "2.53M". + +In addition to octal and hexadecimal conversions, you can print +integers in binary: "%b" for 256 would print 100. + +PERFORMANCE vs MSVC 2008 32-/64-bit (GCC is even slower than MSVC): +=================================================================== +"%d" across all 32-bit ints (4.8x/4.0x faster than 32-/64-bit MSVC) +"%24d" across all 32-bit ints (4.5x/4.2x faster) +"%x" across all 32-bit ints (4.5x/3.8x faster) +"%08x" across all 32-bit ints (4.3x/3.8x faster) +"%f" across e-10 to e+10 floats (7.3x/6.0x faster) +"%e" across e-10 to e+10 floats (8.1x/6.0x faster) +"%g" across e-10 to e+10 floats (10.0x/7.1x faster) +"%f" for values near e-300 (7.9x/6.5x faster) +"%f" for values near e+300 (10.0x/9.1x faster) +"%e" for values near e-300 (10.1x/7.0x faster) +"%e" for values near e+300 (9.2x/6.0x faster) +"%.320f" for values near e-300 (12.6x/11.2x faster) +"%a" for random values (8.6x/4.3x faster) +"%I64d" for 64-bits with 32-bit values (4.8x/3.4x faster) +"%I64d" for 64-bits > 32-bit values (4.9x/5.5x faster) +"%s%s%s" for 64 char strings (7.1x/7.3x faster) +"...512 char string..." ( 35.0x/32.5x faster!) +*/ + +#if defined(__clang__) + #if defined(__has_feature) && defined(__has_attribute) + #if __has_feature(address_sanitizer) + #if __has_attribute(__no_sanitize__) + #define STBSP__ASAN __attribute__((__no_sanitize__("address"))) + #elif __has_attribute(__no_sanitize_address__) + #define STBSP__ASAN __attribute__((__no_sanitize_address__)) + #elif __has_attribute(__no_address_safety_analysis__) + #define STBSP__ASAN __attribute__((__no_address_safety_analysis__)) + #endif + #endif + #endif +#elif defined(__GNUC__) && (__GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)) + #if defined(__SANITIZE_ADDRESS__) && __SANITIZE_ADDRESS__ + #define STBSP__ASAN __attribute__((__no_sanitize_address__)) + #endif +#endif + +#ifndef STBSP__ASAN +#define STBSP__ASAN +#endif + +#ifdef STB_SPRINTF_STATIC +#define STBSP__PUBLICDEC static +#define STBSP__PUBLICDEF static STBSP__ASAN +#else +#ifdef __cplusplus +#define STBSP__PUBLICDEC extern "C" +#define STBSP__PUBLICDEF extern "C" STBSP__ASAN +#else +#define STBSP__PUBLICDEC extern +#define STBSP__PUBLICDEF STBSP__ASAN +#endif +#endif + +#if defined(__has_attribute) + #if __has_attribute(format) + #define STBSP__ATTRIBUTE_FORMAT(fmt,va) __attribute__((format(printf,fmt,va))) + #endif +#endif + +#ifndef STBSP__ATTRIBUTE_FORMAT +#define STBSP__ATTRIBUTE_FORMAT(fmt,va) +#endif + +#ifdef _MSC_VER +#define STBSP__NOTUSED(v) (void)(v) +#else +#define STBSP__NOTUSED(v) (void)sizeof(v) +#endif + +#include // for va_arg(), va_list() +#include // size_t, ptrdiff_t + +#ifndef STB_SPRINTF_MIN +#define STB_SPRINTF_MIN 512 // how many characters per callback +#endif +typedef char *STBSP_SPRINTFCB(const char *buf, void *user, int len); + +#ifndef STB_SPRINTF_DECORATE +#define STB_SPRINTF_DECORATE(name) stbsp_##name // define this before including if you want to change the names +#endif + +STBSP__PUBLICDEC int STB_SPRINTF_DECORATE(vsprintf)(char *buf, char const *fmt, va_list va); +STBSP__PUBLICDEC int STB_SPRINTF_DECORATE(vsnprintf)(char *buf, int count, char const *fmt, va_list va); +STBSP__PUBLICDEC int STB_SPRINTF_DECORATE(sprintf)(char *buf, char const *fmt, ...) STBSP__ATTRIBUTE_FORMAT(2,3); +STBSP__PUBLICDEC int STB_SPRINTF_DECORATE(snprintf)(char *buf, int count, char const *fmt, ...) STBSP__ATTRIBUTE_FORMAT(3,4); + +STBSP__PUBLICDEC int STB_SPRINTF_DECORATE(vsprintfcb)(STBSP_SPRINTFCB *callback, void *user, char *buf, char const *fmt, va_list va); +STBSP__PUBLICDEC void STB_SPRINTF_DECORATE(set_separators)(char comma, char period); + +#endif // STB_SPRINTF_H_INCLUDE + +#ifdef STB_SPRINTF_IMPLEMENTATION + +#define stbsp__uint32 unsigned int +#define stbsp__int32 signed int + +#ifdef _MSC_VER +#define stbsp__uint64 unsigned __int64 +#define stbsp__int64 signed __int64 +#else +#define stbsp__uint64 unsigned long long +#define stbsp__int64 signed long long +#endif +#define stbsp__uint16 unsigned short + +#ifndef stbsp__uintptr +#if defined(__ppc64__) || defined(__powerpc64__) || defined(__aarch64__) || defined(_M_X64) || defined(__x86_64__) || defined(__x86_64) || defined(__s390x__) +#define stbsp__uintptr stbsp__uint64 +#else +#define stbsp__uintptr stbsp__uint32 +#endif +#endif + +#ifndef STB_SPRINTF_MSVC_MODE // used for MSVC2013 and earlier (MSVC2015 matches GCC) +#if defined(_MSC_VER) && (_MSC_VER < 1900) +#define STB_SPRINTF_MSVC_MODE +#endif +#endif + +#ifdef STB_SPRINTF_NOUNALIGNED // define this before inclusion to force stbsp_sprintf to always use aligned accesses +#define STBSP__UNALIGNED(code) +#else +#define STBSP__UNALIGNED(code) code +#endif + +#ifndef STB_SPRINTF_NOFLOAT +// internal float utility functions +static stbsp__int32 stbsp__real_to_str(char const **start, stbsp__uint32 *len, char *out, stbsp__int32 *decimal_pos, double value, stbsp__uint32 frac_digits); +static stbsp__int32 stbsp__real_to_parts(stbsp__int64 *bits, stbsp__int32 *expo, double value); +#define STBSP__SPECIAL 0x7000 +#endif + +static char stbsp__period = '.'; +static char stbsp__comma = ','; +static struct +{ + short temp; // force next field to be 2-byte aligned + char pair[201]; +} stbsp__digitpair = +{ + 0, + "00010203040506070809101112131415161718192021222324" + "25262728293031323334353637383940414243444546474849" + "50515253545556575859606162636465666768697071727374" + "75767778798081828384858687888990919293949596979899" +}; + +STBSP__PUBLICDEF void STB_SPRINTF_DECORATE(set_separators)(char pcomma, char pperiod) +{ + stbsp__period = pperiod; + stbsp__comma = pcomma; +} + +#define STBSP__LEFTJUST 1 +#define STBSP__LEADINGPLUS 2 +#define STBSP__LEADINGSPACE 4 +#define STBSP__LEADING_0X 8 +#define STBSP__LEADINGZERO 16 +#define STBSP__INTMAX 32 +#define STBSP__TRIPLET_COMMA 64 +#define STBSP__NEGATIVE 128 +#define STBSP__METRIC_SUFFIX 256 +#define STBSP__HALFWIDTH 512 +#define STBSP__METRIC_NOSPACE 1024 +#define STBSP__METRIC_1024 2048 +#define STBSP__METRIC_JEDEC 4096 + +static void stbsp__lead_sign(stbsp__uint32 fl, char *sign) +{ + sign[0] = 0; + if (fl & STBSP__NEGATIVE) { + sign[0] = 1; + sign[1] = '-'; + } else if (fl & STBSP__LEADINGSPACE) { + sign[0] = 1; + sign[1] = ' '; + } else if (fl & STBSP__LEADINGPLUS) { + sign[0] = 1; + sign[1] = '+'; + } +} + +static STBSP__ASAN stbsp__uint32 stbsp__strlen_limited(char const *s, stbsp__uint32 limit) +{ + char const * sn = s; + + // get up to 4-byte alignment + for (;;) { + if (((stbsp__uintptr)sn & 3) == 0) + break; + + if (!limit || *sn == 0) + return (stbsp__uint32)(sn - s); + + ++sn; + --limit; + } + + // scan over 4 bytes at a time to find terminating 0 + // this will intentionally scan up to 3 bytes past the end of buffers, + // but becase it works 4B aligned, it will never cross page boundaries + // (hence the STBSP__ASAN markup; the over-read here is intentional + // and harmless) + while (limit >= 4) { + stbsp__uint32 v = *(stbsp__uint32 *)sn; + // bit hack to find if there's a 0 byte in there + if ((v - 0x01010101) & (~v) & 0x80808080UL) + break; + + sn += 4; + limit -= 4; + } + + // handle the last few characters to find actual size + while (limit && *sn) { + ++sn; + --limit; + } + + return (stbsp__uint32)(sn - s); +} + +STBSP__PUBLICDEF int STB_SPRINTF_DECORATE(vsprintfcb)(STBSP_SPRINTFCB *callback, void *user, char *buf, char const *fmt, va_list va) +{ + static char hex[] = "0123456789abcdefxp"; + static char hexu[] = "0123456789ABCDEFXP"; + char *bf; + char const *f; + int tlen = 0; + + bf = buf; + f = fmt; + for (;;) { + stbsp__int32 fw, pr, tz; + stbsp__uint32 fl; + + // macros for the callback buffer stuff + #define stbsp__chk_cb_bufL(bytes) \ + { \ + int len = (int)(bf - buf); \ + if ((len + (bytes)) >= STB_SPRINTF_MIN) { \ + tlen += len; \ + if (0 == (bf = buf = callback(buf, user, len))) \ + goto done; \ + } \ + } + #define stbsp__chk_cb_buf(bytes) \ + { \ + if (callback) { \ + stbsp__chk_cb_bufL(bytes); \ + } \ + } + #define stbsp__flush_cb() \ + { \ + stbsp__chk_cb_bufL(STB_SPRINTF_MIN - 1); \ + } // flush if there is even one byte in the buffer + #define stbsp__cb_buf_clamp(cl, v) \ + cl = v; \ + if (callback) { \ + int lg = STB_SPRINTF_MIN - (int)(bf - buf); \ + if (cl > lg) \ + cl = lg; \ + } + + // fast copy everything up to the next % (or end of string) + for (;;) { + while (((stbsp__uintptr)f) & 3) { + schk1: + if (f[0] == '%') + goto scandd; + schk2: + if (f[0] == 0) + goto endfmt; + stbsp__chk_cb_buf(1); + *bf++ = f[0]; + ++f; + } + for (;;) { + // Check if the next 4 bytes contain %(0x25) or end of string. + // Using the 'hasless' trick: + // https://graphics.stanford.edu/~seander/bithacks.html#HasLessInWord + stbsp__uint32 v, c; + v = *(stbsp__uint32 *)f; + c = (~v) & 0x80808080; + if (((v ^ 0x25252525) - 0x01010101) & c) + goto schk1; + if ((v - 0x01010101) & c) + goto schk2; + if (callback) + if ((STB_SPRINTF_MIN - (int)(bf - buf)) < 4) + goto schk1; + #ifdef STB_SPRINTF_NOUNALIGNED + if(((stbsp__uintptr)bf) & 3) { + bf[0] = f[0]; + bf[1] = f[1]; + bf[2] = f[2]; + bf[3] = f[3]; + } else + #endif + { + *(stbsp__uint32 *)bf = v; + } + bf += 4; + f += 4; + } + } + scandd: + + ++f; + + // ok, we have a percent, read the modifiers first + fw = 0; + pr = -1; + fl = 0; + tz = 0; + + // flags + for (;;) { + switch (f[0]) { + // if we have left justify + case '-': + fl |= STBSP__LEFTJUST; + ++f; + continue; + // if we have leading plus + case '+': + fl |= STBSP__LEADINGPLUS; + ++f; + continue; + // if we have leading space + case ' ': + fl |= STBSP__LEADINGSPACE; + ++f; + continue; + // if we have leading 0x + case '#': + fl |= STBSP__LEADING_0X; + ++f; + continue; + // if we have thousand commas + case '\'': + fl |= STBSP__TRIPLET_COMMA; + ++f; + continue; + // if we have kilo marker (none->kilo->kibi->jedec) + case '$': + if (fl & STBSP__METRIC_SUFFIX) { + if (fl & STBSP__METRIC_1024) { + fl |= STBSP__METRIC_JEDEC; + } else { + fl |= STBSP__METRIC_1024; + } + } else { + fl |= STBSP__METRIC_SUFFIX; + } + ++f; + continue; + // if we don't want space between metric suffix and number + case '_': + fl |= STBSP__METRIC_NOSPACE; + ++f; + continue; + // if we have leading zero + case '0': + fl |= STBSP__LEADINGZERO; + ++f; + goto flags_done; + default: goto flags_done; + } + } + flags_done: + + // get the field width + if (f[0] == '*') { + fw = va_arg(va, stbsp__uint32); + ++f; + } else { + while ((f[0] >= '0') && (f[0] <= '9')) { + fw = fw * 10 + f[0] - '0'; + f++; + } + } + // get the precision + if (f[0] == '.') { + ++f; + if (f[0] == '*') { + pr = va_arg(va, stbsp__uint32); + ++f; + } else { + pr = 0; + while ((f[0] >= '0') && (f[0] <= '9')) { + pr = pr * 10 + f[0] - '0'; + f++; + } + } + } + + // handle integer size overrides + switch (f[0]) { + // are we halfwidth? + case 'h': + fl |= STBSP__HALFWIDTH; + ++f; + if (f[0] == 'h') + ++f; // QUARTERWIDTH + break; + // are we 64-bit (unix style) + case 'l': + fl |= ((sizeof(long) == 8) ? STBSP__INTMAX : 0); + ++f; + if (f[0] == 'l') { + fl |= STBSP__INTMAX; + ++f; + } + break; + // are we 64-bit on intmax? (c99) + case 'j': + fl |= (sizeof(size_t) == 8) ? STBSP__INTMAX : 0; + ++f; + break; + // are we 64-bit on size_t or ptrdiff_t? (c99) + case 'z': + fl |= (sizeof(ptrdiff_t) == 8) ? STBSP__INTMAX : 0; + ++f; + break; + case 't': + fl |= (sizeof(ptrdiff_t) == 8) ? STBSP__INTMAX : 0; + ++f; + break; + // are we 64-bit (msft style) + case 'I': + if ((f[1] == '6') && (f[2] == '4')) { + fl |= STBSP__INTMAX; + f += 3; + } else if ((f[1] == '3') && (f[2] == '2')) { + f += 3; + } else { + fl |= ((sizeof(void *) == 8) ? STBSP__INTMAX : 0); + ++f; + } + break; + default: break; + } + + // handle each replacement + switch (f[0]) { + #define STBSP__NUMSZ 512 // big enough for e308 (with commas) or e-307 + char num[STBSP__NUMSZ]; + char lead[8]; + char tail[8]; + char *s; + char const *h; + stbsp__uint32 l, n, cs; + stbsp__uint64 n64; +#ifndef STB_SPRINTF_NOFLOAT + double fv; +#endif + stbsp__int32 dp; + char const *sn; + + case 's': + // get the string + s = va_arg(va, char *); + if (s == 0) + s = (char *)"null"; + // get the length, limited to desired precision + // always limit to ~0u chars since our counts are 32b + l = stbsp__strlen_limited(s, (pr >= 0) ? pr : ~0u); + lead[0] = 0; + tail[0] = 0; + pr = 0; + dp = 0; + cs = 0; + // copy the string in + goto scopy; + + case 'c': // char + // get the character + s = num + STBSP__NUMSZ - 1; + *s = (char)va_arg(va, int); + l = 1; + lead[0] = 0; + tail[0] = 0; + pr = 0; + dp = 0; + cs = 0; + goto scopy; + + case 'n': // weird write-bytes specifier + { + int *d = va_arg(va, int *); + *d = tlen + (int)(bf - buf); + } break; + +#ifdef STB_SPRINTF_NOFLOAT + case 'A': // float + case 'a': // hex float + case 'G': // float + case 'g': // float + case 'E': // float + case 'e': // float + case 'f': // float + va_arg(va, int); // eat it + s = (char *)"No float"; + l = 8; + lead[0] = 0; + tail[0] = 0; + pr = 0; + cs = 0; + STBSP__NOTUSED(dp); + goto scopy; +#else + case 'A': // hex float + case 'a': // hex float + h = (f[0] == 'A') ? hexu : hex; + fv = va_arg(va, double); + if (pr == -1) + pr = 6; // default is 6 + // read the double into a string + if (stbsp__real_to_parts((stbsp__int64 *)&n64, &dp, fv)) + fl |= STBSP__NEGATIVE; + + s = num + 64; + + stbsp__lead_sign(fl, lead); + + if (dp == -1023) + dp = (n64) ? -1022 : 0; + else + n64 |= (((stbsp__uint64)1) << 52); + n64 <<= (64 - 56); + if (pr < 15) + n64 += ((((stbsp__uint64)8) << 56) >> (pr * 4)); +// add leading chars + +#ifdef STB_SPRINTF_MSVC_MODE + *s++ = '0'; + *s++ = 'x'; +#else + lead[1 + lead[0]] = '0'; + lead[2 + lead[0]] = 'x'; + lead[0] += 2; +#endif + *s++ = h[(n64 >> 60) & 15]; + n64 <<= 4; + if (pr) + *s++ = stbsp__period; + sn = s; + + // print the bits + n = pr; + if (n > 13) + n = 13; + if (pr > (stbsp__int32)n) + tz = pr - n; + pr = 0; + while (n--) { + *s++ = h[(n64 >> 60) & 15]; + n64 <<= 4; + } + + // print the expo + tail[1] = h[17]; + if (dp < 0) { + tail[2] = '-'; + dp = -dp; + } else + tail[2] = '+'; + n = (dp >= 1000) ? 6 : ((dp >= 100) ? 5 : ((dp >= 10) ? 4 : 3)); + tail[0] = (char)n; + for (;;) { + tail[n] = '0' + dp % 10; + if (n <= 3) + break; + --n; + dp /= 10; + } + + dp = (int)(s - sn); + l = (int)(s - (num + 64)); + s = num + 64; + cs = 1 + (3 << 24); + goto scopy; + + case 'G': // float + case 'g': // float + h = (f[0] == 'G') ? hexu : hex; + fv = va_arg(va, double); + if (pr == -1) + pr = 6; + else if (pr == 0) + pr = 1; // default is 6 + // read the double into a string + if (stbsp__real_to_str(&sn, &l, num, &dp, fv, (pr - 1) | 0x80000000)) + fl |= STBSP__NEGATIVE; + + // clamp the precision and delete extra zeros after clamp + n = pr; + if (l > (stbsp__uint32)pr) + l = pr; + while ((l > 1) && (pr) && (sn[l - 1] == '0')) { + --pr; + --l; + } + + // should we use %e + if ((dp <= -4) || (dp > (stbsp__int32)n)) { + if (pr > (stbsp__int32)l) + pr = l - 1; + else if (pr) + --pr; // when using %e, there is one digit before the decimal + goto doexpfromg; + } + // this is the insane action to get the pr to match %g semantics for %f + if (dp > 0) { + pr = (dp < (stbsp__int32)l) ? l - dp : 0; + } else { + pr = -dp + ((pr > (stbsp__int32)l) ? (stbsp__int32) l : pr); + } + goto dofloatfromg; + + case 'E': // float + case 'e': // float + h = (f[0] == 'E') ? hexu : hex; + fv = va_arg(va, double); + if (pr == -1) + pr = 6; // default is 6 + // read the double into a string + if (stbsp__real_to_str(&sn, &l, num, &dp, fv, pr | 0x80000000)) + fl |= STBSP__NEGATIVE; + doexpfromg: + tail[0] = 0; + stbsp__lead_sign(fl, lead); + if (dp == STBSP__SPECIAL) { + s = (char *)sn; + cs = 0; + pr = 0; + goto scopy; + } + s = num + 64; + // handle leading chars + *s++ = sn[0]; + + if (pr) + *s++ = stbsp__period; + + // handle after decimal + if ((l - 1) > (stbsp__uint32)pr) + l = pr + 1; + for (n = 1; n < l; n++) + *s++ = sn[n]; + // trailing zeros + tz = pr - (l - 1); + pr = 0; + // dump expo + tail[1] = h[0xe]; + dp -= 1; + if (dp < 0) { + tail[2] = '-'; + dp = -dp; + } else + tail[2] = '+'; +#ifdef STB_SPRINTF_MSVC_MODE + n = 5; +#else + n = (dp >= 100) ? 5 : 4; +#endif + tail[0] = (char)n; + for (;;) { + tail[n] = '0' + dp % 10; + if (n <= 3) + break; + --n; + dp /= 10; + } + cs = 1 + (3 << 24); // how many tens + goto flt_lead; + + case 'f': // float + fv = va_arg(va, double); + doafloat: + // do kilos + if (fl & STBSP__METRIC_SUFFIX) { + double divisor; + divisor = 1000.0f; + if (fl & STBSP__METRIC_1024) + divisor = 1024.0; + while (fl < 0x4000000) { + if ((fv < divisor) && (fv > -divisor)) + break; + fv /= divisor; + fl += 0x1000000; + } + } + if (pr == -1) + pr = 6; // default is 6 + // read the double into a string + if (stbsp__real_to_str(&sn, &l, num, &dp, fv, pr)) + fl |= STBSP__NEGATIVE; + dofloatfromg: + tail[0] = 0; + stbsp__lead_sign(fl, lead); + if (dp == STBSP__SPECIAL) { + s = (char *)sn; + cs = 0; + pr = 0; + goto scopy; + } + s = num + 64; + + // handle the three decimal varieties + if (dp <= 0) { + stbsp__int32 i; + // handle 0.000*000xxxx + *s++ = '0'; + if (pr) + *s++ = stbsp__period; + n = -dp; + if ((stbsp__int32)n > pr) + n = pr; + i = n; + while (i) { + if ((((stbsp__uintptr)s) & 3) == 0) + break; + *s++ = '0'; + --i; + } + while (i >= 4) { + *(stbsp__uint32 *)s = 0x30303030; + s += 4; + i -= 4; + } + while (i) { + *s++ = '0'; + --i; + } + if ((stbsp__int32)(l + n) > pr) + l = pr - n; + i = l; + while (i) { + *s++ = *sn++; + --i; + } + tz = pr - (n + l); + cs = 1 + (3 << 24); // how many tens did we write (for commas below) + } else { + cs = (fl & STBSP__TRIPLET_COMMA) ? ((600 - (stbsp__uint32)dp) % 3) : 0; + if ((stbsp__uint32)dp >= l) { + // handle xxxx000*000.0 + n = 0; + for (;;) { + if ((fl & STBSP__TRIPLET_COMMA) && (++cs == 4)) { + cs = 0; + *s++ = stbsp__comma; + } else { + *s++ = sn[n]; + ++n; + if (n >= l) + break; + } + } + if (n < (stbsp__uint32)dp) { + n = dp - n; + if ((fl & STBSP__TRIPLET_COMMA) == 0) { + while (n) { + if ((((stbsp__uintptr)s) & 3) == 0) + break; + *s++ = '0'; + --n; + } + while (n >= 4) { + *(stbsp__uint32 *)s = 0x30303030; + s += 4; + n -= 4; + } + } + while (n) { + if ((fl & STBSP__TRIPLET_COMMA) && (++cs == 4)) { + cs = 0; + *s++ = stbsp__comma; + } else { + *s++ = '0'; + --n; + } + } + } + cs = (int)(s - (num + 64)) + (3 << 24); // cs is how many tens + if (pr) { + *s++ = stbsp__period; + tz = pr; + } + } else { + // handle xxxxx.xxxx000*000 + n = 0; + for (;;) { + if ((fl & STBSP__TRIPLET_COMMA) && (++cs == 4)) { + cs = 0; + *s++ = stbsp__comma; + } else { + *s++ = sn[n]; + ++n; + if (n >= (stbsp__uint32)dp) + break; + } + } + cs = (int)(s - (num + 64)) + (3 << 24); // cs is how many tens + if (pr) + *s++ = stbsp__period; + if ((l - dp) > (stbsp__uint32)pr) + l = pr + dp; + while (n < l) { + *s++ = sn[n]; + ++n; + } + tz = pr - (l - dp); + } + } + pr = 0; + + // handle k,m,g,t + if (fl & STBSP__METRIC_SUFFIX) { + char idx; + idx = 1; + if (fl & STBSP__METRIC_NOSPACE) + idx = 0; + tail[0] = idx; + tail[1] = ' '; + { + if (fl >> 24) { // SI kilo is 'k', JEDEC and SI kibits are 'K'. + if (fl & STBSP__METRIC_1024) + tail[idx + 1] = "_KMGT"[fl >> 24]; + else + tail[idx + 1] = "_kMGT"[fl >> 24]; + idx++; + // If printing kibits and not in jedec, add the 'i'. + if (fl & STBSP__METRIC_1024 && !(fl & STBSP__METRIC_JEDEC)) { + tail[idx + 1] = 'i'; + idx++; + } + tail[0] = idx; + } + } + }; + + flt_lead: + // get the length that we copied + l = (stbsp__uint32)(s - (num + 64)); + s = num + 64; + goto scopy; +#endif + + case 'B': // upper binary + case 'b': // lower binary + h = (f[0] == 'B') ? hexu : hex; + lead[0] = 0; + if (fl & STBSP__LEADING_0X) { + lead[0] = 2; + lead[1] = '0'; + lead[2] = h[0xb]; + } + l = (8 << 4) | (1 << 8); + goto radixnum; + + case 'o': // octal + h = hexu; + lead[0] = 0; + if (fl & STBSP__LEADING_0X) { + lead[0] = 1; + lead[1] = '0'; + } + l = (3 << 4) | (3 << 8); + goto radixnum; + + case 'p': // pointer + fl |= (sizeof(void *) == 8) ? STBSP__INTMAX : 0; + pr = sizeof(void *) * 2; + fl &= ~STBSP__LEADINGZERO; // 'p' only prints the pointer with zeros + // fall through - to X + + case 'X': // upper hex + case 'x': // lower hex + h = (f[0] == 'X') ? hexu : hex; + l = (4 << 4) | (4 << 8); + lead[0] = 0; + if (fl & STBSP__LEADING_0X) { + lead[0] = 2; + lead[1] = '0'; + lead[2] = h[16]; + } + radixnum: + // get the number + if (fl & STBSP__INTMAX) + n64 = va_arg(va, stbsp__uint64); + else + n64 = va_arg(va, stbsp__uint32); + + s = num + STBSP__NUMSZ; + dp = 0; + // clear tail, and clear leading if value is zero + tail[0] = 0; + if (n64 == 0) { + lead[0] = 0; + if (pr == 0) { + l = 0; + cs = 0; + goto scopy; + } + } + // convert to string + for (;;) { + *--s = h[n64 & ((1 << (l >> 8)) - 1)]; + n64 >>= (l >> 8); + if (!((n64) || ((stbsp__int32)((num + STBSP__NUMSZ) - s) < pr))) + break; + if (fl & STBSP__TRIPLET_COMMA) { + ++l; + if ((l & 15) == ((l >> 4) & 15)) { + l &= ~15; + *--s = stbsp__comma; + } + } + }; + // get the tens and the comma pos + cs = (stbsp__uint32)((num + STBSP__NUMSZ) - s) + ((((l >> 4) & 15)) << 24); + // get the length that we copied + l = (stbsp__uint32)((num + STBSP__NUMSZ) - s); + // copy it + goto scopy; + + case 'u': // unsigned + case 'i': + case 'd': // integer + // get the integer and abs it + if (fl & STBSP__INTMAX) { + stbsp__int64 i64 = va_arg(va, stbsp__int64); + n64 = (stbsp__uint64)i64; + if ((f[0] != 'u') && (i64 < 0)) { + n64 = (stbsp__uint64)-i64; + fl |= STBSP__NEGATIVE; + } + } else { + stbsp__int32 i = va_arg(va, stbsp__int32); + n64 = (stbsp__uint32)i; + if ((f[0] != 'u') && (i < 0)) { + n64 = (stbsp__uint32)-i; + fl |= STBSP__NEGATIVE; + } + } + +#ifndef STB_SPRINTF_NOFLOAT + if (fl & STBSP__METRIC_SUFFIX) { + if (n64 < 1024) + pr = 0; + else if (pr == -1) + pr = 1; + fv = (double)(stbsp__int64)n64; + goto doafloat; + } +#endif + + // convert to string + s = num + STBSP__NUMSZ; + l = 0; + + for (;;) { + // do in 32-bit chunks (avoid lots of 64-bit divides even with constant denominators) + char *o = s - 8; + if (n64 >= 100000000) { + n = (stbsp__uint32)(n64 % 100000000); + n64 /= 100000000; + } else { + n = (stbsp__uint32)n64; + n64 = 0; + } + if ((fl & STBSP__TRIPLET_COMMA) == 0) { + do { + s -= 2; + *(stbsp__uint16 *)s = *(stbsp__uint16 *)&stbsp__digitpair.pair[(n % 100) * 2]; + n /= 100; + } while (n); + } + while (n) { + if ((fl & STBSP__TRIPLET_COMMA) && (l++ == 3)) { + l = 0; + *--s = stbsp__comma; + --o; + } else { + *--s = (char)(n % 10) + '0'; + n /= 10; + } + } + if (n64 == 0) { + if ((s[0] == '0') && (s != (num + STBSP__NUMSZ))) + ++s; + break; + } + while (s != o) + if ((fl & STBSP__TRIPLET_COMMA) && (l++ == 3)) { + l = 0; + *--s = stbsp__comma; + --o; + } else { + *--s = '0'; + } + } + + tail[0] = 0; + stbsp__lead_sign(fl, lead); + + // get the length that we copied + l = (stbsp__uint32)((num + STBSP__NUMSZ) - s); + if (l == 0) { + *--s = '0'; + l = 1; + } + cs = l + (3 << 24); + if (pr < 0) + pr = 0; + + scopy: + // get fw=leading/trailing space, pr=leading zeros + if (pr < (stbsp__int32)l) + pr = l; + n = pr + lead[0] + tail[0] + tz; + if (fw < (stbsp__int32)n) + fw = n; + fw -= n; + pr -= l; + + // handle right justify and leading zeros + if ((fl & STBSP__LEFTJUST) == 0) { + if (fl & STBSP__LEADINGZERO) // if leading zeros, everything is in pr + { + pr = (fw > pr) ? fw : pr; + fw = 0; + } else { + fl &= ~STBSP__TRIPLET_COMMA; // if no leading zeros, then no commas + } + } + + // copy the spaces and/or zeros + if (fw + pr) { + stbsp__int32 i; + stbsp__uint32 c; + + // copy leading spaces (or when doing %8.4d stuff) + if ((fl & STBSP__LEFTJUST) == 0) + while (fw > 0) { + stbsp__cb_buf_clamp(i, fw); + fw -= i; + while (i) { + if ((((stbsp__uintptr)bf) & 3) == 0) + break; + *bf++ = ' '; + --i; + } + while (i >= 4) { + *(stbsp__uint32 *)bf = 0x20202020; + bf += 4; + i -= 4; + } + while (i) { + *bf++ = ' '; + --i; + } + stbsp__chk_cb_buf(1); + } + + // copy leader + sn = lead + 1; + while (lead[0]) { + stbsp__cb_buf_clamp(i, lead[0]); + lead[0] -= (char)i; + while (i) { + *bf++ = *sn++; + --i; + } + stbsp__chk_cb_buf(1); + } + + // copy leading zeros + c = cs >> 24; + cs &= 0xffffff; + cs = (fl & STBSP__TRIPLET_COMMA) ? ((stbsp__uint32)(c - ((pr + cs) % (c + 1)))) : 0; + while (pr > 0) { + stbsp__cb_buf_clamp(i, pr); + pr -= i; + if ((fl & STBSP__TRIPLET_COMMA) == 0) { + while (i) { + if ((((stbsp__uintptr)bf) & 3) == 0) + break; + *bf++ = '0'; + --i; + } + while (i >= 4) { + *(stbsp__uint32 *)bf = 0x30303030; + bf += 4; + i -= 4; + } + } + while (i) { + if ((fl & STBSP__TRIPLET_COMMA) && (cs++ == c)) { + cs = 0; + *bf++ = stbsp__comma; + } else + *bf++ = '0'; + --i; + } + stbsp__chk_cb_buf(1); + } + } + + // copy leader if there is still one + sn = lead + 1; + while (lead[0]) { + stbsp__int32 i; + stbsp__cb_buf_clamp(i, lead[0]); + lead[0] -= (char)i; + while (i) { + *bf++ = *sn++; + --i; + } + stbsp__chk_cb_buf(1); + } + + // copy the string + n = l; + while (n) { + stbsp__int32 i; + stbsp__cb_buf_clamp(i, n); + n -= i; + STBSP__UNALIGNED(while (i >= 4) { + *(stbsp__uint32 volatile *)bf = *(stbsp__uint32 volatile *)s; + bf += 4; + s += 4; + i -= 4; + }) + while (i) { + *bf++ = *s++; + --i; + } + stbsp__chk_cb_buf(1); + } + + // copy trailing zeros + while (tz) { + stbsp__int32 i; + stbsp__cb_buf_clamp(i, tz); + tz -= i; + while (i) { + if ((((stbsp__uintptr)bf) & 3) == 0) + break; + *bf++ = '0'; + --i; + } + while (i >= 4) { + *(stbsp__uint32 *)bf = 0x30303030; + bf += 4; + i -= 4; + } + while (i) { + *bf++ = '0'; + --i; + } + stbsp__chk_cb_buf(1); + } + + // copy tail if there is one + sn = tail + 1; + while (tail[0]) { + stbsp__int32 i; + stbsp__cb_buf_clamp(i, tail[0]); + tail[0] -= (char)i; + while (i) { + *bf++ = *sn++; + --i; + } + stbsp__chk_cb_buf(1); + } + + // handle the left justify + if (fl & STBSP__LEFTJUST) + if (fw > 0) { + while (fw) { + stbsp__int32 i; + stbsp__cb_buf_clamp(i, fw); + fw -= i; + while (i) { + if ((((stbsp__uintptr)bf) & 3) == 0) + break; + *bf++ = ' '; + --i; + } + while (i >= 4) { + *(stbsp__uint32 *)bf = 0x20202020; + bf += 4; + i -= 4; + } + while (i--) + *bf++ = ' '; + stbsp__chk_cb_buf(1); + } + } + break; + + default: // unknown, just copy code + s = num + STBSP__NUMSZ - 1; + *s = f[0]; + l = 1; + fw = fl = 0; + lead[0] = 0; + tail[0] = 0; + pr = 0; + dp = 0; + cs = 0; + goto scopy; + } + ++f; + } +endfmt: + + if (!callback) + *bf = 0; + else + stbsp__flush_cb(); + +done: + return tlen + (int)(bf - buf); +} + +// cleanup +#undef STBSP__LEFTJUST +#undef STBSP__LEADINGPLUS +#undef STBSP__LEADINGSPACE +#undef STBSP__LEADING_0X +#undef STBSP__LEADINGZERO +#undef STBSP__INTMAX +#undef STBSP__TRIPLET_COMMA +#undef STBSP__NEGATIVE +#undef STBSP__METRIC_SUFFIX +#undef STBSP__NUMSZ +#undef stbsp__chk_cb_bufL +#undef stbsp__chk_cb_buf +#undef stbsp__flush_cb +#undef stbsp__cb_buf_clamp + +// ============================================================================ +// wrapper functions + +STBSP__PUBLICDEF int STB_SPRINTF_DECORATE(sprintf)(char *buf, char const *fmt, ...) +{ + int result; + va_list va; + va_start(va, fmt); + result = STB_SPRINTF_DECORATE(vsprintfcb)(0, 0, buf, fmt, va); + va_end(va); + return result; +} + +typedef struct stbsp__context { + char *buf; + int count; + int length; + char tmp[STB_SPRINTF_MIN]; +} stbsp__context; + +static char *stbsp__clamp_callback(const char *buf, void *user, int len) +{ + stbsp__context *c = (stbsp__context *)user; + c->length += len; + + if (len > c->count) + len = c->count; + + if (len) { + if (buf != c->buf) { + const char *s, *se; + char *d; + d = c->buf; + s = buf; + se = buf + len; + do { + *d++ = *s++; + } while (s < se); + } + c->buf += len; + c->count -= len; + } + + if (c->count <= 0) + return c->tmp; + return (c->count >= STB_SPRINTF_MIN) ? c->buf : c->tmp; // go direct into buffer if you can +} + +static char * stbsp__count_clamp_callback( const char * buf, void * user, int len ) +{ + stbsp__context * c = (stbsp__context*)user; + (void) sizeof(buf); + + c->length += len; + return c->tmp; // go direct into buffer if you can +} + +STBSP__PUBLICDEF int STB_SPRINTF_DECORATE( vsnprintf )( char * buf, int count, char const * fmt, va_list va ) +{ + stbsp__context c; + + if ( (count == 0) && !buf ) + { + c.length = 0; + + STB_SPRINTF_DECORATE( vsprintfcb )( stbsp__count_clamp_callback, &c, c.tmp, fmt, va ); + } + else + { + int l; + + c.buf = buf; + c.count = count; + c.length = 0; + + STB_SPRINTF_DECORATE( vsprintfcb )( stbsp__clamp_callback, &c, stbsp__clamp_callback(0,&c,0), fmt, va ); + + // zero-terminate + l = (int)( c.buf - buf ); + if ( l >= count ) // should never be greater, only equal (or less) than count + l = count - 1; + buf[l] = 0; + } + + return c.length; +} + +STBSP__PUBLICDEF int STB_SPRINTF_DECORATE(snprintf)(char *buf, int count, char const *fmt, ...) +{ + int result; + va_list va; + va_start(va, fmt); + + result = STB_SPRINTF_DECORATE(vsnprintf)(buf, count, fmt, va); + va_end(va); + + return result; +} + +STBSP__PUBLICDEF int STB_SPRINTF_DECORATE(vsprintf)(char *buf, char const *fmt, va_list va) +{ + return STB_SPRINTF_DECORATE(vsprintfcb)(0, 0, buf, fmt, va); +} + +// ======================================================================= +// low level float utility functions + +#ifndef STB_SPRINTF_NOFLOAT + +// copies d to bits w/ strict aliasing (this compiles to nothing on /Ox) +#define STBSP__COPYFP(dest, src) \ + { \ + int cn; \ + for (cn = 0; cn < 8; cn++) \ + ((char *)&dest)[cn] = ((char *)&src)[cn]; \ + } + +// get float info +static stbsp__int32 stbsp__real_to_parts(stbsp__int64 *bits, stbsp__int32 *expo, double value) +{ + double d; + stbsp__int64 b = 0; + + // load value and round at the frac_digits + d = value; + + STBSP__COPYFP(b, d); + + *bits = b & ((((stbsp__uint64)1) << 52) - 1); + *expo = (stbsp__int32)(((b >> 52) & 2047) - 1023); + + return (stbsp__int32)((stbsp__uint64) b >> 63); +} + +static double const stbsp__bot[23] = { + 1e+000, 1e+001, 1e+002, 1e+003, 1e+004, 1e+005, 1e+006, 1e+007, 1e+008, 1e+009, 1e+010, 1e+011, + 1e+012, 1e+013, 1e+014, 1e+015, 1e+016, 1e+017, 1e+018, 1e+019, 1e+020, 1e+021, 1e+022 +}; +static double const stbsp__negbot[22] = { + 1e-001, 1e-002, 1e-003, 1e-004, 1e-005, 1e-006, 1e-007, 1e-008, 1e-009, 1e-010, 1e-011, + 1e-012, 1e-013, 1e-014, 1e-015, 1e-016, 1e-017, 1e-018, 1e-019, 1e-020, 1e-021, 1e-022 +}; +static double const stbsp__negboterr[22] = { + -5.551115123125783e-018, -2.0816681711721684e-019, -2.0816681711721686e-020, -4.7921736023859299e-021, -8.1803053914031305e-022, 4.5251888174113741e-023, + 4.5251888174113739e-024, -2.0922560830128471e-025, -6.2281591457779853e-026, -3.6432197315497743e-027, 6.0503030718060191e-028, 2.0113352370744385e-029, + -3.0373745563400371e-030, 1.1806906454401013e-032, -7.7705399876661076e-032, 2.0902213275965398e-033, -7.1542424054621921e-034, -7.1542424054621926e-035, + 2.4754073164739869e-036, 5.4846728545790429e-037, 9.2462547772103625e-038, -4.8596774326570872e-039 +}; +static double const stbsp__top[13] = { + 1e+023, 1e+046, 1e+069, 1e+092, 1e+115, 1e+138, 1e+161, 1e+184, 1e+207, 1e+230, 1e+253, 1e+276, 1e+299 +}; +static double const stbsp__negtop[13] = { + 1e-023, 1e-046, 1e-069, 1e-092, 1e-115, 1e-138, 1e-161, 1e-184, 1e-207, 1e-230, 1e-253, 1e-276, 1e-299 +}; +static double const stbsp__toperr[13] = { + 8388608, + 6.8601809640529717e+028, + -7.253143638152921e+052, + -4.3377296974619174e+075, + -1.5559416129466825e+098, + -3.2841562489204913e+121, + -3.7745893248228135e+144, + -1.7356668416969134e+167, + -3.8893577551088374e+190, + -9.9566444326005119e+213, + 6.3641293062232429e+236, + -5.2069140800249813e+259, + -5.2504760255204387e+282 +}; +static double const stbsp__negtoperr[13] = { + 3.9565301985100693e-040, -2.299904345391321e-063, 3.6506201437945798e-086, 1.1875228833981544e-109, + -5.0644902316928607e-132, -6.7156837247865426e-155, -2.812077463003139e-178, -5.7778912386589953e-201, + 7.4997100559334532e-224, -4.6439668915134491e-247, -6.3691100762962136e-270, -9.436808465446358e-293, + 8.0970921678014997e-317 +}; + +#if defined(_MSC_VER) && (_MSC_VER <= 1200) +static stbsp__uint64 const stbsp__powten[20] = { + 1, + 10, + 100, + 1000, + 10000, + 100000, + 1000000, + 10000000, + 100000000, + 1000000000, + 10000000000, + 100000000000, + 1000000000000, + 10000000000000, + 100000000000000, + 1000000000000000, + 10000000000000000, + 100000000000000000, + 1000000000000000000, + 10000000000000000000U +}; +#define stbsp__tento19th ((stbsp__uint64)1000000000000000000) +#else +static stbsp__uint64 const stbsp__powten[20] = { + 1, + 10, + 100, + 1000, + 10000, + 100000, + 1000000, + 10000000, + 100000000, + 1000000000, + 10000000000ULL, + 100000000000ULL, + 1000000000000ULL, + 10000000000000ULL, + 100000000000000ULL, + 1000000000000000ULL, + 10000000000000000ULL, + 100000000000000000ULL, + 1000000000000000000ULL, + 10000000000000000000ULL +}; +#define stbsp__tento19th (1000000000000000000ULL) +#endif + +#define stbsp__ddmulthi(oh, ol, xh, yh) \ + { \ + double ahi = 0, alo, bhi = 0, blo; \ + stbsp__int64 bt; \ + oh = xh * yh; \ + STBSP__COPYFP(bt, xh); \ + bt &= ((~(stbsp__uint64)0) << 27); \ + STBSP__COPYFP(ahi, bt); \ + alo = xh - ahi; \ + STBSP__COPYFP(bt, yh); \ + bt &= ((~(stbsp__uint64)0) << 27); \ + STBSP__COPYFP(bhi, bt); \ + blo = yh - bhi; \ + ol = ((ahi * bhi - oh) + ahi * blo + alo * bhi) + alo * blo; \ + } + +#define stbsp__ddtoS64(ob, xh, xl) \ + { \ + double ahi = 0, alo, vh, t; \ + ob = (stbsp__int64)xh; \ + vh = (double)ob; \ + ahi = (xh - vh); \ + t = (ahi - xh); \ + alo = (xh - (ahi - t)) - (vh + t); \ + ob += (stbsp__int64)(ahi + alo + xl); \ + } + +#define stbsp__ddrenorm(oh, ol) \ + { \ + double s; \ + s = oh + ol; \ + ol = ol - (s - oh); \ + oh = s; \ + } + +#define stbsp__ddmultlo(oh, ol, xh, xl, yh, yl) ol = ol + (xh * yl + xl * yh); + +#define stbsp__ddmultlos(oh, ol, xh, yl) ol = ol + (xh * yl); + +static void stbsp__raise_to_power10(double *ohi, double *olo, double d, stbsp__int32 power) // power can be -323 to +350 +{ + double ph, pl; + if ((power >= 0) && (power <= 22)) { + stbsp__ddmulthi(ph, pl, d, stbsp__bot[power]); + } else { + stbsp__int32 e, et, eb; + double p2h, p2l; + + e = power; + if (power < 0) + e = -e; + et = (e * 0x2c9) >> 14; /* %23 */ + if (et > 13) + et = 13; + eb = e - (et * 23); + + ph = d; + pl = 0.0; + if (power < 0) { + if (eb) { + --eb; + stbsp__ddmulthi(ph, pl, d, stbsp__negbot[eb]); + stbsp__ddmultlos(ph, pl, d, stbsp__negboterr[eb]); + } + if (et) { + stbsp__ddrenorm(ph, pl); + --et; + stbsp__ddmulthi(p2h, p2l, ph, stbsp__negtop[et]); + stbsp__ddmultlo(p2h, p2l, ph, pl, stbsp__negtop[et], stbsp__negtoperr[et]); + ph = p2h; + pl = p2l; + } + } else { + if (eb) { + e = eb; + if (eb > 22) + eb = 22; + e -= eb; + stbsp__ddmulthi(ph, pl, d, stbsp__bot[eb]); + if (e) { + stbsp__ddrenorm(ph, pl); + stbsp__ddmulthi(p2h, p2l, ph, stbsp__bot[e]); + stbsp__ddmultlos(p2h, p2l, stbsp__bot[e], pl); + ph = p2h; + pl = p2l; + } + } + if (et) { + stbsp__ddrenorm(ph, pl); + --et; + stbsp__ddmulthi(p2h, p2l, ph, stbsp__top[et]); + stbsp__ddmultlo(p2h, p2l, ph, pl, stbsp__top[et], stbsp__toperr[et]); + ph = p2h; + pl = p2l; + } + } + } + stbsp__ddrenorm(ph, pl); + *ohi = ph; + *olo = pl; +} + +// given a float value, returns the significant bits in bits, and the position of the +// decimal point in decimal_pos. +/-INF and NAN are specified by special values +// returned in the decimal_pos parameter. +// frac_digits is absolute normally, but if you want from first significant digits (got %g and %e), or in 0x80000000 +static stbsp__int32 stbsp__real_to_str(char const **start, stbsp__uint32 *len, char *out, stbsp__int32 *decimal_pos, double value, stbsp__uint32 frac_digits) +{ + double d; + stbsp__int64 bits = 0; + stbsp__int32 expo, e, ng, tens; + + d = value; + STBSP__COPYFP(bits, d); + expo = (stbsp__int32)((bits >> 52) & 2047); + ng = (stbsp__int32)((stbsp__uint64) bits >> 63); + if (ng) + d = -d; + + if (expo == 2047) // is nan or inf? + { + *start = (bits & ((((stbsp__uint64)1) << 52) - 1)) ? "NaN" : "Inf"; + *decimal_pos = STBSP__SPECIAL; + *len = 3; + return ng; + } + + if (expo == 0) // is zero or denormal + { + if (((stbsp__uint64) bits << 1) == 0) // do zero + { + *decimal_pos = 1; + *start = out; + out[0] = '0'; + *len = 1; + return ng; + } + // find the right expo for denormals + { + stbsp__int64 v = ((stbsp__uint64)1) << 51; + while ((bits & v) == 0) { + --expo; + v >>= 1; + } + } + } + + // find the decimal exponent as well as the decimal bits of the value + { + double ph, pl; + + // log10 estimate - very specifically tweaked to hit or undershoot by no more than 1 of log10 of all expos 1..2046 + tens = expo - 1023; + tens = (tens < 0) ? ((tens * 617) / 2048) : (((tens * 1233) / 4096) + 1); + + // move the significant bits into position and stick them into an int + stbsp__raise_to_power10(&ph, &pl, d, 18 - tens); + + // get full as much precision from double-double as possible + stbsp__ddtoS64(bits, ph, pl); + + // check if we undershot + if (((stbsp__uint64)bits) >= stbsp__tento19th) + ++tens; + } + + // now do the rounding in integer land + frac_digits = (frac_digits & 0x80000000) ? ((frac_digits & 0x7ffffff) + 1) : (tens + frac_digits); + if ((frac_digits < 24)) { + stbsp__uint32 dg = 1; + if ((stbsp__uint64)bits >= stbsp__powten[9]) + dg = 10; + while ((stbsp__uint64)bits >= stbsp__powten[dg]) { + ++dg; + if (dg == 20) + goto noround; + } + if (frac_digits < dg) { + stbsp__uint64 r; + // add 0.5 at the right position and round + e = dg - frac_digits; + if ((stbsp__uint32)e >= 24) + goto noround; + r = stbsp__powten[e]; + bits = bits + (r / 2); + if ((stbsp__uint64)bits >= stbsp__powten[dg]) + ++tens; + bits /= r; + } + noround:; + } + + // kill long trailing runs of zeros + if (bits) { + stbsp__uint32 n; + for (;;) { + if (bits <= 0xffffffff) + break; + if (bits % 1000) + goto donez; + bits /= 1000; + } + n = (stbsp__uint32)bits; + while ((n % 1000) == 0) + n /= 1000; + bits = n; + donez:; + } + + // convert to string + out += 64; + e = 0; + for (;;) { + stbsp__uint32 n; + char *o = out - 8; + // do the conversion in chunks of U32s (avoid most 64-bit divides, worth it, constant denomiators be damned) + if (bits >= 100000000) { + n = (stbsp__uint32)(bits % 100000000); + bits /= 100000000; + } else { + n = (stbsp__uint32)bits; + bits = 0; + } + while (n) { + out -= 2; + *(stbsp__uint16 *)out = *(stbsp__uint16 *)&stbsp__digitpair.pair[(n % 100) * 2]; + n /= 100; + e += 2; + } + if (bits == 0) { + if ((e) && (out[0] == '0')) { + ++out; + --e; + } + break; + } + while (out != o) { + *--out = '0'; + ++e; + } + } + + *decimal_pos = tens; + *start = out; + *len = e; + return ng; +} + +#undef stbsp__ddmulthi +#undef stbsp__ddrenorm +#undef stbsp__ddmultlo +#undef stbsp__ddmultlos +#undef STBSP__SPECIAL +#undef STBSP__COPYFP + +#endif // STB_SPRINTF_NOFLOAT + +// clean up +#undef stbsp__uint16 +#undef stbsp__uint32 +#undef stbsp__int32 +#undef stbsp__uint64 +#undef stbsp__int64 +#undef STBSP__UNALIGNED + +#endif // STB_SPRINTF_IMPLEMENTATION + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ diff --git a/src/kernel/userland/doom/stdio.h b/src/kernel/userland/doom/stdio.h new file mode 100644 index 0000000..28a93be --- /dev/null +++ b/src/kernel/userland/doom/stdio.h @@ -0,0 +1 @@ +#include "boredos_libc.h" diff --git a/src/kernel/userland/doom/string.h b/src/kernel/userland/doom/string.h new file mode 100644 index 0000000..28a93be --- /dev/null +++ b/src/kernel/userland/doom/string.h @@ -0,0 +1 @@ +#include "boredos_libc.h" diff --git a/src/kernel/userland/doom/strings.h b/src/kernel/userland/doom/strings.h new file mode 100644 index 0000000..28a93be --- /dev/null +++ b/src/kernel/userland/doom/strings.h @@ -0,0 +1 @@ +#include "boredos_libc.h" diff --git a/src/kernel/userland/doom/sys/stat.h b/src/kernel/userland/doom/sys/stat.h new file mode 100644 index 0000000..9300dee --- /dev/null +++ b/src/kernel/userland/doom/sys/stat.h @@ -0,0 +1 @@ +#include "../boredos_libc.h" diff --git a/src/kernel/userland/doom/sys/types.h b/src/kernel/userland/doom/sys/types.h new file mode 100644 index 0000000..9300dee --- /dev/null +++ b/src/kernel/userland/doom/sys/types.h @@ -0,0 +1 @@ +#include "../boredos_libc.h" diff --git a/src/kernel/userland/doom/tables.c b/src/kernel/userland/doom/tables.c new file mode 100644 index 0000000..c221e9a --- /dev/null +++ b/src/kernel/userland/doom/tables.c @@ -0,0 +1,2227 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Lookup tables. +// Do not try to look them up :-). +// In the order of appearance: +// +// int finetangent[4096] - Tangens LUT. +// Should work with BAM fairly well (12 of 16bit, +// effectively, by shifting). +// +// int finesine[10240] - Sine lookup. +// Guess what, serves as cosine, too. +// Remarkable thing is, how to use BAMs with this? +// +// int tantoangle[2049] - ArcTan LUT, +// maps tan(angle) to angle fast. Gotta search. +// +// + +#include "tables.h" + +// to get a global angle from cartesian coordinates, the coordinates are +// flipped until they are in the first octant of the coordinate system, then +// the y (<=x) is scaled and divided by x to get a tangent (slope) value +// which is looked up in the tantoangle[] table. The +1 size is to handle +// the case when x==y without additional checking. + +int SlopeDiv(unsigned int num, unsigned int den) +{ + unsigned ans; + + if (den < 512) + { + return SLOPERANGE; + } + else + { + ans = (num << 3) / (den >> 8); + + if (ans <= SLOPERANGE) + { + return ans; + } + else + { + return SLOPERANGE; + } + } +} + +const int finetangent[4096] = +{ + -170910304,-56965752,-34178904,-24413316,-18988036,-15535599,-13145455,-11392683, + -10052327,-8994149,-8137527,-7429880,-6835455,-6329090,-5892567,-5512368, + -5178251,-4882318,-4618375,-4381502,-4167737,-3973855,-3797206,-3635590, + -3487165,-3350381,-3223918,-3106651,-2997613,-2895966,-2800983,-2712030, + -2628549,-2550052,-2476104,-2406322,-2340362,-2277919,-2218719,-2162516, + -2109087,-2058233,-2009771,-1963536,-1919378,-1877161,-1836758,-1798063, + -1760956,-1725348,-1691149,-1658278,-1626658,-1596220,-1566898,-1538632, + -1511367,-1485049,-1459630,-1435065,-1411312,-1388330,-1366084,-1344537, + -1323658,-1303416,-1283783,-1264730,-1246234,-1228269,-1210813,-1193846, + -1177345,-1161294,-1145673,-1130465,-1115654,-1101225,-1087164,-1073455, + -1060087,-1047046,-1034322,-1021901,-1009774,-997931,-986361,-975054, + -964003,-953199,-942633,-932298,-922186,-912289,-902602,-893117, + -883829,-874730,-865817,-857081,-848520,-840127,-831898,-823827, + -815910,-808143,-800521,-793041,-785699,-778490,-771411,-764460, + -757631,-750922,-744331,-737853,-731486,-725227,-719074,-713023, + -707072,-701219,-695462,-689797,-684223,-678737,-673338,-668024, + -662792,-657640,-652568,-647572,-642651,-637803,-633028,-628323, + -623686,-619117,-614613,-610174,-605798,-601483,-597229,-593033, + -588896,-584815,-580789,-576818,-572901,-569035,-565221,-561456, + -557741,-554074,-550455,-546881,-543354,-539870,-536431,-533034, + -529680,-526366,-523094,-519861,-516667,-513512,-510394,-507313, + -504269,-501261,-498287,-495348,-492443,-489571,-486732,-483925, + -481150,-478406,-475692,-473009,-470355,-467730,-465133,-462565, + -460024,-457511,-455024,-452564,-450129,-447720,-445337,-442978, + -440643,-438332,-436045,-433781,-431540,-429321,-427125,-424951, + -422798,-420666,-418555,-416465,-414395,-412344,-410314,-408303, + -406311,-404338,-402384,-400448,-398530,-396630,-394747,-392882, + -391034,-389202,-387387,-385589,-383807,-382040,-380290,-378555, + -376835,-375130,-373440,-371765,-370105,-368459,-366826,-365208, + -363604,-362013,-360436,-358872,-357321,-355783,-354257,-352744, + -351244,-349756,-348280,-346816,-345364,-343924,-342495,-341078, + -339671,-338276,-336892,-335519,-334157,-332805,-331464,-330133, + -328812,-327502,-326201,-324910,-323629,-322358,-321097,-319844, + -318601,-317368,-316143,-314928,-313721,-312524,-311335,-310154, + -308983,-307819,-306664,-305517,-304379,-303248,-302126,-301011, + -299904,-298805,-297714,-296630,-295554,-294485,-293423,-292369, + -291322,-290282,-289249,-288223,-287204,-286192,-285186,-284188, + -283195,-282210,-281231,-280258,-279292,-278332,-277378,-276430, + -275489,-274553,-273624,-272700,-271782,-270871,-269965,-269064, + -268169,-267280,-266397,-265519,-264646,-263779,-262917,-262060, + -261209,-260363,-259522,-258686,-257855,-257029,-256208,-255392, + -254581,-253774,-252973,-252176,-251384,-250596,-249813,-249035, + -248261,-247492,-246727,-245966,-245210,-244458,-243711,-242967, + -242228,-241493,-240763,-240036,-239314,-238595,-237881,-237170, + -236463,-235761,-235062,-234367,-233676,-232988,-232304,-231624, + -230948,-230275,-229606,-228941,-228279,-227621,-226966,-226314, + -225666,-225022,-224381,-223743,-223108,-222477,-221849,-221225, + -220603,-219985,-219370,-218758,-218149,-217544,-216941,-216341, + -215745,-215151,-214561,-213973,-213389,-212807,-212228,-211652, + -211079,-210509,-209941,-209376,-208815,-208255,-207699,-207145, + -206594,-206045,-205500,-204956,-204416,-203878,-203342,-202809, + -202279,-201751,-201226,-200703,-200182,-199664,-199149,-198636, + -198125,-197616,-197110,-196606,-196105,-195606,-195109,-194614, + -194122,-193631,-193143,-192658,-192174,-191693,-191213,-190736, + -190261,-189789,-189318,-188849,-188382,-187918,-187455,-186995, + -186536,-186080,-185625,-185173,-184722,-184274,-183827,-183382, + -182939,-182498,-182059,-181622,-181186,-180753,-180321,-179891, + -179463,-179037,-178612,-178190,-177769,-177349,-176932,-176516, + -176102,-175690,-175279,-174870,-174463,-174057,-173653,-173251, + -172850,-172451,-172053,-171657,-171263,-170870,-170479,-170089, + -169701,-169315,-168930,-168546,-168164,-167784,-167405,-167027, + -166651,-166277,-165904,-165532,-165162,-164793,-164426,-164060, + -163695,-163332,-162970,-162610,-162251,-161893,-161537,-161182, + -160828,-160476,-160125,-159775,-159427,-159079,-158734,-158389, + -158046,-157704,-157363,-157024,-156686,-156349,-156013,-155678, + -155345,-155013,-154682,-154352,-154024,-153697,-153370,-153045, + -152722,-152399,-152077,-151757,-151438,-151120,-150803,-150487, + -150172,-149859,-149546,-149235,-148924,-148615,-148307,-148000, + -147693,-147388,-147084,-146782,-146480,-146179,-145879,-145580, + -145282,-144986,-144690,-144395,-144101,-143808,-143517,-143226, + -142936,-142647,-142359,-142072,-141786,-141501,-141217,-140934, + -140651,-140370,-140090,-139810,-139532,-139254,-138977,-138701, + -138426,-138152,-137879,-137607,-137335,-137065,-136795,-136526, + -136258,-135991,-135725,-135459,-135195,-134931,-134668,-134406, + -134145,-133884,-133625,-133366,-133108,-132851,-132594,-132339, + -132084,-131830,-131576,-131324,-131072,-130821,-130571,-130322, + -130073,-129825,-129578,-129332,-129086,-128841,-128597,-128353, + -128111,-127869,-127627,-127387,-127147,-126908,-126669,-126432, + -126195,-125959,-125723,-125488,-125254,-125020,-124787,-124555, + -124324,-124093,-123863,-123633,-123404,-123176,-122949,-122722, + -122496,-122270,-122045,-121821,-121597,-121374,-121152,-120930, + -120709,-120489,-120269,-120050,-119831,-119613,-119396,-119179, + -118963,-118747,-118532,-118318,-118104,-117891,-117678,-117466, + -117254,-117044,-116833,-116623,-116414,-116206,-115998,-115790, + -115583,-115377,-115171,-114966,-114761,-114557,-114354,-114151, + -113948,-113746,-113545,-113344,-113143,-112944,-112744,-112546, + -112347,-112150,-111952,-111756,-111560,-111364,-111169,-110974, + -110780,-110586,-110393,-110200,-110008,-109817,-109626,-109435, + -109245,-109055,-108866,-108677,-108489,-108301,-108114,-107927, + -107741,-107555,-107369,-107184,-107000,-106816,-106632,-106449, + -106266,-106084,-105902,-105721,-105540,-105360,-105180,-105000, + -104821,-104643,-104465,-104287,-104109,-103933,-103756,-103580, + -103404,-103229,-103054,-102880,-102706,-102533,-102360,-102187, + -102015,-101843,-101671,-101500,-101330,-101159,-100990,-100820, + -100651,-100482,-100314,-100146,-99979,-99812,-99645,-99479, + -99313,-99148,-98982,-98818,-98653,-98489,-98326,-98163, + -98000,-97837,-97675,-97513,-97352,-97191,-97030,-96870, + -96710,-96551,-96391,-96233,-96074,-95916,-95758,-95601, + -95444,-95287,-95131,-94975,-94819,-94664,-94509,-94354, + -94200,-94046,-93892,-93739,-93586,-93434,-93281,-93129, + -92978,-92826,-92675,-92525,-92375,-92225,-92075,-91926, + -91777,-91628,-91480,-91332,-91184,-91036,-90889,-90742, + -90596,-90450,-90304,-90158,-90013,-89868,-89724,-89579, + -89435,-89292,-89148,-89005,-88862,-88720,-88577,-88435, + -88294,-88152,-88011,-87871,-87730,-87590,-87450,-87310, + -87171,-87032,-86893,-86755,-86616,-86479,-86341,-86204, + -86066,-85930,-85793,-85657,-85521,-85385,-85250,-85114, + -84980,-84845,-84710,-84576,-84443,-84309,-84176,-84043, + -83910,-83777,-83645,-83513,-83381,-83250,-83118,-82987, + -82857,-82726,-82596,-82466,-82336,-82207,-82078,-81949, + -81820,-81691,-81563,-81435,-81307,-81180,-81053,-80925, + -80799,-80672,-80546,-80420,-80294,-80168,-80043,-79918, + -79793,-79668,-79544,-79420,-79296,-79172,-79048,-78925, + -78802,-78679,-78557,-78434,-78312,-78190,-78068,-77947, + -77826,-77705,-77584,-77463,-77343,-77223,-77103,-76983, + -76864,-76744,-76625,-76506,-76388,-76269,-76151,-76033, + -75915,-75797,-75680,-75563,-75446,-75329,-75213,-75096, + -74980,-74864,-74748,-74633,-74517,-74402,-74287,-74172, + -74058,-73944,-73829,-73715,-73602,-73488,-73375,-73262, + -73149,-73036,-72923,-72811,-72699,-72587,-72475,-72363, + -72252,-72140,-72029,-71918,-71808,-71697,-71587,-71477, + -71367,-71257,-71147,-71038,-70929,-70820,-70711,-70602, + -70494,-70385,-70277,-70169,-70061,-69954,-69846,-69739, + -69632,-69525,-69418,-69312,-69205,-69099,-68993,-68887, + -68781,-68676,-68570,-68465,-68360,-68255,-68151,-68046, + -67942,-67837,-67733,-67629,-67526,-67422,-67319,-67216, + -67113,-67010,-66907,-66804,-66702,-66600,-66498,-66396, + -66294,-66192,-66091,-65989,-65888,-65787,-65686,-65586, + -65485,-65385,-65285,-65185,-65085,-64985,-64885,-64786, + -64687,-64587,-64488,-64389,-64291,-64192,-64094,-63996, + -63897,-63799,-63702,-63604,-63506,-63409,-63312,-63215, + -63118,-63021,-62924,-62828,-62731,-62635,-62539,-62443, + -62347,-62251,-62156,-62060,-61965,-61870,-61775,-61680, + -61585,-61491,-61396,-61302,-61208,-61114,-61020,-60926, + -60833,-60739,-60646,-60552,-60459,-60366,-60273,-60181, + -60088,-59996,-59903,-59811,-59719,-59627,-59535,-59444, + -59352,-59261,-59169,-59078,-58987,-58896,-58805,-58715, + -58624,-58534,-58443,-58353,-58263,-58173,-58083,-57994, + -57904,-57815,-57725,-57636,-57547,-57458,-57369,-57281, + -57192,-57104,-57015,-56927,-56839,-56751,-56663,-56575, + -56487,-56400,-56312,-56225,-56138,-56051,-55964,-55877, + -55790,-55704,-55617,-55531,-55444,-55358,-55272,-55186, + -55100,-55015,-54929,-54843,-54758,-54673,-54587,-54502, + -54417,-54333,-54248,-54163,-54079,-53994,-53910,-53826, + -53741,-53657,-53574,-53490,-53406,-53322,-53239,-53156, + -53072,-52989,-52906,-52823,-52740,-52657,-52575,-52492, + -52410,-52327,-52245,-52163,-52081,-51999,-51917,-51835, + -51754,-51672,-51591,-51509,-51428,-51347,-51266,-51185, + -51104,-51023,-50942,-50862,-50781,-50701,-50621,-50540, + -50460,-50380,-50300,-50221,-50141,-50061,-49982,-49902, + -49823,-49744,-49664,-49585,-49506,-49427,-49349,-49270, + -49191,-49113,-49034,-48956,-48878,-48799,-48721,-48643, + -48565,-48488,-48410,-48332,-48255,-48177,-48100,-48022, + -47945,-47868,-47791,-47714,-47637,-47560,-47484,-47407, + -47331,-47254,-47178,-47102,-47025,-46949,-46873,-46797, + -46721,-46646,-46570,-46494,-46419,-46343,-46268,-46193, + -46118,-46042,-45967,-45892,-45818,-45743,-45668,-45593, + -45519,-45444,-45370,-45296,-45221,-45147,-45073,-44999, + -44925,-44851,-44778,-44704,-44630,-44557,-44483,-44410, + -44337,-44263,-44190,-44117,-44044,-43971,-43898,-43826, + -43753,-43680,-43608,-43535,-43463,-43390,-43318,-43246, + -43174,-43102,-43030,-42958,-42886,-42814,-42743,-42671, + -42600,-42528,-42457,-42385,-42314,-42243,-42172,-42101, + -42030,-41959,-41888,-41817,-41747,-41676,-41605,-41535, + -41465,-41394,-41324,-41254,-41184,-41113,-41043,-40973, + -40904,-40834,-40764,-40694,-40625,-40555,-40486,-40416, + -40347,-40278,-40208,-40139,-40070,-40001,-39932,-39863, + -39794,-39726,-39657,-39588,-39520,-39451,-39383,-39314, + -39246,-39178,-39110,-39042,-38973,-38905,-38837,-38770, + -38702,-38634,-38566,-38499,-38431,-38364,-38296,-38229, + -38161,-38094,-38027,-37960,-37893,-37826,-37759,-37692, + -37625,-37558,-37491,-37425,-37358,-37291,-37225,-37158, + -37092,-37026,-36959,-36893,-36827,-36761,-36695,-36629, + -36563,-36497,-36431,-36365,-36300,-36234,-36168,-36103, + -36037,-35972,-35907,-35841,-35776,-35711,-35646,-35580, + -35515,-35450,-35385,-35321,-35256,-35191,-35126,-35062, + -34997,-34932,-34868,-34803,-34739,-34675,-34610,-34546, + -34482,-34418,-34354,-34289,-34225,-34162,-34098,-34034, + -33970,-33906,-33843,-33779,-33715,-33652,-33588,-33525, + -33461,-33398,-33335,-33272,-33208,-33145,-33082,-33019, + -32956,-32893,-32830,-32767,-32705,-32642,-32579,-32516, + -32454,-32391,-32329,-32266,-32204,-32141,-32079,-32017, + -31955,-31892,-31830,-31768,-31706,-31644,-31582,-31520, + -31458,-31396,-31335,-31273,-31211,-31150,-31088,-31026, + -30965,-30904,-30842,-30781,-30719,-30658,-30597,-30536, + -30474,-30413,-30352,-30291,-30230,-30169,-30108,-30048, + -29987,-29926,-29865,-29805,-29744,-29683,-29623,-29562, + -29502,-29441,-29381,-29321,-29260,-29200,-29140,-29080, + -29020,-28959,-28899,-28839,-28779,-28719,-28660,-28600, + -28540,-28480,-28420,-28361,-28301,-28241,-28182,-28122, + -28063,-28003,-27944,-27884,-27825,-27766,-27707,-27647, + -27588,-27529,-27470,-27411,-27352,-27293,-27234,-27175, + -27116,-27057,-26998,-26940,-26881,-26822,-26763,-26705, + -26646,-26588,-26529,-26471,-26412,-26354,-26295,-26237, + -26179,-26120,-26062,-26004,-25946,-25888,-25830,-25772, + -25714,-25656,-25598,-25540,-25482,-25424,-25366,-25308, + -25251,-25193,-25135,-25078,-25020,-24962,-24905,-24847, + -24790,-24732,-24675,-24618,-24560,-24503,-24446,-24389, + -24331,-24274,-24217,-24160,-24103,-24046,-23989,-23932, + -23875,-23818,-23761,-23704,-23647,-23591,-23534,-23477, + -23420,-23364,-23307,-23250,-23194,-23137,-23081,-23024, + -22968,-22911,-22855,-22799,-22742,-22686,-22630,-22573, + -22517,-22461,-22405,-22349,-22293,-22237,-22181,-22125, + -22069,-22013,-21957,-21901,-21845,-21789,-21733,-21678, + -21622,-21566,-21510,-21455,-21399,-21343,-21288,-21232, + -21177,-21121,-21066,-21010,-20955,-20900,-20844,-20789, + -20734,-20678,-20623,-20568,-20513,-20457,-20402,-20347, + -20292,-20237,-20182,-20127,-20072,-20017,-19962,-19907, + -19852,-19797,-19742,-19688,-19633,-19578,-19523,-19469, + -19414,-19359,-19305,-19250,-19195,-19141,-19086,-19032, + -18977,-18923,-18868,-18814,-18760,-18705,-18651,-18597, + -18542,-18488,-18434,-18380,-18325,-18271,-18217,-18163, + -18109,-18055,-18001,-17946,-17892,-17838,-17784,-17731, + -17677,-17623,-17569,-17515,-17461,-17407,-17353,-17300, + -17246,-17192,-17138,-17085,-17031,-16977,-16924,-16870, + -16817,-16763,-16710,-16656,-16603,-16549,-16496,-16442, + -16389,-16335,-16282,-16229,-16175,-16122,-16069,-16015, + -15962,-15909,-15856,-15802,-15749,-15696,-15643,-15590, + -15537,-15484,-15431,-15378,-15325,-15272,-15219,-15166, + -15113,-15060,-15007,-14954,-14901,-14848,-14795,-14743, + -14690,-14637,-14584,-14531,-14479,-14426,-14373,-14321, + -14268,-14215,-14163,-14110,-14057,-14005,-13952,-13900, + -13847,-13795,-13742,-13690,-13637,-13585,-13533,-13480, + -13428,-13375,-13323,-13271,-13218,-13166,-13114,-13062, + -13009,-12957,-12905,-12853,-12800,-12748,-12696,-12644, + -12592,-12540,-12488,-12436,-12383,-12331,-12279,-12227, + -12175,-12123,-12071,-12019,-11967,-11916,-11864,-11812, + -11760,-11708,-11656,-11604,-11552,-11501,-11449,-11397, + -11345,-11293,-11242,-11190,-11138,-11086,-11035,-10983, + -10931,-10880,-10828,-10777,-10725,-10673,-10622,-10570, + -10519,-10467,-10415,-10364,-10312,-10261,-10209,-10158, + -10106,-10055,-10004,-9952,-9901,-9849,-9798,-9747, + -9695,-9644,-9592,-9541,-9490,-9438,-9387,-9336, + -9285,-9233,-9182,-9131,-9080,-9028,-8977,-8926, + -8875,-8824,-8772,-8721,-8670,-8619,-8568,-8517, + -8466,-8414,-8363,-8312,-8261,-8210,-8159,-8108, + -8057,-8006,-7955,-7904,-7853,-7802,-7751,-7700, + -7649,-7598,-7547,-7496,-7445,-7395,-7344,-7293, + -7242,-7191,-7140,-7089,-7038,-6988,-6937,-6886, + -6835,-6784,-6733,-6683,-6632,-6581,-6530,-6480, + -6429,-6378,-6327,-6277,-6226,-6175,-6124,-6074, + -6023,-5972,-5922,-5871,-5820,-5770,-5719,-5668, + -5618,-5567,-5517,-5466,-5415,-5365,-5314,-5264, + -5213,-5162,-5112,-5061,-5011,-4960,-4910,-4859, + -4808,-4758,-4707,-4657,-4606,-4556,-4505,-4455, + -4404,-4354,-4303,-4253,-4202,-4152,-4101,-4051, + -4001,-3950,-3900,-3849,-3799,-3748,-3698,-3648, + -3597,-3547,-3496,-3446,-3395,-3345,-3295,-3244, + -3194,-3144,-3093,-3043,-2992,-2942,-2892,-2841, + -2791,-2741,-2690,-2640,-2590,-2539,-2489,-2439, + -2388,-2338,-2288,-2237,-2187,-2137,-2086,-2036, + -1986,-1935,-1885,-1835,-1784,-1734,-1684,-1633, + -1583,-1533,-1483,-1432,-1382,-1332,-1281,-1231, + -1181,-1131,-1080,-1030,-980,-929,-879,-829, + -779,-728,-678,-628,-578,-527,-477,-427, + -376,-326,-276,-226,-175,-125,-75,-25, + 25,75,125,175,226,276,326,376, + 427,477,527,578,628,678,728,779, + 829,879,929,980,1030,1080,1131,1181, + 1231,1281,1332,1382,1432,1483,1533,1583, + 1633,1684,1734,1784,1835,1885,1935,1986, + 2036,2086,2137,2187,2237,2288,2338,2388, + 2439,2489,2539,2590,2640,2690,2741,2791, + 2841,2892,2942,2992,3043,3093,3144,3194, + 3244,3295,3345,3395,3446,3496,3547,3597, + 3648,3698,3748,3799,3849,3900,3950,4001, + 4051,4101,4152,4202,4253,4303,4354,4404, + 4455,4505,4556,4606,4657,4707,4758,4808, + 4859,4910,4960,5011,5061,5112,5162,5213, + 5264,5314,5365,5415,5466,5517,5567,5618, + 5668,5719,5770,5820,5871,5922,5972,6023, + 6074,6124,6175,6226,6277,6327,6378,6429, + 6480,6530,6581,6632,6683,6733,6784,6835, + 6886,6937,6988,7038,7089,7140,7191,7242, + 7293,7344,7395,7445,7496,7547,7598,7649, + 7700,7751,7802,7853,7904,7955,8006,8057, + 8108,8159,8210,8261,8312,8363,8414,8466, + 8517,8568,8619,8670,8721,8772,8824,8875, + 8926,8977,9028,9080,9131,9182,9233,9285, + 9336,9387,9438,9490,9541,9592,9644,9695, + 9747,9798,9849,9901,9952,10004,10055,10106, + 10158,10209,10261,10312,10364,10415,10467,10519, + 10570,10622,10673,10725,10777,10828,10880,10931, + 10983,11035,11086,11138,11190,11242,11293,11345, + 11397,11449,11501,11552,11604,11656,11708,11760, + 11812,11864,11916,11967,12019,12071,12123,12175, + 12227,12279,12331,12383,12436,12488,12540,12592, + 12644,12696,12748,12800,12853,12905,12957,13009, + 13062,13114,13166,13218,13271,13323,13375,13428, + 13480,13533,13585,13637,13690,13742,13795,13847, + 13900,13952,14005,14057,14110,14163,14215,14268, + 14321,14373,14426,14479,14531,14584,14637,14690, + 14743,14795,14848,14901,14954,15007,15060,15113, + 15166,15219,15272,15325,15378,15431,15484,15537, + 15590,15643,15696,15749,15802,15856,15909,15962, + 16015,16069,16122,16175,16229,16282,16335,16389, + 16442,16496,16549,16603,16656,16710,16763,16817, + 16870,16924,16977,17031,17085,17138,17192,17246, + 17300,17353,17407,17461,17515,17569,17623,17677, + 17731,17784,17838,17892,17946,18001,18055,18109, + 18163,18217,18271,18325,18380,18434,18488,18542, + 18597,18651,18705,18760,18814,18868,18923,18977, + 19032,19086,19141,19195,19250,19305,19359,19414, + 19469,19523,19578,19633,19688,19742,19797,19852, + 19907,19962,20017,20072,20127,20182,20237,20292, + 20347,20402,20457,20513,20568,20623,20678,20734, + 20789,20844,20900,20955,21010,21066,21121,21177, + 21232,21288,21343,21399,21455,21510,21566,21622, + 21678,21733,21789,21845,21901,21957,22013,22069, + 22125,22181,22237,22293,22349,22405,22461,22517, + 22573,22630,22686,22742,22799,22855,22911,22968, + 23024,23081,23137,23194,23250,23307,23364,23420, + 23477,23534,23591,23647,23704,23761,23818,23875, + 23932,23989,24046,24103,24160,24217,24274,24331, + 24389,24446,24503,24560,24618,24675,24732,24790, + 24847,24905,24962,25020,25078,25135,25193,25251, + 25308,25366,25424,25482,25540,25598,25656,25714, + 25772,25830,25888,25946,26004,26062,26120,26179, + 26237,26295,26354,26412,26471,26529,26588,26646, + 26705,26763,26822,26881,26940,26998,27057,27116, + 27175,27234,27293,27352,27411,27470,27529,27588, + 27647,27707,27766,27825,27884,27944,28003,28063, + 28122,28182,28241,28301,28361,28420,28480,28540, + 28600,28660,28719,28779,28839,28899,28959,29020, + 29080,29140,29200,29260,29321,29381,29441,29502, + 29562,29623,29683,29744,29805,29865,29926,29987, + 30048,30108,30169,30230,30291,30352,30413,30474, + 30536,30597,30658,30719,30781,30842,30904,30965, + 31026,31088,31150,31211,31273,31335,31396,31458, + 31520,31582,31644,31706,31768,31830,31892,31955, + 32017,32079,32141,32204,32266,32329,32391,32454, + 32516,32579,32642,32705,32767,32830,32893,32956, + 33019,33082,33145,33208,33272,33335,33398,33461, + 33525,33588,33652,33715,33779,33843,33906,33970, + 34034,34098,34162,34225,34289,34354,34418,34482, + 34546,34610,34675,34739,34803,34868,34932,34997, + 35062,35126,35191,35256,35321,35385,35450,35515, + 35580,35646,35711,35776,35841,35907,35972,36037, + 36103,36168,36234,36300,36365,36431,36497,36563, + 36629,36695,36761,36827,36893,36959,37026,37092, + 37158,37225,37291,37358,37425,37491,37558,37625, + 37692,37759,37826,37893,37960,38027,38094,38161, + 38229,38296,38364,38431,38499,38566,38634,38702, + 38770,38837,38905,38973,39042,39110,39178,39246, + 39314,39383,39451,39520,39588,39657,39726,39794, + 39863,39932,40001,40070,40139,40208,40278,40347, + 40416,40486,40555,40625,40694,40764,40834,40904, + 40973,41043,41113,41184,41254,41324,41394,41465, + 41535,41605,41676,41747,41817,41888,41959,42030, + 42101,42172,42243,42314,42385,42457,42528,42600, + 42671,42743,42814,42886,42958,43030,43102,43174, + 43246,43318,43390,43463,43535,43608,43680,43753, + 43826,43898,43971,44044,44117,44190,44263,44337, + 44410,44483,44557,44630,44704,44778,44851,44925, + 44999,45073,45147,45221,45296,45370,45444,45519, + 45593,45668,45743,45818,45892,45967,46042,46118, + 46193,46268,46343,46419,46494,46570,46646,46721, + 46797,46873,46949,47025,47102,47178,47254,47331, + 47407,47484,47560,47637,47714,47791,47868,47945, + 48022,48100,48177,48255,48332,48410,48488,48565, + 48643,48721,48799,48878,48956,49034,49113,49191, + 49270,49349,49427,49506,49585,49664,49744,49823, + 49902,49982,50061,50141,50221,50300,50380,50460, + 50540,50621,50701,50781,50862,50942,51023,51104, + 51185,51266,51347,51428,51509,51591,51672,51754, + 51835,51917,51999,52081,52163,52245,52327,52410, + 52492,52575,52657,52740,52823,52906,52989,53072, + 53156,53239,53322,53406,53490,53574,53657,53741, + 53826,53910,53994,54079,54163,54248,54333,54417, + 54502,54587,54673,54758,54843,54929,55015,55100, + 55186,55272,55358,55444,55531,55617,55704,55790, + 55877,55964,56051,56138,56225,56312,56400,56487, + 56575,56663,56751,56839,56927,57015,57104,57192, + 57281,57369,57458,57547,57636,57725,57815,57904, + 57994,58083,58173,58263,58353,58443,58534,58624, + 58715,58805,58896,58987,59078,59169,59261,59352, + 59444,59535,59627,59719,59811,59903,59996,60088, + 60181,60273,60366,60459,60552,60646,60739,60833, + 60926,61020,61114,61208,61302,61396,61491,61585, + 61680,61775,61870,61965,62060,62156,62251,62347, + 62443,62539,62635,62731,62828,62924,63021,63118, + 63215,63312,63409,63506,63604,63702,63799,63897, + 63996,64094,64192,64291,64389,64488,64587,64687, + 64786,64885,64985,65085,65185,65285,65385,65485, + 65586,65686,65787,65888,65989,66091,66192,66294, + 66396,66498,66600,66702,66804,66907,67010,67113, + 67216,67319,67422,67526,67629,67733,67837,67942, + 68046,68151,68255,68360,68465,68570,68676,68781, + 68887,68993,69099,69205,69312,69418,69525,69632, + 69739,69846,69954,70061,70169,70277,70385,70494, + 70602,70711,70820,70929,71038,71147,71257,71367, + 71477,71587,71697,71808,71918,72029,72140,72252, + 72363,72475,72587,72699,72811,72923,73036,73149, + 73262,73375,73488,73602,73715,73829,73944,74058, + 74172,74287,74402,74517,74633,74748,74864,74980, + 75096,75213,75329,75446,75563,75680,75797,75915, + 76033,76151,76269,76388,76506,76625,76744,76864, + 76983,77103,77223,77343,77463,77584,77705,77826, + 77947,78068,78190,78312,78434,78557,78679,78802, + 78925,79048,79172,79296,79420,79544,79668,79793, + 79918,80043,80168,80294,80420,80546,80672,80799, + 80925,81053,81180,81307,81435,81563,81691,81820, + 81949,82078,82207,82336,82466,82596,82726,82857, + 82987,83118,83250,83381,83513,83645,83777,83910, + 84043,84176,84309,84443,84576,84710,84845,84980, + 85114,85250,85385,85521,85657,85793,85930,86066, + 86204,86341,86479,86616,86755,86893,87032,87171, + 87310,87450,87590,87730,87871,88011,88152,88294, + 88435,88577,88720,88862,89005,89148,89292,89435, + 89579,89724,89868,90013,90158,90304,90450,90596, + 90742,90889,91036,91184,91332,91480,91628,91777, + 91926,92075,92225,92375,92525,92675,92826,92978, + 93129,93281,93434,93586,93739,93892,94046,94200, + 94354,94509,94664,94819,94975,95131,95287,95444, + 95601,95758,95916,96074,96233,96391,96551,96710, + 96870,97030,97191,97352,97513,97675,97837,98000, + 98163,98326,98489,98653,98818,98982,99148,99313, + 99479,99645,99812,99979,100146,100314,100482,100651, + 100820,100990,101159,101330,101500,101671,101843,102015, + 102187,102360,102533,102706,102880,103054,103229,103404, + 103580,103756,103933,104109,104287,104465,104643,104821, + 105000,105180,105360,105540,105721,105902,106084,106266, + 106449,106632,106816,107000,107184,107369,107555,107741, + 107927,108114,108301,108489,108677,108866,109055,109245, + 109435,109626,109817,110008,110200,110393,110586,110780, + 110974,111169,111364,111560,111756,111952,112150,112347, + 112546,112744,112944,113143,113344,113545,113746,113948, + 114151,114354,114557,114761,114966,115171,115377,115583, + 115790,115998,116206,116414,116623,116833,117044,117254, + 117466,117678,117891,118104,118318,118532,118747,118963, + 119179,119396,119613,119831,120050,120269,120489,120709, + 120930,121152,121374,121597,121821,122045,122270,122496, + 122722,122949,123176,123404,123633,123863,124093,124324, + 124555,124787,125020,125254,125488,125723,125959,126195, + 126432,126669,126908,127147,127387,127627,127869,128111, + 128353,128597,128841,129086,129332,129578,129825,130073, + 130322,130571,130821,131072,131324,131576,131830,132084, + 132339,132594,132851,133108,133366,133625,133884,134145, + 134406,134668,134931,135195,135459,135725,135991,136258, + 136526,136795,137065,137335,137607,137879,138152,138426, + 138701,138977,139254,139532,139810,140090,140370,140651, + 140934,141217,141501,141786,142072,142359,142647,142936, + 143226,143517,143808,144101,144395,144690,144986,145282, + 145580,145879,146179,146480,146782,147084,147388,147693, + 148000,148307,148615,148924,149235,149546,149859,150172, + 150487,150803,151120,151438,151757,152077,152399,152722, + 153045,153370,153697,154024,154352,154682,155013,155345, + 155678,156013,156349,156686,157024,157363,157704,158046, + 158389,158734,159079,159427,159775,160125,160476,160828, + 161182,161537,161893,162251,162610,162970,163332,163695, + 164060,164426,164793,165162,165532,165904,166277,166651, + 167027,167405,167784,168164,168546,168930,169315,169701, + 170089,170479,170870,171263,171657,172053,172451,172850, + 173251,173653,174057,174463,174870,175279,175690,176102, + 176516,176932,177349,177769,178190,178612,179037,179463, + 179891,180321,180753,181186,181622,182059,182498,182939, + 183382,183827,184274,184722,185173,185625,186080,186536, + 186995,187455,187918,188382,188849,189318,189789,190261, + 190736,191213,191693,192174,192658,193143,193631,194122, + 194614,195109,195606,196105,196606,197110,197616,198125, + 198636,199149,199664,200182,200703,201226,201751,202279, + 202809,203342,203878,204416,204956,205500,206045,206594, + 207145,207699,208255,208815,209376,209941,210509,211079, + 211652,212228,212807,213389,213973,214561,215151,215745, + 216341,216941,217544,218149,218758,219370,219985,220603, + 221225,221849,222477,223108,223743,224381,225022,225666, + 226314,226966,227621,228279,228941,229606,230275,230948, + 231624,232304,232988,233676,234367,235062,235761,236463, + 237170,237881,238595,239314,240036,240763,241493,242228, + 242967,243711,244458,245210,245966,246727,247492,248261, + 249035,249813,250596,251384,252176,252973,253774,254581, + 255392,256208,257029,257855,258686,259522,260363,261209, + 262060,262917,263779,264646,265519,266397,267280,268169, + 269064,269965,270871,271782,272700,273624,274553,275489, + 276430,277378,278332,279292,280258,281231,282210,283195, + 284188,285186,286192,287204,288223,289249,290282,291322, + 292369,293423,294485,295554,296630,297714,298805,299904, + 301011,302126,303248,304379,305517,306664,307819,308983, + 310154,311335,312524,313721,314928,316143,317368,318601, + 319844,321097,322358,323629,324910,326201,327502,328812, + 330133,331464,332805,334157,335519,336892,338276,339671, + 341078,342495,343924,345364,346816,348280,349756,351244, + 352744,354257,355783,357321,358872,360436,362013,363604, + 365208,366826,368459,370105,371765,373440,375130,376835, + 378555,380290,382040,383807,385589,387387,389202,391034, + 392882,394747,396630,398530,400448,402384,404338,406311, + 408303,410314,412344,414395,416465,418555,420666,422798, + 424951,427125,429321,431540,433781,436045,438332,440643, + 442978,445337,447720,450129,452564,455024,457511,460024, + 462565,465133,467730,470355,473009,475692,478406,481150, + 483925,486732,489571,492443,495348,498287,501261,504269, + 507313,510394,513512,516667,519861,523094,526366,529680, + 533034,536431,539870,543354,546881,550455,554074,557741, + 561456,565221,569035,572901,576818,580789,584815,588896, + 593033,597229,601483,605798,610174,614613,619117,623686, + 628323,633028,637803,642651,647572,652568,657640,662792, + 668024,673338,678737,684223,689797,695462,701219,707072, + 713023,719074,725227,731486,737853,744331,750922,757631, + 764460,771411,778490,785699,793041,800521,808143,815910, + 823827,831898,840127,848520,857081,865817,874730,883829, + 893117,902602,912289,922186,932298,942633,953199,964003, + 975054,986361,997931,1009774,1021901,1034322,1047046,1060087, + 1073455,1087164,1101225,1115654,1130465,1145673,1161294,1177345, + 1193846,1210813,1228269,1246234,1264730,1283783,1303416,1323658, + 1344537,1366084,1388330,1411312,1435065,1459630,1485049,1511367, + 1538632,1566898,1596220,1626658,1658278,1691149,1725348,1760956, + 1798063,1836758,1877161,1919378,1963536,2009771,2058233,2109087, + 2162516,2218719,2277919,2340362,2406322,2476104,2550052,2628549, + 2712030,2800983,2895966,2997613,3106651,3223918,3350381,3487165, + 3635590,3797206,3973855,4167737,4381502,4618375,4882318,5178251, + 5512368,5892567,6329090,6835455,7429880,8137527,8994149,10052327, + 11392683,13145455,15535599,18988036,24413316,34178904,56965752,170910304 +}; + + +const int finesine[10240] = +{ + 25,75,125,175,226,276,326,376, + 427,477,527,578,628,678,728,779, + 829,879,929,980,1030,1080,1130,1181, + 1231,1281,1331,1382,1432,1482,1532,1583, + 1633,1683,1733,1784,1834,1884,1934,1985, + 2035,2085,2135,2186,2236,2286,2336,2387, + 2437,2487,2537,2587,2638,2688,2738,2788, + 2839,2889,2939,2989,3039,3090,3140,3190, + 3240,3291,3341,3391,3441,3491,3541,3592, + 3642,3692,3742,3792,3843,3893,3943,3993, + 4043,4093,4144,4194,4244,4294,4344,4394, + 4445,4495,4545,4595,4645,4695,4745,4796, + 4846,4896,4946,4996,5046,5096,5146,5197, + 5247,5297,5347,5397,5447,5497,5547,5597, + 5647,5697,5748,5798,5848,5898,5948,5998, + 6048,6098,6148,6198,6248,6298,6348,6398, + 6448,6498,6548,6598,6648,6698,6748,6798, + 6848,6898,6948,6998,7048,7098,7148,7198, + 7248,7298,7348,7398,7448,7498,7548,7598, + 7648,7697,7747,7797,7847,7897,7947,7997, + 8047,8097,8147,8196,8246,8296,8346,8396, + 8446,8496,8545,8595,8645,8695,8745,8794, + 8844,8894,8944,8994,9043,9093,9143,9193, + 9243,9292,9342,9392,9442,9491,9541,9591, + 9640,9690,9740,9790,9839,9889,9939,9988, + 10038,10088,10137,10187,10237,10286,10336,10386, + 10435,10485,10534,10584,10634,10683,10733,10782, + 10832,10882,10931,10981,11030,11080,11129,11179, + 11228,11278,11327,11377,11426,11476,11525,11575, + 11624,11674,11723,11773,11822,11872,11921,11970, + 12020,12069,12119,12168,12218,12267,12316,12366, + 12415,12464,12514,12563,12612,12662,12711,12760, + 12810,12859,12908,12957,13007,13056,13105,13154, + 13204,13253,13302,13351,13401,13450,13499,13548, + 13597,13647,13696,13745,13794,13843,13892,13941, + 13990,14040,14089,14138,14187,14236,14285,14334, + 14383,14432,14481,14530,14579,14628,14677,14726, + 14775,14824,14873,14922,14971,15020,15069,15118, + 15167,15215,15264,15313,15362,15411,15460,15509, + 15557,15606,15655,15704,15753,15802,15850,15899, + 15948,15997,16045,16094,16143,16191,16240,16289, + 16338,16386,16435,16484,16532,16581,16629,16678, + 16727,16775,16824,16872,16921,16970,17018,17067, + 17115,17164,17212,17261,17309,17358,17406,17455, + 17503,17551,17600,17648,17697,17745,17793,17842, + 17890,17939,17987,18035,18084,18132,18180,18228, + 18277,18325,18373,18421,18470,18518,18566,18614, + 18663,18711,18759,18807,18855,18903,18951,19000, + 19048,19096,19144,19192,19240,19288,19336,19384, + 19432,19480,19528,19576,19624,19672,19720,19768, + 19816,19864,19912,19959,20007,20055,20103,20151, + 20199,20246,20294,20342,20390,20438,20485,20533, + 20581,20629,20676,20724,20772,20819,20867,20915, + 20962,21010,21057,21105,21153,21200,21248,21295, + 21343,21390,21438,21485,21533,21580,21628,21675, + 21723,21770,21817,21865,21912,21960,22007,22054, + 22102,22149,22196,22243,22291,22338,22385,22433, + 22480,22527,22574,22621,22668,22716,22763,22810, + 22857,22904,22951,22998,23045,23092,23139,23186, + 23233,23280,23327,23374,23421,23468,23515,23562, + 23609,23656,23703,23750,23796,23843,23890,23937, + 23984,24030,24077,24124,24171,24217,24264,24311, + 24357,24404,24451,24497,24544,24591,24637,24684, + 24730,24777,24823,24870,24916,24963,25009,25056, + 25102,25149,25195,25241,25288,25334,25381,25427, + 25473,25520,25566,25612,25658,25705,25751,25797, + 25843,25889,25936,25982,26028,26074,26120,26166, + 26212,26258,26304,26350,26396,26442,26488,26534, + 26580,26626,26672,26718,26764,26810,26856,26902, + 26947,26993,27039,27085,27131,27176,27222,27268, + 27313,27359,27405,27450,27496,27542,27587,27633, + 27678,27724,27770,27815,27861,27906,27952,27997, + 28042,28088,28133,28179,28224,28269,28315,28360, + 28405,28451,28496,28541,28586,28632,28677,28722, + 28767,28812,28858,28903,28948,28993,29038,29083, + 29128,29173,29218,29263,29308,29353,29398,29443, + 29488,29533,29577,29622,29667,29712,29757,29801, + 29846,29891,29936,29980,30025,30070,30114,30159, + 30204,30248,30293,30337,30382,30426,30471,30515, + 30560,30604,30649,30693,30738,30782,30826,30871, + 30915,30959,31004,31048,31092,31136,31181,31225, + 31269,31313,31357,31402,31446,31490,31534,31578, + 31622,31666,31710,31754,31798,31842,31886,31930, + 31974,32017,32061,32105,32149,32193,32236,32280, + 32324,32368,32411,32455,32499,32542,32586,32630, + 32673,32717,32760,32804,32847,32891,32934,32978, + 33021,33065,33108,33151,33195,33238,33281,33325, + 33368,33411,33454,33498,33541,33584,33627,33670, + 33713,33756,33799,33843,33886,33929,33972,34015, + 34057,34100,34143,34186,34229,34272,34315,34358, + 34400,34443,34486,34529,34571,34614,34657,34699, + 34742,34785,34827,34870,34912,34955,34997,35040, + 35082,35125,35167,35210,35252,35294,35337,35379, + 35421,35464,35506,35548,35590,35633,35675,35717, + 35759,35801,35843,35885,35927,35969,36011,36053, + 36095,36137,36179,36221,36263,36305,36347,36388, + 36430,36472,36514,36555,36597,36639,36681,36722, + 36764,36805,36847,36889,36930,36972,37013,37055, + 37096,37137,37179,37220,37262,37303,37344,37386, + 37427,37468,37509,37551,37592,37633,37674,37715, + 37756,37797,37838,37879,37920,37961,38002,38043, + 38084,38125,38166,38207,38248,38288,38329,38370, + 38411,38451,38492,38533,38573,38614,38655,38695, + 38736,38776,38817,38857,38898,38938,38979,39019, + 39059,39100,39140,39180,39221,39261,39301,39341, + 39382,39422,39462,39502,39542,39582,39622,39662, + 39702,39742,39782,39822,39862,39902,39942,39982, + 40021,40061,40101,40141,40180,40220,40260,40300, + 40339,40379,40418,40458,40497,40537,40576,40616, + 40655,40695,40734,40773,40813,40852,40891,40931, + 40970,41009,41048,41087,41127,41166,41205,41244, + 41283,41322,41361,41400,41439,41478,41517,41556, + 41595,41633,41672,41711,41750,41788,41827,41866, + 41904,41943,41982,42020,42059,42097,42136,42174, + 42213,42251,42290,42328,42366,42405,42443,42481, + 42520,42558,42596,42634,42672,42711,42749,42787, + 42825,42863,42901,42939,42977,43015,43053,43091, + 43128,43166,43204,43242,43280,43317,43355,43393, + 43430,43468,43506,43543,43581,43618,43656,43693, + 43731,43768,43806,43843,43880,43918,43955,43992, + 44029,44067,44104,44141,44178,44215,44252,44289, + 44326,44363,44400,44437,44474,44511,44548,44585, + 44622,44659,44695,44732,44769,44806,44842,44879, + 44915,44952,44989,45025,45062,45098,45135,45171, + 45207,45244,45280,45316,45353,45389,45425,45462, + 45498,45534,45570,45606,45642,45678,45714,45750, + 45786,45822,45858,45894,45930,45966,46002,46037, + 46073,46109,46145,46180,46216,46252,46287,46323, + 46358,46394,46429,46465,46500,46536,46571,46606, + 46642,46677,46712,46747,46783,46818,46853,46888, + 46923,46958,46993,47028,47063,47098,47133,47168, + 47203,47238,47273,47308,47342,47377,47412,47446, + 47481,47516,47550,47585,47619,47654,47688,47723, + 47757,47792,47826,47860,47895,47929,47963,47998, + 48032,48066,48100,48134,48168,48202,48237,48271, + 48305,48338,48372,48406,48440,48474,48508,48542, + 48575,48609,48643,48676,48710,48744,48777,48811, + 48844,48878,48911,48945,48978,49012,49045,49078, + 49112,49145,49178,49211,49244,49278,49311,49344, + 49377,49410,49443,49476,49509,49542,49575,49608, + 49640,49673,49706,49739,49771,49804,49837,49869, + 49902,49935,49967,50000,50032,50065,50097,50129, + 50162,50194,50226,50259,50291,50323,50355,50387, + 50420,50452,50484,50516,50548,50580,50612,50644, + 50675,50707,50739,50771,50803,50834,50866,50898, + 50929,50961,50993,51024,51056,51087,51119,51150, + 51182,51213,51244,51276,51307,51338,51369,51401, + 51432,51463,51494,51525,51556,51587,51618,51649, + 51680,51711,51742,51773,51803,51834,51865,51896, + 51926,51957,51988,52018,52049,52079,52110,52140, + 52171,52201,52231,52262,52292,52322,52353,52383, + 52413,52443,52473,52503,52534,52564,52594,52624, + 52653,52683,52713,52743,52773,52803,52832,52862, + 52892,52922,52951,52981,53010,53040,53069,53099, + 53128,53158,53187,53216,53246,53275,53304,53334, + 53363,53392,53421,53450,53479,53508,53537,53566, + 53595,53624,53653,53682,53711,53739,53768,53797, + 53826,53854,53883,53911,53940,53969,53997,54026, + 54054,54082,54111,54139,54167,54196,54224,54252, + 54280,54308,54337,54365,54393,54421,54449,54477, + 54505,54533,54560,54588,54616,54644,54672,54699, + 54727,54755,54782,54810,54837,54865,54892,54920, + 54947,54974,55002,55029,55056,55084,55111,55138, + 55165,55192,55219,55246,55274,55300,55327,55354, + 55381,55408,55435,55462,55489,55515,55542,55569, + 55595,55622,55648,55675,55701,55728,55754,55781, + 55807,55833,55860,55886,55912,55938,55965,55991, + 56017,56043,56069,56095,56121,56147,56173,56199, + 56225,56250,56276,56302,56328,56353,56379,56404, + 56430,56456,56481,56507,56532,56557,56583,56608, + 56633,56659,56684,56709,56734,56760,56785,56810, + 56835,56860,56885,56910,56935,56959,56984,57009, + 57034,57059,57083,57108,57133,57157,57182,57206, + 57231,57255,57280,57304,57329,57353,57377,57402, + 57426,57450,57474,57498,57522,57546,57570,57594, + 57618,57642,57666,57690,57714,57738,57762,57785, + 57809,57833,57856,57880,57903,57927,57950,57974, + 57997,58021,58044,58067,58091,58114,58137,58160, + 58183,58207,58230,58253,58276,58299,58322,58345, + 58367,58390,58413,58436,58459,58481,58504,58527, + 58549,58572,58594,58617,58639,58662,58684,58706, + 58729,58751,58773,58795,58818,58840,58862,58884, + 58906,58928,58950,58972,58994,59016,59038,59059, + 59081,59103,59125,59146,59168,59190,59211,59233, + 59254,59276,59297,59318,59340,59361,59382,59404, + 59425,59446,59467,59488,59509,59530,59551,59572, + 59593,59614,59635,59656,59677,59697,59718,59739, + 59759,59780,59801,59821,59842,59862,59883,59903, + 59923,59944,59964,59984,60004,60025,60045,60065, + 60085,60105,60125,60145,60165,60185,60205,60225, + 60244,60264,60284,60304,60323,60343,60363,60382, + 60402,60421,60441,60460,60479,60499,60518,60537, + 60556,60576,60595,60614,60633,60652,60671,60690, + 60709,60728,60747,60766,60785,60803,60822,60841, + 60859,60878,60897,60915,60934,60952,60971,60989, + 61007,61026,61044,61062,61081,61099,61117,61135, + 61153,61171,61189,61207,61225,61243,61261,61279, + 61297,61314,61332,61350,61367,61385,61403,61420, + 61438,61455,61473,61490,61507,61525,61542,61559, + 61577,61594,61611,61628,61645,61662,61679,61696, + 61713,61730,61747,61764,61780,61797,61814,61831, + 61847,61864,61880,61897,61913,61930,61946,61963, + 61979,61995,62012,62028,62044,62060,62076,62092, + 62108,62125,62141,62156,62172,62188,62204,62220, + 62236,62251,62267,62283,62298,62314,62329,62345, + 62360,62376,62391,62407,62422,62437,62453,62468, + 62483,62498,62513,62528,62543,62558,62573,62588, + 62603,62618,62633,62648,62662,62677,62692,62706, + 62721,62735,62750,62764,62779,62793,62808,62822, + 62836,62850,62865,62879,62893,62907,62921,62935, + 62949,62963,62977,62991,63005,63019,63032,63046, + 63060,63074,63087,63101,63114,63128,63141,63155, + 63168,63182,63195,63208,63221,63235,63248,63261, + 63274,63287,63300,63313,63326,63339,63352,63365, + 63378,63390,63403,63416,63429,63441,63454,63466, + 63479,63491,63504,63516,63528,63541,63553,63565, + 63578,63590,63602,63614,63626,63638,63650,63662, + 63674,63686,63698,63709,63721,63733,63745,63756, + 63768,63779,63791,63803,63814,63825,63837,63848, + 63859,63871,63882,63893,63904,63915,63927,63938, + 63949,63960,63971,63981,63992,64003,64014,64025, + 64035,64046,64057,64067,64078,64088,64099,64109, + 64120,64130,64140,64151,64161,64171,64181,64192, + 64202,64212,64222,64232,64242,64252,64261,64271, + 64281,64291,64301,64310,64320,64330,64339,64349, + 64358,64368,64377,64387,64396,64405,64414,64424, + 64433,64442,64451,64460,64469,64478,64487,64496, + 64505,64514,64523,64532,64540,64549,64558,64566, + 64575,64584,64592,64601,64609,64617,64626,64634, + 64642,64651,64659,64667,64675,64683,64691,64699, + 64707,64715,64723,64731,64739,64747,64754,64762, + 64770,64777,64785,64793,64800,64808,64815,64822, + 64830,64837,64844,64852,64859,64866,64873,64880, + 64887,64895,64902,64908,64915,64922,64929,64936, + 64943,64949,64956,64963,64969,64976,64982,64989, + 64995,65002,65008,65015,65021,65027,65033,65040, + 65046,65052,65058,65064,65070,65076,65082,65088, + 65094,65099,65105,65111,65117,65122,65128,65133, + 65139,65144,65150,65155,65161,65166,65171,65177, + 65182,65187,65192,65197,65202,65207,65212,65217, + 65222,65227,65232,65237,65242,65246,65251,65256, + 65260,65265,65270,65274,65279,65283,65287,65292, + 65296,65300,65305,65309,65313,65317,65321,65325, + 65329,65333,65337,65341,65345,65349,65352,65356, + 65360,65363,65367,65371,65374,65378,65381,65385, + 65388,65391,65395,65398,65401,65404,65408,65411, + 65414,65417,65420,65423,65426,65429,65431,65434, + 65437,65440,65442,65445,65448,65450,65453,65455, + 65458,65460,65463,65465,65467,65470,65472,65474, + 65476,65478,65480,65482,65484,65486,65488,65490, + 65492,65494,65496,65497,65499,65501,65502,65504, + 65505,65507,65508,65510,65511,65513,65514,65515, + 65516,65518,65519,65520,65521,65522,65523,65524, + 65525,65526,65527,65527,65528,65529,65530,65530, + 65531,65531,65532,65532,65533,65533,65534,65534, + 65534,65535,65535,65535,65535,65535,65535,65535, + 65535,65535,65535,65535,65535,65535,65535,65534, + 65534,65534,65533,65533,65532,65532,65531,65531, + 65530,65530,65529,65528,65527,65527,65526,65525, + 65524,65523,65522,65521,65520,65519,65518,65516, + 65515,65514,65513,65511,65510,65508,65507,65505, + 65504,65502,65501,65499,65497,65496,65494,65492, + 65490,65488,65486,65484,65482,65480,65478,65476, + 65474,65472,65470,65467,65465,65463,65460,65458, + 65455,65453,65450,65448,65445,65442,65440,65437, + 65434,65431,65429,65426,65423,65420,65417,65414, + 65411,65408,65404,65401,65398,65395,65391,65388, + 65385,65381,65378,65374,65371,65367,65363,65360, + 65356,65352,65349,65345,65341,65337,65333,65329, + 65325,65321,65317,65313,65309,65305,65300,65296, + 65292,65287,65283,65279,65274,65270,65265,65260, + 65256,65251,65246,65242,65237,65232,65227,65222, + 65217,65212,65207,65202,65197,65192,65187,65182, + 65177,65171,65166,65161,65155,65150,65144,65139, + 65133,65128,65122,65117,65111,65105,65099,65094, + 65088,65082,65076,65070,65064,65058,65052,65046, + 65040,65033,65027,65021,65015,65008,65002,64995, + 64989,64982,64976,64969,64963,64956,64949,64943, + 64936,64929,64922,64915,64908,64902,64895,64887, + 64880,64873,64866,64859,64852,64844,64837,64830, + 64822,64815,64808,64800,64793,64785,64777,64770, + 64762,64754,64747,64739,64731,64723,64715,64707, + 64699,64691,64683,64675,64667,64659,64651,64642, + 64634,64626,64617,64609,64600,64592,64584,64575, + 64566,64558,64549,64540,64532,64523,64514,64505, + 64496,64487,64478,64469,64460,64451,64442,64433, + 64424,64414,64405,64396,64387,64377,64368,64358, + 64349,64339,64330,64320,64310,64301,64291,64281, + 64271,64261,64252,64242,64232,64222,64212,64202, + 64192,64181,64171,64161,64151,64140,64130,64120, + 64109,64099,64088,64078,64067,64057,64046,64035, + 64025,64014,64003,63992,63981,63971,63960,63949, + 63938,63927,63915,63904,63893,63882,63871,63859, + 63848,63837,63825,63814,63803,63791,63779,63768, + 63756,63745,63733,63721,63709,63698,63686,63674, + 63662,63650,63638,63626,63614,63602,63590,63578, + 63565,63553,63541,63528,63516,63504,63491,63479, + 63466,63454,63441,63429,63416,63403,63390,63378, + 63365,63352,63339,63326,63313,63300,63287,63274, + 63261,63248,63235,63221,63208,63195,63182,63168, + 63155,63141,63128,63114,63101,63087,63074,63060, + 63046,63032,63019,63005,62991,62977,62963,62949, + 62935,62921,62907,62893,62879,62865,62850,62836, + 62822,62808,62793,62779,62764,62750,62735,62721, + 62706,62692,62677,62662,62648,62633,62618,62603, + 62588,62573,62558,62543,62528,62513,62498,62483, + 62468,62453,62437,62422,62407,62391,62376,62360, + 62345,62329,62314,62298,62283,62267,62251,62236, + 62220,62204,62188,62172,62156,62141,62125,62108, + 62092,62076,62060,62044,62028,62012,61995,61979, + 61963,61946,61930,61913,61897,61880,61864,61847, + 61831,61814,61797,61780,61764,61747,61730,61713, + 61696,61679,61662,61645,61628,61611,61594,61577, + 61559,61542,61525,61507,61490,61473,61455,61438, + 61420,61403,61385,61367,61350,61332,61314,61297, + 61279,61261,61243,61225,61207,61189,61171,61153, + 61135,61117,61099,61081,61062,61044,61026,61007, + 60989,60971,60952,60934,60915,60897,60878,60859, + 60841,60822,60803,60785,60766,60747,60728,60709, + 60690,60671,60652,60633,60614,60595,60576,60556, + 60537,60518,60499,60479,60460,60441,60421,60402, + 60382,60363,60343,60323,60304,60284,60264,60244, + 60225,60205,60185,60165,60145,60125,60105,60085, + 60065,60045,60025,60004,59984,59964,59944,59923, + 59903,59883,59862,59842,59821,59801,59780,59759, + 59739,59718,59697,59677,59656,59635,59614,59593, + 59572,59551,59530,59509,59488,59467,59446,59425, + 59404,59382,59361,59340,59318,59297,59276,59254, + 59233,59211,59190,59168,59146,59125,59103,59081, + 59059,59038,59016,58994,58972,58950,58928,58906, + 58884,58862,58840,58818,58795,58773,58751,58729, + 58706,58684,58662,58639,58617,58594,58572,58549, + 58527,58504,58481,58459,58436,58413,58390,58367, + 58345,58322,58299,58276,58253,58230,58207,58183, + 58160,58137,58114,58091,58067,58044,58021,57997, + 57974,57950,57927,57903,57880,57856,57833,57809, + 57785,57762,57738,57714,57690,57666,57642,57618, + 57594,57570,57546,57522,57498,57474,57450,57426, + 57402,57377,57353,57329,57304,57280,57255,57231, + 57206,57182,57157,57133,57108,57083,57059,57034, + 57009,56984,56959,56935,56910,56885,56860,56835, + 56810,56785,56760,56734,56709,56684,56659,56633, + 56608,56583,56557,56532,56507,56481,56456,56430, + 56404,56379,56353,56328,56302,56276,56250,56225, + 56199,56173,56147,56121,56095,56069,56043,56017, + 55991,55965,55938,55912,55886,55860,55833,55807, + 55781,55754,55728,55701,55675,55648,55622,55595, + 55569,55542,55515,55489,55462,55435,55408,55381, + 55354,55327,55300,55274,55246,55219,55192,55165, + 55138,55111,55084,55056,55029,55002,54974,54947, + 54920,54892,54865,54837,54810,54782,54755,54727, + 54699,54672,54644,54616,54588,54560,54533,54505, + 54477,54449,54421,54393,54365,54337,54308,54280, + 54252,54224,54196,54167,54139,54111,54082,54054, + 54026,53997,53969,53940,53911,53883,53854,53826, + 53797,53768,53739,53711,53682,53653,53624,53595, + 53566,53537,53508,53479,53450,53421,53392,53363, + 53334,53304,53275,53246,53216,53187,53158,53128, + 53099,53069,53040,53010,52981,52951,52922,52892, + 52862,52832,52803,52773,52743,52713,52683,52653, + 52624,52594,52564,52534,52503,52473,52443,52413, + 52383,52353,52322,52292,52262,52231,52201,52171, + 52140,52110,52079,52049,52018,51988,51957,51926, + 51896,51865,51834,51803,51773,51742,51711,51680, + 51649,51618,51587,51556,51525,51494,51463,51432, + 51401,51369,51338,51307,51276,51244,51213,51182, + 51150,51119,51087,51056,51024,50993,50961,50929, + 50898,50866,50834,50803,50771,50739,50707,50675, + 50644,50612,50580,50548,50516,50484,50452,50420, + 50387,50355,50323,50291,50259,50226,50194,50162, + 50129,50097,50065,50032,50000,49967,49935,49902, + 49869,49837,49804,49771,49739,49706,49673,49640, + 49608,49575,49542,49509,49476,49443,49410,49377, + 49344,49311,49278,49244,49211,49178,49145,49112, + 49078,49045,49012,48978,48945,48911,48878,48844, + 48811,48777,48744,48710,48676,48643,48609,48575, + 48542,48508,48474,48440,48406,48372,48338,48304, + 48271,48237,48202,48168,48134,48100,48066,48032, + 47998,47963,47929,47895,47860,47826,47792,47757, + 47723,47688,47654,47619,47585,47550,47516,47481, + 47446,47412,47377,47342,47308,47273,47238,47203, + 47168,47133,47098,47063,47028,46993,46958,46923, + 46888,46853,46818,46783,46747,46712,46677,46642, + 46606,46571,46536,46500,46465,46429,46394,46358, + 46323,46287,46252,46216,46180,46145,46109,46073, + 46037,46002,45966,45930,45894,45858,45822,45786, + 45750,45714,45678,45642,45606,45570,45534,45498, + 45462,45425,45389,45353,45316,45280,45244,45207, + 45171,45135,45098,45062,45025,44989,44952,44915, + 44879,44842,44806,44769,44732,44695,44659,44622, + 44585,44548,44511,44474,44437,44400,44363,44326, + 44289,44252,44215,44178,44141,44104,44067,44029, + 43992,43955,43918,43880,43843,43806,43768,43731, + 43693,43656,43618,43581,43543,43506,43468,43430, + 43393,43355,43317,43280,43242,43204,43166,43128, + 43091,43053,43015,42977,42939,42901,42863,42825, + 42787,42749,42711,42672,42634,42596,42558,42520, + 42481,42443,42405,42366,42328,42290,42251,42213, + 42174,42136,42097,42059,42020,41982,41943,41904, + 41866,41827,41788,41750,41711,41672,41633,41595, + 41556,41517,41478,41439,41400,41361,41322,41283, + 41244,41205,41166,41127,41088,41048,41009,40970, + 40931,40891,40852,40813,40773,40734,40695,40655, + 40616,40576,40537,40497,40458,40418,40379,40339, + 40300,40260,40220,40180,40141,40101,40061,40021, + 39982,39942,39902,39862,39822,39782,39742,39702, + 39662,39622,39582,39542,39502,39462,39422,39382, + 39341,39301,39261,39221,39180,39140,39100,39059, + 39019,38979,38938,38898,38857,38817,38776,38736, + 38695,38655,38614,38573,38533,38492,38451,38411, + 38370,38329,38288,38248,38207,38166,38125,38084, + 38043,38002,37961,37920,37879,37838,37797,37756, + 37715,37674,37633,37592,37551,37509,37468,37427, + 37386,37344,37303,37262,37220,37179,37137,37096, + 37055,37013,36972,36930,36889,36847,36805,36764, + 36722,36681,36639,36597,36556,36514,36472,36430, + 36388,36347,36305,36263,36221,36179,36137,36095, + 36053,36011,35969,35927,35885,35843,35801,35759, + 35717,35675,35633,35590,35548,35506,35464,35421, + 35379,35337,35294,35252,35210,35167,35125,35082, + 35040,34997,34955,34912,34870,34827,34785,34742, + 34699,34657,34614,34571,34529,34486,34443,34400, + 34358,34315,34272,34229,34186,34143,34100,34057, + 34015,33972,33929,33886,33843,33799,33756,33713, + 33670,33627,33584,33541,33498,33454,33411,33368, + 33325,33281,33238,33195,33151,33108,33065,33021, + 32978,32934,32891,32847,32804,32760,32717,32673, + 32630,32586,32542,32499,32455,32411,32368,32324, + 32280,32236,32193,32149,32105,32061,32017,31974, + 31930,31886,31842,31798,31754,31710,31666,31622, + 31578,31534,31490,31446,31402,31357,31313,31269, + 31225,31181,31136,31092,31048,31004,30959,30915, + 30871,30826,30782,30738,30693,30649,30604,30560, + 30515,30471,30426,30382,30337,30293,30248,30204, + 30159,30114,30070,30025,29980,29936,29891,29846, + 29801,29757,29712,29667,29622,29577,29533,29488, + 29443,29398,29353,29308,29263,29218,29173,29128, + 29083,29038,28993,28948,28903,28858,28812,28767, + 28722,28677,28632,28586,28541,28496,28451,28405, + 28360,28315,28269,28224,28179,28133,28088,28042, + 27997,27952,27906,27861,27815,27770,27724,27678, + 27633,27587,27542,27496,27450,27405,27359,27313, + 27268,27222,27176,27131,27085,27039,26993,26947, + 26902,26856,26810,26764,26718,26672,26626,26580, + 26534,26488,26442,26396,26350,26304,26258,26212, + 26166,26120,26074,26028,25982,25936,25889,25843, + 25797,25751,25705,25658,25612,25566,25520,25473, + 25427,25381,25334,25288,25241,25195,25149,25102, + 25056,25009,24963,24916,24870,24823,24777,24730, + 24684,24637,24591,24544,24497,24451,24404,24357, + 24311,24264,24217,24171,24124,24077,24030,23984, + 23937,23890,23843,23796,23750,23703,23656,23609, + 23562,23515,23468,23421,23374,23327,23280,23233, + 23186,23139,23092,23045,22998,22951,22904,22857, + 22810,22763,22716,22668,22621,22574,22527,22480, + 22433,22385,22338,22291,22243,22196,22149,22102, + 22054,22007,21960,21912,21865,21817,21770,21723, + 21675,21628,21580,21533,21485,21438,21390,21343, + 21295,21248,21200,21153,21105,21057,21010,20962, + 20915,20867,20819,20772,20724,20676,20629,20581, + 20533,20485,20438,20390,20342,20294,20246,20199, + 20151,20103,20055,20007,19959,19912,19864,19816, + 19768,19720,19672,19624,19576,19528,19480,19432, + 19384,19336,19288,19240,19192,19144,19096,19048, + 19000,18951,18903,18855,18807,18759,18711,18663, + 18614,18566,18518,18470,18421,18373,18325,18277, + 18228,18180,18132,18084,18035,17987,17939,17890, + 17842,17793,17745,17697,17648,17600,17551,17503, + 17455,17406,17358,17309,17261,17212,17164,17115, + 17067,17018,16970,16921,16872,16824,16775,16727, + 16678,16629,16581,16532,16484,16435,16386,16338, + 16289,16240,16191,16143,16094,16045,15997,15948, + 15899,15850,15802,15753,15704,15655,15606,15557, + 15509,15460,15411,15362,15313,15264,15215,15167, + 15118,15069,15020,14971,14922,14873,14824,14775, + 14726,14677,14628,14579,14530,14481,14432,14383, + 14334,14285,14236,14187,14138,14089,14040,13990, + 13941,13892,13843,13794,13745,13696,13646,13597, + 13548,13499,13450,13401,13351,13302,13253,13204, + 13154,13105,13056,13007,12957,12908,12859,12810, + 12760,12711,12662,12612,12563,12514,12464,12415, + 12366,12316,12267,12218,12168,12119,12069,12020, + 11970,11921,11872,11822,11773,11723,11674,11624, + 11575,11525,11476,11426,11377,11327,11278,11228, + 11179,11129,11080,11030,10981,10931,10882,10832, + 10782,10733,10683,10634,10584,10534,10485,10435, + 10386,10336,10286,10237,10187,10137,10088,10038, + 9988,9939,9889,9839,9790,9740,9690,9640, + 9591,9541,9491,9442,9392,9342,9292,9243, + 9193,9143,9093,9043,8994,8944,8894,8844, + 8794,8745,8695,8645,8595,8545,8496,8446, + 8396,8346,8296,8246,8196,8147,8097,8047, + 7997,7947,7897,7847,7797,7747,7697,7648, + 7598,7548,7498,7448,7398,7348,7298,7248, + 7198,7148,7098,7048,6998,6948,6898,6848, + 6798,6748,6698,6648,6598,6548,6498,6448, + 6398,6348,6298,6248,6198,6148,6098,6048, + 5998,5948,5898,5848,5798,5748,5697,5647, + 5597,5547,5497,5447,5397,5347,5297,5247, + 5197,5146,5096,5046,4996,4946,4896,4846, + 4796,4745,4695,4645,4595,4545,4495,4445, + 4394,4344,4294,4244,4194,4144,4093,4043, + 3993,3943,3893,3843,3792,3742,3692,3642, + 3592,3541,3491,3441,3391,3341,3291,3240, + 3190,3140,3090,3039,2989,2939,2889,2839, + 2788,2738,2688,2638,2587,2537,2487,2437, + 2387,2336,2286,2236,2186,2135,2085,2035, + 1985,1934,1884,1834,1784,1733,1683,1633, + 1583,1532,1482,1432,1382,1331,1281,1231, + 1181,1130,1080,1030,980,929,879,829, + 779,728,678,628,578,527,477,427, + 376,326,276,226,175,125,75,25, + -25,-75,-125,-175,-226,-276,-326,-376, + -427,-477,-527,-578,-628,-678,-728,-779, + -829,-879,-929,-980,-1030,-1080,-1130,-1181, + -1231,-1281,-1331,-1382,-1432,-1482,-1532,-1583, + -1633,-1683,-1733,-1784,-1834,-1884,-1934,-1985, + -2035,-2085,-2135,-2186,-2236,-2286,-2336,-2387, + -2437,-2487,-2537,-2588,-2638,-2688,-2738,-2788, + -2839,-2889,-2939,-2989,-3039,-3090,-3140,-3190, + -3240,-3291,-3341,-3391,-3441,-3491,-3541,-3592, + -3642,-3692,-3742,-3792,-3843,-3893,-3943,-3993, + -4043,-4093,-4144,-4194,-4244,-4294,-4344,-4394, + -4445,-4495,-4545,-4595,-4645,-4695,-4745,-4796, + -4846,-4896,-4946,-4996,-5046,-5096,-5146,-5197, + -5247,-5297,-5347,-5397,-5447,-5497,-5547,-5597, + -5647,-5697,-5748,-5798,-5848,-5898,-5948,-5998, + -6048,-6098,-6148,-6198,-6248,-6298,-6348,-6398, + -6448,-6498,-6548,-6598,-6648,-6698,-6748,-6798, + -6848,-6898,-6948,-6998,-7048,-7098,-7148,-7198, + -7248,-7298,-7348,-7398,-7448,-7498,-7548,-7598, + -7648,-7697,-7747,-7797,-7847,-7897,-7947,-7997, + -8047,-8097,-8147,-8196,-8246,-8296,-8346,-8396, + -8446,-8496,-8545,-8595,-8645,-8695,-8745,-8794, + -8844,-8894,-8944,-8994,-9043,-9093,-9143,-9193, + -9243,-9292,-9342,-9392,-9442,-9491,-9541,-9591, + -9640,-9690,-9740,-9790,-9839,-9889,-9939,-9988, + -10038,-10088,-10137,-10187,-10237,-10286,-10336,-10386, + -10435,-10485,-10534,-10584,-10634,-10683,-10733,-10782, + -10832,-10882,-10931,-10981,-11030,-11080,-11129,-11179, + -11228,-11278,-11327,-11377,-11426,-11476,-11525,-11575, + -11624,-11674,-11723,-11773,-11822,-11872,-11921,-11970, + -12020,-12069,-12119,-12168,-12218,-12267,-12316,-12366, + -12415,-12464,-12514,-12563,-12612,-12662,-12711,-12760, + -12810,-12859,-12908,-12957,-13007,-13056,-13105,-13154, + -13204,-13253,-13302,-13351,-13401,-13450,-13499,-13548, + -13597,-13647,-13696,-13745,-13794,-13843,-13892,-13941, + -13990,-14040,-14089,-14138,-14187,-14236,-14285,-14334, + -14383,-14432,-14481,-14530,-14579,-14628,-14677,-14726, + -14775,-14824,-14873,-14922,-14971,-15020,-15069,-15118, + -15167,-15215,-15264,-15313,-15362,-15411,-15460,-15509, + -15557,-15606,-15655,-15704,-15753,-15802,-15850,-15899, + -15948,-15997,-16045,-16094,-16143,-16191,-16240,-16289, + -16338,-16386,-16435,-16484,-16532,-16581,-16629,-16678, + -16727,-16775,-16824,-16872,-16921,-16970,-17018,-17067, + -17115,-17164,-17212,-17261,-17309,-17358,-17406,-17455, + -17503,-17551,-17600,-17648,-17697,-17745,-17793,-17842, + -17890,-17939,-17987,-18035,-18084,-18132,-18180,-18228, + -18277,-18325,-18373,-18421,-18470,-18518,-18566,-18614, + -18663,-18711,-18759,-18807,-18855,-18903,-18951,-19000, + -19048,-19096,-19144,-19192,-19240,-19288,-19336,-19384, + -19432,-19480,-19528,-19576,-19624,-19672,-19720,-19768, + -19816,-19864,-19912,-19959,-20007,-20055,-20103,-20151, + -20199,-20246,-20294,-20342,-20390,-20438,-20485,-20533, + -20581,-20629,-20676,-20724,-20772,-20819,-20867,-20915, + -20962,-21010,-21057,-21105,-21153,-21200,-21248,-21295, + -21343,-21390,-21438,-21485,-21533,-21580,-21628,-21675, + -21723,-21770,-21817,-21865,-21912,-21960,-22007,-22054, + -22102,-22149,-22196,-22243,-22291,-22338,-22385,-22433, + -22480,-22527,-22574,-22621,-22668,-22716,-22763,-22810, + -22857,-22904,-22951,-22998,-23045,-23092,-23139,-23186, + -23233,-23280,-23327,-23374,-23421,-23468,-23515,-23562, + -23609,-23656,-23703,-23750,-23796,-23843,-23890,-23937, + -23984,-24030,-24077,-24124,-24171,-24217,-24264,-24311, + -24357,-24404,-24451,-24497,-24544,-24591,-24637,-24684, + -24730,-24777,-24823,-24870,-24916,-24963,-25009,-25056, + -25102,-25149,-25195,-25241,-25288,-25334,-25381,-25427, + -25473,-25520,-25566,-25612,-25658,-25705,-25751,-25797, + -25843,-25889,-25936,-25982,-26028,-26074,-26120,-26166, + -26212,-26258,-26304,-26350,-26396,-26442,-26488,-26534, + -26580,-26626,-26672,-26718,-26764,-26810,-26856,-26902, + -26947,-26993,-27039,-27085,-27131,-27176,-27222,-27268, + -27313,-27359,-27405,-27450,-27496,-27542,-27587,-27633, + -27678,-27724,-27770,-27815,-27861,-27906,-27952,-27997, + -28042,-28088,-28133,-28179,-28224,-28269,-28315,-28360, + -28405,-28451,-28496,-28541,-28586,-28632,-28677,-28722, + -28767,-28812,-28858,-28903,-28948,-28993,-29038,-29083, + -29128,-29173,-29218,-29263,-29308,-29353,-29398,-29443, + -29488,-29533,-29577,-29622,-29667,-29712,-29757,-29801, + -29846,-29891,-29936,-29980,-30025,-30070,-30114,-30159, + -30204,-30248,-30293,-30337,-30382,-30426,-30471,-30515, + -30560,-30604,-30649,-30693,-30738,-30782,-30826,-30871, + -30915,-30959,-31004,-31048,-31092,-31136,-31181,-31225, + -31269,-31313,-31357,-31402,-31446,-31490,-31534,-31578, + -31622,-31666,-31710,-31754,-31798,-31842,-31886,-31930, + -31974,-32017,-32061,-32105,-32149,-32193,-32236,-32280, + -32324,-32368,-32411,-32455,-32499,-32542,-32586,-32630, + -32673,-32717,-32760,-32804,-32847,-32891,-32934,-32978, + -33021,-33065,-33108,-33151,-33195,-33238,-33281,-33325, + -33368,-33411,-33454,-33498,-33541,-33584,-33627,-33670, + -33713,-33756,-33799,-33843,-33886,-33929,-33972,-34015, + -34057,-34100,-34143,-34186,-34229,-34272,-34315,-34358, + -34400,-34443,-34486,-34529,-34571,-34614,-34657,-34699, + -34742,-34785,-34827,-34870,-34912,-34955,-34997,-35040, + -35082,-35125,-35167,-35210,-35252,-35294,-35337,-35379, + -35421,-35464,-35506,-35548,-35590,-35633,-35675,-35717, + -35759,-35801,-35843,-35885,-35927,-35969,-36011,-36053, + -36095,-36137,-36179,-36221,-36263,-36305,-36347,-36388, + -36430,-36472,-36514,-36555,-36597,-36639,-36681,-36722, + -36764,-36805,-36847,-36889,-36930,-36972,-37013,-37055, + -37096,-37137,-37179,-37220,-37262,-37303,-37344,-37386, + -37427,-37468,-37509,-37551,-37592,-37633,-37674,-37715, + -37756,-37797,-37838,-37879,-37920,-37961,-38002,-38043, + -38084,-38125,-38166,-38207,-38248,-38288,-38329,-38370, + -38411,-38451,-38492,-38533,-38573,-38614,-38655,-38695, + -38736,-38776,-38817,-38857,-38898,-38938,-38979,-39019, + -39059,-39100,-39140,-39180,-39221,-39261,-39301,-39341, + -39382,-39422,-39462,-39502,-39542,-39582,-39622,-39662, + -39702,-39742,-39782,-39822,-39862,-39902,-39942,-39982, + -40021,-40061,-40101,-40141,-40180,-40220,-40260,-40299, + -40339,-40379,-40418,-40458,-40497,-40537,-40576,-40616, + -40655,-40695,-40734,-40773,-40813,-40852,-40891,-40931, + -40970,-41009,-41048,-41087,-41127,-41166,-41205,-41244, + -41283,-41322,-41361,-41400,-41439,-41478,-41517,-41556, + -41595,-41633,-41672,-41711,-41750,-41788,-41827,-41866, + -41904,-41943,-41982,-42020,-42059,-42097,-42136,-42174, + -42213,-42251,-42290,-42328,-42366,-42405,-42443,-42481, + -42520,-42558,-42596,-42634,-42672,-42711,-42749,-42787, + -42825,-42863,-42901,-42939,-42977,-43015,-43053,-43091, + -43128,-43166,-43204,-43242,-43280,-43317,-43355,-43393, + -43430,-43468,-43506,-43543,-43581,-43618,-43656,-43693, + -43731,-43768,-43806,-43843,-43880,-43918,-43955,-43992, + -44029,-44067,-44104,-44141,-44178,-44215,-44252,-44289, + -44326,-44363,-44400,-44437,-44474,-44511,-44548,-44585, + -44622,-44659,-44695,-44732,-44769,-44806,-44842,-44879, + -44915,-44952,-44989,-45025,-45062,-45098,-45135,-45171, + -45207,-45244,-45280,-45316,-45353,-45389,-45425,-45462, + -45498,-45534,-45570,-45606,-45642,-45678,-45714,-45750, + -45786,-45822,-45858,-45894,-45930,-45966,-46002,-46037, + -46073,-46109,-46145,-46180,-46216,-46252,-46287,-46323, + -46358,-46394,-46429,-46465,-46500,-46536,-46571,-46606, + -46642,-46677,-46712,-46747,-46783,-46818,-46853,-46888, + -46923,-46958,-46993,-47028,-47063,-47098,-47133,-47168, + -47203,-47238,-47273,-47308,-47342,-47377,-47412,-47446, + -47481,-47516,-47550,-47585,-47619,-47654,-47688,-47723, + -47757,-47792,-47826,-47860,-47895,-47929,-47963,-47998, + -48032,-48066,-48100,-48134,-48168,-48202,-48236,-48271, + -48304,-48338,-48372,-48406,-48440,-48474,-48508,-48542, + -48575,-48609,-48643,-48676,-48710,-48744,-48777,-48811, + -48844,-48878,-48911,-48945,-48978,-49012,-49045,-49078, + -49112,-49145,-49178,-49211,-49244,-49278,-49311,-49344, + -49377,-49410,-49443,-49476,-49509,-49542,-49575,-49608, + -49640,-49673,-49706,-49739,-49771,-49804,-49837,-49869, + -49902,-49935,-49967,-50000,-50032,-50065,-50097,-50129, + -50162,-50194,-50226,-50259,-50291,-50323,-50355,-50387, + -50420,-50452,-50484,-50516,-50548,-50580,-50612,-50644, + -50675,-50707,-50739,-50771,-50803,-50834,-50866,-50898, + -50929,-50961,-50993,-51024,-51056,-51087,-51119,-51150, + -51182,-51213,-51244,-51276,-51307,-51338,-51369,-51401, + -51432,-51463,-51494,-51525,-51556,-51587,-51618,-51649, + -51680,-51711,-51742,-51773,-51803,-51834,-51865,-51896, + -51926,-51957,-51988,-52018,-52049,-52079,-52110,-52140, + -52171,-52201,-52231,-52262,-52292,-52322,-52353,-52383, + -52413,-52443,-52473,-52503,-52534,-52564,-52594,-52624, + -52653,-52683,-52713,-52743,-52773,-52803,-52832,-52862, + -52892,-52922,-52951,-52981,-53010,-53040,-53069,-53099, + -53128,-53158,-53187,-53216,-53246,-53275,-53304,-53334, + -53363,-53392,-53421,-53450,-53479,-53508,-53537,-53566, + -53595,-53624,-53653,-53682,-53711,-53739,-53768,-53797, + -53826,-53854,-53883,-53911,-53940,-53969,-53997,-54026, + -54054,-54082,-54111,-54139,-54167,-54196,-54224,-54252, + -54280,-54308,-54337,-54365,-54393,-54421,-54449,-54477, + -54505,-54533,-54560,-54588,-54616,-54644,-54672,-54699, + -54727,-54755,-54782,-54810,-54837,-54865,-54892,-54920, + -54947,-54974,-55002,-55029,-55056,-55084,-55111,-55138, + -55165,-55192,-55219,-55246,-55274,-55300,-55327,-55354, + -55381,-55408,-55435,-55462,-55489,-55515,-55542,-55569, + -55595,-55622,-55648,-55675,-55701,-55728,-55754,-55781, + -55807,-55833,-55860,-55886,-55912,-55938,-55965,-55991, + -56017,-56043,-56069,-56095,-56121,-56147,-56173,-56199, + -56225,-56250,-56276,-56302,-56328,-56353,-56379,-56404, + -56430,-56456,-56481,-56507,-56532,-56557,-56583,-56608, + -56633,-56659,-56684,-56709,-56734,-56760,-56785,-56810, + -56835,-56860,-56885,-56910,-56935,-56959,-56984,-57009, + -57034,-57059,-57083,-57108,-57133,-57157,-57182,-57206, + -57231,-57255,-57280,-57304,-57329,-57353,-57377,-57402, + -57426,-57450,-57474,-57498,-57522,-57546,-57570,-57594, + -57618,-57642,-57666,-57690,-57714,-57738,-57762,-57785, + -57809,-57833,-57856,-57880,-57903,-57927,-57950,-57974, + -57997,-58021,-58044,-58067,-58091,-58114,-58137,-58160, + -58183,-58207,-58230,-58253,-58276,-58299,-58322,-58345, + -58367,-58390,-58413,-58436,-58459,-58481,-58504,-58527, + -58549,-58572,-58594,-58617,-58639,-58662,-58684,-58706, + -58729,-58751,-58773,-58795,-58818,-58840,-58862,-58884, + -58906,-58928,-58950,-58972,-58994,-59016,-59038,-59059, + -59081,-59103,-59125,-59146,-59168,-59190,-59211,-59233, + -59254,-59276,-59297,-59318,-59340,-59361,-59382,-59404, + -59425,-59446,-59467,-59488,-59509,-59530,-59551,-59572, + -59593,-59614,-59635,-59656,-59677,-59697,-59718,-59739, + -59759,-59780,-59801,-59821,-59842,-59862,-59883,-59903, + -59923,-59944,-59964,-59984,-60004,-60025,-60045,-60065, + -60085,-60105,-60125,-60145,-60165,-60185,-60205,-60225, + -60244,-60264,-60284,-60304,-60323,-60343,-60363,-60382, + -60402,-60421,-60441,-60460,-60479,-60499,-60518,-60537, + -60556,-60576,-60595,-60614,-60633,-60652,-60671,-60690, + -60709,-60728,-60747,-60766,-60785,-60803,-60822,-60841, + -60859,-60878,-60897,-60915,-60934,-60952,-60971,-60989, + -61007,-61026,-61044,-61062,-61081,-61099,-61117,-61135, + -61153,-61171,-61189,-61207,-61225,-61243,-61261,-61279, + -61297,-61314,-61332,-61350,-61367,-61385,-61403,-61420, + -61438,-61455,-61473,-61490,-61507,-61525,-61542,-61559, + -61577,-61594,-61611,-61628,-61645,-61662,-61679,-61696, + -61713,-61730,-61747,-61764,-61780,-61797,-61814,-61831, + -61847,-61864,-61880,-61897,-61913,-61930,-61946,-61963, + -61979,-61995,-62012,-62028,-62044,-62060,-62076,-62092, + -62108,-62125,-62141,-62156,-62172,-62188,-62204,-62220, + -62236,-62251,-62267,-62283,-62298,-62314,-62329,-62345, + -62360,-62376,-62391,-62407,-62422,-62437,-62453,-62468, + -62483,-62498,-62513,-62528,-62543,-62558,-62573,-62588, + -62603,-62618,-62633,-62648,-62662,-62677,-62692,-62706, + -62721,-62735,-62750,-62764,-62779,-62793,-62808,-62822, + -62836,-62850,-62865,-62879,-62893,-62907,-62921,-62935, + -62949,-62963,-62977,-62991,-63005,-63019,-63032,-63046, + -63060,-63074,-63087,-63101,-63114,-63128,-63141,-63155, + -63168,-63182,-63195,-63208,-63221,-63235,-63248,-63261, + -63274,-63287,-63300,-63313,-63326,-63339,-63352,-63365, + -63378,-63390,-63403,-63416,-63429,-63441,-63454,-63466, + -63479,-63491,-63504,-63516,-63528,-63541,-63553,-63565, + -63578,-63590,-63602,-63614,-63626,-63638,-63650,-63662, + -63674,-63686,-63698,-63709,-63721,-63733,-63745,-63756, + -63768,-63779,-63791,-63803,-63814,-63825,-63837,-63848, + -63859,-63871,-63882,-63893,-63904,-63915,-63927,-63938, + -63949,-63960,-63971,-63981,-63992,-64003,-64014,-64025, + -64035,-64046,-64057,-64067,-64078,-64088,-64099,-64109, + -64120,-64130,-64140,-64151,-64161,-64171,-64181,-64192, + -64202,-64212,-64222,-64232,-64242,-64252,-64261,-64271, + -64281,-64291,-64301,-64310,-64320,-64330,-64339,-64349, + -64358,-64368,-64377,-64387,-64396,-64405,-64414,-64424, + -64433,-64442,-64451,-64460,-64469,-64478,-64487,-64496, + -64505,-64514,-64523,-64532,-64540,-64549,-64558,-64566, + -64575,-64584,-64592,-64601,-64609,-64617,-64626,-64634, + -64642,-64651,-64659,-64667,-64675,-64683,-64691,-64699, + -64707,-64715,-64723,-64731,-64739,-64747,-64754,-64762, + -64770,-64777,-64785,-64793,-64800,-64808,-64815,-64822, + -64830,-64837,-64844,-64852,-64859,-64866,-64873,-64880, + -64887,-64895,-64902,-64908,-64915,-64922,-64929,-64936, + -64943,-64949,-64956,-64963,-64969,-64976,-64982,-64989, + -64995,-65002,-65008,-65015,-65021,-65027,-65033,-65040, + -65046,-65052,-65058,-65064,-65070,-65076,-65082,-65088, + -65094,-65099,-65105,-65111,-65117,-65122,-65128,-65133, + -65139,-65144,-65150,-65155,-65161,-65166,-65171,-65177, + -65182,-65187,-65192,-65197,-65202,-65207,-65212,-65217, + -65222,-65227,-65232,-65237,-65242,-65246,-65251,-65256, + -65260,-65265,-65270,-65274,-65279,-65283,-65287,-65292, + -65296,-65300,-65305,-65309,-65313,-65317,-65321,-65325, + -65329,-65333,-65337,-65341,-65345,-65349,-65352,-65356, + -65360,-65363,-65367,-65371,-65374,-65378,-65381,-65385, + -65388,-65391,-65395,-65398,-65401,-65404,-65408,-65411, + -65414,-65417,-65420,-65423,-65426,-65429,-65431,-65434, + -65437,-65440,-65442,-65445,-65448,-65450,-65453,-65455, + -65458,-65460,-65463,-65465,-65467,-65470,-65472,-65474, + -65476,-65478,-65480,-65482,-65484,-65486,-65488,-65490, + -65492,-65494,-65496,-65497,-65499,-65501,-65502,-65504, + -65505,-65507,-65508,-65510,-65511,-65513,-65514,-65515, + -65516,-65518,-65519,-65520,-65521,-65522,-65523,-65524, + -65525,-65526,-65527,-65527,-65528,-65529,-65530,-65530, + -65531,-65531,-65532,-65532,-65533,-65533,-65534,-65534, + -65534,-65535,-65535,-65535,-65535,-65535,-65535,-65535, + -65535,-65535,-65535,-65535,-65535,-65535,-65535,-65534, + -65534,-65534,-65533,-65533,-65532,-65532,-65531,-65531, + -65530,-65530,-65529,-65528,-65527,-65527,-65526,-65525, + -65524,-65523,-65522,-65521,-65520,-65519,-65518,-65516, + -65515,-65514,-65513,-65511,-65510,-65508,-65507,-65505, + -65504,-65502,-65501,-65499,-65497,-65496,-65494,-65492, + -65490,-65488,-65486,-65484,-65482,-65480,-65478,-65476, + -65474,-65472,-65470,-65467,-65465,-65463,-65460,-65458, + -65455,-65453,-65450,-65448,-65445,-65442,-65440,-65437, + -65434,-65431,-65429,-65426,-65423,-65420,-65417,-65414, + -65411,-65408,-65404,-65401,-65398,-65395,-65391,-65388, + -65385,-65381,-65378,-65374,-65371,-65367,-65363,-65360, + -65356,-65352,-65349,-65345,-65341,-65337,-65333,-65329, + -65325,-65321,-65317,-65313,-65309,-65305,-65300,-65296, + -65292,-65287,-65283,-65279,-65274,-65270,-65265,-65260, + -65256,-65251,-65246,-65242,-65237,-65232,-65227,-65222, + -65217,-65212,-65207,-65202,-65197,-65192,-65187,-65182, + -65177,-65171,-65166,-65161,-65155,-65150,-65144,-65139, + -65133,-65128,-65122,-65117,-65111,-65105,-65099,-65094, + -65088,-65082,-65076,-65070,-65064,-65058,-65052,-65046, + -65040,-65033,-65027,-65021,-65015,-65008,-65002,-64995, + -64989,-64982,-64976,-64969,-64963,-64956,-64949,-64943, + -64936,-64929,-64922,-64915,-64908,-64902,-64895,-64887, + -64880,-64873,-64866,-64859,-64852,-64844,-64837,-64830, + -64822,-64815,-64808,-64800,-64793,-64785,-64777,-64770, + -64762,-64754,-64747,-64739,-64731,-64723,-64715,-64707, + -64699,-64691,-64683,-64675,-64667,-64659,-64651,-64642, + -64634,-64626,-64617,-64609,-64601,-64592,-64584,-64575, + -64566,-64558,-64549,-64540,-64532,-64523,-64514,-64505, + -64496,-64487,-64478,-64469,-64460,-64451,-64442,-64433, + -64424,-64414,-64405,-64396,-64387,-64377,-64368,-64358, + -64349,-64339,-64330,-64320,-64310,-64301,-64291,-64281, + -64271,-64261,-64252,-64242,-64232,-64222,-64212,-64202, + -64192,-64181,-64171,-64161,-64151,-64140,-64130,-64120, + -64109,-64099,-64088,-64078,-64067,-64057,-64046,-64035, + -64025,-64014,-64003,-63992,-63981,-63971,-63960,-63949, + -63938,-63927,-63915,-63904,-63893,-63882,-63871,-63859, + -63848,-63837,-63825,-63814,-63803,-63791,-63779,-63768, + -63756,-63745,-63733,-63721,-63709,-63698,-63686,-63674, + -63662,-63650,-63638,-63626,-63614,-63602,-63590,-63578, + -63565,-63553,-63541,-63528,-63516,-63504,-63491,-63479, + -63466,-63454,-63441,-63429,-63416,-63403,-63390,-63378, + -63365,-63352,-63339,-63326,-63313,-63300,-63287,-63274, + -63261,-63248,-63235,-63221,-63208,-63195,-63182,-63168, + -63155,-63141,-63128,-63114,-63101,-63087,-63074,-63060, + -63046,-63032,-63019,-63005,-62991,-62977,-62963,-62949, + -62935,-62921,-62907,-62893,-62879,-62865,-62850,-62836, + -62822,-62808,-62793,-62779,-62764,-62750,-62735,-62721, + -62706,-62692,-62677,-62662,-62648,-62633,-62618,-62603, + -62588,-62573,-62558,-62543,-62528,-62513,-62498,-62483, + -62468,-62453,-62437,-62422,-62407,-62391,-62376,-62360, + -62345,-62329,-62314,-62298,-62283,-62267,-62251,-62236, + -62220,-62204,-62188,-62172,-62156,-62141,-62125,-62108, + -62092,-62076,-62060,-62044,-62028,-62012,-61995,-61979, + -61963,-61946,-61930,-61913,-61897,-61880,-61864,-61847, + -61831,-61814,-61797,-61780,-61764,-61747,-61730,-61713, + -61696,-61679,-61662,-61645,-61628,-61611,-61594,-61577, + -61559,-61542,-61525,-61507,-61490,-61473,-61455,-61438, + -61420,-61403,-61385,-61367,-61350,-61332,-61314,-61297, + -61279,-61261,-61243,-61225,-61207,-61189,-61171,-61153, + -61135,-61117,-61099,-61081,-61062,-61044,-61026,-61007, + -60989,-60971,-60952,-60934,-60915,-60897,-60878,-60859, + -60841,-60822,-60803,-60785,-60766,-60747,-60728,-60709, + -60690,-60671,-60652,-60633,-60614,-60595,-60576,-60556, + -60537,-60518,-60499,-60479,-60460,-60441,-60421,-60402, + -60382,-60363,-60343,-60323,-60304,-60284,-60264,-60244, + -60225,-60205,-60185,-60165,-60145,-60125,-60105,-60085, + -60065,-60045,-60025,-60004,-59984,-59964,-59944,-59923, + -59903,-59883,-59862,-59842,-59821,-59801,-59780,-59759, + -59739,-59718,-59697,-59677,-59656,-59635,-59614,-59593, + -59572,-59551,-59530,-59509,-59488,-59467,-59446,-59425, + -59404,-59382,-59361,-59340,-59318,-59297,-59276,-59254, + -59233,-59211,-59189,-59168,-59146,-59125,-59103,-59081, + -59059,-59038,-59016,-58994,-58972,-58950,-58928,-58906, + -58884,-58862,-58840,-58818,-58795,-58773,-58751,-58729, + -58706,-58684,-58662,-58639,-58617,-58594,-58572,-58549, + -58527,-58504,-58481,-58459,-58436,-58413,-58390,-58367, + -58345,-58322,-58299,-58276,-58253,-58230,-58207,-58183, + -58160,-58137,-58114,-58091,-58067,-58044,-58021,-57997, + -57974,-57950,-57927,-57903,-57880,-57856,-57833,-57809, + -57785,-57762,-57738,-57714,-57690,-57666,-57642,-57618, + -57594,-57570,-57546,-57522,-57498,-57474,-57450,-57426, + -57402,-57377,-57353,-57329,-57304,-57280,-57255,-57231, + -57206,-57182,-57157,-57133,-57108,-57083,-57059,-57034, + -57009,-56984,-56959,-56935,-56910,-56885,-56860,-56835, + -56810,-56785,-56760,-56734,-56709,-56684,-56659,-56633, + -56608,-56583,-56557,-56532,-56507,-56481,-56456,-56430, + -56404,-56379,-56353,-56328,-56302,-56276,-56250,-56225, + -56199,-56173,-56147,-56121,-56095,-56069,-56043,-56017, + -55991,-55965,-55938,-55912,-55886,-55860,-55833,-55807, + -55781,-55754,-55728,-55701,-55675,-55648,-55622,-55595, + -55569,-55542,-55515,-55489,-55462,-55435,-55408,-55381, + -55354,-55327,-55300,-55274,-55246,-55219,-55192,-55165, + -55138,-55111,-55084,-55056,-55029,-55002,-54974,-54947, + -54920,-54892,-54865,-54837,-54810,-54782,-54755,-54727, + -54699,-54672,-54644,-54616,-54588,-54560,-54533,-54505, + -54477,-54449,-54421,-54393,-54365,-54337,-54308,-54280, + -54252,-54224,-54196,-54167,-54139,-54111,-54082,-54054, + -54026,-53997,-53969,-53940,-53911,-53883,-53854,-53826, + -53797,-53768,-53739,-53711,-53682,-53653,-53624,-53595, + -53566,-53537,-53508,-53479,-53450,-53421,-53392,-53363, + -53334,-53304,-53275,-53246,-53216,-53187,-53158,-53128, + -53099,-53069,-53040,-53010,-52981,-52951,-52922,-52892, + -52862,-52832,-52803,-52773,-52743,-52713,-52683,-52653, + -52624,-52594,-52564,-52534,-52503,-52473,-52443,-52413, + -52383,-52353,-52322,-52292,-52262,-52231,-52201,-52171, + -52140,-52110,-52079,-52049,-52018,-51988,-51957,-51926, + -51896,-51865,-51834,-51803,-51773,-51742,-51711,-51680, + -51649,-51618,-51587,-51556,-51525,-51494,-51463,-51432, + -51401,-51369,-51338,-51307,-51276,-51244,-51213,-51182, + -51150,-51119,-51087,-51056,-51024,-50993,-50961,-50929, + -50898,-50866,-50834,-50803,-50771,-50739,-50707,-50675, + -50644,-50612,-50580,-50548,-50516,-50484,-50452,-50420, + -50387,-50355,-50323,-50291,-50259,-50226,-50194,-50162, + -50129,-50097,-50065,-50032,-50000,-49967,-49935,-49902, + -49869,-49837,-49804,-49771,-49739,-49706,-49673,-49640, + -49608,-49575,-49542,-49509,-49476,-49443,-49410,-49377, + -49344,-49311,-49278,-49244,-49211,-49178,-49145,-49112, + -49078,-49045,-49012,-48978,-48945,-48911,-48878,-48844, + -48811,-48777,-48744,-48710,-48676,-48643,-48609,-48575, + -48542,-48508,-48474,-48440,-48406,-48372,-48338,-48305, + -48271,-48237,-48202,-48168,-48134,-48100,-48066,-48032, + -47998,-47963,-47929,-47895,-47860,-47826,-47792,-47757, + -47723,-47688,-47654,-47619,-47585,-47550,-47516,-47481, + -47446,-47412,-47377,-47342,-47307,-47273,-47238,-47203, + -47168,-47133,-47098,-47063,-47028,-46993,-46958,-46923, + -46888,-46853,-46818,-46783,-46747,-46712,-46677,-46642, + -46606,-46571,-46536,-46500,-46465,-46429,-46394,-46358, + -46323,-46287,-46251,-46216,-46180,-46145,-46109,-46073, + -46037,-46002,-45966,-45930,-45894,-45858,-45822,-45786, + -45750,-45714,-45678,-45642,-45606,-45570,-45534,-45498, + -45462,-45425,-45389,-45353,-45316,-45280,-45244,-45207, + -45171,-45135,-45098,-45062,-45025,-44989,-44952,-44915, + -44879,-44842,-44806,-44769,-44732,-44695,-44659,-44622, + -44585,-44548,-44511,-44474,-44437,-44400,-44363,-44326, + -44289,-44252,-44215,-44178,-44141,-44104,-44067,-44029, + -43992,-43955,-43918,-43880,-43843,-43806,-43768,-43731, + -43693,-43656,-43618,-43581,-43543,-43506,-43468,-43430, + -43393,-43355,-43317,-43280,-43242,-43204,-43166,-43128, + -43091,-43053,-43015,-42977,-42939,-42901,-42863,-42825, + -42787,-42749,-42711,-42672,-42634,-42596,-42558,-42520, + -42481,-42443,-42405,-42366,-42328,-42290,-42251,-42213, + -42174,-42136,-42097,-42059,-42020,-41982,-41943,-41904, + -41866,-41827,-41788,-41750,-41711,-41672,-41633,-41595, + -41556,-41517,-41478,-41439,-41400,-41361,-41322,-41283, + -41244,-41205,-41166,-41127,-41087,-41048,-41009,-40970, + -40931,-40891,-40852,-40813,-40773,-40734,-40695,-40655, + -40616,-40576,-40537,-40497,-40458,-40418,-40379,-40339, + -40299,-40260,-40220,-40180,-40141,-40101,-40061,-40021, + -39982,-39942,-39902,-39862,-39822,-39782,-39742,-39702, + -39662,-39622,-39582,-39542,-39502,-39462,-39422,-39382, + -39341,-39301,-39261,-39221,-39180,-39140,-39100,-39059, + -39019,-38979,-38938,-38898,-38857,-38817,-38776,-38736, + -38695,-38655,-38614,-38573,-38533,-38492,-38451,-38411, + -38370,-38329,-38288,-38248,-38207,-38166,-38125,-38084, + -38043,-38002,-37961,-37920,-37879,-37838,-37797,-37756, + -37715,-37674,-37633,-37592,-37550,-37509,-37468,-37427, + -37386,-37344,-37303,-37262,-37220,-37179,-37137,-37096, + -37055,-37013,-36972,-36930,-36889,-36847,-36805,-36764, + -36722,-36681,-36639,-36597,-36556,-36514,-36472,-36430, + -36388,-36347,-36305,-36263,-36221,-36179,-36137,-36095, + -36053,-36011,-35969,-35927,-35885,-35843,-35801,-35759, + -35717,-35675,-35633,-35590,-35548,-35506,-35464,-35421, + -35379,-35337,-35294,-35252,-35210,-35167,-35125,-35082, + -35040,-34997,-34955,-34912,-34870,-34827,-34785,-34742, + -34699,-34657,-34614,-34571,-34529,-34486,-34443,-34400, + -34358,-34315,-34272,-34229,-34186,-34143,-34100,-34057, + -34015,-33972,-33929,-33886,-33843,-33799,-33756,-33713, + -33670,-33627,-33584,-33541,-33498,-33454,-33411,-33368, + -33325,-33281,-33238,-33195,-33151,-33108,-33065,-33021, + -32978,-32934,-32891,-32847,-32804,-32760,-32717,-32673, + -32630,-32586,-32542,-32499,-32455,-32411,-32368,-32324, + -32280,-32236,-32193,-32149,-32105,-32061,-32017,-31974, + -31930,-31886,-31842,-31798,-31754,-31710,-31666,-31622, + -31578,-31534,-31490,-31446,-31402,-31357,-31313,-31269, + -31225,-31181,-31136,-31092,-31048,-31004,-30959,-30915, + -30871,-30826,-30782,-30738,-30693,-30649,-30604,-30560, + -30515,-30471,-30426,-30382,-30337,-30293,-30248,-30204, + -30159,-30114,-30070,-30025,-29980,-29936,-29891,-29846, + -29801,-29757,-29712,-29667,-29622,-29577,-29533,-29488, + -29443,-29398,-29353,-29308,-29263,-29218,-29173,-29128, + -29083,-29038,-28993,-28948,-28903,-28858,-28812,-28767, + -28722,-28677,-28632,-28586,-28541,-28496,-28451,-28405, + -28360,-28315,-28269,-28224,-28179,-28133,-28088,-28042, + -27997,-27952,-27906,-27861,-27815,-27770,-27724,-27678, + -27633,-27587,-27542,-27496,-27450,-27405,-27359,-27313, + -27268,-27222,-27176,-27131,-27085,-27039,-26993,-26947, + -26902,-26856,-26810,-26764,-26718,-26672,-26626,-26580, + -26534,-26488,-26442,-26396,-26350,-26304,-26258,-26212, + -26166,-26120,-26074,-26028,-25982,-25936,-25889,-25843, + -25797,-25751,-25705,-25658,-25612,-25566,-25520,-25473, + -25427,-25381,-25334,-25288,-25241,-25195,-25149,-25102, + -25056,-25009,-24963,-24916,-24870,-24823,-24777,-24730, + -24684,-24637,-24591,-24544,-24497,-24451,-24404,-24357, + -24311,-24264,-24217,-24171,-24124,-24077,-24030,-23984, + -23937,-23890,-23843,-23796,-23750,-23703,-23656,-23609, + -23562,-23515,-23468,-23421,-23374,-23327,-23280,-23233, + -23186,-23139,-23092,-23045,-22998,-22951,-22904,-22857, + -22810,-22763,-22716,-22668,-22621,-22574,-22527,-22480, + -22432,-22385,-22338,-22291,-22243,-22196,-22149,-22102, + -22054,-22007,-21960,-21912,-21865,-21817,-21770,-21723, + -21675,-21628,-21580,-21533,-21485,-21438,-21390,-21343, + -21295,-21248,-21200,-21153,-21105,-21057,-21010,-20962, + -20915,-20867,-20819,-20772,-20724,-20676,-20629,-20581, + -20533,-20485,-20438,-20390,-20342,-20294,-20246,-20199, + -20151,-20103,-20055,-20007,-19959,-19912,-19864,-19816, + -19768,-19720,-19672,-19624,-19576,-19528,-19480,-19432, + -19384,-19336,-19288,-19240,-19192,-19144,-19096,-19048, + -19000,-18951,-18903,-18855,-18807,-18759,-18711,-18663, + -18614,-18566,-18518,-18470,-18421,-18373,-18325,-18277, + -18228,-18180,-18132,-18084,-18035,-17987,-17939,-17890, + -17842,-17793,-17745,-17697,-17648,-17600,-17551,-17503, + -17455,-17406,-17358,-17309,-17261,-17212,-17164,-17115, + -17067,-17018,-16970,-16921,-16872,-16824,-16775,-16727, + -16678,-16629,-16581,-16532,-16484,-16435,-16386,-16338, + -16289,-16240,-16191,-16143,-16094,-16045,-15997,-15948, + -15899,-15850,-15802,-15753,-15704,-15655,-15606,-15557, + -15509,-15460,-15411,-15362,-15313,-15264,-15215,-15167, + -15118,-15069,-15020,-14971,-14922,-14873,-14824,-14775, + -14726,-14677,-14628,-14579,-14530,-14481,-14432,-14383, + -14334,-14285,-14236,-14187,-14138,-14089,-14040,-13990, + -13941,-13892,-13843,-13794,-13745,-13696,-13647,-13597, + -13548,-13499,-13450,-13401,-13351,-13302,-13253,-13204, + -13154,-13105,-13056,-13007,-12957,-12908,-12859,-12810, + -12760,-12711,-12662,-12612,-12563,-12514,-12464,-12415, + -12366,-12316,-12267,-12217,-12168,-12119,-12069,-12020, + -11970,-11921,-11872,-11822,-11773,-11723,-11674,-11624, + -11575,-11525,-11476,-11426,-11377,-11327,-11278,-11228, + -11179,-11129,-11080,-11030,-10981,-10931,-10882,-10832, + -10782,-10733,-10683,-10634,-10584,-10534,-10485,-10435, + -10386,-10336,-10286,-10237,-10187,-10137,-10088,-10038, + -9988,-9939,-9889,-9839,-9790,-9740,-9690,-9640, + -9591,-9541,-9491,-9442,-9392,-9342,-9292,-9243, + -9193,-9143,-9093,-9043,-8994,-8944,-8894,-8844, + -8794,-8745,-8695,-8645,-8595,-8545,-8496,-8446, + -8396,-8346,-8296,-8246,-8196,-8147,-8097,-8047, + -7997,-7947,-7897,-7847,-7797,-7747,-7697,-7648, + -7598,-7548,-7498,-7448,-7398,-7348,-7298,-7248, + -7198,-7148,-7098,-7048,-6998,-6948,-6898,-6848, + -6798,-6748,-6698,-6648,-6598,-6548,-6498,-6448, + -6398,-6348,-6298,-6248,-6198,-6148,-6098,-6048, + -5998,-5948,-5898,-5848,-5798,-5747,-5697,-5647, + -5597,-5547,-5497,-5447,-5397,-5347,-5297,-5247, + -5197,-5146,-5096,-5046,-4996,-4946,-4896,-4846, + -4796,-4745,-4695,-4645,-4595,-4545,-4495,-4445, + -4394,-4344,-4294,-4244,-4194,-4144,-4093,-4043, + -3993,-3943,-3893,-3843,-3792,-3742,-3692,-3642, + -3592,-3541,-3491,-3441,-3391,-3341,-3291,-3240, + -3190,-3140,-3090,-3039,-2989,-2939,-2889,-2839, + -2788,-2738,-2688,-2638,-2588,-2537,-2487,-2437, + -2387,-2336,-2286,-2236,-2186,-2135,-2085,-2035, + -1985,-1934,-1884,-1834,-1784,-1733,-1683,-1633, + -1583,-1532,-1482,-1432,-1382,-1331,-1281,-1231, + -1181,-1130,-1080,-1030,-980,-929,-879,-829, + -779,-728,-678,-628,-578,-527,-477,-427, + -376,-326,-276,-226,-175,-125,-75,-25, + 25,75,125,175,226,276,326,376, + 427,477,527,578,628,678,728,779, + 829,879,929,980,1030,1080,1130,1181, + 1231,1281,1331,1382,1432,1482,1532,1583, + 1633,1683,1733,1784,1834,1884,1934,1985, + 2035,2085,2135,2186,2236,2286,2336,2387, + 2437,2487,2537,2587,2638,2688,2738,2788, + 2839,2889,2939,2989,3039,3090,3140,3190, + 3240,3291,3341,3391,3441,3491,3542,3592, + 3642,3692,3742,3792,3843,3893,3943,3993, + 4043,4093,4144,4194,4244,4294,4344,4394, + 4445,4495,4545,4595,4645,4695,4745,4796, + 4846,4896,4946,4996,5046,5096,5146,5197, + 5247,5297,5347,5397,5447,5497,5547,5597, + 5647,5697,5747,5798,5848,5898,5948,5998, + 6048,6098,6148,6198,6248,6298,6348,6398, + 6448,6498,6548,6598,6648,6698,6748,6798, + 6848,6898,6948,6998,7048,7098,7148,7198, + 7248,7298,7348,7398,7448,7498,7548,7598, + 7648,7697,7747,7797,7847,7897,7947,7997, + 8047,8097,8147,8196,8246,8296,8346,8396, + 8446,8496,8545,8595,8645,8695,8745,8794, + 8844,8894,8944,8994,9043,9093,9143,9193, + 9243,9292,9342,9392,9442,9491,9541,9591, + 9640,9690,9740,9790,9839,9889,9939,9988, + 10038,10088,10137,10187,10237,10286,10336,10386, + 10435,10485,10534,10584,10634,10683,10733,10782, + 10832,10882,10931,10981,11030,11080,11129,11179, + 11228,11278,11327,11377,11426,11476,11525,11575, + 11624,11674,11723,11773,11822,11872,11921,11970, + 12020,12069,12119,12168,12218,12267,12316,12366, + 12415,12464,12514,12563,12612,12662,12711,12760, + 12810,12859,12908,12957,13007,13056,13105,13154, + 13204,13253,13302,13351,13401,13450,13499,13548, + 13597,13647,13696,13745,13794,13843,13892,13941, + 13990,14040,14089,14138,14187,14236,14285,14334, + 14383,14432,14481,14530,14579,14628,14677,14726, + 14775,14824,14873,14922,14971,15020,15069,15118, + 15167,15215,15264,15313,15362,15411,15460,15509, + 15557,15606,15655,15704,15753,15802,15850,15899, + 15948,15997,16045,16094,16143,16191,16240,16289, + 16338,16386,16435,16484,16532,16581,16629,16678, + 16727,16775,16824,16872,16921,16970,17018,17067, + 17115,17164,17212,17261,17309,17358,17406,17455, + 17503,17551,17600,17648,17697,17745,17793,17842, + 17890,17939,17987,18035,18084,18132,18180,18228, + 18277,18325,18373,18421,18470,18518,18566,18614, + 18663,18711,18759,18807,18855,18903,18951,19000, + 19048,19096,19144,19192,19240,19288,19336,19384, + 19432,19480,19528,19576,19624,19672,19720,19768, + 19816,19864,19912,19959,20007,20055,20103,20151, + 20199,20246,20294,20342,20390,20438,20485,20533, + 20581,20629,20676,20724,20772,20819,20867,20915, + 20962,21010,21057,21105,21153,21200,21248,21295, + 21343,21390,21438,21485,21533,21580,21628,21675, + 21723,21770,21817,21865,21912,21960,22007,22054, + 22102,22149,22196,22243,22291,22338,22385,22432, + 22480,22527,22574,22621,22668,22716,22763,22810, + 22857,22904,22951,22998,23045,23092,23139,23186, + 23233,23280,23327,23374,23421,23468,23515,23562, + 23609,23656,23703,23750,23796,23843,23890,23937, + 23984,24030,24077,24124,24171,24217,24264,24311, + 24357,24404,24451,24497,24544,24591,24637,24684, + 24730,24777,24823,24870,24916,24963,25009,25056, + 25102,25149,25195,25241,25288,25334,25381,25427, + 25473,25520,25566,25612,25658,25705,25751,25797, + 25843,25889,25936,25982,26028,26074,26120,26166, + 26212,26258,26304,26350,26396,26442,26488,26534, + 26580,26626,26672,26718,26764,26810,26856,26902, + 26947,26993,27039,27085,27131,27176,27222,27268, + 27313,27359,27405,27450,27496,27542,27587,27633, + 27678,27724,27770,27815,27861,27906,27952,27997, + 28042,28088,28133,28179,28224,28269,28315,28360, + 28405,28451,28496,28541,28586,28632,28677,28722, + 28767,28812,28858,28903,28948,28993,29038,29083, + 29128,29173,29218,29263,29308,29353,29398,29443, + 29488,29533,29577,29622,29667,29712,29757,29801, + 29846,29891,29936,29980,30025,30070,30114,30159, + 30204,30248,30293,30337,30382,30427,30471,30516, + 30560,30604,30649,30693,30738,30782,30826,30871, + 30915,30959,31004,31048,31092,31136,31181,31225, + 31269,31313,31357,31402,31446,31490,31534,31578, + 31622,31666,31710,31754,31798,31842,31886,31930, + 31974,32017,32061,32105,32149,32193,32236,32280, + 32324,32368,32411,32455,32499,32542,32586,32630, + 32673,32717,32760,32804,32847,32891,32934,32978, + 33021,33065,33108,33151,33195,33238,33281,33325, + 33368,33411,33454,33498,33541,33584,33627,33670, + 33713,33756,33799,33843,33886,33929,33972,34015, + 34057,34100,34143,34186,34229,34272,34315,34358, + 34400,34443,34486,34529,34571,34614,34657,34699, + 34742,34785,34827,34870,34912,34955,34997,35040, + 35082,35125,35167,35210,35252,35294,35337,35379, + 35421,35464,35506,35548,35590,35633,35675,35717, + 35759,35801,35843,35885,35927,35969,36011,36053, + 36095,36137,36179,36221,36263,36305,36347,36388, + 36430,36472,36514,36556,36597,36639,36681,36722, + 36764,36805,36847,36889,36930,36972,37013,37055, + 37096,37137,37179,37220,37262,37303,37344,37386, + 37427,37468,37509,37551,37592,37633,37674,37715, + 37756,37797,37838,37879,37920,37961,38002,38043, + 38084,38125,38166,38207,38248,38288,38329,38370, + 38411,38451,38492,38533,38573,38614,38655,38695, + 38736,38776,38817,38857,38898,38938,38979,39019, + 39059,39100,39140,39180,39221,39261,39301,39341, + 39382,39422,39462,39502,39542,39582,39622,39662, + 39702,39742,39782,39822,39862,39902,39942,39982, + 40021,40061,40101,40141,40180,40220,40260,40299, + 40339,40379,40418,40458,40497,40537,40576,40616, + 40655,40695,40734,40773,40813,40852,40891,40931, + 40970,41009,41048,41087,41127,41166,41205,41244, + 41283,41322,41361,41400,41439,41478,41517,41556, + 41595,41633,41672,41711,41750,41788,41827,41866, + 41904,41943,41982,42020,42059,42097,42136,42174, + 42213,42251,42290,42328,42366,42405,42443,42481, + 42520,42558,42596,42634,42672,42711,42749,42787, + 42825,42863,42901,42939,42977,43015,43053,43091, + 43128,43166,43204,43242,43280,43317,43355,43393, + 43430,43468,43506,43543,43581,43618,43656,43693, + 43731,43768,43806,43843,43880,43918,43955,43992, + 44029,44067,44104,44141,44178,44215,44252,44289, + 44326,44363,44400,44437,44474,44511,44548,44585, + 44622,44659,44695,44732,44769,44806,44842,44879, + 44915,44952,44989,45025,45062,45098,45135,45171, + 45207,45244,45280,45316,45353,45389,45425,45462, + 45498,45534,45570,45606,45642,45678,45714,45750, + 45786,45822,45858,45894,45930,45966,46002,46037, + 46073,46109,46145,46180,46216,46252,46287,46323, + 46358,46394,46429,46465,46500,46536,46571,46606, + 46642,46677,46712,46747,46783,46818,46853,46888, + 46923,46958,46993,47028,47063,47098,47133,47168, + 47203,47238,47273,47308,47342,47377,47412,47446, + 47481,47516,47550,47585,47619,47654,47688,47723, + 47757,47792,47826,47861,47895,47929,47963,47998, + 48032,48066,48100,48134,48168,48202,48237,48271, + 48305,48338,48372,48406,48440,48474,48508,48542, + 48575,48609,48643,48676,48710,48744,48777,48811, + 48844,48878,48911,48945,48978,49012,49045,49078, + 49112,49145,49178,49211,49244,49278,49311,49344, + 49377,49410,49443,49476,49509,49542,49575,49608, + 49640,49673,49706,49739,49771,49804,49837,49869, + 49902,49935,49967,50000,50032,50064,50097,50129, + 50162,50194,50226,50259,50291,50323,50355,50387, + 50420,50452,50484,50516,50548,50580,50612,50644, + 50675,50707,50739,50771,50803,50834,50866,50898, + 50929,50961,50993,51024,51056,51087,51119,51150, + 51182,51213,51244,51276,51307,51338,51369,51401, + 51432,51463,51494,51525,51556,51587,51618,51649, + 51680,51711,51742,51773,51803,51834,51865,51896, + 51926,51957,51988,52018,52049,52079,52110,52140, + 52171,52201,52231,52262,52292,52322,52353,52383, + 52413,52443,52473,52503,52534,52564,52594,52624, + 52653,52683,52713,52743,52773,52803,52832,52862, + 52892,52922,52951,52981,53010,53040,53069,53099, + 53128,53158,53187,53216,53246,53275,53304,53334, + 53363,53392,53421,53450,53479,53508,53537,53566, + 53595,53624,53653,53682,53711,53739,53768,53797, + 53826,53854,53883,53912,53940,53969,53997,54026, + 54054,54082,54111,54139,54167,54196,54224,54252, + 54280,54309,54337,54365,54393,54421,54449,54477, + 54505,54533,54560,54588,54616,54644,54672,54699, + 54727,54755,54782,54810,54837,54865,54892,54920, + 54947,54974,55002,55029,55056,55084,55111,55138, + 55165,55192,55219,55246,55274,55300,55327,55354, + 55381,55408,55435,55462,55489,55515,55542,55569, + 55595,55622,55648,55675,55701,55728,55754,55781, + 55807,55833,55860,55886,55912,55938,55965,55991, + 56017,56043,56069,56095,56121,56147,56173,56199, + 56225,56250,56276,56302,56328,56353,56379,56404, + 56430,56456,56481,56507,56532,56557,56583,56608, + 56633,56659,56684,56709,56734,56760,56785,56810, + 56835,56860,56885,56910,56935,56959,56984,57009, + 57034,57059,57083,57108,57133,57157,57182,57206, + 57231,57255,57280,57304,57329,57353,57377,57402, + 57426,57450,57474,57498,57522,57546,57570,57594, + 57618,57642,57666,57690,57714,57738,57762,57785, + 57809,57833,57856,57880,57903,57927,57950,57974, + 57997,58021,58044,58067,58091,58114,58137,58160, + 58183,58207,58230,58253,58276,58299,58322,58345, + 58367,58390,58413,58436,58459,58481,58504,58527, + 58549,58572,58594,58617,58639,58662,58684,58706, + 58729,58751,58773,58795,58818,58840,58862,58884, + 58906,58928,58950,58972,58994,59016,59038,59059, + 59081,59103,59125,59146,59168,59190,59211,59233, + 59254,59276,59297,59318,59340,59361,59382,59404, + 59425,59446,59467,59488,59509,59530,59551,59572, + 59593,59614,59635,59656,59677,59697,59718,59739, + 59759,59780,59801,59821,59842,59862,59883,59903, + 59923,59944,59964,59984,60004,60025,60045,60065, + 60085,60105,60125,60145,60165,60185,60205,60225, + 60244,60264,60284,60304,60323,60343,60363,60382, + 60402,60421,60441,60460,60479,60499,60518,60537, + 60556,60576,60595,60614,60633,60652,60671,60690, + 60709,60728,60747,60766,60785,60803,60822,60841, + 60859,60878,60897,60915,60934,60952,60971,60989, + 61007,61026,61044,61062,61081,61099,61117,61135, + 61153,61171,61189,61207,61225,61243,61261,61279, + 61297,61314,61332,61350,61367,61385,61403,61420, + 61438,61455,61473,61490,61507,61525,61542,61559, + 61577,61594,61611,61628,61645,61662,61679,61696, + 61713,61730,61747,61764,61780,61797,61814,61831, + 61847,61864,61880,61897,61913,61930,61946,61963, + 61979,61995,62012,62028,62044,62060,62076,62092, + 62108,62125,62141,62156,62172,62188,62204,62220, + 62236,62251,62267,62283,62298,62314,62329,62345, + 62360,62376,62391,62407,62422,62437,62453,62468, + 62483,62498,62513,62528,62543,62558,62573,62588, + 62603,62618,62633,62648,62662,62677,62692,62706, + 62721,62735,62750,62764,62779,62793,62808,62822, + 62836,62850,62865,62879,62893,62907,62921,62935, + 62949,62963,62977,62991,63005,63019,63032,63046, + 63060,63074,63087,63101,63114,63128,63141,63155, + 63168,63182,63195,63208,63221,63235,63248,63261, + 63274,63287,63300,63313,63326,63339,63352,63365, + 63378,63390,63403,63416,63429,63441,63454,63466, + 63479,63491,63504,63516,63528,63541,63553,63565, + 63578,63590,63602,63614,63626,63638,63650,63662, + 63674,63686,63698,63709,63721,63733,63745,63756, + 63768,63779,63791,63803,63814,63825,63837,63848, + 63859,63871,63882,63893,63904,63915,63927,63938, + 63949,63960,63971,63981,63992,64003,64014,64025, + 64035,64046,64057,64067,64078,64088,64099,64109, + 64120,64130,64140,64151,64161,64171,64181,64192, + 64202,64212,64222,64232,64242,64252,64261,64271, + 64281,64291,64301,64310,64320,64330,64339,64349, + 64358,64368,64377,64387,64396,64405,64414,64424, + 64433,64442,64451,64460,64469,64478,64487,64496, + 64505,64514,64523,64532,64540,64549,64558,64566, + 64575,64584,64592,64600,64609,64617,64626,64634, + 64642,64651,64659,64667,64675,64683,64691,64699, + 64707,64715,64723,64731,64739,64747,64754,64762, + 64770,64777,64785,64793,64800,64808,64815,64822, + 64830,64837,64844,64852,64859,64866,64873,64880, + 64887,64895,64902,64908,64915,64922,64929,64936, + 64943,64949,64956,64963,64969,64976,64982,64989, + 64995,65002,65008,65015,65021,65027,65033,65040, + 65046,65052,65058,65064,65070,65076,65082,65088, + 65094,65099,65105,65111,65117,65122,65128,65133, + 65139,65144,65150,65155,65161,65166,65171,65177, + 65182,65187,65192,65197,65202,65207,65212,65217, + 65222,65227,65232,65237,65242,65246,65251,65256, + 65260,65265,65270,65274,65279,65283,65287,65292, + 65296,65300,65305,65309,65313,65317,65321,65325, + 65329,65333,65337,65341,65345,65349,65352,65356, + 65360,65363,65367,65371,65374,65378,65381,65385, + 65388,65391,65395,65398,65401,65404,65408,65411, + 65414,65417,65420,65423,65426,65429,65431,65434, + 65437,65440,65442,65445,65448,65450,65453,65455, + 65458,65460,65463,65465,65467,65470,65472,65474, + 65476,65478,65480,65482,65484,65486,65488,65490, + 65492,65494,65496,65497,65499,65501,65502,65504, + 65505,65507,65508,65510,65511,65513,65514,65515, + 65516,65518,65519,65520,65521,65522,65523,65524, + 65525,65526,65527,65527,65528,65529,65530,65530, + 65531,65531,65532,65532,65533,65533,65534,65534, + 65534,65535,65535,65535,65535,65535,65535,65535 +}; + +const fixed_t *finecosine = &finesine[FINEANGLES/4]; + +const angle_t tantoangle[2049] = +{ + 0,333772,667544,1001315,1335086,1668857,2002626,2336395, + 2670163,3003929,3337694,3671457,4005219,4338979,4672736,5006492, + 5340245,5673995,6007743,6341488,6675230,7008968,7342704,7676435, + 8010164,8343888,8677609,9011325,9345037,9678744,10012447,10346145, + 10679838,11013526,11347209,11680887,12014558,12348225,12681885,13015539, + 13349187,13682829,14016464,14350092,14683714,15017328,15350936,15684536, + 16018129,16351714,16685291,17018860,17352422,17685974,18019518,18353054, + 18686582,19020100,19353610,19687110,20020600,20354080,20687552,21021014, + 21354466,21687906,22021338,22354758,22688168,23021568,23354956,23688332, + 24021698,24355052,24688396,25021726,25355046,25688352,26021648,26354930, + 26688200,27021456,27354702,27687932,28021150,28354356,28687548,29020724, + 29353888,29687038,30020174,30353296,30686404,31019496,31352574,31685636, + 32018684,32351718,32684734,33017736,33350722,33683692,34016648,34349584, + 34682508,35015412,35348300,35681172,36014028,36346868,36679688,37012492, + 37345276,37678044,38010792,38343524,38676240,39008936,39341612,39674272, + 40006912,40339532,40672132,41004716,41337276,41669820,42002344,42334848, + 42667332,42999796,43332236,43664660,43997060,44329444,44661800,44994140, + 45326456,45658752,45991028,46323280,46655512,46987720,47319908,47652072, + 47984212,48316332,48648428,48980500,49312548,49644576,49976580,50308556, + 50640512,50972444,51304352,51636236,51968096,52299928,52631740,52963524, + 53295284,53627020,53958728,54290412,54622068,54953704,55285308,55616888, + 55948444,56279972,56611472,56942948,57274396,57605816,57937212,58268576, + 58599916,58931228,59262512,59593768,59924992,60256192,60587364,60918508, + 61249620,61580704,61911760,62242788,62573788,62904756,63235692,63566604, + 63897480,64228332,64559148,64889940,65220696,65551424,65882120,66212788, + 66543420,66874024,67204600,67535136,67865648,68196120,68526568,68856984, + 69187360,69517712,69848024,70178304,70508560,70838776,71168960,71499112, + 71829224,72159312,72489360,72819376,73149360,73479304,73809216,74139096, + 74468936,74798744,75128520,75458264,75787968,76117632,76447264,76776864, + 77106424,77435952,77765440,78094888,78424304,78753688,79083032,79412336, + 79741608,80070840,80400032,80729192,81058312,81387392,81716432,82045440, + 82374408,82703336,83032224,83361080,83689896,84018664,84347400,84676096, + 85004760,85333376,85661952,85990488,86318984,86647448,86975864,87304240, + 87632576,87960872,88289128,88617344,88945520,89273648,89601736,89929792, + 90257792,90585760,90913688,91241568,91569408,91897200,92224960,92552672, + 92880336,93207968,93535552,93863088,94190584,94518040,94845448,95172816, + 95500136,95827416,96154648,96481832,96808976,97136080,97463136,97790144, + 98117112,98444032,98770904,99097736,99424520,99751256,100077944,100404592, + 100731192,101057744,101384248,101710712,102037128,102363488,102689808,103016080, + 103342312,103668488,103994616,104320696,104646736,104972720,105298656,105624552, + 105950392,106276184,106601928,106927624,107253272,107578872,107904416,108229920, + 108555368,108880768,109206120,109531416,109856664,110181872,110507016,110832120, + 111157168,111482168,111807112,112132008,112456856,112781648,113106392,113431080, + 113755720,114080312,114404848,114729328,115053760,115378136,115702464,116026744, + 116350960,116675128,116999248,117323312,117647320,117971272,118295176,118619024, + 118942816,119266560,119590248,119913880,120237456,120560984,120884456,121207864, + 121531224,121854528,122177784,122500976,122824112,123147200,123470224,123793200, + 124116120,124438976,124761784,125084528,125407224,125729856,126052432,126374960, + 126697424,127019832,127342184,127664472,127986712,128308888,128631008,128953072, + 129275080,129597024,129918912,130240744,130562520,130884232,131205888,131527480, + 131849016,132170496,132491912,132813272,133134576,133455816,133776992,134098120, + 134419184,134740176,135061120,135382000,135702816,136023584,136344272,136664912, + 136985488,137306016,137626464,137946864,138267184,138587456,138907664,139227808, + 139547904,139867920,140187888,140507776,140827616,141147392,141467104,141786752, + 142106336,142425856,142745312,143064720,143384048,143703312,144022512,144341664, + 144660736,144979744,145298704,145617584,145936400,146255168,146573856,146892480, + 147211040,147529536,147847968,148166336,148484640,148802880,149121056,149439152, + 149757200,150075168,150393072,150710912,151028688,151346400,151664048,151981616, + 152299136,152616576,152933952,153251264,153568496,153885680,154202784,154519824, + 154836784,155153696,155470528,155787296,156104000,156420624,156737200,157053696, + 157370112,157686480,158002768,158318976,158635136,158951216,159267232,159583168, + 159899040,160214848,160530592,160846256,161161840,161477376,161792832,162108208, + 162423520,162738768,163053952,163369040,163684080,163999040,164313936,164628752, + 164943504,165258176,165572784,165887312,166201776,166516160,166830480,167144736, + 167458912,167773008,168087040,168400992,168714880,169028688,169342432,169656096, + 169969696,170283216,170596672,170910032,171223344,171536576,171849728,172162800, + 172475808,172788736,173101600,173414384,173727104,174039728,174352288,174664784, + 174977200,175289536,175601792,175913984,176226096,176538144,176850096,177161984, + 177473792,177785536,178097200,178408784,178720288,179031728,179343088,179654368, + 179965568,180276704,180587744,180898720,181209616,181520448,181831184,182141856, + 182452448,182762960,183073408,183383760,183694048,184004240,184314368,184624416, + 184934400,185244288,185554096,185863840,186173504,186483072,186792576,187102000, + 187411344,187720608,188029808,188338912,188647936,188956896,189265760,189574560, + 189883264,190191904,190500448,190808928,191117312,191425632,191733872,192042016, + 192350096,192658096,192966000,193273840,193581584,193889264,194196848,194504352, + 194811792,195119136,195426400,195733584,196040688,196347712,196654656,196961520, + 197268304,197574992,197881616,198188144,198494592,198800960,199107248,199413456, + 199719584,200025616,200331584,200637456,200943248,201248960,201554576,201860128, + 202165584,202470960,202776256,203081456,203386592,203691632,203996592,204301472, + 204606256,204910976,205215600,205520144,205824592,206128960,206433248,206737456, + 207041584,207345616,207649568,207953424,208257216,208560912,208864512,209168048, + 209471488,209774832,210078112,210381296,210684384,210987408,211290336,211593184, + 211895936,212198608,212501184,212803680,213106096,213408432,213710672,214012816, + 214314880,214616864,214918768,215220576,215522288,215823920,216125472,216426928, + 216728304,217029584,217330784,217631904,217932928,218233856,218534704,218835472, + 219136144,219436720,219737216,220037632,220337952,220638192,220938336,221238384, + 221538352,221838240,222138032,222437728,222737344,223036880,223336304,223635664, + 223934912,224234096,224533168,224832160,225131072,225429872,225728608,226027232, + 226325776,226624240,226922608,227220880,227519056,227817152,228115168,228413088, + 228710912,229008640,229306288,229603840,229901312,230198688,230495968,230793152, + 231090256,231387280,231684192,231981024,232277760,232574416,232870960,233167440, + 233463808,233760096,234056288,234352384,234648384,234944304,235240128,235535872, + 235831504,236127056,236422512,236717888,237013152,237308336,237603424,237898416, + 238193328,238488144,238782864,239077488,239372016,239666464,239960816,240255072, + 240549232,240843312,241137280,241431168,241724960,242018656,242312256,242605776, + 242899200,243192512,243485744,243778896,244071936,244364880,244657744,244950496, + 245243168,245535744,245828224,246120608,246412912,246705104,246997216,247289216, + 247581136,247872960,248164688,248456320,248747856,249039296,249330640,249621904, + 249913056,250204128,250495088,250785968,251076736,251367424,251658016,251948512, + 252238912,252529200,252819408,253109520,253399536,253689456,253979280,254269008, + 254558640,254848176,255137632,255426976,255716224,256005376,256294432,256583392, + 256872256,257161024,257449696,257738272,258026752,258315136,258603424,258891600, + 259179696,259467696,259755600,260043392,260331104,260618704,260906224,261193632, + 261480960,261768176,262055296,262342320,262629248,262916080,263202816,263489456, + 263776000,264062432,264348784,264635024,264921168,265207216,265493168,265779024, + 266064784,266350448,266636000,266921472,267206832,267492096,267777264,268062336, + 268347312,268632192,268916960,269201632,269486208,269770688,270055072,270339360, + 270623552,270907616,271191616,271475488,271759296,272042976,272326560,272610048, + 272893440,273176736,273459936,273743040,274026048,274308928,274591744,274874432, + 275157024,275439520,275721920,276004224,276286432,276568512,276850528,277132416, + 277414240,277695936,277977536,278259040,278540448,278821728,279102944,279384032, + 279665056,279945952,280226752,280507456,280788064,281068544,281348960,281629248, + 281909472,282189568,282469568,282749440,283029248,283308960,283588544,283868032, + 284147424,284426720,284705920,284985024,285264000,285542912,285821696,286100384, + 286378976,286657440,286935840,287214112,287492320,287770400,288048384,288326240, + 288604032,288881696,289159264,289436768,289714112,289991392,290268576,290545632, + 290822592,291099456,291376224,291652896,291929440,292205888,292482272,292758528, + 293034656,293310720,293586656,293862496,294138240,294413888,294689440,294964864, + 295240192,295515424,295790560,296065600,296340512,296615360,296890080,297164704, + 297439200,297713632,297987936,298262144,298536256,298810240,299084160,299357952, + 299631648,299905248,300178720,300452128,300725408,300998592,301271680,301544640, + 301817536,302090304,302362976,302635520,302908000,303180352,303452608,303724768, + 303996800,304268768,304540608,304812320,305083968,305355520,305626944,305898272, + 306169472,306440608,306711616,306982528,307253344,307524064,307794656,308065152, + 308335552,308605856,308876032,309146112,309416096,309685984,309955744,310225408, + 310494976,310764448,311033824,311303072,311572224,311841280,312110208,312379040, + 312647776,312916416,313184960,313453376,313721696,313989920,314258016,314526016, + 314793920,315061728,315329408,315597024,315864512,316131872,316399168,316666336, + 316933408,317200384,317467232,317733984,318000640,318267200,318533632,318799968, + 319066208,319332352,319598368,319864288,320130112,320395808,320661408,320926912, + 321192320,321457632,321722816,321987904,322252864,322517760,322782528,323047200, + 323311744,323576192,323840544,324104800,324368928,324632992,324896928,325160736, + 325424448,325688096,325951584,326215008,326478304,326741504,327004608,327267584, + 327530464,327793248,328055904,328318496,328580960,328843296,329105568,329367712, + 329629760,329891680,330153536,330415264,330676864,330938400,331199808,331461120, + 331722304,331983392,332244384,332505280,332766048,333026752,333287296,333547776, + 333808128,334068384,334328544,334588576,334848512,335108352,335368064,335627712, + 335887200,336146624,336405920,336665120,336924224,337183200,337442112,337700864, + 337959552,338218112,338476576,338734944,338993184,339251328,339509376,339767296, + 340025120,340282848,340540480,340797984,341055392,341312704,341569888,341826976, + 342083968,342340832,342597600,342854272,343110848,343367296,343623648,343879904, + 344136032,344392064,344648000,344903808,345159520,345415136,345670656,345926048, + 346181344,346436512,346691616,346946592,347201440,347456224,347710880,347965440, + 348219872,348474208,348728448,348982592,349236608,349490528,349744320,349998048, + 350251648,350505152,350758528,351011808,351264992,351518048,351771040,352023872, + 352276640,352529280,352781824,353034272,353286592,353538816,353790944,354042944, + 354294880,354546656,354798368,355049952,355301440,355552800,355804096,356055264, + 356306304,356557280,356808128,357058848,357309504,357560032,357810464,358060768, + 358311008,358561088,358811104,359060992,359310784,359560480,359810048,360059520, + 360308896,360558144,360807296,361056352,361305312,361554144,361802880,362051488, + 362300032,362548448,362796736,363044960,363293056,363541024,363788928,364036704, + 364284384,364531936,364779392,365026752,365274016,365521152,365768192,366015136, + 366261952,366508672,366755296,367001792,367248192,367494496,367740704,367986784, + 368232768,368478656,368724416,368970080,369215648,369461088,369706432,369951680, + 370196800,370441824,370686752,370931584,371176288,371420896,371665408,371909792, + 372154080,372398272,372642336,372886304,373130176,373373952,373617600,373861152, + 374104608,374347936,374591168,374834304,375077312,375320224,375563040,375805760, + 376048352,376290848,376533248,376775520,377017696,377259776,377501728,377743584, + 377985344,378227008,378468544,378709984,378951328,379192544,379433664,379674688, + 379915584,380156416,380397088,380637696,380878176,381118560,381358848,381599040, + 381839104,382079072,382318912,382558656,382798304,383037856,383277280,383516640, + 383755840,383994976,384233984,384472896,384711712,384950400,385188992,385427488, + 385665888,385904160,386142336,386380384,386618368,386856224,387093984,387331616, + 387569152,387806592,388043936,388281152,388518272,388755296,388992224,389229024, + 389465728,389702336,389938816,390175200,390411488,390647680,390883744,391119712, + 391355584,391591328,391826976,392062528,392297984,392533312,392768544,393003680, + 393238720,393473632,393708448,393943168,394177760,394412256,394646656,394880960, + 395115136,395349216,395583200,395817088,396050848,396284512,396518080,396751520, + 396984864,397218112,397451264,397684288,397917248,398150080,398382784,398615424, + 398847936,399080320,399312640,399544832,399776928,400008928,400240832,400472608, + 400704288,400935872,401167328,401398720,401629984,401861120,402092192,402323136, + 402553984,402784736,403015360,403245888,403476320,403706656,403936896,404167008, + 404397024,404626944,404856736,405086432,405316032,405545536,405774912,406004224, + 406233408,406462464,406691456,406920320,407149088,407377760,407606336,407834784, + 408063136,408291392,408519520,408747584,408975520,409203360,409431072,409658720, + 409886240,410113664,410340992,410568192,410795296,411022304,411249216,411476032, + 411702720,411929312,412155808,412382176,412608480,412834656,413060736,413286720, + 413512576,413738336,413964000,414189568,414415040,414640384,414865632,415090784, + 415315840,415540800,415765632,415990368,416215008,416439552,416663968,416888288, + 417112512,417336640,417560672,417784576,418008384,418232096,418455712,418679200, + 418902624,419125920,419349120,419572192,419795200,420018080,420240864,420463552, + 420686144,420908608,421130976,421353280,421575424,421797504,422019488,422241344, + 422463104,422684768,422906336,423127776,423349120,423570400,423791520,424012576, + 424233536,424454368,424675104,424895744,425116288,425336736,425557056,425777280, + 425997408,426217440,426437376,426657184,426876928,427096544,427316064,427535488, + 427754784,427974016,428193120,428412128,428631040,428849856,429068544,429287168, + 429505664,429724064,429942368,430160576,430378656,430596672,430814560,431032352, + 431250048,431467616,431685120,431902496,432119808,432336992,432554080,432771040, + 432987936,433204736,433421408,433637984,433854464,434070848,434287104,434503296, + 434719360,434935360,435151232,435367008,435582656,435798240,436013696,436229088, + 436444352,436659520,436874592,437089568,437304416,437519200,437733856,437948416, + 438162880,438377248,438591520,438805696,439019744,439233728,439447584,439661344, + 439875008,440088576,440302048,440515392,440728672,440941824,441154880,441367872, + 441580736,441793472,442006144,442218720,442431168,442643552,442855808,443067968, + 443280032,443492000,443703872,443915648,444127296,444338880,444550336,444761696, + 444972992,445184160,445395232,445606176,445817056,446027840,446238496,446449088, + 446659552,446869920,447080192,447290400,447500448,447710432,447920320,448130112, + 448339776,448549376,448758848,448968224,449177536,449386720,449595808,449804800, + 450013664,450222464,450431168,450639776,450848256,451056640,451264960,451473152, + 451681248,451889248,452097152,452304960,452512672,452720288,452927808,453135232, + 453342528,453549760,453756864,453963904,454170816,454377632,454584384,454791008, + 454997536,455203968,455410304,455616544,455822688,456028704,456234656,456440512, + 456646240,456851904,457057472,457262912,457468256,457673536,457878688,458083744, + 458288736,458493600,458698368,458903040,459107616,459312096,459516480,459720768, + 459924960,460129056,460333056,460536960,460740736,460944448,461148064,461351584, + 461554976,461758304,461961536,462164640,462367680,462570592,462773440,462976160, + 463178816,463381344,463583776,463786144,463988384,464190560,464392608,464594560, + 464796448,464998208,465199872,465401472,465602944,465804320,466005600,466206816, + 466407904,466608896,466809824,467010624,467211328,467411936,467612480,467812896, + 468013216,468213440,468413600,468613632,468813568,469013440,469213184,469412832, + 469612416,469811872,470011232,470210528,470409696,470608800,470807776,471006688, + 471205472,471404192,471602784,471801312,471999712,472198048,472396288,472594400, + 472792448,472990400,473188256,473385984,473583648,473781216,473978688,474176064, + 474373344,474570528,474767616,474964608,475161504,475358336,475555040,475751648, + 475948192,476144608,476340928,476537184,476733312,476929376,477125344,477321184, + 477516960,477712640,477908224,478103712,478299104,478494400,478689600,478884704, + 479079744,479274656,479469504,479664224,479858880,480053408,480247872,480442240, + 480636512,480830656,481024736,481218752,481412640,481606432,481800128,481993760, + 482187264,482380704,482574016,482767264,482960416,483153472,483346432,483539296, + 483732064,483924768,484117344,484309856,484502240,484694560,484886784,485078912, + 485270944,485462880,485654720,485846464,486038144,486229696,486421184,486612576, + 486803840,486995040,487186176,487377184,487568096,487758912,487949664,488140320, + 488330880,488521312,488711712,488901984,489092160,489282240,489472256,489662176, + 489851968,490041696,490231328,490420896,490610336,490799712,490988960,491178144, + 491367232,491556224,491745120,491933920,492122656,492311264,492499808,492688256, + 492876608,493064864,493253056,493441120,493629120,493817024,494004832,494192544, + 494380160,494567712,494755136,494942496,495129760,495316928,495504000,495691008, + 495877888,496064704,496251424,496438048,496624608,496811040,496997408,497183680, + 497369856,497555936,497741920,497927840,498113632,498299360,498484992,498670560, + 498856000,499041376,499226656,499411840,499596928,499781920,499966848,500151680, + 500336416,500521056,500705600,500890080,501074464,501258752,501442944,501627040, + 501811072,501995008,502178848,502362592,502546240,502729824,502913312,503096704, + 503280000,503463232,503646368,503829408,504012352,504195200,504377984,504560672, + 504743264,504925760,505108192,505290496,505472736,505654912,505836960,506018944, + 506200832,506382624,506564320,506745952,506927488,507108928,507290272,507471552, + 507652736,507833824,508014816,508195744,508376576,508557312,508737952,508918528, + 509099008,509279392,509459680,509639904,509820032,510000064,510180000,510359872, + 510539648,510719328,510898944,511078432,511257856,511437216,511616448,511795616, + 511974688,512153664,512332576,512511392,512690112,512868768,513047296,513225792, + 513404160,513582432,513760640,513938784,514116800,514294752,514472608,514650368, + 514828064,515005664,515183168,515360608,515537952,515715200,515892352,516069440, + 516246432,516423328,516600160,516776896,516953536,517130112,517306592,517482976, + 517659264,517835488,518011616,518187680,518363648,518539520,518715296,518891008, + 519066624,519242144,519417600,519592960,519768256,519943424,520118528,520293568, + 520468480,520643328,520818112,520992800,521167392,521341888,521516320,521690656, + 521864896,522039072,522213152,522387168,522561056,522734912,522908640,523082304, + 523255872,523429376,523602784,523776096,523949312,524122464,524295552,524468512, + 524641440,524814240,524986976,525159616,525332192,525504640,525677056,525849344, + 526021568,526193728,526365792,526537760,526709632,526881440,527053152,527224800, + 527396352,527567840,527739200,527910528,528081728,528252864,528423936,528594880, + 528765760,528936576,529107296,529277920,529448480,529618944,529789344,529959648, + 530129856,530300000,530470048,530640000,530809888,530979712,531149440,531319072, + 531488608,531658080,531827488,531996800,532166016,532335168,532504224,532673184, + 532842080,533010912,533179616,533348288,533516832,533685312,533853728,534022048, + 534190272,534358432,534526496,534694496,534862400,535030240,535197984,535365632, + 535533216,535700704,535868128,536035456,536202720,536369888,536536992,536704000, + 536870912 +}; + +// Now where did these came from? +const byte gammatable[5][256] = +{ + { + 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,119,120,121,122,123,124,125,126,127,128, + 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, + 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, + 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, + 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, + 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, + 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, + 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, + 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 + }, + + { + 2,4,5,7,8,10,11,12,14,15,16,18,19,20,21,23, + 24,25,26,27,29,30,31,32,33,34,36,37,38,39,40,41, + 42,44,45,46,47,48,49,50,51,52,54,55,56,57,58,59, + 60,61,62,63,64,65,66,67,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,119,120,121,122,123,124, + 125,126,127,128,129,129,130,131,132,133,134,135,136,137,138,139, + 140,141,142,143,144,145,146,147,148,148,149,150,151,152,153,154, + 155,156,157,158,159,160,161,162,163,163,164,165,166,167,168,169, + 170,171,172,173,174,175,175,176,177,178,179,180,181,182,183,184, + 185,186,186,187,188,189,190,191,192,193,194,195,196,196,197,198, + 199,200,201,202,203,204,205,205,206,207,208,209,210,211,212,213, + 214,214,215,216,217,218,219,220,221,222,222,223,224,225,226,227, + 228,229,230,230,231,232,233,234,235,236,237,237,238,239,240,241, + 242,243,244,245,245,246,247,248,249,250,251,252,252,253,254,255 + }, + + { + 4,7,9,11,13,15,17,19,21,22,24,26,27,29,30,32, + 33,35,36,38,39,40,42,43,45,46,47,48,50,51,52,54, + 55,56,57,59,60,61,62,63,65,66,67,68,69,70,72,73, + 74,75,76,77,78,79,80,82,83,84,85,86,87,88,89,90, + 91,92,93,94,95,96,97,98,100,101,102,103,104,105,106,107, + 108,109,110,111,112,113,114,114,115,116,117,118,119,120,121,122, + 123,124,125,126,127,128,129,130,131,132,133,133,134,135,136,137, + 138,139,140,141,142,143,144,144,145,146,147,148,149,150,151,152, + 153,153,154,155,156,157,158,159,160,160,161,162,163,164,165,166, + 166,167,168,169,170,171,172,172,173,174,175,176,177,178,178,179, + 180,181,182,183,183,184,185,186,187,188,188,189,190,191,192,193, + 193,194,195,196,197,197,198,199,200,201,201,202,203,204,205,206, + 206,207,208,209,210,210,211,212,213,213,214,215,216,217,217,218, + 219,220,221,221,222,223,224,224,225,226,227,228,228,229,230,231, + 231,232,233,234,235,235,236,237,238,238,239,240,241,241,242,243, + 244,244,245,246,247,247,248,249,250,251,251,252,253,254,254,255 + }, + + { + 8,12,16,19,22,24,27,29,31,34,36,38,40,41,43,45, + 47,49,50,52,53,55,57,58,60,61,63,64,65,67,68,70, + 71,72,74,75,76,77,79,80,81,82,84,85,86,87,88,90, + 91,92,93,94,95,96,98,99,100,101,102,103,104,105,106,107, + 108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123, + 124,125,126,127,128,129,130,131,132,133,134,135,135,136,137,138, + 139,140,141,142,143,143,144,145,146,147,148,149,150,150,151,152, + 153,154,155,155,156,157,158,159,160,160,161,162,163,164,165,165, + 166,167,168,169,169,170,171,172,173,173,174,175,176,176,177,178, + 179,180,180,181,182,183,183,184,185,186,186,187,188,189,189,190, + 191,192,192,193,194,195,195,196,197,197,198,199,200,200,201,202, + 202,203,204,205,205,206,207,207,208,209,210,210,211,212,212,213, + 214,214,215,216,216,217,218,219,219,220,221,221,222,223,223,224, + 225,225,226,227,227,228,229,229,230,231,231,232,233,233,234,235, + 235,236,237,237,238,238,239,240,240,241,242,242,243,244,244,245, + 246,246,247,247,248,249,249,250,251,251,252,253,253,254,254,255 + }, + + + { + 16,23,28,32,36,39,42,45,48,50,53,55,57,60,62,64, + 66,68,69,71,73,75,76,78,80,81,83,84,86,87,89,90, + 92,93,94,96,97,98,100,101,102,103,105,106,107,108,109,110, + 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,128, + 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, + 143,144,145,146,147,148,149,150,150,151,152,153,154,155,155,156, + 157,158,159,159,160,161,162,163,163,164,165,166,166,167,168,169, + 169,170,171,172,172,173,174,175,175,176,177,177,178,179,180,180, + 181,182,182,183,184,184,185,186,187,187,188,189,189,190,191,191, + 192,193,193,194,195,195,196,196,197,198,198,199,200,200,201,202, + 202,203,203,204,205,205,206,207,207,208,208,209,210,210,211,211, + 212,213,213,214,214,215,216,216,217,217,218,219,219,220,220,221, + 221,222,223,223,224,224,225,225,226,227,227,228,228,229,229,230, + 230,231,232,232,233,233,234,234,235,235,236,236,237,237,238,239, + 239,240,240,241,241,242,242,243,243,244,244,245,245,246,246,247, + 247,248,248,249,249,250,250,251,251,252,252,253,254,254,255,255 + } +}; + diff --git a/src/kernel/userland/doom/tables.h b/src/kernel/userland/doom/tables.h new file mode 100644 index 0000000..495fd53 --- /dev/null +++ b/src/kernel/userland/doom/tables.h @@ -0,0 +1,96 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 1993-2008 Raven Software +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Lookup tables. +// Do not try to look them up :-). +// In the order of appearance: +// +// int finetangent[4096] - Tangens LUT. +// Should work with BAM fairly well (12 of 16bit, +// effectively, by shifting). +// +// int finesine[10240] - Sine lookup. +// Guess what, serves as cosine, too. +// Remarkable thing is, how to use BAMs with this? +// +// int tantoangle[2049] - ArcTan LUT, +// maps tan(angle) to angle fast. Gotta search. +// + + +#ifndef __TABLES__ +#define __TABLES__ + +#include "doomtype.h" + +#include "m_fixed.h" + +#define FINEANGLES 8192 +#define FINEMASK (FINEANGLES-1) + + +// 0x100000000 to 0x2000 +#define ANGLETOFINESHIFT 19 + +// Effective size is 10240. +extern const fixed_t finesine[5*FINEANGLES/4]; + +// Re-use data, is just PI/2 pahse shift. +extern const fixed_t *finecosine; + + +// Effective size is 4096. +extern const fixed_t finetangent[FINEANGLES/2]; + +// Gamma correction tables. +extern const byte gammatable[5][256]; + +// Binary Angle Measument, BAM. + +#define ANG45 0x20000000 +#define ANG90 0x40000000 +#define ANG180 0x80000000 +#define ANG270 0xc0000000 +#define ANG_MAX 0xffffffff + +#define ANG1 (ANG45 / 45) +#define ANG60 (ANG180 / 3) + +// Heretic code uses this definition as though it represents one +// degree, but it is not! This is actually ~1.40 degrees. + +#define ANG1_X 0x01000000 + +#define SLOPERANGE 2048 +#define SLOPEBITS 11 +#define DBITS (FRACBITS-SLOPEBITS) + +typedef unsigned angle_t; + + +// Effective size is 2049; +// The +1 size is to handle the case when x==y +// without additional checking. +extern const angle_t tantoangle[SLOPERANGE+1]; + + +// Utility function, +// called by R_PointToAngle. +int SlopeDiv(unsigned int num, unsigned int den); + + +#endif + diff --git a/src/kernel/userland/doom/unistd.h b/src/kernel/userland/doom/unistd.h new file mode 100644 index 0000000..28a93be --- /dev/null +++ b/src/kernel/userland/doom/unistd.h @@ -0,0 +1 @@ +#include "boredos_libc.h" diff --git a/src/kernel/userland/doom/v_patch.h b/src/kernel/userland/doom/v_patch.h new file mode 100644 index 0000000..687dca1 --- /dev/null +++ b/src/kernel/userland/doom/v_patch.h @@ -0,0 +1,50 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Refresh/rendering module, shared data struct definitions. +// + + +#ifndef V_PATCH_H +#define V_PATCH_H + +// Patches. +// A patch holds one or more columns. +// Patches are used for sprites and all masked pictures, +// and we compose textures from the TEXTURE1/2 lists +// of patches. + +typedef struct +{ + short width; // bounding box size + short height; + short leftoffset; // pixels to the left of origin + short topoffset; // pixels below the origin + int columnofs[8]; // only [width] used + // the [0] is &columnofs[width] +} PACKEDATTR patch_t; + +// posts are runs of non masked source pixels +typedef struct +{ + byte topdelta; // -1 is the last post in a column + byte length; // length data bytes follows +} PACKEDATTR post_t; + +// column_t is a list of 0 or more post_t, (byte)-1 terminated +typedef post_t column_t; + +#endif + diff --git a/src/kernel/userland/doom/v_video.c b/src/kernel/userland/doom/v_video.c new file mode 100644 index 0000000..bc68540 --- /dev/null +++ b/src/kernel/userland/doom/v_video.c @@ -0,0 +1,932 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 1993-2008 Raven Software +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Gamma correction LUT stuff. +// Functions to draw patches (by post) directly to screen. +// Functions to blit a block to the screen. +// + +#include +#include +#include + +#include "i_system.h" + +#include "doomtype.h" + +#include "deh_str.h" +#include "i_swap.h" +#include "i_video.h" +#include "m_bbox.h" +#include "m_misc.h" +#include "v_video.h" +#include "w_wad.h" +#include "z_zone.h" + +#include "config.h" +#ifdef HAVE_LIBPNG +#include +#endif + +// TODO: There are separate RANGECHECK defines for different games, but this +// is common code. Fix this. +#define RANGECHECK + +// Blending table used for fuzzpatch, etc. +// Only used in Heretic/Hexen + +byte *tinttable = NULL; + +// villsa [STRIFE] Blending table used for Strife +byte *xlatab = NULL; + +// The screen buffer that the v_video.c code draws to. + +static byte *dest_screen = NULL; + +int dirtybox[4]; + +// haleyjd 08/28/10: clipping callback function for patches. +// This is needed for Chocolate Strife, which clips patches to the screen. +static vpatchclipfunc_t patchclip_callback = NULL; + +// +// V_MarkRect +// +void V_MarkRect(int x, int y, int width, int height) +{ + // If we are temporarily using an alternate screen, do not + // affect the update box. + + if (dest_screen == I_VideoBuffer) + { + M_AddToBox (dirtybox, x, y); + M_AddToBox (dirtybox, x + width-1, y + height-1); + } +} + + +// +// V_CopyRect +// +void V_CopyRect(int srcx, int srcy, byte *source, + int width, int height, + int destx, int desty) +{ + byte *src; + byte *dest; + +#ifdef RANGECHECK + if (srcx < 0 + || srcx + width > SCREENWIDTH + || srcy < 0 + || srcy + height > SCREENHEIGHT + || destx < 0 + || destx + width > SCREENWIDTH + || desty < 0 + || desty + height > SCREENHEIGHT) + { + I_Error ("Bad V_CopyRect"); + } +#endif + + V_MarkRect(destx, desty, width, height); + + src = source + SCREENWIDTH * srcy + srcx; + dest = dest_screen + SCREENWIDTH * desty + destx; + + for ( ; height>0 ; height--) + { + memcpy(dest, src, width); + src += SCREENWIDTH; + dest += SCREENWIDTH; + } +} + +// +// V_SetPatchClipCallback +// +// haleyjd 08/28/10: Added for Strife support. +// By calling this function, you can setup runtime error checking for patch +// clipping. Strife never caused errors by drawing patches partway off-screen. +// Some versions of vanilla DOOM also behaved differently than the default +// implementation, so this could possibly be extended to those as well for +// accurate emulation. +// +void V_SetPatchClipCallback(vpatchclipfunc_t func) +{ + patchclip_callback = func; +} + +// +// V_DrawPatch +// Masks a column based masked pic to the screen. +// + +void V_DrawPatch(int x, int y, patch_t *patch) +{ + int count; + int col; + column_t *column; + byte *desttop; + byte *dest; + byte *source; + int w; + + y -= SHORT(patch->topoffset); + x -= SHORT(patch->leftoffset); + + // haleyjd 08/28/10: Strife needs silent error checking here. + if(patchclip_callback) + { + if(!patchclip_callback(patch, x, y)) + return; + } + +#ifdef RANGECHECK + if (x < 0 + || x + SHORT(patch->width) > SCREENWIDTH + || y < 0 + || y + SHORT(patch->height) > SCREENHEIGHT) + { + I_Error("Bad V_DrawPatch x=%i y=%i patch.width=%i patch.height=%i topoffset=%i leftoffset=%i", x, y, patch->width, patch->height, patch->topoffset, patch->leftoffset); + } +#endif + + V_MarkRect(x, y, SHORT(patch->width), SHORT(patch->height)); + + col = 0; + desttop = dest_screen + y * SCREENWIDTH + x; + + w = SHORT(patch->width); + + for ( ; colcolumnofs[col])); + + // step through the posts in a column + while (column->topdelta != 0xff) + { + source = (byte *)column + 3; + dest = desttop + column->topdelta*SCREENWIDTH; + count = column->length; + + while (count--) + { + *dest = *source++; + dest += SCREENWIDTH; + } + column = (column_t *)((byte *)column + column->length + 4); + } + } +} + +// +// V_DrawPatchFlipped +// Masks a column based masked pic to the screen. +// Flips horizontally, e.g. to mirror face. +// + +void V_DrawPatchFlipped(int x, int y, patch_t *patch) +{ + int count; + int col; + column_t *column; + byte *desttop; + byte *dest; + byte *source; + int w; + + y -= SHORT(patch->topoffset); + x -= SHORT(patch->leftoffset); + + // haleyjd 08/28/10: Strife needs silent error checking here. + if(patchclip_callback) + { + if(!patchclip_callback(patch, x, y)) + return; + } + +#ifdef RANGECHECK + if (x < 0 + || x + SHORT(patch->width) > SCREENWIDTH + || y < 0 + || y + SHORT(patch->height) > SCREENHEIGHT) + { + I_Error("Bad V_DrawPatchFlipped"); + } +#endif + + V_MarkRect (x, y, SHORT(patch->width), SHORT(patch->height)); + + col = 0; + desttop = dest_screen + y * SCREENWIDTH + x; + + w = SHORT(patch->width); + + for ( ; colcolumnofs[w-1-col])); + + // step through the posts in a column + while (column->topdelta != 0xff ) + { + source = (byte *)column + 3; + dest = desttop + column->topdelta*SCREENWIDTH; + count = column->length; + + while (count--) + { + *dest = *source++; + dest += SCREENWIDTH; + } + column = (column_t *)((byte *)column + column->length + 4); + } + } +} + + + +// +// V_DrawPatchDirect +// Draws directly to the screen on the pc. +// + +void V_DrawPatchDirect(int x, int y, patch_t *patch) +{ + V_DrawPatch(x, y, patch); +} + +// +// V_DrawTLPatch +// +// Masks a column based translucent masked pic to the screen. +// + +void V_DrawTLPatch(int x, int y, patch_t * patch) +{ + int count, col; + column_t *column; + byte *desttop, *dest, *source; + int w; + + y -= SHORT(patch->topoffset); + x -= SHORT(patch->leftoffset); + + if (x < 0 + || x + SHORT(patch->width) > SCREENWIDTH + || y < 0 + || y + SHORT(patch->height) > SCREENHEIGHT) + { + I_Error("Bad V_DrawTLPatch"); + } + + col = 0; + desttop = dest_screen + y * SCREENWIDTH + x; + + w = SHORT(patch->width); + for (; col < w; x++, col++, desttop++) + { + column = (column_t *) ((byte *) patch + LONG(patch->columnofs[col])); + + // step through the posts in a column + + while (column->topdelta != 0xff) + { + source = (byte *) column + 3; + dest = desttop + column->topdelta * SCREENWIDTH; + count = column->length; + + while (count--) + { + *dest = tinttable[((*dest) << 8) + *source++]; + dest += SCREENWIDTH; + } + column = (column_t *) ((byte *) column + column->length + 4); + } + } +} + +// +// V_DrawXlaPatch +// +// villsa [STRIFE] Masks a column based translucent masked pic to the screen. +// + +void V_DrawXlaPatch(int x, int y, patch_t * patch) +{ + int count, col; + column_t *column; + byte *desttop, *dest, *source; + int w; + + y -= SHORT(patch->topoffset); + x -= SHORT(patch->leftoffset); + + if(patchclip_callback) + { + if(!patchclip_callback(patch, x, y)) + return; + } + + col = 0; + desttop = dest_screen + y * SCREENWIDTH + x; + + w = SHORT(patch->width); + for(; col < w; x++, col++, desttop++) + { + column = (column_t *) ((byte *) patch + LONG(patch->columnofs[col])); + + // step through the posts in a column + + while(column->topdelta != 0xff) + { + source = (byte *) column + 3; + dest = desttop + column->topdelta * SCREENWIDTH; + count = column->length; + + while(count--) + { + *dest = xlatab[*dest + ((*source) << 8)]; + source++; + dest += SCREENWIDTH; + } + column = (column_t *) ((byte *) column + column->length + 4); + } + } +} + +// +// V_DrawAltTLPatch +// +// Masks a column based translucent masked pic to the screen. +// + +void V_DrawAltTLPatch(int x, int y, patch_t * patch) +{ + int count, col; + column_t *column; + byte *desttop, *dest, *source; + int w; + + y -= SHORT(patch->topoffset); + x -= SHORT(patch->leftoffset); + + if (x < 0 + || x + SHORT(patch->width) > SCREENWIDTH + || y < 0 + || y + SHORT(patch->height) > SCREENHEIGHT) + { + I_Error("Bad V_DrawAltTLPatch"); + } + + col = 0; + desttop = dest_screen + y * SCREENWIDTH + x; + + w = SHORT(patch->width); + for (; col < w; x++, col++, desttop++) + { + column = (column_t *) ((byte *) patch + LONG(patch->columnofs[col])); + + // step through the posts in a column + + while (column->topdelta != 0xff) + { + source = (byte *) column + 3; + dest = desttop + column->topdelta * SCREENWIDTH; + count = column->length; + + while (count--) + { + *dest = tinttable[((*dest) << 8) + *source++]; + dest += SCREENWIDTH; + } + column = (column_t *) ((byte *) column + column->length + 4); + } + } +} + +// +// V_DrawShadowedPatch +// +// Masks a column based masked pic to the screen. +// + +void V_DrawShadowedPatch(int x, int y, patch_t *patch) +{ + int count, col; + column_t *column; + byte *desttop, *dest, *source; + byte *desttop2, *dest2; + int w; + + y -= SHORT(patch->topoffset); + x -= SHORT(patch->leftoffset); + + if (x < 0 + || x + SHORT(patch->width) > SCREENWIDTH + || y < 0 + || y + SHORT(patch->height) > SCREENHEIGHT) + { + I_Error("Bad V_DrawShadowedPatch"); + } + + col = 0; + desttop = dest_screen + y * SCREENWIDTH + x; + desttop2 = dest_screen + (y + 2) * SCREENWIDTH + x + 2; + + w = SHORT(patch->width); + for (; col < w; x++, col++, desttop++, desttop2++) + { + column = (column_t *) ((byte *) patch + LONG(patch->columnofs[col])); + + // step through the posts in a column + + while (column->topdelta != 0xff) + { + source = (byte *) column + 3; + dest = desttop + column->topdelta * SCREENWIDTH; + dest2 = desttop2 + column->topdelta * SCREENWIDTH; + count = column->length; + + while (count--) + { + *dest2 = tinttable[((*dest2) << 8)]; + dest2 += SCREENWIDTH; + *dest = *source++; + dest += SCREENWIDTH; + + } + column = (column_t *) ((byte *) column + column->length + 4); + } + } +} + +// +// Load tint table from TINTTAB lump. +// + +void V_LoadTintTable(void) +{ + tinttable = W_CacheLumpName("TINTTAB", PU_STATIC); +} + +// +// V_LoadXlaTable +// +// villsa [STRIFE] Load xla table from XLATAB lump. +// + +void V_LoadXlaTable(void) +{ + xlatab = W_CacheLumpName("XLATAB", PU_STATIC); +} + +// +// V_DrawBlock +// Draw a linear block of pixels into the view buffer. +// + +void V_DrawBlock(int x, int y, int width, int height, byte *src) +{ + byte *dest; + +#ifdef RANGECHECK + if (x < 0 + || x + width >SCREENWIDTH + || y < 0 + || y + height > SCREENHEIGHT) + { + I_Error ("Bad V_DrawBlock"); + } +#endif + + V_MarkRect (x, y, width, height); + + dest = dest_screen + y * SCREENWIDTH + x; + + while (height--) + { + memcpy (dest, src, width); + src += width; + dest += SCREENWIDTH; + } +} + +void V_DrawFilledBox(int x, int y, int w, int h, int c) +{ + uint8_t *buf, *buf1; + int x1, y1; + + buf = I_VideoBuffer + SCREENWIDTH * y + x; + + for (y1 = 0; y1 < h; ++y1) + { + buf1 = buf; + + for (x1 = 0; x1 < w; ++x1) + { + *buf1++ = c; + } + + buf += SCREENWIDTH; + } +} + +void V_DrawHorizLine(int x, int y, int w, int c) +{ + uint8_t *buf; + int x1; + + buf = I_VideoBuffer + SCREENWIDTH * y + x; + + for (x1 = 0; x1 < w; ++x1) + { + *buf++ = c; + } +} + +void V_DrawVertLine(int x, int y, int h, int c) +{ + uint8_t *buf; + int y1; + + buf = I_VideoBuffer + SCREENWIDTH * y + x; + + for (y1 = 0; y1 < h; ++y1) + { + *buf = c; + buf += SCREENWIDTH; + } +} + +void V_DrawBox(int x, int y, int w, int h, int c) +{ + V_DrawHorizLine(x, y, w, c); + V_DrawHorizLine(x, y+h-1, w, c); + V_DrawVertLine(x, y, h, c); + V_DrawVertLine(x+w-1, y, h, c); +} + +// +// Draw a "raw" screen (lump containing raw data to blit directly +// to the screen) +// + +void V_DrawRawScreen(byte *raw) +{ + memcpy(dest_screen, raw, SCREENWIDTH * SCREENHEIGHT); +} + +// +// V_Init +// +void V_Init (void) +{ + // no-op! + // There used to be separate screens that could be drawn to; these are + // now handled in the upper layers. +} + +// Set the buffer that the code draws to. + +void V_UseBuffer(byte *buffer) +{ + dest_screen = buffer; +} + +// Restore screen buffer to the i_video screen buffer. + +void V_RestoreBuffer(void) +{ + dest_screen = I_VideoBuffer; +} + +// +// SCREEN SHOTS +// + +typedef struct +{ + char manufacturer; + char version; + char encoding; + char bits_per_pixel; + + unsigned short xmin; + unsigned short ymin; + unsigned short xmax; + unsigned short ymax; + + unsigned short hres; + unsigned short vres; + + unsigned char palette[48]; + + char reserved; + char color_planes; + unsigned short bytes_per_line; + unsigned short palette_type; + + char filler[58]; + unsigned char data; // unbounded +} PACKEDATTR pcx_t; + + +// +// WritePCXfile +// + +void WritePCXfile(char *filename, byte *data, + int width, int height, + byte *palette) +{ + int i; + int length; + pcx_t* pcx; + byte* pack; + + pcx = Z_Malloc (width*height*2+1000, PU_STATIC, NULL); + + pcx->manufacturer = 0x0a; // PCX id + pcx->version = 5; // 256 color + pcx->encoding = 1; // uncompressed + pcx->bits_per_pixel = 8; // 256 color + pcx->xmin = 0; + pcx->ymin = 0; + pcx->xmax = SHORT(width-1); + pcx->ymax = SHORT(height-1); + pcx->hres = SHORT(width); + pcx->vres = SHORT(height); + memset (pcx->palette,0,sizeof(pcx->palette)); + pcx->color_planes = 1; // chunky image + pcx->bytes_per_line = SHORT(width); + pcx->palette_type = SHORT(2); // not a grey scale + memset (pcx->filler,0,sizeof(pcx->filler)); + + // pack the image + pack = &pcx->data; + + for (i=0 ; i MOUSE_SPEED_BOX_WIDTH - 1) + { + linelen = MOUSE_SPEED_BOX_WIDTH - 1; + } + + V_DrawHorizLine(box_x + 1, box_y + 4, MOUSE_SPEED_BOX_WIDTH - 2, black); + + if (linelen < redline_x) + { + V_DrawHorizLine(box_x + 1, box_y + MOUSE_SPEED_BOX_HEIGHT / 2, + linelen, white); + } + else + { + V_DrawHorizLine(box_x + 1, box_y + MOUSE_SPEED_BOX_HEIGHT / 2, + redline_x, white); + V_DrawHorizLine(box_x + redline_x, box_y + MOUSE_SPEED_BOX_HEIGHT / 2, + linelen - redline_x, yellow); + } + + // Draw red line + + V_DrawVertLine(box_x + redline_x, box_y + 1, + MOUSE_SPEED_BOX_HEIGHT - 2, red); +} + diff --git a/src/kernel/userland/doom/v_video.h b/src/kernel/userland/doom/v_video.h new file mode 100644 index 0000000..a970c71 --- /dev/null +++ b/src/kernel/userland/doom/v_video.h @@ -0,0 +1,108 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Gamma correction LUT. +// Functions to draw patches (by post) directly to screen. +// Functions to blit a block to the screen. +// + + +#ifndef __V_VIDEO__ +#define __V_VIDEO__ + +#include "doomtype.h" + +// Needed because we are refering to patches. +#include "v_patch.h" + +// +// VIDEO +// + +#define CENTERY (SCREENHEIGHT/2) + + +extern int dirtybox[4]; + +extern byte *tinttable; + +// haleyjd 08/28/10: implemented for Strife support +// haleyjd 08/28/10: Patch clipping callback, implemented to support Choco +// Strife. +typedef boolean (*vpatchclipfunc_t)(patch_t *, int, int); +void V_SetPatchClipCallback(vpatchclipfunc_t func); + + +// Allocates buffer screens, call before R_Init. +void V_Init (void); + +// Draw a block from the specified source screen to the screen. + +void V_CopyRect(int srcx, int srcy, byte *source, + int width, int height, + int destx, int desty); + +void V_DrawPatch(int x, int y, patch_t *patch); +void V_DrawPatchFlipped(int x, int y, patch_t *patch); +void V_DrawTLPatch(int x, int y, patch_t *patch); +void V_DrawAltTLPatch(int x, int y, patch_t * patch); +void V_DrawShadowedPatch(int x, int y, patch_t *patch); +void V_DrawXlaPatch(int x, int y, patch_t * patch); // villsa [STRIFE] +void V_DrawPatchDirect(int x, int y, patch_t *patch); + +// Draw a linear block of pixels into the view buffer. + +void V_DrawBlock(int x, int y, int width, int height, byte *src); + +void V_MarkRect(int x, int y, int width, int height); + +void V_DrawFilledBox(int x, int y, int w, int h, int c); +void V_DrawHorizLine(int x, int y, int w, int c); +void V_DrawVertLine(int x, int y, int h, int c); +void V_DrawBox(int x, int y, int w, int h, int c); + +// Draw a raw screen lump + +void V_DrawRawScreen(byte *raw); + +// Temporarily switch to using a different buffer to draw graphics, etc. + +void V_UseBuffer(byte *buffer); + +// Return to using the normal screen buffer to draw graphics. + +void V_RestoreBuffer(void); + +// Save a screenshot of the current screen to a file, named in the +// format described in the string passed to the function, eg. +// "DOOM%02i.pcx" + +void V_ScreenShot(char *format); + +// Load the lookup table for translucency calculations from the TINTTAB +// lump. + +void V_LoadTintTable(void); + +// villsa [STRIFE] +// Load the lookup table for translucency calculations from the XLATAB +// lump. + +void V_LoadXlaTable(void); + +void V_DrawMouseSpeedBox(int speed); + +#endif + diff --git a/src/kernel/userland/doom/w_checksum.c b/src/kernel/userland/doom/w_checksum.c new file mode 100644 index 0000000..5933fdf --- /dev/null +++ b/src/kernel/userland/doom/w_checksum.c @@ -0,0 +1,87 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Generate a checksum of the WAD directory. +// + +#include +#include +#include + +#include "m_misc.h" +#include "sha1.h" +#include "w_checksum.h" +#include "w_wad.h" + +static wad_file_t **open_wadfiles = NULL; +static int num_open_wadfiles = 0; + +static int GetFileNumber(wad_file_t *handle) +{ + int i; + int result; + + for (i=0; iname, sizeof(buf)); + SHA1_UpdateString(sha1_context, buf); + SHA1_UpdateInt32(sha1_context, GetFileNumber(lump->wad_file)); + SHA1_UpdateInt32(sha1_context, lump->position); + SHA1_UpdateInt32(sha1_context, lump->size); +} + +void W_Checksum(sha1_digest_t digest) +{ + sha1_context_t sha1_context; + unsigned int i; + + SHA1_Init(&sha1_context); + + num_open_wadfiles = 0; + + // Go through each entry in the WAD directory, adding information + // about each entry to the SHA1 hash. + + for (i=0; i + +#include "config.h" + +#include "doomtype.h" +#include "m_argv.h" + +#include "w_file.h" + +extern wad_file_class_t stdc_wad_file; + +/* +#ifdef _WIN32 +extern wad_file_class_t win32_wad_file; +#endif +*/ + +#ifdef HAVE_MMAP +extern wad_file_class_t posix_wad_file; +#endif + +static wad_file_class_t *wad_file_classes[] = +{ +/* +#ifdef _WIN32 + &win32_wad_file, +#endif +*/ +#ifdef HAVE_MMAP + &posix_wad_file, +#endif + &stdc_wad_file, +}; + +wad_file_t *W_OpenFile(char *path) +{ + wad_file_t *result; + int i; + + //! + // Use the OS's virtual memory subsystem to map WAD files + // directly into memory. + // + + if (!M_CheckParm("-mmap")) + { + return stdc_wad_file.OpenFile(path); + } + + // Try all classes in order until we find one that works + + result = NULL; + + for (i = 0; i < arrlen(wad_file_classes); ++i) + { + result = wad_file_classes[i]->OpenFile(path); + + if (result != NULL) + { + break; + } + } + + return result; +} + +void W_CloseFile(wad_file_t *wad) +{ + wad->file_class->CloseFile(wad); +} + +size_t W_Read(wad_file_t *wad, unsigned int offset, + void *buffer, size_t buffer_len) +{ + return wad->file_class->Read(wad, offset, buffer, buffer_len); +} + diff --git a/src/kernel/userland/doom/w_file.h b/src/kernel/userland/doom/w_file.h new file mode 100644 index 0000000..f577814 --- /dev/null +++ b/src/kernel/userland/doom/w_file.h @@ -0,0 +1,78 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// WAD I/O functions. +// + + +#ifndef __W_FILE__ +#define __W_FILE__ + +#include +#include "doomtype.h" + +typedef struct _wad_file_s wad_file_t; + +typedef struct +{ + // Open a file for reading. + + wad_file_t *(*OpenFile)(char *path); + + // Close the specified file. + + void (*CloseFile)(wad_file_t *file); + + // Read data from the specified position in the file into the + // provided buffer. Returns the number of bytes read. + + size_t (*Read)(wad_file_t *file, unsigned int offset, + void *buffer, size_t buffer_len); + +} wad_file_class_t; + +struct _wad_file_s +{ + // Class of this file. + + wad_file_class_t *file_class; + + // If this is NULL, the file cannot be mapped into memory. If this + // is non-NULL, it is a pointer to the mapped file. + + byte *mapped; + + // Length of the file, in bytes. + + unsigned int length; +}; + +// Open the specified file. Returns a pointer to a new wad_file_t +// handle for the WAD file, or NULL if it could not be opened. + +wad_file_t *W_OpenFile(char *path); + +// Close the specified WAD file. + +void W_CloseFile(wad_file_t *wad); + +// Read data from the specified file into the provided buffer. The +// data is read from the specified offset from the start of the file. +// Returns the number of bytes read. + +size_t W_Read(wad_file_t *wad, unsigned int offset, + void *buffer, size_t buffer_len); + +#endif /* #ifndef __W_FILE__ */ diff --git a/src/kernel/userland/doom/w_file_stdc.c b/src/kernel/userland/doom/w_file_stdc.c new file mode 100644 index 0000000..829e960 --- /dev/null +++ b/src/kernel/userland/doom/w_file_stdc.c @@ -0,0 +1,96 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// WAD I/O functions. +// + +#include + +#include "m_misc.h" +#include "w_file.h" +#include "z_zone.h" + +typedef struct +{ + wad_file_t wad; + FILE *fstream; +} stdc_wad_file_t; + +extern wad_file_class_t stdc_wad_file; + +static wad_file_t *W_StdC_OpenFile(char *path) +{ + stdc_wad_file_t *result; + FILE *fstream; + + fstream = fopen(path, "rb"); + + if (fstream == NULL) + { + return NULL; + } + + // Create a new stdc_wad_file_t to hold the file handle. + + result = Z_Malloc(sizeof(stdc_wad_file_t), PU_STATIC, 0); + result->wad.file_class = &stdc_wad_file; + result->wad.mapped = NULL; + result->wad.length = M_FileLength(fstream); + result->fstream = fstream; + + return &result->wad; +} + +static void W_StdC_CloseFile(wad_file_t *wad) +{ + stdc_wad_file_t *stdc_wad; + + stdc_wad = (stdc_wad_file_t *) wad; + + fclose(stdc_wad->fstream); + Z_Free(stdc_wad); +} + +// Read data from the specified position in the file into the +// provided buffer. Returns the number of bytes read. + +size_t W_StdC_Read(wad_file_t *wad, unsigned int offset, + void *buffer, size_t buffer_len) +{ + stdc_wad_file_t *stdc_wad; + size_t result; + + stdc_wad = (stdc_wad_file_t *) wad; + + // Jump to the specified position in the file. + + fseek(stdc_wad->fstream, offset, SEEK_SET); + + // Read into the buffer. + + result = fread(buffer, 1, buffer_len, stdc_wad->fstream); + + return result; +} + + +wad_file_class_t stdc_wad_file = +{ + W_StdC_OpenFile, + W_StdC_CloseFile, + W_StdC_Read, +}; + + diff --git a/src/kernel/userland/doom/w_main.c b/src/kernel/userland/doom/w_main.c new file mode 100644 index 0000000..115f081 --- /dev/null +++ b/src/kernel/userland/doom/w_main.c @@ -0,0 +1,198 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Common code to parse command line, identifying WAD files to load. +// + +#include "doomfeatures.h" +#include "d_iwad.h" +#include "m_argv.h" +#include "w_main.h" +#include "w_merge.h" +#include "w_wad.h" +#include "z_zone.h" + +// Parse the command line, merging WAD files that are sppecified. +// Returns true if at least one file was added. + +boolean W_ParseCommandLine(void) +{ + boolean modifiedgame = false; + int p; + +#ifdef FEATURE_WAD_MERGE + + // Merged PWADs are loaded first, because they are supposed to be + // modified IWADs. + + //! + // @arg + // @category mod + // + // Simulates the behavior of deutex's -merge option, merging a PWAD + // into the main IWAD. Multiple files may be specified. + // + + p = M_CheckParmWithArgs("-merge", 1); + + if (p > 0) + { + for (p = p + 1; p + // @category mod + // + // Simulates the behavior of NWT's -merge option. Multiple files + // may be specified. + + p = M_CheckParmWithArgs("-nwtmerge", 1); + + if (p > 0) + { + for (p = p + 1; p + // @category mod + // + // Simulates the behavior of NWT's -af option, merging flats into + // the main IWAD directory. Multiple files may be specified. + // + + p = M_CheckParmWithArgs("-af", 1); + + if (p > 0) + { + for (p = p + 1; p + // @category mod + // + // Simulates the behavior of NWT's -as option, merging sprites + // into the main IWAD directory. Multiple files may be specified. + // + + p = M_CheckParmWithArgs("-as", 1); + + if (p > 0) + { + for (p = p + 1; p + // @category mod + // + // Equivalent to "-af -as ". + // + + p = M_CheckParmWithArgs("-aa", 1); + + if (p > 0) + { + for (p = p + 1; p + // @vanilla + // + // Load the specified PWAD files. + // + + p = M_CheckParmWithArgs ("-file", 1); + if (p) + { + // the parms after p are wadfile/lump names, + // until end of parms or another - preceded parm + modifiedgame = true; // homebrew levels + while (++p != myargc && myargv[p][0] != '-') + { + char *filename; + + filename = D_TryFindWADByName(myargv[p]); + + printf(" adding %s\n", filename); + W_AddFile(filename); + } + } + +// W_PrintDirectory(); + + return modifiedgame; +} + diff --git a/src/kernel/userland/doom/w_main.h b/src/kernel/userland/doom/w_main.h new file mode 100644 index 0000000..2e39efc --- /dev/null +++ b/src/kernel/userland/doom/w_main.h @@ -0,0 +1,24 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Common code to parse command line, identifying WAD files to load. +// + +#ifndef W_MAIN_H +#define W_MAIN_H + +boolean W_ParseCommandLine(void); + +#endif /* #ifndef W_MAIN_H */ + diff --git a/src/kernel/userland/doom/w_merge.h b/src/kernel/userland/doom/w_merge.h new file mode 100644 index 0000000..c8ecc69 --- /dev/null +++ b/src/kernel/userland/doom/w_merge.h @@ -0,0 +1,44 @@ +// +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Handles merging of PWADs, similar to deutex's -merge option +// +// Ideally this should work exactly the same as in deutex, but trying to +// read the deutex source code made my brain hurt. +// + +#ifndef W_MERGE_H +#define W_MERGE_H + +#define W_NWT_MERGE_SPRITES 0x1 +#define W_NWT_MERGE_FLATS 0x2 + +// Add a new WAD and merge it into the main directory + +void W_MergeFile(char *filename); + +// NWT-style merging + +void W_NWTMergeFile(char *filename, int flags); + +// Acts the same as NWT's "-merge" option. + +void W_NWTDashMerge(char *filename); + +// Debug function that prints the WAD directory. + +void W_PrintDirectory(void); + +#endif /* #ifndef W_MERGE_H */ + diff --git a/src/kernel/userland/doom/w_wad.c b/src/kernel/userland/doom/w_wad.c new file mode 100644 index 0000000..1248046 --- /dev/null +++ b/src/kernel/userland/doom/w_wad.c @@ -0,0 +1,612 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Handles WAD file header, directory, lump I/O. +// + + + + +#include +#include +#include +#include + +#include "doomtype.h" + +#include "config.h" +#include "d_iwad.h" +#include "i_swap.h" +#include "i_system.h" +#include "i_video.h" +#include "m_misc.h" +#include "z_zone.h" + +#include "w_wad.h" + +typedef struct +{ + // Should be "IWAD" or "PWAD". + char identification[4]; + int numlumps; + int infotableofs; +} PACKEDATTR wadinfo_t; + + +typedef struct +{ + int filepos; + int size; + char name[8]; +} PACKEDATTR filelump_t; + +// +// GLOBALS +// + +// Location of each lump on disk. + +lumpinfo_t *lumpinfo; +unsigned int numlumps = 0; + +// Hash table for fast lookups + +static lumpinfo_t **lumphash; + +// Hash function used for lump names. + +unsigned int W_LumpNameHash(const char *s) +{ + // This is the djb2 string hash function, modded to work on strings + // that have a maximum length of 8. + + unsigned int result = 5381; + unsigned int i; + + for (i=0; i < 8 && s[i] != '\0'; ++i) + { + result = ((result << 5) ^ result ) ^ toupper((int)s[i]); + } + + return result; +} + +// Increase the size of the lumpinfo[] array to the specified size. +static void ExtendLumpInfo(int newnumlumps) +{ + lumpinfo_t *newlumpinfo; + unsigned int i; + + newlumpinfo = calloc(newnumlumps, sizeof(lumpinfo_t)); + + if (newlumpinfo == NULL) + { + I_Error ("Couldn't realloc lumpinfo"); + } + + // Copy over lumpinfo_t structures from the old array. If any of + // these lumps have been cached, we need to update the user + // pointers to the new location. + for (i = 0; i < numlumps && i < newnumlumps; ++i) + { + memcpy(&newlumpinfo[i], &lumpinfo[i], sizeof(lumpinfo_t)); + + if (newlumpinfo[i].cache != NULL) + { + Z_ChangeUser(newlumpinfo[i].cache, &newlumpinfo[i].cache); + } + + // We shouldn't be generating a hash table until after all WADs have + // been loaded, but just in case... + if (lumpinfo[i].next != NULL) + { + int nextlumpnum = lumpinfo[i].next - lumpinfo; + newlumpinfo[i].next = &newlumpinfo[nextlumpnum]; + } + } + + // All done. + free(lumpinfo); + lumpinfo = newlumpinfo; + numlumps = newnumlumps; +} + +// +// LUMP BASED ROUTINES. +// + +// +// W_AddFile +// All files are optional, but at least one file must be +// found (PWAD, if all required lumps are present). +// Files with a .wad extension are wadlink files +// with multiple lumps. +// Other files are single lumps with the base filename +// for the lump name. + +wad_file_t *W_AddFile (char *filename) +{ + wadinfo_t header; + lumpinfo_t *lump_p; + unsigned int i; + wad_file_t *wad_file; + int length; + int startlump; + filelump_t *fileinfo; + filelump_t *filerover; + int newnumlumps; + + // open the file and add to directory + + wad_file = W_OpenFile(filename); + + if (wad_file == NULL) + { + printf (" couldn't open %s\n", filename); + return NULL; + } + + newnumlumps = numlumps; + + if (strcasecmp(filename+strlen(filename)-3 , "wad" ) ) + { + // single lump file + + // fraggle: Swap the filepos and size here. The WAD directory + // parsing code expects a little-endian directory, so will swap + // them back. Effectively we're constructing a "fake WAD directory" + // here, as it would appear on disk. + + fileinfo = Z_Malloc(sizeof(filelump_t), PU_STATIC, 0); + fileinfo->filepos = LONG(0); + fileinfo->size = LONG(wad_file->length); + + // Name the lump after the base of the filename (without the + // extension). + + M_ExtractFileBase (filename, fileinfo->name); + newnumlumps++; + } + else + { + // WAD file + W_Read(wad_file, 0, &header, sizeof(header)); + + if (strncmp(header.identification,"IWAD",4)) + { + // Homebrew levels? + if (strncmp(header.identification,"PWAD",4)) + { + I_Error ("Wad file %s doesn't have IWAD " + "or PWAD id\n", filename); + } + + // ???modifiedgame = true; + } + + header.numlumps = LONG(header.numlumps); + header.infotableofs = LONG(header.infotableofs); + length = header.numlumps*sizeof(filelump_t); + fileinfo = Z_Malloc(length, PU_STATIC, 0); + + W_Read(wad_file, header.infotableofs, fileinfo, length); + newnumlumps += header.numlumps; + } + + // Increase size of numlumps array to accomodate the new file. + startlump = numlumps; + ExtendLumpInfo(newnumlumps); + + lump_p = &lumpinfo[startlump]; + + filerover = fileinfo; + + for (i=startlump; iwad_file = wad_file; + lump_p->position = LONG(filerover->filepos); + lump_p->size = LONG(filerover->size); + lump_p->cache = NULL; + strncpy(lump_p->name, filerover->name, 8); + + ++lump_p; + ++filerover; + } + + Z_Free(fileinfo); + + if (lumphash != NULL) + { + Z_Free(lumphash); + lumphash = NULL; + } + + return wad_file; +} + + + +// +// W_NumLumps +// +int W_NumLumps (void) +{ + return numlumps; +} + + + +// +// W_CheckNumForName +// Returns -1 if name not found. +// + +int W_CheckNumForName (char* name) +{ + lumpinfo_t *lump_p; + int i; + + // Do we have a hash table yet? + + if (lumphash != NULL) + { + int hash; + + // We do! Excellent. + + hash = W_LumpNameHash(name) % numlumps; + + for (lump_p = lumphash[hash]; lump_p != NULL; lump_p = lump_p->next) + { + if (!strncasecmp(lump_p->name, name, 8)) + { + return lump_p - lumpinfo; + } + } + } + else + { + // We don't have a hash table generate yet. Linear search :-( + // + // scan backwards so patch lump files take precedence + + for (i=numlumps-1; i >= 0; --i) + { + if (!strncasecmp(lumpinfo[i].name, name, 8)) + { + return i; + } + } + } + + // TFB. Not found. + + return -1; +} + + + + +// +// W_GetNumForName +// Calls W_CheckNumForName, but bombs out if not found. +// +int W_GetNumForName (char* name) +{ + int i; + + i = W_CheckNumForName (name); + + if (i < 0) + { + I_Error ("W_GetNumForName: %s not found!", name); + } + + return i; +} + + +// +// W_LumpLength +// Returns the buffer size needed to load the given lump. +// +int W_LumpLength (unsigned int lump) +{ + if (lump >= numlumps) + { + I_Error ("W_LumpLength: %i >= numlumps", lump); + } + + return lumpinfo[lump].size; +} + + + +// +// W_ReadLump +// Loads the lump into the given buffer, +// which must be >= W_LumpLength(). +// +void W_ReadLump(unsigned int lump, void *dest) +{ + int c; + lumpinfo_t *l; + + if (lump >= numlumps) + { + I_Error ("W_ReadLump: %i >= numlumps", lump); + } + + l = lumpinfo+lump; + + I_BeginRead (); + + c = W_Read(l->wad_file, l->position, dest, l->size); + + if (c < l->size) + { + I_Error ("W_ReadLump: only read %i of %i on lump %i", + c, l->size, lump); + } + + I_EndRead (); +} + + + + +// +// W_CacheLumpNum +// +// Load a lump into memory and return a pointer to a buffer containing +// the lump data. +// +// 'tag' is the type of zone memory buffer to allocate for the lump +// (usually PU_STATIC or PU_CACHE). If the lump is loaded as +// PU_STATIC, it should be released back using W_ReleaseLumpNum +// when no longer needed (do not use Z_ChangeTag). +// + +void *W_CacheLumpNum(int lumpnum, int tag) +{ + byte *result; + lumpinfo_t *lump; + + if ((unsigned)lumpnum >= numlumps) + { + I_Error ("W_CacheLumpNum: %i >= numlumps", lumpnum); + } + + lump = &lumpinfo[lumpnum]; + + // Get the pointer to return. If the lump is in a memory-mapped + // file, we can just return a pointer to within the memory-mapped + // region. If the lump is in an ordinary file, we may already + // have it cached; otherwise, load it into memory. + + if (lump->wad_file->mapped != NULL) + { + // Memory mapped file, return from the mmapped region. + + result = lump->wad_file->mapped + lump->position; + } + else if (lump->cache != NULL) + { + // Already cached, so just switch the zone tag. + + result = lump->cache; + Z_ChangeTag(lump->cache, tag); + } + else + { + // Not yet loaded, so load it now + + lump->cache = Z_Malloc(W_LumpLength(lumpnum), tag, &lump->cache); + W_ReadLump (lumpnum, lump->cache); + result = lump->cache; + } + + return result; +} + + + +// +// W_CacheLumpName +// +void *W_CacheLumpName(char *name, int tag) +{ + return W_CacheLumpNum(W_GetNumForName(name), tag); +} + +// +// Release a lump back to the cache, so that it can be reused later +// without having to read from disk again, or alternatively, discarded +// if we run out of memory. +// +// Back in Vanilla Doom, this was just done using Z_ChangeTag +// directly, but now that we have WAD mmap, things are a bit more +// complicated ... +// + +void W_ReleaseLumpNum(int lumpnum) +{ + lumpinfo_t *lump; + + if ((unsigned)lumpnum >= numlumps) + { + I_Error ("W_ReleaseLumpNum: %i >= numlumps", lumpnum); + } + + lump = &lumpinfo[lumpnum]; + + if (lump->wad_file->mapped != NULL) + { + // Memory-mapped file, so nothing needs to be done here. + } + else + { + Z_ChangeTag(lump->cache, PU_CACHE); + } +} + +void W_ReleaseLumpName(char *name) +{ + W_ReleaseLumpNum(W_GetNumForName(name)); +} + +#if 0 + +// +// W_Profile +// +int info[2500][10]; +int profilecount; + +void W_Profile (void) +{ + int i; + memblock_t* block; + void* ptr; + char ch; + FILE* f; + int j; + char name[9]; + + + for (i=0 ; itag < PU_PURGELEVEL) + ch = 'S'; + else + ch = 'P'; + } + info[i][profilecount] = ch; + } + profilecount++; +#if ORIGCODE + f = fopen ("waddump.txt","w"); + name[8] = 0; + + for (i=0 ; i 0) + { + lumphash = Z_Malloc(sizeof(lumpinfo_t *) * numlumps, PU_STATIC, NULL); + memset(lumphash, 0, sizeof(lumpinfo_t *) * numlumps); + + for (i=0; i= 0) + { + I_Error("\nYou are trying to use a %s IWAD file with " + "the %s%s binary.\nThis isn't going to work.\n" + "You probably want to use the %s%s binary.", + D_SuggestGameName(unique_lumps[i].mission, + indetermined), + PROGRAM_PREFIX, + D_GameMissionString(mission), + PROGRAM_PREFIX, + D_GameMissionString(unique_lumps[i].mission)); + } + } + } +} + diff --git a/src/kernel/userland/doom/w_wad.h b/src/kernel/userland/doom/w_wad.h new file mode 100644 index 0000000..7189574 --- /dev/null +++ b/src/kernel/userland/doom/w_wad.h @@ -0,0 +1,78 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// WAD I/O functions. +// + + +#ifndef __W_WAD__ +#define __W_WAD__ + +#include + +#include "doomtype.h" +#include "d_mode.h" + +#include "w_file.h" + + +// +// TYPES +// + +// +// WADFILE I/O related stuff. +// + +typedef struct lumpinfo_s lumpinfo_t; + +struct lumpinfo_s +{ + char name[8]; + wad_file_t *wad_file; + int position; + int size; + void *cache; + + // Used for hash table lookups + + lumpinfo_t *next; +}; + + +extern lumpinfo_t *lumpinfo; +extern unsigned int numlumps; + +wad_file_t *W_AddFile (char *filename); + +int W_CheckNumForName (char* name); +int W_GetNumForName (char* name); + +int W_LumpLength (unsigned int lump); +void W_ReadLump (unsigned int lump, void *dest); + +void* W_CacheLumpNum (int lump, int tag); +void* W_CacheLumpName (char* name, int tag); + +void W_GenerateHashTable(void); + +extern unsigned int W_LumpNameHash(const char *s); + +void W_ReleaseLumpNum(int lump); +void W_ReleaseLumpName(char *name); + +void W_CheckCorrectIWAD(GameMission_t mission); + +#endif diff --git a/src/kernel/userland/doom/wi_stuff.c b/src/kernel/userland/doom/wi_stuff.c new file mode 100644 index 0000000..ddb9a66 --- /dev/null +++ b/src/kernel/userland/doom/wi_stuff.c @@ -0,0 +1,1829 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Intermission screens. +// + + +#include + +#include "z_zone.h" + +#include "m_misc.h" +#include "m_random.h" + +#include "deh_main.h" +#include "i_swap.h" +#include "i_system.h" + +#include "w_wad.h" + +#include "g_game.h" + +#include "r_local.h" +#include "s_sound.h" + +#include "doomstat.h" + +// Data. +#include "sounds.h" + +// Needs access to LFB. +#include "v_video.h" + +#include "wi_stuff.h" + +// +// Data needed to add patches to full screen intermission pics. +// Patches are statistics messages, and animations. +// Loads of by-pixel layout and placement, offsets etc. +// + + +// +// Different vetween registered DOOM (1994) and +// Ultimate DOOM - Final edition (retail, 1995?). +// This is supposedly ignored for commercial +// release (aka DOOM II), which had 34 maps +// in one episode. So there. +#define NUMEPISODES 4 +#define NUMMAPS 9 + + +// in tics +//U #define PAUSELEN (TICRATE*2) +//U #define SCORESTEP 100 +//U #define ANIMPERIOD 32 +// pixel distance from "(YOU)" to "PLAYER N" +//U #define STARDIST 10 +//U #define WK 1 + + +// GLOBAL LOCATIONS +#define WI_TITLEY 2 +#define WI_SPACINGY 33 + +// SINGPLE-PLAYER STUFF +#define SP_STATSX 50 +#define SP_STATSY 50 + +#define SP_TIMEX 16 +#define SP_TIMEY (SCREENHEIGHT-32) + + +// NET GAME STUFF +#define NG_STATSY 50 +#define NG_STATSX (32 + SHORT(star->width)/2 + 32*!dofrags) + +#define NG_SPACINGX 64 + + +// DEATHMATCH STUFF +#define DM_MATRIXX 42 +#define DM_MATRIXY 68 + +#define DM_SPACINGX 40 + +#define DM_TOTALSX 269 + +#define DM_KILLERSX 10 +#define DM_KILLERSY 100 +#define DM_VICTIMSX 5 +#define DM_VICTIMSY 50 + + + + +typedef enum +{ + ANIM_ALWAYS, + ANIM_RANDOM, + ANIM_LEVEL + +} animenum_t; + +typedef struct +{ + int x; + int y; + +} point_t; + + +// +// Animation. +// There is another anim_t used in p_spec. +// +typedef struct +{ + animenum_t type; + + // period in tics between animations + int period; + + // number of animation frames + int nanims; + + // location of animation + point_t loc; + + // ALWAYS: n/a, + // RANDOM: period deviation (<256), + // LEVEL: level + int data1; + + // ALWAYS: n/a, + // RANDOM: random base period, + // LEVEL: n/a + int data2; + + // actual graphics for frames of animations + patch_t* p[3]; + + // following must be initialized to zero before use! + + // next value of bcnt (used in conjunction with period) + int nexttic; + + // last drawn animation frame + int lastdrawn; + + // next frame number to animate + int ctr; + + // used by RANDOM and LEVEL when animating + int state; + +} anim_t; + + +static point_t lnodes[NUMEPISODES][NUMMAPS] = +{ + // Episode 0 World Map + { + { 185, 164 }, // location of level 0 (CJ) + { 148, 143 }, // location of level 1 (CJ) + { 69, 122 }, // location of level 2 (CJ) + { 209, 102 }, // location of level 3 (CJ) + { 116, 89 }, // location of level 4 (CJ) + { 166, 55 }, // location of level 5 (CJ) + { 71, 56 }, // location of level 6 (CJ) + { 135, 29 }, // location of level 7 (CJ) + { 71, 24 } // location of level 8 (CJ) + }, + + // Episode 1 World Map should go here + { + { 254, 25 }, // location of level 0 (CJ) + { 97, 50 }, // location of level 1 (CJ) + { 188, 64 }, // location of level 2 (CJ) + { 128, 78 }, // location of level 3 (CJ) + { 214, 92 }, // location of level 4 (CJ) + { 133, 130 }, // location of level 5 (CJ) + { 208, 136 }, // location of level 6 (CJ) + { 148, 140 }, // location of level 7 (CJ) + { 235, 158 } // location of level 8 (CJ) + }, + + // Episode 2 World Map should go here + { + { 156, 168 }, // location of level 0 (CJ) + { 48, 154 }, // location of level 1 (CJ) + { 174, 95 }, // location of level 2 (CJ) + { 265, 75 }, // location of level 3 (CJ) + { 130, 48 }, // location of level 4 (CJ) + { 279, 23 }, // location of level 5 (CJ) + { 198, 48 }, // location of level 6 (CJ) + { 140, 25 }, // location of level 7 (CJ) + { 281, 136 } // location of level 8 (CJ) + } + +}; + + +// +// Animation locations for episode 0 (1). +// Using patches saves a lot of space, +// as they replace 320x200 full screen frames. +// + +#define ANIM(type, period, nanims, x, y, nexttic) \ + { (type), (period), (nanims), { (x), (y) }, (nexttic), \ + 0, { NULL, NULL, NULL }, 0, 0, 0, 0 } + + +static anim_t epsd0animinfo[] = +{ + ANIM(ANIM_ALWAYS, TICRATE/3, 3, 224, 104, 0), + ANIM(ANIM_ALWAYS, TICRATE/3, 3, 184, 160, 0), + ANIM(ANIM_ALWAYS, TICRATE/3, 3, 112, 136, 0), + ANIM(ANIM_ALWAYS, TICRATE/3, 3, 72, 112, 0), + ANIM(ANIM_ALWAYS, TICRATE/3, 3, 88, 96, 0), + ANIM(ANIM_ALWAYS, TICRATE/3, 3, 64, 48, 0), + ANIM(ANIM_ALWAYS, TICRATE/3, 3, 192, 40, 0), + ANIM(ANIM_ALWAYS, TICRATE/3, 3, 136, 16, 0), + ANIM(ANIM_ALWAYS, TICRATE/3, 3, 80, 16, 0), + ANIM(ANIM_ALWAYS, TICRATE/3, 3, 64, 24, 0), +}; + +static anim_t epsd1animinfo[] = +{ + ANIM(ANIM_LEVEL, TICRATE/3, 1, 128, 136, 1), + ANIM(ANIM_LEVEL, TICRATE/3, 1, 128, 136, 2), + ANIM(ANIM_LEVEL, TICRATE/3, 1, 128, 136, 3), + ANIM(ANIM_LEVEL, TICRATE/3, 1, 128, 136, 4), + ANIM(ANIM_LEVEL, TICRATE/3, 1, 128, 136, 5), + ANIM(ANIM_LEVEL, TICRATE/3, 1, 128, 136, 6), + ANIM(ANIM_LEVEL, TICRATE/3, 1, 128, 136, 7), + ANIM(ANIM_LEVEL, TICRATE/3, 3, 192, 144, 8), + ANIM(ANIM_LEVEL, TICRATE/3, 1, 128, 136, 8), +}; + +static anim_t epsd2animinfo[] = +{ + ANIM(ANIM_ALWAYS, TICRATE/3, 3, 104, 168, 0), + ANIM(ANIM_ALWAYS, TICRATE/3, 3, 40, 136, 0), + ANIM(ANIM_ALWAYS, TICRATE/3, 3, 160, 96, 0), + ANIM(ANIM_ALWAYS, TICRATE/3, 3, 104, 80, 0), + ANIM(ANIM_ALWAYS, TICRATE/3, 3, 120, 32, 0), + ANIM(ANIM_ALWAYS, TICRATE/4, 3, 40, 0, 0), +}; + +static int NUMANIMS[NUMEPISODES] = +{ + arrlen(epsd0animinfo), + arrlen(epsd1animinfo), + arrlen(epsd2animinfo), +}; + +static anim_t *anims[NUMEPISODES] = +{ + epsd0animinfo, + epsd1animinfo, + epsd2animinfo +}; + + +// +// GENERAL DATA +// + +// +// Locally used stuff. +// + +// States for single-player +#define SP_KILLS 0 +#define SP_ITEMS 2 +#define SP_SECRET 4 +#define SP_FRAGS 6 +#define SP_TIME 8 +#define SP_PAR ST_TIME + +#define SP_PAUSE 1 + +// in seconds +#define SHOWNEXTLOCDELAY 4 +//#define SHOWLASTLOCDELAY SHOWNEXTLOCDELAY + + +// used to accelerate or skip a stage +static int acceleratestage; + +// wbs->pnum +static int me; + + // specifies current state +static stateenum_t state; + +// contains information passed into intermission +static wbstartstruct_t* wbs; + +static wbplayerstruct_t* plrs; // wbs->plyr[] + +// used for general timing +static int cnt; + +// used for timing of background animation +static int bcnt; + +// signals to refresh everything for one frame +static int firstrefresh; + +static int cnt_kills[MAXPLAYERS]; +static int cnt_items[MAXPLAYERS]; +static int cnt_secret[MAXPLAYERS]; +static int cnt_time; +static int cnt_par; +static int cnt_pause; + +// # of commercial levels +static int NUMCMAPS; + + +// +// GRAPHICS +// + +// You Are Here graphic +static patch_t* yah[3] = { NULL, NULL, NULL }; + +// splat +static patch_t* splat[2] = { NULL, NULL }; + +// %, : graphics +static patch_t* percent; +static patch_t* colon; + +// 0-9 graphic +static patch_t* num[10]; + +// minus sign +static patch_t* wiminus; + +// "Finished!" graphics +static patch_t* finished; + +// "Entering" graphic +static patch_t* entering; + +// "secret" +static patch_t* sp_secret; + + // "Kills", "Scrt", "Items", "Frags" +static patch_t* kills; +static patch_t* secret; +static patch_t* items; +static patch_t* frags; + +// Time sucks. +static patch_t* timepatch; +static patch_t* par; +static patch_t* sucks; + +// "killers", "victims" +static patch_t* killers; +static patch_t* victims; + +// "Total", your face, your dead face +static patch_t* total; +static patch_t* star; +static patch_t* bstar; + +// "red P[1..MAXPLAYERS]" +static patch_t* p[MAXPLAYERS]; + +// "gray P[1..MAXPLAYERS]" +static patch_t* bp[MAXPLAYERS]; + + // Name graphics of each level (centered) +static patch_t** lnames; + +// Buffer storing the backdrop +static patch_t *background; + +// +// CODE +// + +// slam background +void WI_slamBackground(void) +{ + V_DrawPatch(0, 0, background); +} + +// The ticker is used to detect keys +// because of timing issues in netgames. +boolean WI_Responder(event_t* ev) +{ + return false; +} + + +// Draws " Finished!" +void WI_drawLF(void) +{ + int y = WI_TITLEY; + + if (gamemode != commercial || wbs->last < NUMCMAPS) + { + // draw + V_DrawPatch((SCREENWIDTH - SHORT(lnames[wbs->last]->width))/2, + y, lnames[wbs->last]); + + // draw "Finished!" + y += (5*SHORT(lnames[wbs->last]->height))/4; + + V_DrawPatch((SCREENWIDTH - SHORT(finished->width)) / 2, y, finished); + } + else if (wbs->last == NUMCMAPS) + { + // MAP33 - nothing is displayed! + } + else if (wbs->last > NUMCMAPS) + { + // > MAP33. Doom bombs out here with a Bad V_DrawPatch error. + // I'm pretty sure that doom2.exe is just reading into random + // bits of memory at this point, but let's try to be accurate + // anyway. This deliberately triggers a V_DrawPatch error. + + patch_t tmp = { SCREENWIDTH, SCREENHEIGHT, 1, 1, + { 0, 0, 0, 0, 0, 0, 0, 0 } }; + + V_DrawPatch(0, y, &tmp); + } +} + + + +// Draws "Entering " +void WI_drawEL(void) +{ + int y = WI_TITLEY; + + // draw "Entering" + V_DrawPatch((SCREENWIDTH - SHORT(entering->width))/2, + y, + entering); + + // draw level + y += (5*SHORT(lnames[wbs->next]->height))/4; + + V_DrawPatch((SCREENWIDTH - SHORT(lnames[wbs->next]->width))/2, + y, + lnames[wbs->next]); + +} + +void +WI_drawOnLnode +( int n, + patch_t* c[] ) +{ + + int i; + int left; + int top; + int right; + int bottom; + boolean fits = false; + + i = 0; + do + { + left = lnodes[wbs->epsd][n].x - SHORT(c[i]->leftoffset); + top = lnodes[wbs->epsd][n].y - SHORT(c[i]->topoffset); + right = left + SHORT(c[i]->width); + bottom = top + SHORT(c[i]->height); + + if (left >= 0 + && right < SCREENWIDTH + && top >= 0 + && bottom < SCREENHEIGHT) + { + fits = true; + } + else + { + i++; + } + } while (!fits && i!=2 && c[i] != NULL); + + if (fits && i<2) + { + V_DrawPatch(lnodes[wbs->epsd][n].x, + lnodes[wbs->epsd][n].y, + c[i]); + } + else + { + // DEBUG + printf("Could not place patch on level %d", n+1); + } +} + + + +void WI_initAnimatedBack(void) +{ + int i; + anim_t* a; + + if (gamemode == commercial) + return; + + if (wbs->epsd > 2) + return; + + for (i=0;iepsd];i++) + { + a = &anims[wbs->epsd][i]; + + // init variables + a->ctr = -1; + + // specify the next time to draw it + if (a->type == ANIM_ALWAYS) + a->nexttic = bcnt + 1 + (M_Random()%a->period); + else if (a->type == ANIM_RANDOM) + a->nexttic = bcnt + 1 + a->data2+(M_Random()%a->data1); + else if (a->type == ANIM_LEVEL) + a->nexttic = bcnt + 1; + } + +} + +void WI_updateAnimatedBack(void) +{ + int i; + anim_t* a; + + if (gamemode == commercial) + return; + + if (wbs->epsd > 2) + return; + + for (i=0;iepsd];i++) + { + a = &anims[wbs->epsd][i]; + + if (bcnt == a->nexttic) + { + switch (a->type) + { + case ANIM_ALWAYS: + if (++a->ctr >= a->nanims) a->ctr = 0; + a->nexttic = bcnt + a->period; + break; + + case ANIM_RANDOM: + a->ctr++; + if (a->ctr == a->nanims) + { + a->ctr = -1; + a->nexttic = bcnt+a->data2+(M_Random()%a->data1); + } + else a->nexttic = bcnt + a->period; + break; + + case ANIM_LEVEL: + // gawd-awful hack for level anims + if (!(state == StatCount && i == 7) + && wbs->next == a->data1) + { + a->ctr++; + if (a->ctr == a->nanims) a->ctr--; + a->nexttic = bcnt + a->period; + } + break; + } + } + + } + +} + +void WI_drawAnimatedBack(void) +{ + int i; + anim_t* a; + + if (gamemode == commercial) + return; + + if (wbs->epsd > 2) + return; + + for (i=0 ; iepsd] ; i++) + { + a = &anims[wbs->epsd][i]; + + if (a->ctr >= 0) + V_DrawPatch(a->loc.x, a->loc.y, a->p[a->ctr]); + } + +} + +// +// Draws a number. +// If digits > 0, then use that many digits minimum, +// otherwise only use as many as necessary. +// Returns new x position. +// + +int +WI_drawNum +( int x, + int y, + int n, + int digits ) +{ + + int fontwidth = SHORT(num[0]->width); + int neg; + int temp; + + if (digits < 0) + { + if (!n) + { + // make variable-length zeros 1 digit long + digits = 1; + } + else + { + // figure out # of digits in # + digits = 0; + temp = n; + + while (temp) + { + temp /= 10; + digits++; + } + } + } + + neg = n < 0; + if (neg) + n = -n; + + // if non-number, do not draw it + if (n == 1994) + return 0; + + // draw the new number + while (digits--) + { + x -= fontwidth; + V_DrawPatch(x, y, num[ n % 10 ]); + n /= 10; + } + + // draw a minus sign if necessary + if (neg) + V_DrawPatch(x-=8, y, wiminus); + + return x; + +} + +void +WI_drawPercent +( int x, + int y, + int p ) +{ + if (p < 0) + return; + + V_DrawPatch(x, y, percent); + WI_drawNum(x, y, p, -1); +} + + + +// +// Display level completion time and par, +// or "sucks" message if overflow. +// +void +WI_drawTime +( int x, + int y, + int t ) +{ + + int div; + int n; + + if (t<0) + return; + + if (t <= 61*59) + { + div = 1; + + do + { + n = (t / div) % 60; + x = WI_drawNum(x, y, n, 2) - SHORT(colon->width); + div *= 60; + + // draw + if (div==60 || t / div) + V_DrawPatch(x, y, colon); + + } while (t / div); + } + else + { + // "sucks" + V_DrawPatch(x - SHORT(sucks->width), y, sucks); + } +} + + +void WI_End(void) +{ + void WI_unloadData(void); + WI_unloadData(); +} + +void WI_initNoState(void) +{ + state = NoState; + acceleratestage = 0; + cnt = 10; +} + +void WI_updateNoState(void) { + + WI_updateAnimatedBack(); + + if (!--cnt) + { + // Don't call WI_End yet. G_WorldDone doesnt immediately + // change gamestate, so WI_Drawer is still going to get + // run until that happens. If we do that after WI_End + // (which unloads all the graphics), we're in trouble. + //WI_End(); + G_WorldDone(); + } + +} + +static boolean snl_pointeron = false; + + +void WI_initShowNextLoc(void) +{ + state = ShowNextLoc; + acceleratestage = 0; + cnt = SHOWNEXTLOCDELAY * TICRATE; + + WI_initAnimatedBack(); +} + +void WI_updateShowNextLoc(void) +{ + WI_updateAnimatedBack(); + + if (!--cnt || acceleratestage) + WI_initNoState(); + else + snl_pointeron = (cnt & 31) < 20; +} + +void WI_drawShowNextLoc(void) +{ + + int i; + int last; + + WI_slamBackground(); + + // draw animated background + WI_drawAnimatedBack(); + + if ( gamemode != commercial) + { + if (wbs->epsd > 2) + { + WI_drawEL(); + return; + } + + last = (wbs->last == 8) ? wbs->next - 1 : wbs->last; + + // draw a splat on taken cities. + for (i=0 ; i<=last ; i++) + WI_drawOnLnode(i, splat); + + // splat the secret level? + if (wbs->didsecret) + WI_drawOnLnode(8, splat); + + // draw flashing ptr + if (snl_pointeron) + WI_drawOnLnode(wbs->next, yah); + } + + // draws which level you are entering.. + if ( (gamemode != commercial) + || wbs->next != 30) + WI_drawEL(); + +} + +void WI_drawNoState(void) +{ + snl_pointeron = true; + WI_drawShowNextLoc(); +} + +int WI_fragSum(int playernum) +{ + int i; + int frags = 0; + + for (i=0 ; i 99) + dm_frags[i][j] = 99; + + if (dm_frags[i][j] < -99) + dm_frags[i][j] = -99; + + stillticking = true; + } + } + dm_totals[i] = WI_fragSum(i); + + if (dm_totals[i] > 99) + dm_totals[i] = 99; + + if (dm_totals[i] < -99) + dm_totals[i] = -99; + } + + } + if (!stillticking) + { + S_StartSound(0, sfx_barexp); + dm_state++; + } + + } + else if (dm_state == 4) + { + if (acceleratestage) + { + S_StartSound(0, sfx_slop); + + if ( gamemode == commercial) + WI_initNoState(); + else + WI_initShowNextLoc(); + } + } + else if (dm_state & 1) + { + if (!--cnt_pause) + { + dm_state++; + cnt_pause = TICRATE; + } + } +} + + + +void WI_drawDeathmatchStats(void) +{ + + int i; + int j; + int x; + int y; + int w; + + WI_slamBackground(); + + // draw animated background + WI_drawAnimatedBack(); + WI_drawLF(); + + // draw stat titles (top line) + V_DrawPatch(DM_TOTALSX-SHORT(total->width)/2, + DM_MATRIXY-WI_SPACINGY+10, + total); + + V_DrawPatch(DM_KILLERSX, DM_KILLERSY, killers); + V_DrawPatch(DM_VICTIMSX, DM_VICTIMSY, victims); + + // draw P? + x = DM_MATRIXX + DM_SPACINGX; + y = DM_MATRIXY; + + for (i=0 ; iwidth)/2, + DM_MATRIXY - WI_SPACINGY, + p[i]); + + V_DrawPatch(DM_MATRIXX-SHORT(p[i]->width)/2, + y, + p[i]); + + if (i == me) + { + V_DrawPatch(x-SHORT(p[i]->width)/2, + DM_MATRIXY - WI_SPACINGY, + bstar); + + V_DrawPatch(DM_MATRIXX-SHORT(p[i]->width)/2, + y, + star); + } + } + else + { + // V_DrawPatch(x-SHORT(bp[i]->width)/2, + // DM_MATRIXY - WI_SPACINGY, bp[i]); + // V_DrawPatch(DM_MATRIXX-SHORT(bp[i]->width)/2, + // y, bp[i]); + } + x += DM_SPACINGX; + y += WI_SPACINGY; + } + + // draw stats + y = DM_MATRIXY+10; + w = SHORT(num[0]->width); + + for (i=0 ; imaxkills; + cnt_items[i] = (plrs[i].sitems * 100) / wbs->maxitems; + cnt_secret[i] = (plrs[i].ssecret * 100) / wbs->maxsecret; + + if (dofrags) + cnt_frags[i] = WI_fragSum(i); + } + S_StartSound(0, sfx_barexp); + ng_state = 10; + } + + if (ng_state == 2) + { + if (!(bcnt&3)) + S_StartSound(0, sfx_pistol); + + stillticking = false; + + for (i=0 ; i= (plrs[i].skills * 100) / wbs->maxkills) + cnt_kills[i] = (plrs[i].skills * 100) / wbs->maxkills; + else + stillticking = true; + } + + if (!stillticking) + { + S_StartSound(0, sfx_barexp); + ng_state++; + } + } + else if (ng_state == 4) + { + if (!(bcnt&3)) + S_StartSound(0, sfx_pistol); + + stillticking = false; + + for (i=0 ; i= (plrs[i].sitems * 100) / wbs->maxitems) + cnt_items[i] = (plrs[i].sitems * 100) / wbs->maxitems; + else + stillticking = true; + } + if (!stillticking) + { + S_StartSound(0, sfx_barexp); + ng_state++; + } + } + else if (ng_state == 6) + { + if (!(bcnt&3)) + S_StartSound(0, sfx_pistol); + + stillticking = false; + + for (i=0 ; i= (plrs[i].ssecret * 100) / wbs->maxsecret) + cnt_secret[i] = (plrs[i].ssecret * 100) / wbs->maxsecret; + else + stillticking = true; + } + + if (!stillticking) + { + S_StartSound(0, sfx_barexp); + ng_state += 1 + 2*!dofrags; + } + } + else if (ng_state == 8) + { + if (!(bcnt&3)) + S_StartSound(0, sfx_pistol); + + stillticking = false; + + for (i=0 ; i= (fsum = WI_fragSum(i))) + cnt_frags[i] = fsum; + else + stillticking = true; + } + + if (!stillticking) + { + S_StartSound(0, sfx_pldeth); + ng_state++; + } + } + else if (ng_state == 10) + { + if (acceleratestage) + { + S_StartSound(0, sfx_sgcock); + if ( gamemode == commercial ) + WI_initNoState(); + else + WI_initShowNextLoc(); + } + } + else if (ng_state & 1) + { + if (!--cnt_pause) + { + ng_state++; + cnt_pause = TICRATE; + } + } +} + + + +void WI_drawNetgameStats(void) +{ + int i; + int x; + int y; + int pwidth = SHORT(percent->width); + + WI_slamBackground(); + + // draw animated background + WI_drawAnimatedBack(); + + WI_drawLF(); + + // draw stat titles (top line) + V_DrawPatch(NG_STATSX+NG_SPACINGX-SHORT(kills->width), + NG_STATSY, kills); + + V_DrawPatch(NG_STATSX+2*NG_SPACINGX-SHORT(items->width), + NG_STATSY, items); + + V_DrawPatch(NG_STATSX+3*NG_SPACINGX-SHORT(secret->width), + NG_STATSY, secret); + + if (dofrags) + V_DrawPatch(NG_STATSX+4*NG_SPACINGX-SHORT(frags->width), + NG_STATSY, frags); + + // draw stats + y = NG_STATSY + SHORT(kills->height); + + for (i=0 ; iwidth), y, p[i]); + + if (i == me) + V_DrawPatch(x-SHORT(p[i]->width), y, star); + + x += NG_SPACINGX; + WI_drawPercent(x-pwidth, y+10, cnt_kills[i]); x += NG_SPACINGX; + WI_drawPercent(x-pwidth, y+10, cnt_items[i]); x += NG_SPACINGX; + WI_drawPercent(x-pwidth, y+10, cnt_secret[i]); x += NG_SPACINGX; + + if (dofrags) + WI_drawNum(x, y+10, cnt_frags[i], -1); + + y += WI_SPACINGY; + } + +} + +static int sp_state; + +void WI_initStats(void) +{ + state = StatCount; + acceleratestage = 0; + sp_state = 1; + cnt_kills[0] = cnt_items[0] = cnt_secret[0] = -1; + cnt_time = cnt_par = -1; + cnt_pause = TICRATE; + + WI_initAnimatedBack(); +} + +void WI_updateStats(void) +{ + + WI_updateAnimatedBack(); + + if (acceleratestage && sp_state != 10) + { + acceleratestage = 0; + cnt_kills[0] = (plrs[me].skills * 100) / wbs->maxkills; + cnt_items[0] = (plrs[me].sitems * 100) / wbs->maxitems; + cnt_secret[0] = (plrs[me].ssecret * 100) / wbs->maxsecret; + cnt_time = plrs[me].stime / TICRATE; + cnt_par = wbs->partime / TICRATE; + S_StartSound(0, sfx_barexp); + sp_state = 10; + } + + if (sp_state == 2) + { + cnt_kills[0] += 2; + + if (!(bcnt&3)) + S_StartSound(0, sfx_pistol); + + if (cnt_kills[0] >= (plrs[me].skills * 100) / wbs->maxkills) + { + cnt_kills[0] = (plrs[me].skills * 100) / wbs->maxkills; + S_StartSound(0, sfx_barexp); + sp_state++; + } + } + else if (sp_state == 4) + { + cnt_items[0] += 2; + + if (!(bcnt&3)) + S_StartSound(0, sfx_pistol); + + if (cnt_items[0] >= (plrs[me].sitems * 100) / wbs->maxitems) + { + cnt_items[0] = (plrs[me].sitems * 100) / wbs->maxitems; + S_StartSound(0, sfx_barexp); + sp_state++; + } + } + else if (sp_state == 6) + { + cnt_secret[0] += 2; + + if (!(bcnt&3)) + S_StartSound(0, sfx_pistol); + + if (cnt_secret[0] >= (plrs[me].ssecret * 100) / wbs->maxsecret) + { + cnt_secret[0] = (plrs[me].ssecret * 100) / wbs->maxsecret; + S_StartSound(0, sfx_barexp); + sp_state++; + } + } + + else if (sp_state == 8) + { + if (!(bcnt&3)) + S_StartSound(0, sfx_pistol); + + cnt_time += 3; + + if (cnt_time >= plrs[me].stime / TICRATE) + cnt_time = plrs[me].stime / TICRATE; + + cnt_par += 3; + + if (cnt_par >= wbs->partime / TICRATE) + { + cnt_par = wbs->partime / TICRATE; + + if (cnt_time >= plrs[me].stime / TICRATE) + { + S_StartSound(0, sfx_barexp); + sp_state++; + } + } + } + else if (sp_state == 10) + { + if (acceleratestage) + { + S_StartSound(0, sfx_sgcock); + + if (gamemode == commercial) + WI_initNoState(); + else + WI_initShowNextLoc(); + } + } + else if (sp_state & 1) + { + if (!--cnt_pause) + { + sp_state++; + cnt_pause = TICRATE; + } + } + +} + +void WI_drawStats(void) +{ + // line height + int lh; + + lh = (3*SHORT(num[0]->height))/2; + + WI_slamBackground(); + + // draw animated background + WI_drawAnimatedBack(); + + WI_drawLF(); + + V_DrawPatch(SP_STATSX, SP_STATSY, kills); + WI_drawPercent(SCREENWIDTH - SP_STATSX, SP_STATSY, cnt_kills[0]); + + V_DrawPatch(SP_STATSX, SP_STATSY+lh, items); + WI_drawPercent(SCREENWIDTH - SP_STATSX, SP_STATSY+lh, cnt_items[0]); + + V_DrawPatch(SP_STATSX, SP_STATSY+2*lh, sp_secret); + WI_drawPercent(SCREENWIDTH - SP_STATSX, SP_STATSY+2*lh, cnt_secret[0]); + + V_DrawPatch(SP_TIMEX, SP_TIMEY, timepatch); + WI_drawTime(SCREENWIDTH/2 - SP_TIMEX, SP_TIMEY, cnt_time); + + if (wbs->epsd < 3) + { + V_DrawPatch(SCREENWIDTH/2 + SP_TIMEX, SP_TIMEY, par); + WI_drawTime(SCREENWIDTH - SP_TIMEX, SP_TIMEY, cnt_par); + } + +} + +void WI_checkForAccelerate(void) +{ + int i; + player_t *player; + + // check for button presses to skip delays + for (i=0, player = players ; icmd.buttons & BT_ATTACK) + { + if (!player->attackdown) + acceleratestage = 1; + player->attackdown = true; + } + else + player->attackdown = false; + if (player->cmd.buttons & BT_USE) + { + if (!player->usedown) + acceleratestage = 1; + player->usedown = true; + } + else + player->usedown = false; + } + } +} + + + +// Updates stuff each tick +void WI_Ticker(void) +{ + // counter for general background animation + bcnt++; + + if (bcnt == 1) + { + // intermission music + if ( gamemode == commercial ) + S_ChangeMusic(mus_dm2int, true); + else + S_ChangeMusic(mus_inter, true); + } + + WI_checkForAccelerate(); + + switch (state) + { + case StatCount: + if (deathmatch) WI_updateDeathmatchStats(); + else if (netgame) WI_updateNetgameStats(); + else WI_updateStats(); + break; + + case ShowNextLoc: + WI_updateShowNextLoc(); + break; + + case NoState: + WI_updateNoState(); + break; + } + +} + +typedef void (*load_callback_t)(char *lumpname, patch_t **variable); + +// Common load/unload function. Iterates over all the graphics +// lumps to be loaded/unloaded into memory. + +static void WI_loadUnloadData(load_callback_t callback) +{ + int i, j; + char name[9]; + anim_t *a; + + if (gamemode == commercial) + { + for (i=0 ; iepsd, i); + callback(name, &lnames[i]); + } + + // you are here + callback(DEH_String("WIURH0"), &yah[0]); + + // you are here (alt.) + callback(DEH_String("WIURH1"), &yah[1]); + + // splat + callback(DEH_String("WISPLAT"), &splat[0]); + + if (wbs->epsd < 3) + { + for (j=0;jepsd];j++) + { + a = &anims[wbs->epsd][j]; + for (i=0;inanims;i++) + { + // MONDO HACK! + if (wbs->epsd != 1 || j != 8) + { + // animations + DEH_snprintf(name, 9, "WIA%d%.2d%.2d", wbs->epsd, j, i); + callback(name, &a->p[i]); + } + else + { + // HACK ALERT! + a->p[i] = anims[1][4].p[i]; + } + } + } + } + } + + // More hacks on minus sign. + callback(DEH_String("WIMINUS"), &wiminus); + + for (i=0;i<10;i++) + { + // numbers 0-9 + DEH_snprintf(name, 9, "WINUM%d", i); + callback(name, &num[i]); + } + + // percent sign + callback(DEH_String("WIPCNT"), &percent); + + // "finished" + callback(DEH_String("WIF"), &finished); + + // "entering" + callback(DEH_String("WIENTER"), &entering); + + // "kills" + callback(DEH_String("WIOSTK"), &kills); + + // "scrt" + callback(DEH_String("WIOSTS"), &secret); + + // "secret" + callback(DEH_String("WISCRT2"), &sp_secret); + + // french wad uses WIOBJ (?) + if (W_CheckNumForName(DEH_String("WIOBJ")) >= 0) + { + // "items" + if (netgame && !deathmatch) + callback(DEH_String("WIOBJ"), &items); + else + callback(DEH_String("WIOSTI"), &items); + } else { + callback(DEH_String("WIOSTI"), &items); + } + + // "frgs" + callback(DEH_String("WIFRGS"), &frags); + + // ":" + callback(DEH_String("WICOLON"), &colon); + + // "time" + callback(DEH_String("WITIME"), &timepatch); + + // "sucks" + callback(DEH_String("WISUCKS"), &sucks); + + // "par" + callback(DEH_String("WIPAR"), &par); + + // "killers" (vertical) + callback(DEH_String("WIKILRS"), &killers); + + // "victims" (horiz) + callback(DEH_String("WIVCTMS"), &victims); + + // "total" + callback(DEH_String("WIMSTT"), &total); + + for (i=0 ; iepsd == 3) + { + M_StringCopy(name, DEH_String("INTERPIC"), sizeof(name)); + } + else + { + DEH_snprintf(name, sizeof(name), "WIMAP%d", wbs->epsd); + } + + // Draw backdrop and save to a temporary buffer + + callback(name, &background); +} + +static void WI_loadCallback(char *name, patch_t **variable) +{ + *variable = W_CacheLumpName(name, PU_STATIC); +} + +void WI_loadData(void) +{ + if (gamemode == commercial) + { + NUMCMAPS = 32; + lnames = (patch_t **) Z_Malloc(sizeof(patch_t*) * NUMCMAPS, + PU_STATIC, NULL); + } + else + { + lnames = (patch_t **) Z_Malloc(sizeof(patch_t*) * NUMMAPS, + PU_STATIC, NULL); + } + + WI_loadUnloadData(WI_loadCallback); + + // These two graphics are special cased because we're sharing + // them with the status bar code + + // your face + star = W_CacheLumpName(DEH_String("STFST01"), PU_STATIC); + + // dead face + bstar = W_CacheLumpName(DEH_String("STFDEAD0"), PU_STATIC); +} + +static void WI_unloadCallback(char *name, patch_t **variable) +{ + W_ReleaseLumpName(name); + *variable = NULL; +} + +void WI_unloadData(void) +{ + WI_loadUnloadData(WI_unloadCallback); + + // We do not free these lumps as they are shared with the status + // bar code. + + // W_ReleaseLumpName("STFST01"); + // W_ReleaseLumpName("STFDEAD0"); +} + +void WI_Drawer (void) +{ + switch (state) + { + case StatCount: + if (deathmatch) + WI_drawDeathmatchStats(); + else if (netgame) + WI_drawNetgameStats(); + else + WI_drawStats(); + break; + + case ShowNextLoc: + WI_drawShowNextLoc(); + break; + + case NoState: + WI_drawNoState(); + break; + } +} + + +void WI_initVariables(wbstartstruct_t* wbstartstruct) +{ + + wbs = wbstartstruct; + +#ifdef RANGECHECKING + if (gamemode != commercial) + { + if ( gamemode == retail ) + RNGCHECK(wbs->epsd, 0, 3); + else + RNGCHECK(wbs->epsd, 0, 2); + } + else + { + RNGCHECK(wbs->last, 0, 8); + RNGCHECK(wbs->next, 0, 8); + } + RNGCHECK(wbs->pnum, 0, MAXPLAYERS); + RNGCHECK(wbs->pnum, 0, MAXPLAYERS); +#endif + + acceleratestage = 0; + cnt = bcnt = 0; + firstrefresh = 1; + me = wbs->pnum; + plrs = wbs->plyr; + + if (!wbs->maxkills) + wbs->maxkills = 1; + + if (!wbs->maxitems) + wbs->maxitems = 1; + + if (!wbs->maxsecret) + wbs->maxsecret = 1; + + if ( gamemode != retail ) + if (wbs->epsd > 2) + wbs->epsd -= 3; +} + +void WI_Start(wbstartstruct_t* wbstartstruct) +{ + WI_initVariables(wbstartstruct); + WI_loadData(); + + if (deathmatch) + WI_initDeathmatchStats(); + else if (netgame) + WI_initNetgameStats(); + else + WI_initStats(); +} diff --git a/src/kernel/userland/doom/wi_stuff.h b/src/kernel/userland/doom/wi_stuff.h new file mode 100644 index 0000000..296571f --- /dev/null +++ b/src/kernel/userland/doom/wi_stuff.h @@ -0,0 +1,48 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Intermission. +// + +#ifndef __WI_STUFF__ +#define __WI_STUFF__ + +//#include "v_video.h" + +#include "doomdef.h" + +// States for the intermission + +typedef enum +{ + NoState = -1, + StatCount, + ShowNextLoc, +} stateenum_t; + +// Called by main loop, animate the intermission. +void WI_Ticker (void); + +// Called by main loop, +// draws the intermission directly into the screen buffer. +void WI_Drawer (void); + +// Setup for an intermission screen. +void WI_Start(wbstartstruct_t* wbstartstruct); + +// Shut down the intermission screen +void WI_End(void); + +#endif diff --git a/src/kernel/userland/doom/z_zone.c b/src/kernel/userland/doom/z_zone.c new file mode 100644 index 0000000..16da22b --- /dev/null +++ b/src/kernel/userland/doom/z_zone.c @@ -0,0 +1,488 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Zone Memory Allocation. Neat. +// + + +#include "z_zone.h" +#include "i_system.h" +#include "doomtype.h" + + +// +// ZONE MEMORY ALLOCATION +// +// There is never any space between memblocks, +// and there will never be two contiguous free memblocks. +// The rover can be left pointing at a non-empty block. +// +// It is of no value to free a cachable block, +// because it will get overwritten automatically if needed. +// + +#define MEM_ALIGN sizeof(void *) +#define ZONEID 0x1d4a11 + +typedef struct memblock_s +{ + int size; // including the header and possibly tiny fragments + void** user; + int tag; // PU_FREE if this is free + int id; // should be ZONEID + struct memblock_s* next; + struct memblock_s* prev; +} memblock_t; + + +typedef struct +{ + // total bytes malloced, including header + int size; + + // start / end cap for linked list + memblock_t blocklist; + + memblock_t* rover; + +} memzone_t; + + + +memzone_t* mainzone; + + + +// +// Z_ClearZone +// +void Z_ClearZone (memzone_t* zone) +{ + memblock_t* block; + + // set the entire zone to one free block + zone->blocklist.next = + zone->blocklist.prev = + block = (memblock_t *)( (byte *)zone + sizeof(memzone_t) ); + + zone->blocklist.user = (void *)zone; + zone->blocklist.tag = PU_STATIC; + zone->rover = block; + + block->prev = block->next = &zone->blocklist; + + // a free block. + block->tag = PU_FREE; + + block->size = zone->size - sizeof(memzone_t); +} + + + +// +// Z_Init +// +void Z_Init (void) +{ + memblock_t* block; + int size; + + mainzone = (memzone_t *)I_ZoneBase (&size); + mainzone->size = size; + + // set the entire zone to one free block + mainzone->blocklist.next = + mainzone->blocklist.prev = + block = (memblock_t *)( (byte *)mainzone + sizeof(memzone_t) ); + + mainzone->blocklist.user = (void *)mainzone; + mainzone->blocklist.tag = PU_STATIC; + mainzone->rover = block; + + block->prev = block->next = &mainzone->blocklist; + + // free block + block->tag = PU_FREE; + + block->size = mainzone->size - sizeof(memzone_t); +} + + +// +// Z_Free +// +void Z_Free (void* ptr) +{ + memblock_t* block; + memblock_t* other; + + block = (memblock_t *) ( (byte *)ptr - sizeof(memblock_t)); + + if (block->id != ZONEID) + I_Error ("Z_Free: freed a pointer without ZONEID"); + + if (block->tag != PU_FREE && block->user != NULL) + { + // clear the user's mark + *block->user = 0; + } + + // mark as free + block->tag = PU_FREE; + block->user = NULL; + block->id = 0; + + other = block->prev; + + if (other->tag == PU_FREE) + { + // merge with previous free block + other->size += block->size; + other->next = block->next; + other->next->prev = other; + + if (block == mainzone->rover) + mainzone->rover = other; + + block = other; + } + + other = block->next; + if (other->tag == PU_FREE) + { + // merge the next free block onto the end + block->size += other->size; + block->next = other->next; + block->next->prev = block; + + if (other == mainzone->rover) + mainzone->rover = block; + } +} + + + +// +// Z_Malloc +// You can pass a NULL user if the tag is < PU_PURGELEVEL. +// +#define MINFRAGMENT 64 + + +void* +Z_Malloc +( int size, + int tag, + void* user ) +{ + int extra; + memblock_t* start; + memblock_t* rover; + memblock_t* newblock; + memblock_t* base; + void *result; + + size = (size + MEM_ALIGN - 1) & ~(MEM_ALIGN - 1); + + // scan through the block list, + // looking for the first free block + // of sufficient size, + // throwing out any purgable blocks along the way. + + // account for size of block header + size += sizeof(memblock_t); + + // if there is a free block behind the rover, + // back up over them + base = mainzone->rover; + + if (base->prev->tag == PU_FREE) + base = base->prev; + + rover = base; + start = base->prev; + + do + { + if (rover == start) + { + // scanned all the way around the list + I_Error ("Z_Malloc: failed on allocation of %i bytes", size); + } + + if (rover->tag != PU_FREE) + { + if (rover->tag < PU_PURGELEVEL) + { + // hit a block that can't be purged, + // so move base past it + base = rover = rover->next; + } + else + { + // free the rover block (adding the size to base) + + // the rover can be the base block + base = base->prev; + Z_Free ((byte *)rover+sizeof(memblock_t)); + base = base->next; + rover = base->next; + } + } + else + { + rover = rover->next; + } + + } while (base->tag != PU_FREE || base->size < size); + + + // found a block big enough + extra = base->size - size; + + if (extra > MINFRAGMENT) + { + // there will be a free fragment after the allocated block + newblock = (memblock_t *) ((byte *)base + size ); + newblock->size = extra; + + newblock->tag = PU_FREE; + newblock->user = NULL; + newblock->prev = base; + newblock->next = base->next; + newblock->next->prev = newblock; + + base->next = newblock; + base->size = size; + } + + if (user == NULL && tag >= PU_PURGELEVEL) + I_Error ("Z_Malloc: an owner is required for purgable blocks"); + + base->user = user; + base->tag = tag; + + result = (void *) ((byte *)base + sizeof(memblock_t)); + + if (base->user) + { + *base->user = result; + } + + // next allocation will start looking here + mainzone->rover = base->next; + + base->id = ZONEID; + + return result; +} + + + +// +// Z_FreeTags +// +void +Z_FreeTags +( int lowtag, + int hightag ) +{ + memblock_t* block; + memblock_t* next; + + for (block = mainzone->blocklist.next ; + block != &mainzone->blocklist ; + block = next) + { + // get link before freeing + next = block->next; + + // free block? + if (block->tag == PU_FREE) + continue; + + if (block->tag >= lowtag && block->tag <= hightag) + Z_Free ( (byte *)block+sizeof(memblock_t)); + } +} + + + +// +// Z_DumpHeap +// Note: TFileDumpHeap( stdout ) ? +// +void +Z_DumpHeap +( int lowtag, + int hightag ) +{ + memblock_t* block; + + printf ("zone size: %i location: %p\n", + mainzone->size,mainzone); + + printf ("tag range: %i to %i\n", + lowtag, hightag); + + for (block = mainzone->blocklist.next ; ; block = block->next) + { + if (block->tag >= lowtag && block->tag <= hightag) + printf ("block:%p size:%7i user:%p tag:%3i\n", + block, block->size, block->user, block->tag); + + if (block->next == &mainzone->blocklist) + { + // all blocks have been hit + break; + } + + if ( (byte *)block + block->size != (byte *)block->next) + printf ("ERROR: block size does not touch the next block\n"); + + if ( block->next->prev != block) + printf ("ERROR: next block doesn't have proper back link\n"); + + if (block->tag == PU_FREE && block->next->tag == PU_FREE) + printf ("ERROR: two consecutive free blocks\n"); + } +} + + +// +// Z_FileDumpHeap +// +void Z_FileDumpHeap (FILE* f) +{ + memblock_t* block; + + fprintf (f,"zone size: %i location: %p\n",mainzone->size,mainzone); + + for (block = mainzone->blocklist.next ; ; block = block->next) + { + fprintf (f,"block:%p size:%7i user:%p tag:%3i\n", + block, block->size, block->user, block->tag); + + if (block->next == &mainzone->blocklist) + { + // all blocks have been hit + break; + } + + if ( (byte *)block + block->size != (byte *)block->next) + fprintf (f,"ERROR: block size does not touch the next block\n"); + + if ( block->next->prev != block) + fprintf (f,"ERROR: next block doesn't have proper back link\n"); + + if (block->tag == PU_FREE && block->next->tag == PU_FREE) + fprintf (f,"ERROR: two consecutive free blocks\n"); + } +} + + + +// +// Z_CheckHeap +// +void Z_CheckHeap (void) +{ + memblock_t* block; + + for (block = mainzone->blocklist.next ; ; block = block->next) + { + if (block->next == &mainzone->blocklist) + { + // all blocks have been hit + break; + } + + if ( (byte *)block + block->size != (byte *)block->next) + I_Error ("Z_CheckHeap: block size does not touch the next block\n"); + + if ( block->next->prev != block) + I_Error ("Z_CheckHeap: next block doesn't have proper back link\n"); + + if (block->tag == PU_FREE && block->next->tag == PU_FREE) + I_Error ("Z_CheckHeap: two consecutive free blocks\n"); + } +} + + + + +// +// Z_ChangeTag +// +void Z_ChangeTag2(void *ptr, int tag, char *file, int line) +{ + memblock_t* block; + + block = (memblock_t *) ((byte *)ptr - sizeof(memblock_t)); + + if (block->id != ZONEID) + I_Error("%s:%i: Z_ChangeTag: block without a ZONEID!", + file, line); + + if (tag >= PU_PURGELEVEL && block->user == NULL) + I_Error("%s:%i: Z_ChangeTag: an owner is required " + "for purgable blocks", file, line); + + block->tag = tag; +} + +void Z_ChangeUser(void *ptr, void **user) +{ + memblock_t* block; + + block = (memblock_t *) ((byte *)ptr - sizeof(memblock_t)); + + if (block->id != ZONEID) + { + I_Error("Z_ChangeUser: Tried to change user for invalid block!"); + } + + block->user = user; + *user = ptr; +} + + + +// +// Z_FreeMemory +// +int Z_FreeMemory (void) +{ + memblock_t* block; + int free; + + free = 0; + + for (block = mainzone->blocklist.next ; + block != &mainzone->blocklist; + block = block->next) + { + if (block->tag == PU_FREE || block->tag >= PU_PURGELEVEL) + free += block->size; + } + + return free; +} + +unsigned int Z_ZoneSize(void) +{ + return mainzone->size; +} + diff --git a/src/kernel/userland/doom/z_zone.h b/src/kernel/userland/doom/z_zone.h new file mode 100644 index 0000000..526f30d --- /dev/null +++ b/src/kernel/userland/doom/z_zone.h @@ -0,0 +1,73 @@ +// +// Copyright(C) 1993-1996 Id Software, Inc. +// Copyright(C) 2005-2014 Simon Howard +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// DESCRIPTION: +// Zone Memory Allocation, perhaps NeXT ObjectiveC inspired. +// Remark: this was the only stuff that, according +// to John Carmack, might have been useful for +// Quake. +// + + + +#ifndef __Z_ZONE__ +#define __Z_ZONE__ + +#include + +// +// ZONE MEMORY +// PU - purge tags. + +enum +{ + PU_STATIC = 1, // static entire execution time + PU_SOUND, // static while playing + PU_MUSIC, // static while playing + PU_FREE, // a free block + PU_LEVEL, // static until level exited + PU_LEVSPEC, // a special thinker in a level + + // Tags >= PU_PURGELEVEL are purgable whenever needed. + + PU_PURGELEVEL, + PU_CACHE, + + // Total number of different tag types + + PU_NUM_TAGS +}; + + +void Z_Init (void); +void* Z_Malloc (int size, int tag, void *ptr); +void Z_Free (void *ptr); +void Z_FreeTags (int lowtag, int hightag); +void Z_DumpHeap (int lowtag, int hightag); +void Z_FileDumpHeap (FILE *f); +void Z_CheckHeap (void); +void Z_ChangeTag2 (void *ptr, int tag, char *file, int line); +void Z_ChangeUser(void *ptr, void **user); +int Z_FreeMemory (void); +unsigned int Z_ZoneSize(void); + +// +// This is used to get the local FILE:LINE info from CPP +// prior to really call the function in question. +// +#define Z_ChangeTag(p,t) \ + Z_ChangeTag2((p), (t), __FILE__, __LINE__) + + +#endif diff --git a/src/kernel/userland/libc/libui.h b/src/kernel/userland/libc/libui.h index 00408bc..cdd2045 100644 --- a/src/kernel/userland/libc/libui.h +++ b/src/kernel/userland/libc/libui.h @@ -26,6 +26,7 @@ #define GUI_EVENT_RIGHT_CLICK 3 #define GUI_EVENT_CLOSE 4 #define GUI_EVENT_KEY 5 +#define GUI_EVENT_KEYUP 10 #define GUI_EVENT_MOUSE_DOWN 6 #define GUI_EVENT_MOUSE_UP 7 diff --git a/src/kernel/userland/markdown.c b/src/kernel/userland/markdown.c index eef16cc..3387ba3 100644 --- a/src/kernel/userland/markdown.c +++ b/src/kernel/userland/markdown.c @@ -380,7 +380,8 @@ static void md_paint(ui_window_t win) { } } -static void md_handle_key(char c) { +static void md_handle_key(char c, bool pressed) { + if (!pressed) return; if (c == 'w' || c == 'W' || c == 17) { scroll_top -= 3; if (scroll_top < 0) scroll_top = 0; @@ -432,9 +433,11 @@ int main(int argc, char **argv) { md_paint(win); ui_mark_dirty(win, 0, 0, win_w, win_h - 20); } else if (ev.type == GUI_EVENT_KEY) { - md_handle_key((char)ev.arg1); + md_handle_key((char)ev.arg1, true); md_paint(win); ui_mark_dirty(win, 0, 0, win_w, win_h - 20); + } else if (ev.type == GUI_EVENT_KEYUP) { + md_handle_key((char)ev.arg1, false); } else if (ev.type == GUI_EVENT_CLOSE) { sys_exit(0); } diff --git a/src/kernel/userland/settings.c b/src/kernel/userland/settings.c index 57aa84e..21a0ae1 100644 --- a/src/kernel/userland/settings.c +++ b/src/kernel/userland/settings.c @@ -760,7 +760,8 @@ static void control_panel_handle_click(int x, int y) { } } -static void control_panel_handle_key(char c) { +static void control_panel_handle_key(char c, bool pressed) { + if (!pressed) return; if (focused_field < 0) return; if (current_view == VIEW_WALLPAPER) { @@ -811,9 +812,11 @@ int main(int argc, char **argv) { control_panel_paint(win); ui_mark_dirty(win, 0, 0, 350, 500); } else if (ev.type == GUI_EVENT_KEY) { - control_panel_handle_key((char)ev.arg1); + control_panel_handle_key((char)ev.arg1, true); control_panel_paint(win); ui_mark_dirty(win, 0, 0, 350, 500); + } else if (ev.type == GUI_EVENT_KEYUP) { + control_panel_handle_key((char)ev.arg1, false); } else if (ev.type == GUI_EVENT_CLOSE) { sys_exit(0); } diff --git a/src/kernel/userland/txtedit.c b/src/kernel/userland/txtedit.c index 8cf39f0..3a9c20c 100644 --- a/src/kernel/userland/txtedit.c +++ b/src/kernel/userland/txtedit.c @@ -350,7 +350,8 @@ static void editor_paint(ui_window_t win) { ui_draw_string(win, padding + 160, status_y + 5, col_str, COLOR_DARK_TEXT); } -static void editor_handle_key(char c) { +static void editor_handle_key(char c, bool pressed) { + if (!pressed) return; if (c == 17) { // UP if (cursor_line > 0) { cursor_line--; @@ -417,9 +418,11 @@ int main(int argc, char **argv) { editor_paint(win); ui_mark_dirty(win, 0, 0, win_w, win_h); } else if (ev.type == GUI_EVENT_KEY) { - editor_handle_key((char)ev.arg1); + editor_handle_key((char)ev.arg1, true); editor_paint(win); ui_mark_dirty(win, 0, 0, win_w, win_h); + } else if (ev.type == GUI_EVENT_KEYUP) { + editor_handle_key((char)ev.arg1, false); } else if (ev.type == GUI_EVENT_CLOSE) { sys_exit(0); } diff --git a/src/kernel/wm.c b/src/kernel/wm.c index 16e6b00..fd93754 100644 --- a/src/kernel/wm.c +++ b/src/kernel/wm.c @@ -2370,11 +2370,15 @@ void wm_handle_right_click(int x, int y) { // Input Queue #define INPUT_QUEUE_SIZE 128 -static char key_queue[INPUT_QUEUE_SIZE]; +typedef struct { + char c; + bool pressed; +} key_event_t; +static key_event_t key_queue[INPUT_QUEUE_SIZE]; static volatile int key_head = 0; static volatile int key_tail = 0; -static void wm_dispatch_key(char c) { +static void wm_dispatch_key(char c, bool pressed) { if (desktop_dialog_state != 0) { int len = 0; while(desktop_dialog_input[len]) len++; if (c == '\n') { @@ -2435,17 +2439,18 @@ static void wm_dispatch_key(char c) { if (!target) return; if (target->handle_key) { - target->handle_key(target, c); + target->handle_key(target, c, pressed); } // Mark window as needing redraw on next timer tick wm_mark_dirty(target->x, target->y, target->w, target->h); } -void wm_handle_key(char c) { +void wm_handle_key(char c, bool pressed) { int next = (key_head + 1) % INPUT_QUEUE_SIZE; if (next != key_tail) { - key_queue[key_head] = c; + key_queue[key_head].c = c; + key_queue[key_head].pressed = pressed; key_head = next; } } @@ -2463,9 +2468,9 @@ void wm_process_input(void) { uint64_t rflags; asm volatile("pushfq; pop %0; cli" : "=r"(rflags)); while (key_head != key_tail) { - char c = key_queue[key_tail]; + key_event_t ev = key_queue[key_tail]; key_tail = (key_tail + 1) % INPUT_QUEUE_SIZE; - wm_dispatch_key(c); + wm_dispatch_key(ev.c, ev.pressed); } asm volatile("push %0; popfq" : : "r"(rflags)); } diff --git a/src/kernel/wm.h b/src/kernel/wm.h index 91ad5f9..80c6392 100644 --- a/src/kernel/wm.h +++ b/src/kernel/wm.h @@ -55,7 +55,7 @@ struct Window { // Callbacks void (*paint)(Window *win); - void (*handle_key)(Window *win, char c); + void (*handle_key)(Window *win, char c, bool pressed); void (*handle_click)(Window *win, int x, int y); void (*handle_right_click)(Window *win, int x, int y); void (*handle_close)(Window *win); @@ -65,7 +65,7 @@ struct Window { void wm_init(void); void wm_handle_mouse(int dx, int dy, uint8_t buttons, int dz); -void wm_handle_key(char c); +void wm_handle_key(char c, bool pressed); void wm_handle_click(int x, int y); void wm_handle_right_click(int x, int y); void wm_process_input(void);
  • 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¬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¬xiw!0Y?s_Vxl3}ldH8Qn!YW>s(sh}~nWorA> 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�J|1Vuz<}67mta?v1o&$f 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�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