Initial commit

This commit is contained in:
punpckhdq committed 2025-11-27 02:27:27 +00:00
commit e830efbd7c
611 files changed
+253422

No files matched your search

+1
View File
@@ -0,0 +1 @@
root = true
+36
View File
@@ -0,0 +1,36 @@
# IDE folders
.idea/
.vs/
# Caches
__pycache__
.mypy_cache
.cache/
# Build files
build/
projects/
.ninja_*
build.ninja
*.vcxproj*
*.sln*
# decompctx output
ctx.*
*.ctx
# Generated configs
objdiff.json
compile_commands.json
# Miscellaneous
*.exe
*.pdb
*.idb
*.i64
*.id0
*.id1
*.nam
*.til
xbox/
!source/**/xbox/
+997
View File
@@ -0,0 +1,997 @@
{
"name": "cachebeta",
"guid": "{5EE42755-A9D2-4175-9BA5-CC209EB68DE0}",
"baserom": "cachebeta.exe",
"projects": [
{
"name": "halobetacache",
"guid": "{AFB072DF-6209-4775-AB8A-77BCAB35F34D}",
"options": {
"cflags": [
"/nologo",
"/c",
"/O2",
"/Oy-"
],
"include_dirs": [
"xbox/include",
"source",
"source/main",
"source/cseries",
"source/sound",
"source/bink",
"source/saved films",
"source/saved games",
"source/cache",
"source/units",
"source/text",
"source/tag_files",
"source/structures",
"source/shell",
"source/shaders",
"source/scenario",
"source/render",
"source/rasterizer",
"source/physics",
"source/objects",
"source/objects/widgets",
"source/networking",
"source/models",
"source/memory",
"source/memory/zlib",
"source/math",
"source/tool",
"source/items",
"source/interface",
"source/input",
"source/hs",
"source/game",
"source/effects",
"source/editor",
"source/dialogs",
"source/devices",
"source/cutscene",
"source/camera",
"source/bungie_net",
"source/bitmaps",
"source/ai"
],
"headers": [
"source/ai/actor_type_definitions.h",
"source/ai/encounters.h",
"source/ai/path.h",
"source/bitmaps/bitmaps_inlines.h",
"source/bitmaps/libtiff/g3states.h",
"source/bitmaps/libtiff/machdep.h",
"source/bitmaps/libtiff/prototypes.h",
"source/bitmaps/libtiff/t4.h",
"source/bitmaps/libtiff/tif_fax3.h",
"source/bitmaps/libtiff/tiff.h",
"source/bitmaps/libtiff/tiffcompat.h",
"source/bitmaps/libtiff/tiffio.h",
"source/bitmaps/libtiff/tiffioP.h",
"source/hs/hs_library_internal_compile.h",
"source/hs/hs_library_internal_runtime.h",
"source/math/real_math.h",
"source/memory/zlib/deflate.h",
"source/memory/zlib/infblock.h",
"source/memory/zlib/infcodes.h",
"source/memory/zlib/inffast.h",
"source/memory/zlib/inffixed.h",
"source/memory/zlib/inftrees.h",
"source/memory/zlib/infutil.h",
"source/memory/zlib/trees.h",
"source/memory/zlib/zconf.h",
"source/memory/zlib/zlib.h",
"source/memory/zlib/zutil.h",
"source/objects/objects.h",
"source/objects/objects.h",
"source/objects/reference_lists.h",
"source/objects/widgets/widget_types.h",
"source/sound/sound_classes.h",
"source/sound/sound_definitions.h",
"source/sound/sound_dsound.h"
],
"defines": [
"DEBUG",
"xbox"
]
},
"objects": [
{ "name": "source/main/d3d_intimacy.cpp", "index": 6, "status": "NonMatching" },
{ "name": "source/cseries/headers.c", "index": 7, "status": "NonMatching" },
{ "name": "source/sound/sound_scenery_group.c", "index": 8, "status": "Matching" },
{ "name": "source/sound/sound_scenery.c", "index": 9, "status": "NonMatching" },
{ "name": "source/sound/sound_preferences.c", "index": 10, "status": "NonMatching" },
{ "name": "source/sound/sound_manager.c", "index": 11, "status": "NonMatching" },
{ "name": "source/sound/sound_environment_definitions.c", "index": 12, "status": "NonMatching" },
{ "name": "source/sound/sound_dsound_xbox.c", "index": 13, "status": "NonMatching" },
{ "name": "source/sound/sound_definitions.c", "index": 14, "status": "NonMatching" },
{ "name": "source/sound/sound_classes.c", "index": 15, "status": "NonMatching" },
{ "name": "source/sound/ima_adpcm.c", "index": 16, "status": "NonMatching" },
{ "name": "source/sound/game_sound.c", "index": 17, "status": "NonMatching" },
{ "name": "source/sound/sound_import/sound_wave.c", "index": 18, "status": "NonMatching" },
{ "name": "source/sound/sound_import/sound_import.c", "index": 19, "status": "NonMatching" },
{ "name": "source/sound/sound_import/sound_aiff.c", "index": 20, "status": "NonMatching" },
{ "name": "source/bink/bink_playback.c", "index": 21, "status": "NonMatching" },
{ "name": "source/saved films/saved_films.c", "index": 22, "status": "Matching" },
{ "name": "source/saved games/saved_game_files.c", "index": 23, "status": "NonMatching" },
{ "name": "source/saved games/playlist_profile.c", "index": 24, "status": "NonMatching" },
{ "name": "source/saved games/player_profile.c", "index": 25, "status": "NonMatching" },
{ "name": "source/saved games/game_state_xbox.c", "index": 26, "status": "NonMatching" },
{ "name": "source/saved games/game_state.c", "index": 27, "status": "NonMatching" },
{ "name": "source/cache/xbox_texture_cache.c", "index": 28, "status": "NonMatching" },
{ "name": "source/cache/xbox_sound_cache.c", "index": 29, "status": "NonMatching" },
{ "name": "source/cache/predicted_resources.c", "index": 30, "status": "NonMatching" },
{ "name": "source/cache/physical_memory_map.c", "index": 31, "status": "NonMatching" },
{ "name": "source/cache/cache_files_windows.c", "index": 32, "status": "NonMatching" },
{ "name": "source/cache/cache_files_decompress_windows.c", "index": 33, "status": "NonMatching" },
{ "name": "source/cache/cache_files.c", "index": 34, "status": "NonMatching" },
{ "name": "source/units/vehicles.c", "index": 35, "status": "NonMatching" },
{ "name": "source/units/vehicle_definitions.c", "index": 36, "status": "Matching" },
{ "name": "source/units/units.c", "index": 37, "status": "NonMatching" },
{ "name": "source/units/unit_scripting_commands.c", "index": 38, "status": "NonMatching" },
{ "name": "source/units/unit_dialogue.c", "index": 39, "status": "NonMatching" },
{ "name": "source/units/unit_definitions.c", "index": 40, "status": "NonMatching" },
{ "name": "source/units/dialogue_definitions.c", "index": 41, "status": "NonMatching" },
{ "name": "source/units/bipeds.c", "index": 42, "status": "NonMatching" },
{ "name": "source/units/biped_limp_noodle.c", "index": 43, "status": "NonMatching" },
{ "name": "source/units/biped_definitions.c", "index": 44, "status": "Matching" },
{ "name": "source/text/unicode.c", "index": 45, "status": "NonMatching" },
{ "name": "source/units/text_group.c", "index": 46, "status": "NonMatching" },
{ "name": "source/units/international_strings.c", "index": 47, "status": "NonMatching" },
{ "name": "source/units/font_group.c", "index": 48, "status": "NonMatching" },
{ "name": "source/units/draw_string.c", "index": 49, "status": "NonMatching" },
{ "name": "source/tag_files/tag_groups.c", "index": 50, "status": "NonMatching" },
{ "name": "source/tag_files/tag_files_xbox.c", "index": 51, "status": "Matching" },
{ "name": "source/tag_files/tag_files.c", "index": 52, "status": "NonMatching" },
{ "name": "source/tag_files/files_windows.c", "index": 53, "status": "NonMatching" },
{ "name": "source/tag_files/files.c", "index": 54, "status": "NonMatching" },
{ "name": "source/structures/structures.c", "index": 55, "status": "NonMatching" },
{ "name": "source/structures/structure_visibility.c", "index": 56, "status": "NonMatching" },
{ "name": "source/structures/structure_runtime_decals.c", "index": 57, "status": "NonMatching" },
{ "name": "source/structures/structure_render.c", "index": 58, "status": "NonMatching" },
{ "name": "source/structures/structure_lens_flares.c", "index": 59, "status": "NonMatching" },
{ "name": "source/structures/structure_detail_objects.c", "index": 60, "status": "NonMatching" },
{ "name": "source/structures/structure_bsp_definitions.c", "index": 61, "status": "NonMatching" },
{ "name": "source/structures/leaf_map.c", "index": 62, "status": "NonMatching" },
{ "name": "source/structures/detail_object_definitions.c", "index": 63, "status": "Matching" },
{ "name": "source/structures/cluster_partitions.c", "index": 64, "status": "NonMatching" },
{ "name": "source/structures/radiosity/radiosity_io.c", "index": 65, "status": "Matching" },
{ "name": "source/structures/radiosity/radiosity.c", "index": 66, "status": "Matching" },
{ "name": "source/structures/radiosity/intermediate_radiosity.c", "index": 67, "status": "Matching" },
{ "name": "source/shell/shell_xbox.c", "index": 68, "status": "NonMatching" },
{ "name": "source/shell/shell_windows.c", "index": 69, "status": "Matching" },
{ "name": "source/shell/shell.c", "index": 70, "status": "NonMatching" },
{ "name": "source/shaders/shaders.c", "index": 71, "status": "NonMatching" },
{ "name": "source/shaders/shader_definitions.c", "index": 72, "status": "NonMatching" },
{ "name": "source/scenario/wind_definitions.c", "index": 73, "status": "Matching" },
{ "name": "source/scenario/wind.c", "index": 74, "status": "NonMatching" },
{ "name": "source/scenario/sky_definitions.c", "index": 75, "status": "Matching" },
{ "name": "source/scenario/scenario_definitions.c", "index": 76, "status": "Matching" },
{ "name": "source/scenario/scenario.c", "index": 77, "status": "NonMatching" },
{ "name": "source/scenario/multiplayer_scenario_description.c", "index": 78, "status": "NonMatching" },
{ "name": "source/scenario/fog_definitions.c", "index": 79, "status": "Matching" },
{ "name": "source/render/triangle_strips.c", "index": 80, "status": "NonMatching" },
{ "name": "source/render/render_sprite.c", "index": 81, "status": "NonMatching" },
{ "name": "source/render/render_sky.c", "index": 82, "status": "NonMatching" },
{ "name": "source/render/render_particles.c", "index": 83, "status": "NonMatching" },
{ "name": "source/render/render_objects.c", "index": 84, "status": "NonMatching" },
{ "name": "source/render/render_media.c", "index": 85, "status": "NonMatching" },
{ "name": "source/render/render_detail_objects.c", "index": 86, "status": "NonMatching" },
{ "name": "source/render/render_debug.c", "index": 87, "status": "NonMatching" },
{ "name": "source/render/render_contrails.c", "index": 88, "status": "NonMatching" },
{ "name": "source/render/render_cameras.c", "index": 89, "status": "NonMatching" },
{ "name": "source/render/render.c", "index": 90, "status": "NonMatching" },
{ "name": "source/rasterizer/rasterizer_transparent_geometry.c", "index": 91, "status": "NonMatching" },
{ "name": "source/rasterizer/rasterizer_text.c", "index": 92, "status": "NonMatching" },
{ "name": "source/rasterizer/rasterizer_swizzle.c", "index": 93, "status": "NonMatching" },
{ "name": "source/rasterizer/rasterizer_memory_pool.c", "index": 94, "status": "NonMatching" },
{ "name": "source/rasterizer/rasterizer_lights.c", "index": 95, "status": "NonMatching" },
{ "name": "source/rasterizer/rasterizer_geometry.c", "index": 96, "status": "NonMatching" },
{ "name": "source/rasterizer/rasterizer_frame_statistics.c", "index": 97, "status": "NonMatching" },
{ "name": "source/rasterizer/rasterizer_debug.c", "index": 98, "status": "NonMatching" },
{ "name": "source/rasterizer/rasterizer_cinematics.c", "index": 99, "status": "NonMatching" },
{ "name": "source/rasterizer/rasterizer.c", "index": 100, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/shader_transparent_generic_preprocessor.c", "index": 101, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/shader_transparent_chicago_preprocessor.c", "index": 102, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_widgets.c", "index": 103, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_water.c", "index": 104, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_vertex_shaders_runtime.c", "index": 105, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_vertex_shaders_initialize.c", "index": 106, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_vertex_shaders.c", "index": 107, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_transparent_geometry.c", "index": 108, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_text.c", "index": 109, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_shadows.c", "index": 110, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_screen_effect.c", "index": 111, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_profile.c", "index": 112, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_plasma_energy.c", "index": 113, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_motion_sensor.c", "index": 114, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_models.c", "index": 115, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_lights.c", "index": 116, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_hardware_geometry.c", "index": 117, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_hardware_bitmaps.c", "index": 118, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_errors.c", "index": 119, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_environment_fog.c", "index": 120, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_environment.c", "index": 121, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_dynavobgeom.c", "index": 122, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_draw_primitives.c", "index": 123, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_detail_objects.c", "index": 124, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_decals.c", "index": 125, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_debug.c", "index": 126, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox_active_camouflage.c", "index": 127, "status": "NonMatching" },
{ "name": "source/rasterizer/xbox/rasterizer_xbox.c", "index": 128, "status": "NonMatching" },
{ "name": "source/rasterizer/common/rasterizer_common.c", "index": 129, "status": "NonMatching" },
{ "name": "source/physics/terrain_definitions.c", "index": 130, "status": "Matching" },
{ "name": "source/physics/point_physics.c", "index": 131, "status": "NonMatching" },
{ "name": "source/physics/physics_variables.c", "index": 132, "status": "NonMatching" },
{ "name": "source/physics/physics_definitions.c", "index": 133, "status": "Matching" },
{ "name": "source/physics/physics.c", "index": 134, "status": "NonMatching" },
{ "name": "source/physics/collisions.c", "index": 135, "status": "NonMatching" },
{ "name": "source/physics/collision_usage.c", "index": 136, "status": "NonMatching" },
{ "name": "source/physics/collision_models.c", "index": 137, "status": "NonMatching" },
{ "name": "source/physics/collision_model_definitions.c", "index": 138, "status": "Matching" },
{ "name": "source/physics/collision_features.c", "index": 139, "status": "NonMatching" },
{ "name": "source/physics/collision_debug.c", "index": 140, "status": "NonMatching" },
{ "name": "source/physics/collision_bsp_definitions.c", "index": 141, "status": "NonMatching" },
{ "name": "source/physics/collision_bsp.c", "index": 142, "status": "NonMatching" },
{ "name": "source/physics/bsp3d.c", "index": 143, "status": "NonMatching" },
{ "name": "source/physics/bsp2d.c", "index": 144, "status": "NonMatching" },
{ "name": "source/physics/breakable_surfaces.c", "index": 145, "status": "NonMatching" },
{ "name": "source/objects/scenery_group.c", "index": 146, "status": "Matching" },
{ "name": "source/objects/scenery.c", "index": 147, "status": "NonMatching" },
{ "name": "source/objects/placeholder_definitions.c", "index": 148, "status": "NonMatching" },
{ "name": "source/objects/objects.c", "index": 149, "status": "NonMatching" },
{ "name": "source/objects/object_types.c", "index": 150, "status": "NonMatching" },
{ "name": "source/objects/object_shadows.c", "index": 151, "status": "NonMatching" },
{ "name": "source/objects/object_lights.c", "index": 152, "status": "NonMatching" },
{ "name": "source/objects/object_deleted_procs.c", "index": 153, "status": "NonMatching" },
{ "name": "source/objects/object_definitions.c", "index": 154, "status": "Matching" },
{ "name": "source/objects/light_definitions.c", "index": 155, "status": "Matching" },
{ "name": "source/objects/damage_effect_definitions.c", "index": 156, "status": "Matching" },
{ "name": "source/objects/damage.c", "index": 157, "status": "NonMatching" },
{ "name": "source/objects/widgets/widgets.c", "index": 158, "status": "NonMatching" },
{ "name": "source/objects/widgets/lightning_definitions.c", "index": 159, "status": "Matching" },
{ "name": "source/objects/widgets/lightning.c", "index": 160, "status": "NonMatching" },
{ "name": "source/objects/widgets/light_volumes.c", "index": 161, "status": "NonMatching" },
{ "name": "source/objects/widgets/light_volume_definitions.c", "index": 162, "status": "Matching" },
{ "name": "source/objects/widgets/glow_definitions.c", "index": 163, "status": "Matching" },
{ "name": "source/objects/widgets/glow.c", "index": 164, "status": "NonMatching" },
{ "name": "source/objects/widgets/flags.c", "index": 165, "status": "NonMatching" },
{ "name": "source/objects/widgets/flag_definitions.c", "index": 166, "status": "Matching" },
{ "name": "source/objects/widgets/cellular_automata2d.c", "index": 167, "status": "Matching" },
{ "name": "source/objects/widgets/cellular_automata.c", "index": 168, "status": "Matching" },
{ "name": "source/objects/widgets/antenna_definitions.c", "index": 169, "status": "Matching" },
{ "name": "source/objects/widgets/antenna.c", "index": 170, "status": "NonMatching" },
{ "name": "source/objects/widgets/aleph.c", "index": 171, "status": "Matching" },
{ "name": "source/networking/telnet_console.c", "index": 172, "status": "NonMatching" },
{ "name": "source/networking/network_server_message_handler.c", "index": 173, "status": "NonMatching" },
{ "name": "source/networking/network_server_manager.c", "index": 174, "status": "NonMatching" },
{ "name": "source/networking/network_messages.c", "index": 175, "status": "NonMatching" },
{ "name": "source/networking/network_game_ui.c", "index": 176, "status": "NonMatching" },
{ "name": "source/networking/network_game_preferences.c", "index": 177, "status": "Matching" },
{ "name": "source/networking/network_game_manager.c", "index": 178, "status": "NonMatching" },
{ "name": "source/networking/network_game_globals.c", "index": 179, "status": "NonMatching" },
{ "name": "source/networking/network_connection.c", "index": 180, "status": "NonMatching" },
{ "name": "source/networking/network_client_message_handler.c", "index": 181, "status": "NonMatching" },
{ "name": "source/networking/network_client_manager.c", "index": 182, "status": "NonMatching" },
{ "name": "source/models/models.c", "index": 183, "status": "NonMatching" },
{ "name": "source/models/model_definitions.c", "index": 184, "status": "Matching" },
{ "name": "source/models/model_animations.c", "index": 185, "status": "NonMatching" },
{ "name": "source/models/model_animation_definitions.c", "index": 186, "status": "NonMatching" },
{ "name": "source/memory/texture_page.c", "index": 187, "status": "NonMatching" },
{ "name": "source/memory/stack_memory_pool.c", "index": 188, "status": "NonMatching" },
{ "name": "source/memory/sl_list.c", "index": 189, "status": "Matching" },
{ "name": "source/memory/memory_pool.c", "index": 190, "status": "NonMatching" },
{ "name": "source/memory/lruv_cache.c", "index": 191, "status": "NonMatching" },
{ "name": "source/memory/lru_cache.c", "index": 192, "status": "NonMatching" },
{ "name": "source/memory/lrar_cache.c", "index": 193, "status": "NonMatching" },
{ "name": "source/memory/lra_cache.c", "index": 194, "status": "NonMatching" },
{ "name": "source/memory/hashtable.c", "index": 195, "status": "NonMatching" },
{ "name": "source/memory/fibonacci_heap.c", "index": 196, "status": "Matching" },
{ "name": "source/memory/data_packets.c", "index": 197, "status": "NonMatching" },
{ "name": "source/memory/data_packet_groups.c", "index": 198, "status": "NonMatching" },
{ "name": "source/memory/data_encoding.c", "index": 199, "status": "NonMatching" },
{ "name": "source/memory/data_compress.c", "index": 200, "status": "NonMatching" },
{ "name": "source/memory/data.c", "index": 201, "status": "NonMatching" },
{ "name": "source/memory/crc.c", "index": 202, "status": "NonMatching" },
{ "name": "source/memory/circular_queue.c", "index": 203, "status": "NonMatching" },
{ "name": "source/memory/byte_swapping.c", "index": 204, "status": "NonMatching" },
{ "name": "source/memory/array.c", "index": 205, "status": "NonMatching" },
{ "name": "source/memory/zlib/zutil.c", "index": 206, "status": "NonMatching" },
{ "name": "source/memory/zlib/uncompr.c", "index": 207, "status": "NonMatching" },
{ "name": "source/memory/zlib/trees.c", "index": 208, "status": "NonMatching" },
{ "name": "source/memory/zlib/infutil.c", "index": 209, "status": "NonMatching" },
{ "name": "source/memory/zlib/inftrees.c", "index": 210, "status": "NonMatching" },
{ "name": "source/memory/zlib/inflate.c", "index": 211, "status": "NonMatching" },
{ "name": "source/memory/zlib/inffast.c", "index": 212, "status": "NonMatching" },
{ "name": "source/memory/zlib/infcodes.c", "index": 213, "status": "NonMatching" },
{ "name": "source/memory/zlib/infblock.c", "index": 214, "status": "NonMatching" },
{ "name": "source/memory/zlib/gzio.c", "index": 215, "status": "NonMatching" },
{ "name": "source/memory/zlib/deflate.c", "index": 216, "status": "NonMatching" },
{ "name": "source/memory/zlib/crc32.c", "index": 217, "status": "NonMatching" },
{ "name": "source/memory/zlib/compress.c", "index": 218, "status": "NonMatching" },
{ "name": "source/memory/zlib/adler32.c", "index": 219, "status": "NonMatching" },
{ "name": "source/math/vector_tree.c", "index": 220, "status": "NonMatching" },
{ "name": "source/math/trig_math.c", "index": 221, "status": "Matching" },
{ "name": "source/math/real_math.c", "index": 222, "status": "NonMatching" },
{ "name": "source/math/random_math.c", "index": 223, "status": "NonMatching" },
{ "name": "source/math/probability.c", "index": 224, "status": "NonMatching" },
{ "name": "source/math/periodic_functions.c", "index": 225, "status": "NonMatching" },
{ "name": "source/math/matrix_math.c", "index": 226, "status": "NonMatching" },
{ "name": "source/math/integer_math.c", "index": 227, "status": "NonMatching" },
{ "name": "source/math/geometry.c", "index": 228, "status": "NonMatching" },
{ "name": "source/tool/error_geometry.c", "index": 229, "status": "NonMatching" },
{ "name": "source/tool/connected_geometry.c", "index": 230, "status": "NonMatching" },
{ "name": "source/main/restricted_beta.c", "index": 231, "status": "Matching" },
{ "name": "source/main/main.c", "index": 232, "status": "NonMatching" },
{ "name": "source/main/debug_keys.c", "index": 233, "status": "NonMatching" },
{ "name": "source/main/console.c", "index": 234, "status": "NonMatching" },
{ "name": "source/items/weapons.c", "index": 235, "status": "NonMatching" },
{ "name": "source/items/weapon_interfaces.c", "index": 236, "status": "Matching" },
{ "name": "source/items/weapon_definitions.c", "index": 237, "status": "NonMatching" },
{ "name": "source/items/projectiles.c", "index": 238, "status": "NonMatching" },
{ "name": "source/items/projectile_definitions.c", "index": 239, "status": "NonMatching" },
{ "name": "source/items/items.c", "index": 240, "status": "NonMatching" },
{ "name": "source/items/item_definitions.c", "index": 241, "status": "Matching" },
{ "name": "source/items/garbage_definitions.c", "index": 242, "status": "Matching" },
{ "name": "source/items/garbage.c", "index": 243, "status": "NonMatching" },
{ "name": "source/items/equipment_definitions.c", "index": 244, "status": "Matching" },
{ "name": "source/items/equipment.c", "index": 245, "status": "NonMatching" },
{ "name": "source/interface/virtual_keyboard.c", "index": 246, "status": "NonMatching" },
{ "name": "source/interface/ui_widget_text_search_and_replace_functions.c", "index": 247, "status": "NonMatching" },
{ "name": "source/interface/ui_widget_group.c", "index": 248, "status": "NonMatching" },
{ "name": "source/interface/ui_widget_game_data_input_functions.c", "index": 249, "status": "NonMatching" },
{ "name": "source/interface/ui_widget_event_handler_functions.c", "index": 250, "status": "NonMatching" },
{ "name": "source/interface/ui_widget.c", "index": 251, "status": "NonMatching" },
{ "name": "source/interface/terminal.c", "index": 252, "status": "NonMatching" },
{ "name": "source/interface/progress_bar.c", "index": 253, "status": "NonMatching" },
{ "name": "source/interface/player_ui.c", "index": 254, "status": "NonMatching" },
{ "name": "source/interface/overhead_map.c", "index": 255, "status": "NonMatching" },
{ "name": "source/interface/meters.c", "index": 256, "status": "Matching" },
{ "name": "source/interface/meter_definitions.c", "index": 257, "status": "Matching" },
{ "name": "source/interface/marketing_and_strategic_business_development.c", "index": 258, "status": "NonMatching" },
{ "name": "source/interface/inventory_displays.c", "index": 259, "status": "Matching" },
{ "name": "source/interface/interface_panels.c", "index": 260, "status": "Matching" },
{ "name": "source/interface/interface.c", "index": 261, "status": "NonMatching" },
{ "name": "source/interface/first_person_weapons.c", "index": 262, "status": "NonMatching" },
{ "name": "source/interface/event_manager.c", "index": 263, "status": "NonMatching" },
{ "name": "source/interface/attract_mode.c", "index": 264, "status": "NonMatching" },
{ "name": "source/interface/weapon_hud_interface_definition.c", "index": 265, "status": "Matching" },
{ "name": "source/interface/unit_hud_interface_definition.c", "index": 266, "status": "Matching" },
{ "name": "source/interface/motion_sensor.c", "index": 267, "status": "NonMatching" },
{ "name": "source/interface/hud_weapon.c", "index": 268, "status": "NonMatching" },
{ "name": "source/interface/hud_unit.c", "index": 269, "status": "NonMatching" },
{ "name": "source/interface/hud_sounds.c", "index": 270, "status": "NonMatching" },
{ "name": "source/interface/hud_nav_points.c", "index": 271, "status": "NonMatching" },
{ "name": "source/interface/hud_messaging_definitions.c", "index": 272, "status": "Matching" },
{ "name": "source/interface/hud_messaging.c", "index": 273, "status": "NonMatching" },
{ "name": "source/interface/hud_draw.c", "index": 274, "status": "NonMatching" },
{ "name": "source/interface/hud_definitions.c", "index": 275, "status": "NonMatching" },
{ "name": "source/interface/hud.c", "index": 276, "status": "NonMatching" },
{ "name": "source/input/input_xbox.c", "index": 277, "status": "NonMatching" },
{ "name": "source/input/input_windows.c", "index": 278, "status": "Matching" },
{ "name": "source/input/input_abstraction.c", "index": 279, "status": "NonMatching" },
{ "name": "source/input/HaloAutoTest.c", "index": 280, "status": "NonMatching" },
{ "name": "source/hs/object_lists.c", "index": 281, "status": "NonMatching" },
{ "name": "source/hs/hs_scenario_definitions.c", "index": 282, "status": "NonMatching" },
{ "name": "source/hs/hs_runtime.c", "index": 283, "status": "NonMatching" },
{ "name": "source/hs/hs_library_external.c", "index": 284, "status": "NonMatching" },
{ "name": "source/hs/hs_globals_external.c", "index": 285, "status": "NonMatching" },
{ "name": "source/hs/hs_compile.c", "index": 286, "status": "NonMatching" },
{ "name": "source/hs/hs.c", "index": 287, "status": "NonMatching" },
{ "name": "source/game/players.c", "index": 288, "status": "NonMatching" },
{ "name": "source/game/player_rumble_definition.c", "index": 289, "status": "Matching" },
{ "name": "source/game/player_rumble.c", "index": 290, "status": "NonMatching" },
{ "name": "source/game/player_queues_new.c", "index": 291, "status": "NonMatching" },
{ "name": "source/game/player_control.c", "index": 292, "status": "NonMatching" },
{ "name": "source/game/game_time.c", "index": 293, "status": "NonMatching" },
{ "name": "source/game/game_statistics.c", "index": 294, "status": "NonMatching" },
{ "name": "source/game/game_globals.c", "index": 295, "status": "NonMatching" },
{ "name": "source/game/game_engine_terminator.c", "index": 296, "status": "Matching" },
{ "name": "source/game/game_engine_stub.c", "index": 297, "status": "NonMatching" },
{ "name": "source/game/game_engine_slayer.c", "index": 298, "status": "NonMatching" },
{ "name": "source/game/game_engine_race.c", "index": 299, "status": "NonMatching" },
{ "name": "source/game/game_engine_oddball.c", "index": 300, "status": "NonMatching" },
{ "name": "source/game/game_engine_multiplayer_sounds.c", "index": 301, "status": "NonMatching" },
{ "name": "source/game/game_engine_list.c", "index": 302, "status": "NonMatching" },
{ "name": "source/game/game_engine_king.c", "index": 303, "status": "NonMatching" },
{ "name": "source/game/game_engine_defend.c", "index": 304, "status": "Matching" },
{ "name": "source/game/game_engine_ctf.c", "index": 305, "status": "NonMatching" },
{ "name": "source/game/game_engine_bomb.c", "index": 306, "status": "Matching" },
{ "name": "source/game/game_engine.c", "index": 307, "status": "NonMatching" },
{ "name": "source/game/game_allegiance.c", "index": 308, "status": "NonMatching" },
{ "name": "source/game/game.c", "index": 309, "status": "NonMatching" },
{ "name": "source/game/cheats.c", "index": 310, "status": "NonMatching" },
{ "name": "source/game/aim_assist.c", "index": 311, "status": "NonMatching" },
{ "name": "source/effects/weather_particle_systems.c", "index": 312, "status": "NonMatching" },
{ "name": "source/effects/weather_particle_definitions.c", "index": 313, "status": "Matching" },
{ "name": "source/effects/spheroids.c", "index": 314, "status": "Matching" },
{ "name": "source/effects/spheroid_definitions.c", "index": 315, "status": "Matching" },
{ "name": "source/effects/player_effects.c", "index": 316, "status": "NonMatching" },
{ "name": "source/effects/particles.c", "index": 317, "status": "NonMatching" },
{ "name": "source/effects/particle_systems.c", "index": 318, "status": "NonMatching" },
{ "name": "source/effects/particle_system_definitions.c", "index": 319, "status": "Matching" },
{ "name": "source/effects/particle_definitions.c", "index": 320, "status": "Matching" },
{ "name": "source/effects/material_effects.c", "index": 321, "status": "NonMatching" },
{ "name": "source/effects/material_effect_definitions.c", "index": 322, "status": "Matching" },
{ "name": "source/effects/glass_definitions.c", "index": 323, "status": "Matching" },
{ "name": "source/effects/effects.c", "index": 324, "status": "NonMatching" },
{ "name": "source/effects/effect_definitions.c", "index": 325, "status": "Matching" },
{ "name": "source/effects/decals.c", "index": 326, "status": "NonMatching" },
{ "name": "source/effects/decal_definitions.c", "index": 327, "status": "NonMatching" },
{ "name": "source/effects/contrails.c", "index": 328, "status": "NonMatching" },
{ "name": "source/effects/contrail_definitions.c", "index": 329, "status": "NonMatching" },
{ "name": "source/editor/editor_stubs.c", "index": 330, "status": "NonMatching" },
{ "name": "source/dialogs/value_control.c", "index": 331, "status": "Matching" },
{ "name": "source/dialogs/static_text_control.c", "index": 332, "status": "Matching" },
{ "name": "source/dialogs/picture_control.c", "index": 333, "status": "Matching" },
{ "name": "source/dialogs/list_control.c", "index": 334, "status": "Matching" },
{ "name": "source/dialogs/edit_text_control.c", "index": 335, "status": "Matching" },
{ "name": "source/dialogs/edit_text.c", "index": 336, "status": "NonMatching" },
{ "name": "source/dialogs/dialogs.c", "index": 337, "status": "Matching" },
{ "name": "source/dialogs/dialog_templates.c", "index": 338, "status": "Matching" },
{ "name": "source/dialogs/dialog_controls.c", "index": 339, "status": "Matching" },
{ "name": "source/dialogs/button_control.c", "index": 340, "status": "Matching" },
{ "name": "source/devices/devices.c", "index": 341, "status": "NonMatching" },
{ "name": "source/devices/device_machines.c", "index": 342, "status": "NonMatching" },
{ "name": "source/devices/device_light_fixtures.c", "index": 343, "status": "NonMatching" },
{ "name": "source/devices/device_definitions.c", "index": 344, "status": "Matching" },
{ "name": "source/devices/device_controls.c", "index": 345, "status": "NonMatching" },
{ "name": "source/cutscene/recorded_animations.c", "index": 346, "status": "NonMatching" },
{ "name": "source/cutscene/recorded_animation_playback_v1.c", "index": 347, "status": "NonMatching" },
{ "name": "source/cutscene/recorded_animation_playback.c", "index": 348, "status": "NonMatching" },
{ "name": "source/cutscene/recorded_animation_initialize.c", "index": 349, "status": "NonMatching" },
{ "name": "source/cutscene/recorded_animation_definitions.c", "index": 350, "status": "NonMatching" },
{ "name": "source/cutscene/cinematics.c", "index": 351, "status": "NonMatching" },
{ "name": "source/cseries/stack_walk_windows.c", "index": 352, "status": "NonMatching" },
{ "name": "source/cseries/sort.c", "index": 353, "status": "NonMatching" },
{ "name": "source/cseries/progress.c", "index": 354, "status": "NonMatching" },
{ "name": "source/cseries/profile.c", "index": 355, "status": "NonMatching" },
{ "name": "source/cseries/errors.c", "index": 356, "status": "NonMatching" },
{ "name": "source/cseries/debug_memory.c", "index": 357, "status": "NonMatching" },
{ "name": "source/cseries/cseries_windows.c", "index": 358, "status": "NonMatching" },
{ "name": "source/cseries/cseries.c", "index": 359, "status": "NonMatching" },
{ "name": "source/camera/static_camera.c", "index": 360, "status": "NonMatching" },
{ "name": "source/camera/orbiting_camera.c", "index": 361, "status": "NonMatching" },
{ "name": "source/camera/observer.c", "index": 362, "status": "NonMatching" },
{ "name": "source/camera/following_camera.c", "index": 363, "status": "NonMatching" },
{ "name": "source/camera/flying_camera.c", "index": 364, "status": "NonMatching" },
{ "name": "source/camera/first_person_camera.c", "index": 365, "status": "NonMatching" },
{ "name": "source/camera/editor_flying_camera.c", "index": 366, "status": "NonMatching" },
{ "name": "source/camera/director.c", "index": 367, "status": "NonMatching" },
{ "name": "source/camera/dead_camera.c", "index": 368, "status": "NonMatching" },
{ "name": "source/camera/camera_track_definitions.c", "index": 369, "status": "Matching" },
{ "name": "source/camera/camera_scripting.c", "index": 370, "status": "NonMatching" },
{ "name": "source/camera/bored_camera.c", "index": 371, "status": "NonMatching" },
{ "name": "source/bungie_net/network/transport_endpoint_winsock.c", "index": 372, "status": "NonMatching" },
{ "name": "source/bungie_net/network/transport_endpoint_set_winsock.c", "index": 373, "status": "NonMatching" },
{ "name": "source/bungie_net/network/transport_dns_winsock.c", "index": 374, "status": "Matching" },
{ "name": "source/bungie_net/network/transport_address.c", "index": 375, "status": "NonMatching" },
{ "name": "source/bungie_net/common/thread_win32.c", "index": 376, "status": "NonMatching" },
{ "name": "source/bungie_net/common/random_numbers.c", "index": 377, "status": "NonMatching" },
{ "name": "source/bungie_net/common/public_key_crypt.c", "index": 378, "status": "NonMatching" },
{ "name": "source/bungie_net/common/prime_numbers.c", "index": 379, "status": "NonMatching" },
{ "name": "source/bungie_net/common/message_header.c", "index": 380, "status": "NonMatching" },
{ "name": "source/bungie_net/common/message_encryption.c", "index": 381, "status": "NonMatching" },
{ "name": "source/bungie_net/common/key_agreement.c", "index": 382, "status": "NonMatching" },
{ "name": "source/bungie_net/common/64bit_math.c", "index": 383, "status": "NonMatching" },
{ "name": "source/bitmaps/tiff_file.c", "index": 384, "status": "NonMatching" },
{ "name": "source/bitmaps/targa_file.c", "index": 385, "status": "NonMatching" },
{ "name": "source/bitmaps/color_table_group.c", "index": 386, "status": "Matching" },
{ "name": "source/bitmaps/bitmaps_quantitize.c", "index": 387, "status": "NonMatching" },
{ "name": "source/bitmaps/bitmaps.c", "index": 388, "status": "NonMatching" },
{ "name": "source/bitmaps/bitmap_utilities.c", "index": 389, "status": "NonMatching" },
{ "name": "source/bitmaps/bitmap_group.c", "index": 390, "status": "NonMatching" },
{ "name": "source/bitmaps/bitmap_extract.c", "index": 391, "status": "NonMatching" },
{ "name": "source/bitmaps/bitmap_drawing.c", "index": 392, "status": "NonMatching" },
{ "name": "source/bitmaps/bitmap_compress.c", "index": 393, "status": "Matching" },
{ "name": "source/bitmaps/s3tc/s3tc.c", "index": 394, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_write.c", "index": 395, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_warning.c", "index": 396, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_version.c", "index": 397, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_tile.c", "index": 398, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_thunder.c", "index": 399, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_swab.c", "index": 400, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_strip.c", "index": 401, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_read.c", "index": 402, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_print.c", "index": 403, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_packbits.c", "index": 404, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_open.c", "index": 405, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_next.c", "index": 406, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_machdep.c", "index": 407, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_lzw.c", "index": 408, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_jpeg.c", "index": 409, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_getimage.c", "index": 410, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_flush.c", "index": 411, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_fax4.c", "index": 412, "status": "MISSING" },
{ "name": "source/bitmaps/libtiff/tif_fax3.c", "index": 413, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_error.c", "index": 414, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_dumpmode.c", "index": 415, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_dirwrite.c", "index": 416, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_dirread.c", "index": 417, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_dirinfo.c", "index": 418, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_dir.c", "index": 419, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_compress.c", "index": 420, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_compat.c", "index": 421, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_close.c", "index": 422, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_ccittrle.c", "index": 423, "status": "NonMatching" },
{ "name": "source/bitmaps/libtiff/tif_aux.c", "index": 424, "status": "NonMatching" },
{ "name": "source/ai/props.c", "index": 425, "status": "NonMatching" },
{ "name": "source/ai/path_structure_bsp.c", "index": 426, "status": "NonMatching" },
{ "name": "source/ai/path_smoothing.c", "index": 427, "status": "NonMatching" },
{ "name": "source/ai/path_obstacles.c", "index": 428, "status": "NonMatching" },
{ "name": "source/ai/path_obstacle_avoidance.c", "index": 429, "status": "NonMatching" },
{ "name": "source/ai/path.c", "index": 430, "status": "NonMatching" },
{ "name": "source/ai/encounters.c", "index": 431, "status": "NonMatching" },
{ "name": "source/ai/ai_script.c", "index": 432, "status": "NonMatching" },
{ "name": "source/ai/ai_scenario_definitions.c", "index": 433, "status": "NonMatching" },
{ "name": "source/ai/ai_profile.c", "index": 434, "status": "NonMatching" },
{ "name": "source/ai/ai_debug.c", "index": 435, "status": "NonMatching" },
{ "name": "source/ai/ai_communication.c", "index": 436, "status": "NonMatching" },
{ "name": "source/ai/ai.c", "index": 437, "status": "NonMatching" },
{ "name": "source/ai/actors.c", "index": 438, "status": "NonMatching" },
{ "name": "source/ai/actor_types.c", "index": 439, "status": "NonMatching" },
{ "name": "source/ai/actor_type_sentinel.c", "index": 440, "status": "NonMatching" },
{ "name": "source/ai/actor_type_mounted_weapon.c", "index": 441, "status": "NonMatching" },
{ "name": "source/ai/actor_type_marine.c", "index": 442, "status": "NonMatching" },
{ "name": "source/ai/actor_type_jackal.c", "index": 443, "status": "NonMatching" },
{ "name": "source/ai/actor_type_infection.c", "index": 444, "status": "NonMatching" },
{ "name": "source/ai/actor_type_hunter.c", "index": 445, "status": "NonMatching" },
{ "name": "source/ai/actor_type_grunt.c", "index": 446, "status": "NonMatching" },
{ "name": "source/ai/actor_type_flood.c", "index": 447, "status": "NonMatching" },
{ "name": "source/ai/actor_type_engineer.c", "index": 448, "status": "NonMatching" },
{ "name": "source/ai/actor_type_elite.c", "index": 449, "status": "NonMatching" },
{ "name": "source/ai/actor_type_crew.c", "index": 450, "status": "NonMatching" },
{ "name": "source/ai/actor_type_carrier.c", "index": 451, "status": "NonMatching" },
{ "name": "source/ai/actor_stimulus.c", "index": 452, "status": "NonMatching" },
{ "name": "source/ai/actor_perception.c", "index": 453, "status": "NonMatching" },
{ "name": "source/ai/actor_moving.c", "index": 454, "status": "NonMatching" },
{ "name": "source/ai/actor_looking.c", "index": 455, "status": "NonMatching" },
{ "name": "source/ai/actor_firing_position.c", "index": 456, "status": "NonMatching" },
{ "name": "source/ai/actor_definitions.c", "index": 457, "status": "Matching" },
{ "name": "source/ai/actor_combat.c", "index": 458, "status": "NonMatching" },
{ "name": "source/ai/actions.c", "index": 459, "status": "NonMatching" },
{ "name": "source/ai/action_wait.c", "index": 460, "status": "NonMatching" },
{ "name": "source/ai/action_vehicle.c", "index": 461, "status": "NonMatching" },
{ "name": "source/ai/action_uncover.c", "index": 462, "status": "NonMatching" },
{ "name": "source/ai/action_sleep.c", "index": 463, "status": "NonMatching" },
{ "name": "source/ai/action_search.c", "index": 464, "status": "NonMatching" },
{ "name": "source/ai/action_obey.c", "index": 465, "status": "NonMatching" },
{ "name": "source/ai/action_guard.c", "index": 466, "status": "NonMatching" },
{ "name": "source/ai/action_flee.c", "index": 467, "status": "NonMatching" },
{ "name": "source/ai/action_fight.c", "index": 468, "status": "NonMatching" },
{ "name": "source/ai/action_converse.c", "index": 469, "status": "NonMatching" },
{ "name": "source/ai/action_charge.c", "index": 470, "status": "NonMatching" },
{ "name": "source/ai/action_avoid.c", "index": 471, "status": "NonMatching" },
{ "name": "source/ai/action_alert.c", "index": 472, "status": "NonMatching" },
{ "name": "source/linker_common.c", "index": 847, "status": "MISSING" }
]
},
{
"name": "libcmt",
"guid": "{2B2D6441-A504-43EC-A305-DBA04B287D85}",
"objects": [
{ "name": "libs/libcmt/ieee87.c", "index": 624, "status": "MISSING" },
{ "name": "libs/libcmt/fpctrl.c", "index": 625, "status": "MISSING" },
{ "name": "libs/libcmt/87except.c", "index": 626, "status": "MISSING" },
{ "name": "libs/libcmt/util.c", "index": 627, "status": "MISSING" },
{ "name": "libs/libcmt/matherr.c", "index": 628, "status": "MISSING" },
{ "name": "libs/libcmt/ldexp.c", "index": 629, "status": "MISSING" },
{ "name": "libs/libcmt/ieeemisc.c", "index": 630, "status": "MISSING" },
{ "name": "libs/libcmt/fpexcept.c", "index": 631, "status": "MISSING" },
{ "name": "libs/libcmt/pow.c", "index": 632, "status": "MISSING" },
{ "name": "libs/libcmt/acos.c", "index": 633, "status": "MISSING" },
{ "name": "libs/libcmt/asin.c", "index": 634, "status": "MISSING" },
{ "name": "libs/libcmt/powhlp.c", "index": 635, "status": "MISSING" },
{ "name": "libs/libcmt/huge.c", "index": 636, "status": "MISSING" },
{ "name": "libs/libcmt/genexcep.c", "index": 637, "status": "MISSING" },
{ "name": "libs/libcmt/ftol2.c", "index": 638, "status": "MISSING" },
{ "name": "libs/libcmt/frnd.c", "index": 639, "status": "MISSING" },
{ "name": "libs/libcmt/floor.c", "index": 640, "status": "MISSING" },
{ "name": "libs/libcmt/common.c", "index": 641, "status": "MISSING" },
{ "name": "libs/libcmt/ceil.c", "index": 642, "status": "MISSING" },
{ "name": "libs/libcmt/87tran.c", "index": 643, "status": "MISSING" },
{ "name": "libs/libcmt/87fmod.c", "index": 644, "status": "MISSING" },
{ "name": "libs/libcmt/87disp.c", "index": 645, "status": "MISSING" },
{ "name": "libs/libcmt/87cdisp.c", "index": 646, "status": "MISSING" },
{ "name": "libs/libcmt/x10fout.c", "index": 647, "status": "MISSING" },
{ "name": "libs/libcmt/tenpow.c", "index": 648, "status": "MISSING" },
{ "name": "libs/libcmt/strgtold.c", "index": 649, "status": "MISSING" },
{ "name": "libs/libcmt/mantold.c", "index": 650, "status": "MISSING" },
{ "name": "libs/libcmt/intrncvt.c", "index": 651, "status": "MISSING" },
{ "name": "libs/libcmt/fpinit.c", "index": 652, "status": "MISSING" },
{ "name": "libs/libcmt/cvt.c", "index": 653, "status": "MISSING" },
{ "name": "libs/libcmt/constpow.c", "index": 654, "status": "MISSING" },
{ "name": "libs/libcmt/cfout.c", "index": 655, "status": "MISSING" },
{ "name": "libs/libcmt/cfin.c", "index": 656, "status": "MISSING" },
{ "name": "libs/libcmt/wctime.c", "index": 657, "status": "MISSING" },
{ "name": "libs/libcmt/wasctime.c", "index": 658, "status": "MISSING" },
{ "name": "libs/libcmt/tzset.c", "index": 659, "status": "MISSING" },
{ "name": "libs/libcmt/timeset.c", "index": 660, "status": "MISSING" },
{ "name": "libs/libcmt/time.c", "index": 661, "status": "MISSING" },
{ "name": "libs/libcmt/localtim.c", "index": 662, "status": "MISSING" },
{ "name": "libs/libcmt/gmtime.c", "index": 663, "status": "MISSING" },
{ "name": "libs/libcmt/dtoxtime.c", "index": 664, "status": "MISSING" },
{ "name": "libs/libcmt/days.c", "index": 665, "status": "MISSING" },
{ "name": "libs/libcmt/strnicmp.c", "index": 666, "status": "MISSING" },
{ "name": "libs/libcmt/stricmp.c", "index": 667, "status": "MISSING" },
{ "name": "libs/libcmt/wcsxfrm.c", "index": 668, "status": "MISSING" },
{ "name": "libs/libcmt/wcsupr.c", "index": 669, "status": "MISSING" },
{ "name": "libs/libcmt/wcstok.c", "index": 670, "status": "MISSING" },
{ "name": "libs/libcmt/wcsstr.c", "index": 671, "status": "MISSING" },
{ "name": "libs/libcmt/wcsspn.c", "index": 672, "status": "MISSING" },
{ "name": "libs/libcmt/wcsrchr.c", "index": 673, "status": "MISSING" },
{ "name": "libs/libcmt/wcspbrk.c", "index": 674, "status": "MISSING" },
{ "name": "libs/libcmt/wcsnicmp.c", "index": 675, "status": "MISSING" },
{ "name": "libs/libcmt/wcsncpy.c", "index": 676, "status": "MISSING" },
{ "name": "libs/libcmt/wcsncmp.c", "index": 677, "status": "MISSING" },
{ "name": "libs/libcmt/wcsncat.c", "index": 678, "status": "MISSING" },
{ "name": "libs/libcmt/wcslwr.c", "index": 679, "status": "MISSING" },
{ "name": "libs/libcmt/wcslen.c", "index": 680, "status": "MISSING" },
{ "name": "libs/libcmt/wcsicmp.c", "index": 681, "status": "MISSING" },
{ "name": "libs/libcmt/wcscspn.c", "index": 682, "status": "MISSING" },
{ "name": "libs/libcmt/wcscoll.c", "index": 683, "status": "MISSING" },
{ "name": "libs/libcmt/wcscmp.c", "index": 684, "status": "MISSING" },
{ "name": "libs/libcmt/wcschr.c", "index": 685, "status": "MISSING" },
{ "name": "libs/libcmt/wcscat.c", "index": 686, "status": "MISSING" },
{ "name": "libs/libcmt/strtok.c", "index": 687, "status": "MISSING" },
{ "name": "libs/libcmt/strstr.c", "index": 688, "status": "MISSING" },
{ "name": "libs/libcmt/strrchr.c", "index": 689, "status": "MISSING" },
{ "name": "libs/libcmt/_strnicm.c", "index": 690, "status": "MISSING" },
{ "name": "libs/libcmt/strncpy.c", "index": 691, "status": "MISSING" },
{ "name": "libs/libcmt/strncmp.c", "index": 692, "status": "MISSING" },
{ "name": "libs/libcmt/strncat.c", "index": 693, "status": "MISSING" },
{ "name": "libs/libcmt/_stricmp.c", "index": 694, "status": "MISSING" },
{ "name": "libs/libcmt/strchr.c", "index": 695, "status": "MISSING" },
{ "name": "libs/libcmt/memmove.c", "index": 696, "status": "MISSING" },
{ "name": "libs/libcmt/memchr.c", "index": 697, "status": "MISSING" },
{ "name": "libs/libcmt/ncommode.c", "index": 698, "status": "MISSING" },
{ "name": "libs/libcmt/wtmpfile.c", "index": 699, "status": "MISSING" },
{ "name": "libs/libcmt/woutput.c", "index": 700, "status": "MISSING" },
{ "name": "libs/libcmt/_wopen.c", "index": 701, "status": "MISSING" },
{ "name": "libs/libcmt/wfreopen.c", "index": 702, "status": "MISSING" },
{ "name": "libs/libcmt/wfopen.c", "index": 703, "status": "MISSING" },
{ "name": "libs/libcmt/wfdopen.c", "index": 704, "status": "MISSING" },
{ "name": "libs/libcmt/vwprintf.c", "index": 705, "status": "MISSING" },
{ "name": "libs/libcmt/vswprint.c", "index": 706, "status": "MISSING" },
{ "name": "libs/libcmt/vsnwprnt.c", "index": 707, "status": "MISSING" },
{ "name": "libs/libcmt/vsnprint.c", "index": 708, "status": "MISSING" },
{ "name": "libs/libcmt/vsprintf.c", "index": 709, "status": "MISSING" },
{ "name": "libs/libcmt/vfwprint.c", "index": 710, "status": "MISSING" },
{ "name": "libs/libcmt/vfprintf.c", "index": 711, "status": "MISSING" },
{ "name": "libs/libcmt/ungetwc.c", "index": 712, "status": "MISSING" },
{ "name": "libs/libcmt/ungetc.c", "index": 713, "status": "MISSING" },
{ "name": "libs/libcmt/stream.c", "index": 714, "status": "MISSING" },
{ "name": "libs/libcmt/sprintf.c", "index": 715, "status": "MISSING" },
{ "name": "libs/libcmt/snwprint.c", "index": 716, "status": "MISSING" },
{ "name": "libs/libcmt/snprintf.c", "index": 717, "status": "MISSING" },
{ "name": "libs/libcmt/rewind.c", "index": 718, "status": "MISSING" },
{ "name": "libs/libcmt/putws.c", "index": 719, "status": "MISSING" },
{ "name": "libs/libcmt/printf.c", "index": 720, "status": "MISSING" },
{ "name": "libs/libcmt/output.c", "index": 721, "status": "MISSING" },
{ "name": "libs/libcmt/input.c", "index": 722, "status": "MISSING" },
{ "name": "libs/libcmt/getws.c", "index": 723, "status": "MISSING" },
{ "name": "libs/libcmt/fwrite.c", "index": 724, "status": "MISSING" },
{ "name": "libs/libcmt/ftell.c", "index": 725, "status": "MISSING" },
{ "name": "libs/libcmt/fseek.c", "index": 726, "status": "MISSING" },
{ "name": "libs/libcmt/fscanf.c", "index": 727, "status": "MISSING" },
{ "name": "libs/libcmt/fread.c", "index": 728, "status": "MISSING" },
{ "name": "libs/libcmt/fprintf.c", "index": 729, "status": "MISSING" },
{ "name": "libs/libcmt/fopen.c", "index": 730, "status": "MISSING" },
{ "name": "libs/libcmt/fflush.c", "index": 731, "status": "MISSING" },
{ "name": "libs/libcmt/fdopen.c", "index": 732, "status": "MISSING" },
{ "name": "libs/libcmt/fclose.c", "index": 733, "status": "MISSING" },
{ "name": "libs/libcmt/closeall.c", "index": 734, "status": "MISSING" },
{ "name": "libs/libcmt/_sftbuf.c", "index": 735, "status": "MISSING" },
{ "name": "libs/libcmt/_open.c", "index": 736, "status": "MISSING" },
{ "name": "libs/libcmt/_getbuf.c", "index": 737, "status": "MISSING" },
{ "name": "libs/libcmt/_freebuf.c", "index": 738, "status": "MISSING" },
{ "name": "libs/libcmt/_flswbuf.c", "index": 739, "status": "MISSING" },
{ "name": "libs/libcmt/_flsbuf.c", "index": 740, "status": "MISSING" },
{ "name": "libs/libcmt/_file.c", "index": 741, "status": "MISSING" },
{ "name": "libs/libcmt/_filwbuf.c", "index": 742, "status": "MISSING" },
{ "name": "libs/libcmt/_filbuf.c", "index": 743, "status": "MISSING" },
{ "name": "libs/libcmt/fputws.c", "index": 744, "status": "MISSING" },
{ "name": "libs/libcmt/fputwc.c", "index": 745, "status": "MISSING" },
{ "name": "libs/libcmt/fputc.c", "index": 746, "status": "MISSING" },
{ "name": "libs/libcmt/fgetws.c", "index": 747, "status": "MISSING" },
{ "name": "libs/libcmt/fgetwc.c", "index": 748, "status": "MISSING" },
{ "name": "libs/libcmt/fgets.c", "index": 749, "status": "MISSING" },
{ "name": "libs/libcmt/tidtable.c", "index": 750, "status": "MISSING" },
{ "name": "libs/libcmt/thread.c", "index": 751, "status": "MISSING" },
{ "name": "libs/libcmt/mlock.c", "index": 752, "status": "MISSING" },
{ "name": "libs/libcmt/crt0init.c", "index": 753, "status": "MISSING" },
{ "name": "libs/libcmt/crt0msg.c", "index": 754, "status": "MISSING" },
{ "name": "libs/libcmt/crt0fp.c", "index": 755, "status": "MISSING" },
{ "name": "libs/libcmt/crt0dat.c", "index": 756, "status": "MISSING" },
{ "name": "libs/libcmt/crt0.c", "index": 757, "status": "MISSING" },
{ "name": "libs/libcmt/fp8.c", "index": 758, "status": "MISSING" },
{ "name": "libs/libcmt/chkstk.c", "index": 759, "status": "MISSING" },
{ "name": "libs/libcmt/wperror.c", "index": 760, "status": "MISSING" },
{ "name": "libs/libcmt/winxfltr.c", "index": 761, "status": "MISSING" },
{ "name": "libs/libcmt/winsig.c", "index": 762, "status": "MISSING" },
{ "name": "libs/libcmt/syserr.c", "index": 763, "status": "MISSING" },
{ "name": "libs/libcmt/strerror.c", "index": 764, "status": "MISSING" },
{ "name": "libs/libcmt/rand.c", "index": 765, "status": "MISSING" },
{ "name": "libs/libcmt/qsort.c", "index": 766, "status": "MISSING" },
{ "name": "libs/libcmt/purevirt.c", "index": 767, "status": "MISSING" },
{ "name": "libs/libcmt/nlsdata2.c", "index": 768, "status": "MISSING" },
{ "name": "libs/libcmt/nlsdata1.c", "index": 769, "status": "MISSING" },
{ "name": "libs/libcmt/initcrit.c", "index": 770, "status": "MISSING" },
{ "name": "libs/libcmt/ctype.c", "index": 771, "status": "MISSING" },
{ "name": "libs/libcmt/cmiscdat.c", "index": 772, "status": "MISSING" },
{ "name": "libs/libcmt/exsup3.c", "index": 773, "status": "MISSING" },
{ "name": "libs/libcmt/exsup.c", "index": 774, "status": "MISSING" },
{ "name": "libs/libcmt/sehprolg.c", "index": 775, "status": "MISSING" },
{ "name": "libs/libcmt/mbctype.c", "index": 776, "status": "MISSING" },
{ "name": "libs/libcmt/ismbspc.c", "index": 777, "status": "MISSING" },
{ "name": "libs/libcmt/wopen.c", "index": 778, "status": "MISSING" },
{ "name": "libs/libcmt/lseeki64.c", "index": 779, "status": "MISSING" },
{ "name": "libs/libcmt/ioinit.c", "index": 780, "status": "MISSING" },
{ "name": "libs/libcmt/write.c", "index": 781, "status": "MISSING" },
{ "name": "libs/libcmt/txtmode.c", "index": 782, "status": "MISSING" },
{ "name": "libs/libcmt/setmode.c", "index": 783, "status": "MISSING" },
{ "name": "libs/libcmt/read.c", "index": 784, "status": "MISSING" },
{ "name": "libs/libcmt/osfinfo.c", "index": 785, "status": "MISSING" },
{ "name": "libs/libcmt/open.c", "index": 786, "status": "MISSING" },
{ "name": "libs/libcmt/lseek.c", "index": 787, "status": "MISSING" },
{ "name": "libs/libcmt/isatty.c", "index": 788, "status": "MISSING" },
{ "name": "libs/libcmt/fstat.c", "index": 789, "status": "MISSING" },
{ "name": "libs/libcmt/commit.c", "index": 790, "status": "MISSING" },
{ "name": "libs/libcmt/close.c", "index": 791, "status": "MISSING" },
{ "name": "libs/libcmt/chsize.c", "index": 792, "status": "MISSING" },
{ "name": "libs/libcmt/ullshr.c", "index": 793, "status": "MISSING" },
{ "name": "libs/libcmt/ullrem.c", "index": 794, "status": "MISSING" },
{ "name": "libs/libcmt/ulldvrm.c", "index": 795, "status": "MISSING" },
{ "name": "libs/libcmt/ulldiv.c", "index": 796, "status": "MISSING" },
{ "name": "libs/libcmt/llshr.c", "index": 797, "status": "MISSING" },
{ "name": "libs/libcmt/llmul.c", "index": 798, "status": "MISSING" },
{ "name": "libs/libcmt/lldiv.c", "index": 799, "status": "MISSING" },
{ "name": "libs/libcmt/_newmode.c", "index": 800, "status": "MISSING" },
{ "name": "libs/libcmt/new.c", "index": 801, "status": "MISSING" },
{ "name": "libs/libcmt/malloc.c", "index": 802, "status": "MISSING" },
{ "name": "libs/libcmt/heapinit.c", "index": 803, "status": "MISSING" },
{ "name": "libs/libcmt/handler.c", "index": 804, "status": "MISSING" },
{ "name": "libs/libcmt/free.c", "index": 805, "status": "MISSING" },
{ "name": "libs/libcmt/delete.c", "index": 806, "status": "MISSING" },
{ "name": "libs/libcmt/calloc.c", "index": 807, "status": "MISSING" },
{ "name": "libs/libcmt/wunlink.c", "index": 808, "status": "MISSING" },
{ "name": "libs/libcmt/waccess.c", "index": 809, "status": "MISSING" },
{ "name": "libs/libcmt/unlink.c", "index": 810, "status": "MISSING" },
{ "name": "libs/libcmt/dosmap.c", "index": 811, "status": "MISSING" },
{ "name": "libs/libcmt/xtow.c", "index": 812, "status": "MISSING" },
{ "name": "libs/libcmt/xtoa.c", "index": 813, "status": "MISSING" },
{ "name": "libs/libcmt/wtox.c", "index": 814, "status": "MISSING" },
{ "name": "libs/libcmt/wctomb.c", "index": 815, "status": "MISSING" },
{ "name": "libs/libcmt/wcstombs.c", "index": 816, "status": "MISSING" },
{ "name": "libs/libcmt/wcstol.c", "index": 817, "status": "MISSING" },
{ "name": "libs/libcmt/wcstod.c", "index": 818, "status": "MISSING" },
{ "name": "libs/libcmt/wchtodig.c", "index": 819, "status": "MISSING" },
{ "name": "libs/libcmt/towupper.c", "index": 820, "status": "MISSING" },
{ "name": "libs/libcmt/towlower.c", "index": 821, "status": "MISSING" },
{ "name": "libs/libcmt/toupper.c", "index": 822, "status": "MISSING" },
{ "name": "libs/libcmt/tolower.c", "index": 823, "status": "MISSING" },
{ "name": "libs/libcmt/strtol.c", "index": 824, "status": "MISSING" },
{ "name": "libs/libcmt/mbtowc.c", "index": 825, "status": "MISSING" },
{ "name": "libs/libcmt/mbstowcs.c", "index": 826, "status": "MISSING" },
{ "name": "libs/libcmt/iswctype.c", "index": 827, "status": "MISSING" },
{ "name": "libs/libcmt/isctype.c", "index": 828, "status": "MISSING" },
{ "name": "libs/libcmt/atox.c", "index": 829, "status": "MISSING" },
{ "name": "libs/libcmt/atof.c", "index": 830, "status": "MISSING" },
{ "name": "libs/libcmt/_fptostr.c", "index": 831, "status": "MISSING" },
{ "name": "libs/libcmt/_ctype.c", "index": 832, "status": "MISSING" },
{ "name": "libs/libcmt/filedel.c", "index": 833, "status": "MISSING" },
{ "name": "libs/libcmt/filecrea.c", "index": 834, "status": "MISSING" },
{ "name": "libs/libcmt/fileatt.c", "index": 835, "status": "MISSING" }
]
},
{
"name": "binkxbox",
"guid": "{D0C0A7FB-D6F3-4179-B7DC-29F86F0D60D1}",
"objects": [
{ "name": "libs/binkxbox/binkxbox.c", "index": 600, "status": "MISSING" },
{ "name": "libs/binkxbox/binkread.c", "index": 601, "status": "MISSING" },
{ "name": "libs/binkxbox/binkds.c", "index": 602, "status": "MISSING" },
{ "name": "libs/binkxbox/expand.c", "index": 603, "status": "MISSING" },
{ "name": "libs/binkxbox/wintimer.c", "index": 604, "status": "MISSING" },
{ "name": "libs/binkxbox/binkfile.c", "index": 605, "status": "MISSING" },
{ "name": "libs/binkxbox/yuv.c", "index": 606, "status": "MISSING" },
{ "name": "libs/binkxbox/binkac.c", "index": 607, "status": "MISSING" },
{ "name": "libs/binkxbox/radcb.c", "index": 608, "status": "MISSING" },
{ "name": "libs/binkxbox/varbits.c", "index": 609, "status": "MISSING" },
{ "name": "libs/binkxbox/dct.c", "index": 610, "status": "MISSING" },
{ "name": "libs/binkxbox/bitplane.c", "index": 611, "status": "MISSING" },
{ "name": "libs/binkxbox/yuv32.c", "index": 612, "status": "MISSING" },
{ "name": "libs/binkxbox/rgb16.c", "index": 613, "status": "MISSING" },
{ "name": "libs/binkxbox/rgb16a4.c", "index": 614, "status": "MISSING" },
{ "name": "libs/binkxbox/rgb16a1.c", "index": 615, "status": "MISSING" },
{ "name": "libs/binkxbox/rgb32.c", "index": 616, "status": "MISSING" },
{ "name": "libs/binkxbox/rgb32a.c", "index": 617, "status": "MISSING" },
{ "name": "libs/binkxbox/rgb16x2.c", "index": 618, "status": "MISSING" },
{ "name": "libs/binkxbox/rgb32x2.c", "index": 619, "status": "MISSING" },
{ "name": "libs/binkxbox/rgb16mx2.c", "index": 620, "status": "MISSING" },
{ "name": "libs/binkxbox/rgb32mx2.c", "index": 621, "status": "MISSING" },
{ "name": "libs/binkxbox/rgb16m.c", "index": 622, "status": "MISSING" },
{ "name": "libs/binkxbox/rgb32m.c", "index": 623, "status": "MISSING" }
]
},
{
"name": "xboxkrnl",
"guid": "{418B282B-69DB-403E-8543-20CD692F8413}",
"objects": [
{ "name": "libs/xboxkrnl/bldnum.c", "index": 598, "status": "MISSING" }
]
},
{
"name": "xkbd",
"guid": "{A906C871-6023-4AB3-8214-EC4C97B82914}",
"objects": [
{ "name": "libs/xkbd/kbd.c", "index": 596, "status": "MISSING" }
]
},
{
"name": "xnet",
"guid": "{3F02C237-4504-42F8-8EED-5A861BB9E571}",
"objects": [
{ "name": "libs/xnet/tcpipxsum.c", "index": 584, "status": "MISSING" },
{ "name": "libs/xnet/base.c", "index": 585, "status": "MISSING" },
{ "name": "libs/xnet/enet.c", "index": 586, "status": "MISSING" },
{ "name": "libs/xnet/halx.c", "index": 587, "status": "MISSING" },
{ "name": "libs/xnet/ip.c", "index": 588, "status": "MISSING" },
{ "name": "libs/xnet/ipdhcp.c", "index": 589, "status": "MISSING" },
{ "name": "libs/xnet/ipicmp.c", "index": 590, "status": "MISSING" },
{ "name": "libs/xnet/nicx.c", "index": 591, "status": "MISSING" },
{ "name": "libs/xnet/sock.c", "index": 592, "status": "MISSING" },
{ "name": "libs/xnet/socktcp.c", "index": 593, "status": "MISSING" },
{ "name": "libs/xnet/sockudp.c", "index": 594, "status": "MISSING" },
{ "name": "libs/xnet/xnet.c", "index": 595, "status": "MISSING" }
]
},
{
"name": "dsstrmh",
"guid": "{F14DBF71-DE99-477D-8113-B467536ABFF6}",
"objects": [
{ "name": "libs/dsstrmh/main.c", "index": 583, "status": "MISSING" }
]
},
{
"name": "dsound",
"guid": "{545E007C-05E0-4970-BB4C-E8B318F00204}",
"objects": [
{ "name": "libs/dsound/dsoundi.c", "index": 1, "status": "MISSING" },
{ "name": "libs/dsound/format.c", "index": 567, "status": "MISSING" },
{ "name": "libs/dsound/memmgr.c", "index": 568, "status": "MISSING" },
{ "name": "libs/dsound/dsapi.c", "index": 569, "status": "MISSING" },
{ "name": "libs/dsound/dsmath.c", "index": 570, "status": "MISSING" },
{ "name": "libs/dsound/dspdma.c", "index": 571, "status": "MISSING" },
{ "name": "libs/dsound/cipher.c", "index": 572, "status": "MISSING" },
{ "name": "libs/dsound/epdsp.c", "index": 573, "status": "MISSING" },
{ "name": "libs/dsound/gpdsp.c", "index": 574, "status": "MISSING" },
{ "name": "libs/dsound/heap.c", "index": 575, "status": "MISSING" },
{ "name": "libs/dsound/mcpapu.c", "index": 576, "status": "MISSING" },
{ "name": "libs/dsound/mcpbuf.c", "index": 577, "status": "MISSING" },
{ "name": "libs/dsound/mcpstrm.c", "index": 578, "status": "MISSING" },
{ "name": "libs/dsound/mcpvoice.c", "index": 579, "status": "MISSING" },
{ "name": "libs/dsound/mcpxcore.c", "index": 580, "status": "MISSING" },
{ "name": "libs/dsound/sensaura.c", "index": 581, "status": "MISSING" },
{ "name": "libs/dsound/ac97.c", "index": 582, "status": "MISSING" }
]
},
{
"name": "d3dx8",
"guid": "{04CD5FBB-9F86-4312-B5F2-D688301CA90C}",
"objects": [
{ "name": "libs/d3dx8/pchmath.c", "index": 2, "status": "MISSING" },
{ "name": "libs/d3dx8/pchcore.c", "index": 3, "status": "MISSING" },
{ "name": "libs/d3dx8/d3dxmath.c", "index": 561, "status": "MISSING" },
{ "name": "libs/d3dx8/cd3dxrendertoenvmap.c", "index": 562, "status": "MISSING" },
{ "name": "libs/d3dx8/cd3dxrendertosurface.c", "index": 563, "status": "MISSING" },
{ "name": "libs/d3dx8/cd3dxsprite.c", "index": 564, "status": "MISSING" },
{ "name": "libs/d3dx8/d3dx8core.c", "index": 565, "status": "MISSING" },
{ "name": "libs/d3dx8/init.c", "index": 566, "status": "MISSING" }
]
},
{
"name": "d3d8",
"guid": "{A324F36C-F636-4B5F-B71E-132A221DBB16}",
"objects": [
{ "name": "libs/d3d8/precomp.c", "index": 4, "status": "MISSING" },
{ "name": "libs/d3d8/block.c", "index": 533, "status": "MISSING" },
{ "name": "libs/d3d8/buffer.c", "index": 534, "status": "MISSING" },
{ "name": "libs/d3d8/clear.c", "index": 535, "status": "MISSING" },
{ "name": "libs/d3d8/combiner.c", "index": 536, "status": "MISSING" },
{ "name": "libs/d3d8/d3dbase.c", "index": 537, "status": "MISSING" },
{ "name": "libs/d3d8/d3ddev.c", "index": 538, "status": "MISSING" },
{ "name": "libs/d3d8/drawprim.c", "index": 539, "status": "MISSING" },
{ "name": "libs/d3d8/dxgcreate.c", "index": 540, "status": "MISSING" },
{ "name": "libs/d3d8/enum.c", "index": 541, "status": "MISSING" },
{ "name": "libs/d3d8/floatmath.c", "index": 542, "status": "MISSING" },
{ "name": "libs/d3d8/globals.c", "index": 543, "status": "MISSING" },
{ "name": "libs/d3d8/lazy.c", "index": 544, "status": "MISSING" },
{ "name": "libs/d3d8/math.c", "index": 545, "status": "MISSING" },
{ "name": "libs/d3d8/memory.c", "index": 546, "status": "MISSING" },
{ "name": "libs/d3d8/mpcore.c", "index": 547, "status": "MISSING" },
{ "name": "libs/d3d8/mpdac.c", "index": 548, "status": "MISSING" },
{ "name": "libs/d3d8/mphal.c", "index": 549, "status": "MISSING" },
{ "name": "libs/d3d8/mpintr.c", "index": 550, "status": "MISSING" },
{ "name": "libs/d3d8/mpmode.c", "index": 551, "status": "MISSING" },
{ "name": "libs/d3d8/pixeljar.c", "index": 552, "status": "MISSING" },
{ "name": "libs/d3d8/present.c", "index": 553, "status": "MISSING" },
{ "name": "libs/d3d8/pshader.c", "index": 554, "status": "MISSING" },
{ "name": "libs/d3d8/pusher.c", "index": 555, "status": "MISSING" },
{ "name": "libs/d3d8/resource.c", "index": 556, "status": "MISSING" },
{ "name": "libs/d3d8/state.c", "index": 557, "status": "MISSING" },
{ "name": "libs/d3d8/surface.c", "index": 558, "status": "MISSING" },
{ "name": "libs/d3d8/texture.c", "index": 559, "status": "MISSING" },
{ "name": "libs/d3d8/vshader.c", "index": 560, "status": "MISSING" }
]
},
{
"name": "xapilib",
"guid": "{E64DA248-F5E3-4AC2-A026-281DC4EA8314}",
"objects": [
{ "name": "libs/xapilib/xapiatls.c", "index": 473, "status": "MISSING" },
{ "name": "libs/xapilib/xapiinit.c", "index": 474, "status": "MISSING" },
{ "name": "libs/xapilib/xapi0.c", "index": 475, "status": "MISSING" },
{ "name": "libs/xapilib/xapi0dat.c", "index": 476, "status": "MISSING" },
{ "name": "libs/xapilib/xapitls.c", "index": 477, "status": "MISSING" },
{ "name": "libs/xapilib/usbdev.c", "index": 478, "status": "MISSING" },
{ "name": "libs/xapilib/tree.c", "index": 479, "status": "MISSING" },
{ "name": "libs/xapilib/usbinit.c", "index": 480, "status": "MISSING" },
{ "name": "libs/xapilib/usbd.c", "index": 481, "status": "MISSING" },
{ "name": "libs/xapilib/xid.c", "index": 482, "status": "MISSING" },
{ "name": "libs/xapilib/typeinfo.c", "index": 483, "status": "MISSING" },
{ "name": "libs/xapilib/xidinp.c", "index": 484, "status": "MISSING" },
{ "name": "libs/xapilib/hub.c", "index": 485, "status": "MISSING" },
{ "name": "libs/xapilib/mrb.c", "index": 486, "status": "MISSING" },
{ "name": "libs/xapilib/disk.c", "index": 487, "status": "MISSING" },
{ "name": "libs/xapilib/mu.c", "index": 488, "status": "MISSING" },
{ "name": "libs/xapilib/isoch.c", "index": 489, "status": "MISSING" },
{ "name": "libs/xapilib/roothub.c", "index": 490, "status": "MISSING" },
{ "name": "libs/xapilib/transfer.c", "index": 491, "status": "MISSING" },
{ "name": "libs/xapilib/schedule.c", "index": 492, "status": "MISSING" },
{ "name": "libs/xapilib/isr.c", "index": 493, "status": "MISSING" },
{ "name": "libs/xapilib/ohcd.c", "index": 494, "status": "MISSING" },
{ "name": "libs/xapilib/pool.c", "index": 495, "status": "MISSING" },
{ "name": "libs/xapilib/devsys.c", "index": 496, "status": "MISSING" },
{ "name": "libs/xapilib/unknwn_i.c", "index": 497, "status": "MISSING" },
{ "name": "libs/xapilib/xcalcsig.c", "index": 498, "status": "MISSING" },
{ "name": "libs/xapilib/xvalue.c", "index": 499, "status": "MISSING" },
{ "name": "libs/xapilib/xsaveapi.c", "index": 500, "status": "MISSING" },
{ "name": "libs/xapilib/xpp.c", "index": 501, "status": "MISSING" },
{ "name": "libs/xapilib/xemodule.c", "index": 502, "status": "MISSING" },
{ "name": "libs/xapilib/xclndrv.c", "index": 503, "status": "MISSING" },
{ "name": "libs/xapilib/xapiheap.c", "index": 504, "status": "MISSING" },
{ "name": "libs/xapilib/widechar.c", "index": 505, "status": "MISSING" },
{ "name": "libs/xapilib/virtual.c", "index": 506, "status": "MISSING" },
{ "name": "libs/xapilib/thread.c", "index": 507, "status": "MISSING" },
{ "name": "libs/xapilib/synch.c", "index": 508, "status": "MISSING" },
{ "name": "libs/xapilib/support.c", "index": 509, "status": "MISSING" },
{ "name": "libs/xapilib/powerdwn.c", "index": 510, "status": "MISSING" },
{ "name": "libs/xapilib/physical.c", "index": 511, "status": "MISSING" },
{ "name": "libs/xapilib/perfctr.c", "index": 512, "status": "MISSING" },
{ "name": "libs/xapilib/pathmisc.c", "index": 513, "status": "MISSING" },
{ "name": "libs/xapilib/nickname.c", "index": 514, "status": "MISSING" },
{ "name": "libs/xapilib/lcompata.c", "index": 515, "status": "MISSING" },
{ "name": "libs/xapilib/lcompat.c", "index": 516, "status": "MISSING" },
{ "name": "libs/xapilib/launch.c", "index": 517, "status": "MISSING" },
{ "name": "libs/xapilib/kthunks.c", "index": 518, "status": "MISSING" },
{ "name": "libs/xapilib/handle.c", "index": 519, "status": "MISSING" },
{ "name": "libs/xapilib/format.c", "index": 520, "status": "MISSING" },
{ "name": "libs/xapilib/fileopcr.c", "index": 521, "status": "MISSING" },
{ "name": "libs/xapilib/filemisc.c", "index": 522, "status": "MISSING" },
{ "name": "libs/xapilib/filefind.c", "index": 523, "status": "MISSING" },
{ "name": "libs/xapilib/filehops.c", "index": 524, "status": "MISSING" },
{ "name": "libs/xapilib/error.c", "index": 525, "status": "MISSING" },
{ "name": "libs/xapilib/dir.c", "index": 526, "status": "MISSING" },
{ "name": "libs/xapilib/debug.c", "index": 527, "status": "MISSING" },
{ "name": "libs/xapilib/datetime.c", "index": 528, "status": "MISSING" },
{ "name": "libs/xapilib/compstra.c", "index": 529, "status": "MISSING" },
{ "name": "libs/xapilib/compstr.c", "index": 530, "status": "MISSING" },
{ "name": "libs/xapilib/heap.c", "index": 531, "status": "MISSING" },
{ "name": "libs/xapilib/bitmapa.c", "index": 532, "status": "MISSING" }
]
}
]
}
+22457
View File
File diff suppressed because it is too large. Load diff
+113827
View File
File diff suppressed because it is too large. Load diff
+68
View File
@@ -0,0 +1,68 @@
[
{ "file_offset": 1536, "name" : ".text" },
{ "file_offset": 1926336, "name" : "D3D" },
{ "file_offset": 2005192, "name" : "D3D_RD" },
{ "file_offset": 2011016, "name" : "D3D_RW" },
{ "file_offset": 2011136, "name" : "D3D_URW" },
{ "file_offset": 2024576, "name" : "D3DX" },
{ "file_offset": 2044112, "name" : "D3DX_RD" },
{ "file_offset": 2044320, "name" : "DSOUND" },
{ "file_offset": 2092088, "name" : "DSOUND_RD" },
{ "file_offset": 2171408, "name" : "DSOUND_RW" },
{ "file_offset": 2173056, "name" : "DSOUND_URW" },
{ "file_offset": 2173248, "name" : "XNET" },
{ "file_offset": 2218120, "name" : "XNET_RD" },
{ "file_offset": 2218496, "name" : "BINK" },
{ "file_offset": 2308672, "name" : "BINK32" },
{ "file_offset": 2313408, "name" : "BINK32A" },
{ "file_offset": 2318912, "name" : "BINK16" },
{ "file_offset": 2323808, "name" : "BINK4444" },
{ "file_offset": 2329344, "name" : "BINK5551" },
{ "file_offset": 2333760, "name" : "BINK16MX" },
{ "file_offset": 2334080, "name" : "BINK16X2" },
{ "file_offset": 2335456, "name" : "BINK16M" },
{ "file_offset": 2335968, "name" : "BINK32MX" },
{ "file_offset": 2336416, "name" : "BINK32X2" },
{ "file_offset": 2337856, "name" : "BINK32M" },
{ "file_offset": 2338208, "name" : ".XPP$ClassA" },
{ "file_offset": 2338212, "name" : ".XPP$ClassHub" },
{ "file_offset": 2338216, "name" : ".XPP$ClassMU" },
{ "file_offset": 2338220, "name" : ".XPP$ClassXID" },
{ "file_offset": 2338228, "name" : ".XPP$ClassZ" },
{ "file_offset": 2338232, "name" : ".XPP$Data" },
{ "file_offset": 2338948, "name" : ".XPPCINIT" },
{ "file_offset": 2342115, "name" : ".XPPCODE" },
{ "file_offset": 2370500, "name" : ".XPPRDATA" },
{ "file_offset": 2370592, "name" : ".idata$5" },
{ "file_offset": 2371276, "name" : ".rdata" },
{ "file_offset": 2845216, "name" : ".rdata$debug" },
{ "file_offset": 2845312, "name" : ".CRT$RIA" },
{ "file_offset": 2845316, "name" : ".CRT$RII10" },
{ "file_offset": 2845320, "name" : ".CRT$RII20" },
{ "file_offset": 2845324, "name" : ".CRT$RIZ" },
{ "file_offset": 2845328, "name" : ".CRT$XCA" },
{ "file_offset": 2845332, "name" : ".CRT$XCU" },
{ "file_offset": 2845340, "name" : ".CRT$XCZ" },
{ "file_offset": 2845344, "name" : ".CRT$XIA" },
{ "file_offset": 2845348, "name" : ".CRT$XIC" },
{ "file_offset": 2845356, "name" : ".CRT$XIZ" },
{ "file_offset": 2845360, "name" : ".CRT$XPA" },
{ "file_offset": 2845364, "name" : ".CRT$XPX" },
{ "file_offset": 2845368, "name" : ".CRT$XPZ" },
{ "file_offset": 2845372, "name" : ".CRT$XTA" },
{ "file_offset": 2845376, "name" : ".CRT$XTZ" },
{ "file_offset": 2845392, "name" : ".data" },
{ "file_offset": 3251360, "name" : ".bss" },
{ "file_offset": 6401024, "name" : "DOLBY" },
{ "file_offset": 6429088, "name" : "BINKDATA" },
{ "file_offset": 6446080, "name" : ".idata$2" },
{ "file_offset": 6446120, "name" : ".idata$3" },
{ "file_offset": 6446140, "name" : ".idata$4" },
{ "file_offset": 6446824, "name" : ".idata$6" },
{ "file_offset": 6446848, "name" : ".tls" },
{ "file_offset": 6446852, "name" : ".tls$" },
{ "file_offset": 6446860, "name" : ".tls$ZZZ" },
{ "file_offset": 6446880, "name" : ".XBLD" },
{ "file_offset": 6446896, "name" : ".XBLD$A" },
{ "file_offset": 6446912, "name" : ".XBLD$V" }
]
+23087
View File
File diff suppressed because it is too large. Load diff
+140
View File
@@ -0,0 +1,140 @@
#!/usr/bin/env python3
# root build script
import argparse
import json
from pathlib import Path
from typing import (
IO,
Any,
Callable,
Dict,
Iterable,
List,
Optional,
Set,
Tuple,
TypedDict,
Union,
cast,
)
from tools.project_x86 import (
Object,
ObjectStatus,
ProjectConfig,
SolutionConfig,
calculate_progress,
generate_build,
)
import os
# arguments
parser = argparse.ArgumentParser()
parser.add_argument(
"mode",
choices=["configure", "progress"],
default="configure",
help="script mode (default: configure)",
nargs="?",
)
parser.add_argument(
"--objdiff",
metavar="BINARY",
type=Path,
help="path to objdiff-cli binary (optional)",
)
parser.add_argument(
"--csplit",
metavar="BINARY",
type=Path,
help="path to csplit binary (optional)",
)
parser.add_argument(
"--ninja",
metavar="BINARY",
type=Path,
help="path to ninja binary (optional)",
)
args = parser.parse_args()
# path setup
build_dir = Path("build")
config_dir = Path("config")
config_json_path = config_dir / "config.json"
project_dir = Path("projects")
tools_dir = Path("tools")
# build config json
class BuildConfigObject(TypedDict):
name: str
index: int
status: str
options: Dict[str, Any]
class BuildConfigProject(TypedDict):
name: str
guid: str
objects: List[BuildConfigObject]
options: Dict[str, Any]
class BuildConfig(TypedDict):
name: str
guid: str
baserom: str
projects: List[BuildConfigProject]
build_config: BuildConfig = json.load(open(config_json_path, "r", encoding="utf-8"))
# solution configuration
sln = SolutionConfig()
sln.build_dir = build_dir
sln.config_dir = config_dir
sln.project_dir = project_dir
sln.tools_dir = tools_dir
sln.name = build_config["name"]
sln.guid = build_config["guid"]
sln.baserom = build_config["baserom"]
# Apply arguments
sln.objdiff_path = args.objdiff
sln.csplit_path = args.csplit
sln.ninja_path = args.ninja
# Tool versions
sln.objdiff_tag = "v3.3.1"
sln.csplit_tag = "v0.0.1"
sln.projects = []
for build_project in build_config["projects"]:
project = ProjectConfig(**build_project.get("options", {}))
project.name = build_project["name"]
project.guid = build_project["guid"]
project.objects = []
for build_object in build_project["objects"]:
def get_object_completed(status: str) -> ObjectStatus:
if status == "MISSING":
return ObjectStatus.Missing
elif status == "Matching":
return ObjectStatus.Matching
elif status == "NonMatching":
return ObjectStatus.NonMatching
assert False, f"Invalid object status {status}"
project.objects.append(Object(get_object_completed(build_object["status"]), Path(build_object["name"]), **build_object.get("options", {})))
sln.projects.append(project)
# build file generation
if args.mode == "configure":
# Write build.ninja and objdiff.json
generate_build(sln)
elif args.mode == "progress":
# Print progress information
calculate_progress(sln)
else:
sys.exit("Unknown mode: " + args.mode)
+62
View File
@@ -0,0 +1,62 @@
[*.{c,c++,cc,cpp,cxx,h,h++,hh,hpp,hxx,inl,ipp,tlh,tli}]
cpp_indent_braces = false
cpp_indent_multi_line_relative_to = statement_begin
cpp_indent_within_parentheses = indent
cpp_indent_preserve_within_parentheses = true
cpp_indent_case_contents = true
cpp_indent_case_labels = false
cpp_indent_case_contents_when_block = false
cpp_indent_lambda_braces_when_parameter = false
cpp_indent_goto_labels = one_left
cpp_indent_preprocessor = none
cpp_indent_access_specifiers = true
cpp_indent_namespace_contents = false
cpp_indent_preserve_comments = true
cpp_new_line_before_open_brace_namespace = true
cpp_new_line_before_open_brace_type = true
cpp_new_line_before_open_brace_function = true
cpp_new_line_before_open_brace_block = true
cpp_new_line_before_open_brace_lambda = true
cpp_new_line_scope_braces_on_separate_lines = true
cpp_new_line_close_brace_same_line_empty_type = true
cpp_new_line_close_brace_same_line_empty_function = true
cpp_new_line_before_catch = true
cpp_new_line_before_else = true
cpp_new_line_before_while_in_do_while = true
cpp_space_before_function_open_parenthesis = remove
cpp_space_within_parameter_list_parentheses = false
cpp_space_between_empty_parameter_list_parentheses = false
cpp_space_after_keywords_in_control_flow_statements = true
cpp_space_within_control_flow_statement_parentheses = false
cpp_space_before_lambda_open_parenthesis = false
cpp_space_within_cast_parentheses = false
cpp_space_after_cast_close_parenthesis = false
cpp_space_within_expression_parentheses = false
cpp_space_before_block_open_brace = true
cpp_space_between_empty_braces = false
cpp_space_before_initializer_list_open_brace = true
cpp_space_within_initializer_list_braces = false
cpp_space_preserve_in_initializer_list = true
cpp_space_before_open_square_bracket = false
cpp_space_within_square_brackets = false
cpp_space_before_empty_square_brackets = true
cpp_space_between_empty_square_brackets = false
cpp_space_group_square_brackets = true
cpp_space_within_lambda_brackets = false
cpp_space_between_empty_lambda_brackets = false
cpp_space_before_comma = false
cpp_space_after_comma = true
cpp_space_remove_around_member_operators = true
cpp_space_before_inheritance_colon = true
cpp_space_before_constructor_colon = true
cpp_space_remove_before_semicolon = true
cpp_space_after_semicolon = true
cpp_space_remove_around_unary_operator = true
cpp_space_around_binary_operator = ignore
cpp_space_around_assignment_operator = ignore
cpp_space_pointer_reference_alignment = right
cpp_space_around_ternary_operator = ignore
indent_style = tab
indent_size = 4
end_of_line = crlf
insert_final_newline = true
+57
View File
@@ -0,0 +1,57 @@
/*
ACTION_ALERT.C
symbols in this file:
00000600 0080:
_action_alert_setup (0000)
00000680 0010:
_action_alert_begin (0000)
00000690 0050:
_action_alert_control (0000)
000006E0 0030:
_action_alert_flush_position_indices (0000)
00000710 0030:
_action_alert_flush_structure_indices (0000)
00000740 0030:
_vector_from_points3d (0000)
00000770 0030:
_magnitude_squared3d (0000)
000007A0 0040:
_distance_squared3d (0000)
000007E0 0020:
_real_random_range (0000)
00000800 0150:
_action_alert_update (0000)
00000950 0310:
_code_00000950 (0000)
00000C60 0260:
_action_alert_perform (0000)
00242EEC 000b:
??_C@_0L@ILHIFHGP@state_data?$AA@ (0000)
00242EF8 0021:
??_C@_0CB@JGDDPGCE@c?3?2halo?2SOURCE?2ai?2action_alert?4c@ (0000)
00242F1C 0004:
__real@3e800000 (0000)
00242F20 0013:
??_C@_0BD@KDCHGMEK@?$CBactor?9?$DOmeta?4swarm?$AA@ (0000)
00242F34 0004:
__real@41f00000 (0000)
00242F38 0004:
__real@3f000000 (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+35
View File
@@ -0,0 +1,35 @@
/*
ACTION_AVOID.C
symbols in this file:
00000EC0 0040:
_action_avoid_setup (0000)
00000F00 0010:
_action_avoid_begin (0000)
00000F10 0010:
_action_avoid_end (0000)
00000F20 00c0:
_action_avoid_perform (0000)
00000FE0 0010:
_action_avoid_update (0000)
00000FF0 0090:
_action_avoid_control (0000)
00242F3C 0021:
??_C@_0CB@LDCPOHMO@c?3?2halo?2SOURCE?2ai?2action_avoid?4c@ (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+95
View File
@@ -0,0 +1,95 @@
/*
ACTION_CHARGE.C
symbols in this file:
00001080 0050:
_action_charge_begin (0000)
000010D0 0110:
_code_000010d0 (0000)
000011E0 0050:
_action_charge_update (0000)
00001230 0220:
_action_charge_control (0000)
00001450 0050:
_action_charge_is_leaping (0000)
000014A0 0010:
_square_root (0000)
000014B0 0020:
_scale_vector2d (0000)
000014D0 0020:
_magnitude_squared2d (0000)
000014F0 0020:
_magnitude2d (0000)
00001510 0050:
_normalize2d (0000)
00001560 0020:
_dot_product2d (0000)
00001580 0030:
_point_from_line3d (0000)
000015B0 0030:
_scale_vector3d (0000)
000015E0 0030:
_magnitude3d (0000)
00001610 0060:
_normalize3d (0000)
00001670 0020:
_dot_product3d (0000)
00001690 0030:
_subtract_vectors3d (0000)
000016C0 0010:
_real_random (0000)
000016D0 0050:
_collision_test_line (0000)
00001720 0cb0:
_action_charge_perform (0000)
000023D0 0120:
_code_000023d0 (0000)
000024F0 03b0:
_action_charge_setup (0000)
00242F60 0004:
__real@00000000 (0000)
00242F64 0004:
__real@3f333333 (0000)
00242F68 0004:
__real@3f800000 (0000)
00242F70 0008:
__real@3f1a36e2e0000000 (0000)
00242F78 0004:
__real@40800000 (0000)
00242F7C 0004:
__real@3f5db3d7 (0000)
00242F80 0004:
__real@3cbf258c (0000)
00242F84 0004:
__real@3e99999a (0000)
00242F88 0004:
__real@3d4ccccd (0000)
00242F8C 0004:
__real@3fc00000 (0000)
00242F90 0004:
__real@3f4ccccd (0000)
00242F94 0022:
??_C@_0CC@DPKBMBNB@c?3?2halo?2SOURCE?2ai?2action_charge?4@ (0000)
00242FB8 0028:
??_C@_0CI@OJMAHDFE@global_current_collision_user_de@ (0000)
00242FE0 0049:
??_C@_0EJ@EEKGOMEC@global_current_collision_user_de@ (0000)
0024302C 0030:
??_C@_0DA@BMPMGKCG@actor?5?$CFs?5melee?5animation?5has?5no?5@ (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+41
View File
@@ -0,0 +1,41 @@
/*
ACTION_CONVERSE.C
symbols in this file:
000028A0 00b0:
_action_converse_setup (0000)
00002950 0010:
_action_converse_begin (0000)
00002960 0100:
_action_converse_perform (0000)
00002A60 0020:
_action_converse_update (0000)
00002A80 0090:
_action_converse_control (0000)
00002B10 0030:
_action_converse_replace_prop (0000)
00002B40 0080:
_actor_conversation_control (0000)
00002BC0 0030:
_actor_conversation_end (0000)
00002BF0 0030:
_action_converse_end (0000)
0024305C 0024:
??_C@_0CE@NNMIMHKJ@c?3?2halo?2SOURCE?2ai?2action_convers@ (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+35
View File
@@ -0,0 +1,35 @@
/*
ACTION_FIGHT.C
symbols in this file:
00002C20 0040:
_action_fight_setup (0000)
00002C60 0010:
_action_fight_begin (0000)
00002C70 0010:
_action_fight_end (0000)
00002C80 0070:
_action_fight_update (0000)
00002CF0 0080:
_action_fight_control (0000)
00002D70 03d0:
_action_fight_perform (0000)
00243080 0021:
??_C@_0CB@KJFGPOLC@c?3?2halo?2SOURCE?2ai?2action_fight?4c@ (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+55
View File
@@ -0,0 +1,55 @@
/*
ACTION_FLEE.C
symbols in this file:
00003140 0030:
_action_flee_end (0000)
00003170 0030:
_action_flee_flush_position_indices (0000)
000031A0 0070:
_action_flee_modify_color (0000)
00003210 0280:
_code_00003210 (0000)
00003490 0160:
_code_00003490 (0000)
000035F0 0030:
_action_flee_replace_prop (0000)
00003620 0020:
_action_flee_blind_panic (0000)
00003640 0110:
_action_flee_setup (0000)
00003750 0060:
_action_flee_begin (0000)
000037B0 00a0:
_action_flee_update (0000)
00003850 0190:
_action_flee_control (0000)
000039E0 0140:
_code_000039e0 (0000)
00003B20 0360:
_action_flee_perform (0000)
002430A4 0020:
??_C@_0CA@MCHAFBCO@c?3?2halo?2SOURCE?2ai?2action_flee?4c?$AA@ (0000)
002430C4 0004:
__real@3ecccccd (0000)
002430C8 00d8:
??_C@_0NI@KCCMPDJP@?$CI?$CBactor?9?$DOmeta?4timeslice?5?$CG?$CG?5state@ (0000)
002431A0 0037:
??_C@_0DH@GFKJLMEI@actor?9?$DOfiring_positions?4current_@ (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+61
View File
@@ -0,0 +1,61 @@
/*
ACTION_GUARD.C
symbols in this file:
00003E80 0080:
_action_guard_setup_current_position (0000)
00003F00 00d0:
_action_guard_setup_find_position (0000)
00003FD0 0160:
_action_guard_setup_postcombat (0000)
00004130 0040:
_action_guard_begin (0000)
00004170 0040:
_action_guard_end (0000)
000041B0 0140:
_code_000041b0 (0000)
000042F0 01d0:
_action_guard_update (0000)
000044C0 0080:
_action_guard_flush_position_indices (0000)
00004540 0030:
_action_guard_flush_structure_indices (0000)
00004570 00a0:
_action_guard_modify_color (0000)
00004610 0050:
_action_guard_replace_prop (0000)
00004660 01c0:
_action_guard_setup_from_combat_transition (0000)
00004820 01c0:
_action_guard_setup_from_fleeing (0000)
000049E0 01c0:
_action_guard_perform (0000)
00004BA0 03d0:
_action_guard_control (0000)
002431D8 0021:
??_C@_0CB@GJJCDDDH@c?3?2halo?2SOURCE?2ai?2action_guard?4c@ (0000)
002431FC 0018:
??_C@_0BI@NGADMAPA@state_data?9?$DOpost_combat?$AA@ (0000)
00243214 0034:
??_C@_0DE@PILBLNDH@actor?9?$DOstimuli?4combat_transition@ (0000)
00243248 0021:
??_C@_0CB@CNNLKLII@actor?9?$DOstimuli?4combat_transition@ (0000)
0024326C 0004:
__real@41100000 (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+261
View File
@@ -0,0 +1,261 @@
/*
ACTION_OBEY.C
symbols in this file:
00004F70 0040:
_code_00004f70 (0000)
00004FB0 0230:
_code_00004fb0 (0000)
000051E0 0070:
_code_000051e0 (0000)
00005250 0040:
_code_00005250 (0000)
00005290 0050:
_code_00005290 (0000)
000052E0 0020:
_code_000052e0 (0000)
00005300 0050:
_code_00005300 (0000)
00005350 0130:
_code_00005350 (0000)
00005480 0180:
_action_obey_command_list_setup (0000)
00005600 0070:
_action_obey_flush_command_indices (0000)
00005670 0030:
_action_obey_flush_structure_indices (0000)
000056A0 0030:
_action_obey_advance_command_list (0000)
000056D0 0030:
_action_obey_begin (0000)
00005700 0030:
_action_obey_end (0000)
00005730 0790:
_action_obey_describe_command (0000)
00005EC0 0020:
_vector_from_points2d (0000)
00005EE0 0040:
_cross_product3d (0000)
00005F20 0030:
_negate_vector3d (0000)
00005F50 0020:
_random_range (0000)
00005F70 0150:
_code_00005f70 (0000)
000060C0 10e0:
_code_000060c0 (0000)
000071A0 0580:
_code_000071a0 (0000)
00007720 0120:
_code_00007720 (0000)
00007840 0050:
_code_00007840 (0000)
00007890 0030:
_action_obey_update (0000)
000078C0 00c0:
_action_obey_perform (0000)
00007980 03e0:
_action_obey_control (0000)
00243270 003c:
??_C@_0DM@JNBLNJLG@?$CFs?3?5command?5list?5?$CFs?5is?5stuck?5loo@ (0000)
002432AC 0036:
??_C@_0DG@FLEHDLBK@?$CFs?3?5command?5list?5?$CFs?5entry?5?$CD?$CFd?5tr@ (0000)
002432E4 0014:
??_C@_0BE@EJBCJKCJ@targeting_reference?$AA@ (0000)
002432F8 0020:
??_C@_0CA@HHCNJNKK@c?3?2halo?2SOURCE?2ai?2action_obey?4c?$AA@ (0000)
00243318 003e:
??_C@_0DO@JCOPLIPB@?$CBactor?9?$DOmeta?4swarm?5?$HM?$HM?5?$CIactor?9?$DOme@ (0000)
00243358 0034:
??_C@_0DE@LLDIJCBD@wrong?5structure?5bsp?0?5cannot?5exec@ (0000)
00243390 0044:
??_C@_0EE@KEBHPAE@swarm?5actor?5?$CFs?5cannot?5execute?5co@ (0000)
002433D4 000d:
??_C@_0N@CEGJDJND@?$DMunknown?5?$CFd?$DO?$AA@ (0000)
002433E4 0004:
??_C@_03DFHDCPPK@die?$AA@ (0000)
002433E8 0014:
??_C@_0BE@OLHBIEN@teleport?5to?5?$CIp?$CFd?$CJ?$CFs?$AA@ (0000)
002433FC 0013:
??_C@_0BD@OIBANJLL@?5and?5face?5at?5?$CIp?$CFd?$CJ?$AA@ (0000)
0024340F 0001:
??_C@_00CNPNBAHC@?$AA@ (0000)
00243410 0010:
??_C@_0BA@MGBBCPDG@set?5radius?5?$CF?42f?$AA@ (0000)
00243420 000f:
??_C@_0P@KENFEEEA@loop?5to?5?$CD?$CFd?5?$CFs?$AA@ (0000)
00243430 0012:
??_C@_0BC@OEJHODGH@loop?5to?5?$DMnone?$DO?5?$CFs?$AA@ (0000)
00243444 001b:
??_C@_0BL@DGGHLGE@only?5until?5told?5to?5advance?$AA@ (0000)
00243460 0007:
??_C@_06KHDOHNKC@always?$AA@ (0000)
00243468 0008:
??_C@_07KIIGOGND@wait?5?$CFs?$AA@ (0000)
00243470 0016:
??_C@_0BG@LEMJPAIB@until?5told?5to?5advance?$AA@ (0000)
00243488 0014:
??_C@_0BE@DKOCLLMJ@until?5visible?5enemy?$AA@ (0000)
0024349C 000e:
??_C@_0O@NBMOMCME@until?5alerted?$AA@ (0000)
002434AC 000e:
??_C@_0O@EFALGMLH@initiative?5?$CFs?$AA@ (0000)
002434BC 000a:
??_C@_09DEIMKGFJ@action?5?$CFs?$AA@ (0000)
002434C8 000f:
??_C@_0P@OKJMMNMD@vehicle?9scared?$AA@ (0000)
002434D8 000f:
??_C@_0P@HOGHMCM@vehicle?9woohoo?$AA@ (0000)
002434E8 000b:
??_C@_0L@JFPBJIOJ@dive?9right?$AA@ (0000)
002434F4 000a:
??_C@_09GLAJHPNM@dive?9left?$AA@ (0000)
00243500 000a:
??_C@_09JAMKJKJP@dive?9back?$AA@ (0000)
0024350C 0009:
??_C@_08HHGPGIIN@dive?9fwd?$AA@ (0000)
00243518 000c:
??_C@_0M@FCCJKDHL@evade?9right?$AA@ (0000)
00243524 000b:
??_C@_0L@GEJKFJKH@evade?9left?$AA@ (0000)
00243530 000e:
??_C@_0O@MHCNGAHE@surprise?9back?$AA@ (0000)
00243540 000f:
??_C@_0P@OMDAPGKA@surprise?9front?$AA@ (0000)
00243550 0008:
??_C@_07PEIBNLKE@berserk?$AA@ (0000)
00243558 000d:
??_C@_0N@PMOONPD@targeting?5?$CFs?$AA@ (0000)
00243568 000c:
??_C@_0M@FBODOLG@vocalize?5?$CFs?$AA@ (0000)
00243574 0012:
??_C@_0BC@JABMHOI@play?5recording?5?$CFs?$AA@ (0000)
00243588 000b:
??_C@_0L@HCEEAAG@animate?5?$CFs?$AA@ (0000)
00243594 000d:
??_C@_0N@EHHELJPO@script?5?$CFs?5?$CFs?$AA@ (0000)
002435A4 0005:
??_C@_04OKGDLNCL@NONE?$AA@ (0000)
002435AC 0012:
??_C@_0BC@EGIAGBFJ@wake?9and?9continue?$AA@ (0000)
002435C0 0010:
??_C@_0BA@GMMPCDLM@wait?9for?9finish?$AA@ (0000)
002435D0 001d:
??_C@_0BN@CPMBOFMF@targeted?5jump?5?$CI?$CF?42fh?0?5?$CF?42fv?$CJ?$AA@ (0000)
002435F0 000d:
??_C@_0N@MHAJODEH@running?5jump?$AA@ (0000)
00243600 0023:
??_C@_0CD@CFLDIMMG@enter?5vehicle?5as?5?$CFs?5if?5within?5?$CF?4@ (0000)
00243624 0009:
??_C@_08OFIBMPOE@any?9seat?$AA@ (0000)
00243630 0007:
??_C@_06NCODBMHO@driver?$AA@ (0000)
00243638 000a:
??_C@_09NFKEFBPD@passenger?$AA@ (0000)
00243644 0007:
??_C@_06NJIDJFDL@gunner?$AA@ (0000)
0024364C 000f:
??_C@_0P@ELLMOHEN@any?9non?9driver?$AA@ (0000)
0024365C 0017:
??_C@_0BH@JKPBBGH@throw?5grenade?5at?5?$CIp?$CFd?$CJ?$AA@ (0000)
00243674 0018:
??_C@_0BI@CFJADMHA@shoot?5at?5?$CIp?$CFd?$CJ?5for?5?$CF?41f?$AA@ (0000)
0024368C 000a:
??_C@_09PCOPMOEK@crouch?5?$CFs?$AA@ (0000)
00243698 0007:
??_C@_06OFNJOBDK@enable?$AA@ (0000)
002436A0 0008:
??_C@_07DBNODEFN@disable?$AA@ (0000)
002436A8 0012:
??_C@_0BC@MGCAJCHA@animation?5mode?5?$CFs?$AA@ (0000)
002436BC 0006:
??_C@_05DDGCEFJL@panic?$AA@ (0000)
002436C4 0007:
??_C@_06NDKEFKOH@combat?$AA@ (0000)
002436CC 0007:
??_C@_06PDPNPFPP@asleep?$AA@ (0000)
002436D4 000a:
??_C@_09CENHCFNA@noncombat?$AA@ (0000)
002436E0 0017:
??_C@_0BH@IPOBIPFB@look?5?$CFs?5at?5?$CFs?5for?5?$CF?41f?$AA@ (0000)
002436F8 0008:
??_C@_07CBDMFKJF@?$DMerror?$DO?$AA@ (0000)
00243700 001b:
??_C@_0BL@FFKOOMBE@look?5?$CFs?5at?5player?5for?5?$CF?41f?$AA@ (0000)
0024371C 0031:
??_C@_0DB@IOOLPGJB@look?5?$CFs?5at?5random?5one?5of?5?$CIp?$CFd?9p?$CF@ (0000)
00243750 001a:
??_C@_0BK@IEJFKCKH@look?5?$CFs?5at?5?$CIp?$CFd?$CJ?5for?5?$CF?41f?$AA@ (0000)
0024376C 0015:
??_C@_0BF@IFMPJNE@move?5?$CFs?5for?5?$CF?41f?5sec?$AA@ (0000)
00243784 0021:
??_C@_0CB@IFAAGCMK@move?5?$CFs?5towards?5?$CIp?$CFd?$CJ?0?5dist?5?$CF?42f@ (0000)
002437A8 0024:
??_C@_0CE@PMEAGMOK@move?5?$CFs?5along?5angle?5?$CF?41f?0?5dist?5?$CF@ (0000)
002437CC 000b:
??_C@_0L@CPPIDKFP@any?9facing?$AA@ (0000)
002437D8 000a:
??_C@_09GNCFCLDO@backwards?$AA@ (0000)
002437E4 0006:
??_C@_05DHJDAOHK@right?$AA@ (0000)
002437EC 0005:
??_C@_04GOOOJOPP@left?$AA@ (0000)
002437F4 0009:
??_C@_08HMDMCCDA@forwards?$AA@ (0000)
00243800 001b:
??_C@_0BL@OJAEMMNB@go?5to?5?$CIp?$CFd?$CJ?5and?5face?5?$CIp?$CFd?$CJ?$AA@ (0000)
0024381C 000f:
??_C@_0P@POPHLLEH@go?5to?5?$CIp?$CFd?$CJ?5?$CFs?$AA@ (0000)
0024382C 000c:
??_C@_0M@PMIIAAGB@keep_moving?$AA@ (0000)
00243838 000e:
??_C@_0O@MHBHOGCE@stop_at_point?$AA@ (0000)
00243848 000b:
??_C@_0L@ENHEDOMM@pause?5?$CF?41f?$AA@ (0000)
00243854 0012:
??_C@_0BC@PPCIDFNG@forced?5aim?5weapon?$AA@ (0000)
00243868 0014:
??_C@_0BE@MMENGNPN@forced?5exact?5facing?$AA@ (0000)
0024387C 0014:
??_C@_0BE@HLOJAFEL@idle?5look?5with?5head?$AA@ (0000)
00243890 0011:
??_C@_0BB@CNNKGAPI@idle?5turn?5around?$AA@ (0000)
002438A4 0010:
??_C@_0BA@HMGFJNDM@idle?5aim?5weapon?$AA@ (0000)
002438B4 0011:
??_C@_0BB@FOMPEOPI@?$CFs?3?5?$CFs?5?$CD?$CFd?$CFs?3?5?$CFs?$AA@ (0000)
002438C8 0008:
??_C@_07OGBBMDNN@?5FAILED?$AA@ (0000)
002438D0 0006:
??_C@_05GFOLEBJA@?$CFs?1?$CFs?$AA@ (0000)
002438D8 000f:
??_C@_0P@MPLGIMAD@?$DMno?5encounter?$DO?$AA@ (0000)
002438E8 0004:
__real@3d888889 (0000)
002438EC 0004:
__real@3c8efa35 (0000)
002438F0 0004:
__real@43b40000 (0000)
002438F4 0004:
__real@3f7be76d (0000)
002438F8 0036:
??_C@_0DG@HCPHDADC@current_command?9?$DOatom_type?5?$DN?$DN?5_a@ (0000)
00243930 0013:
??_C@_0BD@NEGHAILN@finished_reference?$AA@ (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+47
View File
@@ -0,0 +1,47 @@
/*
ACTION_SEARCH.C
symbols in this file:
00007D60 0080:
_action_search_setup_target (0000)
00007DE0 0100:
_action_search_setup_pursuit (0000)
00007EE0 0070:
_action_search_setup_undirected (0000)
00007F50 0180:
_action_search_update (0000)
000080D0 0030:
_action_search_flush_position_indices (0000)
00008100 0030:
_action_search_flush_structure_indices (0000)
00008130 0150:
_action_search_control (0000)
00008280 0090:
_action_search_begin (0000)
00008310 0350:
_action_search_perform (0000)
00243944 0022:
??_C@_0CC@PIOOIGM@c?3?2halo?2SOURCE?2ai?2action_search?4@ (0000)
00243968 0004:
__real@3f23d70b (0000)
0024396C 0004:
__real@40c80000 (0000)
00243970 0004:
__real@3efae147 (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+23
View File
@@ -0,0 +1,23 @@
/*
ACTION_SLEEP.C
symbols in this file:
00008660 0030:
_action_sleep_control (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+65
View File
@@ -0,0 +1,65 @@
/*
ACTION_UNCOVER.C
symbols in this file:
00008690 0080:
_action_uncover_setup_target (0000)
00008710 0100:
_action_uncover_setup_pursuit (0000)
00008810 0220:
_action_uncover_perform (0000)
00008A30 0170:
_action_uncover_control (0000)
00008BA0 0040:
_action_uncover_flush_position_indices (0000)
00008BE0 0030:
_action_uncover_flush_structure_indices (0000)
00008C10 0070:
_action_uncover_modify_color (0000)
00008C80 0170:
_action_uncover_begin (0000)
00008DF0 0300:
_action_uncover_update (0000)
00243974 0023:
??_C@_0CD@JDKOHGAG@c?3?2halo?2SOURCE?2ai?2action_uncover@ (0000)
00243998 001f:
??_C@_0BP@OBLNFFDC@?$CFs?3?5inspected?5pursuit?5location?$AA@ (0000)
002439B8 002c:
??_C@_0CM@LCAMJHJC@?$CFs?3?5unable?5to?5see?5target?8s?5curre@ (0000)
002439E4 003f:
??_C@_0DP@GAIEIMO@?$CFs?3?5begin?5?$CFs?5uncover?5for?5?$FL?$CF?41f?9?$CF@ (0000)
00243A24 0008:
??_C@_07CAPBGEKM@pursuit?$AA@ (0000)
00243A2C 0007:
??_C@_06JJLAMBGK@target?$AA@ (0000)
00243A34 0003:
??_C@_02KJPKMKHP@un?$AA@ (0000)
00243A38 0018:
??_C@_0BI@BFILOAJJ@?$CFs?3?5?$CFs?5uncover?5done?3?5?$CFs?$AA@ (0000)
00243A50 0011:
??_C@_0BB@ENJADHAD@?$DMunknown?5reason?$DO?$AA@ (0000)
00243A64 0013:
??_C@_0BD@JCBIAAGA@location?5inspected?$AA@ (0000)
00243A78 0014:
??_C@_0BE@IODJBFGE@persistent?5timer?5?$CFd?$AA@ (0000)
00243A8C 0012:
??_C@_0BC@IFLKCKAJ@timer?5?$CFd?5finished?$AA@ (0000)
00243AA0 0004:
__real@42c80000 (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+83
View File
@@ -0,0 +1,83 @@
/*
ACTION_VEHICLE.C
symbols in this file:
000090F0 0090:
_object_get_bounding_sphere (0000)
00009180 0050:
_action_vehicle_begin (0000)
000091D0 0010:
_action_vehicle_update (0000)
000091E0 0030:
_action_vehicle_flush_structure_indices (0000)
00009210 00b0:
_action_vehicle_control (0000)
000092C0 0030:
_point_from_line2d (0000)
000092F0 0030:
_distance_squared2d (0000)
00009320 0030:
_distance2d (0000)
00009350 0020:
_negate_vector2d (0000)
00009370 0040:
_distance3d (0000)
000093B0 0110:
_code_000093b0 (0000)
000094C0 03d0:
_code_000094c0 (0000)
00009890 04d0:
_code_00009890 (0000)
00009D60 0150:
_action_vehicle_setup_specific (0000)
00009EB0 0300:
_action_vehicle_perform (0000)
0000A1B0 0130:
_code_0000a1b0 (0000)
0000A2E0 01d0:
_action_vehicle_setup_impromptu (0000)
00243AA4 0007:
??_C@_06KGHINEPG@radius?$AA@ (0000)
00243AAC 0007:
??_C@_06BBLOAEEI@center?$AA@ (0000)
00243AB4 0015:
??_C@_0BF@EIEPJPCC@?4?4?2objects?2objects?4h?$AA@ (0000)
00243ACC 0004:
__real@3991a2b4 (0000)
00243AD0 0004:
__real@40600000 (0000)
00243AD4 0004:
__real@41200000 (0000)
00243AD8 0004:
__real@3f8ccccd (0000)
00243ADC 0004:
__real@3f19999a (0000)
00243AE0 0004:
__real@40000000 (0000)
00243AE4 0004:
__real@38d1b717 (0000)
00243AE8 0004:
__real@3f99999a (0000)
00243AEC 0004:
__real@3dfae147 (0000)
00243AF0 0023:
??_C@_0CD@FHLDOEML@c?3?2halo?2SOURCE?2ai?2action_vehicle@ (0000)
00243B14 0004:
__real@41c80000 (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+35
View File
@@ -0,0 +1,35 @@
/*
ACTION_WAIT.C
symbols in this file:
0000A4B0 0010:
_action_wait_begin (0000)
0000A4C0 0180:
_action_wait_perform (0000)
0000A640 00b0:
_action_wait_control (0000)
0000A6F0 00b0:
_action_wait_setup (0000)
0000A7A0 00e0:
_action_wait_update (0000)
00243B18 0004:
__real@41000000 (0000)
00243B1C 0020:
??_C@_0CA@JCBCAIHB@c?3?2halo?2SOURCE?2ai?2action_wait?4c?$AA@ (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+242
View File
@@ -0,0 +1,242 @@
/*
ACTIONS.C
symbols in this file:
0000A880 0090:
_encounter_get_squad (0000)
0000A910 0070:
_actor_action_perform (0000)
0000A980 0070:
_actor_action_update (0000)
0000A9F0 0070:
_actor_action_control (0000)
0000AA60 0070:
_actor_action_replace_prop (0000)
0000AAD0 0070:
_actor_action_flush_position_indices (0000)
0000AB40 0070:
_actor_action_flush_structure_indices (0000)
0000ABB0 00c0:
_actor_action_handle_panic_from_surprise (0000)
0000AC70 00f0:
_actor_action_handle_panic_from_damage (0000)
0000AD60 00a0:
_actor_action_handle_panic_from_burning_to_death (0000)
0000AE00 0090:
_actor_action_handle_panic_from_attached_projectiles (0000)
0000AE90 0050:
_actor_action_handle_panic_from_attached_melee_attackers (0000)
0000AEE0 0070:
_actor_action_handle_berserking_from_attacking_mode (0000)
0000AF50 00c0:
_actor_action_handle_berserking_from_proximity (0000)
0000B010 0090:
_actor_action_handle_berserking_from_damage (0000)
0000B0A0 00a0:
_actor_action_deny_transition (0000)
0000B140 0040:
_code_0000b140 (0000)
0000B180 0150:
_actor_action_handle_vehicle_exit (0000)
0000B2D0 00e0:
_actor_action_allow_cover_seeking (0000)
0000B3B0 0170:
_code_0000b3b0 (0000)
0000B520 0090:
_actor_action_can_stop_guarding (0000)
0000B5B0 0090:
_actor_action_can_stop_conversing (0000)
0000B640 0150:
_actor_action_change (0000)
0000B790 01d0:
_actor_action_test_grenade (0000)
0000B960 0070:
_actor_action_try_to_seek_cover (0000)
0000B9D0 0060:
_actor_action_try_to_panic (0000)
0000BA30 00d0:
_actor_action_try_to_enter_vehicle (0000)
0000BB00 0040:
_actor_get_pursuit_location (0000)
0000BB40 0090:
_code_0000bb40 (0000)
0000BBD0 0030:
_actor_action_name (0000)
0000BC00 0030:
_actor_mode_name (0000)
0000BC30 00b0:
_actor_action_debug_color (0000)
0000BCE0 0060:
_actor_action_class (0000)
0000BD40 0030:
_actor_action_get_default_state (0000)
0000BD70 0020:
_set_real_vector2d (0000)
0000BD90 0020:
_set_real_vector3d (0000)
0000BDB0 0020:
_point_to_line_distance3d (0000)
0000BDD0 02f0:
_actor_action_set_default_state (0000)
0000C0C0 0040:
_actor_action_handle_initial_action (0000)
0000C100 00a0:
_actor_action_handle_pending_command_list (0000)
0000C1A0 01b0:
_actor_action_handle_surprise (0000)
0000C350 0160:
_actor_action_handle_panic_transition (0000)
0000C4B0 0100:
_actor_action_handle_berserking_from_attached_projectiles (0000)
0000C5B0 03c0:
_actor_action_handle_vehicle_entry (0000)
0000C970 03a0:
_code_0000c970 (0000)
0000CD10 01a0:
_actor_action_handle_active_cover_seeking (0000)
0000CEB0 06f0:
_actor_action_handle_combat_selection (0000)
0000D5A0 0750:
_actor_action_handle_lost_contact (0000)
0000DCF0 0090:
_actor_action_handle_done_fleeing (0000)
0000DD80 01b0:
_actor_action_handle_combat_status (0000)
0000DF30 0080:
_actor_action_handle_combat_failure (0000)
0000DFB0 00c0:
_actor_action_handle_exit_pursuit (0000)
0000E070 0120:
_actor_action_try_to_throw_grenade (0000)
0000E190 0120:
_actor_action_consider_grenade (0000)
0000E2B0 01d0:
_actor_action_try_to_evade (0000)
0000E480 02d0:
_actor_action_try_to_dive (0000)
0000E750 0140:
_actors_searching_same_position (0000)
0000E890 01f0:
_actor_pursuit_find_nearby_actors (0000)
0000EA80 0080:
_actor_action_handle_berserk_transition (0000)
0000EB00 00b0:
_actor_action_handle_combat_transition (0000)
0000EBB0 00d0:
_actor_action_handle_grenade_throwing (0000)
0000EC80 0320:
_actor_action_handle_evasion (0000)
0000EFA0 05f0:
_actor_action_handle_danger_avoidance (0000)
00243B40 0378:
_global_action_functions (0000)
_global_dive_animation_table (0310)
_global_state_move_position_orders (0348)
_global_default_states (0360)
00243EB8 0006:
??_C@_05NONFCOJF@avoid?$AA@ (0000)
00243EC0 0009:
??_C@_08KNPIOEIC@converse?$AA@ (0000)
00243ECC 0005:
??_C@_04DHBBMIC@obey?$AA@ (0000)
00243ED4 0007:
??_C@_06MBMIPGD@charge?$AA@ (0000)
00243EDC 0008:
??_C@_07CJDNLGID@vehicle?$AA@ (0000)
00243EE4 0005:
??_C@_04PNOAOIAG@wait?$AA@ (0000)
00243EEC 0007:
??_C@_06GFPLNGOC@search?$AA@ (0000)
00243EF4 0006:
??_C@_05LPIAIMPK@guard?$AA@ (0000)
00243EFC 0008:
??_C@_07CNKHPIEN@uncover?$AA@ (0000)
00243F04 0005:
??_C@_04IMJFEJN@flee?$AA@ (0000)
00243F0C 0006:
??_C@_05KPNEEOPH@fight?$AA@ (0000)
00243F14 0006:
??_C@_05MBIJBPBC@alert?$AA@ (0000)
00243F1C 0006:
??_C@_05PCJCMMHD@sleep?$AA@ (0000)
00243F24 0005:
??_C@_04CGFJFPFD@none?$AA@ (0000)
00243F30 0047:
??_C@_0EH@CGNGLHPB@squad_absolute_index?$DO?$DN0?5?$CG?$CG?5squad@ (0000)
00243F78 0061:
??_C@_0GB@EMHNKODG@squad_index?$DO?$DN0?5?$CG?$CG?5squad_index?$DMMA@ (0000)
00243FDC 001f:
??_C@_0BP@NJNCCKKA@c?3?2halo?2source?2ai?2encounters?4h?$AA@ (0000)
00244000 004e:
??_C@_0EO@IKFFOKNJ@?$CIactor?9?$DOstate?4action?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIa@ (0000)
00244050 001c:
??_C@_0BM@GPCMGMOB@c?3?2halo?2SOURCE?2ai?2actions?4c?$AA@ (0000)
00244070 0054:
??_C@_0FE@KHFDCMPI@?$CIactor?9?$DOstimuli?4panic_type?5?$DN?$DN?50?$CJ@ (0000)
002440C4 0028:
??_C@_0CI@KJFLMANP@actor?9?$DOtarget?4target_prop_index?5@ (0000)
002440EC 002b:
??_C@_0CL@GADKCBCF@actor?9?$DOstate?4action?5?$DN?$DN?5_actor_ac@ (0000)
00244118 0043:
??_C@_0ED@CKGDDGIN@global_action_functions?$FLnew_acti@ (0000)
00244160 0046:
??_C@_0EG@OMPPNNLA@?$CInew_action_type?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CInew_a@ (0000)
002441A8 0008:
??_C@_07CIFAGBMG@unknown?$AA@ (0000)
002441B0 002e:
??_C@_0CO@OBMELGHJ@actor?9?$DOstimuli?4panic_prop_index?5@ (0000)
002441E0 0004:
__real@40c00000 (0000)
002441E4 0004:
__real@40400000 (0000)
002441E8 0056:
??_C@_0FG@OAJOJGLC@escape_direction_reference?5?$CG?$CG?5es@ (0000)
00244240 0004:
__real@be99999a (0000)
00244244 0004:
__real@3d088889 (0000)
00244248 0039:
??_C@_0DJ@MMBFFLAI@actor?9?$DOdanger_zone?4danger_type?5?$DO@ (0000)
00244284 002b:
??_C@_0CL@HAGOODCI@actor?9?$DOstate?4action?5?$DN?$DN?5_actor_ac@ (0000)
002442B0 00a6:
??_C@_0KG@MODGEEMN@?$CBactor?9?$DOstate?4action_data?4charge@ (0000)
00244358 0033:
??_C@_0DD@BHCNCEDG@?$CBactor?9?$DOstate?4action_data?4charge@ (0000)
0024438C 002c:
??_C@_0CM@BKKPPKIL@actor?9?$DOstate?4action?5?$DN?$DN?5_actor_ac@ (0000)
002443B8 0008:
??_C@_07IPNMCAN@success?$AA@ (0000)
002443C0 0046:
??_C@_0EG@EGFAACLG@handled?5?$HM?$HM?5?$CIactor_action_class?$CIa@ (0000)
00244408 000a:
??_C@_09FGCFOJPF@encounter?$AA@ (0000)
00244414 0025:
??_C@_0CF@BPNEOJLI@evade_direction?5?$DN?$DN?5_actor_evade_@ (0000)
00244440 0052:
??_C@_0FC@DABHPCKC@?$CIpossibility?9?$DOanimation_directio@ (0000)
00244494 0004:
__real@40e00000 (0000)
00244498 0004:
__real@42340000 (0000)
0024449C 0004:
__real@7f7fffff (0000)
002B6AD0 0010:
_global_actor_mode_names (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+141
View File
@@ -0,0 +1,141 @@
/*
ACTOR_COMBAT.C
symbols in this file:
0000F590 0090:
_code_0000f590 (0000)
0000F620 0030:
_actor_combat_fire_wildly (0000)
0000F650 0040:
_actor_combat_disable_bursts (0000)
0000F690 0030:
_actor_firing_blindly (0000)
0000F6C0 0040:
_actor_combat_currently_firing_burst (0000)
0000F700 0040:
_actor_get_weapon_definition (0000)
0000F740 00c0:
_code_0000f740 (0000)
0000F800 0080:
_actor_combat_get_firing_variant_definition (0000)
0000F880 00a0:
_code_0000f880 (0000)
0000F920 0040:
_code_0000f920 (0000)
0000F960 0020:
_fast_ftol (0000)
0000F980 0010:
_sine (0000)
0000F990 0010:
_cosine (0000)
0000F9A0 0010:
_tangent (0000)
0000F9B0 0020:
_cross_product2d (0000)
0000F9D0 0030:
_add_vectors3d (0000)
0000FA00 0020:
_random_boolean (0000)
0000FA20 0020:
_valid_real (0000)
0000FA40 0160:
_code_0000fa40 (0000)
0000FBA0 00b0:
_code_0000fba0 (0000)
0000FC50 00d0:
_code_0000fc50 (0000)
0000FD20 01c0:
_code_0000fd20 (0000)
0000FEE0 0110:
_code_0000fee0 (0000)
0000FFF0 0100:
_actor_combat_find_grenade_target (0000)
000100F0 0370:
_actor_combat_check_collateral_damage (0000)
00010460 0120:
_actor_combat_plan_grenade_trajectory (0000)
00010580 0040:
_valid_realcmp (0000)
000105C0 0060:
_valid_real_normal3d (0000)
00010620 00b0:
_code_00010620 (0000)
000106D0 02d0:
_actor_aim_projectile (0000)
000109A0 07b0:
_code_000109a0 (0000)
00011150 0060:
_code_00011150 (0000)
000111B0 0220:
_actor_aim_grenade (0000)
000113D0 1240:
_actor_combat_update (0000)
002444A0 000e:
??_C@_0O@HEGILGAC@weapon_vector?$AA@ (0000)
002444B0 0021:
??_C@_0CB@NKOAMEKE@c?3?2halo?2SOURCE?2ai?2actor_combat?4c@ (0000)
002444D4 0035:
??_C@_0DF@COLBENAC@burst_geometry_reference?5?$CG?$CG?5firi@ (0000)
0024450C 0004:
__real@3dcccccd (0000)
00244510 0004:
__real@3fd9999a (0000)
00244514 0016:
??_C@_0BG@ODFAEBCF@projectile_definition?$AA@ (0000)
00244530 0042:
??_C@_0EC@CDIDOCJH@grenade_origin?5?$CG?$CG?5desired_impact@ (0000)
00244574 0004:
__real@3e4ccccd (0000)
00244578 0008:
__real@3f50624de0000000 (0000)
00244580 0043:
??_C@_0ED@MKICAFGB@actor?9?$DOcontrol?4current_fire_targ@ (0000)
002445C4 002b:
??_C@_0CL@GJIEKICC@?$CFs?3?5assert_valid_real_normal3d?$CI?$CF@ (0000)
002445F0 0007:
??_C@_06NBFPPGEG@vector?$AA@ (0000)
002445F8 0004:
__real@3f490fdb (0000)
002445FC 003b:
??_C@_0DL@NNPMKEAI@?$CFs?3?5proj?5?$CF?41f?5rof?5?$CF?41f?5dmg?1s?5?$CF?41@ (0000)
00244638 0020:
??_C@_0CA@FHOKFHD@?$CFs?3?5manual?5damage?5modifier?5?$CF?42f?$AA@ (0000)
00244658 0010:
??_C@_0BA@FHPPJCFM@?$CGnew_aim_vector?$AA@ (0000)
00244668 0021:
??_C@_0CB@CPANGHMG@?$CGactor?9?$DOcontrol?4burst_aim_vector@ (0000)
0024468C 000f:
??_C@_0P@DBEDAMI@aiming_success?$AA@ (0000)
0024469C 0012:
??_C@_0BC@CHLPMLFC@?$CBhold_burst_start?$AA@ (0000)
002446B0 0025:
??_C@_0CF@EHKIDLPJ@new_state?$CB?$DNactor?9?$DOcontrol?4fire_s@ (0000)
002446D8 0018:
??_C@_0BI@MMOBPCCM@firing_decision?5?$DN?$DN?5NONE?$AA@ (0000)
002446F0 0004:
__real@3f3504f3 (0000)
002446F4 0004:
__real@3e3377ed (0000)
002446F8 004b:
??_C@_0EL@FHBLJBEG@actor?9?$DOcontrol?4current_fire_targ@ (0000)
00244744 0015:
??_C@_0BF@GLLAMKHP@weapon_index?5?$CB?$DN?5NONE?$AA@ (0000)
0024475C 0036:
??_C@_0DG@EHGBJHNC@actor?9?$DOcontrol?4current_fire_targ@ (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+5
View File
@@ -0,0 +1,5 @@
/*
ACTOR_DEFINITIONS.C
no symbols in this file.
*/
+165
View File
@@ -0,0 +1,165 @@
/*
ACTOR_FIRING_POSITION.C
symbols in this file:
00012610 0050:
_code_00012610 (0000)
00012660 0010:
_code_00012660 (0000)
00012670 00d0:
_code_00012670 (0000)
00012740 0240:
_code_00012740 (0000)
00012980 00e0:
_code_00012980 (0000)
00012A60 0180:
_code_00012a60 (0000)
00012BE0 00e0:
_code_00012be0 (0000)
00012CC0 00c0:
_code_00012cc0 (0000)
00012D80 00e0:
_code_00012d80 (0000)
00012E60 0040:
_code_00012e60 (0000)
00012EA0 0070:
_code_00012ea0 (0000)
00012F10 0050:
_code_00012f10 (0000)
00012F60 0110:
_code_00012f60 (0000)
00013070 0120:
_actor_get_firing_position_group (0000)
00013190 0060:
_actor_clear_discarded_firing_positions (0000)
000131F0 00c0:
_actor_discard_firing_position (0000)
000132B0 0050:
_actor_firing_position_discarded (0000)
00013300 0650:
_code_00013300 (0000)
00013950 01d0:
_code_00013950 (0000)
00013B20 0290:
_code_00013b20 (0000)
00013DB0 01d0:
_code_00013db0 (0000)
00013F80 0090:
_code_00013f80 (0000)
00014010 0210:
_actor_nearby_firing_positions (0000)
00014220 1480:
_actor_select_firing_position (0000)
000156A0 0240:
_actor_active_select_firing_position (0000)
000158E0 0140:
_actor_change_firing_position (0000)
00015A20 0460:
_code_00015a20 (0000)
00244794 0068:
_global_pre_evaluator_table (0000)
_global_post_evaluator_table (0038)
002447FC 002e:
??_C@_0CO@CPIODGNI@?$CIevaluation?5?$DO?$DN?50?40f?$CJ?5?$CG?$CG?5?$CIevaluat@ (0000)
0024482C 002a:
??_C@_0CK@HINGLJIA@c?3?2halo?2SOURCE?2ai?2actor_firing_p@ (0000)
00244858 0004:
__real@447a0000 (0000)
0024485C 0004:
__real@41080000 (0000)
00244860 0004:
__real@41700000 (0000)
00244864 0004:
__real@40a00000 (0000)
00244868 0004:
__real@41400000 (0000)
0024486C 0004:
__real@40f00000 (0000)
00244870 0004:
__real@41a00000 (0000)
00244874 0020:
??_C@_0CA@KIJFLGCC@firing_position?9?$DOvalid?5?$DN?$DN?5valid?$AA@ (0000)
00244898 0048:
??_C@_0EI@IDDMBEDB@?$CIindex2?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIindex2?5?$DM?5globa@ (0000)
002448E0 0048:
??_C@_0EI@BDJPJEGE@?$CIindex1?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIindex1?5?$DM?5globa@ (0000)
00244928 002c:
??_C@_0CM@BJJOKNGI@global_temporary_sort_firing_pos@ (0000)
00244954 003b:
??_C@_0DL@JAGLMMAN@?$CIindex?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIindex?5?$DM?5NUMBER_@ (0000)
00244990 0004:
__real@42dfec4b (0000)
00244994 0004:
__real@c1700000 (0000)
00244998 0004:
__real@42800000 (0000)
0024499C 0004:
__real@3be38e39 (0000)
002449A0 0004:
__real@44610000 (0000)
002449A4 0004:
__real@40200000 (0000)
002449A8 0060:
??_C@_0GA@KIPPIIL@?$CIactor?9?$DOdanger_zone?4danger_type?5@ (0000)
00244A08 0004:
__real@3fb504f3 (0000)
00244A0C 0004:
__real@40555555 (0000)
00244A10 0004:
__real@42440000 (0000)
00244A14 0004:
__real@41800000 (0000)
00244A18 001f:
??_C@_0BP@KIOMHHMP@evaluation_context?9?$DOhas_target?$AA@ (0000)
00244A38 0052:
??_C@_0FC@JPOFKNDC@?$CItest_surface_index?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIte@ (0000)
00244A90 005b:
??_C@_0FL@LHFKPKFO@fp?9eval?5?$CFs?3?5encounter?5?$CF3d?5consid@ (0000)
00244AEC 0007:
??_C@_06GFDMOFFM@pursue?$AA@ (0000)
00244AF4 0006:
??_C@_05MGHOCOML@cover?$AA@ (0000)
00244AFC 0015:
??_C@_0BF@JGHAJKFH@?$CBexpected_to_discard?$AA@ (0000)
00244B14 001a:
??_C@_0BK@FJCPIFLD@firing_position_count?5?$DO?50?$AA@ (0000)
00244B30 0004:
__real@43c80000 (0000)
00244B34 0035:
??_C@_0DF@NLMOLOFE@encounter?5?$CFs?5has?5too?5many?5firing@ (0000)
00244B6C 0016:
??_C@_0BG@HHMJFCBB@area_path_state_valid?$AA@ (0000)
00244B84 0004:
__real@42a00000 (0000)
00244B88 0020:
??_C@_0CA@EEMPDNKJ@?$CBactor?9?$DOinput?4vehicle_passenger?$AA@ (0000)
00244BA8 0046:
??_C@_0EG@KOFLIKBB@?$CItotal_groups?5?$CG?5currently_allowe@ (0000)
00244BF0 001e:
??_C@_0BO@EAEPOCDN@actor_index?5?$CB?$DN?5previous_owner?$AA@ (0000)
00244C10 0024:
??_C@_0CE@DHIELLBI@actor?9?$DOmeta?4encounter_index?5?$CB?$DN?5N@ (0000)
00244C34 0004:
__real@41440000 (0000)
00244C38 0039:
??_C@_0DJ@OIJCIDAH@?$CGevaluation_context?9?$DOattack_vect@ (0000)
00319CA0 0008:
_global_temporary_sort_firing_position_count (0000)
_global_temporary_sort_firing_position_array (0004)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+180
View File
@@ -0,0 +1,180 @@
/*
ACTOR_LOOKING.C
symbols in this file:
00015E80 0070:
_actor_look_secondary_stop (0000)
00015EF0 0130:
_actor_look_compute_prop_interest (0000)
00016020 0050:
_code_00016020 (0000)
00016070 0370:
_actor_look_secondary (0000)
000163E0 0080:
_code_000163e0 (0000)
00016460 00f0:
_code_00016460 (0000)
00016550 00b0:
_actor_looking_test_validity (0000)
00016600 0260:
_code_00016600 (0000)
00016860 0160:
_code_00016860 (0000)
000169C0 0260:
_code_000169c0 (0000)
00016C20 0050:
_valid_real_normal2d (0000)
00016C70 0660:
_code_00016c70 (0000)
000172D0 0210:
_code_000172d0 (0000)
000174E0 0170:
_code_000174e0 (0000)
00017650 1270:
_actor_look_update (0000)
000188C0 0080:
_actor_look_affect_movement (0000)
00244C74 0070:
_global_secondary_look_priorities (0000)
_global_secondary_look_times (0038)
00244CE4 000e:
??_C@_0O@FNONJPCB@?$CFs?3?5look?9stop?$AA@ (0000)
00244CF4 0004:
__real@3fe66666 (0000)
00244CF8 0012:
??_C@_0BC@CBOPKOHG@?$CFs?3?5look?5?$CFs?5?$CFs?5?$CFd?$AA@ (0000)
00244D0C 0009:
??_C@_08IILCFMOF@scripted?$AA@ (0000)
00244D18 0007:
??_C@_06NCEIAKB@danger?$AA@ (0000)
00244D20 0007:
??_C@_06GJOIPFFF@damage?$AA@ (0000)
00244D28 000c:
??_C@_0M@KFECPMLC@combat?9prop?$AA@ (0000)
00244D34 000f:
??_C@_0P@HANCNCFH@comm?9direction?$AA@ (0000)
00244D44 000a:
??_C@_09OLJCJFBL@comm?9prop?$AA@ (0000)
00244D50 000e:
??_C@_0O@BOCADBDG@shooting?9prop?$AA@ (0000)
00244D60 0009:
??_C@_08NDPBJKMG@new?9prop?$AA@ (0000)
00244D6C 0007:
??_C@_06LDFNIMBB@impact?$AA@ (0000)
00244D74 000c:
??_C@_0M@JOHOFPJB@moving?9prop?$AA@ (0000)
00244D80 000c:
??_C@_0M@PINLHHEI@environment?$AA@ (0000)
00244D8C 0010:
??_C@_0BA@MGHLNDAM@override?9facing?$AA@ (0000)
00244D9C 0009:
??_C@_08PNBPAFID@override?$AA@ (0000)
00244DA8 000d:
??_C@_0N@OPBBNFGJ@stop?9and?9aim?$AA@ (0000)
00244DB8 000d:
??_C@_0N@FFMCKHMJ@turn?9and?9aim?$AA@ (0000)
00244DC8 0004:
??_C@_03MKHEFFMA@aim?$AA@ (0000)
00244DCC 0009:
??_C@_08IECGFEAB@idle?9aim?$AA@ (0000)
00244DD8 000a:
??_C@_09CPPFOLKN@idle?9look?$AA@ (0000)
00244DE4 0008:
??_C@_07DLHCIBDH@default?$AA@ (0000)
00244DEC 0037:
??_C@_0DH@BKMNBGNP@?$CItype?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CItype?5?$DM?5NUMBER_OF@ (0000)
00244E24 0022:
??_C@_0CC@OBFKKCBI@c?3?2halo?2SOURCE?2ai?2actor_looking?4@ (0000)
00244E48 0004:
__real@3ada740e (0000)
00244E50 0049:
??_C@_0EJ@PDHFHBNF@?$CFs?3?5logic?5error?5in?5actor?5looking@ (0000)
00244E9C 0008:
??_C@_07FJPMPBHO@looking?$AA@ (0000)
00244EA4 0007:
??_C@_06CPNACJHN@aiming?$AA@ (0000)
00244EAC 0007:
??_C@_06LJBECLPP@facing?$AA@ (0000)
00244EB4 000e:
??_C@_0O@LDGGHEKC@result_vector?$AA@ (0000)
00244EC4 0023:
??_C@_0CD@JLCDLMPD@denormalized?5?$CFf?3?5?$DMerror?$DO?5?$CItype?5?$CF@ (0000)
00244EE8 0021:
??_C@_0CB@ILCNAOOH@denormalized?5?$CFf?3?5object?5?$CI0x?$CF08X?$CJ@ (0000)
00244F0C 001f:
??_C@_0BP@JMCBPAFA@denormalized?5?$CFf?3?5danger?5?$CInone?$CJ?$AA@ (0000)
00244F2C 0023:
??_C@_0CD@BJDFLJJM@denormalized?5?$CFf?3?5danger?5?$CI?$CFf?5?$CFf?5?$CF@ (0000)
00244F50 0023:
??_C@_0CD@MPCIMEDM@denormalized?5?$CFf?3?5vector?5?$CI?$CFf?5?$CFf?5?$CF@ (0000)
00244F74 0022:
??_C@_0CC@KKBEICMF@denormalized?5?$CFf?3?5point?5?$CI?$CFf?5?$CFf?5?$CFf@ (0000)
00244F98 003a:
??_C@_0DK@KHHBJFIN@denormalized?5?$CFf?3?5prop?50x?$CF08X?$CFs?5?$CI@ (0000)
00244FD4 000b:
??_C@_0L@CGKLOAKK@?5?$CIinvalid?$CJ?$AA@ (0000)
00244FE0 001f:
??_C@_0BP@IAJLBFML@denormalized?5?$CFf?3?5target?5?$CInone?$CJ?$AA@ (0000)
00245000 0036:
??_C@_0DG@LJDBLOA@denormalized?5?$CFf?3?5target?5?$CIprop?50x@ (0000)
00245038 0042:
??_C@_0EC@ONEINDFA@denormalized?5?$CFf?3?5target?5type?5?$CFd?5@ (0000)
0024507C 003c:
??_C@_0DM@KFLCBPJA@denormalized?5?$CFf?3?5target?5type?5?$CFd?5@ (0000)
002450B8 0032:
??_C@_0DC@MBKOGPLI@denormalized?5?$CFf?3?5?$CFsmoving?5?$CIp?$CFf?5?$CF@ (0000)
002450EC 0005:
??_C@_04LKOGMCLF@not?5?$AA@ (0000)
002450F4 000a:
??_C@_09HPKLLIJF@direction?$AA@ (0000)
00245100 000e:
??_C@_0O@DNCJFFDC@specification?$AA@ (0000)
00245110 001e:
??_C@_0BO@ICLEICLJ@?$CGactor?9?$DOoutput?4looking_vector?$AA@ (0000)
00245130 001d:
??_C@_0BN@MLJELDAF@?$CGactor?9?$DOoutput?4aiming_vector?$AA@ (0000)
00245150 001d:
??_C@_0BN@BNGLBJLG@?$CGactor?9?$DOoutput?4facing_vector?$AA@ (0000)
00245170 0004:
__real@3f666666 (0000)
00245174 0027:
??_C@_0CH@MHPDGGDP@?$CFs?3?5assert_valid_real_normal2d?$CI?$CF@ (0000)
0024519C 002f:
??_C@_0CP@OAIIPIIE@?$CIreal_vector2d?5?$CK?$CJ?5?$CGactor?9?$DOoutput@ (0000)
002451CC 0013:
??_C@_0BD@CADKODCD@?$CGidle_minor_vector?$AA@ (0000)
002451E0 0024:
??_C@_0CE@LCIPMIDM@actor?9?$DOcontrol?4idle_minor_timer?5@ (0000)
00245204 0013:
??_C@_0BD@JGOPOGFP@?$CGidle_major_vector?$AA@ (0000)
00245218 004b:
??_C@_0EL@IKADNPKK@?$CBactor?9?$DOcontrol?4idle_major_activ@ (0000)
00245264 0016:
??_C@_0BG@GOAPBADG@?$CFs?3?5look?5timer?5expire?$AA@ (0000)
0024527C 0012:
??_C@_0BC@OJIPDKMD@?$CGsecondary_vector?$AA@ (0000)
00245290 0010:
??_C@_0BA@GFAAOIFJ@?$CGprimary_vector?$AA@ (0000)
002452A0 0027:
??_C@_0CH@JLLNHPPI@?$CGactor?9?$DOcontrol?4desired_looking_@ (0000)
002452C8 0026:
??_C@_0CG@KOFPIDJD@?$CGactor?9?$DOcontrol?4desired_aiming_v@ (0000)
002452F0 0026:
??_C@_0CG@HIKACJCA@?$CGactor?9?$DOcontrol?4desired_facing_v@ (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+219
View File
@@ -0,0 +1,219 @@
/*
ACTOR_MOVING.C
symbols in this file:
00018940 0030:
_actor_move_keep_moving_past_destination (0000)
00018970 0040:
_actor_move_animation_busy (0000)
000189B0 0030:
_actor_path_clear (0000)
000189E0 0020:
_actor_path_has_path (0000)
00018A00 0040:
_actor_path_at_destination (0000)
00018A40 0040:
_actor_path_get_destination_firing_position_index (0000)
00018A80 00c0:
_actor_path_input_new (0000)
00018B40 0010:
_arccosine (0000)
00018B50 0040:
_midpoint3d (0000)
00018B90 0090:
_actor_test_destination (0000)
00018C20 01d0:
_actor_get_stopping_distances (0000)
00018DF0 0080:
_actor_move_animation_impulse (0000)
00018E70 0090:
_actor_move_force_stop (0000)
00018F00 0250:
_actor_move_try_evasion_vector (0000)
00019150 01a0:
_actor_move_try_evasion_direction (0000)
000192F0 0100:
_actor_aim_jump (0000)
000193F0 0240:
_code_000193f0 (0000)
00019630 02f0:
_code_00019630 (0000)
00019920 00f0:
_code_00019920 (0000)
00019A10 0090:
_actor_move_transform_avoidance_vector (0000)
00019AA0 0140:
_actor_move_get_avoidance_direction (0000)
00019BE0 0150:
_actor_move_initialize (0000)
00019D30 0110:
_actor_path_3d_available (0000)
00019E40 0280:
_code_00019e40 (0000)
0001A0C0 02d0:
_code_0001a0c0 (0000)
0001A390 1030:
_code_0001a390 (0000)
0001B3C0 05a0:
_actor_path_refresh (0000)
0001B960 03d0:
_actor_destination_update (0000)
0001BD30 0130:
_actor_move_to_point (0000)
0001BE60 00b0:
_actor_move_to_move_position (0000)
0001BF10 00b0:
_actor_move_to_firing_position (0000)
0001BFC0 00f0:
_actor_move_to_prop (0000)
0001C0B0 0ac0:
_code_0001c0b0 (0000)
0001CB70 0c40:
_actor_move_update (0000)
0001D7B0 0090:
_actor_move_halt (0000)
0001D840 0080:
_actor_move_halt_at_firing_position (0000)
00245318 01e8:
_sense_ray_length (0000)
_sense_ray_offset (0004)
_sense_ray_divergence (0008)
_sense_ray_offsets (000c)
_sense_ray_divergences (0030)
_sense_ray_angles (0054)
_avoidance_ray_length (0078)
_avoidance_ray_angles (007c)
_avoidance_ray_offsets (009c)
_avoidance_ray_divergence (00a4)
_sense_ray_avoidance_weights (00b0)
_avoid_ray_avoidance_weights (01d0)
_avoid_ray_clear_bias_time (01d8)
_avoid_ray_adjacent_fractions (01dc)
_avoid_ray_fully_obstructed_t (01e4)
00245500 0004:
__real@3daaaaab (0000)
00245504 0004:
__real@bf000000 (0000)
00245508 0019:
??_C@_0BJ@MLAKEMMB@evasion_vector?5?$CG?$CG?5result?$AA@ (0000)
00245524 0021:
??_C@_0CB@NNMAEIGB@c?3?2halo?2SOURCE?2ai?2actor_moving?4c@ (0000)
00245548 0038:
??_C@_0DI@MLEEHIMI@alignment_vector?5?$CG?$CG?5evade_direct@ (0000)
00245580 000c:
??_C@_0M@LILBOJLP@collision_t?$AA@ (0000)
0024558C 001c:
??_C@_0BM@PBPJGODL@ray_origin?5?$CG?$CG?5ray_direction?$AA@ (0000)
002455A8 0020:
??_C@_0CA@DELIOAJE@avoidance_data?5?$CG?$CG?5avoidance_ray?$AA@ (0000)
002455C8 002a:
??_C@_0CK@ELKMJFEA@?$CIangle?5?$DO?$DN?50?40f?$CJ?5?$CG?$CG?5?$CIangle?5?$DM?5_ful@ (0000)
002455F4 0004:
__real@40c90fdb (0000)
002455F8 0054:
??_C@_0FE@HKFOPCHI@warning?3?5actor_move_get_avoidanc@ (0000)
0024564C 0016:
??_C@_0BG@BFFHAOOA@desired_facing_vector?$AA@ (0000)
00245664 0014:
??_C@_0BE@NFPBALFN@facing_direction?9?$DOk?$AA@ (0000)
00245678 0025:
??_C@_0CF@KDINJLFK@?$CFs?0?5?$CFs?3?5assert_valid_realcmp?$CI?$CFf?0@ (0000)
002456A0 0016:
??_C@_0BG@DNKOIPNK@movement_direction?9?$DOk?$AA@ (0000)
002456B8 0005:
??_C@_04MPNNEBNI@0?40f?$AA@ (0000)
002456C0 0023:
??_C@_0CD@NOAIDOJA@?$CIreal_vector2d?5?$CK?$CJ?5facing_directi@ (0000)
002456E4 0025:
??_C@_0CF@IPKJEDPE@?$CIreal_vector2d?5?$CK?$CJ?5movement_direc@ (0000)
0024570C 0011:
??_C@_0BB@CEGHPIDG@facing_direction?$AA@ (0000)
00245720 0013:
??_C@_0BD@FPDMFHB@movement_direction?$AA@ (0000)
00245734 0004:
__real@3f860a92 (0000)
00245738 0004:
__real@3f44ec4f (0000)
0024573C 0004:
__real@3fa66666 (0000)
00245740 0004:
__real@3b23d70b (0000)
00245744 0004:
__real@be4ccccd (0000)
00245748 0004:
__real@40200001 (0000)
00245750 0080:
??_C@_0IA@DPLAEGLA@?$CImovement_direction_approximatio@ (0000)
002457D0 0066:
??_C@_0GG@CIIOBGBO@?$CIbest_avoidance_direction?5?$DO?$DN?50?$CJ?5@ (0000)
00245838 0004:
__real@ff7fffff (0000)
0024583C 0004:
__real@41480000 (0000)
00245840 0004:
__real@3ca3d70a (0000)
00245844 0004:
__real@42960000 (0000)
00245848 0027:
??_C@_0CH@FHDECA@avoidance_rotation?5?$CG?$CG?5emergency_@ (0000)
00245870 004a:
??_C@_0EK@EPCHDGAN@actor?9?$DOcontrol?4path?4destination_@ (0000)
002458BC 0004:
__real@3c23d70b (0000)
002458C0 002e:
??_C@_0CO@CIMGKAKP@pathfinding?5is?5attempting?5to?5wal@ (0000)
002458F0 0004:
__real@49742400 (0000)
002458F4 002a:
??_C@_0CK@FMFBKFJI@?$CFs?3?5fell?5off?5end?5of?5unfinished?5p@ (0000)
00245920 000b:
??_C@_0L@DMJIGJL@final_step?$AA@ (0000)
0024592C 0004:
__real@3cb851ec (0000)
00245930 0004:
__real@3d800000 (0000)
00245934 000c:
??_C@_0M@BLMAJMLK@destination?$AA@ (0000)
00245940 0058:
??_C@_0FI@KHOOINPJ@?$CIfacing_direction?5?$DN?$DN?5_actor_faci@ (0000)
00245998 0021:
??_C@_0CB@CFOCDAMI@adjust?5angle?5?$CF?44f?5?9?$DO?5?$CF?44f?5?$CI?$CF?44f?$CJ@ (0000)
002459BC 001f:
??_C@_0BP@KEBEJPIO@steer?5?$CF?44f?5?9?5oversteer?5to?5?$CF?44f?$AA@ (0000)
002459DC 0029:
??_C@_0CJ@GAOIDHOG@steer?5?$CF?44f?5?$DM?5?$CF?44f?5?9?5clear?5overst@ (0000)
00245A08 000b:
??_C@_0L@KHLHAIBH@steer?5?$CF?44f?$AA@ (0000)
00245A14 0020:
??_C@_0CA@KJFKJOKH@steer?5?$CF?44f?5?$CIset?5oversteer?5?$CF?44f?$CJ?$AA@ (0000)
00245A34 0004:
__real@bf800000 (0000)
00245A38 0039:
??_C@_0DJ@NBFPGAMC@?$CImaximum_throttle?5?$DO?$DN?50?40f?$CJ?5?$CG?$CG?5?$CIm@ (0000)
00245A74 0004:
__real@3f733333 (0000)
00245A78 000f:
??_C@_0P@JJNKCIHG@?$CGfacing_vector?$AA@ (0000)
00245A88 000f:
??_C@_0P@NHABDOCD@?$CB?$CCunreachable?$CC?$AA@ (0000)
00245A98 0004:
__real@3a83126f (0000)
00245A9C 001c:
??_C@_0BM@IMMKLGND@?$CGactor?9?$DOinput?4facing_vector?$AA@ (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+262
View File
@@ -0,0 +1,262 @@
/*
ACTOR_PERCEPTION.C
symbols in this file:
0001D8C0 00d0:
_actor_perception_acknowledge (0000)
0001D990 00f0:
_actor_get_perception_knowledge (0000)
0001DA80 0140:
_actor_get_vision_distances (0000)
0001DBC0 0040:
_code_0001dbc0 (0000)
0001DC00 00f0:
_code_0001dc00 (0000)
0001DCF0 0230:
_actor_perception_desire_prop (0000)
0001DF20 00a0:
_actor_perception_find_prop_pathfinding_location (0000)
0001DFC0 00c0:
_actor_perception_find_killer_prop_index (0000)
0001E080 0010:
_arctangent (0000)
0001E090 00f0:
_actor_perception_find_recent_damaging_prop_index (0000)
0001E180 0050:
_actor_perception_forget_recent_damage (0000)
0001E1D0 0060:
_actor_perception_retreat_successful (0000)
0001E230 00f0:
_actor_compute_prop_unopposable (0000)
0001E320 03a0:
_actor_compute_prop_target_weight (0000)
0001E6C0 0200:
_actor_situation_update_target_status (0000)
0001E8C0 0140:
_actor_situation_combat_status_update (0000)
0001EA00 04f0:
_actor_situation_update (0000)
0001EEF0 00f0:
_actor_situation_try_new_target (0000)
0001EFE0 01b0:
_actor_perception_friend_prop_is_attacking (0000)
0001F190 0190:
_actor_perception_aiming_vector_test_blockage (0000)
0001F320 0150:
_actor_emotion_flee_with_friends (0000)
0001F470 0080:
_code_0001f470 (0000)
0001F4F0 0070:
_code_0001f4f0 (0000)
0001F560 04f0:
_code_0001f560 (0000)
0001FA50 00b0:
_actor_berserk (0000)
0001FB00 0360:
_actor_visibility_at_point (0000)
0001FE60 0240:
_actor_audibility_at_point (0000)
000200A0 0170:
_actor_perception_find_sense_position (0000)
00020210 01f0:
_code_00020210 (0000)
00020400 0380:
_prop_position_refresh (0000)
00020780 0210:
_code_00020780 (0000)
00020990 05c0:
_code_00020990 (0000)
00020F50 0180:
_actor_expected_acknowledgement (0000)
000210D0 0090:
_actor_perception_unreachable (0000)
00021160 0060:
_actor_perception_tried_to_uncover (0000)
000211C0 0060:
_actor_perception_tried_to_search (0000)
00021220 00a0:
_actor_perception_abandoned_search (0000)
000212C0 0680:
_actor_emotion_update (0000)
00021940 0110:
_actor_perception_become_acknowledged (0000)
00021A50 0e60:
_prop_status_refresh (0000)
000228B0 06d0:
_code_000228b0 (0000)
00022F80 0310:
_actor_perception_create_orphan_from_friend (0000)
00023290 0970:
_code_00023290 (0000)
00023C00 1270:
_actor_perception_update (0000)
00245AB8 0038:
_global_combat_status_table (0000)
_global_acknowledgement_speeds (0018)
00245AF0 0020:
??_C@_0CA@OIEKNKJL@prop?9?$DOorphan_prop_index?5?$DN?$DN?5NONE?$AA@ (0000)
00245B10 0018:
??_C@_0BI@EKGDDPPJ@prop_acknowledged?$CIprop?$CJ?$AA@ (0000)
00245B28 0027:
??_C@_0CH@HJCPLECH@prop?9?$DOowner_actor_index?5?$DN?$DN?5actor@ (0000)
00245B50 0025:
??_C@_0CF@BOOBPIOF@c?3?2halo?2SOURCE?2ai?2actor_percepti@ (0000)
00245B78 0004:
__real@42100000 (0000)
00245B7C 0004:
__real@43610000 (0000)
00245B80 0004:
__real@44c80000 (0000)
00245B84 0022:
??_C@_0CC@ECCIDOIG@damaging_prop_index?5?$CB?$DN?50x0000000@ (0000)
00245BA8 0014:
??_C@_0BE@JCINMMJG@prop_orphaned?$CIprop?$CJ?$AA@ (0000)
00245BBC 0013:
??_C@_0BD@GACNHPJP@target_prop?9?$DOenemy?$AA@ (0000)
00245BD0 005f:
??_C@_0FP@LFCAOKBD@?$CIactor?9?$DOtarget?4target_type?5?$DO?$DN?50?$CJ@ (0000)
00245C30 003a:
??_C@_0DK@BNBOMGMC@?$CIactor_type?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIactor_type@ (0000)
00245C6C 0010:
??_C@_0BA@NODDFKHB@new_prop?9?$DOenemy?$AA@ (0000)
00245C80 004c:
??_C@_0EM@HGNPMJBO@prop_acknowledged?$CIfriend_prop?$CJ?5?$CG@ (0000)
00245CCC 0004:
__real@bf4ccccd (0000)
00245CD0 0004:
__real@3f9ae148 (0000)
00245CD4 0004:
__real@3eb851ec (0000)
00245CD8 0004:
__real@bf490fdb (0000)
00245CDC 0004:
__real@3f060a92 (0000)
00245CE0 0004:
__real@3e19999a (0000)
00245CE4 0004:
__real@3fd55555 (0000)
00245CE8 0004:
__real@40010204 (0000)
00245CEC 0004:
__real@3ee66666 (0000)
00245CF0 0018:
??_C@_0BI@GICPJHMO@best_unit_index?5?$CB?$DN?5NONE?$AA@ (0000)
00245D08 0025:
??_C@_0CF@GHOKMPCH@actor?9?$DOmeta?4swarm_unit_index?5?$CB?$DN?5@ (0000)
00245D30 0021:
??_C@_0CB@MPKGJDOK@actor?9?$DOmeta?4swarm_unit_count?5?$DO?50@ (0000)
00245D54 003b:
??_C@_0DL@MCFLLIBG@?$CIexisting_unit_index?5?$DN?$DN?5NONE?$CJ?5?$HM?$HM@ (0000)
00245D90 0004:
__real@40100000 (0000)
00245D94 0018:
??_C@_0BI@LJGDFJPJ@swarm_actor?9?$DOmeta?4swarm?$AA@ (0000)
00245DAC 0004:
__real@3a91a2b4 (0000)
00245DB0 002f:
??_C@_0CP@MPBEBNC@object?9?$DOobject?4type?5?$DN?$DN?5_object_t@ (0000)
00245DE0 0004:
__real@383a69dc (0000)
00245DE8 00c6:
??_C@_0MG@IKFAABEC@?$CIactor?9?$DOdanger_zone?4danger_type?5@ (0000)
00245EB0 0008:
__real@3ff8000000000000 (0000)
00245EB8 0015:
??_C@_0BF@NEEODENG@?$CBprop_orphaned?$CIprop?$CJ?$AA@ (0000)
00245ED0 0008:
__real@bfa7a8d000000000 (0000)
00245ED8 0004:
__real@3f680347 (0000)
00245EDC 0004:
__real@3f7e147b (0000)
00245EE0 0004:
__real@bb5a740e (0000)
00245EE4 0004:
__real@bc888889 (0000)
00245EE8 0004:
__real@bd088889 (0000)
00245EEC 0004:
__real@3c888889 (0000)
00245EF0 0004:
__real@3b5a740e (0000)
00245EF4 0006:
??_C@_05KKADFBMH@?$CBdead?$AA@ (0000)
00245EFC 0038:
??_C@_0DI@GEDMEBOM@current_orphan?9?$DOparent_prop_inde@ (0000)
00245F34 0038:
??_C@_0DI@CJNILOBC@current_prop?9?$DOorphan_prop_index?5@ (0000)
00245F6C 0031:
??_C@_0DB@FLDFMNOK@current_orphan?9?$DOowner_actor_inde@ (0000)
00245FA0 002f:
??_C@_0CP@JODIIBNI@current_prop?9?$DOowner_actor_index?5@ (0000)
00245FD0 001e:
??_C@_0BO@PHJOMEBD@prop_orphaned?$CIcurrent_orphan?$CJ?$AA@ (0000)
00245FF0 0022:
??_C@_0CC@OGFEAFJH@prop_unacknowledged?$CIcurrent_prop@ (0000)
00246014 003c:
??_C@_0DM@LBOGCEIF@actor_perception_refresh?5overflo@ (0000)
00246050 0008:
??_C@_07BJLCCHPO@friends?$AA@ (0000)
00246058 0008:
??_C@_07OMOEAPJD@enemies?$AA@ (0000)
00246060 0004:
__real@3f31c71c (0000)
00246064 000c:
??_C@_0M@JMHOJBDN@?$CBprop?9?$DOdead?$AA@ (0000)
00246070 0020:
??_C@_0CA@JNPJKEOJ@prop?9?$DOparent_prop_index?5?$CB?$DN?5NONE?$AA@ (0000)
00246090 0017:
??_C@_0BH@IAHDHPJP@new_state?$CB?$DNprop?9?$DOstate?$AA@ (0000)
002460A8 0012:
??_C@_0BC@COANDKJL@?$CFs?3?5become?5aware?$CB?$AA@ (0000)
002460C0 0041:
??_C@_0EB@HOGHONEE@?5?5awareness?5delta?3?5?$CF?42f?5?$CIcurrent@ (0000)
00246104 002b:
??_C@_0CL@DNKONGGM@?$CFs?3?5knowledge?5?$CFs?5percep?5?$CFs?5?9?$DO?5aw@ (0000)
00246130 000d:
??_C@_0N@OCHNCJBI@unmistakable?$AA@ (0000)
00246140 0005:
??_C@_04PLMLMMEO@full?$AA@ (0000)
00246148 0008:
??_C@_07JHIHCBKH@partial?$AA@ (0000)
00246150 0009:
??_C@_08GMLBJMKA@definite?$AA@ (0000)
0024615C 000a:
??_C@_09HJLAOOGF@searching?$AA@ (0000)
00246168 0008:
??_C@_07IFJEFPGA@instant?$AA@ (0000)
00246170 0006:
??_C@_05DAFACFLE@never?$AA@ (0000)
00246178 0051:
??_C@_0FB@GKMFLAFD@?$CIprop?9?$DOperception?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIprop@ (0000)
002461D0 004c:
??_C@_0EM@LBLHCEME@?$CIknowledge_type?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIknowle@ (0000)
0024621C 0018:
??_C@_0BI@PALENGAG@?$CFs?3?5stop?5becoming?5aware?$AA@ (0000)
00246234 001a:
??_C@_0BK@OHGMLFML@?$CFs?3?5start?5to?5become?5aware?$AA@ (0000)
00246250 0024:
??_C@_0CE@DMMCLDJG@?$CBrefresh_status?5?$HM?$HM?5refresh_posit@ (0000)
00246274 0031:
??_C@_0DB@OOOKPDMG@parent_prop?9?$DOorphan_prop_index?5?$DN@ (0000)
002462A8 002b:
??_C@_0CL@GMGBPAA@prop?9?$DOunopposable_casualties_inf@ (0000)
002B6AE0 0004:
_data_002b6ae0 (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+91
View File
@@ -0,0 +1,91 @@
/*
ACTOR_STIMULUS.C
symbols in this file:
00024E70 0030:
_actor_stimulus_clear (0000)
00024EA0 00d0:
_code_00024ea0 (0000)
00024F70 0060:
_actor_stimulus_surprise (0000)
00024FD0 0060:
_actor_stimulus_suspicion (0000)
00025030 0070:
_actor_stimulus_prop_sighted (0000)
000250A0 0080:
_actor_stimulus_enter_combat_found_body (0000)
00025120 0040:
_actor_stimulus_enter_combat_perceived_enemy (0000)
00025160 0080:
_actor_stimulus_enter_combat_friend_in_combat (0000)
000251E0 0030:
_actor_stimulus_bumped (0000)
00025210 0050:
_actor_stimulus_environmental_noise (0000)
00025260 0150:
_actor_stimulus_heard_shooting (0000)
000253B0 0020:
_actor_stimulus_was_surprised (0000)
000253D0 0070:
_actor_stimulus_maneuvering (0000)
00025440 0020:
_actor_stimulus_vehicle_eviction (0000)
00025460 00d0:
_actor_stimulus_abandon_stationary_facing (0000)
00025530 0320:
_actor_stimulus_prop_acknowledged (0000)
00025850 0170:
_actor_stimulus_damage (0000)
000259C0 0140:
_actor_stimulus_weapon_impact (0000)
00025B00 0140:
_actor_stimulus_weapon_detonation (0000)
00025C40 01a0:
_actor_stimulus_prop_just_killed (0000)
00025DE0 0110:
_actor_stimulus_prop_fleeing (0000)
00025EF0 0110:
_actor_stimulus_noticed_danger_zone (0000)
002462D4 0038:
??_C@_0DI@JCJNLAKP@?$CFs?5?$CFd?3?5surprise?5?$CFs?3?5?$CFs?5?$CFsexp?5?$CFs?5@ (0000)
0024630C 0007:
??_C@_06NMPBKCIA@noncom?$AA@ (0000)
00246314 0006:
??_C@_05HJNNLMDJ@front?$AA@ (0000)
0024631C 0006:
??_C@_05ILIIOMHH@flank?$AA@ (0000)
00246324 0004:
??_C@_03NJKJADM@not?$AA@ (0000)
00246328 0004:
??_C@_03JEOKDCFP@far?$AA@ (0000)
0024632C 0006:
??_C@_05LBOHBHFK@close?$AA@ (0000)
00246334 0013:
??_C@_0BD@PCBBJBIG@unexp?9behind?9shoot?$AA@ (0000)
00246348 0012:
??_C@_0BC@IGIPMMMB@unexp?9close?9shoot?$AA@ (0000)
0024635C 0008:
??_C@_07JBPBHDIL@grenade?$AA@ (0000)
00246364 000c:
??_C@_0M@EODEKNJA@enemy?9close?$AA@ (0000)
00246370 000c:
??_C@_0M@POIHHAMP@enemy?9shoot?$AA@ (0000)
0024637C 0023:
??_C@_0CD@LMNLJKDA@c?3?2halo?2SOURCE?2ai?2actor_stimulus@ (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+27
View File
@@ -0,0 +1,27 @@
/*
ACTOR_TYPE_CARRIER.C
symbols in this file:
00026000 0160:
_carrier_decide_action (0000)
002463A0 000e:
??_C@_0O@KOGDMDHG@flood?5carrier?$AA@ (0000)
002B6AE4 0020:
_actor_type_carrier (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+27
View File
@@ -0,0 +1,27 @@
/*
ACTOR_TYPE_CREW.C
symbols in this file:
00026160 0200:
_crew_decide_action (0000)
002463B0 0005:
??_C@_04IBLILJC@crew?$AA@ (0000)
002B6B04 0020:
_actor_type_crew (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+23
View File
@@ -0,0 +1,23 @@
/*
ACTOR_TYPE_DEFINITIONS.H
file has inline function assertions.
*/
#ifndef __ACTOR_TYPE_DEFINITIONS_H
#define __ACTOR_TYPE_DEFINITIONS_H
#pragma once
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes/EXAMPLE.C */
/* ---------- globals */
/* ---------- public code */
#endif // __ACTOR_TYPE_DEFINITIONS_H
+27
View File
@@ -0,0 +1,27 @@
/*
ACTOR_TYPE_ELITE.C
symbols in this file:
00026360 02b0:
_elite_decide_action (0000)
002463B8 0006:
??_C@_05EHJKLNBO@elite?$AA@ (0000)
002B6B24 0020:
_actor_type_elite (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+27
View File
@@ -0,0 +1,27 @@
/*
ACTOR_TYPE_ENGINEER.C
symbols in this file:
00026610 0200:
_engineer_decide_action (0000)
002463C0 0009:
??_C@_08NCGGGNGI@engineer?$AA@ (0000)
002B6B44 0020:
_actor_type_engineer (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+39
View File
@@ -0,0 +1,39 @@
/*
ACTOR_TYPE_FLOOD.C
symbols in this file:
00026810 0170:
_flood_decide_action (0000)
00026980 0510:
_actor_type_flood_desire_shamble (0000)
002463CC 0006:
??_C@_05ONANONLM@flood?$AA@ (0000)
002463D4 0004:
__real@41f80000 (0000)
002463D8 0032:
??_C@_0DC@EGHABMGG@actor?9?$DOemotions?4crouch_switching@ (0000)
0024640C 0004:
__real@bfb33333 (0000)
00246410 0004:
__real@3fb33333 (0000)
00246414 0025:
??_C@_0CF@GOCGFILI@c?3?2halo?2SOURCE?2ai?2actor_type_flo@ (0000)
002B6B64 0020:
_actor_type_flood (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+27
View File
@@ -0,0 +1,27 @@
/*
ACTOR_TYPE_GRUNT.C
symbols in this file:
00026E90 0290:
_grunt_decide_action (0000)
0024643C 0006:
??_C@_05INCFNIGH@grunt?$AA@ (0000)
002B6B84 0020:
_actor_type_grunt (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+27
View File
@@ -0,0 +1,27 @@
/*
ACTOR_TYPE_HUNTER.C
symbols in this file:
00027120 0160:
_hunter_decide_action (0000)
00246444 0007:
??_C@_06BAGPFCCJ@hunter?$AA@ (0000)
002B6BA4 0020:
_actor_type_hunter (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+55
View File
@@ -0,0 +1,55 @@
/*
ACTOR_TYPE_INFECTION.C
symbols in this file:
00027280 0130:
_infection_decide_action (0000)
000273B0 0060:
_code_000273b0 (0000)
00027410 0060:
_code_00027410 (0000)
00027470 0e20:
_code_00027470 (0000)
00028290 02b0:
_infection_swarm_aim_jump (0000)
0024644C 000a:
??_C@_09BGMFGBDN@infection?$AA@ (0000)
00246458 0004:
__real@bfc90fdb (0000)
0024645C 0004:
__real@3fc90fdb (0000)
00246460 0004:
__real@bf666666 (0000)
00246464 003d:
??_C@_0DN@KOBFBIIN@TEST_FLAG?$CIswarm_component?9?$DOflags@ (0000)
002464A8 004a:
??_C@_0EK@OLPJENC@swarm_component?9?$DOwander?4move_tic@ (0000)
002464F4 0029:
??_C@_0CJ@BNPOEG@c?3?2halo?2SOURCE?2ai?2actor_type_inf@ (0000)
00246520 0004:
__real@40490fdb (0000)
00246524 0004:
__real@bd888889 (0000)
00246528 0004:
__real@3d99999a (0000)
0024652C 0004:
__real@3df5c28f (0000)
002B6BC4 0020:
_actor_type_infection (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+27
View File
@@ -0,0 +1,27 @@
/*
ACTOR_TYPE_JACKAL.C
symbols in this file:
00028540 0260:
_jackal_decide_action (0000)
00246530 0007:
??_C@_06DMBFBHPG@jackal?$AA@ (0000)
002B6BE4 0020:
_actor_type_jackal (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+27
View File
@@ -0,0 +1,27 @@
/*
ACTOR_TYPE_MARINE.C
symbols in this file:
000287A0 0220:
_marine_decide_action (0000)
00246538 0007:
??_C@_06NEKFKDLF@marine?$AA@ (0000)
002B6C04 0020:
_actor_type_marine (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+27
View File
@@ -0,0 +1,27 @@
/*
ACTOR_TYPE_MOUNTED_WEAPON.C
symbols in this file:
000289C0 00d0:
_mounted_weapon_decide_action (0000)
00246540 000f:
??_C@_0P@NIDPBLDH@mounted_weapon?$AA@ (0000)
002B6C24 0020:
_actor_type_mounted_weapon (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+27
View File
@@ -0,0 +1,27 @@
/*
ACTOR_TYPE_SENTINEL.C
symbols in this file:
00028A90 0180:
_sentinel_decide_action (0000)
00246550 0009:
??_C@_08MLGGHKJN@sentinel?$AA@ (0000)
002B6C44 0020:
_actor_type_sentinel (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+86
View File
@@ -0,0 +1,86 @@
/*
ACTOR_TYPES.C
symbols in this file:
00028C10 0140:
_code_00028c10 (0000)
00028D50 0020:
_actor_types_initialize (0000)
00028D70 0010:
_actor_type_get_name (0000)
00028D80 0020:
_actor_type_get_race (0000)
00028DA0 0020:
_actor_type_get_when_to_search_at_target (0000)
00028DC0 0020:
_actor_type_get_when_to_pursue (0000)
00028DE0 0020:
_actor_type_get_when_to_search_pursuit (0000)
00028E00 0010:
_actor_type_get_pursuit_controller (0000)
00028E10 0010:
_actor_type_get_swarm (0000)
00028E20 0030:
_actor_type_initialize (0000)
00028E50 0060:
_actor_type_decide_action (0000)
00028EB0 0080:
_actor_type_swarm_control (0000)
00028F30 0070:
_actor_type_swarm_aim_jump (0000)
0024655C 0008:
??_C@_07LAMOHCEE@monitor?$AA@ (0000)
00246564 000d:
??_C@_0N@LIECLPHB@carrier_form?$AA@ (0000)
00246574 000f:
??_C@_0P@FOBOHLGD@infection_form?$AA@ (0000)
00246584 000c:
??_C@_0M@EFOJOBCH@combat_form?$AA@ (0000)
00246590 0007:
??_C@_06BALNJMNP@player?$AA@ (0000)
00246598 0009:
??_C@_08BFJJNNGH@assassin?$AA@ (0000)
002465A8 005e:
??_C@_0FO@OPBGDNOE@actor_type_definitions?$FLactor_typ@ (0000)
00246608 0056:
??_C@_0FG@KLDODOHK@actor_type_definitions?$FLactor_typ@ (0000)
00246660 0060:
??_C@_0GA@NAINEHLM@actor_type_definitions?$FLactor_typ@ (0000)
002466C0 0032:
??_C@_0DC@GKACNFKF@actor_type_definitions?$FLactor_typ@ (0000)
002466F4 0029:
??_C@_0CJ@EFLHHJNK@actor_type_definitions?$FLactor_typ@ (0000)
00246720 0023:
??_C@_0CD@DNHOLEJM@actor_type_definitions?$FLactor_typ@ (0000)
00246744 0032:
??_C@_0DC@LEOJEHKO@actor_type?$DO?$DN0?5?$CG?$CG?5actor_type?$DMNUMB@ (0000)
00246778 002b:
??_C@_0CL@LGMIAAJI@c?3?2halo?2source?2ai?2actor_type_def@ (0000)
002467A4 0025:
??_C@_0CF@ECBFEJFF@actor_type_definition?9?$DOdecide_ac@ (0000)
002467CC 0020:
??_C@_0CA@PFDDBNCA@c?3?2halo?2SOURCE?2ai?2actor_types?4c?$AA@ (0000)
002467EC 0025:
??_C@_0CF@DIDKOMFD@actor_type_definition?9?$DOswarm_con@ (0000)
00246814 001d:
??_C@_0BN@JJKIIINM@actor_type_definition?9?$DOswarm?$AA@ (0000)
002B6C68 0080:
_data_002b6c68 (0000)
_global_actor_type_names (0040)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+295
View File
@@ -0,0 +1,295 @@
/*
ACTORS.C
symbols in this file:
00028FA0 00c0:
_actors_initialize (0000)
00029060 0010:
_actors_dispose (0000)
00029070 0030:
_actors_initialize_for_new_map (0000)
000290A0 0030:
_actors_dispose_from_old_map (0000)
000290D0 00c0:
_actor_set_team (0000)
00029190 00a0:
_actor_activation_debug_color (0000)
00029230 0080:
_code_00029230 (0000)
000292B0 00e0:
_actor_verify_activation (0000)
00029390 00e0:
_actor_detach_from_unit (0000)
00029470 01d0:
_actor_swarm_detach_from_unit (0000)
00029640 0080:
_actor_swarm_cache_delete (0000)
000296C0 0050:
_code_000296c0 (0000)
00029710 0020:
_actor_is_noncombat (0000)
00029730 0030:
_actor_in_combat (0000)
00029760 0040:
_actor_is_fighting (0000)
000297A0 00b0:
_actor_attacking_target (0000)
00029850 0030:
_actor_is_leaping (0000)
00029880 00b0:
_actor_get_weapon (0000)
00029930 0060:
_actor_has_ranged_weapon (0000)
00029990 0040:
_actor_target_unit_index (0000)
000299D0 0050:
_actor_derive_target_information (0000)
00029A20 01d0:
_actor_switch_props (0000)
00029BF0 0050:
_actor_flush_position_indices (0000)
00029C40 00c0:
_actor_flush_structure_indices (0000)
00029D00 0010:
_actor_has_unlimited_grenades (0000)
00029D10 00e0:
_actor_handle_damage (0000)
00029DF0 0080:
_code_00029df0 (0000)
00029E70 00a0:
_code_00029e70 (0000)
00029F10 0040:
_actors_freeze (0000)
00029F50 00c0:
_code_00029f50 (0000)
0002A010 00a0:
_actors_move_randomly (0000)
0002A0B0 0070:
_actor_change_encounter (0000)
0002A120 0030:
_code_0002a120 (0000)
0002A150 0010:
_code_0002a150 (0000)
0002A160 00a0:
_code_0002a160 (0000)
0002A200 00a0:
_code_0002a200 (0000)
0002A2A0 00c0:
_actor_find_pathfinding_location (0000)
0002A360 0090:
_actor_destination_tolerance (0000)
0002A3F0 0070:
_actor_input_sample_position (0000)
0002A460 0040:
_code_0002a460 (0000)
0002A4A0 0230:
_code_0002a4a0 (0000)
0002A6D0 0100:
_actors_handle_spatial_effect (0000)
0002A7D0 00a0:
_actor_handle_communication (0000)
0002A870 0040:
_actor_unit_control_crouch (0000)
0002A8B0 0030:
_actor_unit_control_jump (0000)
0002A8E0 0060:
_actor_unit_control_primary_trigger (0000)
0002A940 0040:
_actor_unit_control_secondary_trigger (0000)
0002A980 0030:
_actor_unit_control_throw_grenade (0000)
0002A9B0 0040:
_actor_unit_control_exact_facing (0000)
0002A9F0 0030:
_actor_unit_control_stop_animation_impulse (0000)
0002AA20 03b0:
_actor_new (0000)
0002ADD0 0280:
_actor_customize_unit (0000)
0002B050 0110:
_actor_set_dormant (0000)
0002B160 0070:
_code_0002b160 (0000)
0002B1D0 0050:
_actor_delete_props (0000)
0002B220 0120:
_actor_delete (0000)
0002B340 0110:
_actor_swarm_cache_new (0000)
0002B450 00d0:
_actor_get_running_blind_vector (0000)
0002B520 00e0:
_actor_kill (0000)
0002B600 0340:
_actor_died (0000)
0002B940 00a0:
_actor_swarm_unit_died (0000)
0002B9E0 0060:
_actor_braindead (0000)
0002BA40 01c0:
_actor_handle_unit_effect (0000)
0002BC00 00d0:
_actor_set_active (0000)
0002BCD0 0290:
_actor_swarm_attach_unit (0000)
0002BF60 00a0:
_actor_erase (0000)
0002C000 0230:
_code_0002c000 (0000)
0002C230 0950:
_code_0002c230 (0000)
0002CB80 0230:
_actors_handle_unit_effect (0000)
0002CDB0 0310:
_code_0002cdb0 (0000)
0002D0C0 01d0:
_actor_attach_unit (0000)
0002D290 0140:
_code_0002d290 (0000)
0002D3D0 0270:
_actor_create_for_unit (0000)
0002D640 0320:
_actor_place (0000)
0002D960 02a0:
_actors_spawn_from_unit (0000)
0002DC00 0080:
_actors_update (0000)
00246834 000a:
_global_movement_animation_states (0000)
00246840 0015:
??_C@_0BF@IKFFBLEB@swarm_component_data?$AA@ (0000)
00246858 0010:
??_C@_0BA@EHGCJOFL@swarm?5component?$AA@ (0000)
00246868 000b:
??_C@_0L@JFMPKLIM@swarm_data?$AA@ (0000)
00246874 0006:
??_C@_05IMMFCEFO@swarm?$AA@ (0000)
0024687C 000b:
??_C@_0L@NNGPDIPH@actor_data?$AA@ (0000)
00246888 001b:
??_C@_0BL@IFEJIDPD@c?3?2halo?2SOURCE?2ai?2actors?4c?$AA@ (0000)
002468A4 0006:
??_C@_05OJNICPJM@actor?$AA@ (0000)
002468AC 001f:
??_C@_0BP@DJKNNBPO@?$CFs?5unit?5activation?5logic?5error?$AA@ (0000)
002468CC 000b:
??_C@_0L@KOKJAGEJ@individual?$AA@ (0000)
002468D8 000f:
??_C@_0P@KCHBJAML@inactive?5swarm?$AA@ (0000)
002468E8 000d:
??_C@_0N@JNMFNIL@active?5swarm?$AA@ (0000)
002468F8 001b:
??_C@_0BL@FHOFLAAE@actor?5dormancy?5logic?5error?$AA@ (0000)
00246914 0023:
??_C@_0CD@KACFCMHE@encounter?9?$DOunique_leader_count?5?$DO@ (0000)
00246938 0026:
??_C@_0CG@JABJGCJL@unit?9?$DOunit?4actor_index?5?$DN?$DN?5actor_@ (0000)
00246960 0006:
??_C@_05JEMLEKKA@found?$AA@ (0000)
00246968 0032:
??_C@_0DC@FACDKDBJ@swarm?9?$DOunit_count?5?$DN?$DN?5actor?9?$DOmeta@ (0000)
0024699C 0022:
??_C@_0CC@KIKJBOEI@swarm?9?$DOactor_index?5?$DN?$DN?5actor_inde@ (0000)
002469C0 000e:
??_C@_0O@CIOBJKKB@attack_vector?$AA@ (0000)
002469D0 004c:
??_C@_0EM@LLEBOIJP@AI?5error?5condition?5detected?0?5att@ (0000)
00246A1C 002b:
??_C@_0CL@CDNDAKNI@actor?9type?5?$CFs?5?$CFs?5internal?5logic?5@ (0000)
00246A48 001d:
??_C@_0BN@EGBIINPF@?5infinite?5decision?5loop?5?$CI?$CFs?$CJ?$AA@ (0000)
00246A68 0002:
??_C@_01KMDKNFGN@?1?$AA@ (0000)
00246A6C 000f:
??_C@_0P@CACMJKNL@actor?9type?5?$CFs?5?$AA@ (0000)
00246A80 0072:
??_C@_0HC@JKKAFOMD@cannot?5add?5grenades?5or?5non?9power@ (0000)
00246AF4 0036:
??_C@_0DG@HDAOIBGG@swarm?9?$DOunit_count?5?$DM?5MAXIMUM_NUMB@ (0000)
00246B2C 002b:
??_C@_0CL@CPOHAIKA@actor_index?5?$CB?$DN?5global_updating_a@ (0000)
00246B58 0034:
??_C@_0DE@EGNJPMD@unable?5to?5create?5any?5more?5swarm?5@ (0000)
00246B90 0042:
??_C@_0EC@PMEGKNAL@actor?9?$DOmeta?4swarm_unit_count?5?$DM?$DN?5@ (0000)
00246BD4 002e:
??_C@_0CO@DAKJODHF@exceeded?5MAXIMUM_NUMBER_OF_ACTIV@ (0000)
00246C04 000b:
??_C@_0L@IJDNIGGG@run_vector?$AA@ (0000)
00246C10 0025:
??_C@_0CF@EMPOOLED@actor?9?$DOmeta?4swarm_unit_index?5?$DN?$DN?5@ (0000)
00246C38 0012:
??_C@_0BC@OPFCJMCE@actor?9?$DOmeta?4swarm?$AA@ (0000)
00246C4C 003c:
??_C@_0DM@ICAEGPLB@swarm?5tried?5to?5become?5active?5but@ (0000)
00246C88 0035:
??_C@_0DF@HONDOMG@swarm_first_unit?9?$DOunit?4swarm_pre@ (0000)
00246CC0 0041:
??_C@_0EB@KMMOKFOD@actor?9?$DOmeta?4swarm_unit_count?5?$DM?5M@ (0000)
00246D04 0025:
??_C@_0CF@OBGEKIIO@unit?9?$DOunit?4swarm_actor_index?5?$DN?$DN?5@ (0000)
00246D2C 001f:
??_C@_0BP@PKBDPEJ@unit?9?$DOunit?4actor_index?5?$DN?$DN?5NONE?$AA@ (0000)
00246D4C 001f:
??_C@_0BP@NOLNBLLP@actor?9?$DOmeta?4unit_index?5?$DN?$DN?5NONE?$AA@ (0000)
00246D70 0046:
??_C@_0EG@IJNEHKGD@tried?5to?5update?5a?5swarm?5actor?5wi@ (0000)
00246DB8 002c:
??_C@_0CM@CIODPINB@realcmp?$CIactor?9?$DOinput?4facing_vect@ (0000)
00246DE4 002e:
??_C@_0CO@NNCPOMJ@?$CIreal_vector2d?5?$CK?$CJ?5?$CGactor?9?$DOinput?4@ (0000)
00246E14 001d:
??_C@_0BN@LPPNLGMB@?$CGactor?9?$DOinput?4looking_vector?$AA@ (0000)
00246E34 001c:
??_C@_0BM@FKDFBMGA@?$CGactor?9?$DOinput?4aiming_vector?$AA@ (0000)
00246E50 004d:
??_C@_0EN@IKDAGGPK@actor?5?$CFs?5is?5not?5flying?5but?5was?5p@ (0000)
00246EA0 004d:
??_C@_0EN@LFGKGCAN@actor?5?$CFs?5is?5flying?5but?5was?5place@ (0000)
00246EF0 0004:
__real@42200000 (0000)
00246EF8 007e:
??_C@_0HO@FHPPIAO@?$CIfabs?$CIcontrol_data?4throttle?4i?$CJ?5?$DM@ (0000)
00246F78 0008:
__real@3ff0000000000000 (0000)
00246F80 001d:
??_C@_0BN@KECJEOEE@?$CGcontrol_data?4looking_vector?$AA@ (0000)
00246FA0 001c:
??_C@_0BM@IPGIOCDF@?$CGcontrol_data?4aiming_vector?$AA@ (0000)
00246FBC 001c:
??_C@_0BM@FJJHEIIG@?$CGcontrol_data?4facing_vector?$AA@ (0000)
00246FD8 002e:
??_C@_0CO@NIIPAAJM@?$CIreal_vector2d?5?$CK?$CJ?5?$CGcontrol_data?4@ (0000)
00247008 0044:
??_C@_0EE@LFBDCPIL@?$CFs?5actor?5variant?5?$CFs?5cannot?5have?5@ (0000)
0024704C 0023:
??_C@_0CD@BMFCNAIM@WARNING?3?5cannot?5create?5actor?5?$CFs?5@ (0000)
00247070 002c:
??_C@_0CM@DONKLMPF@WARNING?3?5cannot?5create?5unit?5for?5@ (0000)
0024709C 0010:
??_C@_0BA@NEIKIEMF@?$DMencounterless?$DO?$AA@ (0000)
002470AC 0027:
??_C@_0CH@HGDOJFAF@actor_variant_definition_index?5?$CB@ (0000)
002470D4 0012:
??_C@_0BC@CHJAJEBN@starting_location?$AA@ (0000)
002470E8 0035:
??_C@_0DF@LOENPPFC@WARNING?3?5cannot?5create?5actor?5to?5@ (0000)
002B6CE8 0004:
_global_updating_actor_index (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+212
View File
@@ -0,0 +1,212 @@
/*
AI.C
symbols in this file:
0002DC80 0080:
_ai_initialize (0000)
0002DD00 0030:
_ai_dispose (0000)
0002DD30 0040:
_ai_dispose_from_old_map (0000)
0002DD70 0010:
_ai_place (0000)
0002DD80 0040:
_ai_globals_ai_active (0000)
0002DDC0 0050:
_ai_globals_dialogue_triggers_enabled (0000)
0002DE10 0050:
_ai_globals_grenades_enabled (0000)
0002DE60 00b0:
_ai_get_major_upgrade_chance (0000)
0002DF10 0070:
_ai_adjust_damage (0000)
0002DF80 00d0:
_ai_erase (0000)
0002E050 00c0:
_ai_release_inactive_swarms (0000)
0002E110 0040:
_code_0002e110 (0000)
0002E150 0150:
_ai_find_inactive_encounters (0000)
0002E2A0 0130:
_ai_release_inactive_encounters (0000)
0002E3D0 0070:
_ai_try_vehicle_eviction (0000)
0002E440 0080:
_ai_get_responsible_unit (0000)
0002E4C0 0090:
_ai_handle_death (0000)
0002E550 00d0:
_ai_handle_killing_spree (0000)
0002E620 0140:
_ai_handle_allegiance_status_changed (0000)
0002E760 0130:
_ai_handle_allegiance_broken_notification (0000)
0002E890 00e0:
_ai_update_team_status (0000)
0002E970 0100:
_ai_handle_bump (0000)
0002EA70 0110:
_ai_handle_damage (0000)
0002EB80 0120:
_code_0002eb80 (0000)
0002ECA0 0070:
_ai_create_mounted_weapons_for_unit (0000)
0002ED10 0160:
_ai_handle_deleted_object (0000)
0002EE70 0140:
_ai_handle_unit_effect (0000)
0002EFB0 0040:
_ai_handle_enter_vehicle (0000)
0002EFF0 0060:
_ai_handle_exit_vehicle (0000)
0002F050 0040:
_code_0002f050 (0000)
0002F090 0500:
_ai_disconnect_from_structure_bsp (0000)
0002F590 00c0:
_ai_reconnect_to_structure_bsp (0000)
0002F650 0050:
_ai_get_race_from_team_index (0000)
0002F6A0 00f0:
_ai_initialize_for_new_map (0000)
0002F790 00d0:
_ai_update (0000)
0002F860 0170:
_ai_consider_major_upgrade (0000)
0002F9D0 0060:
_code_0002f9d0 (0000)
0002FA30 0170:
_code_0002fa30 (0000)
0002FBA0 0150:
_ai_test_line_of_fire (0000)
0002FCF0 03f0:
_ai_test_line_of_sight (0000)
000300E0 03b0:
_ai_test_ballistic_line_of_fire (0000)
00030490 0510:
_ai_handle_editing (0000)
000309A0 0210:
_code_000309a0 (0000)
00030BB0 0010:
_ai_enemies_can_see_player (0000)
00030BC0 0010:
_ai_enemies_attacking_player (0000)
00030BD0 046a:
_ai_handle_spatial_effect (0000)
00247120 0006:
??_C@_05PMBAOCDH@quiet?$AA@ (0000)
00247128 0006:
??_C@_05BAOFOMKD@shout?$AA@ (0000)
00247130 0005:
??_C@_04FFPBHBOD@loud?$AA@ (0000)
00247138 0007:
??_C@_06HIDOEFBI@medium?$AA@ (0000)
00247140 0007:
??_C@_06MJMIHDAA@silent?$AA@ (0000)
00247148 000a:
??_C@_09EPLOMCJK@ai_update?$AA@ (0000)
00247154 000b:
??_C@_0L@MPBGDIHA@ai_globals?$AA@ (0000)
00247160 0017:
??_C@_0BH@OFFADIKK@c?3?2halo?2SOURCE?2ai?2ai?4c?$AA@ (0000)
00247178 000b:
??_C@_0L@OAAMDEHE@ai?5globals?$AA@ (0000)
00247184 002a:
??_C@_0CK@KLHIAEEK@force_major?5?$CG?$CG?5is_random?5?$CG?$CG?5rand@ (0000)
002471B0 000f:
??_C@_0P@DJKGCMDL@?$CFd?5swarm?5units?$AA@ (0000)
002471C0 0026:
??_C@_0CG@KJABFHAE@result_description?5?$CG?$CG?5more_to_re@ (0000)
002471E8 0045:
??_C@_0EF@INALGHA@working_memory_size?5?$DO?$DN?5sizeof?$CIst@ (0000)
00247230 0018:
??_C@_0BI@IJNFHBDG@encounter?5?$CFs?5?$CI?$CFd?5units?$CJ?$AA@ (0000)
00247248 0017:
??_C@_0BH@EHECFHBL@encounterless?9actor?5?$CFs?$AA@ (0000)
00247260 0015:
??_C@_0BF@IJHLDNKE@?$CFs?5killing?5spree?3?5?$CFd?$AA@ (0000)
00247278 0009:
??_C@_08MAAODMKK@player?$CFd?$AA@ (0000)
00247284 0028:
??_C@_0CI@COCLKLAG@allegiance?5between?5teams?5?$CFs?5and?5@ (0000)
002472AC 0009:
??_C@_08ELLPFBJE@reformed?$AA@ (0000)
002472B8 0007:
??_C@_06HKHHAOPL@broken?$AA@ (0000)
002472C0 000d:
??_C@_0N@PLDCHNDI@?5permanently?$AA@ (0000)
002472D0 0036:
??_C@_0DG@IOHAMJKK@allegiance?5between?5teams?5?$CFs?5and?5@ (0000)
00247308 005f:
??_C@_0FP@HJJPEFKF@WARNING?3?5cannot?5create?5mounted?5w@ (0000)
00247368 0038:
??_C@_0DI@LLKOJPAJ@effect_type?$DO?$DN0?5?$CG?$CG?5effect_type?$DMNU@ (0000)
002473A0 002f:
??_C@_0CP@KEBPDGDE@volume?$DO?$DN0?5?$CG?$CG?5volume?$DMNUMBER_OF_AI@ (0000)
002473D0 001a:
??_C@_0BK@IPBEOPCE@actor?9?$DOmeta?4encounterless?$AA@ (0000)
002473EC 0029:
??_C@_0CJ@ECGMOGMP@?$CFs?3?5disconnect?5and?5transition?5to@ (0000)
00247418 0030:
??_C@_0DA@HNMNMDJM@?$CFs?3?5?$CFd?5of?5?$CFd?5units?5outside?5PVS?0?5@ (0000)
00247448 0010:
??_C@_0BA@OOMJBPJL@?5?$CIdeleted?5some?$CJ?$AA@ (0000)
00247458 002b:
??_C@_0CL@CHFDAENO@?$CFs?3?5no?5units?5inside?5PVS?0?5do?5not?5@ (0000)
00247484 002f:
??_C@_0CP@IOHLMJDL@?$CFs?3?5all?5swarm?5inside?5PVS?0?5transi@ (0000)
002474B8 0041:
??_C@_0EB@GAAEJBAL@components_outside_pvs_count?5?$DM?5M@ (0000)
002474FC 0027:
??_C@_0CH@BCDOMGFK@target_prop?9?$DOparent_prop_index?5?$CB@ (0000)
00247524 0003:
??_C@_02DKCKIIND@?$CFs?$AA@ (0000)
00247528 0056:
??_C@_0FG@MCBCGPDK@?$CFs?1?$CFs?5major?5upgrade?5chance?5?$CF?42f?3@ (0000)
00247580 0003:
??_C@_02NFLNFON@NO?$AA@ (0000)
00247584 0004:
??_C@_03IPHJCBHH@YES?$AA@ (0000)
00247588 0004:
__real@beaaaaab (0000)
00247590 005d:
??_C@_0FN@FHDONHFP@adjust_encounter?9?$DOplatoon_base?5?$CL@ (0000)
002475F0 0055:
??_C@_0FF@ENLKAKCD@adjust_encounter?9?$DOplatoon_base?5?$DO@ (0000)
00247648 0057:
??_C@_0FH@PKEMGHNJ@adjust_encounter?9?$DOsquad_base?5?$CL?5a@ (0000)
002476A0 004f:
??_C@_0EP@KKLKNEDM@adjust_encounter?9?$DOsquad_base?5?$DO?$DN?5@ (0000)
002476F0 003c:
??_C@_0DM@GLFLBCJN@editing?5caused?5an?5overflow?5of?5MA@ (0000)
0024772C 003a:
??_C@_0DK@JGCJOKPE@editing?5caused?5an?5overflow?5of?5MA@ (0000)
00247768 004d:
??_C@_0EN@KGPGOCFG@?$CIdistance_to_effect?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIdi@ (0000)
002477B8 0007:
??_C@_06MCBHDBOL@submit?$AA@ (0000)
002477C0 003b:
??_C@_0DL@MFAGBNKG@effect_type?$DO?$DN0?5?$CG?$CG?5effect_type?$DMNU@ (0000)
002477FC 0008:
??_C@_07NBEECHDO@count?$DO0?$AA@ (0000)
002B6CF0 0618:
_data_002b6cf0 (0000)
_ai_sound_volume_enum (060c)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+556
View File
@@ -0,0 +1,556 @@
/*
AI_COMMUNICATION.C
symbols in this file:
00031040 0150:
_ai_communication_initialize (0000)
00031190 0010:
_ai_communication_dispose (0000)
000311A0 0110:
_ai_communication_initialize_for_new_map (0000)
000312B0 0010:
_ai_communication_dispose_from_old_map (0000)
000312C0 0030:
_ai_communication_get_type_name (0000)
000312F0 0040:
_ai_communication_get_type_by_name (0000)
00031330 0060:
_ai_communication_packet_new (0000)
00031390 0070:
_code_00031390 (0000)
00031400 0070:
_code_00031400 (0000)
00031470 0050:
_code_00031470 (0000)
000314C0 0090:
_code_000314c0 (0000)
00031550 0020:
_code_00031550 (0000)
00031570 0040:
_code_00031570 (0000)
000315B0 00b0:
_code_000315b0 (0000)
00031660 0040:
_code_00031660 (0000)
000316A0 0040:
_code_000316a0 (0000)
000316E0 01a0:
_code_000316e0 (0000)
00031880 0040:
_actor_communication_team (0000)
000318C0 00b0:
_code_000318c0 (0000)
00031970 0050:
_code_00031970 (0000)
000319C0 0110:
_ai_conversation_status (0000)
00031AD0 0060:
_ai_conversation_line (0000)
00031B30 0090:
_ai_conversation_advance (0000)
00031BC0 0190:
_ai_conversation_finish (0000)
00031D50 0130:
_code_00031d50 (0000)
00031E80 01b0:
_code_00031e80 (0000)
00032030 0290:
_code_00032030 (0000)
000322C0 0030:
_code_000322c0 (0000)
000322F0 00d0:
_code_000322f0 (0000)
000323C0 00f0:
_actor_communication_update (0000)
000324B0 0080:
_code_000324b0 (0000)
00032530 02a0:
_code_00032530 (0000)
000327D0 0340:
_ai_communication_get_player_rating (0000)
00032B10 0090:
_ai_conversation_stop (0000)
00032BA0 00d0:
_ai_conversation_actor_deleted (0000)
00032C70 0170:
_ai_conversation_unit_died (0000)
00032DE0 0800:
_code_00032de0 (0000)
000335E0 02c0:
_ai_communication_started (0000)
000338A0 0210:
_ai_communication_notify (0000)
00033AB0 0390:
_code_00033ab0 (0000)
00033E40 00c0:
_code_00033e40 (0000)
00033F00 0120:
_code_00033f00 (0000)
00034020 06d0:
_code_00034020 (0000)
000346F0 0450:
_code_000346f0 (0000)
00034B40 0630:
_ai_communication_finished (0000)
00035170 0150:
_ai_conversation (0000)
000352C0 0260:
_ai_conversation_update (0000)
00035520 1f80:
_ai_communication_event (0000)
00247808 18c0:
_communication_speech_priorities (0000)
_communication_notification_delays (0010)
_communication_protagonist_default_look_priorities (0030)
_communication_recipient_default_look_priorities (0040)
_communication_player_speaking_priorities (0050)
_communication_unit_prefer_silent_time (0060)
_communication_timer_tolerances (0068)
_communication_play_delays (01a8)
_communication_player_additional_delay (01bc)
_communication_overlap_time_modifier (01c0)
_communication_timeout_low_priority_modifier (01c4)
_communication_repeat_selection_time (01c8)
_communication_player_absolute_range (01cc)
_communication_player_ideal_range_min (01d0)
_communication_player_ideal_range_max (01d4)
_communication_player_ideal_fov (01d8)
_communication_player_rating_low_priority (01dc)
_global_dialogue_table (01e0)
_global_reply_table (1248)
002490C8 0015:
??_C@_0BF@PLOFNBGK@postcombat_celebrate?$AA@ (0000)
002490E0 0018:
??_C@_0BI@BNIOPALA@postcombat_shoot_corpse?$AA@ (0000)
002490F8 0018:
??_C@_0BI@LCABFNHO@postcombat_check_friend?$AA@ (0000)
00249110 0017:
??_C@_0BH@JEELJBED@postcombat_check_enemy?$AA@ (0000)
00249128 0013:
??_C@_0BD@MKOGOGNM@postcombat_triumph?$AA@ (0000)
0024913C 0014:
??_C@_0BE@OGGIDGFC@postcombat_massacre?$AA@ (0000)
00249150 0013:
??_C@_0BD@OKBEBJFP@postcombat_wounded?$AA@ (0000)
00249164 0015:
??_C@_0BF@OFGIJICH@postcombat_unscathed?$AA@ (0000)
0024917C 0011:
??_C@_0BB@LGDDKHGB@postcombat_alone?$AA@ (0000)
00249190 0005:
??_C@_04PMNENHO@leap?$AA@ (0000)
00249198 0008:
??_C@_07KMLHDIFF@falling?$AA@ (0000)
002491A0 0014:
??_C@_0BE@DIJKKGAP@uncover_exclamation?$AA@ (0000)
002491B4 0005:
??_C@_04FLLHOKOG@dive?$AA@ (0000)
002491BC 0006:
??_C@_05IMODGEHH@melee?$AA@ (0000)
002491C4 0009:
??_C@_08MPLMAFLL@surprise?$AA@ (0000)
002491D0 0010:
??_C@_0BA@HBKFDHMB@vehicle_falling?$AA@ (0000)
002491E0 000f:
??_C@_0P@EOJFLCO@vehicle_scared?$AA@ (0000)
002491F0 000f:
??_C@_0P@OJJDOKMB@vehicle_woohoo?$AA@ (0000)
00249200 000d:
??_C@_0N@KIHOLEBN@vehicle_exit?$AA@ (0000)
00249210 000e:
??_C@_0O@NEANEBAA@vehicle_entry?$AA@ (0000)
00249220 0010:
??_C@_0BA@JKBMANAN@hiding_finished?$AA@ (0000)
00249230 000f:
??_C@_0P@BOOLPEN@attempted_flee?$AA@ (0000)
00249240 000a:
??_C@_09LPKHDOHP@flee_idle?$AA@ (0000)
0024924C 0011:
??_C@_0BB@GDNLPHOF@flee_leader_died?$AA@ (0000)
00249260 0011:
??_C@_0BB@GKOPGPMO@shooting_traitor?$AA@ (0000)
00249274 000f:
??_C@_0P@IDHEPNJE@shooting_group?$AA@ (0000)
00249284 0011:
??_C@_0BB@LKALKDPF@shooting_berserk?$AA@ (0000)
00249298 0011:
??_C@_0BB@GHLHMONC@shooting_vehicle?$AA@ (0000)
002492AC 0009:
??_C@_08HFADMLAA@shooting?$AA@ (0000)
002492B8 0016:
??_C@_0BG@IIEIONGD@sighted_friend_player?$AA@ (0000)
002492D0 0008:
??_C@_07LADJDDJF@retreat?$AA@ (0000)
002492D8 0008:
??_C@_07JKODCMP@advance?$AA@ (0000)
002492E0 000e:
??_C@_0O@OAGOMGLF@uncover_start?$AA@ (0000)
002492F0 0015:
??_C@_0BF@HNJCJGJJ@search_group_abandon?$AA@ (0000)
00249308 000f:
??_C@_0P@GDPJMJHJ@search_abandon?$AA@ (0000)
00249318 000e:
??_C@_0O@EKDNJHKG@search_report?$AA@ (0000)
00249328 000d:
??_C@_0N@MDODPJCI@search_query?$AA@ (0000)
00249338 000d:
??_C@_0N@IJIHJIIJ@search_start?$AA@ (0000)
00249348 0010:
??_C@_0BA@KFNIENAA@alert_noncombat?$AA@ (0000)
00249358 0008:
??_C@_07MAJPMGLJ@blocked?$AA@ (0000)
00249360 000d:
??_C@_0N@JEODFMIK@lost_contact?$AA@ (0000)
00249370 000f:
??_C@_0P@JELOHPAB@grenade_danger?$AA@ (0000)
00249380 0010:
??_C@_0BA@GHAABFAJ@grenade_sighted?$AA@ (0000)
00249390 0010:
??_C@_0BA@ILMKIOPH@grenade_startle?$AA@ (0000)
002493A0 0011:
??_C@_0BB@NDMOOLOJ@grenade_throwing?$AA@ (0000)
002493B4 0013:
??_C@_0BD@JHAEBNEM@allegiance_changed?$AA@ (0000)
002493C8 0012:
??_C@_0BC@LJDIENED@found_dead_friend?$AA@ (0000)
002493DC 0011:
??_C@_0BB@HACOIKAB@unexpected_enemy?$AA@ (0000)
002493F0 000c:
??_C@_0M@EJKFHLEL@found_enemy?$AA@ (0000)
002493FC 000e:
??_C@_0O@CDKKCOME@sighted_enemy?$AA@ (0000)
0024940C 0005:
??_C@_04NAFIGEAM@hurt?$AA@ (0000)
00249414 000e:
??_C@_0O@EGHFODNC@killing_spree?$AA@ (0000)
00249424 0006:
??_C@_05PBMMFKGI@death?$AA@ (0000)
0024942C 0004:
??_C@_03MADNOHBP@COV?$AA@ (0000)
00249430 0009:
??_C@_08ONAJMEN@covenant?$AA@ (0000)
0024943C 0004:
??_C@_03KPLLINCC@HUM?$AA@ (0000)
00249440 0006:
??_C@_05OAIPHEDE@human?$AA@ (0000)
00249448 0008:
??_C@_07BLDMICJO@exclaim?$AA@ (0000)
00249450 0005:
??_C@_04EJGCJLIC@yell?$AA@ (0000)
00249458 000c:
??_C@_0M@JHEHDIOO@communicate?$AA@ (0000)
00249464 0005:
??_C@_04HBNBFOKD@talk?$AA@ (0000)
0024946C 0008:
??_C@_07EFCDKMI@chatter?$AA@ (0000)
00249474 0007:
??_C@_06NLCJMHIE@filler?$AA@ (0000)
0024947C 0012:
??_C@_0BC@ONDNPAEP@conversation_data?$AA@ (0000)
00249490 0010:
??_C@_0BA@HJGPPPBN@ai?5conversation?$AA@ (0000)
002494A0 0048:
??_C@_0EI@HLDOMHAD@ai_communication_initialize?3?5una@ (0000)
002494E8 0019:
??_C@_0BJ@DEJOBHIO@ai?5communication?5replies?$AA@ (0000)
00249508 004b:
??_C@_0EL@IJCKEONL@ai_communication_initialize?3?5una@ (0000)
00249554 0025:
??_C@_0CF@ENENAALK@c?3?2halo?2SOURCE?2ai?2ai_communicati@ (0000)
0024957C 001a:
??_C@_0BK@HKKGFHIF@ai?5communication?5dialogue?$AA@ (0000)
00249598 000c:
??_C@_0M@FJGFLLPA@information?$AA@ (0000)
002495A4 003a:
??_C@_0DK@JAPPOFEL@?$CIplay_type?5?$DN?$DN?5_unit_play_speech_@ (0000)
002495E0 000f:
??_C@_0P@LFGNPAFB@spk?$CFd?$DMtol?$CFd?$CL?$CFd?$AA@ (0000)
002495F0 000a:
??_C@_09NBNIDDMC@nospch?9?$CFs?$AA@ (0000)
00249600 0040:
??_C@_0EA@HGHJJMBM@vocalization_type?5?$CG?$CG?5sound_defin@ (0000)
00249640 0021:
??_C@_0CB@JPNJDDBL@?$CFs?3?5told?5to?5advance?5by?5scripting@ (0000)
00249664 0012:
??_C@_0BC@NMDPGBEB@?$CFs?3?5finished?5?$CFs?$CFs?$AA@ (0000)
00249678 000c:
??_C@_0M@PDJPHGJL@prematurely?$AA@ (0000)
00249684 000d:
??_C@_0N@HAEOLDAP@successfully?$AA@ (0000)
00249694 0013:
??_C@_0BD@FOMCINHP@?5?$CIunable?5to?5begin?$CJ?$AA@ (0000)
002496A8 0048:
??_C@_0EI@KMONEJAM@?$CFs?3?5this?5conversation?5is?5already@ (0000)
002496F0 00b5:
??_C@_0LF@IOBNLMGM@?$CIconversation?9?$DOdialogue_indices?$FL@ (0000)
002497A8 000d:
??_C@_0N@IDIKJELG@?$CFs?3?5speak?5?$CFs?$AA@ (0000)
002497B8 004b:
??_C@_0EL@EAKMIEAH@?$CIreply_table_index?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIrep@ (0000)
00249808 0052:
??_C@_0FC@DCLNMHJF@?$CIdialogue_type_index?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CId@ (0000)
0024985C 0013:
??_C@_0BD@NKCKMGKJ@?$CFs?5?$CFs?5?$CFd?1?$CFs?3?5?$CFs?5?$CFd?$AA@ (0000)
00249870 0004:
__real@3eb33333 (0000)
00249874 001e:
??_C@_0BO@PGLKMLMB@?$CFs?3?5told?5to?5stop?5by?5scripting?$AA@ (0000)
00249894 0018:
??_C@_0BI@MOODPKBH@?$CFs?3?5unit?5died?0?5aborting?$AA@ (0000)
002498AC 0008:
??_C@_07CEJJIKE@?$CFs?$CI?$CFd?$CJ?5?$AA@ (0000)
002498B4 0012:
??_C@_0BC@LGHGCJKF@no?9dialogue?9match?$AA@ (0000)
002498C8 0010:
??_C@_0BA@LGNJEIF@not?9near?9player?$AA@ (0000)
002498D8 000a:
??_C@_09DFNMPCAJ@selection?$AA@ (0000)
002498E4 0014:
??_C@_0BE@FCFFGOIN@nowhere?9near?9player?$AA@ (0000)
002498F8 0013:
??_C@_0BD@FMPJDKHJ@already?9conversing?$AA@ (0000)
0024990C 000b:
??_C@_0L@FEFLJKBC@wrong?9type?$AA@ (0000)
00249918 000c:
??_C@_0M@CFFMKJFH@?5?5reasons?3?5?$AA@ (0000)
00249924 0031:
??_C@_0DB@PGEHKHFC@?$CFs?3?5didn?8t?5find?5?$CFd?1?$CFs?5in?5?$CFs?5?$CI?$CFd?5@ (0000)
00249958 000b:
??_C@_0L@COMKDGN@?$DMeveryone?$DO?$AA@ (0000)
00249964 0010:
??_C@_0BA@ELKHLFDD@?$DMspecific?5unit?$DO?$AA@ (0000)
00249978 006d:
??_C@_0GN@FHAECEPL@?$CIactor_variant_index?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIa@ (0000)
002499E8 001c:
??_C@_0BM@CBPILECH@found_variant_index?5?$CB?$DN?5NONE?$AA@ (0000)
00249A08 0056:
??_C@_0FG@DGHHBBJL@change_variant_indices_count?5?$DM?5M@ (0000)
00249A60 0004:
__real@3eaaaaab (0000)
00249A64 0004:
__real@41a20000 (0000)
00249A68 003a:
??_C@_0DK@CMCFHJEF@nearby_unit_count?5?$DM?5MAXIMUM_PART@ (0000)
00249AA4 0028:
??_C@_0CI@ICHMPFMM@conversation_definition?5?$CG?$CG?5conve@ (0000)
00249ACC 0007:
??_C@_06DJHOIPC@?$CFs?3?5?$CFs?$AA@ (0000)
00249AD4 0009:
??_C@_08BAHEMPNM@?5?$FL?$CFd?1?$CFs?$FN?$AA@ (0000)
00249AE0 0006:
??_C@_05DNIIFBMG@?$CFs?5?$CFs?$AA@ (0000)
00249AE8 0008:
??_C@_07GKOCGALF@non?9voc?$AA@ (0000)
00249AF0 000c:
??_C@_0M@DMDFMBAG@unit?5?$CF04X?3?5?$AA@ (0000)
00249AFC 000c:
??_C@_0M@HNMGEIHE@player?5?$CFd?3?5?$AA@ (0000)
00249B08 0005:
??_C@_04PFAOODAA@?$CFs?3?5?$AA@ (0000)
00249B10 0008:
??_C@_07MMOCNKBD@?$CFs?1?$CFs?3?5?$AA@ (0000)
00249B18 0072:
??_C@_0HC@PEHCJGNI@?$CIai_information?9?$DOdialogue_type_i@ (0000)
00249B90 0091:
??_C@_0JB@OPDEEEOP@?$CIconversation?9?$DOdialogue_indices?$FL@ (0000)
00249C24 0030:
??_C@_0DA@LIHNLMLM@?$CFs?3?5cannot?5start?0?5players?5are?5no@ (0000)
00249C54 0028:
??_C@_0CI@LELOFLBG@?$CFs?3?5cannot?5start?0?5nobody?5can?5see@ (0000)
00249C80 0047:
??_C@_0EH@ODDEEICK@?$CFs?3?5participants?5currently?5outsi@ (0000)
00249CC8 0025:
??_C@_0CF@BJPALGNB@?$CFs?3?5could?5not?5find?5participant?5?$CF@ (0000)
00249CF0 0036:
??_C@_0DG@BNDGFHIE@?$CFs?3?5found?5participant?5?$CFd?1?$CFs?5but?5@ (0000)
00249D28 0016:
??_C@_0BG@KFPPJIJM@?$FL?$CFs?50?9player?9chance?$FN?5?$AA@ (0000)
00249D40 0014:
??_C@_0BE@DLAFFNAP@?$FL?$CFs?5rand?$CF?42f?$DO?$CF?42f?$FN?5?$AA@ (0000)
00249D54 0012:
??_C@_0BC@GGBDH@?$FL?$CFs?5found?9actor?$FN?5?$AA@ (0000)
00249D68 0012:
??_C@_0BC@GOGGHGJI@?$FL?$CFs?5?$CFs?9d?9dis?1?$CFd?$FN?5?$AA@ (0000)
00249D7C 000d:
??_C@_0N@EFEDAFNN@?$FL?$CFs?5nobody?$FN?5?$AA@ (0000)
00249D8C 0015:
??_C@_0BF@DPPMFKIF@?$FLscripted?9override?$FN?5?$AA@ (0000)
00249DA4 0011:
??_C@_0BB@HDBKEACA@PLAYER?9REPLY?5?$CFs?5?$AA@ (0000)
00249DB8 0007:
??_C@_06IKJGFCFO@?$DO?$DO?$CFs?$DM?$DM?$AA@ (0000)
00249DC0 0008:
??_C@_07GPMPHPH@nobody?5?$AA@ (0000)
00249DC8 000c:
??_C@_0M@EMMAIOJB@playercant?5?$AA@ (0000)
00249DD4 0009:
??_C@_08LMAMDFAK@u?9?$CFs?9?$CFs?5?$AA@ (0000)
00249DE0 0004:
??_C@_03EKLFPLOI@n?1a?$AA@ (0000)
00249DE4 0004:
??_C@_03CJOLJKCN@dis?$AA@ (0000)
00249DE8 0008:
??_C@_07CPBKJGBP@filter?5?$AA@ (0000)
00249DF0 000a:
??_C@_09PGKELFMI@0?9chance?5?$AA@ (0000)
00249DFC 000d:
??_C@_0N@KOBKEGMJ@rand?9failed?5?$AA@ (0000)
00249E0C 0010:
??_C@_0BA@MDFGCECJ@rand?5?$CF?42f?$DO?$CF?42f?5?$AA@ (0000)
00249E1C 0011:
??_C@_0BB@BILJOOCN@?$CBreply_to_player?$AA@ (0000)
00249E30 0013:
??_C@_0BD@PDIGFKID@override?9scripted?5?$AA@ (0000)
00249E44 000b:
??_C@_0L@HPKHMDON@wrong?9dmg?5?$AA@ (0000)
00249E50 0004:
??_C@_03DKEJHHJP@?$CFs?3?$AA@ (0000)
00249E54 000b:
??_C@_0L@LNGLDCHG@REPLY?5?$CFs?3?5?$AA@ (0000)
00249E60 0047:
??_C@_0EH@NNNDPBEK@?$CFs?3?5could?5not?5start?0?5and?5not?5set@ (0000)
00249EA8 0039:
??_C@_0DJ@ONAPPANJ@?$CFs?3?5can?8t?5begin?5yet?5but?5will?5rem@ (0000)
00249EE4 0017:
??_C@_0BH@MJIAPKFJ@?$CFs?3?5begun?5successfully?$AA@ (0000)
00249F00 0058:
??_C@_0FI@CHGNAOEL@WARNING?3?5too?5many?5executing?5conv@ (0000)
00249F58 0027:
??_C@_0CH@FMECNBHL@?$CFs?3?5script?5tried?5to?5start?5conver@ (0000)
00249F80 001a:
??_C@_0BK@ELJOEOCB@?$CFs?3?5no?5more?5lines?5to?5play?$AA@ (0000)
00249F9C 0030:
??_C@_0DA@PPIFADMI@?$CFs?3?5unable?5to?5begin?0?5and?5no?5poin@ (0000)
00249FCC 0014:
??_C@_0BE@KPFKNBML@?$CFs?3?5trying?5to?5begin?$AA@ (0000)
00249FE0 003c:
??_C@_0DM@GFNDBPMM@selected_possibility?9?$DOpreselecte@ (0000)
0024A01C 001e:
??_C@_0BO@LJOGJGHI@?$FLrnd?$CF?41f?5tot?$CF?41f?5cum?$CF?41f?$EA?$CFd?$FN?5?$AA@ (0000)
0024A03C 0019:
??_C@_0BJ@DMOBOMPI@?$FL?$CFd?1?$CF?41f?5force?5?$CFd?1?$CF?41f?$FN?5?$AA@ (0000)
0024A058 0020:
??_C@_0CA@DKHGIOGG@total_possibility_weight?5?$DO?50?40f?$AA@ (0000)
0024A078 0059:
??_C@_0FJ@IBKDMIEO@ai_communication_event?3?5type?5?$CFd?5@ (0000)
0024A0D8 0043:
??_C@_0ED@GJAAIMME@?$FL?$CFs?1?$CFd?5?$CFs?5del?$CFd?5w?3?$CF?41f?$CFs?5s?$CF?41f?5p@ (0000)
0024A11C 0002:
??_C@_01BIAFAFID@F?$AA@ (0000)
0024A120 0007:
??_C@_06BEJGECAN@PLAYER?$AA@ (0000)
0024A128 0012:
??_C@_0BC@FOAHPEHM@protagonist_actor?$AA@ (0000)
0024A13C 0011:
??_C@_0BB@BOBCLBAE@?$FL?$CFs?1?$CFd?5u?9?$CFs?9?$CFs?$FN?5?$AA@ (0000)
0024A150 0030:
??_C@_0DA@CPDLIKLO@subject_actor?9?$DOdanger_zone?4objec@ (0000)
0024A180 0015:
??_C@_0BF@JKGAIKPI@?$FL?$CFs?1?$CFd?5?$CFs?9d?9dis?1?$CFd?$FN?5?$AA@ (0000)
0024A198 000f:
??_C@_0P@BLNKGMGL@?$FL?$CFs?1?$CFd?5?$CFs?5?$CFs?$FN?5?$AA@ (0000)
0024A1A8 0010:
??_C@_0BA@JGHKCAMO@shout?3?$CF?41f?$DM?$CF?41f?$AA@ (0000)
0024A1B8 000f:
??_C@_0P@NMKONCAD@talk?3?$CF?41f?$DM?$CF?41f?$AA@ (0000)
0024A1C8 000f:
??_C@_0P@JEDLKPOF@chat?3?$CF?41f?$DM?$CF?41f?$AA@ (0000)
0024A1D8 0039:
??_C@_0DJ@KAPPHHBA@communication_priority?5?$DM?5_ai_com@ (0000)
0024A214 000c:
??_C@_0M@EGBKHEDG@?$CFs?9?$CFc?$CFc?$CFc?$CFs?$AA@ (0000)
0024A220 0004:
??_C@_03HOBIBNHG@?9hi?$AA@ (0000)
0024A224 0004:
??_C@_03CPELBCCM@?9lo?$AA@ (0000)
0024A228 007f:
??_C@_0HP@PLIGCELE@?$CIcommunication_priority?5?$DO?5_ai_co@ (0000)
0024A2A8 0055:
??_C@_0FF@NKMCJBLB@?$CIcommunication_team?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIco@ (0000)
0024A300 0009:
??_C@_08ECOGDNI@unteamed?$AA@ (0000)
0024A30C 0013:
??_C@_0BD@NMMLILLH@?$FL?$CFs?1?$CFd?50?9playrat?$FN?5?$AA@ (0000)
0024A320 0012:
??_C@_0BC@OMHOAJOH@?$FL?$CFs?1?$CFd?5nogrp?9?$CFc?$FN?5?$AA@ (0000)
0024A334 0014:
??_C@_0BE@OMABELMA@?$FL?$CFs?1?$CFd?5noplyreply?$FN?5?$AA@ (0000)
0024A348 0013:
??_C@_0BD@GACNBALB@?$FL?$CFs?1?$CFd?5nounit?9?$CFc?$FN?5?$AA@ (0000)
0024A35C 0006:
??_C@_05LLNBKOOD@?$DMerr?$DO?$AA@ (0000)
0024A364 000f:
??_C@_0P@OMGCNPFA@?$FL?$CFs?1?$CFd?5nodmg?$FN?5?$AA@ (0000)
0024A374 0014:
??_C@_0BE@PGBJJNLI@?$FL?$CFs?1?$CFd?5nocausrace?$FN?5?$AA@ (0000)
0024A388 0013:
??_C@_0BD@PHFOKNBE@?$FL?$CFs?1?$CFd?5nosubrace?$FN?5?$AA@ (0000)
0024A39C 0013:
??_C@_0BD@NGEMBLCE@?$FL?$CFs?1?$CFd?5status?9?$CFs?$FN?5?$AA@ (0000)
0024A3B0 0004:
??_C@_03NDPLAFDJ@vis?$AA@ (0000)
0024A3B4 0009:
??_C@_08OLCLKDFA@nodanger?$AA@ (0000)
0024A3C0 0007:
??_C@_06EBKKMJGD@notvis?$AA@ (0000)
0024A3C8 0005:
??_C@_04BLLOBPAA@lost?$AA@ (0000)
0024A3D0 0005:
??_C@_04BBBDNBOK@dead?$AA@ (0000)
0024A3D8 0011:
??_C@_0BB@GKMIFEBC@?$FL?$CFs?1?$CFd?5host?9?$CFs?$FN?5?$AA@ (0000)
0024A3EC 0008:
??_C@_07CEGFBHJP@traitor?$AA@ (0000)
0024A3F4 0006:
??_C@_05ICAMJEGE@enemy?$AA@ (0000)
0024A3FC 0007:
??_C@_06BHBNKPBA@friend?$AA@ (0000)
0024A404 0005:
??_C@_04PJDNGLKJ@self?$AA@ (0000)
0024A410 0048:
??_C@_0EI@GINMJEIA@?$CIdialogue_index?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIdialog@ (0000)
0024A458 0009:
??_C@_08GLNGGDPJ@DISABLED?$AA@ (0000)
0024A464 0007:
??_C@_06DAIKMLH@?$CFs?9?$CFc?5?$AA@ (0000)
0024A46C 002b:
??_C@_0CL@IOMHDOAM@allegiance?5?$CFs?0?5?$CFd?5incidents?5?$CIthr@ (0000)
0024A498 000c:
??_C@_0M@IDKAPGFO@still?5holds?$AA@ (0000)
0024A4A4 0029:
??_C@_0CJ@GKFDOEJ@incident?5between?5teams?5?$CFs?5and?5?$CFs@ (0000)
0024A4D0 0009:
??_C@_08PAHPFNGA@accident?$AA@ (0000)
0024A4DC 0009:
??_C@_08JPJNIAAJ@betrayal?$AA@ (0000)
0024A4E8 000b:
??_C@_0L@MCEFNCAK@unobserved?$AA@ (0000)
0024A4F4 0009:
??_C@_08PJALNDK@observed?$AA@ (0000)
0024A500 0055:
??_C@_0FF@FCIFJAOH@?$CIcommunication_type?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIco@ (0000)
002B7308 0114:
_global_communication_priority_names (0000)
_global_communication_team_names (0020)
_global_communication_type_names (0030)
00319CA8 0010:
_global_dialogue_event_count (0000)
_global_dialogue_events (0004)
_global_reply_event_count (0008)
_global_reply_events (000c)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+819
View File
@@ -0,0 +1,819 @@
/*
AI_DEBUG.C
symbols in this file:
000374A0 00c0:
_ai_debug_initialize (0000)
00037560 0050:
_ai_debug_dispose (0000)
000375B0 0060:
_ai_debug_dispose_from_old_map (0000)
00037610 0080:
_ai_debug_clear_storage (0000)
00037690 0040:
_ai_debug_actor_deleted (0000)
000376D0 0060:
_ai_debug_get_last_path (0000)
00037730 0100:
_ai_debug_get_path_storage (0000)
00037830 0050:
_ai_debug_select_encounter (0000)
00037880 0010:
_ai_debug_sound_point_set (0000)
00037890 0080:
_code_00037890 (0000)
00037910 00b0:
_code_00037910 (0000)
000379C0 0020:
_set_real_point3d (0000)
000379E0 0060:
_ai_debug_lineoffire_new (0000)
00037A40 00a0:
_ai_debug_lineoffire_addpill (0000)
00037AE0 0010:
_ai_debug_lineoffire_success (0000)
00037AF0 00d0:
_code_00037af0 (0000)
00037BC0 0110:
_code_00037bc0 (0000)
00037CD0 00f0:
_ai_debug_highlight_cluster (0000)
00037DC0 0010:
_ai_debug_lineofsight_reset (0000)
00037DD0 0110:
_code_00037dd0 (0000)
00037EE0 00c0:
_code_00037ee0 (0000)
00037FA0 0130:
_code_00037fa0 (0000)
000380D0 01b0:
_ai_debug_describe_actor (0000)
00038280 0150:
_code_00038280 (0000)
000383D0 0200:
_code_000383d0 (0000)
000385D0 00d0:
_ai_debug_vocalize (0000)
000386A0 01f0:
_code_000386a0 (0000)
00038890 0070:
_ai_debug_speak (0000)
00038900 01d0:
_ai_debug_speak_list (0000)
00038AD0 01f0:
_code_00038ad0 (0000)
00038CC0 0030:
_ai_debug_communication_suppress (0000)
00038CF0 0030:
_ai_debug_communication_ignore (0000)
00038D20 0030:
_ai_debug_communication_focus (0000)
00038D50 0030:
_ai_debug_idle_look_clear (0000)
00038D80 0060:
_ai_debug_idle_look_addprop (0000)
00038DE0 0150:
_code_00038de0 (0000)
00038F30 0130:
_code_00038f30 (0000)
00039060 0120:
_code_00039060 (0000)
00039180 0490:
_ai_debug_update (0000)
00039610 0150:
_ai_debug_change_selected_encounter (0000)
00039760 00c0:
_ai_debug_teleport_to (0000)
00039820 0070:
_ai_debug_select_actor (0000)
00039890 0090:
_code_00039890 (0000)
00039920 0070:
_code_00039920 (0000)
00039990 0350:
_code_00039990 (0000)
00039CE0 0100:
_code_00039ce0 (0000)
00039DE0 0030:
_ai_debug_lineofsight (0000)
00039E10 0070:
_code_00039e10 (0000)
00039E80 0460:
_code_00039e80 (0000)
0003A2E0 0480:
_code_0003a2e0 (0000)
0003A760 0080:
_ai_debug_initialize_for_new_map (0000)
0003A7E0 0130:
_ai_debug_change_selected_actor (0000)
0003A910 02c0:
_code_0003a910 (0000)
0003ABD0 0330:
_code_0003abd0 (0000)
0003AF00 0090:
_code_0003af00 (0000)
0003AF90 6190:
_code_0003af90 (0000)
00041120 00b0:
_code_00041120 (0000)
000411D0 0050:
_code_000411d0 (0000)
00041220 0920:
_code_00041220 (0000)
00041B40 0150:
_ai_debug_render (0000)
0024A558 000a:
??_C@_09GAFNOIFB@celebrate?$AA@ (0000)
0024A564 000d:
??_C@_0N@BAPLNKLD@shoot?9corpse?$AA@ (0000)
0024A574 000d:
??_C@_0N@LPHEHHHN@check?9friend?$AA@ (0000)
0024A584 000c:
??_C@_0M@IMALKMMJ@check?9enemy?$AA@ (0000)
0024A590 0007:
??_C@_06IHEMHENK@run?9to?$AA@ (0000)
0024A598 0008:
??_C@_07OHGAOJPC@triumph?$AA@ (0000)
0024A5A0 0009:
??_C@_08DKJDLNJC@massacre?$AA@ (0000)
0024A5AC 0008:
??_C@_07MHJCBGHB@wounded?$AA@ (0000)
0024A5B4 000a:
??_C@_09HONAKBBM@unscathed?$AA@ (0000)
0024A5C0 0006:
??_C@_05OINBIGHC@alone?$AA@ (0000)
0024A5C8 0120:
_global_ai_debug_firing_position_colors (0000)
0024A6E8 002c:
??_C@_0CM@KACEIIME@actor_debug_array?5?$CG?$CG?5actor_path_@ (0000)
0024A714 001d:
??_C@_0BN@NHJNDMDB@c?3?2halo?2SOURCE?2ai?2ai_debug?4c?$AA@ (0000)
0024A734 0017:
??_C@_0BH@NPMLJMCO@actor_path_debug_array?$AA@ (0000)
0024A74C 0012:
??_C@_0BC@NEDOMFAM@actor_debug_array?$AA@ (0000)
0024A760 000c:
??_C@_0M@PNECPINM@path?9?$DOvalid?$AA@ (0000)
0024A76C 0004:
__real@3c75c28f (0000)
0024A770 001a:
??_C@_0BK@MPHBAMIF@ai_debug?4lineoffire_valid?$AA@ (0000)
0024A78C 0010:
??_C@_0BA@EFAMCJDL@highlight_color?$AA@ (0000)
0024A7A0 004d:
??_C@_0EN@HMHNOGAL@ai_debug_lineofsight?3?5overflowed@ (0000)
0024A7F0 0013:
??_C@_0BD@IMMFFPNJ@index?5?$DM?$DN?5SHORT_MAX?$AA@ (0000)
0024A804 0004:
__real@358637be (0000)
0024A808 004d:
??_C@_0EN@LIJFCNLC@ai_debug_lineofsight?3?5overflowed@ (0000)
0024A858 0003:
??_C@_02DPKJAMEF@?$CFd?$AA@ (0000)
0024A85C 0007:
??_C@_06DIJPEION@?$CFs?$CFs?$CFs?$AA@ (0000)
0024A864 0006:
??_C@_05DNDNCJEB@?5?$CI?$CFs?$CJ?$AA@ (0000)
0024A86C 000c:
??_C@_0M@DNKMKJLF@?$CFs?1?$CI?$CFs?$CJ?5?$CFs?5?$AA@ (0000)
0024A878 0007:
??_C@_06GFOOFMKH@?$CFs?1?$CFs?5?$AA@ (0000)
0024A880 000f:
??_C@_0P@GNJJGFID@encounterless?5?$AA@ (0000)
0024A890 0004:
__real@42480000 (0000)
0024A894 000f:
??_C@_0P@EMJBNEED@camera?5?$CB?$DN?5NULL?$AA@ (0000)
0024A8A4 000c:
??_C@_0M@LMEDNMEE@speech?5done?$AA@ (0000)
0024A8B0 0007:
??_C@_06OJAIHGIC@unused?$AA@ (0000)
0024A8B8 0007:
??_C@_06PAOMPDJH@?$DMnone?$DO?$AA@ (0000)
0024A8C0 000c:
??_C@_0M@GONFPFNH@conditional?$AA@ (0000)
0024A8CC 0007:
??_C@_06PBOFDCCP@?5?5?5?5?$CFs?$AA@ (0000)
0024A8D8 0048:
??_C@_0EI@CCOFAPIN@ai_speak_list?3?5couldn?8t?5find?5the@ (0000)
0024A920 0014:
??_C@_0BE@ELOGACBP@post?9combat?5chatter?$AA@ (0000)
0024A934 0014:
??_C@_0BE@FCPJJPLN@post?9combat?5actions?$AA@ (0000)
0024A948 000d:
??_C@_0N@MPEECFIA@exclamations?$AA@ (0000)
0024A958 0008:
??_C@_07BNENKHGK@actions?$AA@ (0000)
0024A960 0014:
??_C@_0BE@NAIFFEHE@group?5communication?$AA@ (0000)
0024A974 0009:
??_C@_08NHEOOKPN@shouting?$AA@ (0000)
0024A980 000e:
??_C@_0O@HODEMADO@friends?5dying?$AA@ (0000)
0024A990 0015:
??_C@_0BF@CNOOOGFH@player?5kill?5comments?$AA@ (0000)
0024A9A8 000f:
??_C@_0P@JHPEJMGB@killing?5people?$AA@ (0000)
0024A9B8 000b:
??_C@_0L@DOJHDABL@being?5hurt?$AA@ (0000)
0024A9C4 000f:
??_C@_0P@IODLGKDB@hurting?5people?$AA@ (0000)
0024A9D4 000c:
??_C@_0M@GGFEOFCH@involuntary?$AA@ (0000)
0024A9E0 0005:
??_C@_04EAPMNACM@idle?$AA@ (0000)
0024A9E8 0004:
??_C@_03NFKEKGGK@all?$AA@ (0000)
0024A9EC 0011:
??_C@_0BB@DGGLLMMB@cleared?5?$CFd?5flags?$AA@ (0000)
0024AA00 000d:
??_C@_0N@FNOHNBEC@set?5?$CFd?5flags?$AA@ (0000)
0024AA10 002e:
??_C@_0CO@HDHJDOFM@?$CIcomm_type?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIcomm_type?5?$DM@ (0000)
0024AA40 0014:
??_C@_0BE@IEOINDCJ@vector_size?5?$DM?$DN?52048?$AA@ (0000)
0024AA54 0007:
??_C@_06FNGHPIEM@lookup?$AA@ (0000)
0024AA5C 0019:
??_C@_0BJ@EDHNEFAL@ai_debug?4idle_look_valid?$AA@ (0000)
0024AA78 0005:
??_C@_04GEFJINEE@?$CF?42f?$AA@ (0000)
0024AA80 0008:
??_C@_07NANCOONO@c?$CFd?5t?$CFd?$AA@ (0000)
0024AA88 003d:
??_C@_0DN@HMKBLPED@reset?5the?5actor?5variant?5in?5all?5?$CF@ (0000)
0024AAC8 002f:
??_C@_0CP@MGEPIKMD@updated?5all?5?$CFd?5squads?8?5guard?5pos@ (0000)
0024AAF8 0021:
??_C@_0CB@LKAIIAMK@encounter?5?$CFs?5?$FL?$CFs?5?$CFs?$FN?5?$CI?$CFd?5actors?$CJ@ (0000)
0024AB1C 0009:
??_C@_08INHMCBAE@inactive?$AA@ (0000)
0024AB28 0007:
??_C@_06MDLIGPKC@active?$AA@ (0000)
0024AB30 000a:
??_C@_09OMLHBEOG@?$CFs?9bsp?5?$CFs?$AA@ (0000)
0024AB3C 0005:
??_C@_04HAPDLBFF@auto?$AA@ (0000)
0024AB44 0007:
??_C@_06LBOEMNGF@manual?$AA@ (0000)
0024AB4C 000d:
??_C@_0N@EEIJIIDC@3d?9positions?$AA@ (0000)
0024AB5C 0013:
??_C@_0BD@JOKLCPFJ@no?5more?5encounters?$AA@ (0000)
0024AB70 0004:
__real@3ccccccd (0000)
0024AB74 0005:
??_C@_04GGBPDDBN@?$CF?41f?$AA@ (0000)
0024AB7C 0004:
__real@3f400000 (0000)
0024AB80 000c:
??_C@_0M@MDDMGNPP@selected?5?$CFs?$AA@ (0000)
0024AB8C 0009:
??_C@_08EPEHIMMI@?$CFs?5?$CFs?5?$CFs?$AA@ (0000)
0024AB98 0011:
??_C@_0BB@NFDMAFGA@?$CFs?5?$CFs?5?$CFs?5?$CI?$CFd?5?$CFd?$CJ?$AA@ (0000)
0024ABAC 001a:
??_C@_0BK@IGGJKBME@variant?5?$CFd?5dialogue?5?$CFd?5?$CFs?$AA@ (0000)
0024ABC8 0008:
??_C@_07FDLBJOH@actors?3?$AA@ (0000)
0024ABD0 000f:
??_C@_0P@KNEPJIAL@mounted?5weapon?$AA@ (0000)
0024ABE0 000d:
??_C@_0N@ECDGAAGF@carrier?5form?$AA@ (0000)
0024ABF0 000f:
??_C@_0P@KEGKMEHH@infection?5form?$AA@ (0000)
0024AC00 000c:
??_C@_0M@LPJNFODD@combat?5form?$AA@ (0000)
0024AC0C 000d:
??_C@_0N@IHCILEGI@actor?5types?3?$AA@ (0000)
0024AC1C 0002:
??_C@_01CLKCMJKC@?5?$AA@ (0000)
0024AC20 0008:
??_C@_07NNLGHMA@unused9?$AA@ (0000)
0024AC28 0008:
??_C@_07BEMAFGIB@unused8?$AA@ (0000)
0024AC30 0008:
??_C@_07JDFIEKEO@unused7?$AA@ (0000)
0024AC38 0008:
??_C@_07IKEDHLAP@unused6?$AA@ (0000)
0024AC40 0007:
??_C@_06DMINDDAD@teams?3?$AA@ (0000)
0024AC48 0015:
??_C@_0BF@LOKPDEDN@enterable?3?5dist?5?$CF?41f?$AA@ (0000)
0024AC60 000f:
??_C@_0P@BJGICAFA@no?5more?5actors?$AA@ (0000)
0024AC70 0010:
??_C@_0BA@LEPJLGDJ@actor?5?$CFd?1?$CFd?3?5?$CFs?$AA@ (0000)
0024AC80 0022:
??_C@_0CC@KODJHLKP@no?5encounter?5selected?5?$CIuse?5F2?1F3@ (0000)
0024ACA4 000b:
??_C@_0L@EMIECNIM@undirected?$AA@ (0000)
0024ACB0 000d:
??_C@_0N@LBEKCDNK@?$CFs?5?1?5?$CFs?5?$CI?$CFd?$CJ?$AA@ (0000)
0024ACC0 005b:
??_C@_0FL@HFOCPILI@?$CIpath?9?$DOpath_build_result?5?$DO?$DN?50?$CJ?5?$CG@ (0000)
0024AD20 0064:
??_C@_0GE@LJMBNOD@?$CIpath?9?$DOpath_traverse_result?5?$DO?$DN?50@ (0000)
0024AD84 0012:
??_C@_0BC@DPPKLKEM@obstacles?5blocked?$AA@ (0000)
0024AD98 0014:
??_C@_0BE@KBFBLBPP@cached?5node?5missing?$AA@ (0000)
0024ADAC 000f:
??_C@_0P@HBLMHEIO@no?5destination?$AA@ (0000)
0024ADBC 0011:
??_C@_0BB@HLPBHKNL@overflowed?5nodes?$AA@ (0000)
0024ADD0 0011:
??_C@_0BB@PDOAEIOG@exhausted?5search?$AA@ (0000)
0024ADE4 000e:
??_C@_0O@BMKIKAEF@invalid?5start?$AA@ (0000)
0024ADF4 0011:
??_C@_0BB@BBMAGAOB@not?5close?5enough?$AA@ (0000)
0024AE08 0014:
??_C@_0BE@GIOHAKMD@not?5refreshing?5path?$AA@ (0000)
0024AE1C 001d:
??_C@_0BN@ODPKICF@path?5debugging?5not?5available?$AA@ (0000)
0024AE3C 0014:
??_C@_0BE@FFJCLGIA@path?5refreshed?5?$CI?$CFd?$CJ?$AA@ (0000)
0024AE50 000c:
??_C@_0M@PEHGEMI@?5?$FLignorant?$FN?$AA@ (0000)
0024AE5C 0010:
??_C@_0BA@MCPNBJCF@no?5current?5path?$AA@ (0000)
0024AE6C 0019:
??_C@_0BJ@GBKCCEJK@following?5path?5?$CI?$CFd?1?$CFd?$CFs?$CJ?$AA@ (0000)
0024AE88 0012:
??_C@_0BC@EEBOJCHP@?5?$CIat?5destination?$CJ?$AA@ (0000)
0024AE9C 0025:
??_C@_0CF@ICJDAANP@?$CFs?$HMt?$CFs?$HMt?$CFs?$CFs?$HMt?$CFs?$HMt?$CFs?$HMt?$CF3?42f?$HMt?$CF3?4@ (0000)
0024AEC4 0007:
??_C@_06GIAEDANK@?5?$CIdim?$CJ?$AA@ (0000)
0024AECC 0008:
??_C@_07GJDMPFLH@?5?$CIdark?$CJ?$AA@ (0000)
0024AED4 0006:
??_C@_05GDBGBDHE@obstr?$AA@ (0000)
0024AEDC 0007:
??_C@_06KEGBIGJI@to?1cvr?$AA@ (0000)
0024AEE4 0006:
??_C@_05LHOHFNLF@f?1cvr?$AA@ (0000)
0024AEEC 0005:
??_C@_04IIPFOBEB@occl?$AA@ (0000)
0024AEF4 0007:
??_C@_06KJMGJPCA@i?1orph?$AA@ (0000)
0024AEFC 0007:
??_C@_06JLIGJJK@u?1orph?$AA@ (0000)
0024AF04 0006:
??_C@_05BFFGFNBJ@?5ack?5?$AA@ (0000)
0024AF0C 0006:
??_C@_05MOHADBPC@ack?9?$DO?$AA@ (0000)
0024AF14 0006:
??_C@_05KEBMBJCA@?9?$DOack?$AA@ (0000)
0024AF1C 0006:
??_C@_05IOLJFLLO@?9?9?9?9?9?$AA@ (0000)
0024AF24 002d:
??_C@_0CN@NIJFDKCP@?$HMntype?$HMtstate?$HMtvis?$HMtaud?$HMtlos?$HMtta@ (0000)
0024AF54 0039:
??_C@_0DJ@ICNFGCKF@body?$HMt?$CF3?42f?$HMt?$FL0?40?0?$CF3?42f?$FN?$HMnshield@ (0000)
0024AF90 0009:
??_C@_08JCHIOHIP@?$HMn?$HMn?$HMn?$HMn?$AA@ (0000)
0024AFA0 0008:
__real@3fe921fb60000000 (0000)
0024AFA8 0008:
__real@3fe0c15240000000 (0000)
0024AFB0 0004:
__real@3db2b8c2 (0000)
0024AFB4 0023:
??_C@_0CD@FJNJAECF@?$DMunknown?5charge?9setup?5decision?5?$CF@ (0000)
0024AFD8 000e:
??_C@_0O@KBOHMALP@close?9success?$AA@ (0000)
0024AFE8 0011:
??_C@_0BB@NLECPCBI@stalking?9success?$AA@ (0000)
0024AFFC 001b:
??_C@_0BL@PKOGHKHE@melee?9success?5?$CI?$CFsairborne?$CJ?$AA@ (0000)
0024B018 0016:
??_C@_0BG@KOGCHGKP@melee?9cannotmove?5?$CI?$CFf?$CJ?$AA@ (0000)
0024B030 001f:
??_C@_0BP@OJDBBOJO@melee?9noanimation?5?$CI?$CFsairborne?$CJ?$AA@ (0000)
0024B050 000f:
??_C@_0P@EHLDOJNO@melee?9notarget?$AA@ (0000)
0024B060 0010:
??_C@_0BA@MEEGMCOH@melee?9inhibited?$AA@ (0000)
0024B070 0011:
??_C@_0BB@DFGHNPEF@melee?9swarmcan?8t?$AA@ (0000)
0024B084 0012:
??_C@_0BC@OLDHCKAF@vehicle?9notdriver?$AA@ (0000)
0024B098 0010:
??_C@_0BA@LLKCGMK@vehicle?9success?$AA@ (0000)
0024B0A8 000d:
??_C@_0N@NAKENAED@animation?5?$CFd?$AA@ (0000)
0024B0B8 000c:
??_C@_0M@KMPPPJNL@analog?5?$CF?42f?$AA@ (0000)
0024B0C4 000a:
??_C@_09OMPGFJCP@m?9?$CFs?5a?9?$CFs?$AA@ (0000)
0024B0D0 0007:
??_C@_06HJKLOFAL@casual?$AA@ (0000)
0024B0D8 0010:
??_C@_0BA@HMOJAFFL@?3?5persistent?5?$CFd?$AA@ (0000)
0024B0E8 0009:
??_C@_08MMPMJNJC@trigger2?$AA@ (0000)
0024B0F4 0008:
??_C@_07DIDNFGDE@trigger?$AA@ (0000)
0024B0FC 0007:
??_C@_06DGFOANMH@reload?$AA@ (0000)
0024B104 000b:
??_C@_0L@NKPOCDJC@forcealert?$AA@ (0000)
0024B110 000d:
??_C@_0N@GLOJECLO@lookdontturn?$AA@ (0000)
0024B120 000a:
??_C@_09FJJPPKDN@equipment?$AA@ (0000)
0024B12C 0007:
??_C@_06DDLLCOJG@action?$AA@ (0000)
0024B134 000c:
??_C@_0M@NIGMNHAF@exactfacing?$AA@ (0000)
0024B140 0006:
??_C@_05OEPGNJB@light?$AA@ (0000)
0024B148 0006:
??_C@_05BNFNLHEP@user2?$AA@ (0000)
0024B150 0006:
??_C@_05DGHAOEIM@user1?$AA@ (0000)
0024B158 0005:
??_C@_04NJIOBGCF@jump?$AA@ (0000)
0024B160 0007:
??_C@_06DOBBPONH@crouch?$AA@ (0000)
0024B168 000d:
??_C@_0N@NJIFLKMJ@trigger?5?$CF?41f?$AA@ (0000)
0024B178 0011:
??_C@_0BB@MHOBGNGC@animation?5failed?$AA@ (0000)
0024B18C 0016:
??_C@_0BG@DCPDNPPE@animation?5unavailable?$AA@ (0000)
0024B1A4 000c:
??_C@_0M@ENGCDMNF@cannot?5move?$AA@ (0000)
0024B1B0 000e:
??_C@_0O@GFMHALPB@not?5attempted?$AA@ (0000)
0024B1C0 000f:
??_C@_0P@BCLFAPEI@attached?5to?5us?$AA@ (0000)
0024B1D0 000d:
??_C@_0N@GGKEFILN@no?5animation?$AA@ (0000)
0024B1E0 0010:
??_C@_0BA@FBDGMCGI@imminent?5impact?$AA@ (0000)
0024B1F0 0013:
??_C@_0BD@NGDHFCDK@imminent?5explosion?$AA@ (0000)
0024B204 000a:
??_C@_09PHIJEGMB@can?5avoid?$AA@ (0000)
0024B210 0017:
??_C@_0BH@KLBIHANN@no?5desire?5?$CIint?8n?5?$CF?41f?$CJ?$AA@ (0000)
0024B228 0015:
??_C@_0BF@EAJBCFAM@no?5desire?5?$CIno?5int?8n?$CJ?$AA@ (0000)
0024B240 0012:
??_C@_0BC@DJAMJFBH@no?5safe?5direction?$AA@ (0000)
0024B254 0014:
??_C@_0BE@NKMPHNIF@evasion?5not?5allowed?$AA@ (0000)
0024B268 0016:
??_C@_0BG@MCFNHNBO@outside?5?$CI?$CF?41f?5?$DO?5?$CF?41f?$CJ?$AA@ (0000)
0024B280 0017:
??_C@_0BH@COGEOHGK@far?5away?5?$CI?$CF?41f?5?$DO?5?$CF?41f?$CJ?$AA@ (0000)
0024B298 000a:
??_C@_09ECKEKIII@unnoticed?$AA@ (0000)
0024B2A4 000d:
??_C@_0N@PLGCJBGP@discarded?5fp?$AA@ (0000)
0024B2B4 0018:
??_C@_0BI@MIIEPFAE@trying?3?5?$CFsbusy?5dmg?5?$CF?41f?$AA@ (0000)
0024B2CC 0005:
??_C@_04PEILMPI@not?9?$AA@ (0000)
0024B2D4 000a:
??_C@_09EEKGDCPH@?$DMunknown?$DO?$AA@ (0000)
0024B2E0 000e:
??_C@_0O@HPLFBECP@no?5trajectory?$AA@ (0000)
0024B2F0 000f:
??_C@_0P@MDIPPGFO@collateral?5dmg?$AA@ (0000)
0024B300 0019:
??_C@_0BJ@MOLFNEFB@not?5enough?5enemy?5?$CFd?5?$DM?5?$CFd?$AA@ (0000)
0024B31C 0012:
??_C@_0BC@PNJCCNE@encounter?5time?5?$CFd?$AA@ (0000)
0024B330 0013:
??_C@_0BD@CMEPCNFM@random?5?$CF?42f?5?$DO?5?$CF?42f?$AA@ (0000)
0024B344 000c:
??_C@_0M@KOCHINBH@no?5grenades?$AA@ (0000)
0024B350 0009:
??_C@_08EHKOHMGI@dmg?5?$CF?42f?$AA@ (0000)
0024B35C 000a:
??_C@_09FPMCKJMI@unit?5busy?$AA@ (0000)
0024B368 000b:
??_C@_0L@EBNOMGNL@in?5vehicle?$AA@ (0000)
0024B374 000e:
??_C@_0O@NCALLL@minimum?5range?$AA@ (0000)
0024B384 000b:
??_C@_0L@DDGNHNOE@underwater?$AA@ (0000)
0024B390 000f:
??_C@_0P@CPKINPFE@not?5stationary?$AA@ (0000)
0024B3A0 000d:
??_C@_0N@ODJMIFAE@not?5standing?$AA@ (0000)
0024B3B0 000e:
??_C@_0O@LLLGJNKG@not?5crouching?$AA@ (0000)
0024B3C0 000a:
??_C@_09CMONFJNE@in?5midair?$AA@ (0000)
0024B3CC 0009:
??_C@_08FLBLIGCG@bursting?$AA@ (0000)
0024B3D8 000e:
??_C@_0O@GPANCFOL@firing?5wildly?$AA@ (0000)
0024B3E8 000c:
??_C@_0M@KOKPHDIM@burst?5pause?$AA@ (0000)
0024B3F4 0012:
??_C@_0BC@LBPBGLKP@burst?5pause?5align?$AA@ (0000)
0024B408 0012:
??_C@_0BC@PPNMFILH@first?5burst?5delay?$AA@ (0000)
0024B41C 0012:
??_C@_0BC@JENBKDGD@first?5burst?5align?$AA@ (0000)
0024B430 000e:
??_C@_0O@EMCKEBI@outside?5range?$AA@ (0000)
0024B440 000c:
??_C@_0M@FONLCKGF@not?5visible?$AA@ (0000)
0024B44C 0016:
??_C@_0BG@KONAFMKG@outside?5active?5region?$AA@ (0000)
0024B464 000a:
??_C@_09FCNEGOIC@no?5target?$AA@ (0000)
0024B470 000d:
??_C@_0N@MJCIOFCH@wrong?5target?$AA@ (0000)
0024B480 000f:
??_C@_0P@PHLLLOKD@animation?5busy?$AA@ (0000)
0024B490 0010:
??_C@_0BA@DFOCCMOJ@firing?5disabled?$AA@ (0000)
0024B4A0 000c:
??_C@_0M@LFICLMGL@wildfire?5?$CFd?$AA@ (0000)
0024B4AC 0009:
??_C@_08IAFHFOJ@pause?5?$CFd?$AA@ (0000)
0024B4B8 0009:
??_C@_08OKOFKAHD@burst?5?$CFd?$AA@ (0000)
0024B4C4 000d:
??_C@_0N@LMOGDKAI@newtarget?5?$CFd?$AA@ (0000)
0024B4D4 0024:
??_C@_0CE@NFHNHOEK@?$CFsrof?5?$CF?41f?5err?5?$CF?41f?5dmg?5?$CF?41f?5blk@ (0000)
0024B4F8 0006:
??_C@_05INBNOHLN@busy?5?$AA@ (0000)
0024B500 0026:
??_C@_0CG@MCLDPFEH@error?3?5invalid?5point?52?5specified@ (0000)
0024B528 0026:
??_C@_0CG@JBCJKOMD@error?3?5invalid?5point?51?5specified@ (0000)
0024B550 0009:
??_C@_08CDECDFO@finished?$AA@ (0000)
0024B55C 001c:
??_C@_0BM@NDDNINPM@command?9list?5?$CFs?3?5?$CD?$CFd?5of?5?$CD?$CFd?$AA@ (0000)
0024B578 0008:
??_C@_07KCHKPNJB@ramming?$AA@ (0000)
0024B580 0007:
??_C@_06HLPIKOFJ@strafe?$AA@ (0000)
0024B588 000b:
??_C@_0L@EOAGLGEB@melee?9leap?$AA@ (0000)
0024B594 0012:
??_C@_0BC@OFHAHLCI@stalk?$CFs?5?$CFs?5disc?$CFd?$AA@ (0000)
0024B5A8 000d:
??_C@_0N@OPACMHOO@?5catchtarget?$AA@ (0000)
0024B5B8 0009:
??_C@_08PKMMBMCG@?5exposed?$AA@ (0000)
0024B5C4 0008:
??_C@_07NGEHNCKJ@locked?5?$AA@ (0000)
0024B5CC 0008:
??_C@_07OGHBCLCH@moving?5?$AA@ (0000)
0024B5D4 000d:
??_C@_0N@LIFMAOB@destination?9?$AA@ (0000)
0024B5E4 000f:
??_C@_0P@BNCBBPFG@fake?9entry?5?$CFd?5?$AA@ (0000)
0024B5F4 000a:
??_C@_09PNIKAFED@range?9ok?5?$AA@ (0000)
0024B600 000b:
??_C@_0L@PNBMHPAO@facing?9ok?5?$AA@ (0000)
0024B60C 0009:
??_C@_08CHLEOHIO@entering?$AA@ (0000)
0024B618 0009:
??_C@_08GECLGIGA@delay?5?$CFd?$AA@ (0000)
0024B624 0007:
??_C@_06HDINHIKD@pt?$CI?$CFd?$CJ?$AA@ (0000)
0024B62C 0009:
??_C@_08KLDLOAJD@targ?$CI?$CFd?$CJ?$AA@ (0000)
0024B638 0019:
??_C@_0BJ@CFEIJPDP@pursuit_location?5?$CB?$DN?5NULL?$AA@ (0000)
0024B654 0006:
??_C@_05DIALNFFA@?$CFs?5?$CFd?$AA@ (0000)
0024B65C 0005:
??_C@_04IBOFHAPJ@hide?$AA@ (0000)
0024B664 000b:
??_C@_0L@MPJDBCAF@retreat?5?$CFd?$AA@ (0000)
0024B670 0008:
??_C@_07OIACNHCL@look?5?$CFd?$AA@ (0000)
0024B678 0008:
??_C@_07KNAFGCEF@wait?5?$CFd?$AA@ (0000)
0024B680 000a:
??_C@_09NNNANOJC@change?5?$CFd?$AA@ (0000)
0024B68C 0014:
??_C@_0BE@OEKDCJIK@delay?5not?5triggered?$AA@ (0000)
0024B6A0 000e:
??_C@_0O@PNEFIHPP@delay?5forever?$AA@ (0000)
0024B6B0 000c:
??_C@_0M@CFMGOGOI@delaying?5?$CFd?$AA@ (0000)
0024B6BC 0004:
__real@3d23d70a (0000)
0024B6C0 0004:
__real@3c23d70a (0000)
0024B6C4 000c:
??_C@_0M@HPBHEBFF@?$CFs?5?$CFs?5?$CFs?5?$CFd?$AA@ (0000)
0024B6D0 0006:
??_C@_05BBEJFBFA@point?$AA@ (0000)
0024B6D8 0005:
??_C@_04MLNMJPNF@targ?$AA@ (0000)
0024B6E0 0005:
??_C@_04GNINHFNB@prop?$AA@ (0000)
0024B6E8 0005:
??_C@_04HDMMNHEL@move?$AA@ (0000)
0024B6F0 0007:
??_C@_06OLONEIEH@script?$AA@ (0000)
0024B6F8 0007:
??_C@_06LLABPICK@comm?1d?$AA@ (0000)
0024B700 0005:
??_C@_04BEFGKPLD@comm?$AA@ (0000)
0024B708 0006:
??_C@_05BFEMKAF@shoot?$AA@ (0000)
0024B710 0006:
??_C@_05NACCBGNC@deton?$AA@ (0000)
0024B718 0007:
??_C@_06GAEFFFDH@bumped?$AA@ (0000)
0024B720 0004:
??_C@_03JBLJHHJA@ack?$AA@ (0000)
0024B724 0007:
??_C@_06CJBJAGIH@moving?$AA@ (0000)
0024B72C 0006:
??_C@_05GPLCCBII@noise?$AA@ (0000)
0024B734 0007:
??_C@_06FCEEKPIH@over?1f?$AA@ (0000)
0024B73C 0005:
??_C@_04DPPOAFIB@over?$AA@ (0000)
0024B744 0007:
??_C@_06BAAKLONL@stop?1a?$AA@ (0000)
0024B74C 0007:
??_C@_06DGEHCAGP@turn?1a?$AA@ (0000)
0024B754 0006:
??_C@_05DGJIMNDI@i?1aim?$AA@ (0000)
0024B75C 0007:
??_C@_06HAECNNDM@i?1look?$AA@ (0000)
0024B764 0004:
??_C@_03BHEEIFFN@def?$AA@ (0000)
0024B768 0010:
??_C@_0BA@OCPJBAOG@d?$CFd?5o?$CFd?5e?$CFd?5f?$CFd?$AA@ (0000)
0024B778 0008:
??_C@_07LECPNBFL@?1?$CFd?5h?$CFd?$AA@ (0000)
0024B780 0012:
??_C@_0BC@NCDENJKF@unopp?5c?$CFd?$CI?$CFd?$CJ?5t?$CFd?$AA@ (0000)
0024B794 000a:
??_C@_09BNIKOMIM@unr?5?$CFd?5?$CFd?$AA@ (0000)
0024B7A0 0007:
??_C@_06KLDEEELL@?$CFsi?$CFd?5?$AA@ (0000)
0024B7A8 0007:
??_C@_06CEHELBBL@?$CFso?$CFd?5?$AA@ (0000)
0024B7B0 0005:
??_C@_04PHHJKDBP@r?$CFd?5?$AA@ (0000)
0024B7B8 0004:
__real@3cf5c28f (0000)
0024B7BC 000c:
??_C@_0M@IAHPKMMO@prop?9?$DOenemy?$AA@ (0000)
0024B7C8 000d:
??_C@_0N@JNGFAADN@?1?$CF?41fs?1?$CF?41ff?$AA@ (0000)
0024B7D8 0013:
??_C@_0BD@PGFIKKEC@aud?1?$CFs?5?$CF?41fp?1?$CF?41fd?$AA@ (0000)
0024B7EC 0005:
??_C@_04FPLDHIIH@part?$AA@ (0000)
0024B7F4 000f:
??_C@_0P@FNDJMAKC@nostationary?$CFs?$AA@ (0000)
0024B804 000a:
??_C@_09MHGPAEBK@?5?$CImoving?$CJ?$AA@ (0000)
0024B810 0014:
??_C@_0BE@HGCABEBB@desire?9fixed?9facing?$AA@ (0000)
0024B824 000d:
??_C@_0N@CADCDKLE@fixed?9facing?$AA@ (0000)
0024B834 000c:
??_C@_0M@HDNNEGAO@retreat?5t?$CFd?$AA@ (0000)
0024B840 0011:
??_C@_0BB@OEADLKMB@dngr?5?$CF3?42f?1?$CF3?42f?$AA@ (0000)
0024B854 000d:
??_C@_0N@KBIGNCJC@dmging?5?$CFd?1?$CFd?$AA@ (0000)
0024B864 000f:
??_C@_0P@IONILACH@ex?4close?5?$CFd?1?$CFd?$AA@ (0000)
0024B874 000e:
??_C@_0O@JIBKKNNI@s?1at?5me?5?$CFd?1?$CFd?$AA@ (0000)
0024B884 000d:
??_C@_0N@DODJHFOK@s?1near?5?$CFd?1?$CFd?$AA@ (0000)
0024B894 000c:
??_C@_0M@IFONHKFP@shoot?5?$CFd?1?$CFd?$AA@ (0000)
0024B8A0 000d:
??_C@_0N@BCCCNHAJ@aim?5at?5?$CFd?1?$CFd?$AA@ (0000)
0024B8B0 000d:
??_C@_0N@HEAJFJNK@facing?5?$CFd?1?$CFd?$AA@ (0000)
0024B8C0 000a:
??_C@_09GBFCKIO@vis?5?$CFd?1?$CFd?$AA@ (0000)
0024B8CC 0009:
??_C@_08MMGAOFNN@enemy?5?$CFd?$AA@ (0000)
0024B8D8 000b:
??_C@_0L@GIHLFFOK@?$CFs?5?$CFd?5?$CF?42f?$AA@ (0000)
0024B8E4 000c:
??_C@_0M@JGJOANLK@unavailable?$AA@ (0000)
0024B8F0 0009:
??_C@_08DCMKGFOA@shielded?$AA@ (0000)
0024B8FC 000d:
??_C@_0N@KHMEEPOL@visibletimer?$AA@ (0000)
0024B90C 000c:
??_C@_0M@BHMLGOGF@repeattimer?$AA@ (0000)
0024B918 000e:
??_C@_0O@MBKPLMAN@visibletarget?$AA@ (0000)
0024B928 000c:
??_C@_0M@ENPNBIKH@wrongaction?$AA@ (0000)
0024B934 000c:
??_C@_0M@EHGMDAED@s?1dmg?5?$CF3?42f?$AA@ (0000)
0024B940 000c:
??_C@_0M@NANBJBNA@b?1dmg?5?$CF3?42f?$AA@ (0000)
0024B94C 000b:
??_C@_0L@PFIGKIAJ@shld?5?$CF3?42f?$AA@ (0000)
0024B958 000b:
??_C@_0L@CEEECOJJ@body?5?$CF3?42f?$AA@ (0000)
0024B964 000e:
??_C@_0O@HPOPEINN@encounterless?$AA@ (0000)
0024B974 000c:
??_C@_0M@MNFGOEP@?$CFs?5?$CIbsp?5?$CFd?$CJ?$AA@ (0000)
0024B980 000c:
??_C@_0M@JMGOMGGI@?$CFs?5?$CIno?9bsp?$CJ?$AA@ (0000)
0024B98C 0014:
??_C@_0BE@CAADKALH@move?5emergency?5?$CF?42f?$AA@ (0000)
0024B9A0 000f:
??_C@_0P@IJGEHAN@sharp?5continue?$AA@ (0000)
0024B9B0 0011:
??_C@_0BB@FNCANIIJ@sharp?5change?9dir?$AA@ (0000)
0024B9C4 000f:
??_C@_0P@EIANHAFD@sharp?5new?9turn?$AA@ (0000)
0024B9D4 0010:
??_C@_0BA@GCIBBDEJ@sign?5rotated?5?$CFf?$AA@ (0000)
0024B9E4 001e:
??_C@_0BO@LILILKNF@sign?5too?9far?5cosangle?5?$CFf?5?$DM?5?$CFf?$AA@ (0000)
0024BA04 0017:
??_C@_0BH@OJAAHEBN@sign?5no?9danger?5?$CFf?5?$DM?5?$CFf?$AA@ (0000)
0024BA1C 0016:
??_C@_0BG@JNKPFDCC@sensed?5at?5?$CFf?0?5turn?5?$CFf?$AA@ (0000)
0024BA34 0006:
??_C@_05MEHLAELG@clear?$AA@ (0000)
0024BA3C 0028:
??_C@_0CI@JBNOBGJN@turn?5angvel?5?$CF?42f?5danger?5?$CF?42f?5bon@ (0000)
0024BA64 0019:
??_C@_0BJ@PGBNPAPP@danger?5?$CF?42f?5turncos?5?$CF?42f?$AA@ (0000)
0024BA80 0013:
??_C@_0BD@KONBOPPL@curr?5?$HO?$CF?42f?5at?5?$CF?42f?$AA@ (0000)
0024BA94 0010:
??_C@_0BA@HBAMLDG@best?5?$CF?42f?5at?5?$CFd?$AA@ (0000)
0024BAA4 000a:
??_C@_09CEJNEBED@?$CFd?3?5w?$CF?42f?$AA@ (0000)
0024BAB0 0004:
??_C@_03MIDPFCKG@c?$CFd?$AA@ (0000)
0024BAB4 0005:
??_C@_04GFJLOHHD@?$CF?43f?$AA@ (0000)
0024BABC 0015:
??_C@_0BF@HCCPEKME@not?9occluding?9player?$AA@ (0000)
0024BAD4 0011:
??_C@_0BB@CGPCEBFI@occluding?9player?$AA@ (0000)
0024BAE8 0010:
??_C@_0BA@FGDGAOMK@blocking?9player?$AA@ (0000)
0024BAF8 0017:
??_C@_0BH@INBBKGHA@aiming?5occlusion?5error?$AA@ (0000)
0024BB10 0010:
??_C@_0BA@NEAFJGOP@?$CFsforce?9stop?5?$CFd?$AA@ (0000)
0024BB20 0011:
??_C@_0BB@ELDMCGNH@moving?9into?9fire?$AA@ (0000)
0024BB34 0005:
??_C@_04HDOCAJNK@?$CFs?$CFs?$AA@ (0000)
0024BB3C 000a:
??_C@_09DFFBEGIJ@blocking?5?$AA@ (0000)
0024BB48 0011:
??_C@_0BB@OOGDDJAC@blocking?9player?5?$AA@ (0000)
0024BB5C 0011:
??_C@_0BB@ECGBEOEM@friends?9blocking?$AA@ (0000)
0024BB70 0006:
??_C@_05KLHICNFN@?$CF3?42f?$AA@ (0000)
0024BB78 0004:
__real@3ec00000 (0000)
0024BB80 0046:
??_C@_0EG@GHABCNDK@num_firing_position_colors?5?$DM?5MAX@ (0000)
002B741C 0038:
_global_ai_debug_firing_position_color_count (0000)
00319CB8 004a:
_bss_00319cb8 (0000)
_actor_debug_array (0040)
_actor_path_debug_array (0044)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+93
View File
@@ -0,0 +1,93 @@
/*
AI_PROFILE.C
symbols in this file:
00041C90 0020:
_ai_profile_initialize (0000)
00041CB0 0010:
_ai_profile_dispose (0000)
00041CC0 0020:
_ai_profile_initialize_for_new_map (0000)
00041CE0 0010:
_ai_profile_dispose_from_old_map (0000)
00041CF0 0110:
_ai_profile_update (0000)
00041E00 0070:
_ai_profile_display (0000)
00041E70 0090:
_code_00041e70 (0000)
00041F00 0040:
_ai_profile_change_render_spray (0000)
00041F40 0010:
_code_00041f40 (0000)
00041F50 0010:
_code_00041f50 (0000)
00041F60 0050:
_code_00041f60 (0000)
00041FB0 0010:
_code_00041fb0 (0000)
00041FC0 0010:
_code_00041fc0 (0000)
00041FD0 0050:
_code_00041fd0 (0000)
00042020 0010:
_code_00042020 (0000)
00042030 0060:
_code_00042030 (0000)
00042090 0070:
_code_00042090 (0000)
00042100 0060:
_code_00042100 (0000)
00042160 0090:
_code_00042160 (0000)
000421F0 0070:
_code_000421f0 (0000)
00042260 0060:
_code_00042260 (0000)
000422C0 0150:
_code_000422c0 (0000)
00042410 0080:
_ai_profile_render (0000)
0024BBC8 0012:
??_C@_0BC@FECLANMB@activation?5status?$AA@ (0000)
0024BBE0 0059:
??_C@_0FJ@HFLBIAGN@?$CImeter?9?$DOhistory_next_index?5?$DO?$DN?50?$CJ@ (0000)
0024BC3C 001e:
??_C@_0BO@JBPKCAGJ@definition?9?$DOmeter_id?5?$DN?$DN?5index?$AA@ (0000)
0024BC5C 001f:
??_C@_0BP@IDLEFHAL@c?3?2halo?2SOURCE?2ai?2ai_profile?4c?$AA@ (0000)
0024BC80 004f:
??_C@_0EP@EALMABPN@ai?5enc?5?$CF?52d?1?$CF?53d?0?5actor?5?$CF?53d?1?$CF?53@ (0000)
0024BCD0 0012:
??_C@_0BC@LJCLCOPD@AI?5line?9spray?3?5?$CFs?$AA@ (0000)
0024BCE4 001e:
??_C@_0BO@PNNEPAEO@encounters?5?$CFd?1?$CFd?$HMtprops?5?$CFd?1?$CFd?$AA@ (0000)
0024BD04 001e:
??_C@_0BO@GPBPAFNH@actors?5?$CFd?1?$CFd?1?$CFd?$HMunits?5?$CFd?1?$CFd?$CFd?$AA@ (0000)
0024BD24 0022:
??_C@_0CC@KKENFKIE@swarms?5?$CFd?1?$CFd?1?$CFd?$HMtcomponents?5?$CFd?1?$CF@ (0000)
0024BD48 003d:
??_C@_0DN@KDGEGKJF@props?5a?1o?1u?3?$HMtenemy?5?$CFd?1?$CFd?1?$CFd?$HMtfr@ (0000)
0024BD88 003d:
??_C@_0DN@CMELKBKH@collisions?5?$CFd?$HMtlineofsight?5?$CFd?$HMtl@ (0000)
0024BDC8 002e:
??_C@_0CO@HHCJMMCK@path_flood?5?$CFd?$HMtpath_find?5?$CFd?$HMtact@ (0000)
002B7458 00ec:
_global_ai_meter_definitions (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+43
View File
@@ -0,0 +1,43 @@
/*
AI_SCENARIO_DEFINITIONS.C
symbols in this file:
00042490 0060:
_scenario_get_encounter_by_name (0000)
000424F0 0060:
_encounter_definition_get_squad_by_name (0000)
00042550 0060:
_encounter_definition_get_platoon_by_name (0000)
000425B0 00e0:
_choose_random_array_element (0000)
0024BDF8 0012:
??_C@_0BC@MAOKEIKD@guard_at_position?$AA@ (0000)
0024BE0C 000c:
??_C@_0M@CJJPMLKE@move_random?$AA@ (0000)
0024BE18 0011:
??_C@_0BB@OJDOAOPK@move_loop_random?$AA@ (0000)
0024BE2C 0019:
??_C@_0BJ@IJBEFDLI@move_loop_back_and_forth?$AA@ (0000)
0024BE48 000a:
??_C@_09KGOMJPLJ@move_loop?$AA@ (0000)
0024BE54 000c:
??_C@_0M@EEPMEDCG@move_repeat?$AA@ (0000)
002B7544 0030:
_global_ai_default_state_names (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+459
View File
@@ -0,0 +1,459 @@
/*
AI_SCRIPT.C
symbols in this file:
00042690 0090:
_encounter_get_platoon (0000)
00042720 0010:
_ai_script_initialize (0000)
00042730 0010:
_ai_script_dispose (0000)
00042740 0010:
_ai_script_initialize_for_new_map (0000)
00042750 0010:
_ai_script_dispose_from_old_map (0000)
00042760 0130:
_ai_index_from_string (0000)
00042890 00f0:
_ai_index_to_string (0000)
00042980 0120:
_ai_index_platoon_iterator_new (0000)
00042AA0 0070:
_ai_index_platoon_iterator_next (0000)
00042B10 0100:
_ai_index_squad_iterator_new (0000)
00042C10 00e0:
_ai_index_squad_iterator_next (0000)
00042CF0 00d0:
_ai_index_actor_iterator_new (0000)
00042DC0 0070:
_ai_index_actor_iterator_next (0000)
00042E30 00a0:
_object_list_from_ai_reference (0000)
00042ED0 0220:
_ai_scripting_attach_unit (0000)
000430F0 0040:
_ai_scripting_attach_units (0000)
00043130 0060:
_ai_scripting_detach_unit (0000)
00043190 0090:
_ai_scripting_detach_units (0000)
00043220 0090:
_ai_scripting_place (0000)
000432B0 0060:
_code_000432b0 (0000)
00043310 0060:
_ai_scripting_kill (0000)
00043370 0060:
_ai_scripting_kill_silent (0000)
000433D0 0090:
_ai_scripting_erase (0000)
00043460 0030:
_ai_scripting_erase_all (0000)
00043490 0020:
_ai_scripting_deselect (0000)
000434B0 0040:
_ai_scripting_select (0000)
000434F0 0110:
_ai_scripting_spawn_actor (0000)
00043600 0080:
_ai_scripting_set_respawn (0000)
00043680 0080:
_ai_scripting_set_deaf (0000)
00043700 0080:
_ai_scripting_set_blind (0000)
00043780 00d0:
_ai_scripting_magically_see_unit (0000)
00043850 0040:
_ai_scripting_magically_see_units (0000)
00043890 0090:
_ai_scripting_timer_start (0000)
00043920 00a0:
_ai_scripting_timer_expire (0000)
000439C0 02d0:
_code_000439c0 (0000)
00043C90 0020:
_ai_scripting_swarm_count (0000)
00043CB0 0020:
_ai_scripting_nonswarm_count (0000)
00043CD0 0020:
_ai_scripting_living_count (0000)
00043CF0 0040:
_ai_scripting_living_fraction (0000)
00043D30 0030:
_ai_scripting_strength (0000)
00043D60 0060:
_ai_scripting_is_attacking (0000)
00043DC0 0090:
_ai_scripting_attack (0000)
00043E50 0090:
_ai_scripting_defend (0000)
00043EE0 0090:
_ai_scripting_maneuver (0000)
00043F70 00a0:
_ai_scripting_maneuver_enable (0000)
00044010 0430:
_code_00044010 (0000)
00044440 0550:
_code_00044440 (0000)
00044990 00a0:
_ai_scripting_migrate (0000)
00044A30 00f0:
_code_00044a30 (0000)
00044B20 0110:
_ai_scripting_migrate_by_unit (0000)
00044C30 00e0:
_ai_scripting_migrate_and_speak (0000)
00044D10 00f0:
_ai_scripting_allegiance (0000)
00044E00 0050:
_ai_scripting_allegiance_remove (0000)
00044E50 0050:
_ai_scripting_allegiance_broken (0000)
00044EA0 0050:
_code_00044ea0 (0000)
00044EF0 0060:
_ai_scripting_going_to_vehicle (0000)
00044F50 00a0:
_ai_scripting_exit_vehicle (0000)
00044FF0 00a0:
_ai_scripting_braindead (0000)
00045090 0100:
_ai_scripting_braindead_by_unit (0000)
00045190 00a0:
_ai_scripting_ignore (0000)
00045230 00a0:
_ai_scripting_prefer_target (0000)
000452D0 0120:
_code_000452d0 (0000)
000453F0 0060:
_ai_scripting_teleport_starting_location_if_unsupported (0000)
00045450 0060:
_ai_scripting_teleport_starting_location (0000)
000454B0 0090:
_ai_scripting_try_to_fight_nothing (0000)
00045540 00d0:
_ai_scripting_try_to_fight (0000)
00045610 0090:
_ai_scripting_try_to_fight_player (0000)
000456A0 00a0:
_ai_scripting_allow_charge (0000)
00045740 00c0:
_ai_scripting_command_list (0000)
00045800 00a0:
_ai_scripting_command_list_by_unit (0000)
000458A0 0090:
_ai_scripting_command_list_advance (0000)
00045930 0070:
_ai_scripting_command_list_advance_by_unit (0000)
000459A0 0050:
_code_000459a0 (0000)
000459F0 0250:
_ai_scripting_command_list_status (0000)
00045C40 00d0:
_ai_scripting_free (0000)
00045D10 00d0:
_ai_scripting_free_units (0000)
00045DE0 00e0:
_ai_scripting_attach_free (0000)
00045EC0 00b0:
_ai_scripting_force_active (0000)
00045F70 00d0:
_ai_scripting_force_active_by_unit (0000)
00046040 00d0:
_ai_scripting_set_return_state (0000)
00046110 00a0:
_ai_scripting_set_current_state (0000)
000461B0 0080:
_code_000461b0 (0000)
00046230 00a0:
_ai_scripting_status (0000)
000462D0 0010:
_ai_scripting_reconnect (0000)
000462E0 0090:
_ai_scripting_playfight (0000)
00046370 01f0:
_ai_scripting_vehicle_encounter (0000)
00046560 00a0:
_ai_scripting_find_vehicle_enterable (0000)
00046600 0040:
_ai_scripting_vehicle_enterable_distance (0000)
00046640 0050:
_ai_scripting_vehicle_enterable_team (0000)
00046690 0050:
_ai_scripting_vehicle_enterable_actor_type (0000)
000466E0 00a0:
_ai_scripting_vehicle_enterable_actors (0000)
00046780 00a0:
_ai_scripting_vehicle_enterable_disable (0000)
00046820 0070:
_ai_scripting_look_at_object (0000)
00046890 0050:
_ai_scripting_stop_looking (0000)
000468E0 00a0:
_ai_scripting_automatic_migration_target (0000)
00046980 0080:
_ai_scripting_follow_target_disable (0000)
00046A00 0080:
_ai_scripting_follow_target_players (0000)
00046A80 0090:
_ai_scripting_follow_target_unit (0000)
00046B10 00b0:
_ai_scripting_follow_target_ai (0000)
00046BC0 0080:
_ai_scripting_follow_distance (0000)
00046C40 0070:
_ai_scripting_conversation (0000)
00046CB0 0060:
_ai_scripting_conversation_stop (0000)
00046D10 0060:
_ai_scripting_conversation_advance (0000)
00046D70 0010:
_ai_scripting_conversation_line (0000)
00046D80 0010:
_ai_scripting_conversation_status (0000)
00046D90 00b0:
_ai_scripting_link_activation (0000)
00046E40 0090:
_ai_scripting_berserk (0000)
00046ED0 0070:
_ai_scripting_set_team (0000)
00046F40 00a0:
_ai_scripting_allow_dormant (0000)
00046FE0 00d0:
_ai_scripting_magically_see_encounter (0000)
000470B0 00a0:
_ai_scripting_magically_see_players (0000)
00047150 0010:
_ai_scripting_retreat (0000)
00047160 0150:
_code_00047160 (0000)
000472B0 0080:
_ai_scripting_go_to_vehicle (0000)
00047330 0080:
_ai_scripting_go_to_vehicle_override (0000)
000473B0 0170:
_ai_scripting_renew (0000)
0024BE60 0001:
_ai_script_squad_separator (0000)
0024BE68 004d:
??_C@_0EN@GCPCCILO@platoon_absolute_index?$DO?$DN0?5?$CG?$CG?5pla@ (0000)
0024BEB8 006b:
??_C@_0GL@DJKDNA@platoon_index?$DO?$DN0?5?$CG?$CG?5platoon_inde@ (0000)
0024BF24 0020:
??_C@_0CA@NFDLKDJF@ai_string?5?$CG?$CG?5ai_index_reference?$AA@ (0000)
0024BF44 001e:
??_C@_0BO@MOPGHLE@c?3?2halo?2SOURCE?2ai?2ai_script?4c?$AA@ (0000)
0024BF64 0009:
??_C@_08EAMFHCBD@iterator?$AA@ (0000)
0024BF70 0042:
??_C@_0EC@OOBEBCBB@ai_attach?3?5could?5not?5find?5a?5squa@ (0000)
0024BFB8 0058:
??_C@_0FI@EBLCLMKD@ai_attach?3?5no?5actor?5variant?5spec@ (0000)
0024C010 001d:
??_C@_0BN@JAFMEMLM@?$CFs?3?5ai_attach_unit?50x?$CF04X?5?$CFs?$AA@ (0000)
0024C030 001a:
??_C@_0BK@DKGEFPIC@?$CFs?3?5ai_detach_unit?50x?$CF04X?$AA@ (0000)
0024C04C 0010:
??_C@_0BA@GMNPJHGI@?$CFs?3?5ai_place?5?$CFs?$AA@ (0000)
0024C05C 000f:
??_C@_0P@BLMJLDDB@?$CFs?3?5ai_kill?5?$CFs?$AA@ (0000)
0024C06C 0016:
??_C@_0BG@OLKJPCEP@?$CFs?3?5ai_kill_silent?5?$CFs?$AA@ (0000)
0024C084 0010:
??_C@_0BA@OAGPLBNE@?$CFs?3?5ai_erase?5?$CFs?$AA@ (0000)
0024C094 0011:
??_C@_0BB@DAJIABOO@?$CFs?3?5ai_erase_all?$AA@ (0000)
0024C0A8 0016:
??_C@_0BG@MJMIDNGO@?$CFs?3?5ai_spawn_actor?5?$CFs?$AA@ (0000)
0024C0C0 0019:
??_C@_0BJ@EEKIPIPP@?$CFs?3?5ai_set_respawn?5?$CFs?5?$CFs?$AA@ (0000)
0024C0DC 0004:
??_C@_03MCADLMAF@off?$AA@ (0000)
0024C0E0 0003:
??_C@_02LIELOMNJ@on?$AA@ (0000)
0024C0E4 0016:
??_C@_0BG@NGLFOKP@?$CFs?3?5ai_set_deaf?5?$CFs?5?$CFs?$AA@ (0000)
0024C0FC 0017:
??_C@_0BH@HLGNJJOK@?$CFs?3?5ai_set_blind?5?$CFs?5?$CFs?$AA@ (0000)
0024C114 0024:
??_C@_0CE@JALKNAAG@?$CFs?3?5ai_magically_see_unit?5?$CFs?50x?$CF@ (0000)
0024C138 0016:
??_C@_0BG@LFPOGIIF@?$CFs?3?5ai_timer_start?5?$CFs?$AA@ (0000)
0024C150 0017:
??_C@_0BH@JJJMMONM@?$CFs?3?5ai_timer_expire?5?$CFs?$AA@ (0000)
0024C168 003d:
??_C@_0DN@EGOGAENI@?$CIcount_type?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIcount_type@ (0000)
0024C1A8 0011:
??_C@_0BB@JNDCBAGE@?$CFs?3?5ai_attack?5?$CFs?$AA@ (0000)
0024C1BC 0011:
??_C@_0BB@DELPBLFI@?$CFs?3?5ai_defend?5?$CFs?$AA@ (0000)
0024C1D0 0013:
??_C@_0BD@CBLKAFAE@?$CFs?3?5ai_maneuver?5?$CFs?$AA@ (0000)
0024C1E4 001d:
??_C@_0BN@CEFNBAKE@?$CFs?3?5ai_maneuver_enable?5?$CFs?5?$CFs?$AA@ (0000)
0024C204 0038:
??_C@_0DI@LFBKAFPO@?5?5?$CFs?5?9?$DO?5?$CFs?5?$CIno?5matching?5squads?5f@ (0000)
0024C23C 0025:
??_C@_0CF@LALAHEHA@?5?5?$CFs?5?9?$DO?5?$CFs?5?$CIno?5matching?5types?5fo@ (0000)
0024C264 001a:
??_C@_0BK@CDOPAPNJ@?5?5?$CFs?5?9?$DO?5?$CFs?5?$CIsame?9type?5?$CFs?$CJ?$AA@ (0000)
0024C280 001b:
??_C@_0BL@GFNCBEPH@?5?5?$CFs?5?9?$DO?5?$CFs?5?$CIsame?9actor?5?$CFs?$CJ?$AA@ (0000)
0024C2A0 005c:
??_C@_0FM@JEMPJMEH@?$CIfound_squad_index?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIfou@ (0000)
0024C2FC 001d:
??_C@_0BN@BJIJNCFF@?5?5?$CFs?5?9?$DO?5?$CFs?5?$CIsame?9variant?5?$CFs?$CJ?$AA@ (0000)
0024C31C 000f:
??_C@_0P@HILOFCFK@?5?5?$CFs?5unchanged?$AA@ (0000)
0024C330 008c:
??_C@_0IM@CIJDMBDM@?$CItarget_squad_indices?$FLcurrent_sq@ (0000)
0024C3C0 0053:
??_C@_0FD@PAODIOCF@?$CIcurrent_squad_index?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIc@ (0000)
0024C414 0009:
??_C@_08DLMOHGLB@squad?5?$CFs?$AA@ (0000)
0024C420 0063:
??_C@_0GD@DHCPGCGK@?$CIsource_iterator?4squad_index?5?$DO?$DN?5@ (0000)
0024C484 0015:
??_C@_0BF@OECKHMKF@?$CFs?3?5ai_migrate?5?$CFs?5?$CFs?$AA@ (0000)
0024C49C 0005:
??_C@_04NPEDKLDA@unit?$AA@ (0000)
0024C4A4 0026:
??_C@_0CG@IJGCILMG@?$CFs?3?5ai_migrate_by_unit?5?$DMsome?5guy@ (0000)
0024C4D0 0050:
??_C@_0FA@GAKJCPBM@ai_migrate_and_speak?3?5unknown?5sp@ (0000)
0024C520 0022:
??_C@_0CC@JKLCPGKI@?$CFs?3?5ai_migrate_and_speak?5?$CFs?5?$CFs?5?$CF@ (0000)
0024C544 0018:
??_C@_0BI@ONAJBOCN@?$CFs?3?5ai_allegiance?5?$CFd?5?$CFd?$AA@ (0000)
0024C55C 001f:
??_C@_0BP@ICGEEHN@?$CFs?3?5ai_allegiance_remove?5?$CFd?5?$CFd?$AA@ (0000)
0024C57C 0017:
??_C@_0BH@HFKAOKKA@?$CFs?3?5ai_exit_vehicle?5?$CFs?$AA@ (0000)
0024C594 0017:
??_C@_0BH@NDIAEFNI@?$CFs?3?5ai_braindead?5?$CFs?5?$CFs?$AA@ (0000)
0024C5AC 0028:
??_C@_0CI@LMFNPANN@?$CFs?3?5ai_braindead_by_unit?5?$DMsome?5g@ (0000)
0024C5D4 0020:
??_C@_0CA@GOECGNLE@?$CFs?3?5ai_disregard?5?$DMsome?5guys?$DO?5?$CFs?$AA@ (0000)
0024C5F4 0024:
??_C@_0CE@HDJGLAIB@?$CFs?3?5ai_prefer_target?5?$DMsome?5guys?$DO@ (0000)
0024C618 0034:
??_C@_0DE@FNEPLHAJ@?$CFs?3?5ai_teleport_starting_locatio@ (0000)
0024C64C 0025:
??_C@_0CF@JAILDLKJ@?$CFs?3?5ai_teleport_starting_locatio@ (0000)
0024C674 001f:
??_C@_0BP@MEILCKDB@?$CFs?3?5ai_try_to_fight_nothing?5?$CFs?$AA@ (0000)
0024C694 001a:
??_C@_0BK@BDNNJAGD@?$CFs?3?5ai_try_to_fight?5?$CFs?5?$CFs?$AA@ (0000)
0024C6B0 001e:
??_C@_0BO@OIEPGOJB@?$CFs?3?5ai_try_to_fight_player?5?$CFs?$AA@ (0000)
0024C6D0 001a:
??_C@_0BK@MBMJKENK@?$CFs?3?5ai_allow_charge?5?$CFs?5?$CFs?$AA@ (0000)
0024C6EC 0006:
??_C@_05LAPONLG@false?$AA@ (0000)
0024C6F4 0005:
??_C@_04LOAJBDKD@true?$AA@ (0000)
0024C6FC 001a:
??_C@_0BK@ECBKDHID@?$CFs?3?5ai_command_list?5?$CFs?5?$CFd?$AA@ (0000)
0024C718 0026:
??_C@_0CG@KDJJNHNP@?$CFs?3?5ai_command_list_by_unit?5?$DMuni@ (0000)
0024C740 001f:
??_C@_0BP@PAICMAGO@?$CFs?3?5ai_command_list_advance?5?$CFs?$AA@ (0000)
0024C760 0030:
??_C@_0DA@BIDMGCPJ@?$CFs?3?5ai_command_list_advance_by_u@ (0000)
0024C790 000f:
??_C@_0P@MPAKFNGN@?$CFs?3?5ai_free?5?$CFs?$AA@ (0000)
0024C7A0 001f:
??_C@_0BP@HEGBFLAM@?$CFs?3?5ai_free_units?5?$DMsome?5units?$DO?$AA@ (0000)
0024C7C0 0036:
??_C@_0DG@OFCIAFCL@?$CFs?3?5ai_attach_free?5?$CFs?5cannot?5be?5@ (0000)
0024C7F8 001d:
??_C@_0BN@IEADAMKD@?$CFs?3?5ai_attach_free?50x?$CF04X?5?$CFs?$AA@ (0000)
0024C818 001a:
??_C@_0BK@NGFIDLOP@?$CFs?3?5ai_force_active?5?$CFs?5?$CFs?$AA@ (0000)
0024C838 0063:
??_C@_0GD@LKDLLFKG@ai_force_active_by_unit?3?5unit?5is@ (0000)
0024C89C 002b:
??_C@_0CL@INBDPDM@?$CFs?3?5ai_force_active_by_unit?5?$DMsom@ (0000)
0024C8C8 001e:
??_C@_0BO@GELBKNIM@?$CFs?3?5ai_set_return_state?5?$CFs?5?$CFd?$AA@ (0000)
0024C8E8 001f:
??_C@_0BP@OMBCPLPA@?$CFs?3?5ai_set_current_state?5?$CFs?5?$CFd?$AA@ (0000)
0024C908 0011:
??_C@_0BB@DKMLPAFC@?$CFs?3?5ai_status?5?$CFs?$AA@ (0000)
0024C91C 0017:
??_C@_0BH@LGGEBDHB@?$CFs?3?5ai_playfight?5?$CFs?5?$CFs?$AA@ (0000)
0024C934 0028:
??_C@_0CI@NHKIHJII@?$CFs?3?5ai_vehicle_encounter?5?$DMsome?5u@ (0000)
0024C95C 003e:
??_C@_0DO@IHGIOMGJ@ai_vehicle_enterable?3?5too?5many?5e@ (0000)
0024C99C 0031:
??_C@_0DB@BDJKMKHA@?$CFs?3?5ai_vehicle_enterable_distanc@ (0000)
0024C9D0 0030:
??_C@_0DA@FDMBDBPG@?$CFs?3?5ai_vehicle_enterable_team?5?$DMs@ (0000)
0024CA00 0036:
??_C@_0DG@LLMHMJE@?$CFs?3?5ai_vehicle_enterable_actor_t@ (0000)
0024CA38 0043:
??_C@_0ED@KEKJMIKK@ai_vehicle_enterable_actors?3?5too@ (0000)
0024CA7C 0032:
??_C@_0DC@OHFPMGGD@?$CFs?3?5ai_vehicle_enterable_actors?5@ (0000)
0024CAB0 0030:
??_C@_0DA@KCDIODEC@?$CFs?3?5ai_vehicle_enterable_disable@ (0000)
0024CAE0 0030:
??_C@_0DA@MEBODMJO@?$CFs?3?5ai_look_at_object?5?$DMsome?5unit@ (0000)
0024CB10 0020:
??_C@_0CA@PDOKPGNA@?$CFs?3?5ai_stop_looking?5?$DMsome?5unit?$DO?$AA@ (0000)
0024CB30 0028:
??_C@_0CI@LKLFKNDG@?$CFs?3?5ai_automatic_migration_targe@ (0000)
0024CB58 0020:
??_C@_0CA@HJOJOKEG@?$CFs?3?5ai_follow_target_disable?5?$CFs?$AA@ (0000)
0024CB78 0020:
??_C@_0CA@LPFMOJGF@?$CFs?3?5ai_follow_target_players?5?$CFs?$AA@ (0000)
0024CB98 0029:
??_C@_0CJ@PMNFIMPA@?$CFs?3?5ai_follow_target_unit?5?$CFs?5?$DMso@ (0000)
0024CBC4 001e:
??_C@_0BO@NGDADOD@?$CFs?3?5ai_follow_target_ai?5?$CFs?5?$CFs?$AA@ (0000)
0024CBE4 001f:
??_C@_0BP@FMPPICBE@?$CFs?3?5ai_follow_distance?5?$CFs?5?$CF?41f?$AA@ (0000)
0024CC04 0017:
??_C@_0BH@IGJNNOIC@?$CFs?3?5ai_conversation?5?$CFs?$AA@ (0000)
0024CC1C 001c:
??_C@_0BM@HGJNKNLN@?$CFs?3?5ai_conversation_stop?5?$CFs?$AA@ (0000)
0024CC38 001f:
??_C@_0BP@IBOEPNGC@?$CFs?3?5ai_conversation_advance?5?$CFs?$AA@ (0000)
0024CC58 006a:
??_C@_0GK@GMJOKPPN@ai_link_activation?3?5cannot?5link?5@ (0000)
0024CCC4 001d:
??_C@_0BN@OAHKKHJB@?$CFs?3?5ai_link_activation?5?$CFs?5?$CFs?$AA@ (0000)
0024CCE4 0012:
??_C@_0BC@GFJPNDGO@?$CFs?3?5ai_berserk?5?$CFs?$AA@ (0000)
0024CCF8 001b:
??_C@_0BL@MKHHLLAC@?$CFs?3?5ai_allow_dormant?5?$CFs?5?$CFs?$AA@ (0000)
0024CD14 0025:
??_C@_0CF@EKNEFNDI@?$CFs?3?5ai_magically_see_encounter?5?$CF@ (0000)
0024CD3C 0020:
??_C@_0CA@ENGIEHJO@?$CFs?3?5ai_magically_see_players?5?$CFs?$AA@ (0000)
0024CD5C 0022:
??_C@_0CC@LGDPOIEJ@?$CFs?3?5ai_go_to_vehicle?5?$CFs?50x?$CF04X?5?$CF@ (0000)
0024CD80 002b:
??_C@_0CL@HNAPEBL@?$CFs?3?5ai_go_to_vehicle_override?5?$CFs@ (0000)
0024CDAC 0010:
??_C@_0BA@GHFHPDND@?$CFs?3?5ai_renew?5?$CFs?$AA@ (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+294
View File
@@ -0,0 +1,294 @@
/*
ENCOUNTERS.C
symbols in this file:
00047520 00f0:
_encounters_initialize (0000)
00047610 0010:
_encounters_dispose (0000)
00047620 0020:
_encounters_dispose_from_old_map (0000)
00047640 04b0:
_encounter_compute_activation_cluster_bit_vector (0000)
00047AF0 01b0:
_encounter_detach_actor (0000)
00047CA0 0110:
_encounter_attach_unit (0000)
00047DB0 00b0:
_encounterless_attach_actor (0000)
00047E60 0140:
_encounterless_detach_actor (0000)
00047FA0 0060:
_encounter_get_by_name (0000)
00048000 0030:
_encounter_iterator_new (0000)
00048030 0040:
_encounter_iterator_next (0000)
00048070 0050:
_encounter_actor_iterator_new (0000)
000480C0 0040:
_encounter_actor_iterator_next (0000)
00048100 0080:
_encounter_actor_iterator_prev (0000)
00048180 0040:
_actor_iterator_new (0000)
000481C0 00a0:
_actor_iterator_next (0000)
00048260 0050:
_code_00048260 (0000)
000482B0 00f0:
_code_000482b0 (0000)
000483A0 00a0:
_encounter_modify_pursuit_desires (0000)
00048440 0280:
_encounter_determine_pursuit_availability (0000)
000486C0 00d0:
_code_000486c0 (0000)
00048790 0290:
_code_00048790 (0000)
00048A20 0080:
_code_00048a20 (0000)
00048AA0 0060:
_encounterless_activate (0000)
00048B00 0050:
_code_00048b00 (0000)
00048B50 00c0:
_code_00048b50 (0000)
00048C10 00a0:
_encounter_link_activation (0000)
00048CB0 00a0:
_code_00048cb0 (0000)
00048D50 03d0:
_code_00048d50 (0000)
00049120 01b0:
_encounter_stand_down (0000)
000492D0 0090:
_code_000492d0 (0000)
00049360 0070:
_code_00049360 (0000)
000493D0 0030:
_encounter_set_blind (0000)
00049400 0030:
_encounter_set_deaf (0000)
00049430 00b0:
_encounter_squad_timer_expire (0000)
000494E0 0100:
_code_000494e0 (0000)
000495E0 0290:
_code_000495e0 (0000)
00049870 00a0:
_encounters_initialize_for_new_map (0000)
00049910 00d0:
_encounters_unit_died (0000)
000499E0 0140:
_encounter_verify_firing_position_owner_actor_indices (0000)
00049B20 0130:
_encounter_build_firing_position_owner_actor_indices (0000)
00049C50 0100:
_encounter_mark_examined_pursuit_position (0000)
00049D50 00b0:
_encounter_pursuit_position_already_examined (0000)
00049E00 02e0:
_encounter_get_actor_starting_location (0000)
0004A0E0 0030:
_encounter_force_activate (0000)
0004A110 0030:
_encounter_force_deactivate (0000)
0004A140 0110:
_code_0004a140 (0000)
0004A250 07c0:
_code_0004a250 (0000)
0004AA10 0170:
_code_0004aa10 (0000)
0004AB80 0120:
_encounter_spawn_actor (0000)
0004ACA0 0050:
_encounter_set_respawn (0000)
0004ACF0 02c0:
_code_0004acf0 (0000)
0004AFB0 0140:
_code_0004afb0 (0000)
0004B0F0 0780:
_code_0004b0f0 (0000)
0004B870 0220:
_encounter_attach_actor (0000)
0004BA90 0470:
_encounter_update_status (0000)
0004BF00 0080:
_encounters_update_dirty_status (0000)
0004BF80 02f0:
_encounter_create (0000)
0004C270 01c0:
_code_0004c270 (0000)
0004C430 00c0:
_encounters_create_for_new_map (0000)
0004C4F0 0100:
_encounters_update (0000)
0024CDBC 0018:
_global_empty_possibility (0000)
_global_post_combat_translation_table (0010)
0024CDD4 000d:
??_C@_0N@BNPPEOCF@pursuit_data?$AA@ (0000)
0024CDE4 000b:
??_C@_0L@BAANOOMI@ai?5pursuit?$AA@ (0000)
0024CDF0 000e:
??_C@_0O@CIMAAJHO@platoon_array?$AA@ (0000)
0024CE00 0008:
??_C@_07GONBCAAG@platoon?$AA@ (0000)
0024CE08 000c:
??_C@_0M@EHCGPGM@squad_array?$AA@ (0000)
0024CE14 0006:
??_C@_05BDFMLHFG@squad?$AA@ (0000)
0024CE1C 000f:
??_C@_0P@MECKMOOF@encounter_data?$AA@ (0000)
0024CE2C 001f:
??_C@_0BP@EGKKNGMH@c?3?2halo?2SOURCE?2ai?2encounters?4c?$AA@ (0000)
0024CE50 0058:
??_C@_0FI@BMEIILPH@?$CImove_position?9?$DOcluster_index?5?$DO?$DN@ (0000)
0024CEA8 005c:
??_C@_0FM@DFHIGNCO@?$CIfiring_position?9?$DOcluster_index?5@ (0000)
0024CF04 003a:
??_C@_0DK@EFAAMOOO@?$CIcluster_index?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIcluster@ (0000)
0024CF40 0031:
??_C@_0DB@KHGAFALI@structure_bsp?9?$DOclusters?4count?5?$DM?$DN@ (0000)
0024CF74 001c:
??_C@_0BM@ONCBDDBG@platoon?9?$DOoriginal_count?5?$DO?50?$AA@ (0000)
0024CF90 001a:
??_C@_0BK@NALIBEDP@squad?9?$DOoriginal_count?5?$DO?50?$AA@ (0000)
0024CFAC 001e:
??_C@_0BO@FMKIINLL@encounter?9?$DOoriginal_count?5?$DO?50?$AA@ (0000)
0024CFCC 001d:
??_C@_0BN@DOEKPEEH@?$CKactor_index_reference?$CB?$DNNONE?$AA@ (0000)
0024CFEC 0025:
??_C@_0CF@FBFKAFPA@actor?9?$DOmeta?4unit_index?5?$DN?$DN?5unit_i@ (0000)
0024D014 002f:
??_C@_0CP@NCMOENFD@actor?9?$DOmeta?4encounter_index?5?$DN?$DN?5e@ (0000)
0024D044 001b:
??_C@_0BL@OIOHEOEO@?$CBactor?9?$DOmeta?4encounterless?$AA@ (0000)
0024D060 0022:
??_C@_0CC@PHCDCJEH@actor?9?$DOmeta?4encounter_index?$DN?$DNNON@ (0000)
0024D084 0022:
??_C@_0CC@LJBHAGND@actor?9?$DOmeta?4platoon_index?5?$DN?$DN?5NON@ (0000)
0024D0A8 0020:
??_C@_0CA@HNKMILAG@actor?9?$DOmeta?4squad_index?5?$DN?$DN?5NONE?$AA@ (0000)
0024D0C8 0024:
??_C@_0CE@BMJAJPHM@actor?9?$DOmeta?4encounter_index?5?$DN?$DN?5N@ (0000)
0024D0F0 005d:
??_C@_0FN@LOCOBBFO@WARNING?3?5too?5many?5actors?5searchi@ (0000)
0024D150 003d:
??_C@_0DN@ECMJNADN@?$CFs?5?$CF04X?3?5coord?5?$CFd?5current?5?$CFd?1?$CFd?1@ (0000)
0024D190 0029:
??_C@_0CJ@GDIDEEDO@overflowed?5MAXIMUM_PLATOONS_PER_@ (0000)
0024D1C0 0047:
??_C@_0EH@JLNGBIIA@encounter_definition?9?$DOplatoons?4c@ (0000)
0024D208 0027:
??_C@_0CH@CNGIJGEJ@overflowed?5MAXIMUM_SQUADS_PER_MA@ (0000)
0024D230 0043:
??_C@_0ED@JFKFDEJF@encounter_definition?9?$DOsquads?4cou@ (0000)
0024D278 0063:
??_C@_0GD@GOGHLEAJ@?$CIlink_encounter_index?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CI@ (0000)
0024D2DC 0036:
??_C@_0DG@EPEOFOPA@parent_prop?9?$DOorphan_prop_index?5?$DN@ (0000)
0024D314 001a:
??_C@_0BK@GDHJJECC@?$CBencounter?9?$DOenemy_visible?$AA@ (0000)
0024D330 001c:
??_C@_0BM@IJGMLGCM@?$CFs?1?$CFs?3?5delay?5timer?5finished?$AA@ (0000)
0024D34C 0026:
??_C@_0CG@HJILMOOD@?$CFs?1?$CFs?3?5delay?5timer?5started?5?$CI?$CF?41f@ (0000)
0024D374 0011:
??_C@_0BB@HBMEBMNH@survivors?5?$CFd?5?$DN?50?$AA@ (0000)
0024D388 0012:
??_C@_0BC@FNKOIBFL@survivors?5?$CFd?5?$DM?$DN?51?$AA@ (0000)
0024D39C 0021:
??_C@_0CB@HJKPDMEB@survivors?5?$CFd?5?$DM?$DN?575?$CF?$CF?5of?5total?5?$CFd@ (0000)
0024D3C0 0021:
??_C@_0CB@NHMKHBJA@survivors?5?$CFd?5?$DM?$DN?550?$CF?$CF?5of?5total?5?$CFd@ (0000)
0024D3E4 0021:
??_C@_0CB@INABNAMN@survivors?5?$CFd?5?$DM?$DN?525?$CF?$CF?5of?5total?5?$CFd@ (0000)
0024D408 0018:
??_C@_0BI@IGDFHOAI@survivors?5?$CFd?5?$DM?5total?5?$CFd?$AA@ (0000)
0024D420 0015:
??_C@_0BF@FJJAHOMB@strength?5?$CF?42f?5?$DM?525?$CF?$CF?$AA@ (0000)
0024D438 0015:
??_C@_0BF@NMGOFCOD@strength?5?$CF?42f?5?$DM?550?$CF?$CF?$AA@ (0000)
0024D450 0015:
??_C@_0BF@JBHAPBLB@strength?5?$CF?42f?5?$DM?575?$CF?$CF?$AA@ (0000)
0024D468 004a:
??_C@_0EK@PHDJOLGD@owner_actor_indices?$FLactor?9?$DOfirin@ (0000)
0024D4B8 0093:
??_C@_0JD@GAKCCOHE@actor?9?$DOfiring_positions?4current_@ (0000)
0024D550 005a:
??_C@_0FK@DNNFPKMF@firing_position_owner_actor_indi@ (0000)
0024D5B0 0084:
??_C@_0IE@GJHEMMJI@?$CIpursuit?9?$DOnext_actor_index_index@ (0000)
0024D634 0038:
??_C@_0DI@GONNFCHM@pursuit?9?$DOfiring_position_index?5?$DN@ (0000)
0024D66C 0014:
??_C@_0BE@MIHACDDA@found_index?5?$CB?$DN?5NONE?$AA@ (0000)
0024D680 0035:
??_C@_0DF@FCNHHGJA@BIT_VECTOR_TEST_FLAG?$CIsquad?9?$DOunus@ (0000)
0024D6B8 0063:
??_C@_0GD@GIHDEKAB@?$CIselected_behavior_index?5?$DO?$DN?50?$CJ?5?$CG@ (0000)
0024D720 009d:
??_C@_0JN@COMBHAJN@?$CIprimary_postcombat_behaviors?$FLpr@ (0000)
0024D7C0 0004:
__real@3b888889 (0000)
0024D7C8 006c:
??_C@_0GM@MFIMGOEE@WARNING?3?5cannot?5spawn?5actors?5in?5@ (0000)
0024D834 0022:
??_C@_0CC@EIGEOIGF@?$CFs?1?$CFs?3?5randomly?5selected?5to?5spaw@ (0000)
0024D858 002b:
??_C@_0CL@DJPLPKCC@?$CFs?1?$CFs?3?5current?5?$CFd?5?$DM?5max?5?$CFd?5?9?$DO?5de@ (0000)
0024D884 002f:
??_C@_0CP@JPOKCDIH@?$CFs?1?$CFs?3?5unable?5to?5spawn?0?5out?5of?5s@ (0000)
0024D8B4 002e:
??_C@_0CO@IIDKDHP@?$CFs?1?$CFs?3?5current?5?$CFd?5?$DM?5min?5?$CFd?5?9?$DO?5sp@ (0000)
0024D8E4 0018:
??_C@_0BI@NJPCKEMP@?$CFs?1?$CFs?5triggered?5?$CFs?5rule?$AA@ (0000)
0024D8FC 000a:
??_C@_09MEJNCKEO@attacking?$AA@ (0000)
0024D908 000a:
??_C@_09GNBACBHC@defending?$AA@ (0000)
0024D914 0021:
??_C@_0CB@JPLEGLHP@?$CFs?1?$CFs?5triggered?5maneuvering?5rule@ (0000)
0024D938 0030:
??_C@_0DA@LKCBJOBO@?$CFs?3?5current?5?$CFs?1?$CF?41f?5best?5?$CFs?1?$CF?41f@ (0000)
0024D968 0004:
__real@c47a0000 (0000)
0024D96C 0005:
??_C@_04NEBKMGJO@stay?$AA@ (0000)
0024D974 0008:
??_C@_07JBBGNPIP@migrate?$AA@ (0000)
0024D980 004d:
??_C@_0EN@MMBDPONO@WARNING?3?5squad?5?$CFs?1?$CFs?5has?5an?5inva@ (0000)
0024D9D0 004b:
??_C@_0EL@LEBBGDPA@WARNING?3?5actor?5changing?5to?5encou@ (0000)
0024DA1C 0035:
??_C@_0DF@OEDIHECK@?$CBencounter?9?$DOenemy_visible?5?$CG?$CG?5?$CBen@ (0000)
0024DA54 002e:
??_C@_0CO@DFDAGGAE@?$CFs?1?$CFs?3?5?$CFd?5current?5?$CFd?5leaders?0?5cr@ (0000)
0024DA84 000a:
??_C@_09PONLBLAH@no?5leader?$AA@ (0000)
0024DA90 000b:
??_C@_0L@JLIMGEDN@new?5leader?$AA@ (0000)
0024DA9C 000c:
??_C@_0M@ELGJNJDG@ai_place?5?$CFs?$AA@ (0000)
0024DAA8 000f:
??_C@_0P@IGLHCPJF@ai_place?5?$CFs?1?$CFs?$AA@ (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+23
View File
@@ -0,0 +1,23 @@
/*
ENCOUNTERS.H
file has inline function assertions.
*/
#ifndef __ENCOUNTERS_H
#define __ENCOUNTERS_H
#pragma once
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes/EXAMPLE.C */
/* ---------- globals */
/* ---------- public code */
#endif // __ENCOUNTERS_H
+169
View File
@@ -0,0 +1,169 @@
/*
PATH.C
symbols in this file:
0004C5F0 0010:
_paths_initialize (0000)
0004C600 0010:
_paths_dispose (0000)
0004C610 0010:
_paths_initialize_for_new_map (0000)
0004C620 0010:
_paths_dispose_from_old_map (0000)
0004C630 0030:
_path_input_new (0000)
0004C660 0010:
_path_input_set_target_object (0000)
0004C670 0030:
_path_input_set_start (0000)
0004C6A0 0040:
_path_input_set_attractor (0000)
0004C6E0 0020:
_path_input_set_search_bounds (0000)
0004C700 0040:
_path_state_new (0000)
0004C740 0030:
_path_state_destination (0000)
0004C770 0040:
_code_0004c770 (0000)
0004C7B0 0010:
_code_0004c7b0 (0000)
0004C7C0 01e0:
_code_0004c7c0 (0000)
0004C9A0 0230:
_code_0004c9a0 (0000)
0004CBD0 0120:
_code_0004cbd0 (0000)
0004CCF0 0080:
_code_0004ccf0 (0000)
0004CD70 0060:
_code_0004cd70 (0000)
0004CDD0 0080:
_path_get_node (0000)
0004CE50 0050:
_path_node_from_hash_table (0000)
0004CEA0 00f0:
_path_3d_available (0000)
0004CF90 0090:
_path_3d_build_path (0000)
0004D020 0130:
_path_state_approach_point (0000)
0004D150 04a0:
_path_state_build_path (0000)
0004D5F0 0250:
_code_0004d5f0 (0000)
0004D840 0070:
_code_0004d840 (0000)
0004D8B0 0180:
_code_0004d8b0 (0000)
0004DA30 00d0:
_closest_point_to_attractor (0000)
0004DB00 00c0:
_path_attractor_weight (0000)
0004DBC0 01f0:
_path_state_estimated_distance (0000)
0004DDB0 0830:
_code_0004ddb0 (0000)
0004E5E0 0100:
_path_state_find (0000)
0024DAB8 0054:
??_C@_0FE@EPMGNKHK@state?9?$DOnode_list?$FLparent_node_ind@ (0000)
0024DB10 0045:
??_C@_0EF@LADBNEPJ@state?9?$DOnode_list?$FLparent_node_ind@ (0000)
0024DB58 0046:
??_C@_0EG@NGIKIECC@?$CIparent_node_index?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIpar@ (0000)
0024DBA0 0042:
??_C@_0EC@FLANNGD@state?9?$DOnode_list?$FLnode_index?$FN?4qua@ (0000)
0024DBE4 0038:
??_C@_0DI@LCDBFPAM@?$CInode_index?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CInode_index@ (0000)
0024DC1C 003f:
??_C@_0DP@ONCFDIOO@?$CIheap_location?5?$DO?$DN?51?$CJ?5?$CG?$CG?5?$CIheap_lo@ (0000)
0024DC5C 0019:
??_C@_0BJ@IILBBPFP@c?3?2halo?2SOURCE?2ai?2path?4c?$AA@ (0000)
0024DC78 0049:
??_C@_0EJ@NPIFJABE@state?9?$DOnode_list?$FLchild_node_inde@ (0000)
0024DCC8 0048:
??_C@_0EI@JGENJHLI@state?9?$DOnode_list?$FLchild_node_inde@ (0000)
0024DD10 0044:
??_C@_0EE@LMKECELL@?$CIchild_node_index?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIchil@ (0000)
0024DD58 005f:
??_C@_0FP@HHDGGKGA@state?9?$DOnode_list?$FLnode_index?$FN?4qua@ (0000)
0024DDB8 0030:
??_C@_0DA@HHBOKDMG@state?9?$DOnode_list?$FLnode_index?$FN?4hea@ (0000)
0024DDE8 0017:
??_C@_0BH@BOHECKL@state?9?$DOheap_count?5?$DO?$DN?51?$AA@ (0000)
0024DE00 002e:
??_C@_0CO@NBKNGICB@path_heap_insert?3?5overflowed?5sta@ (0000)
0024DE30 0036:
??_C@_0DG@MBNMAAEM@?$CInode_index?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CInode_index@ (0000)
0024DE68 0013:
??_C@_0BD@MBAKELBN@node_index?5?$CB?$DN?5NONE?$AA@ (0000)
0024DE7C 0018:
??_C@_0BI@PECADNDG@straight_line_reference?$AA@ (0000)
0024DE94 0019:
??_C@_0BJ@GLKEJCKE@approach_point_reference?$AA@ (0000)
0024DEB0 003b:
??_C@_0DL@MMNOICOM@state?9?$DOdebug?9?$DOpath_build_result?5@ (0000)
0024DEEC 0017:
??_C@_0BH@ICOJEHHO@child_node?9?$DOdepth?5?$DN?$DN?50?$AA@ (0000)
0024DF04 0019:
??_C@_0BJ@CFIDHICE@child_node_index?5?$CB?$DN?5NONE?$AA@ (0000)
0024DF20 0025:
??_C@_0CF@EODIHIDD@node?9?$DOdepth?5?$DN?$DN?5child_node?9?$DOdepth@ (0000)
0024DF48 0035:
??_C@_0DF@MJJJFNJI@?$CInode?9?$DOdepth?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CInode?9?$DOdep@ (0000)
0024DF80 005a:
??_C@_0FK@GBFFKFKH@?$CIinitial_node?9?$DOsurface_index?5?$DO?$DN?5@ (0000)
0024DFDC 0017:
??_C@_0BH@EGEJGGGM@state?9?$DOnode_count?5?$DN?$DN?50?$AA@ (0000)
0024DFF8 0078:
??_C@_0HI@IDMLJPKG@pathfinding?3?5attempted?5to?5build?5@ (0000)
0024E070 0064:
??_C@_0GE@LNDFFALH@?$CIstate?9?$DOinput?4start_surface_inde@ (0000)
0024E0D8 005c:
??_C@_0FM@NOKAIMOC@?$CIedge?9?$DOadjacent_surface_index?5?$DO?$DN@ (0000)
0024E134 003e:
??_C@_0DO@PCGCNINJ@?$CIsurface_index?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIsurface@ (0000)
0024E174 0013:
??_C@_0BD@GFDHLODO@distance_reference?$AA@ (0000)
0024E188 0058:
??_C@_0FI@OHAECMC@quantized_cost_estimate?5?$DM?$DN?5state@ (0000)
0024E1E0 0050:
??_C@_0FA@CJCEFIEA@?$CInew_node?9?$DOheap_location?5?$DO?$DN?51?$CJ?5?$CG@ (0000)
0024E230 0054:
??_C@_0FE@CHKDPLDB@state?9?$DOheap?$FLheap_location?$FN?4quant@ (0000)
0024E284 0034:
??_C@_0DE@MIONFOJA@state?9?$DOheap?$FLheap_location?$FN?4node_@ (0000)
0024E2B8 003c:
??_C@_0DM@DFJMOLG@?$CIheap_location?5?$DO?$DN?51?$CJ?5?$CG?$CG?5?$CIheap_lo@ (0000)
0024E2F4 003c:
??_C@_0DM@PHFOIMMP@path_state_traverse?3?5found?5a?5?8be@ (0000)
0024E330 0052:
??_C@_0FC@GGCMLBII@?$CInew_node?9?$DOsurface_index?5?$DO?$DN?50?$CJ?5?$CG@ (0000)
0024E388 004e:
??_C@_0EO@KKHPGEKA@path_state_traverse?3?5cost?5?$CF?41f?5e@ (0000)
0024E3D8 005c:
??_C@_0FM@KGGDAHPH@total_cost_estimate?5?9?5cheapest_n@ (0000)
0024E434 0004:
__real@bdcccccd (0000)
0024E438 005c:
??_C@_0FM@PLCDNLNA@?$CIcheapest_node?9?$DOsurface_index?5?$DO?$DN@ (0000)
0024E498 0041:
??_C@_0EB@OLCMDDAG@state?9?$DOdebug?9?$DOpath_traverse_resu@ (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+23
View File
@@ -0,0 +1,23 @@
/*
PATH.H
file has inline function assertions.
*/
#ifndef __PATH_H
#define __PATH_H
#pragma once
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes/EXAMPLE.C */
/* ---------- globals */
/* ---------- public code */
#endif // __PATH_H
+121
View File
@@ -0,0 +1,121 @@
/*
PATH_OBSTACLE_AVOIDANCE.C
symbols in this file:
0004E6E0 0050:
_obstacles_get_disc (0000)
0004E730 0030:
_obstacle_from_disc (0000)
0004E760 0050:
_path_get_step (0000)
0004E7B0 0060:
_path_get_step_index (0000)
0004E810 0040:
_heap_parent_index (0000)
0004E850 0010:
_heap_left_index (0000)
0004E860 0010:
_heap_right_index (0000)
0004E870 0060:
_heap_cost (0000)
0004E8D0 00d0:
_code_0004e8d0 (0000)
0004E9A0 01b0:
_code_0004e9a0 (0000)
0004EB50 0190:
_code_0004eb50 (0000)
0004ECE0 02a0:
_code_0004ece0 (0000)
0004EF80 0060:
_code_0004ef80 (0000)
0004EFE0 0070:
_code_0004efe0 (0000)
0004F050 0260:
_render_debug_path (0000)
0004F2B0 0040:
_valid_real_point2d (0000)
0004F2F0 0220:
_code_0004f2f0 (0000)
0004F510 01e0:
_code_0004f510 (0000)
0004F6F0 0200:
_code_0004f6f0 (0000)
0004F8F0 0330:
_code_0004f8f0 (0000)
0004FC20 0130:
_code_0004fc20 (0000)
0004FD50 0070:
_code_0004fd50 (0000)
0004FDC0 0550:
_path_avoid_obstacles (0000)
00050310 00e0:
_render_debug_obstacle_path (0000)
0024E4E0 005f:
??_C@_0FP@EDEGFDAA@disc_index?$DO?$DN0?5?$CG?$CG?5disc_index?$DMobst@ (0000)
0024E540 0019:
??_C@_0BJ@LMDHFJFI@c?3?2halo?2source?2ai?2path?4h?$AA@ (0000)
0024E560 0063:
??_C@_0GD@BIALPJBH@step_index?$DO?$DN0?5?$CG?$CG?5step_index?$DMpath@ (0000)
0024E5C4 002c:
??_C@_0CM@IMJGFEPB@c?3?2halo?2SOURCE?2ai?2path_obstacle_@ (0000)
0024E5F0 0063:
??_C@_0GD@EOCGPJDJ@heap_index?$DO?$DN0?5?$CG?$CG?5heap_index?$DMpath@ (0000)
0024E654 000d:
??_C@_0N@FHNAKGNC@heap_index?$DO0?$AA@ (0000)
0024E664 0010:
??_C@_0BA@OJJDPBG@?$CF3d?4?5?$CF?412g?5?$CI?$CFx?$CJ?$AA@ (0000)
0024E674 0025:
??_C@_0CF@NHJKJPIK@please?5give?5this?5debug?4txt?5to?5ch@ (0000)
0024E69C 0018:
??_C@_0BI@GONMKDOC@heap_verify?5failed?5?$CI?$CFs?$CJ?$AA@ (0000)
0024E6B4 0013:
??_C@_0BD@OPIGCKBC@heap_insert?5output?$AA@ (0000)
0024E6C8 0012:
??_C@_0BC@FFIJKMBF@heap_insert?5input?$AA@ (0000)
0024E6DC 0013:
??_C@_0BD@JEBDACBO@heap_remove?5output?$AA@ (0000)
0024E6F0 0012:
??_C@_0BC@HBIKAONP@heap_remove?5input?$AA@ (0000)
0024E704 0005:
??_C@_04PBNHMBFG@goal?$AA@ (0000)
0024E70C 0026:
??_C@_0CG@LBHAPEOA@?$CFs?3?5assert_valid_real_point2d?$CI?$CFf@ (0000)
0024E734 0006:
??_C@_05FAGFPHJG@start?$AA@ (0000)
0024E73C 0021:
??_C@_0CB@CJEIPHLL@?$CFs?3?5assert_valid_real?$CI0x?$CF08X?5?$CFf?$CJ@ (0000)
0024E760 001d:
??_C@_0BN@KOMMMEHH@stack_top?$DMMAXIMUM_DISC_COUNT?$AA@ (0000)
0024E780 0046:
??_C@_0EG@PAHGCCFL@result?4disc_index?$DO?$DN0?5?$CG?$CG?5result?4d@ (0000)
0024E7C8 0042:
??_C@_0EC@PIPIECEP@seed_disc_index?$DO?$DN0?5?$CG?$CG?5seed_disc_@ (0000)
0024E810 0052:
??_C@_0FC@HKCAOOKO@path?9?$DOobstacles?9?$DOdisc_count?$DO?$DN0?5?$CG@ (0000)
0024E864 0017:
??_C@_0BH@FKFIAHK@obstacle?5path?5failure?$CB?$AA@ (0000)
0024E880 0050:
??_C@_0FA@MIKGHDND@?$CIobstacle_step_index?5?$DO?$DN?50?$CJ?5?$CG?$CG?5?$CIo@ (0000)
0024E8D0 0030:
??_C@_0DA@BINHGJIJ@input_step_count?5?$DM?$DN?5MAXIMUM_SMOO@ (0000)
00319D08 2142:
_bss_00319d08 (0000)
_debug_obstacle_path_on_failure (2140)
_debug_obstacle_path (2141)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+77
View File
@@ -0,0 +1,77 @@
/*
PATH_OBSTACLES.C
symbols in this file:
000503F0 0020:
_obstacles_new (0000)
00050410 0020:
_set_real_point2d (0000)
00050430 0030:
_rotate_vector2d (0000)
00050460 0090:
_project_point3d (0000)
000504F0 0040:
_point_in_circle (0000)
00050530 0050:
_point_in_sphere (0000)
00050580 0090:
_code_00050580 (0000)
00050610 0080:
_code_00050610 (0000)
00050690 00d0:
_obstacles_add_disc (0000)
00050760 0320:
_obstacles_get_discs_in_sphere (0000)
00050A80 00a0:
_obstacles_test_circle (0000)
00050B20 00f0:
_obstacles_test_pill (0000)
00050C10 00e0:
_obstacles_disc_tangents (0000)
00050CF0 0230:
_obstacles_disc_neighborhood (0000)
00050F20 00b0:
_obstacles_recompute (0000)
00050FD0 01c0:
_render_debug_obstacles (0000)
0024E900 000b:
??_C@_0L@LKENDBEE@?$HO?$CIsign?$CG?$HO1?$CJ?$AA@ (0000)
0024E90C 0021:
??_C@_0CB@FEGCJDLB@projection?$DO?$DN_x?5?$CG?$CG?5projection?$DM?$DN_z@ (0000)
0024E930 0014:
??_C@_0BE@DKJODJEH@?4?4?2math?2real_math?4h?$AA@ (0000)
0024E948 0051:
??_C@_0FB@IMJPHNIA@obstacles?9?$DOobstacle_count?$DO?$DN0?5?$CG?$CG?5@ (0000)
0024E9A0 0046:
??_C@_0EG@PILJPJIJ@obstacles?9?$DOdisc_count?$DO?$DN0?5?$CG?$CG?5obst@ (0000)
0024E9E8 0023:
??_C@_0CD@MNFANEEP@c?3?2halo?2SOURCE?2ai?2path_obstacles@ (0000)
0024EA0C 000d:
??_C@_0N@IDCAPIB@matt?5is?5bad?4?$AA@ (0000)
0024EA1C 0004:
__real@3b800000 (0000)
0024EA20 003c:
??_C@_0DM@HAPAFMPD@seed_disc_index?$DO?$DN0?5?$CG?$CG?5seed_disc_@ (0000)
0024EA5C 0004:
__real@c0000000 (0000)
0024EA60 004a:
??_C@_0EK@GINAEHH@disc?9?$DOobstacle_index?$DO?$DN0?5?$CG?$CG?5disc?9@ (0000)
002B7578 0800:
_data_002b7578 (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+51
View File
@@ -0,0 +1,51 @@
/*
PATH_SMOOTHING.C
symbols in this file:
00051190 0080:
_code_00051190 (0000)
00051210 0150:
_code_00051210 (0000)
00051360 0120:
_code_00051360 (0000)
00051480 0220:
_code_00051480 (0000)
000516A0 0380:
_code_000516a0 (0000)
00051A20 0360:
_path_smooth (0000)
0024EAB0 0046:
??_C@_0EG@DGPBJLIB@TEST_FLAG?$CIcollision_surface?9?$DOfla@ (0000)
0024EAF8 0023:
??_C@_0CD@IKIHDGOB@c?3?2halo?2SOURCE?2ai?2path_smoothing@ (0000)
0024EB20 006d:
??_C@_0GN@DGMBNALI@collision_edge?9?$DOvertex_indices?$FL0@ (0000)
0024EB90 0024:
??_C@_0CE@JGDDFPAJ@clockwise?$DN?$DNTRUE?5?$HM?$HM?5clockwise?$DN?$DNFA@ (0000)
0024EBB4 0012:
??_C@_0BC@GBNEHDPD@steps_finish_path?$AA@ (0000)
0024EBC8 000f:
??_C@_0P@LBJDKFJI@smoothed_steps?$AA@ (0000)
0024EBD8 0014:
??_C@_0BE@FBKMNIEA@smoothed_step_count?$AA@ (0000)
0024EBEC 000a:
??_C@_09LCGCKCI@raw_steps?$AA@ (0000)
0024EBF8 0013:
??_C@_0BD@DLANHJEI@raw_step_count?5?$DO?50?$AA@ (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+45
View File
@@ -0,0 +1,45 @@
/*
PATH_STRUCTURE_BSP.C
symbols in this file:
00051D80 01e0:
_structure_test_ray2d (0000)
00051F60 0080:
_structure_surfaces_are_equivalent (0000)
00051FE0 0070:
_clip_empty_interval_by_solid_interval (0000)
00052050 0450:
_structure_test_line2d (0000)
000524A0 0060:
_structure_surface_index_from_point (0000)
00052500 0270:
_structure_test_pill2d (0000)
0024EC0C 0040:
_rdata_0024ec0c (0000)
0024EC4C 0027:
??_C@_0CH@JLKIDLBA@c?3?2halo?2SOURCE?2ai?2path_structure@ (0000)
0024EC78 0008:
__real@3fa99999a0000000 (0000)
0024EC80 0004:
__real@3c000000 (0000)
0024EC88 0048:
??_C@_0EI@IFBLLPMB@surface_index?$DO?$DN0?5?$CG?$CG?5surface_inde@ (0000)
0024ECD0 0007:
??_C@_06KJFADLGN@result?$AA@ (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+81
View File
@@ -0,0 +1,81 @@
/*
PROPS.C
symbols in this file:
00052770 0040:
_props_initialize (0000)
000527B0 0010:
_props_dispose (0000)
000527C0 0010:
_props_initialize_for_new_map (0000)
000527D0 0010:
_props_dispose_from_old_map (0000)
000527E0 0260:
_code_000527e0 (0000)
00052A40 0030:
_code_00052a40 (0000)
00052A70 0140:
_code_00052a70 (0000)
00052BB0 0030:
_prop_iterator_new (0000)
00052BE0 0030:
_prop_iterator_next (0000)
00052C10 0220:
_prop_new_unacknowledged (0000)
00052E30 00e0:
_code_00052e30 (0000)
00052F10 00d0:
_prop_orphan_transition (0000)
00052FE0 00f0:
_prop_orphan_from_friend (0000)
000530D0 0020:
_prop_orphan_update_information (0000)
000530F0 0030:
_prop_delete (0000)
00053120 0090:
_prop_get_active_by_unit_index (0000)
000531B0 0190:
_prop_get_base_by_unit_index (0000)
0024ECD8 000a:
??_C@_09OMCEPKNN@prop_data?$AA@ (0000)
0024ECE4 001a:
??_C@_0BK@JLBOKELK@c?3?2halo?2SOURCE?2ai?2props?4c?$AA@ (0000)
0024ED00 002d:
??_C@_0CN@BBGHFIGI@prop_unit?9?$DOobject?4type?5?$DN?$DN?5_objec@ (0000)
0024ED30 0025:
??_C@_0CF@FLGLPGLE@unit_index?5?$CB?$DN?5actor?9?$DOmeta?4unit_i@ (0000)
0024ED58 0045:
??_C@_0EF@KDOAGHLG@AI?5knowledge?5database?5?$CI?$CFd?5entrie@ (0000)
0024EDA0 00b7:
??_C@_0LH@KLCHODAH@?$CB?$CI?$CIactor?9?$DOcontrol?4idle_minor_act@ (0000)
0024EE58 00b7:
??_C@_0LH@OAMKKKBK@?$CB?$CI?$CIactor?9?$DOcontrol?4idle_major_act@ (0000)
0024EF10 00d9:
??_C@_0NJ@EMHCADI@?$CB?$CI?$CIactor?9?$DOcontrol?4secondary_look@ (0000)
0024EFEC 002e:
??_C@_0CO@LOLEJOIH@actor?9?$DOtarget?4target_prop_index?5@ (0000)
0024F01C 0020:
??_C@_0CA@LGONIAIN@prop?9?$DOparent_prop_index?5?$DN?$DN?5NONE?$AA@ (0000)
0024F03C 0027:
??_C@_0CH@DGNOKALK@parent_prop?9?$DOorphan_prop_index?5?$DN@ (0000)
0024F064 002e:
??_C@_0CO@FIFBOHNC@parent_prop?9?$DOowner_actor_index?5?$DN@ (0000)
002B7D78 0004:
_data_002b7d78 (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+129
View File
@@ -0,0 +1,129 @@
/*
BINK_PLAYBACK.C
symbols in this file:
001B53F0 0040:
_code_001b53f0 (0000)
001B5430 0020:
_bink_playback_active (0000)
001B5450 0020:
_bink_playback_ui_rendering_inhibited (0000)
001B5470 0010:
_bink_playback_in_progress (0000)
001B5480 00f0:
_code_001b5480 (0000)
001B5570 0030:
_code_001b5570 (0000)
001B55A0 01f0:
_code_001b55a0 (0000)
001B5790 00c0:
_code_001b5790 (0000)
001B5850 0010:
_code_001b5850 (0000)
001B5860 0390:
_code_001b5860 (0000)
001B5BF0 0010:
_code_001b5bf0 (0000)
001B5C00 0050:
_code_001b5c00 (0000)
001B5C50 0010:
_code_001b5c50 (0000)
001B5C60 0020:
_code_001b5c60 (0000)
001B5C80 0010:
_code_001b5c80 (0000)
001B5C90 0030:
_bink_playback_initialize (0000)
001B5CC0 0060:
_code_001b5cc0 (0000)
001B5D20 0070:
_code_001b5d20 (0000)
001B5D90 0070:
_bink_playback_stop (0000)
001B5E00 0030:
_bink_playback_dispose (0000)
001B5E30 00a0:
_code_001b5e30 (0000)
001B5ED0 0060:
_bink_playback_render (0000)
001B5F30 0430:
_bink_playback_start (0000)
001B6360 0010:
_bink_playback_update (0000)
002AA374 001e:
??_C@_0BO@MFHOKAAA@bink_globals?4memory_pool_base?$AA@ (0000)
002AA394 002d:
??_C@_0CN@BECKFBGA@bink_globals?4memory_pool_size?$DO?$DNs@ (0000)
002AA3C4 0010:
??_C@_0BA@FPPHECDF@size_in_bytes?$DO0?$AA@ (0000)
002AA3D8 0047:
??_C@_0EH@BGOHEHFB@alignment_in_bytes?$DO0?5?$CG?$CG?5?$CIalignme@ (0000)
002AA420 0024:
??_C@_0CE@CFKHDMNJ@c?3?2halo?2SOURCE?2bink?2bink_playbac@ (0000)
002AA448 0040:
??_C@_0EA@OJNDLELI@bink_globals?4memory_pool_offset?5@ (0000)
002AA488 002f:
??_C@_0CP@EKHFIEHP@?$CD?$CD?$CD?5FATAL_ERROR?5bink?5needs?5more?5@ (0000)
002AA4B8 0053:
??_C@_0FD@JEIGGOCE@?$CD?$CD?$CD?5FATAL_ERROR?5bink?5needs?5more?5@ (0000)
002AA50C 002a:
??_C@_0CK@MEIMCONA@?$CB?$CCbink?5memory?5allocation?5should?5@ (0000)
002AA538 003a:
??_C@_0DK@JIJLOKKD@?$CD?$CD?$CD?5FATAL_ERROR?5bink?5just?5confus@ (0000)
002AA574 003a:
??_C@_0DK@JKNNFEPK@?$CD?$CD?$CD?5FATAL_ERROR?5bink?5just?5confus@ (0000)
002AA5B0 002d:
??_C@_0CN@HECFNEKJ@SkippedFrames?$DN?$HMt?$CFd?5?$CI?$CFd?$CJ?$HMnSkipped@ (0000)
002AA5E0 00c5:
??_C@_0MF@OOMIEAIL@FramesTime?$DN?$HMt?$CF?402f?$HMnFrameVideoDe@ (0000)
002AA6A8 0040:
??_C@_0EA@EKIBIHMI@we?5released?5the?5texture?5cache?5bu@ (0000)
002AA6E8 005a:
??_C@_0FK@BKFMFKML@?$CD?$CD?$CD?5ERROR?5bink?5failed?5to?5fucking@ (0000)
002AA744 0028:
??_C@_0CI@EPJBNEGJ@?$CD?$CD?$CD?5ERROR?5failed?5to?5open?5bink?5fi@ (0000)
002AA76C 0012:
??_C@_0BC@DLLDJJJE@end?5event_manager?$AA@ (0000)
002AA780 0014:
??_C@_0BE@DCEEPBKH@begin?5event_manager?$AA@ (0000)
002AA794 0015:
??_C@_0BF@DNOFFDBE@end?5XPhysicalProtect?$AA@ (0000)
002AA7AC 0017:
??_C@_0BH@JFDFIOME@begin?5XPhysicalProtect?$AA@ (0000)
002AA7C4 000d:
??_C@_0N@POAPBJK@end?5BinkOpen?$AA@ (0000)
002AA7D4 0022:
??_C@_0CC@FBMLCGMA@?$CD?$CD?$CD?5ERROR?5no?5DirectSound?5for?5bin@ (0000)
002AA7F8 001c:
??_C@_0BM@OJHAKIIN@end?5BinkSoundUseDirectSound?$AA@ (0000)
002AA814 001e:
??_C@_0BO@ONDJOKIK@begin?5BinkSoundUseDirectSound?$AA@ (0000)
002AA834 000f:
??_C@_0P@MDOKKFIJ@begin?5BinkOpen?$AA@ (0000)
002AA844 0035:
??_C@_0DF@PFMDENHE@0?5?$DN?$DN?5?$CIbink_globals?4memory_pool_s@ (0000)
002AA87C 002b:
??_C@_0CL@NNCIPKIH@there?5is?5already?5a?5bink?5movie?5be@ (0000)
0031693C 0005:
_data_0031693c (0000)
004D2AF0 0164:
_bss_004d2af0 (0000)
_debug_bink (0084)
_bink_globals (0088)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+5
View File
@@ -0,0 +1,5 @@
/*
BITMAP_COMPRESS.C
no symbols in this file.
*/
+58
View File
@@ -0,0 +1,58 @@
/*
BITMAP_DRAWING.C
symbols in this file:
00060610 00c0:
_bitmap_initialize_line (0000)
000606D0 0140:
_bitmap_step_line (0000)
00060810 02f0:
_bitmap_fill_rectangle (0000)
00060B00 0ae0:
_bitmap_copy (0000)
000615E0 0420:
_bitmap_tile_and_bevel_rectangle (0000)
00061A00 03e0:
_bitmap_draw_line (0000)
00061DE0 00c0:
_bitmap_frame_rectangle (0000)
00251114 0012:
_rdata_00251114 (0000)
00251128 0035:
??_C@_0DF@JBBFIHJO@bitmap?5?$EA?$CFp?5has?5bad?5encoding?5?$CD?$CFd?5@ (0000)
00251160 0028:
??_C@_0CI@IJDPNIHH@c?3?2halo?2SOURCE?2bitmaps?2bitmap_dr@ (0000)
00251188 003f:
??_C@_0DP@BDCJPGKD@no?5copy?5bitmap?5translation?5exist@ (0000)
002511C8 0016:
??_C@_0BG@KLCGHOAK@?$CD?$CFd?$CL?$CD?$CFd?$CI?$CD?$CFd?0?$CD?$CFd?$CJ?$DM?$DN?$CD?$CFd?$AA@ (0000)
002511E0 0020:
??_C@_0CA@IKDBNOCM@adjusted_destination_point?4y?$DO?$DN0?$AA@ (0000)
00251200 0020:
??_C@_0CA@LHFBPHJM@adjusted_destination_point?4x?$DO?$DN0?$AA@ (0000)
00251220 0016:
??_C@_0BG@OAHFNKOM@destination?5?$CG?$CG?5source?$AA@ (0000)
00251238 0039:
??_C@_0DJ@ODLKIEJD@bitmap?5?$EA?$CFp?5has?5bad?5encoding?5?$CD?$CFd?5@ (0000)
00251274 001a:
??_C@_0BK@LAJPHKOM@destination?9?$DObase_address?$AA@ (0000)
002DB678 0a54:
_data_002db678 (0000)
_translation_table (0010)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+233
View File
@@ -0,0 +1,233 @@
/*
BITMAP_EXTRACT.C
symbols in this file:
00061EA0 0130:
_code_00061ea0 (0000)
00061FD0 0120:
_code_00061fd0 (0000)
000620F0 0080:
_code_000620f0 (0000)
00062170 0340:
_code_00062170 (0000)
000624B0 0190:
_code_000624b0 (0000)
00062640 0240:
_code_00062640 (0000)
00062880 03b0:
_code_00062880 (0000)
00062C30 0210:
_code_00062c30 (0000)
00062E40 0260:
_code_00062e40 (0000)
000630A0 0580:
_extract_build_debug_plate (0000)
00063620 03d0:
_code_00063620 (0000)
000639F0 02b0:
_code_000639f0 (0000)
00063CA0 01d0:
_code_00063ca0 (0000)
00063E70 0220:
_code_00063e70 (0000)
00064090 0450:
_code_00064090 (0000)
000644E0 0490:
_code_000644e0 (0000)
00064970 0110:
_code_00064970 (0000)
00064A80 02d0:
_code_00064a80 (0000)
00064D50 00b0:
_code_00064d50 (0000)
00064E00 02e0:
_bitmaps_extract (0000)
000650E0 0130:
_bitmaps_extract_from_plate (0000)
00251290 000e:
??_C@_0O@IOJAHIHH@top_reference?$AA@ (0000)
002512A0 0028:
??_C@_0CI@MDNPJHJC@c?3?2halo?2SOURCE?2bitmaps?2bitmap_ex@ (0000)
002512C8 0034:
??_C@_0DE@MPBEDKDP@?$CD?$CD?$CD?5WARNING?5horizontal?5border?5br@ (0000)
00251300 0045:
??_C@_0EF@HOBDLMPH@?$CD?$CD?$CD?5ERROR?5extract?3?5plateless?5cub@ (0000)
00251348 0042:
??_C@_0EC@CNAGFICN@?$CD?$CD?$CD?5ERROR?5extract?3?5can?8t?5handle?5@ (0000)
0025138C 0037:
??_C@_0DH@JLCLDNBC@?$CD?$CD?$CD?5ERROR?5extract?3?5failed?5to?5all@ (0000)
002513C4 001c:
??_C@_0BM@HDLJMFAA@bitmap_verify?$CIbitmap?0?5TRUE?$CJ?$AA@ (0000)
002513E0 001a:
??_C@_0BK@OPAPKIME@adjusted_bounds_reference?$AA@ (0000)
002513FC 0007:
??_C@_06CGBPGGIE@bounds?$AA@ (0000)
00251404 0033:
??_C@_0DD@OAKGMMJC@?$CD?$CD?$CD?5ERROR?5extract?3?5unsupported?5b@ (0000)
00251438 0024:
??_C@_0CE@MAGCMLBE@?$CD?$CD?$CD?5ERROR?5unsupported?5bitmap?5for@ (0000)
0025145C 003c:
??_C@_0DM@JCMHMNJE@?$CBTEST_FLAG?$CIdestination_bitmap?9?$DOf@ (0000)
00251498 005a:
??_C@_0FK@KAGBNKPE@destination_mipmap_index?$DO?$DN0?5?$CG?$CG?5d@ (0000)
002514F4 002e:
??_C@_0CO@MKAFAHJI@destination_bitmap?9?$DOtype?$DN?$DNsource@ (0000)
00251524 0029:
??_C@_0CJ@PMPPCDAH@bitmap_verify?$CIdestination_bitmap@ (0000)
00251550 0054:
??_C@_0FE@NNBMCEJD@source_bitmap?9?$DOdepth?5?$DN?$DNMAX?$CI1?0?5de@ (0000)
002515A8 0054:
??_C@_0FE@NIAAMOKD@source_bitmap?9?$DOheight?$DN?$DNMAX?$CI1?0?5de@ (0000)
00251600 0054:
??_C@_0FE@OGKNFLAG@source_bitmap?9?$DOwidth?5?$DN?$DNMAX?$CI1?0?5de@ (0000)
00251654 0023:
??_C@_0CD@ECDENEFB@bitmap_verify?$CIsource_bitmap?0?5TRU@ (0000)
00251678 004b:
??_C@_0EL@CICFBLGI@source_mipmap_index?$DO?$DN0?5?$CG?$CG?5source@ (0000)
002516C4 002e:
??_C@_0CO@LIKJMDNH@source_bitmap?9?$DOtype?$DN?$DNdestination@ (0000)
002516F4 0024:
??_C@_0CE@HECEPIHL@bitmap_verify?$CIsource_bitmap?0?5FAL@ (0000)
00251718 004f:
??_C@_0EP@JCFKDNGM@destination_bitmap?9?$DOdepth?5?$DN?$DNMAX?$CI@ (0000)
00251768 004f:
??_C@_0EP@KOPMFNGM@destination_bitmap?9?$DOheight?$DN?$DNMAX?$CI@ (0000)
002517B8 004f:
??_C@_0EP@OEMHGOAI@destination_bitmap?9?$DOwidth?5?$DN?$DNMAX?$CI@ (0000)
00251808 0028:
??_C@_0CI@JBLFEOIJ@bitmap_verify?$CIdestination_bitmap@ (0000)
00251830 0024:
??_C@_0CE@LCCMCEAJ@sequence?5spanned?5?$CFd?5texture?5page@ (0000)
00251854 0030:
??_C@_0DA@BOIOHNMC@?$CD?$CD?$CD?5ERROR?5failed?5to?5allocate?5deb@ (0000)
00251884 0030:
??_C@_0DA@NMPFGKNI@?$CD?$CD?$CD?5ERROR?5failed?5to?5allocate?5deb@ (0000)
002518B4 002a:
??_C@_0CK@DMHGHFA@?$CD?$CD?$CD?5ERROR?5failed?5to?5allocate?5deb@ (0000)
002518E0 0022:
??_C@_0CC@DECIGGNF@?$CD?$CD?$CD?5ERROR?5unsupported?5bitmap?5typ@ (0000)
00251904 0024:
??_C@_0CE@BAFBIHF@alpha_bias?$DO?$DN?9255?5?$CG?$CG?5alpha_bias?$DM?$DN@ (0000)
00251928 0030:
??_C@_0DA@KOPAIHGJ@destination_bitmap?9?$DOdepth?$DN?$DNsourc@ (0000)
00251958 0032:
??_C@_0DC@IECBCEHB@destination_bitmap?9?$DOheight?$DN?$DNsour@ (0000)
0025198C 0030:
??_C@_0DA@LLNHMAL@destination_bitmap?9?$DOwidth?$DN?$DNsourc@ (0000)
002519BC 0021:
??_C@_0CB@CLPJEELI@destination_bitmap?9?$DObase_address@ (0000)
002519E0 0013:
??_C@_0BD@JMEMKNJH@destination_bitmap?$AA@ (0000)
002519F4 0029:
??_C@_0CJ@PEGGHKHE@bitmap?5created?3?5?$CD?$CFdx?$CD?$CFd?0?5?$CFs?0?5?$CFdK@ (0000)
00251A20 002d:
??_C@_0CN@MGDDLHDM@bitmap?5created?3?5?$CD?$CFdx?$CD?$CFdx?$CD?$CFd?0?5?$CFs?0@ (0000)
00251A50 0028:
??_C@_0CI@GPIJKLOM@?$CD?$CD?$CD?5ERROR?5unsupported?5bitmap?5gro@ (0000)
00251A78 0036:
??_C@_0DG@OFJIKCDA@?$CD?$CD?$CD?5WARNING?5tried?5to?5smooth?5an?5i@ (0000)
00251AB0 002b:
??_C@_0CL@CJDNFNLC@?$CD?$CD?$CD?5WARNING?5tried?5to?5smooth?5a?5sp@ (0000)
00251ADC 0003:
??_C@_02PCIJFNDE@?$AN?6?$AA@ (0000)
00251AE0 0038:
??_C@_0DI@GIJPOGBA@skipping?53D?5texture?5with?5non?5pow@ (0000)
00251B18 002f:
??_C@_0CP@OCGAOEDI@skipping?53D?5texture?5with?5incompa@ (0000)
00251B48 0035:
??_C@_0DF@CHABNBMJ@?$CD?$CD?$CD?5ERROR?5extract?3?5failed?5to?5cre@ (0000)
00251B80 002b:
??_C@_0CL@KIGCKIOC@skipping?5cube?5map?5which?5spanned?5@ (0000)
00251BAC 0031:
??_C@_0DB@JFFHMOLJ@skipping?5cube?5map?5with?5incompati@ (0000)
00251BE0 002d:
??_C@_0CN@GHMACEEI@skipping?5cube?5map?5with?5less?5than@ (0000)
00251C10 002a:
??_C@_0CK@MAFGCHJA@skipping?5cube?5map?5with?5non?9squar@ (0000)
00251C3C 0012:
??_C@_0BC@OIPPCJDD@?$CBtemporary_bitmap?$AA@ (0000)
00251C50 002b:
??_C@_0CL@MNFLENMO@?$CD?$CD?$CD?5ERROR?5sprite?5budget?5exceeded@ (0000)
00251C7C 001e:
??_C@_0BO@PEKHFDDE@sprite?5budget?5met?5?$CI?$CF3?40f?$CF?$CF?$CJ?$AN?6?$AA@ (0000)
00251C9C 0023:
??_C@_0CD@PAPLMEDP@?$CD?$CD?$CD?5WARNING?5no?5sprite?5budget?5set@ (0000)
00251CC0 002e:
??_C@_0CO@CKBCALDJ@texture?5page?5created?5?$CD?$CFdx?$CD?$CFd?5?$CI?$CF3@ (0000)
00251CF0 0041:
??_C@_0EB@GJMFGLDP@?$CD?$CD?$CD?5ERROR?5extract_sprite?3?5failed@ (0000)
00251D38 0084:
??_C@_0IE@MKAIONEP@?$CD?$CD?$CD?5ERROR?5hey?5?9?5don?8t?5even?5try?5i@ (0000)
00251DC0 0044:
??_C@_0EE@DCBFAMBD@?$CD?$CD?$CD?5ERROR?5one?5or?5more?5sprites?5do@ (0000)
00251E04 0037:
??_C@_0DH@NFCBCMJC@?$CD?$CD?$CD?5WARNING?5skipped?5a?5bitmap?5whi@ (0000)
00251E3C 0034:
??_C@_0DE@MGADPMCF@?$CD?$CD?$CD?5ERROR?5extract?3?5failed?5to?5add@ (0000)
00251E70 0097:
??_C@_0JH@OBKFAPGC@?$CD?$CD?$CD?5ERROR?5extract?3?5tried?5to?5extr@ (0000)
00251F08 003b:
??_C@_0DL@FLDEAMAO@?$CD?$CD?$CD?5ERROR?5interface?1linear?5bitma@ (0000)
00251F48 0054:
??_C@_0FE@BCCMGDBK@?$DN?$DN?$DO?5?$CB?$CBWARNING?$CB?$CB?5bitmap?5with?5grea@ (0000)
00251FA0 0052:
??_C@_0FC@GFFGPBON@?$DN?$DN?$DO?5?$CB?$CBWARNING?$CB?$CB?5usage?5set?5to?5alp@ (0000)
00251FF4 0036:
??_C@_0DG@DKLFGIJN@?$CD?$CD?$CD?5ERROR?5can?8t?5extract?5sprites?5@ (0000)
0025202C 003a:
??_C@_0DK@PBJHAOGB@?$CD?$CD?$CD?5ERROR?5can?8t?5extract?53D?5textu@ (0000)
00252068 0053:
??_C@_0FD@OJBFAEHG@?$CD?$CD?$CD?5ERROR?5extract?3?5compressed?5co@ (0000)
002520BC 0023:
??_C@_0CD@LJHCCFGP@bottom?$DM?$DNextract_data?4plate?9?$DOheig@ (0000)
002520E0 000c:
??_C@_0M@NNAAFJDK@bottom?$DO?$DNtop?$AA@ (0000)
002520EC 0007:
??_C@_06JJMFEGFL@top?$DO?$DN0?$AA@ (0000)
002520F4 002f:
??_C@_0CP@LHGGIDHB@?$CD?$CD?$CD?5ERROR?5extract?3?5failed?5to?5all@ (0000)
00252124 0032:
??_C@_0DC@MGLFJBKA@?$CD?$CD?$CD?5ERROR?5extract?3?5failed?5to?5all@ (0000)
00252158 0034:
??_C@_0DE@BGBBNNDB@?$CD?$CD?$CD?5ERROR?5extract?3?5failed?5to?5dec@ (0000)
00252190 0052:
??_C@_0FC@OEKPABF@decompressed_plate_size?$DN?$DNsizeof?$CI@ (0000)
002521E4 003e:
??_C@_0DO@EDMJDNFC@?$CD?$CD?$CD?5ERROR?5extract?3?5failed?5to?5res@ (0000)
00252224 0033:
??_C@_0DD@FAIEDAFJ@?$CD?$CD?$CD?5ERROR?5extract?3?5failed?5to?5all@ (0000)
00252258 0040:
??_C@_0EA@PFFINKKO@group?9?$DOusage?5?$DO?$DN0?5?$CG?$CG?5group?9?$DOusage@ (0000)
00252298 0041:
??_C@_0EB@OKMLMBHL@group?9?$DOformat?$DO?$DN0?5?$CG?$CG?5group?9?$DOforma@ (0000)
002522DC 003d:
??_C@_0DN@FIMFNAFO@group?9?$DOtype?5?$DO?$DN0?5?$CG?$CG?5group?9?$DOtype?5?$DM@ (0000)
0025231C 0006:
??_C@_05MGJOOGAJ@group?$AA@ (0000)
00252324 0037:
??_C@_0DH@BHCBHGEP@?$CD?$CD?$CD?5ERROR?5extract?3?5failed?5to?5all@ (0000)
0025235C 0032:
??_C@_0DC@MDFBMDEG@?$CD?$CD?$CD?5ERROR?5extract?3?5failed?5to?5com@ (0000)
00252390 0031:
??_C@_0DB@KLKAOHKM@?$CD?$CD?$CD?5ERROR?5extract?3?5failed?5to?5rea@ (0000)
002523C4 001b:
??_C@_0BL@KAAMGFCF@bitmap_verify?$CIplate?0?5TRUE?$CJ?$AA@ (0000)
0031BED4 002c:
_bss_0031bed4 (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+313
View File
@@ -0,0 +1,313 @@
/*
BITMAP_GROUP.C
symbols in this file:
00065210 0010:
_code_00065210 (0000)
00065220 0020:
_code_00065220 (0000)
00065240 0420:
_code_00065240 (0000)
00065660 0050:
_bitmap_group_try_and_get_bitmap (0000)
000656B0 00e0:
_bitmap_group_get_bitmap_from_sequence (0000)
00065790 03f0:
_bitmap_group_add_bitmap (0000)
002523E0 0009:
??_C@_08PODLPFBP@bitmaps?$CK?$AA@ (0000)
002523EC 000b:
??_C@_0L@MHNIOAFC@sequences?$CK?$AA@ (0000)
002523F8 0010:
??_C@_0BA@IDLEJNDG@sprite?5spacing?$CK?$AA@ (0000)
00252408 000d:
??_C@_0N@JBKPDNJN@sprite?5usage?$AA@ (0000)
00252418 003d:
??_C@_0DN@LIABDKDH@Sprite?5usage?5controls?5the?5backgr@ (0000)
00252458 001a:
??_C@_0BK@PEJHLPMF@?4?4?4more?5sprite?5processing?$AA@ (0000)
00252474 002d:
??_C@_0CN@MNMFNJEI@mipmap?5count?3levels?$CD0?5defaults?5t@ (0000)
002524A4 0032:
??_C@_0DC@IOGOKMGM@alpha?5bias?3?$FL?91?01?$FN?$CDaffects?5alpha?5@ (0000)
002524D8 004a:
??_C@_0EK@LGHFBHCF@blur?5filter?5size?3?$FL0?010?$FN?5pixels?$CDb@ (0000)
00252524 000e:
??_C@_0O@HHLKLECM@miscellaneous?$AA@ (0000)
00252534 0016:
??_C@_0BG@DPOLDEKM@processed?5pixel?5data?$CK?$AA@ (0000)
0025254C 002e:
??_C@_0CO@DGGLDMI@Pixel?5data?5after?5being?5processed@ (0000)
0025257C 0015:
??_C@_0BF@IFIJLIHA@processed?5pixel?5data?$AA@ (0000)
00252594 001d:
??_C@_0BN@KONKDNNH@compressed?5color?5plate?5data?$CK?$AA@ (0000)
002525B4 001b:
??_C@_0BL@DFHBBBIO@color?5plate?5height?$CK?3pixels?$AA@ (0000)
002525D0 001a:
??_C@_0BK@DBGDBACB@color?5plate?5width?$CK?3pixels?$AA@ (0000)
002525EC 0038:
??_C@_0DI@PNMNMEDC@The?5original?5TIFF?5file?5used?5to?5i@ (0000)
00252624 000c:
??_C@_0M@OOALLIOJ@color?5plate?$AA@ (0000)
00252630 0014:
??_C@_0BE@LBDABFMB@sprite?5budget?5count?$AA@ (0000)
00252644 0013:
??_C@_0BD@MBLHAGLG@sprite?5budget?5size?$AA@ (0000)
00252658 00c0:
??_C@_0MA@NPOIOCI@When?5creating?5a?5sprite?5group?0?5sp@ (0000)
00252718 0012:
??_C@_0BC@FOKLDGHM@sprite?5processing?$AA@ (0000)
00252730 00a7:
??_C@_0KH@FAIFDBCJ@bump?5height?3repeats?$CDthe?5apparent@ (0000)
002527D8 0038:
??_C@_0DI@CCFOOEFG@sharpen?5amount?3?$FL0?01?$FN?$CDsharpens?5mi@ (0000)
00252810 0063:
??_C@_0GD@GEAGIEIP@detail?5fade?5factor?3?$FL0?01?$FN?$CD0?5means@ (0000)
00252874 0039:
??_C@_0DJ@BEENCLGA@These?5properties?5control?5how?5mip@ (0000)
002528B0 0010:
??_C@_0BA@KFPIBANN@post?9processing?$AA@ (0000)
002528C0 0006:
??_C@_05GECEPKB@flags?$AA@ (0000)
002528C8 029e:
??_C@_0CJO@FGMDBDDK@Usage?5controls?5how?5mipmaps?5are?5g@ (0000)
00252B68 0006:
??_C@_05HNCIIKBA@usage?$AA@ (0000)
00252B70 0550:
??_C@_0FFA@NKBLAKLE@Format?5controls?5how?5pixels?5will?5@ (0000)
002530C0 0007:
??_C@_06DLEPGFEF@format?$AA@ (0000)
002530C8 0246:
??_C@_0CEG@CAJOMHCD@Type?5controls?5bitmap?5?8geometry?8?4@ (0000)
00253310 0005:
??_C@_04GPMDFGEJ@type?$AA@ (0000)
00253318 0007:
??_C@_06PCHFJCOP@bitmap?$AA@ (0000)
00253320 0011:
??_C@_0BB@FKJKINHO@color_plate_data?$AA@ (0000)
00253334 0012:
??_C@_0BC@EJFOKKAM@bitmap_pixel_data?$AA@ (0000)
00253348 0010:
??_C@_0BA@HOHDIMNA@double?5multiply?$AA@ (0000)
00253358 000d:
??_C@_0N@KKNPCJNO@multiply?1min?$AA@ (0000)
00253368 0017:
??_C@_0BH@PLGFAMGD@blend?1add?1subtract?1max?$AA@ (0000)
00253380 0008:
??_C@_07NGNIANIE@512x512?$AA@ (0000)
00253388 0008:
??_C@_07ENHBDHPJ@256x256?$AA@ (0000)
00253390 0008:
??_C@_07LFCKPLAB@128x128?$AA@ (0000)
00253398 0006:
??_C@_05PNPIEGAM@64x64?$AA@ (0000)
002533A0 0006:
??_C@_05HCOEEHHC@32x32?$AA@ (0000)
002533A8 000b:
??_C@_0L@FEJFGKNE@monochrome?$AA@ (0000)
002533B4 000d:
??_C@_0N@IHCHFFCJ@32?9bit?5color?$AA@ (0000)
002533C4 000d:
??_C@_0N@OEHNNLBN@16?9bit?5color?$AA@ (0000)
002533D4 0023:
??_C@_0CD@OMBPPCAE@compressed?5with?5interpolated?5alp@ (0000)
002533F8 001f:
??_C@_0BP@DINLCHDL@compressed?5with?5explicit?5alpha?$AA@ (0000)
00253418 0027:
??_C@_0CH@NDOHNPCP@compressed?5with?5color?9key?5transp@ (0000)
00253440 000b:
??_C@_0L@KNGGHDGB@vector?5map?$AA@ (0000)
0025344C 000a:
??_C@_09LLANHIEE@light?5map?$AA@ (0000)
00253458 000b:
??_C@_0L@PNAKEIEN@detail?5map?$AA@ (0000)
00253464 000b:
??_C@_0L@CFACPNGJ@height?5map?$AA@ (0000)
00253470 000c:
??_C@_0M@JIBEDIPA@alpha?9blend?$AA@ (0000)
0025347C 0012:
??_C@_0BC@LGCCEBL@interface?5bitmaps?$AA@ (0000)
00253490 0008:
??_C@_07CIPBMLAN@sprites?$AA@ (0000)
00253498 000a:
??_C@_09GCKGAOCN@cube?5maps?$AA@ (0000)
002534A4 000c:
??_C@_0M@OCLHNBC@3D?5textures?$AA@ (0000)
002534B0 000c:
??_C@_0M@JFIODBHN@2D?5textures?$AA@ (0000)
002534BC 0016:
??_C@_0BG@BOBOGCPF@filthy?5sprite?5bug?5fix?$AA@ (0000)
002534D4 0019:
??_C@_0BJ@MGIDJLPC@uniform?5sprite?5sequences?$AA@ (0000)
002534F0 001f:
??_C@_0BP@GKLFCFJP@disable?5height?5map?5compression?$AA@ (0000)
00253510 001b:
??_C@_0BL@LJMPIHHF@enable?5diffusion?5dithering?$AA@ (0000)
0025352C 0009:
??_C@_08BBPCEBFO@sprites?$CK?$AA@ (0000)
00253538 000e:
??_C@_0O@NEMJLKKP@bitmap?5count?$CK?$AA@ (0000)
00253548 0014:
??_C@_0BE@IAPINFEM@first?5bitmap?5index?$CK?$AA@ (0000)
0025355C 0006:
??_C@_05HLPJDIEE@name?$FO?$AA@ (0000)
00253564 001c:
??_C@_0BM@FLKAGKOE@bitmap_group_sequence_block?$AA@ (0000)
00253580 0008:
??_C@_07KFCNMBIK@bottom?$CK?$AA@ (0000)
00253588 0005:
??_C@_04GNFAANMA@top?$CK?$AA@ (0000)
00253590 0007:
??_C@_06NPIMMHAE@right?$CK?$AA@ (0000)
00253598 0006:
??_C@_05ECAHMNDL@left?$CK?$AA@ (0000)
002535A0 000e:
??_C@_0O@DIHOPGBD@bitmap?5index?$CK?$AA@ (0000)
002535B0 001a:
??_C@_0BK@HODJICEH@bitmap_group_sprite_block?$AA@ (0000)
002535CC 000f:
??_C@_0P@CIKFOMOO@pixels?5offset?$CK?$AA@ (0000)
002535DC 000e:
??_C@_0O@IBFLDFCG@mipmap?5count?$CK?$AA@ (0000)
002535EC 0014:
??_C@_0BE@DBBAACBH@registration?5point?$CK?$AA@ (0000)
00253600 0007:
??_C@_06MOLMBNBJ@flags?$CK?$AA@ (0000)
00253608 0039:
??_C@_0DJ@DPDJDOCI@format?$CK?$CDdetermines?5how?5pixels?5ar@ (0000)
00253644 0023:
??_C@_0CD@BFJPHNAO@type?$CK?$CDdetermines?5bitmap?5?8geometr@ (0000)
00253668 0037:
??_C@_0DH@NPAEDGFL@depth?$CK?3pixels?$CDdepth?5is?51?5for?52D?5@ (0000)
002536A0 000f:
??_C@_0P@CNDIOOOJ@height?$CK?3pixels?$AA@ (0000)
002536B0 000e:
??_C@_0O@MPNLAAPG@width?$CK?3pixels?$AA@ (0000)
002536C0 000b:
??_C@_0L@EPCIMBHC@signature?$CK?$AA@ (0000)
002536CC 0012:
??_C@_0BC@DEJOGKGO@bitmap_data_block?$AA@ (0000)
002536E0 0007:
??_C@_06PMDIBCMC@v16u16?$AA@ (0000)
002536E8 0007:
??_C@_06HPJICMPM@linear?$AA@ (0000)
002536F0 0009:
??_C@_08EPMFLMOE@swizzled?$AA@ (0000)
002536FC 000b:
??_C@_0L@CBJKOGIC@palettized?$AA@ (0000)
00253708 000b:
??_C@_0L@NHGFHLFK@compressed?$AA@ (0000)
00253714 0018:
??_C@_0BI@DGLMAALD@power?5of?5two?5dimensions?$AA@ (0000)
0025372C 0008:
??_C@_07MGBABJNN@p8?9bump?$AA@ (0000)
00253734 0005:
??_C@_04KCNFDCG@dxt5?$AA@ (0000)
0025373C 0005:
??_C@_04FMHHPEKA@dxt3?$AA@ (0000)
00253744 0005:
??_C@_04GOEBJGCC@dxt1?$AA@ (0000)
0025374C 0008:
??_C@_07KBGOCIMM@unused5?$AA@ (0000)
00253754 0008:
??_C@_07LIHFBJIN@unused4?$AA@ (0000)
0025375C 0009:
??_C@_08NFFJKKBK@a8r8g8b8?$AA@ (0000)
00253768 0009:
??_C@_08NFDKFODA@x8r8g8b8?$AA@ (0000)
00253774 0009:
??_C@_08BDFHIPJK@a4r4g4b4?$AA@ (0000)
00253780 0009:
??_C@_08DBEMAEHP@a1r5g5b5?$AA@ (0000)
0025378C 0008:
??_C@_07PHDEIPEK@unused3?$AA@ (0000)
00253794 0007:
??_C@_06FKODKGEF@r5g6b5?$AA@ (0000)
0025379C 0008:
??_C@_07OOCPLOAL@unused2?$AA@ (0000)
002537A4 0008:
??_C@_07MFACONMI@unused1?$AA@ (0000)
002537AC 0005:
??_C@_04OEKPGJHF@a8y8?$AA@ (0000)
002537B4 0004:
??_C@_03BBJOFPKB@ay8?$AA@ (0000)
002537B8 0003:
??_C@_02EMABMJMJ@y8?$AA@ (0000)
002537BC 0003:
??_C@_02FODEDLAB@a8?$AA@ (0000)
002537C0 0009:
??_C@_08LCBPNCNK@cube?5map?$AA@ (0000)
002537CC 000b:
??_C@_0L@DJPJAAIO@3D?5texture?$AA@ (0000)
002537D8 000b:
??_C@_0L@PIHHNPEO@2D?5texture?$AA@ (0000)
002537E8 0049:
??_C@_0EJ@OLILMBBF@?$CB?$CBMUST?5BE?5FIXED?3?5bitmap?5group?5?8?$CF@ (0000)
00253838 0051:
??_C@_0FB@JLLAHNBC@?$CB?$CBMUST?5BE?5FIXED?3?5bitmap?5group?5?8?$CF@ (0000)
0025388C 003f:
??_C@_0DP@LJKAEFNF@?$CB?$CBMUST?5BE?5FIXED?3?5bitmap?5group?5?8?$CF@ (0000)
002538D0 004e:
??_C@_0EO@OAADPGCE@?$CB?$CBMUST?5BE?5FIXED?3?5bitmap?5group?5?8?$CF@ (0000)
00253920 005e:
??_C@_0FO@FOOFPLKF@?$CB?$CBMUST?5BE?5FIXED?3?5bitmap?5group?5?8?$CF@ (0000)
00253980 0023:
??_C@_0CD@BILOFJCH@bitmap?5group?5?8?$CFs?8?5has?5?$CFd?5sequenc@ (0000)
002539A4 0012:
??_C@_0BC@BFAICBN@?$CB?$CBMUST?5BE?5FIXED?3?5?$AA@ (0000)
002539B8 0021:
??_C@_0CB@DBDAHEOF@bitmap?5group?5?8?$CFs?8?5has?5?$CFd?5bitmaps@ (0000)
002539E0 0045:
??_C@_0EF@JJMMADOM@?$CB?$CBMUST?5BE?5FIXED?3?5bitmap?5?$CD?$CFd?5of?5g@ (0000)
00253A28 003a:
??_C@_0DK@IPFAJPOP@?$CB?$CBMUST?5BE?5FIXED?3?5bitmap?5?$CD?$CFd?5of?5g@ (0000)
00253A64 0030:
??_C@_0DA@OHKFJKNL@?$CD?$CD?$CD?5FATAL_ERROR?5failed?5to?5fix?5bi@ (0000)
00253A94 0024:
??_C@_0CE@BCHDGFBI@sequence_index?$DO?$DN0?5?$CG?$CG?5frame_index@ (0000)
00253AB8 0026:
??_C@_0CG@LLBBNHEP@c?3?2halo?2SOURCE?2bitmaps?2bitmap_gr@ (0000)
00253AE0 003c:
??_C@_0DM@LBADMOEL@?$CD?$CD?$CD?5ERROR?5failed?5to?5add?5bitmap?5t@ (0000)
00253B1C 000b:
??_C@_0L@CJDGMBAB@new_bitmap?$AA@ (0000)
00253B28 0030:
??_C@_0DA@KJFOMJIA@?$CD?$CD?$CD?5WARNING?5bitmap?5group?5pixel?5d@ (0000)
00253B58 0011:
??_C@_0BB@PIAKKBNN@space_between?$DO?$DN0?$AA@ (0000)
00253B70 007e:
??_C@_0HO@CGGNING@?$CIbyte?$CK?$CJbitmap?9?$DObase_address?5?$CL?5bi@ (0000)
00253BF0 003e:
??_C@_0DO@OLLHEHHP@?$CIbyte?$CK?$CJbitmap?9?$DObase_address?$DO?$DN?$CIby@ (0000)
00253C30 0019:
??_C@_0BJ@ICGOMECA@?$CBbitmap?9?$DOhardware_format?$AA@ (0000)
00253C4C 003d:
??_C@_0DN@DEAHHMKK@skipping?5bitmap?5with?5non?5power?9o@ (0000)
00253C90 0040:
??_C@_0EA@IKDHKBOI@skipping?5bitmap?5with?5non?9power?9o@ (0000)
00253CD0 0034:
??_C@_0DE@FKIMOKAO@skipping?5cube?5map?5with?5non?9squar@ (0000)
002DC0D0 0590:
_global_bitmap_reference (0000)
_global_bitmap_reference_optional (000c)
_bitmap_pixel_data (035c)
_color_plate_data (036c)
_bitmap_group (0530)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+237
View File
@@ -0,0 +1,237 @@
/*
BITMAP_UTILITIES.C
symbols in this file:
00065B80 0030:
_bitmap_fill (0000)
00065BB0 0050:
_bitmap_alpha_to_rgb (0000)
00065C00 0190:
_bitmap_clone (0000)
00065D90 0290:
_code_00065d90 (0000)
00066020 0320:
_code_00066020 (0000)
00066340 0190:
_code_00066340 (0000)
000664D0 0190:
_bitmap_fade (0000)
00066660 0470:
_code_00066660 (0000)
00066AD0 0720:
_code_00066ad0 (0000)
000671F0 00b0:
_code_000671f0 (0000)
000672A0 0480:
_code_000672a0 (0000)
00067720 00d0:
_code_00067720 (0000)
000677F0 00d0:
_code_000677f0 (0000)
000678C0 0230:
_code_000678c0 (0000)
00067AF0 0110:
_code_00067af0 (0000)
00067C00 00a0:
_code_00067c00 (0000)
00067CA0 00b0:
_code_00067ca0 (0000)
00067D50 0200:
_code_00067d50 (0000)
00067F50 02d0:
_code_00067f50 (0000)
00068220 02c0:
_code_00068220 (0000)
000684E0 0370:
_code_000684e0 (0000)
00068850 02c0:
_code_00068850 (0000)
00068B10 02b0:
_code_00068b10 (0000)
00068DC0 0030:
_real_rgb_color_brightness (0000)
00068DF0 01f0:
_rgb_color_to_hsv_color (0000)
00068FE0 01e0:
_hsv_color_to_rgb_color (0000)
000691C0 0190:
_real_rgb_color_to_real_hsv_color (0000)
00069350 0190:
_real_hsv_color_to_real_rgb_color (0000)
000694E0 0060:
_argb_color_to_real_argb_color (0000)
00069540 0050:
_rgb_color_to_real_rgb_color (0000)
00069590 0090:
_pixel32_to_real_argb_color (0000)
00069620 0070:
_pixel32_to_real_rgb_color (0000)
00069690 00c0:
_valid_real_rgb_color (0000)
00069750 00d0:
_bitmap_shrink (0000)
00069820 0160:
_bitmap_smooth (0000)
00069980 0160:
_bitmap_sharpen (0000)
00069AE0 00a0:
_bitmap_alpha_bleed (0000)
00069B80 0430:
_code_00069b80 (0000)
00069FB0 0110:
_code_00069fb0 (0000)
0006A0C0 0260:
_code_0006a0c0 (0000)
0006A320 00e0:
_code_0006a320 (0000)
0006A400 00d0:
_code_0006a400 (0000)
0006A4D0 0210:
_bitmap_compress_to_mipmap (0000)
0006A6E0 0200:
_bitmap_uncompress_from_mipmap (0000)
0006A8E0 0220:
_rgb_colors_interpolate (0000)
0006AB00 0160:
_rgb_colors_interpolate_and_scale (0000)
0006AC60 00d0:
_bitmap_height_map (0000)
0006AD30 0090:
_bitmap_vector_map (0000)
00253D04 0004:
_rdata_00253d04 (0000)
00253D08 003b:
??_C@_0DL@NLJHJPHM@bitmap_get_pixel_data_size?$CIclone@ (0000)
00253D44 002e:
??_C@_0CO@GFGADFMM@?$CD?$CD?$CD?5ERROR?5failed?5to?5allocate?5tem@ (0000)
00253D74 001c:
??_C@_0BM@JIFNGHMH@source_bitmap?9?$DObase_address?$AA@ (0000)
00253D90 000e:
??_C@_0O@LLKKCKIH@source_bitmap?$AA@ (0000)
00253DA0 002a:
??_C@_0CK@FAKBAENJ@c?3?2halo?2SOURCE?2bitmaps?2bitmap_ut@ (0000)
00253DCC 0008:
??_C@_07HJGGGODH@scale?$DO1?$AA@ (0000)
00253DD4 0025:
??_C@_0CF@KNCPFPIC@source_bitmap?9?$DOtype?$DN?$DN_bitmap_typ@ (0000)
00253DFC 0025:
??_C@_0CF@KMONDFLF@source_bitmap?9?$DOtype?$DN?$DN_bitmap_typ@ (0000)
00253E24 002b:
??_C@_0CL@EEMHJEBC@source_bitmap?9?$DOtype?$DN?$DN_bitmap_typ@ (0000)
00253E50 0004:
__real@43800000 (0000)
00253E58 0046:
??_C@_0EG@HMKKNAIC@?$CD?$CD?$CD?5WARNING?5tried?5to?5smooth?5a?5bi@ (0000)
00253EA0 002e:
??_C@_0CO@OJGKHOJB@?$CD?$CD?$CD?5ERROR?5failed?5to?5allocate?5tem@ (0000)
00253ED0 0014:
??_C@_0BE@CCCNMADO@filter_coefficients?$AA@ (0000)
00253EE4 001e:
??_C@_0BO@HBJILGDD@bitmap?9?$DOtype?$DN?$DN_bitmap_type_2d?$AA@ (0000)
00253F04 001e:
??_C@_0BO@HAFKNMAE@bitmap?9?$DOtype?$DN?$DN_bitmap_type_3d?$AA@ (0000)
00253F24 0027:
??_C@_0CH@PCFOMNKE@?$CD?$CD?$CD?5WARNING?5tried?5to?5smooth?5a?5cu@ (0000)
00253F4C 0024:
??_C@_0CE@LEKDELBL@bitmap?9?$DOtype?$DN?$DN_bitmap_type_cube_@ (0000)
00253F70 000f:
??_C@_0P@BOMHLMLK@negative_table?$AA@ (0000)
00253F80 000f:
??_C@_0P@BHFDFLKJ@positive_table?$AA@ (0000)
00253F90 0029:
??_C@_0CJ@IOADGLLE@?$CD?$CD?$CD?5WARNING?5tried?5to?5sharpen?5a?53@ (0000)
00253FBC 0028:
??_C@_0CI@MDGCOAND@?$CD?$CD?$CD?5WARNING?5tried?5to?5sharpen?5a?5c@ (0000)
00253FE4 0009:
??_C@_08HMMJDEFO@passes?$DO0?$AA@ (0000)
00253FF0 0037:
??_C@_0DH@PFEBJHLO@?$CD?$CD?$CD?5WARNING?5tried?5to?5alpha?9bleed@ (0000)
00254028 0036:
??_C@_0DG@LNAIIMEN@?$CD?$CD?$CD?5WARNING?5tried?5to?5use?5a?5cube?5@ (0000)
00254060 0011:
??_C@_0BB@IHCHECOA@bump_height?$DO0?40f?$AA@ (0000)
00254074 003d:
??_C@_0DN@DPHCPDGM@TEST_FLAG?$CIdestination_bitmap?9?$DOfl@ (0000)
002540B8 0053:
??_C@_0FD@ENNJNLHL@MAX?$CI1?0?5destination_bitmap?9?$DOdepth@ (0000)
00254110 0054:
??_C@_0FE@IAGIFAMH@MAX?$CI1?0?5destination_bitmap?9?$DOheigh@ (0000)
00254168 0053:
??_C@_0FD@KJCBOGPG@MAX?$CI1?0?5destination_bitmap?9?$DOwidth@ (0000)
002541BC 002a:
??_C@_0CK@NKHGKAJF@destination_bitmap?9?$DOtype?$DN?$DN_bitma@ (0000)
002541E8 002a:
??_C@_0CK@NLLEMKKC@destination_bitmap?9?$DOtype?$DN?$DN_bitma@ (0000)
00254214 0030:
??_C@_0DA@HHMLFPEA@destination_bitmap?9?$DOtype?$DN?$DN_bitma@ (0000)
00254244 0038:
??_C@_0DI@JCJJEBL@TEST_FLAG?$CIsource_bitmap?9?$DOflags?0?5@ (0000)
00254280 004e:
??_C@_0EO@HMAHIFHF@MAX?$CI1?0?5source_bitmap?9?$DOdepth?5?$DO?$DOso@ (0000)
002542D0 004f:
??_C@_0EP@GHOBKDJO@MAX?$CI1?0?5source_bitmap?9?$DOheight?$DO?$DOso@ (0000)
00254320 004e:
??_C@_0EO@JIPPLIPI@MAX?$CI1?0?5source_bitmap?9?$DOwidth?5?$DO?$DOso@ (0000)
00254370 0004:
__real@3e991687 (0000)
00254374 0004:
__real@3f1645a2 (0000)
00254378 0004:
__real@3de978d5 (0000)
0025437C 0004:
__real@477fff00 (0000)
00254380 0004:
__real@47800000 (0000)
00254384 0004:
__real@3e2aaaab (0000)
00254388 0016:
??_C@_0BG@EIAAKENO@rgb?$CB?$DN?$CIrgb_color?5?$CK?$CJhsv?$AA@ (0000)
002543A0 0004:
??_C@_03PPLPHHG@hsv?$AA@ (0000)
002543A4 0004:
__real@37800080 (0000)
002543A8 0004:
??_C@_03FNOJMHE@rgb?$AA@ (0000)
002543AC 0004:
__real@37800000 (0000)
002543B0 001b:
??_C@_0BL@CJFFBABE@rgb?$CB?$DN?$CIreal_rgb_color?5?$CK?$CJhsv?$AA@ (0000)
002543CC 0021:
??_C@_0CB@IFIPCKKG@?$CD?$CD?$CD?5ERROR?5unupported?5bitmap?5type@ (0000)
002543F0 0028:
??_C@_0CI@JOAHHOB@filter_size?$DM?$DN?$CIfloat?$CJMAXIMUM_FILT@ (0000)
00254418 0004:
__real@42ff0000 (0000)
0025441C 0004:
__real@3c008081 (0000)
00254420 000b:
??_C@_0L@DEFNOJIM@rgb_result?$AA@ (0000)
0025442C 0010:
??_C@_0BA@JANHNNE@rgb_upper_bound?$AA@ (0000)
0025443C 002c:
??_C@_0CM@MJIBIDD@?$CFs?3?5assert_valid_real_rgb_color?$CI@ (0000)
00254468 0010:
??_C@_0BA@EHGOIBMN@rgb_lower_bound?$AA@ (0000)
00254478 000a:
??_C@_09BIGBFPOL@rgb_scale?$AA@ (0000)
00254488 0041:
??_C@_0EB@GJHMFKH@?$CD?$CD?$CD?5WARNING?5importing?5special?9ef@ (0000)
0031BF00 0414:
_bss_0031bf00 (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+243
View File
@@ -0,0 +1,243 @@
/*
BITMAPS.C
symbols in this file:
0006ADC0 0070:
_bitmap_type_get_string (0000)
0006AE30 0080:
_bitmap_format_get_string (0000)
0006AEB0 0070:
_bitmap_format_get_bits_per_pixel (0000)
0006AF20 0040:
_bitmap_changed (0000)
0006AF60 0050:
_bitmap_delete (0000)
0006AFB0 0220:
_bitmap_2d_address (0000)
0006B1D0 0290:
_bitmap_3d_address (0000)
0006B460 0210:
_bitmap_cube_map_address (0000)
0006B670 00d0:
_bitmap_mipmap_address (0000)
0006B740 0220:
_bitmap_format_to_a8r8g8b8 (0000)
0006B960 0010:
_bitmap_byte_swap_pixels (0000)
0006B970 0100:
_palette_find_closest_match (0000)
0006BA70 0020:
_code_0006ba70 (0000)
0006BA90 0020:
_code_0006ba90 (0000)
0006BAB0 0030:
_code_0006bab0 (0000)
0006BAE0 0160:
_bitmap_verify (0000)
0006BC40 0080:
_bitmap_rebuild (0000)
0006BCC0 0090:
_bitmap_get_max_mipmap_count (0000)
0006BD50 00a0:
_bitmap_mipmap_get_width (0000)
0006BDF0 00a0:
_bitmap_mipmap_get_height (0000)
0006BE90 0090:
_bitmap_mipmap_get_depth (0000)
0006BF20 00b0:
_bitmap_mipmap_get_pixel_count (0000)
0006BFD0 0090:
_bitmap_mipmap_get_pixel_data_size (0000)
0006C060 00e0:
_bitmap_mipmap_get_row_pitch (0000)
0006C140 0510:
_bitmap_2d_get_pixel (0000)
0006C650 0060:
_bitmap_get_pixel_count (0000)
0006C6B0 0070:
_bitmap_get_pixel_data_size (0000)
0006C720 0180:
_bitmap_2d_new (0000)
0006C8A0 01c0:
_bitmap_3d_new (0000)
0006CA60 0170:
_bitmap_cube_map_new (0000)
0006CBD0 0280:
_bitmap_3d_slice_extract (0000)
0006CE50 0280:
_bitmap_3d_slice_insert (0000)
0006D0D0 0280:
_bitmap_cube_map_face_extract (0000)
0006D350 0280:
_bitmap_cube_map_face_insert (0000)
002544CC 0013:
_rdata_002544cc (0000)
002544E0 0014:
??_C@_0BE@NMMIDGBH@palettized?5bump?5map?$AA@ (0000)
002544F4 0016:
??_C@_0BG@OOFEMLJA@true?9color?5with?5alpha?$AA@ (0000)
0025450C 000b:
??_C@_0L@BOBKAIGE@true?9color?$AA@ (0000)
00254518 0016:
??_C@_0BG@KKGKOADO@high?9color?5with?5alpha?$AA@ (0000)
00254530 001c:
??_C@_0BM@LMNMJHOE@high?9color?5with?51?9bit?5alpha?$AA@ (0000)
0025454C 0007:
??_C@_06MOMCHLAF@r6g5b5?$AA@ (0000)
00254554 000b:
??_C@_0L@HMILFLFB@high?9color?$AA@ (0000)
00254560 0019:
??_C@_0BJ@NGPIOEHO@separate?5alpha?9intensity?$AA@ (0000)
0025457C 0019:
??_C@_0BJ@GECAPECH@combined?5alpha?9intensity?$AA@ (0000)
00254598 000a:
??_C@_09DDBFFAKC@intensity?$AA@ (0000)
002545A4 0006:
??_C@_05IAEKHIAN@alpha?$AA@ (0000)
002545AC 000b:
??_C@_0L@HGKEADFO@3d?5texture?$AA@ (0000)
002545B8 000b:
??_C@_0L@LHCKNMJO@2d?5texture?$AA@ (0000)
002545C4 0037:
??_C@_0DH@BEHPNKOO@bitmap_type_string_table?$FLNUMBER_@ (0000)
002545FC 0027:
??_C@_0CH@BDFKHBGO@type?$DO?$DN0?5?$CG?$CG?5type?$DMNUMBER_OF_BITMAP@ (0000)
00254624 0021:
??_C@_0CB@ICKBKEMJ@c?3?2halo?2SOURCE?2bitmaps?2bitmaps?4c@ (0000)
00254648 003b:
??_C@_0DL@KKAOOLLI@bitmap_format_string_table?$FLNUMBE@ (0000)
00254684 002d:
??_C@_0CN@FACOLOCE@format?$DO?$DN0?5?$CG?$CG?5format?$DMNUMBER_OF_BI@ (0000)
002546B4 002e:
??_C@_0CO@OINHIEJL@bitmap_format_bits_per_pixel_tab@ (0000)
002546E8 0042:
??_C@_0EC@HCBFGBH@?$CBTEST_FLAG?$CIbitmap?9?$DOflags?0?5_bitma@ (0000)
00254730 0044:
??_C@_0EE@JDKFDDJD@?$CBTEST_FLAG?$CIbitmap?9?$DOflags?0?5_bitma@ (0000)
00254774 0036:
??_C@_0DG@JNCCJPLP@mipmap_index?$DO?$DN0?5?$CG?$CG?5mipmap_index?$DM@ (0000)
002547AC 0019:
??_C@_0BJ@HFDMDDBL@y?$DO?$DN0?5?$CG?$CG?5y?$DMbitmap?9?$DOheight?$AA@ (0000)
002547C8 0018:
??_C@_0BI@PFMPFOOK@x?$DO?$DN0?5?$CG?$CG?5x?$DMbitmap?9?$DOwidth?$AA@ (0000)
002547E0 0015:
??_C@_0BF@FJOEGAHK@bitmap?9?$DObase_address?$AA@ (0000)
002547F8 004a:
??_C@_0EK@CEJFGEAF@?$CBTEST_FLAG?$CIbitmap?9?$DOflags?0?5_bitma@ (0000)
00254848 004c:
??_C@_0EM@ILMNFLHJ@?$CBTEST_FLAG?$CIbitmap?9?$DOflags?0?5_bitma@ (0000)
00254894 0018:
??_C@_0BI@DEJNOKHK@z?$DO?$DN0?5?$CG?$CG?5z?$DMbitmap?9?$DOdepth?$AA@ (0000)
002548AC 000f:
??_C@_0P@FPPECFAG@mipmap_address?$AA@ (0000)
002548BC 001a:
??_C@_0BK@JFOFDHCG@closest_match_index?$CB?$DNNONE?$AA@ (0000)
002548D8 0035:
??_C@_0DF@KNEGKCJ@?$CD?$CD?$CD?5ERROR?5bitmap?5?$EA?$CFp?5?$CI?$CD?$CFdx?$CD?$CFd?$CJ?5a@ (0000)
00254910 0040:
??_C@_0EA@GIFFGKIJ@?$CD?$CD?$CD?5ERROR?5bitmap?5?$EA?$CFp?5?$CI?$CD?$CFdx?$CD?$CFd?$CJ?5a@ (0000)
00254950 001d:
??_C@_0BN@GIHJBEAI@bitmap_verify?$CIbitmap?0?5FALSE?$CJ?$AA@ (0000)
00254970 0030:
??_C@_0DA@NMAFJIPF@?$CBTEST_FLAG?$CIbitmap?9?$DOflags?0?5_bitma@ (0000)
002549A0 0032:
??_C@_0DC@IAIEDLML@?$CBTEST_FLAG?$CIbitmap?9?$DOflags?0?5_bitma@ (0000)
002549D4 000f:
??_C@_0P@KMBFAFCG@y?$DO?$DN0?5?$CG?$CG?5y?$DM4096?$AA@ (0000)
002549E4 000f:
??_C@_0P@LDJJNFHK@x?$DO?$DN0?5?$CG?$CG?5x?$DM4096?$AA@ (0000)
002549F8 0079:
??_C@_0HJ@FCOPIPKI@bitmap_2d_get_pixel?5tried?5to?5acc@ (0000)
00254A78 007b:
??_C@_0HL@JNIKKJE@bitmap_2d_get_pixel?5tried?5to?5acc@ (0000)
00254AF4 0017:
??_C@_0BH@KGBHNMIE@lod?$DO?$DN0?40f?5?$CG?$CG?5lod?$DM?$DN1?40f?$AA@ (0000)
00254B0C 002e:
??_C@_0CO@GAMEHMN@?$CBTEST_FLAG?$CIbitmap?9?$DOflags?0?5_bitma@ (0000)
00254B3C 0024:
??_C@_0CE@IDMEMNBL@?$CD?$CD?$CD?5ERROR?5failed?5to?5allocate?5bit@ (0000)
00254B60 0032:
??_C@_0DC@NHEJMJDK@?$CD?$CD?$CD?5ERROR?5failed?5to?5allocate?5bit@ (0000)
00254B98 0041:
??_C@_0EB@LFCKBNF@bitmap_format_type_valid_height?$CI@ (0000)
00254BE0 0040:
??_C@_0EA@PKAAFKPD@bitmap_format_type_valid_width?5?$CI@ (0000)
00254C20 0040:
??_C@_0EA@IPIJEMGL@bitmap_format_type_valid_depth?5?$CI@ (0000)
00254C60 0041:
??_C@_0EB@JAPHONLK@bitmap_format_type_valid_height?$CI@ (0000)
00254CA8 0040:
??_C@_0EA@DLIOIFDD@bitmap_format_type_valid_width?5?$CI@ (0000)
00254CE8 0015:
??_C@_0BF@IJMOOLDH@?$CIwidth?$CG?$CIwidth?91?$CJ?$CJ?$DN?$DN0?$AA@ (0000)
00254D00 0045:
??_C@_0EF@IICJNIK@bitmap_format_type_valid_width?$CIf@ (0000)
00254D48 0036:
??_C@_0DG@FMDLIHFJ@?$CBTEST_FLAG?$CIslice_bitmap?9?$DOflags?0?5@ (0000)
00254D80 002c:
??_C@_0CM@EGJNMILG@slice_bitmap?9?$DOformat?$DN?$DNsource_bit@ (0000)
00254DAC 0024:
??_C@_0CE@BICOCAEK@slice_bitmap?9?$DOtype?$DN?$DN_bitmap_type@ (0000)
00254DD0 001e:
??_C@_0BO@KMMCPBDP@slice_bitmap?9?$DOmipmap_count?$DN?$DN0?$AA@ (0000)
00254DF0 0023:
??_C@_0CD@CAAKKKMF@bitmap_verify?$CIslice_bitmap?0?5FALS@ (0000)
00254E14 0037:
??_C@_0DH@HEICNHNC@?$CBTEST_FLAG?$CIsource_bitmap?9?$DOflags?0@ (0000)
00254E50 0049:
??_C@_0EJ@MCLGGFPA@MAX?$CI1?0?5source_bitmap?9?$DOheight?$DO?$DOso@ (0000)
00254EA0 0048:
??_C@_0EI@LIHIIGIH@MAX?$CI1?0?5source_bitmap?9?$DOwidth?5?$DO?$DOso@ (0000)
00254EE8 0041:
??_C@_0EB@KNIHOCN@source_slice_index?$DO?$DN0?5?$CG?$CG?5source_@ (0000)
00254F30 0053:
??_C@_0FD@PPNICDCJ@MAX?$CI1?0?5destination_bitmap?9?$DOheigh@ (0000)
00254F88 0052:
??_C@_0FC@FNCEBHHP@MAX?$CI1?0?5destination_bitmap?9?$DOwidth@ (0000)
00254FE0 0050:
??_C@_0FA@MMKBHEAM@destination_slice_index?$DO?$DN0?5?$CG?$CG?5de@ (0000)
00255030 0031:
??_C@_0DB@DIIJDBNH@slice_bitmap?9?$DOformat?$DN?$DNdestinatio@ (0000)
00255064 0035:
??_C@_0DF@JCFMHHNJ@?$CBTEST_FLAG?$CIface_bitmap?9?$DOflags?0?5_@ (0000)
0025509C 002b:
??_C@_0CL@JBBIIFAN@face_bitmap?9?$DOformat?$DN?$DNsource_bitm@ (0000)
002550C8 0023:
??_C@_0CD@KFLOJMCE@face_bitmap?9?$DOtype?$DN?$DN_bitmap_type_@ (0000)
002550EC 001d:
??_C@_0BN@PLKACPJ@face_bitmap?9?$DOmipmap_count?$DN?$DN0?$AA@ (0000)
0025510C 0022:
??_C@_0CC@KDDOJPOH@bitmap_verify?$CIface_bitmap?0?5FALSE@ (0000)
00255130 0048:
??_C@_0EI@OAEENKNE@MAX?$CI1?0?5source_bitmap?9?$DOheight?$DO?$DOso@ (0000)
00255178 0047:
??_C@_0EH@OIPLGNCD@MAX?$CI1?0?5source_bitmap?9?$DOwidth?5?$DO?$DOso@ (0000)
002551C0 0043:
??_C@_0ED@NEHKMLHM@source_face_index?$DO?$DN0?5?$CG?$CG?5source_f@ (0000)
00255208 0052:
??_C@_0FC@FGJHNELB@MAX?$CI1?0?5destination_bitmap?9?$DOheigh@ (0000)
00255260 0051:
??_C@_0FB@GBNEJIOO@MAX?$CI1?0?5destination_bitmap?9?$DOwidth@ (0000)
002552B8 004d:
??_C@_0EN@PLLIEHKF@destination_face_index?$DO?$DN0?5?$CG?$CG?5des@ (0000)
00255308 0030:
??_C@_0DA@BPGHACIB@face_bitmap?9?$DOformat?$DN?$DNdestination@ (0000)
002DC660 045c:
_global_vector_palette (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+23
View File
@@ -0,0 +1,23 @@
/*
BITMAPS_INLINES.H
file has inline function assertions.
*/
#ifndef __BITMAPS_INLINES_H
#define __BITMAPS_INLINES_H
#pragma once
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes/EXAMPLE.C */
/* ---------- globals */
/* ---------- public code */
#endif // __BITMAPS_INLINES_H
+37
View File
@@ -0,0 +1,37 @@
/*
BITMAPS_QUANTITIZE.C
symbols in this file:
0006D5D0 0020:
_code_0006d5d0 (0000)
0006D5F0 01d0:
_code_0006d5f0 (0000)
0006D7C0 0250:
_bitmap_quantitize (0000)
00255338 0054:
??_C@_0FE@EDPMNCJK@bits_per_channel?$FLchannel_index?$FN?$DO@ (0000)
0025538C 002c:
??_C@_0CM@EPJOEJBJ@c?3?2halo?2SOURCE?2bitmaps?2bitmaps_q@ (0000)
002DCABC 0018:
_bits_per_channel_r5g6b5 (0000)
_bits_per_channel_a1r5g5b5 (0008)
_bits_per_channel_a4r4g4b4 (0010)
0031C314 0008:
_bss_0031c314 (0000)
*/
/* ---------- headers */
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
/* ---------- prototypes */
/* ---------- globals */
/* ---------- public code */
/* ---------- private code */
+5
View File
@@ -0,0 +1,5 @@
/*
COLOR_TABLE_GROUP.C
no symbols in this file.
*/
+1
View File
@@ -0,0 +1 @@
disable = true
+167
View File
@@ -0,0 +1,167 @@
# $Header: /usr/people/sam/tiff/libtiff/RCS/Makefile.sgi,v 1.44 92/02/19 14:25:29 sam Exp $
#
# Tag Image File Format Library
#
# Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
# Copyright (c) 1991, 1992 Silicon Graphics, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that (i) the above copyright notices and this permission notice appear in
# all copies of the software and related documentation, and (ii) the names of
# Sam Leffler and Silicon Graphics may not be used in any advertising or
# publicity relating to the software without the specific, prior written
# permission of Stanford and Silicon Graphics.
#
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
#
DESTDIR=/usr/local
#
AR= /usr/bin/ar
NULL=
IPATH= -I. -I/usr/include/bsd
#
# Library-wide configuration defines:
# MMAP_SUPPORT add support for memory mapping read-only files
# COLORIMETRY_SUPPORT add support for 6.0 colorimetry tags
# JPEG_SUPPORT add support for 6.0 JPEG tags & JPEG algorithms
# YCBCR_SUPPORT add support for 6.0 YCbCr tags
# CMYK_SUPPORT add support for 6.0 CMYK tags
#
# Compression configuration defines:
# CCITT_SUPPORT add support for CCITT Group 3 & 4 algorithms
# PACKBITS_SUPPORT add support for Macintosh PackBits algorithm
# LZW_SUPPORT add support for LZW algorithm
# THUNDER_SUPPORT add support for ThunderScan 4-bit RLE algorithm
# NEXT_SUPPORT add support for NeXT 2-bit RLE algorithm
# JPEG_SUPPORT add support for JPEG DCT algorithm
#
# Note that if you change the library-wide configuration, you'll
# need to manual force a full rebuild. Changing the configuration
# of which compression algorithms are included in the library is
# automatically handled (i.e. tif_compress.o has a dependency on
# the Makefile).
#
CONF_COMPRESSION=\
-DPACKBITS_SUPPORT \
-DLZW_SUPPORT \
-DCCITT_SUPPORT \
-DTHUNDER_SUPPORT \
-DNEXT_SUPPORT \
${NULL}
CONF_LIBRARY=\
-DUSE_VARARGS=0 \
-DUSE_PROTOTYPES=1 \
-DHAVE_IEEEFP=1 \
-DCOLORIMETRY_SUPPORT \
-DJPEG_SUPPORT \
-DYCBCR_SUPPORT \
-DCMYK_SUPPORT \
-DMMAP_SUPPORT \
${NULL}
CFLAGS= -O ${IPATH} ${CONF_LIBRARY} -ansi
#
INCS= tiff.h tiffio.h
SRCS= tif_fax3.c \
tif_fax4.c \
tif_aux.c \
tif_ccittrle.c \
tif_close.c \
tif_compat.c \
tif_compress.c \
tif_dir.c \
tif_dirinfo.c \
tif_dirread.c \
tif_dirwrite.c \
tif_dumpmode.c \
tif_error.c \
tif_getimage.c \
tif_jpeg.c \
tif_flush.c \
tif_lzw.c \
tif_next.c \
tif_open.c \
tif_packbits.c \
tif_print.c \
tif_read.c \
tif_swab.c \
tif_strip.c \
tif_thunder.c \
tif_tile.c \
tif_version.c \
tif_warning.c \
tif_write.c \
${NULL}
OBJS= tif_fax3.o \
tif_fax4.o \
tif_aux.o \
tif_ccittrle.o \
tif_close.o \
tif_compat.o \
tif_compress.o \
tif_dir.o \
tif_dirinfo.o \
tif_dirread.o \
tif_dirwrite.o \
tif_dumpmode.o \
tif_error.o \
tif_getimage.o \
tif_jpeg.o \
tif_flush.o \
tif_lzw.o \
tif_next.o \
tif_open.o \
tif_packbits.o \
tif_print.o \
tif_read.o \
tif_swab.o \
tif_strip.o \
tif_thunder.o \
tif_tile.o \
tif_version.o \
tif_warning.o \
tif_write.o \
${NULL}
ALL= libtiff.a
all: ${ALL}
${ALL}: ${OBJS}
${AR} rc libtiff.a $?
${OBJS}: tiff.h tiffcompat.h tiffioP.h
tif_compress.o: tif_compress.c Makefile
${CC} -c ${CFLAGS} ${CONF_COMPRESSION} tif_compress.c
tif_fax3.o: tif_fax3.c g3states.h t4.h tif_fax3.h
g3states.h: mkg3states.c t4.h
${CC} -o mkg3states ${CFLAGS} mkg3states.c
./mkg3states -c > g3states.h
install: all installh
-for i in ${ALL}; do \
${INSTALL} -c -m 644 $$i ${DESTDIR}/lib/$$i; \
done
installh: ${INCS}
-for i in ${INCS}; do \
h=`basename $$i`; \
cmp -s $$i ${DESTDIR}/include/$$h || \
${INSTALL} -c -m 444 $$i ${DESTDIR}/include/$$h; \
done
clean:
rm -f ${ALL} ${OBJS} core a.out mkg3states g3states.h
tags: ${SRCS}
${CTAGS} ${SRCS}
+162
View File
@@ -0,0 +1,162 @@
# $Header: /usr/people/sam/tiff/libtiff/RCS/Makefile.sgi,v 1.44 92/02/19 14:25:29 sam Exp $
#
# Tag Image File Format Library
#
# Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
# Copyright (c) 1991, 1992 Silicon Graphics, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that (i) the above copyright notices and this permission notice appear in
# all copies of the software and related documentation, and (ii) the names of
# Sam Leffler and Silicon Graphics may not be used in any advertising or
# publicity relating to the software without the specific, prior written
# permission of Stanford and Silicon Graphics.
#
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
#
DESTDIR=.
#
AR= /bin/ar
NULL=
IPATH=
#
# Library-wide configuration defines:
# MMAP_SUPPORT add support for memory mapping read-only files
# COLORIMETRY_SUPPORT add support for 6.0 colorimetry tags
# JPEG_SUPPORT add support for 6.0 JPEG tags & JPEG algorithms
# YCBCR_SUPPORT add support for 6.0 YCbCr tags
# CMYK_SUPPORT add support for 6.0 CMYK tags
#
# Compression configuration defines:
# CCITT_SUPPORT add support for CCITT Group 3 & 4 algorithms
# PACKBITS_SUPPORT add support for Macintosh PackBits algorithm
# LZW_SUPPORT add support for LZW algorithm
# THUNDER_SUPPORT add support for ThunderScan 4-bit RLE algorithm
# NEXT_SUPPORT add support for NeXT 2-bit RLE algorithm
# JPEG_SUPPORT add support for JPEG DCT algorithm
#
# Note that if you change the library-wide configuration, you'll
# need to manual force a full rebuild. Changing the configuration
# of which compression algorithms are included in the library is
# automatically handled (i.e. tif_compress.o has a dependency on
# the Makefile).
#
CONF_COMPRESSION=\
-DLZW_SUPPORT \
-DCCITT_SUPPORT \
${NULL}
CONF_LIBRARY=\
-DUSE_VARARGS=1 \
-DUSE_PROTOTYPES=0 \
-DHAVE_IEEEFP=1 \
-DCOLORIMETRY_SUPPORT \
-DYCBCR_SUPPORT \
-DCMYK_SUPPORT \
${NULL}
CFLAGS= -O ${IPATH} ${CONF_LIBRARY}
#
INCS= tiff.h tiffio.h
SRCS= tif_fax3.c \
tif_fax4.c \
tif_aux.c \
tif_ccittrle.c \
tif_close.c \
tif_compat.c \
tif_compress.c \
tif_dir.c \
tif_dirinfo.c \
tif_dirread.c \
tif_dirwrite.c \
tif_dumpmode.c \
tif_error.c \
tif_getimage.c \
tif_jpeg.c \
tif_flush.c \
tif_lzw.c \
tif_next.c \
tif_open.c \
tif_packbits.c \
tif_print.c \
tif_read.c \
tif_swab.c \
tif_strip.c \
tif_thunder.c \
tif_tile.c \
tif_version.c \
tif_warning.c \
tif_write.c \
${NULL}
OBJS= tif_fax3.o \
tif_fax4.o \
tif_aux.o \
tif_ccittrle.o \
tif_close.o \
tif_compat.o \
tif_compress.o \
tif_dir.o \
tif_dirinfo.o \
tif_dirread.o \
tif_dirwrite.o \
tif_dumpmode.o \
tif_error.o \
tif_getimage.o \
tif_jpeg.o \
tif_flush.o \
tif_lzw.o \
tif_next.o \
tif_open.o \
tif_packbits.o \
tif_print.o \
tif_read.o \
tif_swab.o \
tif_strip.o \
tif_thunder.o \
tif_tile.o \
tif_version.o \
tif_warning.o \
tif_write.o \
${NULL}
ALL= libtiff.a
all: ${ALL}
${ALL}: ${OBJS}
${AR} rc libtiff.a $?
${OBJS}: tiff.h tiffcompat.h tiffioP.h
tif_compress.o: tif_compress.c Makefile
${CC} -c ${CFLAGS} ${CONF_COMPRESSION} tif_compress.c
tif_fax3.o: tif_fax3.c g3states.h t4.h tif_fax3.h
g3states.h: mkg3states.c t4.h
${CC} -o mkg3states ${CFLAGS} mkg3states.c
./mkg3states -c > g3states.h
install: all installh
-for i in ${ALL}; do \
${INSTALL} -c -m 644 $$i ${DESTDIR}/lib/$$i; \
done
installh: ${INCS}
-for i in ${INCS}; do \
h=`basename $$i`; \
cmp -s $$i ${DESTDIR}/include/$$h || \
${INSTALL} -c -m 444 $$i ${DESTDIR}/include/$$h; \
done
clean:
rm -f ${ALL} ${OBJS} core a.out mkg3states g3states.h
tags: ${SRCS}
${CTAGS} ${SRCS}
+233
View File
@@ -0,0 +1,233 @@
# $Header: /usr/people/sam/tiff/libtiff/RCS/Makefile.aix,v 1.13 92/03/18 12:11:22 sam Exp $
#
# Tag Image File Format Library
#
# Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
# Copyright (c) 1991, 1992 Silicon Graphics, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that (i) the above copyright notices and this permission notice appear in
# all copies of the software and related documentation, and (ii) the names of
# Sam Leffler and Silicon Graphics may not be used in any advertising or
# publicity relating to the software without the specific, prior written
# permission of Stanford and Silicon Graphics.
#
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
#
# This Makefile is designed for IBM RS6000, AIX 3.x.
# Check up the CONFIGURE: comments for AIX 2.2.1 and building shared library
#
# The library will be installed in $(DESTDIR)/lib and the included
# files in $(DESTDIR)/include
DESTDIR=/usr/local
#
AR= /bin/ar
#
# SHELL, CTAGS, RANLIB and INSTALL is not defined in standard make for AIX
#
# CONFIGURE: AIX2.2.1 "RANLIB=echo ranlib"
# ( ranlib for AIX3.x is for compatibility only )
RANLIB=/usr/bin/ranlib
SHELL=/bin/sh
# CONFIGURE: AIX2.2.1 "CTAGS=ctags -w"
CTAGS=ctags -tw
#
# NOTE: The AIX versions of install is execute by root only, or SYSV versions.
# CONFIGURE: (The /bin/cp variant should work on both 2.2 and 3.x)
# INSTALL=/usr/ucb/install -c -m 444
INSTALL=/bin/cp
#
NULL=
IPATH= -I.
#
# Library-wide configuration defines:
# MMAP_SUPPORT add support for memory mapping read-only files
# COLORIMETRY_SUPPORT add support for 6.0 colorimetry tags
# JPEG_SUPPORT add support for 6.0 JPEG tags & JPEG algorithms
# YCBCR_SUPPORT add support for 6.0 YCbCr tags
# CMYK_SUPPORT add support for 6.0 CMYK tags
#
# Compression configuration defines:
# CCITT_SUPPORT add support for CCITT Group 3 & 4 algorithms
# PACKBITS_SUPPORT add support for Macintosh PackBits algorithm
# LZW_SUPPORT add support for LZW algorithm
# THUNDER_SUPPORT add support for ThunderScan 4-bit RLE algorithm
# NEXT_SUPPORT add support for NeXT 2-bit RLE algorithm
# JPEG_SUPPORT add support for JPEG DCT algorithm
#
# Note that if you change the library-wide configuration, you'll
# need to manual force a full rebuild. Changing the configuration
# of which compression algorithms are included in the library is
# automatically handled (i.e. tif_compress.o has a dependency on
# the Makefile).
#
# CONFIGURE:
CONF_COMPRESSION=\
-DPACKBITS_SUPPORT \
-DLZW_SUPPORT \
-DCCITT_SUPPORT \
-DTHUNDER_SUPPORT \
-DNEXT_SUPPORT \
${NULL}
#
# CONFIGURE: AIX 3.2 : add -DMMAP_SUPPORT (?)
# AIX 2.1.1 : -DUSE_VARARGS=1 -DUSE_PROTOTYPES=0 -DUSE_CONST=0
CONF_LIBRARY=\
-DUSE_VARARGS=0 \
-DUSE_PROTOTYPES=1 \
-DUSE_CONST=1 \
-DHAVE_IEEEFP=1 \
-DCOLORIMETRY_SUPPORT \
-DJPEG_SUPPORT \
-DYCBCR_SUPPORT \
-DCMYK_SUPPORT \
${NULL}
CFLAGS= -O -Dunix ${SHLIB_FLAGS} ${IPATH} ${CONF_LIBRARY}
#
INCS= tiff.h tiffio.h
SRCS= tif_fax3.c \
tif_fax4.c \
tif_aux.c \
tif_ccittrle.c \
tif_close.c \
tif_compat.c \
tif_compress.c \
tif_dir.c \
tif_dirinfo.c \
tif_dirread.c \
tif_dirwrite.c \
tif_dumpmode.c \
tif_error.c \
tif_getimage.c \
tif_jpeg.c \
tif_flush.c \
tif_lzw.c \
tif_next.c \
tif_open.c \
tif_packbits.c \
tif_print.c \
tif_read.c \
tif_swab.c \
tif_strip.c \
tif_thunder.c \
tif_tile.c \
tif_version.c \
tif_warning.c \
tif_write.c \
${NULL}
OBJS= tif_fax3.o \
tif_fax4.o \
tif_aux.o \
tif_ccittrle.o \
tif_close.o \
tif_compat.o \
tif_compress.o \
tif_dir.o \
tif_dirinfo.o \
tif_dirread.o \
tif_dirwrite.o \
tif_dumpmode.o \
tif_error.o \
tif_getimage.o \
tif_jpeg.o \
tif_flush.o \
tif_lzw.o \
tif_next.o \
tif_open.o \
tif_packbits.o \
tif_print.o \
tif_read.o \
tif_strip.o \
tif_swab.o \
tif_thunder.o \
tif_tile.o \
tif_version.o \
tif_warning.o \
tif_write.o \
${NULL}
# CONFIGURE: Compile libtiff as a Shared Library
# Remove the comment if you want to build libtiff as a shared library:
#
#SHLIB_FLAGS= -bM\:SRE
#
ALL= libtiff.a
all: ${ALL}
${ALL}: ${OBJS}
@if [ -n "$(SHLIB_FLAGS)" ]; then \
echo "\n\tBuilding $@ as a shared libary, assumes that" ;\
echo "\t\tall .o files is compiled with $(SHLIB_FLAGS).\n" ;\
set -x ;\
rm -f $@~ ; \
$(AR) clq $@~ $(OBJS) ;\
dump -g $@~ | sed -n -e 's/^[ ]*[0-9][0-9]*[ ]*\([^ .][^ ]*\)$$/\1/p' > $@.syms ;\
$(LD) -o shr.o $@~ -H512 -T512 -bM\:SRE -bE\:$@.syms -lc -lm ;\
rm -f $@~ ;\
$(AR) clq $@~ shr.o ;\
rm -f $@.syms $@ shr.o ;\
mv $@~ $@ ;\
else \
echo "\t${AR} rc libtiff.a $?" ;\
${AR} rc libtiff.a $? ;\
fi
# ranlib for AIX is for compatibility only
# ${RANLIB} libtiff.a
${OBJS}: tiffio.h tiff.h tiffcompat.h tiffioP.h
tif_compress.o: tif_compress.c Makefile
${CC} -c ${CFLAGS} ${CONF_COMPRESSION} tif_compress.c
tif_fax3.o: tif_fax3.c g3states.h t4.h tif_fax3.h
# CONFIGURE: Remove '-c' in AIX 2.1.1
g3states.h: mkg3states.c t4.h
${CC} -o mkg3states ${CFLAGS} mkg3states.c
./mkg3states -c > g3states.h
install: all installh
-test -d ${DESTDIR}/lib || mkdir ${DESTDIR}/lib
-@for i in ${ALL}; do \
if cmp -s $$i ${DESTDIR}/lib/$$i ; then \
echo "${DESTDIR}/lib/$$i is up to date" ; \
else \
rm -f ${DESTDIR}/lib/$$i ;\
echo " ${INSTALL} $$i ${DESTDIR}/lib/$$i" ; \
${INSTALL} $$i ${DESTDIR}/lib/$$i; \
fi \
done
# ranlib for AIX is for compatibility only
# ${RANLIB} -t ${DESTDIR}/lib/libtiff.a
installh: ${INCS}
-test -d ${DESTDIR}/include || mkdir ${DESTDIR}/include
-@for i in ${INCS}; do \
h=`basename $$i`; \
if cmp -s $$i ${DESTDIR}/include/$$h ; then \
echo "${DESTDIR}/include/$$h is up to date" ; \
else \
rm -f ${DESTDIR}/include/$$h ;\
echo " ${INSTALL} $$i ${DESTDIR}/include/$$h" ; \
${INSTALL} $$i ${DESTDIR}/include/$$h; \
fi \
done
clean:
rm -f ${ALL} ${OBJS} core a.out mkg3states g3states.h err errs
tags: ${SRCS}
${CTAGS} ${SRCS}
# EOF
+171
View File
@@ -0,0 +1,171 @@
# $Header: /usr/people/sam/tiff/libtiff/RCS/Makefile.apollo,v 1.26 92/02/19 14:25:25 sam Exp $
#
# Tag Image File Format Library
#
# Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
# Copyright (c) 1991, 1992 Silicon Graphics, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that (i) the above copyright notices and this permission notice appear in
# all copies of the software and related documentation, and (ii) the names of
# Sam Leffler and Silicon Graphics may not be used in any advertising or
# publicity relating to the software without the specific, prior written
# permission of Stanford and Silicon Graphics.
#
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
#
# the library will be installed in DESTDIR/lib and the included files in DESTDIR/include
DESTDIR=/progs/bit2bit/tiff
#
AR= /bin/ar
RANLIB= /usr/bin/ranlib
INSTALL= /usr/bin/install
NULL=
IPATH= -I.
#
# Library-wide configuration defines:
# MMAP_SUPPORT add support for memory mapping read-only files
# COLORIMETRY_SUPPORT add support for 6.0 colorimetry tags
# JPEG_SUPPORT add support for 6.0 JPEG tags & JPEG algorithms
# YCBCR_SUPPORT add support for 6.0 YCbCr tags
# CMYK_SUPPORT add support for 6.0 CMYK tags
#
# Compression configuration defines:
# CCITT_SUPPORT add support for CCITT Group 3 & 4 algorithms
# PACKBITS_SUPPORT add support for Macintosh PackBits algorithm
# LZW_SUPPORT add support for LZW algorithm
# THUNDER_SUPPORT add support for ThunderScan 4-bit RLE algorithm
# NEXT_SUPPORT add support for NeXT 2-bit RLE algorithm
# JPEG_SUPPORT add support for JPEG DCT algorithm
#
# Note that if you change the library-wide configuration, you'll
# need to manual force a full rebuild. Changing the configuration
# of which compression algorithms are included in the library is
# automatically handled (i.e. tif_compress.o has a dependency on
# the Makefile).
#
CONF_COMPRESSION=\
-DPACKBITS_SUPPORT \
-DLZW_SUPPORT \
-DCCITT_SUPPORT \
-DTHUNDER_SUPPORT \
-DNEXT_SUPPORT \
${NULL}
CONF_LIBRARY=\
-DUSE_VARARGS=1 \
-DUSE_PROTOTYPES=0 \
-DHAVE_IEEEFP=1 \
-DCOLORIMETRY_SUPPORT \
-DYCBCR_SUPPORT \
${NULL}
CFLAGS= -O -A nansi ${IPATH} ${CONF_LIBRARY}
#
INCS= tiff.h tiffio.h
SRCS= tif_fax3.c \
tif_fax4.c \
tif_aux.c \
tif_ccittrle.c \
tif_close.c \
tif_compat.c \
tif_compress.c \
tif_dir.c \
tif_dirinfo.c \
tif_dirread.c \
tif_dirwrite.c \
tif_dumpmode.c \
tif_error.c \
tif_flush.c \
tif_getimage.c \
tif_jpeg.c \
tif_lzw.c \
tif_next.c \
tif_open.c \
tif_packbits.c \
tif_print.c \
tif_read.c \
tif_swab.c \
tif_strip.c \
tif_thunder.c \
tif_tile.c \
tif_version.c \
tif_warning.c \
tif_write.c \
${NULL}
OBJS= tif_fax3.o \
tif_fax4.o \
tif_aux.o \
tif_ccittrle.o \
tif_close.o \
tif_compat.o \
tif_compress.o \
tif_dir.o \
tif_dirinfo.o \
tif_dirread.o \
tif_dirwrite.o \
tif_dumpmode.o \
tif_error.o \
tif_flush.o \
tif_getimage.o \
tif_jpeg.o \
tif_lzw.o \
tif_next.o \
tif_open.o \
tif_packbits.o \
tif_print.o \
tif_read.o \
tif_swab.o \
tif_strip.o \
tif_thunder.o \
tif_tile.o \
tif_version.o \
tif_warning.o \
tif_write.o \
${NULL}
ALL= libtiff.a
all: ${ALL}
${ALL}: ${OBJS}
${AR} rc libtiff.a $?
${RANLIB} libtiff.a
${OBJS}: tiffio.h tiff.h tiffcompat.h tiffioP.h
tif_compress.o: tif_compress.c Makefile
${CC} -c ${CFLAGS} ${CONF_COMPRESSION} tif_compress.c
tif_fax3.o: tif_fax3.c g3states.h t4.h tif_fax3.h
g3states.h: mkg3states.c t4.h
${CC} -o mkg3states ${CFLAGS} mkg3states.c
./mkg3states > g3states.h
install: all installh
@-mkdir $(DESTDIR)/lib
-for i in ${ALL}; do \
${INSTALL} -c -m 644 $$i ${DESTDIR}/lib/$$i; \
${RANLIB} ${DESTDIR}/lib/$$i; \
done
installh: ${INCS}
@-mkdir $(DESTDIR)/include
-for i in ${INCS}; do \
h=`basename $$i`; \
cmp -s $$i ${DESTDIR}/include/$$h || \
${INSTALL} -c -m 444 $$i ${DESTDIR}/include/$$h; \
done
clean:
rm -f ${ALL} ${OBJS} core a.out mkg3states g3states.h
tags: ${SRCS}
${CTAGS} ${SRCS}
+166
View File
@@ -0,0 +1,166 @@
# $Header: /usr/people/sam/tiff/libtiff/RCS/Makefile.hpux,v 1.25 92/02/19 14:25:26 sam Exp $
#
# Tag Image File Format Library
#
# Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
# Copyright (c) 1991, 1992 Silicon Graphics, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that (i) the above copyright notices and this permission notice appear in
# all copies of the software and related documentation, and (ii) the names of
# Sam Leffler and Silicon Graphics may not be used in any advertising or
# publicity relating to the software without the specific, prior written
# permission of Stanford and Silicon Graphics.
#
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
#
DESTDIR=.
#
AR= /bin/ar
RANLIB= /bin/ar ts
NULL=
IPATH= -I. -I/usr/include/bsd
#
# Library-wide configuration defines:
# MMAP_SUPPORT add support for memory mapping read-only files
# COLORIMETRY_SUPPORT add support for 6.0 colorimetry tags
# JPEG_SUPPORT add support for 6.0 JPEG tags & JPEG algorithms
# YCBCR_SUPPORT add support for 6.0 YCbCr tags
# CMYK_SUPPORT add support for 6.0 CMYK tags
#
# Compression configuration defines:
# CCITT_SUPPORT add support for CCITT Group 3 & 4 algorithms
# PACKBITS_SUPPORT add support for Macintosh PackBits algorithm
# LZW_SUPPORT add support for LZW algorithm
# THUNDER_SUPPORT add support for ThunderScan 4-bit RLE algorithm
# NEXT_SUPPORT add support for NeXT 2-bit RLE algorithm
# JPEG_SUPPORT add support for JPEG DCT algorithm
#
# Note that if you change the library-wide configuration, you'll
# need to manual force a full rebuild. Changing the configuration
# of which compression algorithms are included in the library is
# automatically handled (i.e. tif_compress.o has a dependency on
# the Makefile).
#
CONF_COMPRESSION=\
-DPACKBITS_SUPPORT \
-DLZW_SUPPORT \
-DCCITT_SUPPORT \
-DTHUNDER_SUPPORT \
-DNEXT_SUPPORT \
${NULL}
CONF_LIBRARY=\
-DUSE_VARARGS=1 \
-DUSE_PROTOTYPES=0 \
-DHAVE_IEEEFP=1 \
-DCOLORIMETRY_SUPPORT \
-DYCBCR_SUPPORT \
${NULL}
CFLAGS= -O -Dhpux ${IPATH} ${CONF_LIBRARY}
#
INCS= tiff.h tiffio.h
SRCS= tif_fax3.c \
tif_fax4.c \
tif_aux.c \
tif_ccittrle.c \
tif_close.c \
tif_compat.c \
tif_compress.c \
tif_dir.c \
tif_dirinfo.c \
tif_dirread.c \
tif_dirwrite.c \
tif_dumpmode.c \
tif_error.c \
tif_getimage.c \
tif_jpeg.c \
tif_flush.c \
tif_lzw.c \
tif_next.c \
tif_open.c \
tif_packbits.c \
tif_print.c \
tif_read.c \
tif_swab.c \
tif_strip.c \
tif_thunder.c \
tif_tile.c \
tif_version.c \
tif_warning.c \
tif_write.c \
${NULL}
OBJS= tif_fax3.o \
tif_fax4.o \
tif_aux.o \
tif_ccittrle.o \
tif_close.o \
tif_compat.o \
tif_compress.o \
tif_dir.o \
tif_dirinfo.o \
tif_dirread.o \
tif_dirwrite.o \
tif_dumpmode.o \
tif_error.o \
tif_getimage.o \
tif_jpeg.o \
tif_flush.o \
tif_lzw.o \
tif_next.o \
tif_open.o \
tif_packbits.o \
tif_print.o \
tif_read.o \
tif_swab.o \
tif_strip.o \
tif_thunder.o \
tif_tile.o \
tif_version.o \
tif_warning.o \
tif_write.o \
${NULL}
ALL= libtiff.a
all: ${ALL}
${ALL}: ${OBJS}
${AR} rc libtiff.a $?
${OBJS}: tiffio.h tiff.h tiffcompat.h tiffioP.h
tif_compress.o: tif_compress.c Makefile
${CC} -c ${CFLAGS} ${CONF_COMPRESSION} tif_compress.c
tif_fax3.o: tif_fax3.c g3states.h t4.h tif_fax3.h
g3states.h: mkg3states.c t4.h
${CC} -o mkg3states ${CFLAGS} mkg3states.c
./mkg3states > g3states.h
install: all installh
-for i in ${ALL}; do \
${INSTALL} -c -m 644 $$i ${DESTDIR}/lib/$$i; \
${RANLIB} ${DESTDIR}/lib/$$i; \
done
installh: ${INCS}
-for i in ${INCS}; do \
h=`basename $$i`; \
cmp -s $$i ${DESTDIR}/include/$$h || \
${INSTALL} -c -m 444 $$i ${DESTDIR}/include/$$h; \
done
clean:
rm -f ${ALL} ${OBJS} core a.out mkg3states g3states.h
tags: ${SRCS}
${CTAGS} ${SRCS}
+167
View File
@@ -0,0 +1,167 @@
# $Header: /usr/people/sam/tiff/libtiff/RCS/Makefile.mips,v 1.25 92/02/19 14:25:27 sam Exp $
#
# Tag Image File Format Library
#
# Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
# Copyright (c) 1991, 1992 Silicon Graphics, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that (i) the above copyright notices and this permission notice appear in
# all copies of the software and related documentation, and (ii) the names of
# Sam Leffler and Silicon Graphics may not be used in any advertising or
# publicity relating to the software without the specific, prior written
# permission of Stanford and Silicon Graphics.
#
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
#
DESTDIR=.
#
AR= /bin/ar
RANLIB= /bin/ar ts
NULL=
IPATH= -I.
#
# Library-wide configuration defines:
# MMAP_SUPPORT add support for memory mapping read-only files
# COLORIMETRY_SUPPORT add support for 6.0 colorimetry tags
# JPEG_SUPPORT add support for 6.0 JPEG tags & JPEG algorithms
# YCBCR_SUPPORT add support for 6.0 YCbCr tags
# CMYK_SUPPORT add support for 6.0 CMYK tags
#
# Compression configuration defines:
# CCITT_SUPPORT add support for CCITT Group 3 & 4 algorithms
# PACKBITS_SUPPORT add support for Macintosh PackBits algorithm
# LZW_SUPPORT add support for LZW algorithm
# THUNDER_SUPPORT add support for ThunderScan 4-bit RLE algorithm
# NEXT_SUPPORT add support for NeXT 2-bit RLE algorithm
# JPEG_SUPPORT add support for JPEG DCT algorithm
#
# Note that if you change the library-wide configuration, you'll
# need to manual force a full rebuild. Changing the configuration
# of which compression algorithms are included in the library is
# automatically handled (i.e. tif_compress.o has a dependency on
# the Makefile).
#
CONF_COMPRESSION=\
-DPACKBITS_SUPPORT \
-DLZW_SUPPORT \
-DCCITT_SUPPORT \
-DTHUNDER_SUPPORT \
-DNEXT_SUPPORT \
${NULL}
CONF_LIBRARY=\
-DUSE_VARARGS=1 \
-DUSE_PROTOTYPES=0 \
-DHAVE_IEEEFP=1 \
-DCOLORIMETRY_SUPPORT \
-DYCBCR_SUPPORT \
${NULL}
CFLAGS= -g ${IPATH} ${CONF_LIBRARY}
#
INCS= tiff.h tiffio.h
SRCS= tif_fax3.c \
tif_fax4.c \
tif_aux.c \
tif_ccittrle.c \
tif_close.c \
tif_compat.c \
tif_compress.c \
tif_dir.c \
tif_dirinfo.c \
tif_dirread.c \
tif_dirwrite.c \
tif_dumpmode.c \
tif_error.c \
tif_getimage.c \
tif_jpeg.c \
tif_flush.c \
tif_lzw.c \
tif_next.c \
tif_open.c \
tif_packbits.c \
tif_print.c \
tif_read.c \
tif_swab.c \
tif_strip.c \
tif_thunder.c \
tif_tile.c \
tif_version.c \
tif_warning.c \
tif_write.c \
${NULL}
OBJS= tif_fax3.o \
tif_fax4.o \
tif_aux.o \
tif_ccittrle.o \
tif_close.o \
tif_compat.o \
tif_compress.o \
tif_dir.o \
tif_dirinfo.o \
tif_dirread.o \
tif_dirwrite.o \
tif_dumpmode.o \
tif_error.o \
tif_getimage.o \
tif_jpeg.o \
tif_flush.o \
tif_lzw.o \
tif_next.o \
tif_open.o \
tif_packbits.o \
tif_print.o \
tif_read.o \
tif_swab.o \
tif_strip.o \
tif_thunder.o \
tif_tile.o \
tif_version.o \
tif_warning.o \
tif_write.o \
${NULL}
ALL= libtiff.a
all: ${ALL}
${ALL}: ${OBJS}
${AR} rc libtiff.a $?
${RANLIB} libtiff.a
${OBJS}: tiffio.h tiff.h tiffcompat.h tiffioP.h
tif_compress.o: tif_compress.c Makefile
${CC} -c ${CFLAGS} ${CONF_COMPRESSION} tif_compress.c
tif_fax3.o: tif_fax3.c g3states.h t4.h tif_fax3.h
g3states.h: mkg3states.c t4.h
${CC} -o mkg3states ${CFLAGS} mkg3states.c
./mkg3states > g3states.h
install: all installh
-for i in ${ALL}; do \
${INSTALL} -c -m 644 $$i ${DESTDIR}/lib/$$i; \
${RANLIB} ${DESTDIR}/lib/$$i; \
done
installh: ${INCS}
-for i in ${INCS}; do \
h=`basename $$i`; \
cmp -s $$i ${DESTDIR}/include/$$h || \
${INSTALL} -c -m 444 $$i ${DESTDIR}/include/$$h; \
done
clean:
rm -f ${ALL} ${OBJS} core a.out mkg3states g3states.h
tags: ${SRCS}
${CTAGS} ${SRCS}
+169
View File
@@ -0,0 +1,169 @@
# $Header: /usr/people/sam/tiff/libtiff/RCS/Makefile.next,v 1.25 92/02/19 14:25:28 sam Exp $
#
# Tag Image File Format Library
#
# Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
# Copyright (c) 1991, 1992 Silicon Graphics, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that (i) the above copyright notices and this permission notice appear in
# all copies of the software and related documentation, and (ii) the names of
# Sam Leffler and Silicon Graphics may not be used in any advertising or
# publicity relating to the software without the specific, prior written
# permission of Stanford and Silicon Graphics.
#
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
#
DESTDIR=.
#
AR= /bin/ar
RANLIB= /bin/ranlib
INSTALL= /usr/bin/install
NULL=
IPATH= -I.
#
# Library-wide configuration defines:
# MMAP_SUPPORT add support for memory mapping read-only files
# COLORIMETRY_SUPPORT add support for 6.0 colorimetry tags
# JPEG_SUPPORT add support for 6.0 JPEG tags & JPEG algorithms
# YCBCR_SUPPORT add support for 6.0 YCbCr tags
# CMYK_SUPPORT add support for 6.0 CMYK tags
#
# Compression configuration defines:
# CCITT_SUPPORT add support for CCITT Group 3 & 4 algorithms
# PACKBITS_SUPPORT add support for Macintosh PackBits algorithm
# LZW_SUPPORT add support for LZW algorithm
# THUNDER_SUPPORT add support for ThunderScan 4-bit RLE algorithm
# NEXT_SUPPORT add support for NeXT 2-bit RLE algorithm
# JPEG_SUPPORT add support for JPEG DCT algorithm
#
# Note that if you change the library-wide configuration, you'll
# need to manual force a full rebuild. Changing the configuration
# of which compression algorithms are included in the library is
# automatically handled (i.e. tif_compress.o has a dependency on
# the Makefile).
#
CONF_COMPRESSION=\
-DPACKBITS_SUPPORT \
-DLZW_SUPPORT \
-DCCITT_SUPPORT \
-DNEXT_SUPPORT \
${NULL}
CONF_LIBRARY=\
-DUSE_VARARGS=0 \
-DUSE_PROTOTYPES=1 \
-DHAVE_IEEEFP=1 \
-DCOLORIMETRY_SUPPORT \
-DYCBCR_SUPPORT \
${NULL}
CFLAGS= -g ${IPATH} ${CONF_LIBRARY}
#
INCS= tiff.h tiffio.h
SRCS= tif_fax3.c \
tif_fax4.c \
tif_aux.c \
tif_ccittrle.c \
tif_close.c \
tif_compat.c \
tif_compress.c \
tif_dir.c \
tif_dirinfo.c \
tif_dirread.c \
tif_dirwrite.c \
tif_dumpmode.c \
tif_error.c \
tif_getimage.c \
tif_jpeg.c \
tif_flush.c \
tif_lzw.c \
tif_next.c \
tif_open.c \
tif_packbits.c \
tif_print.c \
tif_read.c \
tif_swab.c \
tif_strip.c \
tif_thunder.c \
tif_tile.c \
tif_version.c \
tif_warning.c \
tif_write.c \
${NULL}
OBJS= tif_fax3.o \
tif_fax4.o \
tif_aux.o \
tif_ccittrle.o \
tif_close.o \
tif_compat.o \
tif_compress.o \
tif_dir.o \
tif_dirinfo.o \
tif_dirread.o \
tif_dirwrite.o \
tif_dumpmode.o \
tif_error.o \
tif_getimage.o \
tif_jpeg.o \
tif_flush.o \
tif_lzw.o \
tif_next.o \
tif_open.o \
tif_packbits.o \
tif_print.o \
tif_read.o \
tif_strip.o \
tif_swab.o \
tif_thunder.o \
tif_tile.o \
tif_version.o \
tif_warning.o \
tif_write.o \
${NULL}
ALL= libtiff.a
all: ${ALL}
${ALL}: ${OBJS}
${AR} rc libtiff.a $?
${RANLIB} libtiff.a
${OBJS}: tiffio.h tiff.h tiffcompat.h tiffioP.h
tif_compress.o: tif_compress.c Makefile
${CC} -c ${CFLAGS} ${CONF_COMPRESSION} tif_compress.c
tif_fax3.o: tif_fax3.c g3states.h t4.h tif_fax3.h
g3states.h: mkg3states.c t4.h
${CC} -o mkg3states ${CFLAGS} mkg3states.c
./mkg3states > g3states.h
install: all installh
-mkdirs ${DESTDIR}/lib
-for i in ${ALL}; do \
${INSTALL} -c -m 644 $$i ${DESTDIR}/lib/$$i; \
${RANLIB} ${DESTDIR}/lib/$$i; \
done
installh: ${INCS}
-mkdirs ${DESTDIR}/include
-for i in ${INCS}; do \
h=`basename $$i`; \
cmp -s $$i ${DESTDIR}/include/$$h || \
${INSTALL} -c -m 444 $$i ${DESTDIR}/include/$$h; \
done
clean:
rm -f ${ALL} ${OBJS} core a.out mkg3states g3states.h
tags: ${SRCS}
${CTAGS} ${SRCS}
+167
View File
@@ -0,0 +1,167 @@
# $Header: /usr/people/sam/tiff/libtiff/RCS/Makefile.sgi,v 1.44 92/02/19 14:25:29 sam Exp $
#
# Tag Image File Format Library
#
# Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
# Copyright (c) 1991, 1992 Silicon Graphics, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that (i) the above copyright notices and this permission notice appear in
# all copies of the software and related documentation, and (ii) the names of
# Sam Leffler and Silicon Graphics may not be used in any advertising or
# publicity relating to the software without the specific, prior written
# permission of Stanford and Silicon Graphics.
#
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
#
DESTDIR=.
#
AR= /usr/bin/ar
NULL=
IPATH= -I. -I/usr/include/bsd
#
# Library-wide configuration defines:
# MMAP_SUPPORT add support for memory mapping read-only files
# COLORIMETRY_SUPPORT add support for 6.0 colorimetry tags
# JPEG_SUPPORT add support for 6.0 JPEG tags & JPEG algorithms
# YCBCR_SUPPORT add support for 6.0 YCbCr tags
# CMYK_SUPPORT add support for 6.0 CMYK tags
#
# Compression configuration defines:
# CCITT_SUPPORT add support for CCITT Group 3 & 4 algorithms
# PACKBITS_SUPPORT add support for Macintosh PackBits algorithm
# LZW_SUPPORT add support for LZW algorithm
# THUNDER_SUPPORT add support for ThunderScan 4-bit RLE algorithm
# NEXT_SUPPORT add support for NeXT 2-bit RLE algorithm
# JPEG_SUPPORT add support for JPEG DCT algorithm
#
# Note that if you change the library-wide configuration, you'll
# need to manual force a full rebuild. Changing the configuration
# of which compression algorithms are included in the library is
# automatically handled (i.e. tif_compress.o has a dependency on
# the Makefile).
#
CONF_COMPRESSION=\
-DPACKBITS_SUPPORT \
-DLZW_SUPPORT \
-DCCITT_SUPPORT \
-DTHUNDER_SUPPORT \
-DNEXT_SUPPORT \
${NULL}
CONF_LIBRARY=\
-DUSE_VARARGS=0 \
-DUSE_PROTOTYPES=1 \
-DHAVE_IEEEFP=1 \
-DCOLORIMETRY_SUPPORT \
-DJPEG_SUPPORT \
-DYCBCR_SUPPORT \
-DCMYK_SUPPORT \
-DMMAP_SUPPORT \
${NULL}
CFLAGS= -O ${IPATH} ${CONF_LIBRARY} -ansi
#
INCS= tiff.h tiffio.h
SRCS= tif_fax3.c \
tif_fax4.c \
tif_aux.c \
tif_ccittrle.c \
tif_close.c \
tif_compat.c \
tif_compress.c \
tif_dir.c \
tif_dirinfo.c \
tif_dirread.c \
tif_dirwrite.c \
tif_dumpmode.c \
tif_error.c \
tif_getimage.c \
tif_jpeg.c \
tif_flush.c \
tif_lzw.c \
tif_next.c \
tif_open.c \
tif_packbits.c \
tif_print.c \
tif_read.c \
tif_swab.c \
tif_strip.c \
tif_thunder.c \
tif_tile.c \
tif_version.c \
tif_warning.c \
tif_write.c \
${NULL}
OBJS= tif_fax3.o \
tif_fax4.o \
tif_aux.o \
tif_ccittrle.o \
tif_close.o \
tif_compat.o \
tif_compress.o \
tif_dir.o \
tif_dirinfo.o \
tif_dirread.o \
tif_dirwrite.o \
tif_dumpmode.o \
tif_error.o \
tif_getimage.o \
tif_jpeg.o \
tif_flush.o \
tif_lzw.o \
tif_next.o \
tif_open.o \
tif_packbits.o \
tif_print.o \
tif_read.o \
tif_swab.o \
tif_strip.o \
tif_thunder.o \
tif_tile.o \
tif_version.o \
tif_warning.o \
tif_write.o \
${NULL}
ALL= libtiff.a
all: ${ALL}
${ALL}: ${OBJS}
${AR} rc libtiff.a $?
${OBJS}: tiff.h tiffcompat.h tiffioP.h
tif_compress.o: tif_compress.c Makefile
${CC} -c ${CFLAGS} ${CONF_COMPRESSION} tif_compress.c
tif_fax3.o: tif_fax3.c g3states.h t4.h tif_fax3.h
g3states.h: mkg3states.c t4.h
${CC} -o mkg3states ${CFLAGS} mkg3states.c
./mkg3states -c > g3states.h
install: all installh
-for i in ${ALL}; do \
${INSTALL} -c -m 644 $$i ${DESTDIR}/lib/$$i; \
done
installh: ${INCS}
-for i in ${INCS}; do \
h=`basename $$i`; \
cmp -s $$i ${DESTDIR}/include/$$h || \
${INSTALL} -c -m 444 $$i ${DESTDIR}/include/$$h; \
done
clean:
rm -f ${ALL} ${OBJS} core a.out mkg3states g3states.h
tags: ${SRCS}
${CTAGS} ${SRCS}
+167
View File
@@ -0,0 +1,167 @@
# $Header: /usr/people/sam/tiff/libtiff/RCS/Makefile.sun,v 1.36 92/02/19 14:25:29 sam Exp $
#
# Tag Image File Format Library
#
# Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
# Copyright (c) 1991, 1992 Silicon Graphics, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that (i) the above copyright notices and this permission notice appear in
# all copies of the software and related documentation, and (ii) the names of
# Sam Leffler and Silicon Graphics may not be used in any advertising or
# publicity relating to the software without the specific, prior written
# permission of Stanford and Silicon Graphics.
#
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
#
DESTDIR=.
#
AR= /bin/ar
RANLIB= /usr/bin/ranlib
NULL=
IPATH= -I.
#
# Library-wide configuration defines:
# MMAP_SUPPORT add support for memory mapping read-only files
# COLORIMETRY_SUPPORT add support for 6.0 colorimetry tags
# JPEG_SUPPORT add support for 6.0 JPEG tags & JPEG algorithms
# YCBCR_SUPPORT add support for 6.0 YCbCr tags
# CMYK_SUPPORT add support for 6.0 CMYK tags
#
# Compression configuration defines:
# CCITT_SUPPORT add support for CCITT Group 3 & 4 algorithms
# PACKBITS_SUPPORT add support for Macintosh PackBits algorithm
# LZW_SUPPORT add support for LZW algorithm
# THUNDER_SUPPORT add support for ThunderScan 4-bit RLE algorithm
# NEXT_SUPPORT add support for NeXT 2-bit RLE algorithm
# JPEG_SUPPORT add support for JPEG DCT algorithm
#
# Note that if you change the library-wide configuration, you'll
# need to manual force a full rebuild. Changing the configuration
# of which compression algorithms are included in the library is
# automatically handled (i.e. tif_compress.o has a dependency on
# the Makefile).
#
CONF_COMPRESSION=\
-DPACKBITS_SUPPORT \
-DLZW_SUPPORT \
-DCCITT_SUPPORT \
-DTHUNDER_SUPPORT \
-DNEXT_SUPPORT \
${NULL}
CONF_LIBRARY=\
-DUSE_VARARGS=1 \
-DUSE_PROTOTYPES=0 \
-DHAVE_IEEEFP=1 \
-DCOLORIMETRY_SUPPORT \
-DYCBCR_SUPPORT \
${NULL}
CFLAGS= -g ${IPATH} ${CONF_LIBRARY}
#
INCS= tiff.h tiffio.h
SRCS= tif_fax3.c \
tif_fax4.c \
tif_aux.c \
tif_ccittrle.c \
tif_close.c \
tif_compat.c \
tif_compress.c \
tif_dir.c \
tif_dirinfo.c \
tif_dirread.c \
tif_dirwrite.c \
tif_dumpmode.c \
tif_error.c \
tif_getimage.c \
tif_jpeg.c \
tif_flush.c \
tif_lzw.c \
tif_next.c \
tif_open.c \
tif_packbits.c \
tif_print.c \
tif_read.c \
tif_swab.c \
tif_strip.c \
tif_thunder.c \
tif_tile.c \
tif_version.c \
tif_warning.c \
tif_write.c \
${NULL}
OBJS= tif_fax3.o \
tif_fax4.o \
tif_aux.o \
tif_ccittrle.o \
tif_close.o \
tif_compat.o \
tif_compress.o \
tif_dir.o \
tif_dirinfo.o \
tif_dirread.o \
tif_dirwrite.o \
tif_dumpmode.o \
tif_error.o \
tif_getimage.o \
tif_jpeg.o \
tif_flush.o \
tif_lzw.o \
tif_next.o \
tif_open.o \
tif_packbits.o \
tif_print.o \
tif_read.o \
tif_strip.o \
tif_swab.o \
tif_thunder.o \
tif_tile.o \
tif_version.o \
tif_warning.o \
tif_write.o \
${NULL}
ALL= libtiff.a
all: ${ALL}
${ALL}: ${OBJS}
${AR} rc libtiff.a $?
${RANLIB} libtiff.a
${OBJS}: tiffio.h tiff.h tiffcompat.h tiffioP.h
tif_compress.o: tif_compress.c Makefile
${CC} -c ${CFLAGS} ${CONF_COMPRESSION} tif_compress.c
tif_fax3.o: tif_fax3.c g3states.h t4.h tif_fax3.h
g3states.h: mkg3states.c t4.h
${CC} -o mkg3states ${CFLAGS} mkg3states.c
./mkg3states > g3states.h
install: all installh
-for i in ${ALL}; do \
${INSTALL} -c -m 644 $$i ${DESTDIR}/lib/$$i; \
${RANLIB} ${DESTDIR}/lib/$$i; \
done
installh: ${INCS}
-for i in ${INCS}; do \
h=`basename $$i`; \
cmp -s $$i ${DESTDIR}/include/$$h || \
${INSTALL} -c -m 444 $$i ${DESTDIR}/include/$$h; \
done
clean:
rm -f ${ALL} ${OBJS} core a.out mkg3states g3states.h
tags: ${SRCS}
${CTAGS} ${SRCS}
+169
View File
@@ -0,0 +1,169 @@
# $Header: /usr/people/sam/tiff/libtiff/RCS/Makefile.tahoe,v 1.27 92/03/30 18:33:37 sam Exp $
#
# Tag Image File Format Library
#
# Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
# Copyright (c) 1991, 1992 Silicon Graphics, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that (i) the above copyright notices and this permission notice appear in
# all copies of the software and related documentation, and (ii) the names of
# Sam Leffler and Silicon Graphics may not be used in any advertising or
# publicity relating to the software without the specific, prior written
# permission of Stanford and Silicon Graphics.
#
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
#
DESTDIR=.
#
AR= ar
RANLIB= ranlib
NULL=
IPATH= -I.
#
# Library-wide configuration defines:
# MMAP_SUPPORT add support for memory mapping read-only files
# COLORIMETRY_SUPPORT add support for 6.0 colorimetry tags
# JPEG_SUPPORT add support for 6.0 JPEG tags & JPEG algorithms
# YCBCR_SUPPORT add support for 6.0 YCbCr tags
# CMYK_SUPPORT add support for 6.0 CMYK tags
#
# Compression configuration defines:
# CCITT_SUPPORT add support for CCITT Group 3 & 4 algorithms
# PACKBITS_SUPPORT add support for Macintosh PackBits algorithm
# LZW_SUPPORT add support for LZW algorithm
# THUNDER_SUPPORT add support for ThunderScan 4-bit RLE algorithm
# NEXT_SUPPORT add support for NeXT 2-bit RLE algorithm
# JPEG_SUPPORT add support for JPEG DCT algorithm
#
# Note that if you change the library-wide configuration, you'll
# need to manual force a full rebuild. Changing the configuration
# of which compression algorithms are included in the library is
# automatically handled (i.e. tif_compress.o has a dependency on
# the Makefile).
#
CONF_COMPRESSION=\
-DPACKBITS_SUPPORT \
-DLZW_SUPPORT \
-DCCITT_SUPPORT \
-DTHUNDER_SUPPORT \
-DNEXT_SUPPORT \
${NULL}
CONF_LIBRARY=\
-DUSE_VARARGS=1 \
-DUSE_PROTOTYPES=0 \
-DHAVE_IEEEFP=0 \
-DCOLORIMETRY_SUPPORT \
-DYCBCR_SUPPORT \
${NULL}
CFLAGS= -g ${IPATH} ${CONF_LIBRARY}
#
INCS= tiff.h tiffio.h
SRCS= tif_fax3.c \
tif_fax4.c \
tif_aux.c \
tif_ccittrle.c \
tif_close.c \
tif_compat.c \
tif_compress.c \
tif_dir.c \
tif_dirinfo.c \
tif_dirread.c \
tif_dirwrite.c \
tif_dumpmode.c \
tif_error.c \
tif_getimage.c \
tif_jpeg.c \
tif_flush.c \
tif_lzw.c \
tif_machdep.c \
tif_next.c \
tif_open.c \
tif_packbits.c \
tif_print.c \
tif_read.c \
tif_swab.c \
tif_strip.c \
tif_thunder.c \
tif_tile.c \
tif_version.c \
tif_warning.c \
tif_write.c \
${NULL}
OBJS= tif_fax3.o \
tif_fax4.o \
tif_aux.o \
tif_ccittrle.o \
tif_close.o \
tif_compat.o \
tif_compress.o \
tif_dir.o \
tif_dirinfo.o \
tif_dirread.o \
tif_dirwrite.o \
tif_dumpmode.o \
tif_error.o \
tif_getimage.o \
tif_jpeg.o \
tif_flush.o \
tif_lzw.o \
tif_machdep.o \
tif_next.o \
tif_open.o \
tif_packbits.o \
tif_print.o \
tif_read.o \
tif_strip.o \
tif_swab.o \
tif_thunder.o \
tif_tile.o \
tif_version.o \
tif_warning.o \
tif_write.o \
${NULL}
ALL= libtiff.a
all: ${ALL}
${ALL}: ${OBJS}
${AR} rc libtiff.a $?
${RANLIB} libtiff.a
${OBJS}: tiffio.h tiff.h tiffcompat.h tiffioP.h
tif_compress.o: tif_compress.c Makefile
${CC} -c ${CFLAGS} ${CONF_COMPRESSION} tif_compress.c
tif_fax3.o: tif_fax3.c g3states.h t4.h tif_fax3.h
g3states.h: mkg3states.c t4.h
${CC} -o mkg3states ${CFLAGS} mkg3states.c
./mkg3states > g3states.h
install: all installh
-for i in ${ALL}; do \
${INSTALL} -c -m 644 $$i ${DESTDIR}/lib/$$i; \
${RANLIB} ${DESTDIR}/lib/$$i; \
done
installh: ${INCS}
-for i in ${INCS}; do \
h=`basename $$i`; \
cmp -s $$i ${DESTDIR}/include/$$h || \
${INSTALL} -c -m 444 $$i ${DESTDIR}/include/$$h; \
done
clean:
rm -f ${ALL} ${OBJS} core a.out mkg3states g3states.h
tags: ${SRCS}
${CTAGS} ${SRCS}
+169
View File
@@ -0,0 +1,169 @@
# $Header: /usr/people/sam/tiff/libtiff/RCS/Makefile.vax,v 1.37 92/03/30 18:13:23 sam Exp $
#
# Tag Image File Format Library
#
# Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
# Copyright (c) 1991, 1992 Silicon Graphics, Inc.
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee, provided
# that (i) the above copyright notices and this permission notice appear in
# all copies of the software and related documentation, and (ii) the names of
# Sam Leffler and Silicon Graphics may not be used in any advertising or
# publicity relating to the software without the specific, prior written
# permission of Stanford and Silicon Graphics.
#
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
#
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
# OF THIS SOFTWARE.
#
DESTDIR=.
#
AR= /bin/ar
RANLIB= /usr/bin/ranlib
NULL=
IPATH= -I.
#
# Library-wide configuration defines:
# MMAP_SUPPORT add support for memory mapping read-only files
# COLORIMETRY_SUPPORT add support for 6.0 colorimetry tags
# JPEG_SUPPORT add support for 6.0 JPEG tags & JPEG algorithms
# YCBCR_SUPPORT add support for 6.0 YCbCr tags
# CMYK_SUPPORT add support for 6.0 CMYK tags
#
# Compression configuration defines:
# CCITT_SUPPORT add support for CCITT Group 3 & 4 algorithms
# PACKBITS_SUPPORT add support for Macintosh PackBits algorithm
# LZW_SUPPORT add support for LZW algorithm
# THUNDER_SUPPORT add support for ThunderScan 4-bit RLE algorithm
# NEXT_SUPPORT add support for NeXT 2-bit RLE algorithm
# JPEG_SUPPORT add support for JPEG DCT algorithm
#
# Note that if you change the library-wide configuration, you'll
# need to manual force a full rebuild. Changing the configuration
# of which compression algorithms are included in the library is
# automatically handled (i.e. tif_compress.o has a dependency on
# the Makefile).
#
CONF_COMPRESSION=\
-DPACKBITS_SUPPORT \
-DLZW_SUPPORT \
-DCCITT_SUPPORT \
-DTHUNDER_SUPPORT \
-DNEXT_SUPPORT \
${NULL}
CONF_LIBRARY=\
-DUSE_VARARGS=1 \
-DUSE_PROTOTYPES=0 \
-DHAVE_IEEEFP=0 \
-DCOLORIMETRY_SUPPORT \
-DYCBCR_SUPPORT \
${NULL}
CFLAGS= -g ${IPATH} ${CONF_LIBRARY}
#
INCS= tiff.h tiffio.h
SRCS= tif_fax3.c \
tif_fax4.c \
tif_aux.c \
tif_ccittrle.c \
tif_close.c \
tif_compat.c \
tif_compress.c \
tif_dir.c \
tif_dirinfo.c \
tif_dirread.c \
tif_dirwrite.c \
tif_dumpmode.c \
tif_error.c \
tif_getimage.c \
tif_jpeg.c \
tif_flush.c \
tif_lzw.c \
tif_machdep.c \
tif_next.c \
tif_open.c \
tif_packbits.c \
tif_print.c \
tif_read.c \
tif_swab.c \
tif_strip.c \
tif_thunder.c \
tif_tile.c \
tif_version.c \
tif_warning.c \
tif_write.c \
${NULL}
OBJS= tif_fax3.o \
tif_fax4.o \
tif_aux.o \
tif_ccittrle.o \
tif_close.o \
tif_compat.o \
tif_compress.o \
tif_dir.o \
tif_dirinfo.o \
tif_dirread.o \
tif_dirwrite.o \
tif_dumpmode.o \
tif_error.o \
tif_getimage.o \
tif_jpeg.o \
tif_flush.o \
tif_lzw.o \
tif_machdep.o \
tif_next.o \
tif_open.o \
tif_packbits.o \
tif_print.o \
tif_read.o \
tif_strip.o \
tif_swab.o \
tif_thunder.o \
tif_tile.o \
tif_version.o \
tif_warning.o \
tif_write.o \
${NULL}
ALL= libtiff.a
all: ${ALL}
${ALL}: ${OBJS}
${AR} rc libtiff.a $?
${RANLIB} libtiff.a
${OBJS}: tiffio.h tiff.h tiffcompat.h tiffioP.h
tif_compress.o: tif_compress.c Makefile
${CC} -c ${CFLAGS} ${CONF_COMPRESSION} tif_compress.c
tif_fax3.o: tif_fax3.c g3states.h t4.h tif_fax3.h
g3states.h: mkg3states.c t4.h
${CC} -o mkg3states ${CFLAGS} mkg3states.c
./mkg3states > g3states.h
install: all installh
-for i in ${ALL}; do \
${INSTALL} -c -m 644 $$i ${DESTDIR}/lib/$$i; \
${RANLIB} ${DESTDIR}/lib/$$i; \
done
installh: ${INCS}
-for i in ${INCS}; do \
h=`basename $$i`; \
cmp -s $$i ${DESTDIR}/include/$$h || \
${INSTALL} -c -m 444 $$i ${DESTDIR}/include/$$h; \
done
clean:
rm -f ${ALL} ${OBJS} core a.out mkg3states g3states.h
tags: ${SRCS}
${CTAGS} ${SRCS}
+163
View File
@@ -0,0 +1,163 @@
$Header: /usr/people/sam/tiff/libtiff/RCS/README,v 1.14 92/02/19 14:04:31 sam Exp $
Configuration Comments:
----------------------
Aside from the compression algorithm support, there are
configuration-related defines that you can set in the Makefile:
COLORIMETRY_SUPPORT
if this is defined, support for the colorimetry
tags will be compiled in.
JPEG_SUPPORT if this is defined, support for the JPEG-related
tags will be compiled in. Note that at the present
time the JPEG compression support is not included.
YCBCR_SUPPORT if this is defined, support for the YCbCr-related
tags will be compiled in. Note that you'll want
YCBCR support for JPEG compression+decompression.
CMYK_SUPPORT if this is defined, support for the CMYK-related
tags will be compiled in.
MMAP_SUPPORT if this is set, and OS support exists for memory
mapping files, then the library will try to map
a file if it is opened for reading. If mmap does
not exist on your system, or the mmap call fails
on the file, then the normal read system calls are
used. It is not clear how useful this facility is.
By default, the above are not defined.
Portability Comments:
--------------------
I run this code on SGI machines (big-endian, MIPS CPU, 32-bit ints,
IEEE floating point). Makefiles exist for other platforms that the
code runs on -- this work has mostly been done by other people.
I've also been told that the code runs on Macintosh and PC-based
systems, although I don't know the particulars.
In general, I promise only that the code runs on SGI machines.
I will, however, gladly take back fixes to make it work on other
systems -- when the changes are reasonable unobtrusive.
I've tried to isolate as many of the UNIX-dependencies as possible in
two files: tiffcompat.h and tif_compat.c. There are still some problems
with the use of lseek(). I personally don't care to devote
much effort to making the code work (untouched) on lots of non-UNIX
platforms.
Machine dependencies such as byte order are determined on the
fly and do not need to be specified.
Three general portability-related defines are:
USE_VARARGS define as 0 or 1 to select between the use of
varargs.h and stdarg.h; i.e. -DUSE_VARARGS=0
means use stdarg.h
USE_PROTOTYPES define as 0 or 1 to select function declarations
with parameter types
USE_CONST if your compiler defines __STDC__ or __EXTENSIONS__,
but does not support const, define this as 0,
otherwise leave it alone
BSDTYPES define this if your system does NOT define the
usual 4BSD typedefs
If you compile the code with prototypes (USE_PROTOTYPES=1), then
you must have USE_VARARGS=0.
Beware that if __STDC__ is defined and the USE_* symbols are
NOT defined, then compat.h defines:
USE_PROTOTYPES 1
USE_VARARGS 0
USE_CONST 1
General Comments:
----------------
The library is designed to hide as much of the details of TIFF as
possible. In particular, TIFF directories are read in their entirety
into an internal format. This means that only the tags known by the
library are available to a user and that certain tag data may be
maintained that a user doesn't care about (e.g. transfer function
tables).
To add support for a new directory tag the following changes will be
needed:
1. Define the tag in tiff.h.
2. Add a field to the directory structure in tiffioP.h and define a
FIELD_* bit.
3. Add an entry in the FieldInfo array defined at the top of tiff_dirinfo.c.
4. Add entries in TIFFSetField() and TIFFGetField1() for the new tag.
5. (optional) If the value associated with the tag is not a scalar value
(e.g. the array for TransferFunction), then add the appropriate
code to TIFFReadDirectory() and TIFFWriteDirectory(). You're best
off finding a similar tag and cribbing code.
6. Add support to TIFFPrintDirectory() in tiff_print.c to print the
tag's value.
To add support for a compression algorithm:
1. Define the tag value in tiff.h.
2. Edit the file tiff_compress.c to add an entry to the
CompressionSchemes[] array.
3. Create a file with the compression scheme code, by convention files
are named tif_*.c (except perhaps on System V where the tif_ prefix
pushes some filenames over 14 chars.
4. Edit the Makefile to include the new source file.
A compression scheme, say foo, can have up to 10 entry points:
TIFFfoo(tif) /* initialize scheme and setup entry points in tif */
fooPreDecode(tif) /* called once per strip, after data is read,
but before the first row in a strip is decoded */
fooDecode*(tif, bp, cc, sample)/* decode cc bytes of data into the buffer */
fooDecodeRow(...) /* called to decode a single scanline */
fooDecodeStrip(...) /* called to decode an entire strip */
fooDecodeTile(...) /* called to decode an entire tile */
fooPreEncode(tif) /* called once per strip/tile, before the first row in
a strip is encoded */
fooEncode*(tif, bp, cc, sample)/* encode cc bytes of user data (bp) */
fooEncodeRow(...) /* called to decode a single scanline */
fooEncodeStrip(...) /* called to decode an entire strip */
fooEncodeTile(...) /* called to decode an entire tile */
fooPostEncode(tif) /* called once per strip/tile, just before data is written */
fooSeek(tif, row) /* seek forwards row scanlines from the beginning
of a strip (row will always be >0 and <rows/strip */
fooCleanup(tif) /* called when compression scheme is replaced by user */
Note that the encoding and decoding variants are only needed when
a compression algorithm is dependent on the structure of the data.
For example, Group 3 2D encoding and decoding maintains a reference
scanline. The sample parameter identifies which sample is to be
encoded or decoded if the image is orgnanized with PlanarConfig=2
(separate planes). This is important for algorithms such as JPEG.
If PlanarConfig=1 (interleaved), then sample will always be 0.
The library handles most I/O buffering. There are two data buffers
when decoding data: a raw data buffer that holds all the data in a
strip, and a user-supplied scanline buffer that compression schemes
place decoded data into. When encoding data the data in the
user-supplied scanline buffer is encoded into the raw data buffer (from
where it's written). Decoding routines should never have to explicitly
read data -- a full strip/tile's worth of raw data is read and scanlines
never cross strip boundaries. Encoding routines must be cognizant of
the raw data buffer size and call TIFFFlushData1() when necessary.
Note that any pending data is automatically flushed when a new strip/tile is
started, so there's no need do that in the tif_postencode routine (if
one exists).
The variables tif_rawcc, tif_rawdata, and tif_rawcp in a TIFF structure
are associated with the raw data buffer. tif_rawcc must be non-zero
for the library to automatically flush data. The variable
tif_scanlinesize is the size a user's scanline buffer should be. The
varaible tif_tilesize is the size of a tile for tiled images. This
should not normally be used by compression routines, except where it
relates to the compression algorithm. That is, the cc parameter to the
tif_decode* and tif_encode* routines should be used in terminating
decompression/compression. This ensures these routines can be used,
for example, to decode/encode entire strips of data.
In general, if you have a new compression algorithm to add, work from
the code for an existing routine. In particular, tiff_dumpmode.c has
the trivial code for the "nil" compression scheme, tiff_packbits.c is a
simple byte-oriented scheme that has to watch out for buffer
boundaries, and tiff_lzw.c has the LZW scheme that has the most
complexity -- it tracks the buffer boundary at a bit level.
Of course, using a private compression scheme (or private tags) limits
the portability of your TIFF files.
File diff suppressed because it is too large. Load diff
+258
View File
@@ -0,0 +1,258 @@
/* $Header: /usr/people/sam/tiff/libtiff/junk/machdep.h,v 1.16 91/07/16 16:30:45 sam Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1991 Sam Leffler
* Copyright (c) 1991 Silicon Graphics, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that (i) the above copyright notices and this permission notice appear in
* all copies of the software and related documentation, and (ii) the names of
* Sam Leffler and Silicon Graphics may not be used in any advertising or
* publicity relating to the software without the specific, prior written
* permission of Sam Leffler and Silicon Graphics.
*
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
*
* IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
* ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
#ifndef _MACHDEP_
#define _MACHDEP_
/*
* Machine dependent definitions:
* o floating point formats
* o byte ordering
*
* NB, there are lots of assumptions here:
* - 32-bit natural integers (sign extension code)
* - native float is 4 bytes (floating point conversion)
* - native double is 8 bytes (floating point conversion)
*/
#if defined(sun) || defined(sparc) || defined(stellar) || defined(MIPSEB) || defined(hpux) || defined(apollo) || defined(NeXT) || defined(_IBMR2)
#define BIGENDIAN 1
#define IEEEFP
#endif /* sun || sparc || stellar || MIPSEB || hpux || apollo || NeXT || _IBMR2 */
/* MIPSEL = MIPS w/ Little Endian byte ordering (e.g. DEC 3100) */
#if defined(MIPSEL)
#define BIGENDIAN 0
#define IEEEFP
#endif /* MIPSEL */
#ifdef transputer
#define BIGENDIAN 0
#define IEEEFP /* IEEE floating point supported */
#endif /* transputer */
#if defined(m386) || defined(M_I86) || defined(i386)
#define BIGENDIAN 0
#define IEEEFP /* IEEE floating point supported */
#endif /* m386 || M_I86 || i386 */
#ifdef IEEEFP
typedef struct ieeedouble nativedouble;
typedef struct ieeefloat nativefloat;
#define ISFRACTION(e) (1022 - 4 <= (e) && (e) <= 1022 + 15)
#define EXTRACTFRACTION(dp, fract) \
((fract) = ((unsigned long)(1<<31)|((dp)->native.mant<<11)|\
((dp)->native.mant2>>21)) >> (1022+16-(dp)->native.exp))
#define EXTRACTEXPONENT(dp, exponent) ((exponent) = (dp)->native.exp)
#define NATIVE2IEEEFLOAT(fp)
#define IEEEFLOAT2NATIVE(fp)
#define IEEEDOUBLE2NATIVE(dp)
#define TIFFSwabArrayOfFloat(fp,n) TIFFSwabArrayOfLong((unsigned long *)fp,n)
#define TIFFSwabArrayOfDouble(dp,n) TIFFSwabArrayOfLong((unsigned long *)dp,2*n)
#endif /* IEEEFP */
#ifdef tahoe
#define BIGENDIAN 1
typedef struct {
unsigned sign:1;
unsigned exp:8;
unsigned mant:23;
unsigned mant2;
} nativedouble;
typedef struct {
unsigned sign:1;
unsigned exp:8;
unsigned mant:23;
} nativefloat;
#define ISFRACTION(e) (128 - 4 <= (e) && (e) <= 128 + 15)
#define EXTRACTFRACTION(dp, fract) \
((fract) = ((1<<31)|((dp)->native.mant<<8)|((dp)->native.mant2>>15)) >> \
(128+16-(dp)->native.exp))
#define EXTRACTEXPONENT(dp, exponent) ((exponent) = (dp)->native.exp - 2)
/*
* Beware, over/under-flow in conversions will
* result in garbage values -- handling it would
* require a subroutine call or lots more code.
*/
#define NATIVE2IEEEFLOAT(fp) { \
if ((fp)->native.exp) \
(fp)->ieee.exp = (fp)->native.exp - 129 + 127; /* alter bias */\
}
#define IEEEFLOAT2NATIVE(fp) { \
if ((fp)->ieee.exp) \
(fp)->native.exp = (fp)->ieee.exp - 127 + 129; /* alter bias */\
}
#define IEEEDOUBLE2NATIVE(dp) { \
if ((dp)->native.exp = (dp)->ieee.exp) \
(dp)->native.exp += -1023 + 129; \
(dp)->native.mant = ((dp)->ieee.mant<<3)|((dp)->native.mant2>>29); \
(dp)->native.mant2 <<= 3; \
}
/* the following is to work around a compiler bug... */
#define SIGNEXTEND(a,b) { char ch; ch = (a); (b) = ch; }
#define TIFFSwabArrayOfFloat(fp,n) TIFFSwabArrayOfLong((unsigned long *)fp,n)
#define TIFFSwabArrayOfDouble(dp,n) TIFFSwabArrayOfLong((unsigned long *)dp,2*n)
#endif /* tahoe */
#ifdef vax
#define BIGENDIAN 0
typedef struct {
unsigned mant1:7;
unsigned exp:8;
unsigned sign:1;
unsigned mant2:16;
unsigned mant3;
} nativedouble;
typedef struct {
unsigned mant1:7;
unsigned exp:8;
unsigned sign:1;
unsigned mant2:16;
} nativefloat;
#define ISFRACTION(e) (128 - 4 <= (e) && (e) <= 128 + 15)
#define EXTRACTFRACTION(dp, fract) \
((fract) = ((1<<31)|((dp)->native.mant1<<16)|(dp)->native.mant2)) >> \
(128+16-(dp)->native.exp))
#define EXTRACTEXPONENT(dp, exponent) ((exponent) = (dp)->native.exp - 2)
/*
* Beware, these do not handle over/under-flow
* during conversion from ieee to native format.
*/
#define NATIVE2IEEEFLOAT(fp) { \
float_t t; \
if (t.ieee.exp = (fp)->native.exp) \
t.ieee.exp += -129 + 127; \
t.ieee.sign = (fp)->native.sign; \
t.ieee.mant = ((fp)->native.mant1<<16)|(fp)->native.mant2; \
*(fp) = t; \
}
#define IEEEFLOAT2NATIVE(fp) { \
float_t t; int v = (fp)->ieee.exp; \
if (v) v += -127 + 129; /* alter bias of exponent */\
t.native.exp = v; /* implicit truncation of exponent */\
t.native.sign = (fp)->ieee.sign; \
v = (fp)->ieee.mant; \
t.native.mant1 = v >> 16; \
t.native.mant2 = v;\
*(fp) = v; \
}
#define IEEEDOUBLE2NATIVE(dp) { \
double_t t; int v = (dp)->ieee.exp; \
if (v) v += -1023 + 129; /* if can alter bias of exponent */\
t.native.exp = v; /* implicit truncation of exponent */\
v = (dp)->ieee.mant; \
t.native.sign = (dp)->ieee.sign; \
t.native.mant1 = v >> 16; \
t.native.mant2 = v;\
t.native.mant3 = (dp)->mant2; \
*(dp) = t; \
}
#define TIFFSwabArrayOfFloat(fp,n) TIFFSwabArrayOfLong((unsigned long *)fp,n)
#define TIFFSwabArrayOfDouble(dp,n) TIFFSwabArrayOfLong((unsigned long *)dp,2*n)
#endif /* vax */
/*
* These unions are used during floating point
* conversions. The macros given above define
* the conversion operations.
*/
typedef struct ieeedouble {
#if BIGENDIAN == 1
#if !defined(_IBMR2)
unsigned sign:1;
unsigned exp:11;
unsigned long mant:20;
unsigned mant2;
#else /* _IBMR2 */
unsigned sign:1;
unsigned exp:11;
unsigned mant:20;
unsigned mant2;
#endif /* _IBMR2 */
#else
#if !defined(vax)
#ifdef INT_16_BIT /* MSDOS C compilers */
unsigned long mant2;
unsigned long mant:20;
unsigned long exp:11;
unsigned long sign:1;
#else /* 32 bit ints */
unsigned mant2;
unsigned long mant:20;
unsigned exp:11;
unsigned sign:1;
#endif /* 32 bit ints */
#else
unsigned long mant:20;
unsigned exp:11;
unsigned sign:1;
unsigned mant2;
#endif /* !vax */
#endif
} ieeedouble;
typedef struct ieeefloat {
#if BIGENDIAN == 1
#if !defined(_IBMR2)
unsigned sign:1;
unsigned exp:8;
unsigned long mant:23;
#else /* _IBMR2 */
unsigned sign:1;
unsigned exp:8;
unsigned mant:23;
#endif /* _IBMR2 */
#else
#ifdef INT_16_BIT /* MSDOS C compilers */
unsigned long mant:23;
unsigned long exp:8;
unsigned long sign:1;
#else /* 32 bit ints */
unsigned long mant:23;
unsigned exp:8;
unsigned sign:1;
#endif /* 32 bit ints */
#endif
} ieeefloat;
typedef union {
ieeedouble ieee;
nativedouble native;
char b[8];
double d;
} double_t;
typedef union {
ieeefloat ieee;
nativefloat native;
char b[4];
float f;
} float_t;
#endif /* _MACHDEP_ */
Binary file not shown.
+786
View File
@@ -0,0 +1,786 @@
#ifndef lint
static char rcsid[] = "$Header: /usr/people/sam/tiff/libtiff/RCS/mkg3states.c,v 1.13 92/03/06 11:10:57 sam Exp $";
#endif
/*
* Copyright (c) 1991, 1992 Sam Leffler
* Copyright (c) 1991, 1992 Silicon Graphics, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that (i) the above copyright notices and this permission notice appear in
* all copies of the software and related documentation, and (ii) the names of
* Sam Leffler and Silicon Graphics may not be used in any advertising or
* publicity relating to the software without the specific, prior written
* permission of Sam Leffler and Silicon Graphics.
*
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
*
* IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
* ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
/*
* Program to construct Group 3 & Group 4 decoding tables.
*
* This code is derived from code by Michael P. Marking. In
* particular, the algorithms to generate the null_mode and
* horiz_mode state tables are his. See the comments below
* for more information.
*
* BEGIN (from the original source)
LEGAL
* Copyright 1989, 1990 Michael P. Marking, Post Office Box 8039,
* Scottsdale, Arizona 85252-8039. All rights reserved.
*
* License is granted by the copyright holder to distribute and use this
* code without payment of royalties or the necessity of notification as
* long as this notice (all the text under "LEGAL") is included.
*
* Reference: $Id: mkg3states.c,v 1.13 92/03/06 11:10:57 sam Exp $
*
* This program is offered without any warranty of any kind. It includes
* no warranty of merchantability or fitness for any purpose. Testing and
* suitability for any use are the sole responsibility of the user.
*
INFORMATION
* Although there is no support offered with this program, the author will
* endeavor to correct errors. Updates will also be made available from
* time to time.
*
* Contact: Michael P. Marking, Post Office Box 8039, Scottsdale, Arizona
* 85252-8039 USA. Replies are not guaranteed to be swift. Beginning
* July 1990, e-mail may be sent to uunet!ipel!marking.
*
* Also beginning in July 1990, this code will be archived at the
* ipel!phoenix BBS in file g3g4.zoo. The 24-hour telephone number
* for 300/1200/2400 is (602)274-0462. When logging in, specify user
* "public", system "bbs", and password "public".
*
* This code is also available from the C Users Group in volume 317.
*
* END (from the original source)
*/
#include <stdio.h>
#include "prototypes.h"
#ifndef TRUE
#define TRUE 1
#define FALSE 0
#endif
#define WHITE 0
#define BLACK 1
/*
* G3 2D and G4 decoding modes. Note that
* the vertical modes are ordered so that
* (mode - MODE_VERT_V0) gives the vertical
* adjustment for the b1 parameter.
*/
#define MODE_NULL 0
#define MODE_PASS 1
#define MODE_HORIZ 2
#define MODE_VERT_VL3 3
#define MODE_VERT_VL2 4
#define MODE_VERT_VL1 5
#define MODE_VERT_V0 6
#define MODE_VERT_VR1 7
#define MODE_VERT_VR2 8
#define MODE_VERT_VR3 9
#define MODE_UNCOMP 10
#define MODE_ERROR 11
#define MODE_ERROR_1 12
unsigned long
DECLARE1(append_0, unsigned long, prefix)
{
return (prefix + (1L<<16));
}
unsigned long
DECLARE1(append_1, unsigned long, prefix)
{
static unsigned short prefix_bit[16] = {
0x8000, 0x4000, 0x2000, 0x1000,
0x0800, 0x0400, 0x0200, 0x0100,
0x0080, 0x0040, 0x0020, 0x0010,
0x0008, 0x0004, 0x0002, 0x0001
};
unsigned char len = (prefix >> 16) & 0xf;
return (append_0(prefix) + prefix_bit[len]);
}
#define G3CODES
#include "t4.h"
short
#if defined(__STDC__) || defined(__EXTENDED__) || USE_CONST
DECLARE3(search_table, unsigned long, prefix, tableentry const*, tab, int, n)
#else
DECLARE3(search_table, unsigned long, prefix, tableentry*, tab, int, n)
#endif
{
unsigned short len = (prefix >> 16) & 0xf;
unsigned short code = (prefix & 0xffff) >> (16 - len);
while (n-- > 0) {
if (tab->length == len && tab->code == code)
return ((short) tab->runlen);
tab++;
}
return (G3CODE_INCOMP);
}
#define NCODES(a) (sizeof (a) / sizeof (a[0]))
short
DECLARE1(white_run_length, unsigned long, prefix)
{
return (search_table(prefix, TIFFFaxWhiteCodes, NCODES(TIFFFaxWhiteCodes)));
}
short
DECLARE1(black_run_length, unsigned long, prefix)
{
return (search_table(prefix, TIFFFaxBlackCodes, NCODES(TIFFFaxBlackCodes)));
}
#undef NCODES
#define MAX_NULLPREFIX 200 /* max # of null-mode prefixes */
typedef unsigned char NullModeTable[MAX_NULLPREFIX][256];
#define MAX_HORIZPREFIX 250 /* max # of incomplete 1-D prefixes */
typedef unsigned char HorizModeTable[MAX_HORIZPREFIX][256];
/* the bit string corresponding to this row of the decoding table */
long null_mode_prefix[MAX_NULLPREFIX];
NullModeTable null_mode; /* MODE_*, indexed by bit and byte */
NullModeTable null_mode_next_state; /* next row of decoding tables to use */
/* number of prefixes or rows in the G4 decoding tables */
short null_mode_prefix_count = 0;
/*
* 2D uncompressed mode codes. Note
* that two groups of codes are arranged
* so that the decoder can caluclate the
* length of the run by subtracting the
* code from a known base value.
*/
#define UNCOMP_INCOMP 0
/* runs of [0]*1 */
#define UNCOMP_RUN0 1
#define UNCOMP_RUN1 2
#define UNCOMP_RUN2 3
#define UNCOMP_RUN3 4
#define UNCOMP_RUN4 5
#define UNCOMP_RUN5 6
#define UNCOMP_RUN6 7
/* runs of [0]* w/ terminating color */
#define UNCOMP_TRUN0 8
#define UNCOMP_TRUN1 9
#define UNCOMP_TRUN2 10
#define UNCOMP_TRUN3 11
#define UNCOMP_TRUN4 12
/* special code for unexpected EOF */
#define UNCOMP_EOF 13
/* invalid code encountered */
#define UNCOMP_INVALID 14
long uncomp_mode_prefix[MAX_NULLPREFIX];
NullModeTable uncomp_mode;
NullModeTable uncomp_mode_next_state;
short uncomp_mode_prefix_count = 0;
/*
* Decoding action values for horiz_mode.
*/
#define ACT_INCOMP 0 /* incompletely decoded code */
#define ACT_INVALID 1 /* invalide code */
#define ACT_WRUNT 2 /* terminating white run code */
#define ACT_WRUN 65 /* non-terminating white run code */
#define ACT_BRUNT 106 /* terminating black run code */
#define ACT_BRUN 169 /* non-terminating black run code */
#define ACT_EOL 210 /* end-of-line code */
HorizModeTable horiz_mode;
short
DECLARE1(horiz_mode_code_black, short, runlen)
{
return (runlen < 64 ? runlen + ACT_BRUNT : (runlen / 64) + ACT_BRUN);
}
short
DECLARE1(horiz_mode_code_white, short, runlen)
{
return (runlen < 64 ? runlen + ACT_WRUNT : (runlen / 64) + ACT_WRUN);
}
/*
* If the corresponding horiz_mode entry is ACT_INCOMP
* this entry is a row number for decoding the next byte;
* otherwise, it is the bit number with which to continue
* decoding the next codeword.
*/
HorizModeTable horiz_mode_next_state;
/* prefixes corresponding to the rows of the decoding table */
long horiz_mode_prefix[MAX_HORIZPREFIX];
/* color of next run, BLACK or WHITE */
char horiz_mode_color[MAX_HORIZPREFIX];
short horiz_mode_prefix_count = 0;
static unsigned char bit_mask[8] =
{ 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 };
#if USE_PROTOTYPES
void build_null_mode_tables(void);
short find_horiz_mode_prefix(long, char);
short find_null_mode_prefix(long);
short null_mode_type(long);
void build_horiz_mode_tables(void);
short horiz_mode_code_black(short);
short horiz_mode_code_white(short);
void build_uncomp_mode_tables(void);
void write_tables(FILE*);
#else
void build_null_mode_tables();
short find_horiz_mode_prefix();
short find_null_mode_prefix();
short null_mode_type();
void build_horiz_mode_tables();
short horiz_mode_code_black();
short horiz_mode_code_white();
void build_uncomp_mode_tables();
void write_tables();
#endif
int verbose = FALSE;
char *storage_class = "";
void
DECLARE2(main, int, argc, char**, argv)
{
while (argc > 1 && argv[1][0] == '-') {
if (strcmp(argv[1], "-v") == 0) {
verbose = TRUE;
argc--, argv++;
} else if (strcmp(argv[1], "-c") == 0) {
storage_class = "const ";
argc--, argv++;
}
}
build_null_mode_tables(); /* null mode decoding tables */
if (verbose) {
fprintf(stderr, "%d null mode prefixes defined\n",
(int) null_mode_prefix_count);
fprintf(stderr, "building uncompressed mode scripts...\n");
}
build_uncomp_mode_tables(); /* uncompressed mode decoding tables */
if (verbose) {
fprintf(stderr, "%d uncompressed mode prefixes defined\n",
(int) uncomp_mode_prefix_count);
fprintf(stderr, "building 1D scripts...\n");
}
build_horiz_mode_tables(); /* 1D decoding tables */
if (verbose)
fprintf(stderr, "%d incomplete prefixes defined\n",
(int) horiz_mode_prefix_count);
write_tables(stdout);
exit(0);
}
void
DECLARE3(write_null_mode_table, FILE*, fd, NullModeTable, table, char*, name)
{
int i, j;
char* outersep;
char* sep;
fprintf(fd, "%su_char\t%s[%d][256] = {", storage_class,
name, (int) null_mode_prefix_count);
outersep = "";
for (i = 0; i < null_mode_prefix_count; i++) {
fprintf(fd, "%s\n/* prefix %d */ {\n", outersep, i);
sep = " ";
for (j = 0; j < 256; j++) {
fprintf(fd, "%s%2d", sep, (int) table[i][j]);
if (((j+1) % 16) == 0) {
fprintf(fd, ", /* %3d-%3d */\n", j-15, j);
sep = " ";
} else
sep = ",";
}
fprintf(fd, "}");
outersep = ",";
}
fprintf(fd, "\n};\n");
}
void
DECLARE3(write_horiz_mode_table, FILE*, fd, HorizModeTable, table, char*, name)
{
int i, j;
char* outersep;
char* sep;
fprintf(fd, "%s u_char\t%s[%d][256] = {", storage_class,
name, (int) horiz_mode_prefix_count);
outersep = "";
for (i = 0; i < horiz_mode_prefix_count; i++) {
fprintf(fd, "%s\n/* prefix %d */ {\n", outersep, i);
sep = " ";
for (j = 0; j < 256; j++) {
fprintf(fd, "%s%3d", sep, (int) table[i][j]);
if (((j+1) % 14) == 0) {
fprintf(fd, ", /* %3d-%3d */\n", j-13, j);
sep = " ";
} else
sep = ",";
}
fprintf(fd, "\n}");
outersep = ",";
}
fprintf(fd, "\n};\n");
}
void
write_define(fd, name, value, comment)
FILE *fd;
char *name;
int value;
char *comment;
{
fprintf(fd, "#define\t%s\t%d", name, value);
if (comment)
fprintf(fd, "\t/* %s */", comment);
fprintf(fd, "\n");
}
void
write_preamble(fd)
FILE *fd;
{
fprintf(fd, "%s\n",
"/* DO NOT EDIT THIS FILE, IT WAS AUTOMATICALLY CREATED BY mkg3state */");
write_define(fd, "ACT_INCOMP", ACT_INCOMP, "incompletely decoded code");
write_define(fd, "ACT_INVALID", ACT_INVALID, "invalide code");
write_define(fd, "ACT_WRUNT", ACT_WRUNT, "terminating white run code");
write_define(fd, "ACT_WRUN", ACT_WRUN, "non-terminating white run code");
write_define(fd, "ACT_BRUNT", ACT_BRUNT, "terminating black run code");
write_define(fd, "ACT_BRUN", ACT_BRUN, "non-terminating black run code");
write_define(fd, "ACT_EOL", ACT_EOL, "end-of-line code");
fprintf(fd, "\n");
fprintf(fd, "/* modes that the decoder can be in */\n");
write_define(fd, "MODE_NULL", MODE_NULL, NULL);
write_define(fd, "MODE_PASS", MODE_PASS, NULL);
write_define(fd, "MODE_HORIZ", MODE_HORIZ, NULL);
write_define(fd, "MODE_VERT_V0", MODE_VERT_V0, NULL);
write_define(fd, "MODE_VERT_VR1", MODE_VERT_VR1, NULL);
write_define(fd, "MODE_VERT_VR2", MODE_VERT_VR2, NULL);
write_define(fd, "MODE_VERT_VR3", MODE_VERT_VR3, NULL);
write_define(fd, "MODE_VERT_VL1", MODE_VERT_VL1, NULL);
write_define(fd, "MODE_VERT_VL2", MODE_VERT_VL2, NULL);
write_define(fd, "MODE_VERT_VL3", MODE_VERT_VL3, NULL);
write_define(fd, "MODE_UNCOMP", MODE_UNCOMP, NULL);
write_define(fd, "MODE_ERROR", MODE_ERROR, NULL);
write_define(fd, "MODE_ERROR_1", MODE_ERROR_1, NULL);
fprintf(fd, "\n");
fprintf(fd, "#define\tRUNLENGTH(ix) (TIFFFaxWhiteCodes[ix].runlen)\n");
fprintf(fd, "\n");
write_define(fd, "UNCOMP_INCOMP", UNCOMP_INCOMP, NULL);
fprintf(fd, "/* runs of [0]*1 */\n");
write_define(fd, "UNCOMP_RUN0", UNCOMP_RUN0, NULL);
write_define(fd, "UNCOMP_RUN1", UNCOMP_RUN1, NULL);
write_define(fd, "UNCOMP_RUN2", UNCOMP_RUN2, NULL);
write_define(fd, "UNCOMP_RUN3", UNCOMP_RUN3, NULL);
write_define(fd, "UNCOMP_RUN4", UNCOMP_RUN4, NULL);
write_define(fd, "UNCOMP_RUN5", UNCOMP_RUN5, NULL);
write_define(fd, "UNCOMP_RUN6", UNCOMP_RUN6, NULL);
fprintf(fd, "/* runs of [0]* w/ terminating color */\n");
write_define(fd, "UNCOMP_TRUN0", UNCOMP_TRUN0, NULL);
write_define(fd, "UNCOMP_TRUN1", UNCOMP_TRUN1, NULL);
write_define(fd, "UNCOMP_TRUN2", UNCOMP_TRUN2, NULL);
write_define(fd, "UNCOMP_TRUN3", UNCOMP_TRUN3, NULL);
write_define(fd, "UNCOMP_TRUN4", UNCOMP_TRUN4, NULL);
fprintf(fd, "/* special code for unexpected EOF */\n");
write_define(fd, "UNCOMP_EOF", UNCOMP_EOF, NULL);
fprintf(fd, "/* invalid code encountered */\n");
write_define(fd, "UNCOMP_INVALID", UNCOMP_INVALID, NULL);
fprintf(fd, "/* codes >= terminate uncompress mode */\n");
fprintf(fd, "#define\tUNCOMP_EXIT UNCOMP_TRUN0\n");
fprintf(fd, "\n");
}
void
extern_table(fd, name)
FILE* fd;
char* name;
{
fprintf(fd, "extern\t%su_char %s[][256];\n", storage_class, name);
}
void
write_tables(fd)
FILE* fd;
{
write_preamble(fd);
fprintf(fd, "#ifdef G3STATES\n");
write_null_mode_table(fd, null_mode, "TIFFFax2DMode");
write_null_mode_table(fd, null_mode_next_state, "TIFFFax2DNextState");
write_null_mode_table(fd, uncomp_mode, "TIFFFaxUncompAction");
write_null_mode_table(fd, uncomp_mode_next_state, "TIFFFaxUncompNextState");
write_horiz_mode_table(fd, horiz_mode, "TIFFFax1DAction");
write_horiz_mode_table(fd, horiz_mode_next_state, "TIFFFax1DNextState");
fprintf(fd, "#else\n");
extern_table(fd, "TIFFFax2DMode");
extern_table(fd, "TIFFFax2DNextState");
extern_table(fd, "TIFFFaxUncompAction");
extern_table(fd, "TIFFFaxUncompNextState");
extern_table(fd, "TIFFFax1DAction");
extern_table(fd, "TIFFFax1DNextState");
fprintf(fd, "#endif\n");
}
short
DECLARE1(find_null_mode_prefix, long, prefix)
{
short j1;
if (prefix == 0L)
return (0);
for (j1 = 8; j1 < null_mode_prefix_count; j1++)
if (prefix == null_mode_prefix[j1])
return (j1);
if (null_mode_prefix_count == MAX_NULLPREFIX) {
fprintf(stderr, "ERROR: null mode prefix table overflow\n");
exit(1);
}
if (verbose)
fprintf(stderr, "adding null mode prefix[%d] 0x%lx\n",
(int) null_mode_prefix_count, prefix);
null_mode_prefix[null_mode_prefix_count++] = prefix;
return (null_mode_prefix_count-1);
}
short
DECLARE2(find_horiz_mode_prefix, long, prefix, char, color)
{
short j1;
for (j1 = 0; j1 < horiz_mode_prefix_count; j1++)
if (prefix == horiz_mode_prefix[j1] && horiz_mode_color[j1] == color)
return (j1);
/*
* It wasn't found, so add it to the tables, but first, is there room?
*/
if (horiz_mode_prefix_count == MAX_HORIZPREFIX) {
fprintf(stderr, "ERROR: 1D prefix table overflow\n");
exit(1);
}
/* OK, there's room... */
if (verbose)
fprintf(stderr, "\nhoriz mode prefix %d, color %c = 0x%lx ",
(int) horiz_mode_prefix_count, "WB"[color], prefix);
horiz_mode_prefix[horiz_mode_prefix_count] = prefix;
horiz_mode_color[horiz_mode_prefix_count] = color;
horiz_mode_prefix_count++;
return (horiz_mode_prefix_count - 1);
}
short
DECLARE1(find_uncomp_mode_prefix, long, prefix)
{
short j1;
if (prefix == 0L)
return (0);
for (j1 = 8; j1 < uncomp_mode_prefix_count; j1++)
if (prefix == uncomp_mode_prefix[j1])
return (j1);
if (uncomp_mode_prefix_count == MAX_NULLPREFIX) {
fprintf(stderr, "ERROR: uncomp mode prefix table overflow\n");
exit(1);
}
if (verbose)
fprintf(stderr, "adding uncomp mode prefix[%d] 0x%lx\n",
(int) uncomp_mode_prefix_count, prefix);
uncomp_mode_prefix[uncomp_mode_prefix_count++] = prefix;
return (uncomp_mode_prefix_count-1);
}
short
DECLARE1(null_mode_type, long, prefix)
{
switch (prefix) {
case 0x18000L: return (MODE_VERT_V0); /* 1 */
case 0x36000L: return (MODE_VERT_VR1); /* 011 */
case 0x34000L: return (MODE_VERT_VL1); /* 010 */
case 0x32000L: return (MODE_HORIZ); /* 001 */
case 0x41000L: return (MODE_PASS); /* 0001 */
case 0x60C00L: return (MODE_VERT_VR2); /* 0000 11 */
case 0x60800L: return (MODE_VERT_VL2); /* 0000 10 */
case 0x70600L: return (MODE_VERT_VR3); /* 0000 011 */
case 0x70400L: return (MODE_VERT_VL3); /* 0000 010 */
case 0x80200L: return (MODE_ERROR); /* 0000 0010 */
case 0x90300L: return (MODE_ERROR); /* 0000 0011 0 */
case 0xA0380L: return (MODE_ERROR); /* 0000 0011 10 */
case 0xA03C0L: return (MODE_UNCOMP); /* 0000 0011 11 */
/*
* Under the assumption that there are no
* errors in the file, then this bit string
* can only be the beginning of an EOL code.
*/
case 0x70000L: return (MODE_ERROR_1); /* 0000 000 */
}
return (-1);
}
short
DECLARE1(uncomp_mode_type, long, prefix)
{
short code;
short len;
switch (prefix) {
case 0x18000L: return (UNCOMP_RUN1); /* 1 */
case 0x24000L: return (UNCOMP_RUN2); /* 01 */
case 0x32000L: return (UNCOMP_RUN3); /* 001 */
case 0x41000L: return (UNCOMP_RUN4); /* 0001 */
case 0x50800L: return (UNCOMP_RUN5); /* 0000 1 */
case 0x60400L: return (UNCOMP_RUN6); /* 0000 01 */
case 0x70200L: return (UNCOMP_TRUN0); /* 0000 001 */
case 0x80100L: return (UNCOMP_TRUN1); /* 0000 0001 */
case 0x90080L: return (UNCOMP_TRUN2); /* 0000 0000 1 */
case 0xA0040L: return (UNCOMP_TRUN3); /* 0000 0000 01 */
case 0xB0020L: return (UNCOMP_TRUN4); /* 0000 0000 001 */
}
code = prefix & 0xffffL;
len = (prefix >> 16) & 0xf;
return ((code || len > 10) ? UNCOMP_INVALID : -1);
}
#define BASESTATE(b) ((unsigned char) ((b) & 0x7))
void
build_null_mode_tables()
{
short prefix;
/*
* Note: the first eight entries correspond to
* a null prefix and starting bit numbers 0-7.
*/
null_mode_prefix_count = 8;
for (prefix = 0; prefix < null_mode_prefix_count; prefix++) {
short byte;
for (byte = 0; byte < 256; byte++) {
short firstbit;
short bit;
long curprefix;
char found_code = FALSE;
if (prefix < 8) {
curprefix = 0L;
firstbit = prefix;
} else {
curprefix = null_mode_prefix[prefix];
firstbit = 0;
}
for (bit = firstbit; bit < 8 && !found_code; bit++) {
short mode;
if (bit_mask[bit] & byte)
curprefix = append_1(curprefix);
else
curprefix = append_0(curprefix);
switch (mode = null_mode_type(curprefix)) {
case MODE_PASS:
case MODE_HORIZ:
case MODE_VERT_V0:
case MODE_VERT_VR1:
case MODE_VERT_VR2:
case MODE_VERT_VR3:
case MODE_VERT_VL1:
case MODE_VERT_VL2:
case MODE_VERT_VL3:
case MODE_UNCOMP:
case MODE_ERROR:
case MODE_ERROR_1:
/*
* NOTE: if the bit number is 8, then the table
* entry will be zero, which indicates a new byte
* is to be fetched during the decoding process
*/
found_code = TRUE;
null_mode[prefix][byte] = (unsigned char) mode;
null_mode_next_state[prefix][byte] = BASESTATE(bit+1);
break;
}
}
if (!found_code) {
null_mode_next_state[prefix][byte] = (unsigned char)
find_null_mode_prefix(curprefix);
/*
* This indicates to the decoder that
* no valid code has yet been identified.
*/
null_mode[prefix][byte] = MODE_NULL;
}
}
}
}
void
build_horiz_mode_tables()
{
unsigned short byte;
short prefix;
/*
* The first 8 are for white,
* the second 8 are for black,
* beginning with bits 0-7.
*/
horiz_mode_prefix_count = 16;
for (prefix = 0; prefix < horiz_mode_prefix_count; prefix++)
for (byte = 0; byte < 256; byte++) {
short bits_digested = 0;
short bit;
short firstbit;
char color;
unsigned long curprefix;
if (prefix < 8) {
color = WHITE;
curprefix = 0L;
firstbit = prefix;
} else if (prefix < 16) {
color = BLACK;
curprefix = 0L;
firstbit = prefix - 8;
} else {
color = horiz_mode_color[prefix];
curprefix = horiz_mode_prefix[prefix];
firstbit = 0;
}
for (bit = firstbit; bit < 8 && !bits_digested; bit++) {
if (bit_mask[bit] & byte)
curprefix = append_1(curprefix);
else
curprefix = append_0(curprefix);
/*
* The following conversion allows for arbitrary strings of
* zeroes to precede the end-of-line code 0000 0000 0001.
* It assumes no errors in the data, and is based on
* the assumption that the code replaced (12 consecutive
* zeroes) can only be "legally" encountered before the
* end-of-line code. This assumption is valid only for
* a Group 3 image; the combination will never occur
* in horizontal mode in a proper Group 4 image.
*/
if (curprefix == 0xC0000L)
curprefix = 0xB0000L;
if (color == WHITE) {
short runlength = white_run_length(curprefix);
if (runlength == G3CODE_INVALID) {
horiz_mode[prefix][byte] = (unsigned char) ACT_INVALID;
horiz_mode_next_state[prefix][byte] = (unsigned char) bit;
bits_digested = bit + 1;
} else if (runlength == G3CODE_EOL) { /* Group 3 only */
horiz_mode[prefix][byte] = (unsigned char) ACT_EOL;
horiz_mode_next_state[prefix][byte] = BASESTATE(bit+1);
bits_digested = bit + 1;
} else if (runlength != G3CODE_INCOMP) {
horiz_mode[prefix][byte] = (unsigned char)
horiz_mode_code_white(runlength);
horiz_mode_next_state[prefix][byte] = BASESTATE(bit+1);
bits_digested = bit + 1;
}
} else { /* color == BLACK */
short runlength = black_run_length(curprefix);
if (runlength == G3CODE_INVALID) {
horiz_mode[prefix][byte] = (unsigned char) ACT_INVALID;
horiz_mode_next_state[prefix][byte] = (unsigned char) (bit+8);
bits_digested = bit + 1;
} else if (runlength == G3CODE_EOL) { /* Group 3 only */
horiz_mode[prefix][byte] = (unsigned char) ACT_EOL;
horiz_mode_next_state[prefix][byte] = BASESTATE(bit+1);
bits_digested = bit + 1;
} else if (runlength != G3CODE_INCOMP) {
horiz_mode[prefix][byte] = (unsigned char)
horiz_mode_code_black(runlength);
horiz_mode_next_state[prefix][byte] = BASESTATE(bit+1);
bits_digested = bit + 1;
}
}
}
if (!bits_digested) { /* no codewords after examining byte */
horiz_mode[prefix][byte] = (unsigned char) ACT_INCOMP;
horiz_mode_next_state[prefix][byte] = (unsigned char)
find_horiz_mode_prefix(curprefix, color);
}
}
}
void
build_uncomp_mode_tables()
{
short prefix;
/*
* Note: the first eight entries correspond to
* a null prefix and starting bit numbers 0-7.
*/
uncomp_mode_prefix_count = 8;
for (prefix = 0; prefix < uncomp_mode_prefix_count; prefix++) {
short byte;
for (byte = 0; byte < 256; byte++) {
short firstbit;
short bit;
long curprefix;
char found_code = FALSE;
if (prefix < 8) {
curprefix = 0L;
firstbit = prefix;
} else {
curprefix = uncomp_mode_prefix[prefix];
firstbit = 0;
}
for (bit = firstbit; bit < 8 && !found_code; bit++) {
short mode;
if (bit_mask[bit] & byte)
curprefix = append_1(curprefix);
else
curprefix = append_0(curprefix);
mode = uncomp_mode_type(curprefix);
if (mode != -1) {
/*
* NOTE: if the bit number is 8, then the table
* entry will be zero, which indicates a new byte
* is to be fetched during the decoding process
*/
found_code = TRUE;
uncomp_mode[prefix][byte] = (unsigned char) mode;
uncomp_mode_next_state[prefix][byte] = BASESTATE(bit+1);
break;
}
}
if (!found_code) {
uncomp_mode_next_state[prefix][byte] = (unsigned char)
find_uncomp_mode_prefix(curprefix);
/*
* This indicates to the decoder that
* no valid code has yet been identified.
*/
uncomp_mode[prefix][byte] = UNCOMP_INCOMP;
}
}
}
}
+50
View File
@@ -0,0 +1,50 @@
#ifndef lint
static char rcsid[] = "$Header: /usr/people/sam/tiff/libtiff/RCS/mkspans.c,v 1.4 90/10/08 17:17:29 sam Exp $";
#endif
#include "tiffcompat.h"
/*
* Hack program to construct tables used to find
* runs of zeros and ones in Group 3 Fax encoding.
*/
dumparray(name, runs)
char *name;
unsigned char runs[256];
{
register int i;
register char *sep;
printf("static u_char %s[256] = {\n", name);
sep = " ";
for (i = 0; i < 256; i++) {
printf("%s%d", sep, runs[i]);
if (((i + 1) % 16) == 0) {
printf(", /* 0x%02x - 0x%02x */\n", i-15, i);
sep = " ";
} else
sep = ", ";
}
printf("\n};\n");
}
main()
{
unsigned char runs[2][256];
bzero(runs[0], 256*sizeof (char));
bzero(runs[1], 256*sizeof (char));
{ register int run, runlen, i;
runlen = 1;
for (run = 0x80; run != 0xff; run = (run>>1)|0x80) {
for (i = run-1; i >= 0; i--) {
runs[1][run|i] = runlen;
runs[0][(~(run|i)) & 0xff] = runlen;
}
runlen++;
}
runs[1][0xff] = runs[0][0] = 8;
}
dumparray("bruns", runs[0]);
dumparray("wruns", runs[1]);
}
+60
View File
@@ -0,0 +1,60 @@
/* $Header: /d/sam/tiff/libtiff/RCS/prototypes.h,v 1.8 92/02/18 18:20:08 sam Exp $ */
/*
* Copyright (c) 1991, 1992 Sam Leffler
* Copyright (c) 1991, 1992 Silicon Graphics, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that (i) the above copyright notices and this permission notice appear in
* all copies of the software and related documentation, and (ii) the names of
* Sam Leffler and Silicon Graphics may not be used in any advertising or
* publicity relating to the software without the specific, prior written
* permission of Sam Leffler and Silicon Graphics.
*
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
*
* IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
* ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
#if USE_PROTOTYPES
#define DECLARE1(f,t1,a1) f(t1 a1)
#define DECLARE2(f,t1,a1,t2,a2) f(t1 a1, t2 a2)
#define DECLARE3(f,t1,a1,t2,a2,t3,a3) f(t1 a1, t2 a2, t3 a3)
#define DECLARE4(f,t1,a1,t2,a2,t3,a3,t4,a4)\
f(t1 a1, t2 a2, t3 a3, t4 a4)
#define DECLARE5(f,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5)\
f(t1 a1, t2 a2, t3 a3, t4 a4, t5 a5)
#define DECLARE6(f,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6)\
f(t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6)
#define DECLARE1V(f,t1,a1) f(t1 a1 ...)
#define DECLARE2V(f,t1,a1,t2,a2) f(t1 a1, t2 a2, ...)
#define DECLARE3V(f,t1,a1,t2,a2,t3,a3) f(t1 a1, t2 a2, t3 a3, ...)
#else
#define DECLARE1(f,t1,a1) f(a1) t1 a1;
#define DECLARE2(f,t1,a1,t2,a2) f(a1,a2) t1 a1; t2 a2;
#define DECLARE3(f,t1,a1,t2,a2,t3,a3) f(a1, a2, a3) t1 a1; t2 a2; t3 a3;
#define DECLARE4(f,t1,a1,t2,a2,t3,a3,t4,a4) \
f(a1, a2, a3, a4) t1 a1; t2 a2; t3 a3; t4 a4;
#define DECLARE5(f,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5)\
f(a1, a2, a3, a4, a5) t1 a1; t2 a2; t3 a3; t4 a4; t5 a5;
#define DECLARE6(f,t1,a1,t2,a2,t3,a3,t4,a4,t5,a5,t6,a6)\
f(a1, a2, a3, a4, a5, a6) t1 a1; t2 a2; t3 a3; t4 a4; t5 a5; t6 a6;
#if USE_VARARGS
#define DECLARE1V(f,t1,a1) \
f(a1, va_alist) t1 a1; va_dcl
#define DECLARE2V(f,t1,a1,t2,a2) \
f(a1, a2, va_alist) t1 a1; t2 a2; va_dcl
#define DECLARE3V(f,t1,a1,t2,a2,t3,a3) \
f(a1, a2, a3, va_alist) t1 a1; t2 a2; t3 a3; va_dcl
#else
"Help, I don't know how to handle this case: !USE_PROTOTYPES and !USE_VARARGS?"
#endif
#endif
+298
View File
@@ -0,0 +1,298 @@
/* $Header: /usr/people/sam/tiff/libtiff/RCS/t4.h,v 1.9 92/02/10 19:06:22 sam Exp $ */
/*
* Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
* Copyright (c) 1991, 1992 Silicon Graphics, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that (i) the above copyright notices and this permission notice appear in
* all copies of the software and related documentation, and (ii) the names of
* Sam Leffler and Silicon Graphics may not be used in any advertising or
* publicity relating to the software without the specific, prior written
* permission of Sam Leffler and Silicon Graphics.
*
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
*
* IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
* ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
#ifndef _T4_
#define _T4_
/*
* CCITT T.4 1D Huffman runlength codes and
* related definitions. Given the small sizes
* of these tables it might does not seem
* worthwhile to make code & length 8 bits.
*/
typedef struct tableentry {
unsigned short length; /* bit length of g3 code */
unsigned short code; /* g3 code */
short runlen; /* run length in bits */
} tableentry;
#define EOL 0x001 /* EOL code value - 0000 0000 0000 1 */
/* status values returned instead of a run length */
#define G3CODE_INVALID -1
#define G3CODE_INCOMP -2
#define G3CODE_EOL -3
#define G3CODE_EOF -4
/*
* Note that these tables are ordered such that the
* index into the table is known to be either the
* run length, or (run length / 64) + a fixed offset.
*
* NB: The G3CODE_INVALID entries are only used
* during state generation (see mkg3states.c).
*/
#ifdef G3CODES
#if defined(__STDC__) || defined(__EXTENDED__) || USE_CONST
const tableentry TIFFFaxWhiteCodes[] = {
#else
tableentry TIFFFaxWhiteCodes[] = {
#endif
{ 8, 0x35, 0 }, /* 0011 0101 */
{ 6, 0x7, 1 }, /* 0001 11 */
{ 4, 0x7, 2 }, /* 0111 */
{ 4, 0x8, 3 }, /* 1000 */
{ 4, 0xB, 4 }, /* 1011 */
{ 4, 0xC, 5 }, /* 1100 */
{ 4, 0xE, 6 }, /* 1110 */
{ 4, 0xF, 7 }, /* 1111 */
{ 5, 0x13, 8 }, /* 1001 1 */
{ 5, 0x14, 9 }, /* 1010 0 */
{ 5, 0x7, 10 }, /* 0011 1 */
{ 5, 0x8, 11 }, /* 0100 0 */
{ 6, 0x8, 12 }, /* 0010 00 */
{ 6, 0x3, 13 }, /* 0000 11 */
{ 6, 0x34, 14 }, /* 1101 00 */
{ 6, 0x35, 15 }, /* 1101 01 */
{ 6, 0x2A, 16 }, /* 1010 10 */
{ 6, 0x2B, 17 }, /* 1010 11 */
{ 7, 0x27, 18 }, /* 0100 111 */
{ 7, 0xC, 19 }, /* 0001 100 */
{ 7, 0x8, 20 }, /* 0001 000 */
{ 7, 0x17, 21 }, /* 0010 111 */
{ 7, 0x3, 22 }, /* 0000 011 */
{ 7, 0x4, 23 }, /* 0000 100 */
{ 7, 0x28, 24 }, /* 0101 000 */
{ 7, 0x2B, 25 }, /* 0101 011 */
{ 7, 0x13, 26 }, /* 0010 011 */
{ 7, 0x24, 27 }, /* 0100 100 */
{ 7, 0x18, 28 }, /* 0011 000 */
{ 8, 0x2, 29 }, /* 0000 0010 */
{ 8, 0x3, 30 }, /* 0000 0011 */
{ 8, 0x1A, 31 }, /* 0001 1010 */
{ 8, 0x1B, 32 }, /* 0001 1011 */
{ 8, 0x12, 33 }, /* 0001 0010 */
{ 8, 0x13, 34 }, /* 0001 0011 */
{ 8, 0x14, 35 }, /* 0001 0100 */
{ 8, 0x15, 36 }, /* 0001 0101 */
{ 8, 0x16, 37 }, /* 0001 0110 */
{ 8, 0x17, 38 }, /* 0001 0111 */
{ 8, 0x28, 39 }, /* 0010 1000 */
{ 8, 0x29, 40 }, /* 0010 1001 */
{ 8, 0x2A, 41 }, /* 0010 1010 */
{ 8, 0x2B, 42 }, /* 0010 1011 */
{ 8, 0x2C, 43 }, /* 0010 1100 */
{ 8, 0x2D, 44 }, /* 0010 1101 */
{ 8, 0x4, 45 }, /* 0000 0100 */
{ 8, 0x5, 46 }, /* 0000 0101 */
{ 8, 0xA, 47 }, /* 0000 1010 */
{ 8, 0xB, 48 }, /* 0000 1011 */
{ 8, 0x52, 49 }, /* 0101 0010 */
{ 8, 0x53, 50 }, /* 0101 0011 */
{ 8, 0x54, 51 }, /* 0101 0100 */
{ 8, 0x55, 52 }, /* 0101 0101 */
{ 8, 0x24, 53 }, /* 0010 0100 */
{ 8, 0x25, 54 }, /* 0010 0101 */
{ 8, 0x58, 55 }, /* 0101 1000 */
{ 8, 0x59, 56 }, /* 0101 1001 */
{ 8, 0x5A, 57 }, /* 0101 1010 */
{ 8, 0x5B, 58 }, /* 0101 1011 */
{ 8, 0x4A, 59 }, /* 0100 1010 */
{ 8, 0x4B, 60 }, /* 0100 1011 */
{ 8, 0x32, 61 }, /* 0011 0010 */
{ 8, 0x33, 62 }, /* 0011 0011 */
{ 8, 0x34, 63 }, /* 0011 0100 */
{ 5, 0x1B, 64 }, /* 1101 1 */
{ 5, 0x12, 128 }, /* 1001 0 */
{ 6, 0x17, 192 }, /* 0101 11 */
{ 7, 0x37, 256 }, /* 0110 111 */
{ 8, 0x36, 320 }, /* 0011 0110 */
{ 8, 0x37, 384 }, /* 0011 0111 */
{ 8, 0x64, 448 }, /* 0110 0100 */
{ 8, 0x65, 512 }, /* 0110 0101 */
{ 8, 0x68, 576 }, /* 0110 1000 */
{ 8, 0x67, 640 }, /* 0110 0111 */
{ 9, 0xCC, 704 }, /* 0110 0110 0 */
{ 9, 0xCD, 768 }, /* 0110 0110 1 */
{ 9, 0xD2, 832 }, /* 0110 1001 0 */
{ 9, 0xD3, 896 }, /* 0110 1001 1 */
{ 9, 0xD4, 960 }, /* 0110 1010 0 */
{ 9, 0xD5, 1024 }, /* 0110 1010 1 */
{ 9, 0xD6, 1088 }, /* 0110 1011 0 */
{ 9, 0xD7, 1152 }, /* 0110 1011 1 */
{ 9, 0xD8, 1216 }, /* 0110 1100 0 */
{ 9, 0xD9, 1280 }, /* 0110 1100 1 */
{ 9, 0xDA, 1344 }, /* 0110 1101 0 */
{ 9, 0xDB, 1408 }, /* 0110 1101 1 */
{ 9, 0x98, 1472 }, /* 0100 1100 0 */
{ 9, 0x99, 1536 }, /* 0100 1100 1 */
{ 9, 0x9A, 1600 }, /* 0100 1101 0 */
{ 6, 0x18, 1664 }, /* 0110 00 */
{ 9, 0x9B, 1728 }, /* 0100 1101 1 */
{ 11, 0x8, 1792 }, /* 0000 0001 000 */
{ 11, 0xC, 1856 }, /* 0000 0001 100 */
{ 11, 0xD, 1920 }, /* 0000 0001 101 */
{ 12, 0x12, 1984 }, /* 0000 0001 0010 */
{ 12, 0x13, 2048 }, /* 0000 0001 0011 */
{ 12, 0x14, 2112 }, /* 0000 0001 0100 */
{ 12, 0x15, 2176 }, /* 0000 0001 0101 */
{ 12, 0x16, 2240 }, /* 0000 0001 0110 */
{ 12, 0x17, 2304 }, /* 0000 0001 0111 */
{ 12, 0x1C, 2368 }, /* 0000 0001 1100 */
{ 12, 0x1D, 2432 }, /* 0000 0001 1101 */
{ 12, 0x1E, 2496 }, /* 0000 0001 1110 */
{ 12, 0x1F, 2560 }, /* 0000 0001 1111 */
{ 12, 0x1, G3CODE_EOL }, /* 0000 0000 0001 */
{ 9, 0x1, G3CODE_INVALID }, /* 0000 0000 1 */
{ 10, 0x1, G3CODE_INVALID }, /* 0000 0000 01 */
{ 11, 0x1, G3CODE_INVALID }, /* 0000 0000 001 */
{ 12, 0x0, G3CODE_INVALID }, /* 0000 0000 0000 */
};
#if defined(__STDC__) || defined(__EXTENDED__) || USE_CONST
const tableentry TIFFFaxBlackCodes[] = {
#else
tableentry TIFFFaxBlackCodes[] = {
#endif
{ 10, 0x37, 0 }, /* 0000 1101 11 */
{ 3, 0x2, 1 }, /* 010 */
{ 2, 0x3, 2 }, /* 11 */
{ 2, 0x2, 3 }, /* 10 */
{ 3, 0x3, 4 }, /* 011 */
{ 4, 0x3, 5 }, /* 0011 */
{ 4, 0x2, 6 }, /* 0010 */
{ 5, 0x3, 7 }, /* 0001 1 */
{ 6, 0x5, 8 }, /* 0001 01 */
{ 6, 0x4, 9 }, /* 0001 00 */
{ 7, 0x4, 10 }, /* 0000 100 */
{ 7, 0x5, 11 }, /* 0000 101 */
{ 7, 0x7, 12 }, /* 0000 111 */
{ 8, 0x4, 13 }, /* 0000 0100 */
{ 8, 0x7, 14 }, /* 0000 0111 */
{ 9, 0x18, 15 }, /* 0000 1100 0 */
{ 10, 0x17, 16 }, /* 0000 0101 11 */
{ 10, 0x18, 17 }, /* 0000 0110 00 */
{ 10, 0x8, 18 }, /* 0000 0010 00 */
{ 11, 0x67, 19 }, /* 0000 1100 111 */
{ 11, 0x68, 20 }, /* 0000 1101 000 */
{ 11, 0x6C, 21 }, /* 0000 1101 100 */
{ 11, 0x37, 22 }, /* 0000 0110 111 */
{ 11, 0x28, 23 }, /* 0000 0101 000 */
{ 11, 0x17, 24 }, /* 0000 0010 111 */
{ 11, 0x18, 25 }, /* 0000 0011 000 */
{ 12, 0xCA, 26 }, /* 0000 1100 1010 */
{ 12, 0xCB, 27 }, /* 0000 1100 1011 */
{ 12, 0xCC, 28 }, /* 0000 1100 1100 */
{ 12, 0xCD, 29 }, /* 0000 1100 1101 */
{ 12, 0x68, 30 }, /* 0000 0110 1000 */
{ 12, 0x69, 31 }, /* 0000 0110 1001 */
{ 12, 0x6A, 32 }, /* 0000 0110 1010 */
{ 12, 0x6B, 33 }, /* 0000 0110 1011 */
{ 12, 0xD2, 34 }, /* 0000 1101 0010 */
{ 12, 0xD3, 35 }, /* 0000 1101 0011 */
{ 12, 0xD4, 36 }, /* 0000 1101 0100 */
{ 12, 0xD5, 37 }, /* 0000 1101 0101 */
{ 12, 0xD6, 38 }, /* 0000 1101 0110 */
{ 12, 0xD7, 39 }, /* 0000 1101 0111 */
{ 12, 0x6C, 40 }, /* 0000 0110 1100 */
{ 12, 0x6D, 41 }, /* 0000 0110 1101 */
{ 12, 0xDA, 42 }, /* 0000 1101 1010 */
{ 12, 0xDB, 43 }, /* 0000 1101 1011 */
{ 12, 0x54, 44 }, /* 0000 0101 0100 */
{ 12, 0x55, 45 }, /* 0000 0101 0101 */
{ 12, 0x56, 46 }, /* 0000 0101 0110 */
{ 12, 0x57, 47 }, /* 0000 0101 0111 */
{ 12, 0x64, 48 }, /* 0000 0110 0100 */
{ 12, 0x65, 49 }, /* 0000 0110 0101 */
{ 12, 0x52, 50 }, /* 0000 0101 0010 */
{ 12, 0x53, 51 }, /* 0000 0101 0011 */
{ 12, 0x24, 52 }, /* 0000 0010 0100 */
{ 12, 0x37, 53 }, /* 0000 0011 0111 */
{ 12, 0x38, 54 }, /* 0000 0011 1000 */
{ 12, 0x27, 55 }, /* 0000 0010 0111 */
{ 12, 0x28, 56 }, /* 0000 0010 1000 */
{ 12, 0x58, 57 }, /* 0000 0101 1000 */
{ 12, 0x59, 58 }, /* 0000 0101 1001 */
{ 12, 0x2B, 59 }, /* 0000 0010 1011 */
{ 12, 0x2C, 60 }, /* 0000 0010 1100 */
{ 12, 0x5A, 61 }, /* 0000 0101 1010 */
{ 12, 0x66, 62 }, /* 0000 0110 0110 */
{ 12, 0x67, 63 }, /* 0000 0110 0111 */
{ 10, 0xF, 64 }, /* 0000 0011 11 */
{ 12, 0xC8, 128 }, /* 0000 1100 1000 */
{ 12, 0xC9, 192 }, /* 0000 1100 1001 */
{ 12, 0x5B, 256 }, /* 0000 0101 1011 */
{ 12, 0x33, 320 }, /* 0000 0011 0011 */
{ 12, 0x34, 384 }, /* 0000 0011 0100 */
{ 12, 0x35, 448 }, /* 0000 0011 0101 */
{ 13, 0x6C, 512 }, /* 0000 0011 0110 0 */
{ 13, 0x6D, 576 }, /* 0000 0011 0110 1 */
{ 13, 0x4A, 640 }, /* 0000 0010 0101 0 */
{ 13, 0x4B, 704 }, /* 0000 0010 0101 1 */
{ 13, 0x4C, 768 }, /* 0000 0010 0110 0 */
{ 13, 0x4D, 832 }, /* 0000 0010 0110 1 */
{ 13, 0x72, 896 }, /* 0000 0011 1001 0 */
{ 13, 0x73, 960 }, /* 0000 0011 1001 1 */
{ 13, 0x74, 1024 }, /* 0000 0011 1010 0 */
{ 13, 0x75, 1088 }, /* 0000 0011 1010 1 */
{ 13, 0x76, 1152 }, /* 0000 0011 1011 0 */
{ 13, 0x77, 1216 }, /* 0000 0011 1011 1 */
{ 13, 0x52, 1280 }, /* 0000 0010 1001 0 */
{ 13, 0x53, 1344 }, /* 0000 0010 1001 1 */
{ 13, 0x54, 1408 }, /* 0000 0010 1010 0 */
{ 13, 0x55, 1472 }, /* 0000 0010 1010 1 */
{ 13, 0x5A, 1536 }, /* 0000 0010 1101 0 */
{ 13, 0x5B, 1600 }, /* 0000 0010 1101 1 */
{ 13, 0x64, 1664 }, /* 0000 0011 0010 0 */
{ 13, 0x65, 1728 }, /* 0000 0011 0010 1 */
{ 11, 0x8, 1792 }, /* 0000 0001 000 */
{ 11, 0xC, 1856 }, /* 0000 0001 100 */
{ 11, 0xD, 1920 }, /* 0000 0001 101 */
{ 12, 0x12, 1984 }, /* 0000 0001 0010 */
{ 12, 0x13, 2048 }, /* 0000 0001 0011 */
{ 12, 0x14, 2112 }, /* 0000 0001 0100 */
{ 12, 0x15, 2176 }, /* 0000 0001 0101 */
{ 12, 0x16, 2240 }, /* 0000 0001 0110 */
{ 12, 0x17, 2304 }, /* 0000 0001 0111 */
{ 12, 0x1C, 2368 }, /* 0000 0001 1100 */
{ 12, 0x1D, 2432 }, /* 0000 0001 1101 */
{ 12, 0x1E, 2496 }, /* 0000 0001 1110 */
{ 12, 0x1F, 2560 }, /* 0000 0001 1111 */
{ 12, 0x1, G3CODE_EOL }, /* 0000 0000 0001 */
{ 9, 0x1, G3CODE_INVALID }, /* 0000 0000 1 */
{ 10, 0x1, G3CODE_INVALID }, /* 0000 0000 01 */
{ 11, 0x1, G3CODE_INVALID }, /* 0000 0000 001 */
{ 12, 0x0, G3CODE_INVALID }, /* 0000 0000 0000 */
};
#else
#if defined(__STDC__) || defined(__EXTENDED__) || USE_CONST
extern const tableentry TIFFFaxWhiteCodes[];
extern const tableentry TIFFFaxBlackCodes[];
#else
extern tableentry TIFFFaxWhiteCodes[];
extern tableentry TIFFFaxBlackCodes[];
#endif /* !__STDC__ */
#endif
#endif /* _T4_ */
+181
View File
@@ -0,0 +1,181 @@
#ifndef lint
static char rcsid[] = "$Header: /usr/people/sam/tiff/libtiff/RCS/tif_aux.c,v 1.8 92/03/27 14:53:02 sam Exp $";
#endif
/*
* Copyright (c) 1991, 1992 Sam Leffler
* Copyright (c) 1991, 1992 Silicon Graphics, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that (i) the above copyright notices and this permission notice appear in
* all copies of the software and related documentation, and (ii) the names of
* Sam Leffler and Silicon Graphics may not be used in any advertising or
* publicity relating to the software without the specific, prior written
* permission of Sam Leffler and Silicon Graphics.
*
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
*
* IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
* ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
/*
* TIFF Library.
*
* Auxiliary Support Routines.
*/
#include "tiffioP.h"
#include "prototypes.h"
/*
* Like TIFFGetField, but return any default
* value if the tag is not present in the directory.
*
* NB: We use the value in the directory, rather than
* explcit values so that defaults exist only one
* place in the library -- in TIFFDefaultDirectory.
*/
TIFFVGetFieldDefaulted(tif, tag, ap)
TIFF *tif;
int tag;
va_list ap;
{
TIFFDirectory *td = &tif->tif_dir;
int i;
if (TIFFVGetField(tif, tag, ap))
return (1);
switch (tag) {
case TIFFTAG_SUBFILETYPE:
*va_arg(ap, u_short *) = td->td_subfiletype;
return (1);
case TIFFTAG_BITSPERSAMPLE:
*va_arg(ap, u_short *) = td->td_bitspersample;
return (1);
case TIFFTAG_THRESHHOLDING:
*va_arg(ap, u_short *) = td->td_threshholding;
return (1);
case TIFFTAG_FILLORDER:
*va_arg(ap, u_short *) = td->td_fillorder;
return (1);
case TIFFTAG_ORIENTATION:
*va_arg(ap, u_short *) = td->td_orientation;
return (1);
case TIFFTAG_SAMPLESPERPIXEL:
*va_arg(ap, u_short *) = td->td_samplesperpixel;
return (1);
case TIFFTAG_ROWSPERSTRIP:
*va_arg(ap, u_long *) = td->td_rowsperstrip;
return (1);
case TIFFTAG_MINSAMPLEVALUE:
*va_arg(ap, u_short *) = td->td_minsamplevalue;
return (1);
case TIFFTAG_MAXSAMPLEVALUE:
*va_arg(ap, u_short *) = td->td_maxsamplevalue;
return (1);
case TIFFTAG_PLANARCONFIG:
*va_arg(ap, u_short *) = td->td_planarconfig;
return (1);
case TIFFTAG_GROUP4OPTIONS:
*va_arg(ap, u_long *) = td->td_group4options;
return (1);
case TIFFTAG_RESOLUTIONUNIT:
*va_arg(ap, u_short *) = td->td_resolutionunit;
return (1);
case TIFFTAG_PREDICTOR:
*va_arg(ap, u_short *) = td->td_predictor;
return (1);
#ifdef CMYK_SUPPORT
case TIFFTAG_DOTRANGE:
*va_arg(ap, u_short *) = 0;
*va_arg(ap, u_short *) = (1<<td->td_bitspersample)-1;
return (1);
case TIFFTAG_INKSET:
*va_arg(ap, u_short *) = td->td_inkset;
return (1);
#endif
case TIFFTAG_TILEDEPTH:
*va_arg(ap, u_long *) = td->td_tiledepth;
return (1);
case TIFFTAG_DATATYPE:
*va_arg(ap, u_short *) = td->td_sampleformat-1;
return (1);
case TIFFTAG_IMAGEDEPTH:
*va_arg(ap, u_short *) = td->td_imagedepth;
return (1);
#ifdef YCBCR_SUPPORT
case TIFFTAG_YCBCRCOEFFICIENTS:
if (!td->td_ycbcrcoeffs) {
td->td_ycbcrcoeffs = (float *)malloc(3*sizeof (float));
/* defaults are from CCIR Recommendation 601-1 */
td->td_ycbcrcoeffs[0] = .299;
td->td_ycbcrcoeffs[1] = .587;
td->td_ycbcrcoeffs[2] = .114;
}
*va_arg(ap, float **) = td->td_ycbcrcoeffs;
return (1);
case TIFFTAG_YCBCRSUBSAMPLING:
*va_arg(ap, u_short *) = td->td_ycbcrsubsampling[0];
*va_arg(ap, u_short *) = td->td_ycbcrsubsampling[1];
return (1);
case TIFFTAG_YCBCRPOSITIONING:
*va_arg(ap, u_short *) = td->td_ycbcrpositioning;
return (1);
#endif
#ifdef COLORIMETRY_SUPPORT
case TIFFTAG_TRANSFERFUNCTION:
if (!td->td_transferfunction[0]) {
u_short **tf = td->td_transferfunction;
int n = 1<<td->td_bitspersample;
tf[0] = (u_short *)malloc(n * sizeof (u_short));
tf[0][0] = 0;
for (i = 1; i < n; i++)
tf[0][i] = (u_short)
floor(65535.*pow(i/(n-1.), 2.2) + .5);
for (i = 1; i < td->td_samplesperpixel; i++) {
tf[i] = (u_short *)malloc(n * sizeof (u_short));
bcopy(tf[0], tf[i], n * sizeof (u_short));
}
}
for (i = 0; i < td->td_samplesperpixel; i++)
*va_arg(ap, u_short **) = td->td_transferfunction[i];
return (1);
case TIFFTAG_REFERENCEBLACKWHITE:
if (!td->td_refblackwhite) {
td->td_refblackwhite = (float *)
malloc(2*td->td_samplesperpixel * sizeof (float));
for (i = 0; i < td->td_samplesperpixel; i++) {
td->td_refblackwhite[2*i+0] = 0;
td->td_refblackwhite[2*i+1] = 1L<<td->td_bitspersample;
}
}
*va_arg(ap, float **) = td->td_refblackwhite;
return (1);
#endif
}
return (0);
}
/*
* Like TIFFGetField, but return any default
* value if the tag is not present in the directory.
*/
/*VARARGS2*/
DECLARE2V(TIFFGetFieldDefaulted, TIFF*, tif, int, tag)
{
int ok;
va_list ap;
VA_START(ap, tag);
ok = TIFFVGetFieldDefaulted(tif, tag, ap);
va_end(ap);
return (ok);
}
+76
View File
@@ -0,0 +1,76 @@
#ifndef lint
static char rcsid[] = "$Header: /usr/people/sam/tiff/libtiff/RCS/tif_ccittrle.c,v 1.14 92/02/10 19:06:10 sam Exp $";
#endif
/*
* Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
* Copyright (c) 1991, 1992 Silicon Graphics, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that (i) the above copyright notices and this permission notice appear in
* all copies of the software and related documentation, and (ii) the names of
* Sam Leffler and Silicon Graphics may not be used in any advertising or
* publicity relating to the software without the specific, prior written
* permission of Sam Leffler and Silicon Graphics.
*
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
*
* IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
* ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
/*
* TIFF Library.
*
* CCITT Group 3 1-D Modified Huffman
* Run Length Encoding Compression Support
*/
#include "tiffioP.h"
#include "tif_fax3.h"
TIFFInitCCITTRLE(tif)
TIFF *tif;
{
TIFFInitCCITTFax3(tif); /* reuse G3 compression */
tif->tif_preencode = NULL;
tif->tif_postencode = NULL;
tif->tif_encoderow = TIFFNoRowEncode;
tif->tif_encodestrip = TIFFNoStripEncode;
tif->tif_encodetile = TIFFNoTileEncode;
tif->tif_close = NULL;
/*
* This magic causes the regular G3 decompression
* code to not skip to the EOL mark at the end of
* a row, and to flush input data to a byte boundary
* at the end of each row.
*/
tif->tif_options |= FAX3_NOEOL|FAX3_BYTEALIGN;
return (1);
}
TIFFInitCCITTRLEW(tif)
TIFF *tif;
{
TIFFInitCCITTFax3(tif); /* reuse G3 compression */
tif->tif_preencode = NULL;
tif->tif_postencode = NULL;
tif->tif_encoderow = TIFFNoRowEncode;
tif->tif_encodestrip = TIFFNoStripEncode;
tif->tif_encodetile = TIFFNoTileEncode;
tif->tif_close = NULL;
/*
* This magic causes the regular G3 decompression
* code to not skip to the EOL mark at the end of
* a row, and to flush input data to a byte boundary
* at the end of each row.
*/
tif->tif_options |= FAX3_NOEOL|FAX3_WORDALIGN;
return (1);
}
+60
View File
@@ -0,0 +1,60 @@
#ifndef lint
static char rcsid[] = "$Header: /usr/people/sam/tiff/libtiff/RCS/tif_close.c,v 1.17 92/02/10 19:06:30 sam Exp $";
#endif
/*
* Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
* Copyright (c) 1991, 1992 Silicon Graphics, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that (i) the above copyright notices and this permission notice appear in
* all copies of the software and related documentation, and (ii) the names of
* Sam Leffler and Silicon Graphics may not be used in any advertising or
* publicity relating to the software without the specific, prior written
* permission of Sam Leffler and Silicon Graphics.
*
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
*
* IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
* ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
/*
* TIFF Library.
*/
#include "tiffioP.h"
#if USE_PROTOTYPES
extern int TIFFFreeDirectory(TIFF*);
#else
extern int TIFFFreeDirectory();
#endif
void
TIFFClose(tif)
TIFF *tif;
{
if (tif->tif_mode != O_RDONLY)
/*
* Flush buffered data and directory (if dirty).
*/
TIFFFlush(tif);
if (tif->tif_cleanup)
(*tif->tif_cleanup)(tif);
TIFFFreeDirectory(tif);
if (tif->tif_rawdata && (tif->tif_flags&TIFF_MYBUFFER))
free(tif->tif_rawdata);
#ifdef MMAP_SUPPORT
if (isMapped(tif))
TIFFUnmapFileContents(tif->tif_base, tif->tif_size);
#endif
(void) close(tif->tif_fd);
free((char *)tif);
}
+229
View File
@@ -0,0 +1,229 @@
#ifndef lint
static char rcsid[] = "$Header: /usr/people/sam/tiff/libtiff/RCS/tif_compat.c,v 1.15 92/03/11 09:16:49 sam Exp $";
#endif
/*
* Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
* Copyright (c) 1991, 1992 Silicon Graphics, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that (i) the above copyright notices and this permission notice appear in
* all copies of the software and related documentation, and (ii) the names of
* Sam Leffler and Silicon Graphics may not be used in any advertising or
* publicity relating to the software without the specific, prior written
* permission of Sam Leffler and Silicon Graphics.
*
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
*
* IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
* ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
/*
* TIFF Library Compatibility Routines.
*/
#include "tiffioP.h"
#if defined(unix) || defined(__unix) || defined(MSDOS) || defined(VMS)
#include <sys/stat.h>
long
TIFFGetFileSize(fd)
int fd;
{
struct stat sb;
return (fstat(fd, &sb) < 0 ? 0 : sb.st_size);
}
#endif
#if (defined(unix) || defined(__unix)) && defined(MMAP_SUPPORT)
#include <sys/mman.h>
int
TIFFMapFileContents(fd, pbase, psize)
int fd;
char **pbase;
long *psize;
{
long size = TIFFGetFileSize(fd);
if (size != -1) {
*pbase = (char *) mmap(0, size, PROT_READ, MAP_SHARED, fd, 0);
if (*pbase != (char *)-1) {
*psize = size;
return (1);
}
}
return (0);
}
void
TIFFUnmapFileContents(base, size)
char *base;
long size;
{
(void) munmap(base, size);
}
#endif /* (defined(unix) || defined(__unix)) && defined(MMAP_SUPPORT) */
#if defined(VMS) && defined(MMAP_SUPPORT)
#include <fab.h>
#include <secdef.h>
/*
* Table for storing information on current open sections.
* (You may want to substitute a linked list...)
*/
#define MAX_MAPPED 100
static int no_mapped = 0;
static struct {
void *base;
void *top;
unsigned channel;
} map_table[MAX_MAPPED];
/*
* This routine maps a file into a private section. Note that this
* method of accessing a file is by far the fastest under VMS.
* The routine may fail (i.e. return 0) for several reasons, for
* example:
* - There is no more room for storing the info on sections.
* - The process is out of open file quota, channels, ...
* - fd does not describe an opened file.
* - The file is already opened for write access by this process
* or another process
* - There is no free "hole" in virtual memory that fits the
* size of the file
*/
int
TIFFMapFileContents(fd, pbase, psize)
int fd;
char **pbase;
long *psize;
{
char name[256];
struct FAB fab;
unsigned short channel;
void *inadr[2], *retadr[2];
unsigned long status;
long size;
if (no_mapped >= MAX_MAPPED)
return(0);
/*
* We cannot use a file descriptor, we
* must open the file once more.
*/
if (getname(fd, name, 1) == NULL)
return(0);
/* prepare the FAB for a user file open */
fab = cc$rms_fab;
fab.fab$v_ufo = 1;
fab.fab$b_fac = FAB$M_GET;
fab.fab$b_shr = FAB$M_SHRGET;
fab.fab$l_fna = name;
fab.fab$b_fns = strlen(name);
status = sys$open(&fab); /* open file & get channel number */
if ((status&1) == 0)
return(0);
channel = (unsigned short)fab.fab$l_stv;
inadr[0] = inadr[1] = &channel; /* just an address in P0 space */
/*
* Map the blocks of the file up to
* the EOF block into virtual memory.
*/
size = TIFFGetFileSize(fd);
status = sys$crmpsc(inadr, retadr, 0, SEC$M_EXPREG, 0,0,0, channel,
howmany(size,512), 0,0,0);
if ((status&1) == 0)
return(0);
*pbase = retadr[0]; /* starting virtual address */
/*
* Use the size of the file up to the
* EOF mark for UNIX compatibility.
*/
*psize = size;
/* Record the section in the table */
map_table[no_mapped].base = retadr[0];
map_table[no_mapped].top = retadr[1];
map_table[no_mapped].channel = channel;
no_mapped++;
return(1);
}
/*
* This routine unmaps a section from the virtual address space of
* the process, but only if the base was the one returned from a
* call to TIFFMapFileContents.
*/
void
TIFFUnmapFileContents(base, size)
char *base;
long size;
{
void *inadr[2];
int i, j;
/* Find the section in the table */
for (i = 0;i < no_mapped; i++) {
if (map_table[i].base == base) {
/* Unmap the section */
inadr[1] = base;
inadr[0] = map_table[i].top;
sys$deltva(inadr, 0, 0);
sys$dassgn(map_table[i].channel);
/* Remove this section from the list */
for (j = i+1; j < no_mapped; j++)
map_table[j-1] = map_table[j];
no_mapped--;
return;
}
}
}
#endif /* defined(VMS) && defined(MMAP_SUPPORT) */
#if defined(THINK_C) || defined(applec)
long
TIFFGetFileSize(int fd)
{
long pos, eof;
pos = lseek(fd, 0, SEEK_CUR);
eof = lseek(fd, 0, SEEK_END);
lseek(fd, pos, SEEK_SET);
return(eof);
}
#endif /* THINK_C || applec */
#if defined(applec)
#include <ioctl.h>
#include <Files.h>
#undef lseek
long
mpw_lseek(int fd, long offset, int whence)
{
long filepos, filesize, newpos;
short macfd;
if ((filepos = lseek(fd, 0, SEEK_CUR)) < 0 ||
(filesize = lseek(fd, 0, SEEK_END)) < 0)
return (EOF);
newpos = offset + (whence == SEEK_SET ? 0 :
whence == SEEK_CUR ? filepos :
filesize);
if (newpos > filesize)
if (ioctl(fd, FIOREFNUM, &macfd) == -1 ||
SetEOF(macfd, newpos) != 0)
return (EOF);
return (lseek(fd, newpos, SEEK_SET));
}
#endif /* applec */
+232
View File
@@ -0,0 +1,232 @@
#ifndef lint
static char rcsid[] = "$Header: /usr/people/sam/tiff/libtiff/RCS/tif_compress.c,v 1.26 92/02/10 19:06:13 sam Exp $";
#endif
/*
* Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
* Copyright (c) 1991, 1992 Silicon Graphics, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that (i) the above copyright notices and this permission notice appear in
* all copies of the software and related documentation, and (ii) the names of
* Sam Leffler and Silicon Graphics may not be used in any advertising or
* publicity relating to the software without the specific, prior written
* permission of Sam Leffler and Silicon Graphics.
*
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
*
* IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
* ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
/*
* TIFF Library
*
* Compression Scheme Configuration Support.
*/
#include "tiffioP.h"
#if USE_PROTOTYPES
extern int TIFFInitDumpMode(TIFF*);
#ifdef PACKBITS_SUPPORT
extern int TIFFInitPackBits(TIFF*);
#endif
#ifdef CCITT_SUPPORT
extern int TIFFInitCCITTRLE(TIFF*), TIFFInitCCITTRLEW(TIFF*);
extern int TIFFInitCCITTFax3(TIFF*), TIFFInitCCITTFax4(TIFF*);
#endif
#ifdef THUNDER_SUPPORT
extern int TIFFInitThunderScan(TIFF*);
#endif
#ifdef NEXT_SUPPORT
extern int TIFFInitNeXT(TIFF*);
#endif
#ifdef LZW_SUPPORT
extern int TIFFInitLZW(TIFF*);
#endif
#ifdef JPEG_SUPPORT
extern int TIFFInitJPEG(TIFF*);
#endif
#else
extern int TIFFInitDumpMode();
#ifdef PACKBITS_SUPPORT
extern int TIFFInitPackBits();
#endif
#ifdef CCITT_SUPPORT
extern int TIFFInitCCITTRLE(), TIFFInitCCITTRLEW();
extern int TIFFInitCCITTFax3(), TIFFInitCCITTFax4();
#endif
#ifdef THUNDER_SUPPORT
extern int TIFFInitThunderScan();
#endif
#ifdef NEXT_SUPPORT
extern int TIFFInitNeXT();
#endif
#ifdef LZW_SUPPORT
extern int TIFFInitLZW();
#endif
#ifdef JPEG_SUPPORT
extern int TIFFInitJPEG();
#endif
#endif
struct cscheme {
char* name;
int scheme;
int (*init)();
};
static const struct cscheme CompressionSchemes[] = {
{ "Null", COMPRESSION_NONE, TIFFInitDumpMode },
#ifdef LZW_SUPPORT
{ "LZW", COMPRESSION_LZW, TIFFInitLZW },
#endif
#ifdef PACKBITS_SUPPORT
{ "PackBits", COMPRESSION_PACKBITS, TIFFInitPackBits },
#endif
#ifdef THUNDER_SUPPORT
{ "ThunderScan", COMPRESSION_THUNDERSCAN,TIFFInitThunderScan },
#endif
#ifdef NEXT_SUPPORT
{ "NeXT", COMPRESSION_NEXT, TIFFInitNeXT },
#endif
#ifdef JPEG_SUPPORT
{ "JPEG", COMPRESSION_JPEG, TIFFInitJPEG },
#endif
#ifdef CCITT_SUPPORT
{ "CCITT RLE", COMPRESSION_CCITTRLE, TIFFInitCCITTRLE },
{ "CCITT RLE/W", COMPRESSION_CCITTRLEW, TIFFInitCCITTRLEW },
{ "CCITT Group3", COMPRESSION_CCITTFAX3, TIFFInitCCITTFax3 },
{ "CCITT Group4", COMPRESSION_CCITTFAX4, TIFFInitCCITTFax4 },
#endif
};
#define NSCHEMES (sizeof (CompressionSchemes) / sizeof (CompressionSchemes[0]))
static struct cscheme const *
findScheme(scheme)
int scheme;
{
register struct cscheme const *c;
for (c = CompressionSchemes; c < &CompressionSchemes[NSCHEMES]; c++)
if (c->scheme == scheme)
return (c);
return ((struct cscheme const *)0);
}
static int
TIFFNoEncode(tif, method)
TIFF *tif;
char *method;
{
struct cscheme const *c = findScheme(tif->tif_dir.td_compression);
TIFFError(tif->tif_name,
"%s %s encoding is not implemented", c->name, method);
return (-1);
}
int
TIFFNoRowEncode(tif, pp, cc, s)
TIFF *tif;
u_char *pp;
int cc;
u_int s;
{
return (TIFFNoEncode(tif, "scanline"));
}
int
TIFFNoStripEncode(tif, pp, cc, s)
TIFF *tif;
u_char *pp;
int cc;
u_int s;
{
return (TIFFNoEncode(tif, "strip"));
}
int
TIFFNoTileEncode(tif, pp, cc, s)
TIFF *tif;
u_char *pp;
int cc;
u_int s;
{
return (TIFFNoEncode(tif, "tile"));
}
int
TIFFNoDecode(tif, method)
TIFF *tif;
char *method;
{
struct cscheme const *c = findScheme(tif->tif_dir.td_compression);
TIFFError(tif->tif_name,
"%s %s decoding is not implemented", c->name, method);
return (-1);
}
int
TIFFNoRowDecode(tif, pp, cc, s)
TIFF *tif;
u_char *pp;
int cc;
u_int s;
{
return (TIFFNoDecode(tif, "scanline"));
}
int
TIFFNoStripDecode(tif, pp, cc, s)
TIFF *tif;
u_char *pp;
int cc;
u_int s;
{
return (TIFFNoDecode(tif, "strip"));
}
int
TIFFNoTileDecode(tif, pp, cc, s)
TIFF *tif;
u_char *pp;
int cc;
u_int s;
{
return (TIFFNoDecode(tif, "tile"));
}
TIFFSetCompressionScheme(tif, scheme)
TIFF *tif;
int scheme;
{
struct cscheme const *c = findScheme(scheme);
if (!c) {
TIFFError(tif->tif_name,
"Unknown data compression algorithm %u (0x%x)",
scheme, scheme);
return (0);
}
tif->tif_predecode = NULL;
tif->tif_decoderow = TIFFNoRowDecode;
tif->tif_decodestrip = TIFFNoStripDecode;
tif->tif_decodetile = TIFFNoTileDecode;
tif->tif_preencode = NULL;
tif->tif_postencode = NULL;
tif->tif_encoderow = TIFFNoRowEncode;
tif->tif_encodestrip = TIFFNoStripEncode;
tif->tif_encodetile = TIFFNoTileEncode;
tif->tif_close = NULL;
tif->tif_seek = NULL;
tif->tif_cleanup = NULL;
tif->tif_flags &= ~TIFF_NOBITREV;
tif->tif_options = 0;
return ((*c->init)(tif));
}
+970
View File
@@ -0,0 +1,970 @@
#ifndef lint
static char rcsid[] = "$Header: /usr/people/sam/tiff/libtiff/RCS/tif_dir.c,v 1.110 92/03/06 11:59:49 sam Exp $";
#endif
/*
* Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
* Copyright (c) 1991, 1992 Silicon Graphics, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that (i) the above copyright notices and this permission notice appear in
* all copies of the software and related documentation, and (ii) the names of
* Sam Leffler and Silicon Graphics may not be used in any advertising or
* publicity relating to the software without the specific, prior written
* permission of Sam Leffler and Silicon Graphics.
*
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
*
* IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
* ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
/*
* TIFF Library.
*
* Directory Tag Get & Set Routines.
* (and also some miscellaneous stuff)
*
* NB: Beware of the varargs declarations for routines in
* this file. The names and types of variables has been
* carefully chosen to make things work with compilers that
* are busted in one way or another (e.g. SGI/MIPS).
*/
#include "tiffioP.h"
#include "prototypes.h"
static
DECLARE2(setString, char**, cpp, char*, cp)
{
if (*cpp)
free(*cpp), *cpp = 0;
if (cp) {
int len = strlen(cp)+1;
if (*cpp = malloc(len))
bcopy(cp, *cpp, len);
}
}
static
DECLARE3(setShortArray, u_short**, wpp, u_short*, wp, long, n)
{
if (*wpp)
free((char *)*wpp), *wpp = 0;
n *= sizeof (u_short);
if (wp && (*wpp = (u_short *)malloc(n)))
bcopy(wp, *wpp, n);
}
static
DECLARE3(setLongArray, u_long**, wpp, u_long*, wp, long, n)
{
if (*wpp)
free((char *)*wpp), *wpp = 0;
n *= sizeof (u_long);
if (wp && (*wpp = (u_long *)malloc(n)))
bcopy(wp, *wpp, n);
}
static
DECLARE3(setFloatArray, float**, wpp, float*, wp, long, n)
{
if (*wpp)
free((char *)*wpp), *wpp = 0;
n *= sizeof (float);
if (wp && (*wpp = (float *)malloc(n)))
bcopy(wp, *wpp, n);
}
#ifdef JPEG_SUPPORT
/*
* Install a JPEG Quantization table.
* Note that we reorder the elements
* of the array in the zig-zag order
* that is expected by the compression code
* and that is to be stored in the file.
*/
static
DECLARE3(setJPEGQTable, u_char***, wpp, u_char**, wp, int, nc)
{
static u_char zigzag[64] = {
0, 1, 5, 6, 14, 15, 27, 28,
2, 4, 7, 13, 16, 26, 29, 42,
3, 8, 12, 17, 25, 30, 41, 43,
9, 11, 18, 24, 31, 40, 44, 53,
10, 19, 23, 32, 39, 45, 52, 54,
20, 22, 33, 38, 46, 51, 55, 60,
21, 34, 37, 47, 50, 56, 59, 61,
35, 36, 48, 49, 57, 58, 62, 63
};
char *tab;
int i, j;
if (*wpp)
free((char *)*wpp), *wpp = 0;
*wpp = (u_char **)
malloc(nc * (sizeof (u_char *) + 64*sizeof (u_char)));
tab = (((char *)*wpp) + nc*sizeof (u_short *));
for (i = 0; i < nc; i++) {
(*wpp)[i] = (u_char *)tab;
for (j = 0; j < 64; j++)
tab[zigzag[j]] = wp[i][j];
tab += 64*sizeof (u_char);
}
}
/*
* Install a JPEG Coefficient table.
*/
static
DECLARE3(setJPEGCTable, u_char***, cpp, u_char**, cp, int, nc)
{
u_char *tab;
int i, j, nw;
if (*cpp)
free(*cpp), *cpp = 0;
/*
* Calculate the size of the table by counting
* the number of codes specified in the bits array.
*/
nw = 0;
for (i = 0; i < nc; i++) {
nw += 16; /* 16 bytes for bits array */
for (j = 0; j < 16; j++)/* sum up count of codes */
nw += cp[i][j];
}
*cpp = (u_char **)malloc(nc*sizeof (u_char *) + nw);
tab = ((u_char *)*cpp) + nc*sizeof (u_char *);
/*
* Setup internal array and copy user data.
*/
for (i = 0; i < nc; i++) {
(*cpp)[i] = tab;
for (nw = 16, j = 0; j < 16; j++)
nw += cp[i][j];
bcopy(cp[i], tab, nw);
tab += nw;
}
}
#endif
static
TIFFSetField1(tif, tag, ap)
TIFF *tif;
int tag;
va_list ap;
{
TIFFDirectory *td = &tif->tif_dir;
int i, status = 1;
long v;
switch (tag) {
case TIFFTAG_SUBFILETYPE:
td->td_subfiletype = va_arg(ap, u_long);
break;
case TIFFTAG_IMAGEWIDTH:
td->td_imagewidth = va_arg(ap, u_long);
break;
case TIFFTAG_IMAGELENGTH:
td->td_imagelength = va_arg(ap, u_long);
break;
case TIFFTAG_BITSPERSAMPLE:
td->td_bitspersample = va_arg(ap, int);
break;
case TIFFTAG_COMPRESSION:
v = va_arg(ap, int) & 0xffff;
/*
* If we're changing the compression scheme,
* the notify the previous module so that it
* can cleanup any state it's setup.
*/
if (TIFFFieldSet(tif, FIELD_COMPRESSION)) {
if (td->td_compression == v)
break;
if (tif->tif_cleanup)
(*tif->tif_cleanup)(tif);
}
/*
* Setup new compression routine state.
*/
if (status = TIFFSetCompressionScheme(tif, v))
td->td_compression = v;
break;
case TIFFTAG_PHOTOMETRIC:
td->td_photometric = va_arg(ap, int);
break;
case TIFFTAG_THRESHHOLDING:
td->td_threshholding = va_arg(ap, int);
break;
case TIFFTAG_FILLORDER:
v = va_arg(ap, int);
if (v != FILLORDER_LSB2MSB && v != FILLORDER_MSB2LSB)
goto badvalue;
td->td_fillorder = v;
break;
case TIFFTAG_DOCUMENTNAME:
setString(&td->td_documentname, va_arg(ap, char *));
break;
case TIFFTAG_ARTIST:
setString(&td->td_artist, va_arg(ap, char *));
break;
case TIFFTAG_DATETIME:
setString(&td->td_datetime, va_arg(ap, char *));
break;
case TIFFTAG_HOSTCOMPUTER:
setString(&td->td_hostcomputer, va_arg(ap, char *));
break;
case TIFFTAG_IMAGEDESCRIPTION:
setString(&td->td_imagedescription, va_arg(ap, char *));
break;
case TIFFTAG_MAKE:
setString(&td->td_make, va_arg(ap, char *));
break;
case TIFFTAG_MODEL:
setString(&td->td_model, va_arg(ap, char *));
break;
case TIFFTAG_SOFTWARE:
setString(&td->td_software, va_arg(ap, char *));
break;
case TIFFTAG_ORIENTATION:
v = va_arg(ap, int);
if (v < ORIENTATION_TOPLEFT || ORIENTATION_LEFTBOT < v) {
TIFFWarning(tif->tif_name,
"Bad value %ld for \"%s\" tag ignored",
v, TIFFFieldWithTag(tag)->field_name);
} else
td->td_orientation = v;
break;
case TIFFTAG_SAMPLESPERPIXEL:
/* XXX should cross check -- e.g. if pallette, then 1 */
v = va_arg(ap, int);
if (v == 0)
goto badvalue;
if (v > 4) {
TIFFError(tif->tif_name,
"Cannot handle %ld-channel data", v);
status = 0;
} else
td->td_samplesperpixel = v;
break;
case TIFFTAG_ROWSPERSTRIP:
v = va_arg(ap, u_long);
if (v == 0)
goto badvalue;
td->td_rowsperstrip = v;
if (!TIFFFieldSet(tif, FIELD_TILEDIMENSIONS)) {
td->td_tilelength = v;
td->td_tilewidth = td->td_imagewidth;
}
break;
case TIFFTAG_MINSAMPLEVALUE:
td->td_minsamplevalue = va_arg(ap, int) & 0xffff;
break;
case TIFFTAG_MAXSAMPLEVALUE:
td->td_maxsamplevalue = va_arg(ap, int) & 0xffff;
break;
case TIFFTAG_XRESOLUTION:
td->td_xresolution = va_arg(ap, dblparam_t);
break;
case TIFFTAG_YRESOLUTION:
td->td_yresolution = va_arg(ap, dblparam_t);
break;
case TIFFTAG_PLANARCONFIG:
v = va_arg(ap, int);
if (v != PLANARCONFIG_CONTIG && v != PLANARCONFIG_SEPARATE)
goto badvalue;
td->td_planarconfig = v;
break;
case TIFFTAG_PAGENAME:
setString(&td->td_pagename, va_arg(ap, char *));
break;
case TIFFTAG_XPOSITION:
td->td_xposition = va_arg(ap, dblparam_t);
break;
case TIFFTAG_YPOSITION:
td->td_yposition = va_arg(ap, dblparam_t);
break;
case TIFFTAG_GROUP3OPTIONS:
td->td_group3options = va_arg(ap, u_long);
break;
case TIFFTAG_GROUP4OPTIONS:
td->td_group4options = va_arg(ap, u_long);
break;
case TIFFTAG_RESOLUTIONUNIT:
v = va_arg(ap, int);
if (v < RESUNIT_NONE || RESUNIT_CENTIMETER < v)
goto badvalue;
td->td_resolutionunit = v;
break;
case TIFFTAG_PAGENUMBER:
td->td_pagenumber[0] = va_arg(ap, int);
td->td_pagenumber[1] = va_arg(ap, int);
break;
case TIFFTAG_HALFTONEHINTS:
td->td_halftonehints[0] = va_arg(ap, int);
td->td_halftonehints[1] = va_arg(ap, int);
break;
case TIFFTAG_COLORMAP:
v = 1L<<td->td_bitspersample;
setShortArray(&td->td_colormap[0], va_arg(ap, u_short *), v);
setShortArray(&td->td_colormap[1], va_arg(ap, u_short *), v);
setShortArray(&td->td_colormap[2], va_arg(ap, u_short *), v);
break;
case TIFFTAG_PREDICTOR:
td->td_predictor = va_arg(ap, int);
break;
case TIFFTAG_EXTRASAMPLES:
v = va_arg(ap, int);
if (v > td->td_samplesperpixel)
goto badvalue;
if (v != 1) /* XXX */
goto badvalue; /* XXX */
v = va_arg(ap, int);
if (v != EXTRASAMPLE_ASSOCALPHA)/* XXX */
goto badvalue; /* XXX */
td->td_matteing = 1;
break;
case TIFFTAG_MATTEING:
td->td_matteing = va_arg(ap, int);
break;
case TIFFTAG_BADFAXLINES:
td->td_badfaxlines = va_arg(ap, u_long);
break;
case TIFFTAG_CLEANFAXDATA:
td->td_cleanfaxdata = va_arg(ap, int);
break;
case TIFFTAG_CONSECUTIVEBADFAXLINES:
td->td_badfaxrun = va_arg(ap, u_long);
break;
case TIFFTAG_TILEWIDTH:
v = va_arg(ap, u_long);
if (v % 8)
goto badvalue;
td->td_tilewidth = v;
tif->tif_flags |= TIFF_ISTILED;
break;
case TIFFTAG_TILELENGTH:
v = va_arg(ap, u_long);
if (v % 8)
goto badvalue;
td->td_tilelength = v;
tif->tif_flags |= TIFF_ISTILED;
break;
case TIFFTAG_TILEDEPTH:
v = va_arg(ap, u_long);
if (v == 0)
goto badvalue;
td->td_tiledepth = v;
break;
case TIFFTAG_DATATYPE:
case TIFFTAG_SAMPLEFORMAT:
v = va_arg(ap, int);
if (tag == TIFFTAG_DATATYPE && v == 0)
v = SAMPLEFORMAT_VOID;
if (v < SAMPLEFORMAT_INT || SAMPLEFORMAT_VOID < v)
goto badvalue;
td->td_sampleformat = v;
break;
case TIFFTAG_IMAGEDEPTH:
td->td_imagedepth = va_arg(ap, u_long);
break;
#ifdef YCBCR_SUPPORT
case TIFFTAG_YCBCRCOEFFICIENTS:
setFloatArray(&td->td_ycbcrcoeffs, va_arg(ap, float *), 3);
break;
case TIFFTAG_YCBCRPOSITIONING:
td->td_ycbcrpositioning = va_arg(ap, int);
break;
case TIFFTAG_YCBCRSUBSAMPLING:
td->td_ycbcrsubsampling[0] = va_arg(ap, int);
td->td_ycbcrsubsampling[1] = va_arg(ap, int);
break;
#endif
#ifdef JPEG_SUPPORT
case TIFFTAG_JPEGPROC:
td->td_jpegproc = va_arg(ap, int);
break;
case TIFFTAG_JPEGRESTARTINTERVAL:
td->td_jpegrestartinterval = va_arg(ap, int);
break;
case TIFFTAG_JPEGQTABLES:
setJPEGQTable(&td->td_qtab, va_arg(ap, u_char **),
td->td_samplesperpixel);
break;
case TIFFTAG_JPEGDCTABLES:
setJPEGCTable(&td->td_dctab, va_arg(ap, u_char **),
td->td_samplesperpixel);
break;
case TIFFTAG_JPEGACTABLES:
setJPEGCTable(&td->td_actab, va_arg(ap, u_char **),
td->td_samplesperpixel);
break;
#endif
#ifdef COLORIMETRY_SUPPORT
case TIFFTAG_WHITEPOINT:
setFloatArray(&td->td_whitepoint, va_arg(ap, float *), 2);
break;
case TIFFTAG_PRIMARYCHROMATICITIES:
setFloatArray(&td->td_primarychromas, va_arg(ap, float *), 6);
break;
case TIFFTAG_TRANSFERFUNCTION:
for (i = 0; i < td->td_samplesperpixel; i++)
setShortArray(&td->td_transferfunction[i],
va_arg(ap, u_short *), 1L<<td->td_bitspersample);
break;
case TIFFTAG_REFERENCEBLACKWHITE:
/* XXX should check for null range */
v = 2 * td->td_samplesperpixel;
setFloatArray(&td->td_refblackwhite, va_arg(ap, float *), v);
break;
#endif
#ifdef CMYK_SUPPORT
case TIFFTAG_INKSET:
td->td_inkset = va_arg(ap, int);
break;
case TIFFTAG_DOTRANGE:
/* XXX should check for null range */
td->td_dotrange[0] = va_arg(ap, int);
td->td_dotrange[1] = va_arg(ap, int);
break;
case TIFFTAG_INKNAMES:
setString(&td->td_inknames, va_arg(ap, char *));
break;
case TIFFTAG_TARGETPRINTER:
setString(&td->td_targetprinter, va_arg(ap, char *));
break;
#endif
default:
TIFFError(tif->tif_name,
"Internal error, tag value botch, tag \"%s\"",
TIFFFieldWithTag(tag)->field_name);
status = 0;
break;
}
if (status) {
TIFFSetFieldBit(tif, TIFFFieldWithTag(tag)->field_bit);
tif->tif_flags |= TIFF_DIRTYDIRECT;
}
va_end(ap);
return (status);
badvalue:
TIFFError(tif->tif_name, "%ld: Bad value for \"%s\"", v,
TIFFFieldWithTag(tag)->field_name);
va_end(ap);
return (0);
}
/*
* Return 1/0 according to whether or not
* it is permissible to set the tag's value.
* Note that we allow ImageLength to be changed
* so that we can append and extend to images.
* Any other tag may not be altered once writing
* has commenced, unless its value has no effect
* on the format of the data that is written.
*/
static
OkToChangeTag(tif, tag)
TIFF *tif;
int tag;
{
if (tag != TIFFTAG_IMAGELENGTH &&
(tif->tif_flags & TIFF_BEENWRITING)) {
TIFFFieldInfo const *fip = TIFFFindFieldInfo(tag, TIFF_ANY);
/*
* Consult info table to see if tag can be changed
* after we've started writing. We only allow changes
* to those tags that don't/shouldn't affect the
* compression and/or format of the data.
*/
if (fip && !fip->field_oktochange)
return (0);
}
return (1);
}
/*
* Record the value of a field in the
* internal directory structure. The
* field will be written to the file
* when/if the directory structure is
* updated.
*/
/*VARARGS2*/
DECLARE2V(TIFFSetField, TIFF*, tif, int, tag)
{
int status = 0;
if (OkToChangeTag(tif, tag)) {
va_list ap;
VA_START(ap, tag);
status = TIFFSetField1(tif, tag, ap);
va_end(ap);
} else {
TIFFFieldInfo const *fip = TIFFFindFieldInfo(tag, TIFF_ANY);
if (fip)
TIFFError("TIFFSetField",
"%s: Cannot modify tag \"%s\" while writing",
tif->tif_name, fip->field_name);
}
return (status);
}
/*
* Like TIFFSetField, but taking a varargs
* parameter list. This routine is useful
* for building higher-level interfaces on
* top of the library.
*/
TIFFVSetField(tif, tag, ap)
TIFF *tif;
int tag;
va_list ap;
{
int status = 0;
if (!OkToChangeTag(tif, tag)) {
TIFFFieldInfo const *fip = TIFFFindFieldInfo(tag, TIFF_ANY);
if (fip)
TIFFError("TIFFVSetField",
"%s: Cannot modify tag \"%s\" while writing",
tif->tif_name, fip->field_name);
} else
status = TIFFSetField1(tif, tag, ap);
return (status);
}
static
TIFFGetField1(td, tag, ap)
TIFFDirectory *td;
int tag;
va_list ap;
{
switch (tag) {
case TIFFTAG_SUBFILETYPE:
*va_arg(ap, u_long *) = td->td_subfiletype;
break;
case TIFFTAG_IMAGEWIDTH:
*va_arg(ap, u_long *) = td->td_imagewidth;
break;
case TIFFTAG_IMAGELENGTH:
*va_arg(ap, u_long *) = td->td_imagelength;
break;
case TIFFTAG_BITSPERSAMPLE:
*va_arg(ap, u_short *) = td->td_bitspersample;
break;
case TIFFTAG_COMPRESSION:
*va_arg(ap, u_short *) = td->td_compression;
break;
case TIFFTAG_PHOTOMETRIC:
*va_arg(ap, u_short *) = td->td_photometric;
break;
case TIFFTAG_THRESHHOLDING:
*va_arg(ap, u_short *) = td->td_threshholding;
break;
case TIFFTAG_FILLORDER:
*va_arg(ap, u_short *) = td->td_fillorder;
break;
case TIFFTAG_DOCUMENTNAME:
*va_arg(ap, char **) = td->td_documentname;
break;
case TIFFTAG_ARTIST:
*va_arg(ap, char **) = td->td_artist;
break;
case TIFFTAG_DATETIME:
*va_arg(ap, char **) = td->td_datetime;
break;
case TIFFTAG_HOSTCOMPUTER:
*va_arg(ap, char **) = td->td_hostcomputer;
break;
case TIFFTAG_IMAGEDESCRIPTION:
*va_arg(ap, char **) = td->td_imagedescription;
break;
case TIFFTAG_MAKE:
*va_arg(ap, char **) = td->td_make;
break;
case TIFFTAG_MODEL:
*va_arg(ap, char **) = td->td_model;
break;
case TIFFTAG_SOFTWARE:
*va_arg(ap, char **) = td->td_software;
break;
case TIFFTAG_ORIENTATION:
*va_arg(ap, u_short *) = td->td_orientation;
break;
case TIFFTAG_SAMPLESPERPIXEL:
*va_arg(ap, u_short *) = td->td_samplesperpixel;
break;
case TIFFTAG_ROWSPERSTRIP:
*va_arg(ap, u_long *) = td->td_rowsperstrip;
break;
case TIFFTAG_MINSAMPLEVALUE:
*va_arg(ap, u_short *) = td->td_minsamplevalue;
break;
case TIFFTAG_MAXSAMPLEVALUE:
*va_arg(ap, u_short *) = td->td_maxsamplevalue;
break;
case TIFFTAG_XRESOLUTION:
*va_arg(ap, float *) = td->td_xresolution;
break;
case TIFFTAG_YRESOLUTION:
*va_arg(ap, float *) = td->td_yresolution;
break;
case TIFFTAG_PLANARCONFIG:
*va_arg(ap, u_short *) = td->td_planarconfig;
break;
case TIFFTAG_XPOSITION:
*va_arg(ap, float *) = td->td_xposition;
break;
case TIFFTAG_YPOSITION:
*va_arg(ap, float *) = td->td_yposition;
break;
case TIFFTAG_PAGENAME:
*va_arg(ap, char **) = td->td_pagename;
break;
case TIFFTAG_GROUP3OPTIONS:
*va_arg(ap, u_long *) = td->td_group3options;
break;
case TIFFTAG_GROUP4OPTIONS:
*va_arg(ap, u_long *) = td->td_group4options;
break;
case TIFFTAG_RESOLUTIONUNIT:
*va_arg(ap, u_short *) = td->td_resolutionunit;
break;
case TIFFTAG_PAGENUMBER:
*va_arg(ap, u_short *) = td->td_pagenumber[0];
*va_arg(ap, u_short *) = td->td_pagenumber[1];
break;
case TIFFTAG_HALFTONEHINTS:
*va_arg(ap, u_short *) = td->td_halftonehints[0];
*va_arg(ap, u_short *) = td->td_halftonehints[1];
break;
case TIFFTAG_COLORMAP:
*va_arg(ap, u_short **) = td->td_colormap[0];
*va_arg(ap, u_short **) = td->td_colormap[1];
*va_arg(ap, u_short **) = td->td_colormap[2];
break;
case TIFFTAG_PREDICTOR:
*va_arg(ap, u_short *) = td->td_predictor;
break;
case TIFFTAG_STRIPOFFSETS:
case TIFFTAG_TILEOFFSETS:
*va_arg(ap, u_long **) = td->td_stripoffset;
break;
case TIFFTAG_STRIPBYTECOUNTS:
case TIFFTAG_TILEBYTECOUNTS:
*va_arg(ap, u_long **) = td->td_stripbytecount;
break;
case TIFFTAG_MATTEING:
*va_arg(ap, u_short *) = td->td_matteing;
break;
case TIFFTAG_EXTRASAMPLES:
*va_arg(ap, u_short *) = td->td_matteing;
*va_arg(ap, u_short **) = &td->td_matteing;
break;
case TIFFTAG_BADFAXLINES:
*va_arg(ap, u_long *) = td->td_badfaxlines;
break;
case TIFFTAG_CLEANFAXDATA:
*va_arg(ap, u_short *) = td->td_cleanfaxdata;
break;
case TIFFTAG_CONSECUTIVEBADFAXLINES:
*va_arg(ap, u_long *) = td->td_badfaxrun;
break;
case TIFFTAG_TILEWIDTH:
*va_arg(ap, u_long *) = td->td_tilewidth;
break;
case TIFFTAG_TILELENGTH:
*va_arg(ap, u_long *) = td->td_tilelength;
break;
case TIFFTAG_TILEDEPTH:
*va_arg(ap, u_long *) = td->td_tiledepth;
break;
case TIFFTAG_DATATYPE:
*va_arg(ap, u_short *) =
(td->td_sampleformat == SAMPLEFORMAT_VOID ?
0 : td->td_sampleformat);
break;
case TIFFTAG_SAMPLEFORMAT:
*va_arg(ap, u_short *) = td->td_sampleformat;
break;
case TIFFTAG_IMAGEDEPTH:
*va_arg(ap, u_long *) = td->td_imagedepth;
break;
#ifdef YCBCR_SUPPORT
case TIFFTAG_YCBCRCOEFFICIENTS:
*va_arg(ap, float **) = td->td_ycbcrcoeffs;
break;
case TIFFTAG_YCBCRPOSITIONING:
*va_arg(ap, u_short *) = td->td_ycbcrpositioning;
break;
case TIFFTAG_YCBCRSUBSAMPLING:
*va_arg(ap, u_short *) = td->td_ycbcrsubsampling[0];
*va_arg(ap, u_short *) = td->td_ycbcrsubsampling[1];
break;
#endif
#ifdef JPEG_SUPPORT
case TIFFTAG_JPEGPROC:
*va_arg(ap, u_short *) = td->td_jpegproc;
break;
case TIFFTAG_JPEGRESTARTINTERVAL:
*va_arg(ap, u_short *) = td->td_jpegrestartinterval;
break;
case TIFFTAG_JPEGQTABLES:
*va_arg(ap, u_char ***) = td->td_qtab;
break;
case TIFFTAG_JPEGDCTABLES:
*va_arg(ap, u_char ***) = td->td_dctab;
break;
case TIFFTAG_JPEGACTABLES:
*va_arg(ap, u_char ***) = td->td_actab;
break;
#endif
#ifdef COLORIMETRY_SUPPORT
case TIFFTAG_WHITEPOINT:
*va_arg(ap, float **) = td->td_whitepoint;
break;
case TIFFTAG_PRIMARYCHROMATICITIES:
*va_arg(ap, float **) = td->td_primarychromas;
break;
case TIFFTAG_TRANSFERFUNCTION: {
int i;
for (i = 0; i < td->td_samplesperpixel; i++)
*va_arg(ap, u_short **) = td->td_transferfunction[i];
break;
}
case TIFFTAG_REFERENCEBLACKWHITE:
*va_arg(ap, float **) = td->td_refblackwhite;
break;
#endif
#ifdef CMYK_SUPPORT
case TIFFTAG_INKSET:
*va_arg(ap, u_short *) = td->td_inkset;
break;
case TIFFTAG_DOTRANGE:
*va_arg(ap, u_short *) = td->td_dotrange[0];
*va_arg(ap, u_short *) = td->td_dotrange[1];
break;
case TIFFTAG_INKNAMES:
*va_arg(ap, char **) = td->td_inknames;
break;
case TIFFTAG_TARGETPRINTER:
*va_arg(ap, char **) = td->td_targetprinter;
break;
#endif
default:
TIFFError("TIFFGetField1",
"Internal error, no value returned for tag \"%s\"",
TIFFFieldWithTag(tag)->field_name);
break;
}
va_end(ap);
}
/*
* Return the value of a field in the
* internal directory structure.
*/
/*VARARGS2*/
DECLARE2V(TIFFGetField, TIFF*, tif, int, tag)
{
TIFFFieldInfo const *fip = TIFFFindFieldInfo(tag, TIFF_ANY);
if (fip) {
u_short bit = fip->field_bit;
if (bit != FIELD_IGNORE && TIFFFieldSet(tif, bit)) {
va_list ap;
VA_START(ap, tag);
(void) TIFFGetField1(&tif->tif_dir, tag, ap);
va_end(ap);
return (1);
}
} else
TIFFError("TIFFGetField", "Unknown field, tag 0x%x", tag);
return (0);
}
/*
* Like TIFFGetField, but taking a varargs
* parameter list. This routine is useful
* for building higher-level interfaces on
* top of the library.
*/
TIFFVGetField(tif, tag, ap)
TIFF *tif;
int tag;
va_list ap;
{
TIFFFieldInfo const *fip = TIFFFindFieldInfo(tag, TIFF_ANY);
if (fip) {
u_short bit = fip->field_bit;
if (bit != FIELD_IGNORE && TIFFFieldSet(tif, bit)) {
(void) TIFFGetField1(&tif->tif_dir, tag, ap);
return (1);
}
} else
TIFFError("TIFFGetField", "Unknown field, tag 0x%x", tag);
return (0);
}
/*
* Internal interface to TIFFGetField...
*/
int
/*VARARGS2*/
DECLARE2V(_TIFFgetfield, TIFFDirectory*, td, int, tag)
{
va_list ap;
VA_START(ap, tag);
(void) TIFFGetField1(td, tag, ap);
va_end(ap);
}
#define CleanupField(member) { \
if (td->member) { \
free((char *)td->member); \
td->member = 0; \
} \
}
/*
* Release storage associated with a directory.
*/
TIFFFreeDirectory(tif)
TIFF *tif;
{
register TIFFDirectory *td = &tif->tif_dir;
CleanupField(td_colormap[0]);
CleanupField(td_colormap[1]);
CleanupField(td_colormap[2]);
CleanupField(td_documentname);
CleanupField(td_artist);
CleanupField(td_datetime);
CleanupField(td_hostcomputer);
CleanupField(td_imagedescription);
CleanupField(td_make);
CleanupField(td_model);
CleanupField(td_software);
CleanupField(td_pagename);
#ifdef YCBCR_SUPPORT
CleanupField(td_ycbcrcoeffs);
#endif
#ifdef JPEG_SUPPORT
CleanupField(td_qtab);
CleanupField(td_dctab);
CleanupField(td_actab);
#endif
#ifdef CMYK_SUPPORT
CleanupField(td_inknames);
CleanupField(td_targetprinter);
#endif
#ifdef COLORIMETRY_SUPPORT
CleanupField(td_whitepoint);
CleanupField(td_primarychromas);
CleanupField(td_refblackwhite);
CleanupField(td_transferfunction[0]);
CleanupField(td_transferfunction[1]);
CleanupField(td_transferfunction[2]);
CleanupField(td_transferfunction[3]);
#endif
CleanupField(td_stripoffset);
CleanupField(td_stripbytecount);
}
#undef CleanupField
/*
* Setup a default directory structure.
*/
TIFFDefaultDirectory(tif)
TIFF *tif;
{
register TIFFDirectory *td = &tif->tif_dir;
bzero((char *)td, sizeof (*td));
td->td_fillorder = FILLORDER_MSB2LSB;
td->td_bitspersample = 1;
td->td_threshholding = THRESHHOLD_BILEVEL;
td->td_orientation = ORIENTATION_TOPLEFT;
td->td_samplesperpixel = 1;
td->td_predictor = 1;
td->td_rowsperstrip = 0xffffffff;
td->td_tilewidth = 0xffffffff;
td->td_tilelength = 0xffffffff;
td->td_tiledepth = 1;
td->td_resolutionunit = RESUNIT_INCH;
td->td_sampleformat = SAMPLEFORMAT_VOID;
td->td_imagedepth = 1;
#ifdef YCBCR_SUPPORT
td->td_ycbcrsubsampling[0] = 2;
td->td_ycbcrsubsampling[1] = 2;
td->td_ycbcrpositioning = YCBCRPOSITION_CENTERED;
#endif
#ifdef CMYK_SUPPORT
td->td_inkset = INKSET_CMYK;
#endif
(void) TIFFSetField(tif, TIFFTAG_COMPRESSION, COMPRESSION_NONE);
/*
* NB: The directory is marked dirty as a result of setting
* up the default compression scheme. However, this really
* isn't correct -- we want TIFF_DIRTYDIRECT to be set only
* if the user does something. We could just do the setup
* by hand, but it seems better to use the normal mechanism
* (i.e. TIFFSetField).
*/
tif->tif_flags &= ~TIFF_DIRTYDIRECT;
return (1);
}
/*
* Set the n-th directory as the current directory.
* NB: Directories are numbered starting at 0.
*/
TIFFSetDirectory(tif, dirn)
register TIFF *tif;
int dirn;
{
static char module[] = "TIFFSetDirectory";
u_short dircount;
long nextdir;
int n;
nextdir = tif->tif_header.tiff_diroff;
for (n = dirn; n > 0 && nextdir != 0; n--) {
if (!SeekOK(tif->tif_fd, nextdir) ||
!ReadOK(tif->tif_fd, &dircount, sizeof (dircount))) {
TIFFError(module, "%s: Error fetching directory count",
tif->tif_name);
return (0);
}
if (tif->tif_flags & TIFF_SWAB)
TIFFSwabShort(&dircount);
lseek(tif->tif_fd, dircount*sizeof (TIFFDirEntry), L_INCR);
if (!ReadOK(tif->tif_fd, &nextdir, sizeof (nextdir))) {
TIFFError(module, "%s: Error fetching directory link",
tif->tif_name);
return (0);
}
if (tif->tif_flags & TIFF_SWAB)
TIFFSwabLong((u_long *)&nextdir);
}
tif->tif_nextdiroff = nextdir;
/*
* Set curdir to the actual directory index. The
* -1 is because TIFFReadDirectory will increment
* tif_curdir after successfully reading the directory.
*/
tif->tif_curdir = (dirn - n) - 1;
return (TIFFReadDirectory(tif));
}
+296
View File
@@ -0,0 +1,296 @@
#ifndef lint
static char rcsid[] = "$Header: /usr/people/sam/tiff/libtiff/RCS/tif_dirinfo.c,v 1.17 92/03/20 11:25:08 sam Exp $";
#endif
/*
* Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
* Copyright (c) 1991, 1992 Silicon Graphics, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that (i) the above copyright notices and this permission notice appear in
* all copies of the software and related documentation, and (ii) the names of
* Sam Leffler and Silicon Graphics may not be used in any advertising or
* publicity relating to the software without the specific, prior written
* permission of Sam Leffler and Silicon Graphics.
*
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
*
* IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
* ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
/*
* TIFF Library.
*
* Known Directory Tag Support.
*/
#include "tiffioP.h"
#include "prototypes.h"
#ifndef TRUE
#define TRUE 1
#define FALSE 0
#endif
/*
* NB: THIS ARRAY IS ASSUMED TO BE SORTED BY TAG.
* Also, if a tag can have both LONG and SHORT types
* then the LONG must be placed before the SHORT for
* writing to work properly.
*/
const TIFFFieldInfo tiffFieldInfo[] = {
{ TIFFTAG_SUBFILETYPE, 1, 1, TIFF_LONG, FIELD_SUBFILETYPE,
TRUE, "SubfileType" },
/* XXX SHORT for compatibility w/ old versions of the library */
{ TIFFTAG_SUBFILETYPE, 1, 1, TIFF_SHORT, FIELD_SUBFILETYPE,
TRUE, "SubfileType" },
{ TIFFTAG_OSUBFILETYPE, 1, 1, TIFF_SHORT, FIELD_SUBFILETYPE,
TRUE, "OldSubfileType" },
{ TIFFTAG_IMAGEWIDTH, 1, 1, TIFF_LONG, FIELD_IMAGEDIMENSIONS,
FALSE, "ImageWidth" },
{ TIFFTAG_IMAGEWIDTH, 1, 1, TIFF_SHORT, FIELD_IMAGEDIMENSIONS,
FALSE, "ImageWidth" },
{ TIFFTAG_IMAGELENGTH, 1, 1, TIFF_LONG, FIELD_IMAGEDIMENSIONS,
TRUE, "ImageLength" },
{ TIFFTAG_IMAGELENGTH, 1, 1, TIFF_SHORT, FIELD_IMAGEDIMENSIONS,
TRUE, "ImageLength" },
{ TIFFTAG_BITSPERSAMPLE, -1,-1, TIFF_SHORT, FIELD_BITSPERSAMPLE,
FALSE, "BitsPerSample" },
{ TIFFTAG_COMPRESSION, -1, 1, TIFF_SHORT, FIELD_COMPRESSION,
FALSE, "Compression" },
{ TIFFTAG_PHOTOMETRIC, 1, 1, TIFF_SHORT, FIELD_PHOTOMETRIC,
FALSE, "PhotometricInterpretation" },
{ TIFFTAG_THRESHHOLDING, 1, 1, TIFF_SHORT, FIELD_THRESHHOLDING,
TRUE, "Threshholding" },
{ TIFFTAG_CELLWIDTH, 1, 1, TIFF_SHORT, FIELD_IGNORE,
TRUE, "CellWidth" },
{ TIFFTAG_CELLLENGTH, 1, 1, TIFF_SHORT, FIELD_IGNORE,
TRUE, "CellLength" },
{ TIFFTAG_FILLORDER, 1, 1, TIFF_SHORT, FIELD_FILLORDER,
FALSE, "FillOrder" },
{ TIFFTAG_DOCUMENTNAME, -1,-1, TIFF_ASCII, FIELD_DOCUMENTNAME,
TRUE, "DocumentName" },
{ TIFFTAG_IMAGEDESCRIPTION, -1,-1, TIFF_ASCII, FIELD_IMAGEDESCRIPTION,
TRUE, "ImageDescription" },
{ TIFFTAG_MAKE, -1,-1, TIFF_ASCII, FIELD_MAKE,
TRUE, "Make" },
{ TIFFTAG_MODEL, -1,-1, TIFF_ASCII, FIELD_MODEL,
TRUE, "Model" },
{ TIFFTAG_STRIPOFFSETS, -1,-1, TIFF_LONG, FIELD_STRIPOFFSETS,
FALSE, "StripOffsets" },
{ TIFFTAG_STRIPOFFSETS, -1,-1, TIFF_SHORT, FIELD_STRIPOFFSETS,
FALSE, "StripOffsets" },
{ TIFFTAG_ORIENTATION, 1, 1, TIFF_SHORT, FIELD_ORIENTATION,
FALSE, "Orientation" },
{ TIFFTAG_SAMPLESPERPIXEL, 1, 1, TIFF_SHORT, FIELD_SAMPLESPERPIXEL,
FALSE, "SamplesPerPixel" },
{ TIFFTAG_ROWSPERSTRIP, 1, 1, TIFF_LONG, FIELD_ROWSPERSTRIP,
FALSE, "RowsPerStrip" },
{ TIFFTAG_ROWSPERSTRIP, 1, 1, TIFF_SHORT, FIELD_ROWSPERSTRIP,
FALSE, "RowsPerStrip" },
{ TIFFTAG_STRIPBYTECOUNTS, -1,-1, TIFF_LONG, FIELD_STRIPBYTECOUNTS,
FALSE, "StripByteCounts" },
{ TIFFTAG_STRIPBYTECOUNTS, -1,-1, TIFF_SHORT, FIELD_STRIPBYTECOUNTS,
FALSE, "StripByteCounts" },
{ TIFFTAG_MINSAMPLEVALUE, -2,-1, TIFF_SHORT, FIELD_MINSAMPLEVALUE,
TRUE, "MinSampleValue" },
{ TIFFTAG_MAXSAMPLEVALUE, -2,-1, TIFF_SHORT, FIELD_MAXSAMPLEVALUE,
TRUE, "MaxSampleValue" },
{ TIFFTAG_XRESOLUTION, 1, 1, TIFF_RATIONAL, FIELD_RESOLUTION,
FALSE, "XResolution" },
{ TIFFTAG_YRESOLUTION, 1, 1, TIFF_RATIONAL, FIELD_RESOLUTION,
FALSE, "YResolution" },
{ TIFFTAG_PLANARCONFIG, 1, 1, TIFF_SHORT, FIELD_PLANARCONFIG,
FALSE, "PlanarConfiguration" },
{ TIFFTAG_PAGENAME, -1,-1, TIFF_ASCII, FIELD_PAGENAME,
TRUE, "PageName" },
{ TIFFTAG_XPOSITION, 1, 1, TIFF_RATIONAL, FIELD_POSITION,
TRUE, "XPosition" },
{ TIFFTAG_YPOSITION, 1, 1, TIFF_RATIONAL, FIELD_POSITION,
TRUE, "YPosition" },
{ TIFFTAG_FREEOFFSETS, -1,-1, TIFF_LONG, FIELD_IGNORE,
FALSE, "FreeOffsets" },
{ TIFFTAG_FREEBYTECOUNTS, -1,-1, TIFF_LONG, FIELD_IGNORE,
FALSE, "FreeByteCounts" },
{ TIFFTAG_GRAYRESPONSEUNIT, 1, 1, TIFF_SHORT, FIELD_IGNORE,
TRUE, "GrayResponseUnit" },
{ TIFFTAG_GRAYRESPONSECURVE,-1,-1, TIFF_SHORT, FIELD_IGNORE,
TRUE, "GrayResponseCurve" },
{ TIFFTAG_GROUP3OPTIONS, 1, 1, TIFF_LONG, FIELD_GROUP3OPTIONS,
FALSE, "Group3Options" },
{ TIFFTAG_GROUP4OPTIONS, 1, 1, TIFF_LONG, FIELD_GROUP4OPTIONS,
FALSE, "Group4Options" },
{ TIFFTAG_RESOLUTIONUNIT, 1, 1, TIFF_SHORT, FIELD_RESOLUTIONUNIT,
FALSE, "ResolutionUnit" },
{ TIFFTAG_PAGENUMBER, 2, 2, TIFF_SHORT, FIELD_PAGENUMBER,
TRUE, "PageNumber" },
{ TIFFTAG_COLORRESPONSEUNIT, 1, 1, TIFF_SHORT, FIELD_IGNORE,
TRUE, "ColorResponseUnit" },
#ifdef COLORIMETRY_SUPPORT
{ TIFFTAG_TRANSFERFUNCTION, -1,-1, TIFF_SHORT, FIELD_TRANSFERFUNCTION,
TRUE, "TransferFunction" },
#endif
{ TIFFTAG_SOFTWARE, -1,-1, TIFF_ASCII, FIELD_SOFTWARE,
TRUE, "Software" },
{ TIFFTAG_DATETIME, 20,20, TIFF_ASCII, FIELD_DATETIME,
TRUE, "DateTime" },
{ TIFFTAG_ARTIST, -1,-1, TIFF_ASCII, FIELD_ARTIST,
TRUE, "Artist" },
{ TIFFTAG_HOSTCOMPUTER, -1,-1, TIFF_ASCII, FIELD_HOSTCOMPUTER,
TRUE, "HostComputer" },
{ TIFFTAG_PREDICTOR, 1, 1, TIFF_SHORT, FIELD_PREDICTOR,
FALSE, "Predictor" },
#ifdef COLORIMETRY_SUPPORT
{ TIFFTAG_WHITEPOINT, 2, 2, TIFF_RATIONAL,FIELD_WHITEPOINT,
TRUE, "WhitePoint" },
{ TIFFTAG_PRIMARYCHROMATICITIES,6,6,TIFF_RATIONAL,FIELD_PRIMARYCHROMAS,
TRUE, "PrimaryChromaticities" },
#endif
{ TIFFTAG_COLORMAP, -1,-1, TIFF_SHORT, FIELD_COLORMAP,
TRUE, "ColorMap" },
{ TIFFTAG_HALFTONEHINTS, 2, 2, TIFF_SHORT, FIELD_HALFTONEHINTS,
TRUE, "HalftoneHints" },
{ TIFFTAG_TILEWIDTH, 1, 1, TIFF_LONG, FIELD_TILEDIMENSIONS,
FALSE, "TileWidth" },
{ TIFFTAG_TILEWIDTH, 1, 1, TIFF_SHORT, FIELD_TILEDIMENSIONS,
FALSE, "TileWidth" },
{ TIFFTAG_TILELENGTH, 1, 1, TIFF_LONG, FIELD_TILEDIMENSIONS,
FALSE, "TileLength" },
{ TIFFTAG_TILELENGTH, 1, 1, TIFF_SHORT, FIELD_TILEDIMENSIONS,
FALSE, "TileLength" },
{ TIFFTAG_TILEOFFSETS, -1, 1, TIFF_LONG, FIELD_STRIPOFFSETS,
FALSE, "TileOffsets" },
{ TIFFTAG_TILEBYTECOUNTS, -1, 1, TIFF_LONG, FIELD_STRIPBYTECOUNTS,
FALSE, "TileByteCounts" },
{ TIFFTAG_TILEBYTECOUNTS, -1, 1, TIFF_SHORT, FIELD_STRIPBYTECOUNTS,
FALSE, "TileByteCounts" },
{ TIFFTAG_BADFAXLINES, 1, 1, TIFF_LONG, FIELD_BADFAXLINES,
TRUE, "BadFaxLines" },
{ TIFFTAG_BADFAXLINES, 1, 1, TIFF_SHORT, FIELD_BADFAXLINES,
TRUE, "BadFaxLines" },
{ TIFFTAG_CLEANFAXDATA, 1, 1, TIFF_SHORT, FIELD_CLEANFAXDATA,
TRUE, "CleanFaxData" },
{ TIFFTAG_CONSECUTIVEBADFAXLINES,1,1, TIFF_LONG,FIELD_BADFAXRUN,
TRUE, "ConsecutiveBadFaxLines" },
{ TIFFTAG_CONSECUTIVEBADFAXLINES,1,1, TIFF_SHORT,FIELD_BADFAXRUN,
TRUE, "ConsecutiveBadFaxLines" },
#ifdef CMYK_SUPPORT /* 6.0 CMYK tags */
{ TIFFTAG_INKSET, 1, 1, TIFF_SHORT, FIELD_INKSET,
FALSE, "InkSet" },
{ TIFFTAG_INKNAMES, -1,-1, TIFF_ASCII, FIELD_INKNAMES,
TRUE, "InkNames" },
{ TIFFTAG_DOTRANGE, 2, 2, TIFF_SHORT, FIELD_DOTRANGE,
FALSE, "DotRange" },
{ TIFFTAG_DOTRANGE, 2, 2, TIFF_BYTE, FIELD_DOTRANGE,
FALSE, "DotRange" },
{ TIFFTAG_TARGETPRINTER, -1,-1, TIFF_ASCII, FIELD_TARGETPRINTER,
TRUE, "TargetPrinter" },
#endif
{ TIFFTAG_EXTRASAMPLES, -1,-1, TIFF_SHORT, FIELD_MATTEING,
FALSE, "ExtraSamples" },
{ TIFFTAG_SAMPLEFORMAT, -1,-1, TIFF_SHORT, FIELD_SAMPLEFORMAT,
FALSE, "SampleFormat" },
#ifdef notdef
{ TIFFTAG_SMINSAMPLEVALUE, -2,-1, TIFF_ANY, FIELD_SMINSAMPLEVALUE,
TRUE, "SMinSampleValue" },
{ TIFFTAG_SMAXSAMPLEVALUE, -2,-1, TIFF_ANY, FIELD_SMAXSAMPLEVALUE,
TRUE, "SMaxSampleValue" },
#endif
#ifdef JPEG_SUPPORT /* 6.0 JPEG tags */
{ TIFFTAG_JPEGPROC, 1, 1, TIFF_SHORT, FIELD_JPEGPROC,
FALSE, "JPEGProc" },
{ TIFFTAG_JPEGIFOFFSET, 1, 1, TIFF_LONG, FIELD_IGNORE,
FALSE, "JPEGInterchangeFormat" },
{ TIFFTAG_JPEGIFBYTECOUNT, 1, 1, TIFF_LONG, FIELD_IGNORE,
FALSE, "JPEGInterchangeFormatLength" },
{ TIFFTAG_JPEGRESTARTINTERVAL,1,1, TIFF_SHORT,FIELD_JPEGRESTARTINTERVAL,
FALSE, "JPEGRestartInterval" },
{ TIFFTAG_JPEGQTABLES, -2,-1, TIFF_LONG, FIELD_JPEGQTABLES,
FALSE, "JPEGQTables" },
{ TIFFTAG_JPEGDCTABLES, -2,-1, TIFF_LONG, FIELD_JPEGDCTABLES,
FALSE, "JPEGDCTables" },
{ TIFFTAG_JPEGACTABLES, -2,-1, TIFF_LONG, FIELD_JPEGACTABLES,
FALSE, "JPEGACTables" },
#endif
#ifdef YCBCR_SUPPORT /* 6.0 YCbCr tags */
{ TIFFTAG_YCBCRCOEFFICIENTS, 3, 3, TIFF_RATIONAL, FIELD_YCBCRCOEFFICIENTS,
FALSE, "YCbCrCoefficients" },
{ TIFFTAG_YCBCRSUBSAMPLING, 2, 2, TIFF_SHORT, FIELD_YCBCRSUBSAMPLING,
FALSE, "YCbCrSubsampling" },
{ TIFFTAG_YCBCRPOSITIONING, 1, 1, TIFF_SHORT, FIELD_YCBCRPOSITIONING,
FALSE, "YCbCrPositioning" },
#endif
#ifdef COLORIMETRY_SUPPORT
{ TIFFTAG_REFERENCEBLACKWHITE,-1,-1,TIFF_RATIONAL, FIELD_REFBLACKWHITE,
FALSE, "ReferenceBlackWhite" },
/* XXX temporarily accept LONG for backwards compatibility */
{ TIFFTAG_REFERENCEBLACKWHITE,-1,-1,TIFF_LONG, FIELD_REFBLACKWHITE,
FALSE, "ReferenceBlackWhite" },
#endif
/* begin SGI tags */
{ TIFFTAG_MATTEING, 1, 1, TIFF_SHORT, FIELD_MATTEING,
FALSE, "Matteing" },
{ TIFFTAG_DATATYPE, -2,-1, TIFF_SHORT, FIELD_SAMPLEFORMAT,
FALSE, "DataType" },
{ TIFFTAG_IMAGEDEPTH, 1, 1, TIFF_LONG, FIELD_IMAGEDEPTH,
FALSE, "ImageDepth" },
{ TIFFTAG_IMAGEDEPTH, 1, 1, TIFF_SHORT, FIELD_IMAGEDEPTH,
FALSE, "ImageDepth" },
{ TIFFTAG_TILEDEPTH, 1, 1, TIFF_LONG, FIELD_TILEDEPTH,
FALSE, "TileDepth" },
{ TIFFTAG_TILEDEPTH, 1, 1, TIFF_SHORT, FIELD_TILEDEPTH,
FALSE, "TileDepth" },
/* end SGI tags */
{ 0 }
};
const int tiffDataWidth[] = {
1, /* nothing */
1, /* TIFF_BYTE */
1, /* TIFF_ASCII */
2, /* TIFF_SHORT */
4, /* TIFF_LONG */
8, /* TIFF_RATIONAL */
1, /* TIFF_SBYTE */
1, /* TIFF_UNDEFINED */
2, /* TIFF_SSHORT */
4, /* TIFF_SLONG */
8, /* TIFF_SRATIONAL */
4, /* TIFF_FLOAT */
8, /* TIFF_DOUBLE */
};
TIFFFieldInfo const *
DECLARE2(TIFFFindFieldInfo, u_short, tag, TIFFDataType, dt)
{
static TIFFFieldInfo const *last = NULL;
register TIFFFieldInfo const *fip;
if (last && last->field_tag == tag &&
(dt == TIFF_ANY || dt == last->field_type))
return (last);
/* NB: if table gets big, use sorted search (e.g. binary search) */
for (fip = tiffFieldInfo; fip->field_tag; fip++)
if (fip->field_tag == tag &&
(dt == TIFF_ANY || fip->field_type == dt))
return (last = fip);
return ((TIFFFieldInfo *)0);
}
TIFFFieldInfo const *
DECLARE1(TIFFFieldWithTag, u_short, tag)
{
TIFFFieldInfo const *fip = TIFFFindFieldInfo(tag, TIFF_ANY);
if (fip)
return (fip);
TIFFError("TIFFFieldWithTag", "Internal error, unknown tag 0x%x", tag);
exit(-1);
/*NOTREACHED*/
}
File diff suppressed because it is too large. Load diff
+805
View File
@@ -0,0 +1,805 @@
#ifndef lint
static char rcsid[] = "$Header: /usr/people/sam/tiff/libtiff/RCS/tif_dirwrite.c,v 1.16 92/03/18 09:36:15 sam Exp $";
#endif
/*
* Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
* Copyright (c) 1991, 1992 Silicon Graphics, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that (i) the above copyright notices and this permission notice appear in
* all copies of the software and related documentation, and (ii) the names of
* Sam Leffler and Silicon Graphics may not be used in any advertising or
* publicity relating to the software without the specific, prior written
* permission of Sam Leffler and Silicon Graphics.
*
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
*
* IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
* ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
/*
* TIFF Library.
*
* Directory Write Support Routines.
*
* NB: Beware of the varargs declarations for routines in
* this file. The names and types of variables has been
* carefully chosen to make things work with compilers that
* are busted in one way or another (e.g. SGI/MIPS).
*/
#include "tiffioP.h"
#include "prototypes.h"
#if HAVE_IEEEFP
#define TIFFCvtNativeToIEEEFloat(tif, n, fp)
#endif
#if USE_PROTOTYPES
static TIFFWriteNormalTag(TIFF*, TIFFDirEntry*, TIFFFieldInfo*);
static TIFFSetupShortLong(TIFF *, u_short, TIFFDirEntry *, u_long);
static TIFFSetupShortPair(TIFF *, u_short, TIFFDirEntry *);
static TIFFWriteRational(TIFF *,
TIFFDataType, u_short, TIFFDirEntry *, float);
static TIFFWritePerSampleShorts(TIFF *, u_short, TIFFDirEntry *);
static TIFFWriteShortTable(TIFF *, u_short, TIFFDirEntry *, int, u_short **);
static TIFFWriteShortArray(TIFF *,
TIFFDataType, u_short, TIFFDirEntry *, int, u_short *);
static TIFFWriteLongArray(TIFF *,
TIFFDataType, u_short, TIFFDirEntry *, int, u_long *);
static TIFFWriteRationalArray(TIFF *,
TIFFDataType, u_short, TIFFDirEntry *, int, float *);
static TIFFWriteFloatArray(TIFF *,
TIFFDataType, u_short, TIFFDirEntry *, int, float *);
static TIFFWriteString(TIFF *, u_short, TIFFDirEntry *, char *);
#ifdef JPEG_SUPPORT
static TIFFWriteJPEGQTables(TIFF *, TIFFDirEntry *);
static TIFFWriteJPEGCTables(TIFF *, u_short, TIFFDirEntry *, u_char **);
#endif
#ifdef COLORIMETRY_SUPPORT
static TIFFWriteTransferFunction(TIFF*, TIFFDirEntry*);
#endif
static TIFFWriteData(TIFF *, TIFFDirEntry *, char *);
static TIFFLinkDirectory(TIFF *);
#else
static TIFFWriteNormalTag();
static TIFFSetupShortLong();
static TIFFSetupShortPair();
static TIFFWriteRational();
static TIFFWritePerSampleShorts();
static TIFFWriteShortTable();
static TIFFWriteShortArray();
static TIFFWriteLongArray();
static TIFFWriteRationalArray();
static TIFFWriteFloatArray();
static TIFFWriteString();
#ifdef JPEG_SUPPORT
static TIFFWriteJPEGQTables();
static TIFFWriteJPEGCTables();
#endif
static TIFFWriteData();
static TIFFLinkDirectory();
#endif
#define WriteRationalPair(type, tag1, v1, tag2, v2) { \
if (!TIFFWriteRational(tif, type, tag1, dir, v1)) \
goto bad; \
if (!TIFFWriteRational(tif, type, tag2, dir+1, v2)) \
goto bad; \
dir++; \
}
static long dataoff;
/*
* Write the contents of the current directory
* to the specified file. This routine doesn't
* handle overwriting a directory with auxiliary
* storage that's been changed.
*/
TIFFWriteDirectory(tif)
TIFF *tif;
{
short dircount, tag;
int nfields, dirsize;
char *data;
TIFFFieldInfo *fip;
TIFFDirEntry *dir;
TIFFDirectory *td;
u_long b, fields[sizeof (td->td_fieldsset) / sizeof (u_long)];
if (tif->tif_mode == O_RDONLY)
return (1);
/*
* Clear write state so that subsequent images with
* different characteristics get the right buffers
* setup for them.
*/
if (tif->tif_flags & TIFF_POSTENCODE) {
tif->tif_flags &= ~TIFF_POSTENCODE;
if (tif->tif_postencode && !(*tif->tif_postencode)(tif)) {
TIFFError(tif->tif_name,
"Error post-encoding before directory write");
return (0);
}
}
if (tif->tif_close)
(*tif->tif_close)(tif);
if (tif->tif_cleanup)
(*tif->tif_cleanup)(tif);
/*
* Flush any data that might have been written
* by the compression close+cleanup routines.
*/
if (tif->tif_rawcc > 0 && !TIFFFlushData1(tif)) {
TIFFError(tif->tif_name,
"Error flushing data before directory write");
return (0);
}
if ((tif->tif_flags & TIFF_MYBUFFER) && tif->tif_rawdata) {
free(tif->tif_rawdata);
tif->tif_rawdata = NULL;
tif->tif_rawcc = 0;
}
tif->tif_flags &= ~(TIFF_BEENWRITING|TIFF_BUFFERSETUP);
td = &tif->tif_dir;
/*
* Size the directory so that we can calculate
* offsets for the data items that aren't kept
* in-place in each field.
*/
nfields = 0;
for (b = 0; b <= FIELD_LAST; b++)
if (TIFFFieldSet(tif, b))
nfields += (b < FIELD_SUBFILETYPE ? 2 : 1);
dirsize = nfields * sizeof (TIFFDirEntry);
data = malloc(dirsize);
if (data == NULL) {
TIFFError(tif->tif_name,
"Cannot write directory, out of space");
return (0);
}
/*
* Directory hasn't been placed yet, put
* it at the end of the file and link it
* into the existing directory structure.
*/
if (tif->tif_diroff == 0 && !TIFFLinkDirectory(tif))
return (0);
dataoff = tif->tif_diroff + sizeof (short) + dirsize + sizeof (long);
if (dataoff & 1)
dataoff++;
(void) lseek(tif->tif_fd, dataoff, L_SET);
tif->tif_curdir++;
dir = (TIFFDirEntry *)data;
/*
* Setup external form of directory
* entries and write data items.
*/
bcopy(td->td_fieldsset, fields, sizeof (fields));
/*BEGIN XXX*/
/*
* Write out ExtraSamples tag only if Matteing would
* be set to 1 (i.e. Associated Alpha data is present).
*/
if (FieldSet(fields, FIELD_MATTEING) && !td->td_matteing) { /*XXX*/
ResetFieldBit(fields, FIELD_MATTEING); /*XXX*/
nfields--; /*XXX*/
dirsize -= sizeof (TIFFDirEntry); /*XXX*/
} /*XXX*/
/*END XXX*/
for (fip = tiffFieldInfo; fip->field_tag; fip++) {
if (fip->field_bit == FIELD_IGNORE ||
!FieldSet(fields, fip->field_bit))
continue;
switch (fip->field_bit) {
case FIELD_STRIPOFFSETS:
/*
* We use one field bit for both strip and tile
* offsets, and so must be careful in selecting
* the appropriate field descriptor (so that tags
* are written in sorted order).
*/
tag = isTiled(tif) ?
TIFFTAG_TILEOFFSETS : TIFFTAG_STRIPOFFSETS;
if (tag != fip->field_tag)
continue;
if (!TIFFWriteLongArray(tif, TIFF_LONG, tag, dir,
(int) td->td_nstrips, td->td_stripoffset))
goto bad;
break;
case FIELD_STRIPBYTECOUNTS:
/*
* We use one field bit for both strip and tile
* byte counts, and so must be careful in selecting
* the appropriate field descriptor (so that tags
* are written in sorted order).
*/
tag = isTiled(tif) ?
TIFFTAG_TILEBYTECOUNTS : TIFFTAG_STRIPBYTECOUNTS;
if (tag != fip->field_tag)
continue;
if (!TIFFWriteLongArray(tif, TIFF_LONG, tag, dir,
(int) td->td_nstrips, td->td_stripbytecount))
goto bad;
break;
case FIELD_COLORMAP:
if (!TIFFWriteShortTable(tif, TIFFTAG_COLORMAP, dir,
3, td->td_colormap))
goto bad;
break;
case FIELD_IMAGEDIMENSIONS:
TIFFSetupShortLong(tif, TIFFTAG_IMAGEWIDTH,
dir++, td->td_imagewidth);
TIFFSetupShortLong(tif, TIFFTAG_IMAGELENGTH,
dir, td->td_imagelength);
break;
case FIELD_TILEDIMENSIONS:
TIFFSetupShortLong(tif, TIFFTAG_TILEWIDTH,
dir++, td->td_tilewidth);
TIFFSetupShortLong(tif, TIFFTAG_TILELENGTH,
dir, td->td_tilelength);
break;
case FIELD_POSITION:
WriteRationalPair(TIFF_RATIONAL,
TIFFTAG_XPOSITION, td->td_xposition,
TIFFTAG_YPOSITION, td->td_yposition);
break;
case FIELD_RESOLUTION:
WriteRationalPair(TIFF_RATIONAL,
TIFFTAG_XRESOLUTION, td->td_xresolution,
TIFFTAG_YRESOLUTION, td->td_yresolution);
break;
case FIELD_BITSPERSAMPLE:
case FIELD_MINSAMPLEVALUE:
case FIELD_MAXSAMPLEVALUE:
case FIELD_SAMPLEFORMAT:
if (!TIFFWritePerSampleShorts(tif, fip->field_tag, dir))
goto bad;
break;
case FIELD_PAGENUMBER:
case FIELD_HALFTONEHINTS:
#ifdef YCBCR_SUPPORT
case FIELD_YCBCRSUBSAMPLING:
#endif
#ifdef CMYK_SUPPORT
case FIELD_DOTRANGE:
#endif
TIFFSetupShortPair(tif, fip->field_tag, dir);
break;
#ifdef JPEG_SUPPORT
case FIELD_JPEGQTABLES:
if (!TIFFWriteJPEGQTables(tif, dir))
goto bad;
break;
case FIELD_JPEGDCTABLES:
if (!TIFFWriteJPEGCTables(tif,
TIFFTAG_JPEGDCTABLES, dir, td->td_dctab))
goto bad;
break;
case FIELD_JPEGACTABLES:
if (!TIFFWriteJPEGCTables(tif,
TIFFTAG_JPEGACTABLES, dir, td->td_actab))
goto bad;
break;
#endif
#ifdef COLORIMETRY_SUPPORT
case FIELD_REFBLACKWHITE:
if (!TIFFWriteRationalArray(tif, TIFF_RATIONAL,
TIFFTAG_REFERENCEBLACKWHITE, dir,
2*td->td_samplesperpixel, td->td_refblackwhite))
goto bad;
break;
case FIELD_TRANSFERFUNCTION:
if (!TIFFWriteTransferFunction(tif, dir))
goto bad;
break;
#endif
default:
if (!TIFFWriteNormalTag(tif, dir, fip))
goto bad;
break;
}
dir++;
ResetFieldBit(fields, fip->field_bit);
}
/*
* Write directory.
*/
(void) lseek(tif->tif_fd, tif->tif_diroff, L_SET);
dircount = nfields;
if (!WriteOK(tif->tif_fd, &dircount, sizeof (short))) {
TIFFError(tif->tif_name, "Error writing directory count");
goto bad;
}
if (!WriteOK(tif->tif_fd, data, dirsize)) {
TIFFError(tif->tif_name, "Error writing directory contents");
goto bad;
}
if (!WriteOK(tif->tif_fd, &tif->tif_nextdiroff, sizeof (long))) {
TIFFError(tif->tif_name, "Error writing directory link");
goto bad;
}
TIFFFreeDirectory(tif);
free(data);
tif->tif_flags &= ~TIFF_DIRTYDIRECT;
/*
* Reset directory-related state for subsequent
* directories.
*/
TIFFDefaultDirectory(tif);
tif->tif_diroff = 0;
tif->tif_curoff = 0;
tif->tif_row = -1;
tif->tif_curstrip = -1;
return (1);
bad:
free(data);
return (0);
}
#undef WriteRationalPair
/*
* Process tags that are not special cased.
*/
static
DECLARE3(TIFFWriteNormalTag,
TIFF*, tif, TIFFDirEntry*, dir, TIFFFieldInfo*, fip)
{
TIFFDirectory* td = &tif->tif_dir;
u_short wc = (u_short) fip->field_writecount;
dir->tdir_tag = fip->field_tag;
dir->tdir_type = (u_short)fip->field_type;
dir->tdir_count = wc;
#define WRITE(x,y) x(tif, fip->field_type, fip->field_tag, dir, wc, y)
switch (fip->field_type) {
case TIFF_SHORT:
case TIFF_SSHORT:
if (wc > 1) {
u_short *wp;
if (wc == (u_short) TIFF_VARIABLE) {
_TIFFgetfield(td, fip->field_tag, &wc, &wp);
dir->tdir_count = wc;
} else
_TIFFgetfield(td, fip->field_tag, &wp);
if (!WRITE(TIFFWriteShortArray, wp))
return (0);
} else {
u_short sv;
_TIFFgetfield(td, fip->field_tag, &sv);
dir->tdir_offset =
TIFFInsertData(tif, dir->tdir_type, sv);
}
break;
case TIFF_LONG:
case TIFF_SLONG:
if (wc > 1) {
u_long *lp;
if (wc == (u_short) TIFF_VARIABLE) {
_TIFFgetfield(td, fip->field_tag, &wc, &lp);
dir->tdir_count = wc;
} else
_TIFFgetfield(td, fip->field_tag, &lp);
if (!WRITE(TIFFWriteLongArray, lp))
return (0);
} else {
/* XXX handle LONG->SHORT conversion */
_TIFFgetfield(td, fip->field_tag, &dir->tdir_offset);
}
break;
case TIFF_RATIONAL:
case TIFF_SRATIONAL:
if (wc > 1) {
float *fp;
if (wc == (u_short) TIFF_VARIABLE) {
_TIFFgetfield(td, fip->field_tag, &wc, &fp);
dir->tdir_count = wc;
} else
_TIFFgetfield(td, fip->field_tag, &fp);
if (!WRITE(TIFFWriteRationalArray, fp))
return (0);
} else {
float fv;
_TIFFgetfield(td, fip->field_tag, &fv);
if (!TIFFWriteRational(tif, fip->field_type, fip->field_tag, dir, fv))
return (0);
}
break;
case TIFF_FLOAT:
if (wc > 1) {
float *fp;
if (wc == (u_short) TIFF_VARIABLE) {
_TIFFgetfield(td, fip->field_tag, &wc, &fp);
dir->tdir_count = wc;
} else
_TIFFgetfield(td, fip->field_tag, &fp);
if (!WRITE(TIFFWriteFloatArray, fp))
return (0);
} else {
float fv;
_TIFFgetfield(td, fip->field_tag, &fv);
TIFFCvtNativeToIEEEFloat(tif, 1, &fv);
/* XXX assumes sizeof (long) == sizeof (float) */
dir->tdir_offset = *(u_long *)&fv; /* XXX */
}
break;
case TIFF_ASCII: {
char *cp;
_TIFFgetfield(td, fip->field_tag, &cp);
if (!TIFFWriteString(tif, fip->field_tag, dir, cp))
return (0);
break;
}
}
return (1);
}
#undef WRITE
/*
* Setup a directory entry with either a SHORT
* or LONG type according to the value.
*/
static
DECLARE4(TIFFSetupShortLong,
TIFF*, tif, u_short, tag, TIFFDirEntry*, dir, u_long, v)
{
dir->tdir_tag = tag;
dir->tdir_count = 1;
if (v > 0xffffL) {
dir->tdir_type = (short)TIFF_LONG;
dir->tdir_offset = v;
} else {
dir->tdir_type = (short)TIFF_SHORT;
dir->tdir_offset = TIFFInsertData(tif, (int)TIFF_SHORT, v);
}
}
#undef MakeShortDirent
/*
* Setup a RATIONAL directory entry and
* write the associated indirect value.
*/
static
DECLARE5(TIFFWriteRational,
TIFF*, tif, TIFFDataType, type, u_short, tag, TIFFDirEntry*, dir, float, v)
{
u_long t[2];
dir->tdir_tag = tag;
dir->tdir_type = (short)type;
dir->tdir_count = 1;
if (type == TIFF_RATIONAL && v < 0)
TIFFWarning(tif->tif_name,
"\"%s\": Information lost writing value (%g) as (unsigned) RATIONAL",
TIFFFieldWithTag(tag)->field_name, v);
/* need algorithm to convert ... XXX */
t[0] = v*10000.0 + 0.5;
t[1] = 10000;
return (TIFFWriteData(tif, dir, (char *)t));
}
/*
* Setup a directory entry that references a
* samples/pixel array of SHORT values and
* (potentially) write the associated indirect
* values.
*/
static
DECLARE3(TIFFWritePerSampleShorts,
TIFF*, tif, u_short, tag, TIFFDirEntry*, dir)
{
u_short w[4], v;
int i, samplesperpixel = tif->tif_dir.td_samplesperpixel;
_TIFFgetfield(&tif->tif_dir, tag, &v);
for (i = 0; i < samplesperpixel; i++)
w[i] = v;
return (TIFFWriteShortArray(
tif, TIFF_SHORT, tag, dir, samplesperpixel, w));
}
/*
* Setup a pair of shorts that are returned by
* value, rather than as a reference to an array.
*/
static
DECLARE3(TIFFSetupShortPair,
TIFF*, tif, u_short, tag, TIFFDirEntry*, dir)
{
u_short v[2];
_TIFFgetfield(&tif->tif_dir, tag, &v[0], &v[1]);
return (TIFFWriteShortArray(tif, TIFF_SHORT, tag, dir, 2, v));
}
/*
* Setup a directory entry for an NxM table of shorts,
* where M is known to be 2**bitspersample, and write
* the associated indirect data.
*/
static
DECLARE5(TIFFWriteShortTable,
TIFF*, tif, u_short, tag, TIFFDirEntry*, dir, int, n, u_short**, table)
{
u_long off;
int i;
dir->tdir_tag = tag;
dir->tdir_type = (short)TIFF_SHORT;
/* XXX -- yech, fool TIFFWriteData */
dir->tdir_count = 1L<<tif->tif_dir.td_bitspersample;
off = dataoff;
for (i = 0; i < n; i++)
if (!TIFFWriteData(tif, dir, (char *)table[i]))
return (0);
dir->tdir_count *= n;
dir->tdir_offset = off;
return (1);
}
/*
* Setup a directory entry of an ASCII string
* and write any associated indirect value.
*/
static
DECLARE4(TIFFWriteString,
TIFF*, tif, u_short, tag, TIFFDirEntry*, dir, char*, cp)
{
dir->tdir_tag = tag;
dir->tdir_type = (short)TIFF_ASCII;
dir->tdir_count = strlen(cp) + 1; /* includes \0 byte */
if (dir->tdir_count > 4) {
if (!TIFFWriteData(tif, dir, cp))
return (0);
} else
bcopy(cp, &dir->tdir_offset, dir->tdir_count);
return (1);
}
/*
* Setup a directory entry of an array of SHORT
* or SSHORT and write the associated indirect values.
*/
static
DECLARE6(TIFFWriteShortArray, TIFF*, tif,
TIFFDataType, type, u_short, tag, TIFFDirEntry*, dir, int, n, u_short*, v)
{
dir->tdir_tag = tag;
dir->tdir_type = (short)type;
dir->tdir_count = n;
if (n <= 2) {
if (tif->tif_header.tiff_magic == TIFF_BIGENDIAN) {
dir->tdir_offset = (long)v[0] << 16;
if (n == 2)
dir->tdir_offset |= v[1] & 0xffff;
} else {
dir->tdir_offset = v[0] & 0xffff;
if (n == 2)
dir->tdir_offset |= (long)v[1] << 16;
}
return (1);
} else
return (TIFFWriteData(tif, dir, (char *)v));
}
/*
* Setup a directory entry of an array of LONG
* or SLONG and write the associated indirect values.
*/
static
DECLARE6(TIFFWriteLongArray, TIFF*, tif,
TIFFDataType, type, u_short, tag, TIFFDirEntry*, dir, int, n, u_long*, v)
{
dir->tdir_tag = tag;
dir->tdir_type = (short)type;
dir->tdir_count = n;
if (n == 1) {
dir->tdir_offset = v[0];
return (1);
} else
return (TIFFWriteData(tif, dir, (char *)v));
}
/*
* Setup a directory entry of an array of RATIONAL
* or SRATIONAL and write the associated indirect values.
*/
static
DECLARE6(TIFFWriteRationalArray, TIFF*, tif,
TIFFDataType, type, u_short, tag, TIFFDirEntry*, dir, int, n, float*, v)
{
int i, status;
u_long *t;
dir->tdir_tag = tag;
dir->tdir_type = (short)type;
dir->tdir_count = n;
t = (u_long *)malloc(2*n * sizeof (long));
for (i = 0; i < n; i++) {
/* need algorithm to convert ... XXX */
t[2*i+0] = v[i]*10000.0 + 0.5;
t[2*i+1] = 10000;
}
status = TIFFWriteData(tif, dir, (char *)t);
free((char *)t);
return (status);
}
static
DECLARE6(TIFFWriteFloatArray, TIFF *, tif,
TIFFDataType, type, u_short, tag, TIFFDirEntry *, dir, int, n, float *, v)
{
dir->tdir_tag = tag;
dir->tdir_type = (short)type;
dir->tdir_count = n;
TIFFCvtNativeToIEEEFloat(tif, n, v);
if (n == 1) {
dir->tdir_offset = *(u_long *)&v[0];
return (1);
} else
return (TIFFWriteData(tif, dir, (char *)v));
}
#ifdef JPEG_SUPPORT
/*
* Setup a directory entry for JPEG Quantization
* tables and write the associated indirect values.
*/
static
DECLARE2(TIFFWriteJPEGQTables, TIFF*, tif, TIFFDirEntry*, dir)
{
TIFFDirectory *td = &tif->tif_dir;
TIFFDirEntry tdir;
u_long off[4];
int i;
tdir.tdir_tag = TIFFTAG_JPEGQTABLES; /* for diagnostics */
tdir.tdir_type = (short)TIFF_BYTE;
tdir.tdir_count = 64;
for (i = 0; i < td->td_samplesperpixel; i++) {
if (!TIFFWriteData(tif, &tdir, (char *)td->td_qtab[i]))
return (0);
off[i] = tdir.tdir_offset;
}
return (TIFFWriteLongArray(tif, TIFF_LONG,
TIFFTAG_JPEGQTABLES, dir, td->td_samplesperpixel, off));
}
/*
* Setup a directory entry for JPEG Coefficient
* tables and write the associated indirect values.
*/
static
DECLARE4(TIFFWriteJPEGCTables,
TIFF*, tif, u_short, tag, TIFFDirEntry*, dir, u_char **, tab)
{
TIFFDirectory *td = &tif->tif_dir;
TIFFDirEntry tdir;
u_long off[4];
int i, j, ncodes;
tdir.tdir_tag = tag; /* for diagnostics */
tdir.tdir_type = (short)TIFF_BYTE;
for (i = 0; i < td->td_samplesperpixel; i++) {
for (ncodes = 0, j = 0; j < 16; j++)
ncodes += tab[i][j];
tdir.tdir_count = 16+ncodes;
if (!TIFFWriteData(tif, &tdir, (char *)tab[i]))
return (0);
off[i] = tdir.tdir_offset;
}
return (TIFFWriteLongArray(tif,
TIFF_LONG, tag, dir, td->td_samplesperpixel, off));
}
#endif
#ifdef COLORIMETRY_SUPPORT
static
DECLARE2(TIFFWriteTransferFunction, TIFF*, tif, TIFFDirEntry*, dir)
{
TIFFDirectory *td = &tif->tif_dir;
int j, ncols;
u_long n;
u_short **tf = td->td_transferfunction;
/*
* Check if the table can be written as a single column.
*/
n = (1L<<td->td_bitspersample) * sizeof (u_short);
ncols = 1; /* assume only one column is needed */
for (j = 1; j < td->td_samplesperpixel; j++)
if (bcmp(tf[0], tf[j], n)) {
ncols = td->td_samplesperpixel;
break;
}
return (TIFFWriteShortTable(tif,
TIFFTAG_TRANSFERFUNCTION, dir, ncols, tf));
}
#endif
/*
* Write a contiguous directory item.
*/
static
TIFFWriteData(tif, dir, cp)
TIFF *tif;
TIFFDirEntry *dir;
char *cp;
{
int cc;
dir->tdir_offset = dataoff;
cc = dir->tdir_count * tiffDataWidth[dir->tdir_type];
if (SeekOK(tif->tif_fd, dir->tdir_offset) &&
WriteOK(tif->tif_fd, cp, cc)) {
dataoff += (cc + 1) & ~1;
return (1);
}
TIFFError(tif->tif_name, "Error writing data for field \"%s\"",
TIFFFieldWithTag(dir->tdir_tag)->field_name);
return (0);
}
/*
* Link the current directory into the
* directory chain for the file.
*/
static
TIFFLinkDirectory(tif)
register TIFF *tif;
{
static char module[] = "TIFFLinkDirectory";
u_short dircount;
long nextdir;
tif->tif_diroff = (lseek(tif->tif_fd, 0L, L_XTND)+1) &~ 1L;
if (tif->tif_header.tiff_diroff == 0) {
/*
* First directory, overwrite header.
*/
tif->tif_header.tiff_diroff = tif->tif_diroff;
(void) lseek(tif->tif_fd, 0L, L_SET);
if (!WriteOK(tif->tif_fd, &tif->tif_header,
sizeof (tif->tif_header))) {
TIFFError(tif->tif_name, "Error writing TIFF header");
return (0);
}
return (1);
}
/*
* Not the first directory, search to the last and append.
*/
nextdir = tif->tif_header.tiff_diroff;
do {
if (!SeekOK(tif->tif_fd, nextdir) ||
!ReadOK(tif->tif_fd, &dircount, sizeof (dircount))) {
TIFFError(module, "Error fetching directory count");
return (0);
}
if (tif->tif_flags & TIFF_SWAB)
TIFFSwabShort(&dircount);
lseek(tif->tif_fd, dircount * sizeof (TIFFDirEntry), L_INCR);
if (!ReadOK(tif->tif_fd, &nextdir, sizeof (nextdir))) {
TIFFError(module, "Error fetching directory link");
return (0);
}
if (tif->tif_flags & TIFF_SWAB)
TIFFSwabLong((u_long *)&nextdir);
} while (nextdir != 0);
(void) lseek(tif->tif_fd, -sizeof (nextdir), L_INCR);
if (!WriteOK(tif->tif_fd, &tif->tif_diroff, sizeof (tif->tif_diroff))) {
TIFFError(module, "Error writing directory link");
return (0);
}
return (1);
}
+160
View File
@@ -0,0 +1,160 @@
#ifndef lint
static char rcsid[] = "$Header: /usr/people/sam/tiff/libtiff/RCS/tif_dumpmode.c,v 1.23 92/02/10 19:06:35 sam Exp $";
#endif
/*
* Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler
* Copyright (c) 1991, 1992 Silicon Graphics, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that (i) the above copyright notices and this permission notice appear in
* all copies of the software and related documentation, and (ii) the names of
* Sam Leffler and Silicon Graphics may not be used in any advertising or
* publicity relating to the software without the specific, prior written
* permission of Sam Leffler and Silicon Graphics.
*
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
*
* IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
* ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
* WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
* LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
/*
* TIFF Library.
*
* "Null" Compression Algorithm Support.
*/
#include "tiffioP.h"
#include <stdio.h>
#include <assert.h>
#if USE_PROTOTYPES
static int DumpModeEncode(TIFF *, u_char *, int, u_int);
static int DumpModeDecode(TIFF *, u_char *, int, u_int);
static int DumpModeSeek(TIFF *, int);
#else
static int DumpModeEncode(), DumpModeDecode(), DumpModeSeek();
#endif
/*
* Initialize dump mode.
*/
TIFFInitDumpMode(tif)
register TIFF *tif;
{
tif->tif_decoderow = DumpModeDecode;
tif->tif_decodestrip = DumpModeDecode;
tif->tif_decodetile = DumpModeDecode;
tif->tif_encoderow = DumpModeEncode;
tif->tif_encodestrip = DumpModeEncode;
tif->tif_encodetile = DumpModeEncode;
tif->tif_seek = DumpModeSeek;
return (1);
}
/*
* Encode a hunk of pixels.
*/
static int
DumpModeEncode(tif, pp, cc, s)
register TIFF *tif;
u_char *pp;
int cc;
u_int s;
{
/*
* This may be overzealous, but avoids having to
* worry about byte alignment for the (potential)
* byte-swapping work below.
*/
if (tif->tif_rawcc + cc > tif->tif_rawdatasize)
if (!TIFFFlushData1(tif))
return (-1);
while (cc > 0) {
int n;
if ((n = cc) > tif->tif_rawdatasize)
n = tif->tif_rawdatasize;
bcopy(pp, tif->tif_rawcp, n);
if (tif->tif_flags & TIFF_SWAB) {
switch (tif->tif_dir.td_bitspersample) {
case 16:
assert((n & 3) == 0);
TIFFSwabArrayOfShort((u_short *)tif->tif_rawcp,
n/2);
break;
case 32:
assert((n & 15) == 0);
TIFFSwabArrayOfLong((u_long *)tif->tif_rawcp,
n/4);
break;
}
}
tif->tif_rawcp += n;
tif->tif_rawcc += n;
pp += n;
cc -= n;
if (tif->tif_rawcc >= tif->tif_rawdatasize &&
!TIFFFlushData1(tif))
return (-1);
}
return (1);
}
/*
* Decode a hunk of pixels.
*/
static int
DumpModeDecode(tif, buf, cc, s)
register TIFF *tif;
u_char *buf;
int cc;
u_int s;
{
if (tif->tif_rawcc < cc) {
TIFFError(tif->tif_name,
"DumpModeDecode: Not enough data for scanline %d",
tif->tif_row);
return (0);
}
/*
* Avoid copy if client has setup raw
* data buffer to avoid extra copy.
*/
if (tif->tif_rawcp != (char*) buf)
bcopy(tif->tif_rawcp, buf, cc);
if (tif->tif_flags & TIFF_SWAB) {
switch (tif->tif_dir.td_bitspersample) {
case 16:
assert((cc & 3) == 0);
TIFFSwabArrayOfShort((u_short *)buf, cc/2);
break;
case 32:
assert((cc & 15) == 0);
TIFFSwabArrayOfLong((u_long *)buf, cc/4);
break;
}
}
tif->tif_rawcp += cc;
tif->tif_rawcc -= cc;
return (1);
}
/*
* Seek forwards nrows in the current strip.
*/
static int
DumpModeSeek(tif, nrows)
register TIFF *tif;
int nrows;
{
tif->tif_rawcp += nrows * tif->tif_scanlinesize;
tif->tif_rawcc -= nrows * tif->tif_scanlinesize;
return (1);
}
Loaded 100 of 611 files, more files were not shown because too many files have changed in this diff. Show more