Path: blob/master/core/extension/gdextension_special_compat_hashes.cpp
21349 views
/**************************************************************************/1/* gdextension_special_compat_hashes.cpp */2/**************************************************************************/3/* This file is part of: */4/* GODOT ENGINE */5/* https://godotengine.org */6/**************************************************************************/7/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */8/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */9/* */10/* Permission is hereby granted, free of charge, to any person obtaining */11/* a copy of this software and associated documentation files (the */12/* "Software"), to deal in the Software without restriction, including */13/* without limitation the rights to use, copy, modify, merge, publish, */14/* distribute, sublicense, and/or sell copies of the Software, and to */15/* permit persons to whom the Software is furnished to do so, subject to */16/* the following conditions: */17/* */18/* The above copyright notice and this permission notice shall be */19/* included in all copies or substantial portions of the Software. */20/* */21/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */22/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */23/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */24/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */25/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */26/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */27/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */28/**************************************************************************/2930#include "gdextension_special_compat_hashes.h"3132#ifndef DISABLE_DEPRECATED3334#include "core/object/class_db.h"35#include "core/variant/variant.h"3637bool GDExtensionSpecialCompatHashes::lookup_current_hash(const StringName &p_class, const StringName &p_method, uint32_t p_legacy_hash, uint32_t *r_current_hash) {38LocalVector<Mapping> *methods = mappings.getptr(p_class);39if (!methods) {40return false;41}4243for (const Mapping &mapping : *methods) {44if (mapping.method == p_method && mapping.legacy_hash == p_legacy_hash) {45*r_current_hash = mapping.current_hash;46return true;47}48}4950return false;51}5253bool GDExtensionSpecialCompatHashes::get_legacy_hashes(const StringName &p_class, const StringName &p_method, Array &r_hashes, bool p_check_valid) {54LocalVector<Mapping> *methods = mappings.getptr(p_class);55if (!methods) {56return false;57}5859bool found = false;60for (const Mapping &mapping : *methods) {61if (mapping.method == p_method) {62if (p_check_valid) {63MethodBind *mb = ClassDB::get_method_with_compatibility(p_class, p_method, mapping.current_hash);64if (!mb) {65WARN_PRINT(vformat("Compatibility hash %d for %s::%s() mapped to non-existent hash %d in gdextension_special_compat_hashes.cpp.", mapping.legacy_hash, p_class, p_method, mapping.current_hash));66continue;67}68}69r_hashes.push_back(mapping.legacy_hash);70found = true;71}72}7374return found;75}7677void GDExtensionSpecialCompatHashes::initialize() {78// clang-format off79mappings.insert("AESContext", {80{ "start", 3167574919, 3122411423 },81});82mappings.insert("AStar2D", {83{ "add_point", 3370185124, 4074201818 },84{ "set_point_disabled", 4023243586, 972357352 },85{ "connect_points", 3785370599, 3710494224 },86{ "disconnect_points", 3785370599, 3710494224 },87{ "are_points_connected", 4063588998, 2288175859 },88});89mappings.insert("AStar3D", {90{ "add_point", 2920922839, 1038703438 },91{ "set_point_disabled", 4023243586, 972357352 },92{ "connect_points", 3785370599, 3710494224 },93{ "disconnect_points", 3785370599, 3710494224 },94{ "are_points_connected", 4063588998, 2288175859 },95});96mappings.insert("AStarGrid2D", {97{ "set_point_solid", 2825551965, 1765703753 },98{ "fill_solid_region", 1152863744, 2261970063 },99});100mappings.insert("AcceptDialog", {101{ "add_button", 4158837846, 3328440682 },102});103mappings.insert("AnimatedSprite2D", {104{ "play", 2372066587, 3269405555 },105{ "play_backwards", 1421762485, 3323268493 },106});107mappings.insert("AnimatedSprite3D", {108{ "play", 2372066587, 3269405555 },109{ "play_backwards", 1421762485, 3323268493 },110});111mappings.insert("Animation", {112{ "add_track", 2393815928, 3843682357 },113{ "track_insert_key", 1985425300, 808952278 },114{ "track_find_key", 3898229885, 3245197284 },115#ifdef REAL_T_IS_DOUBLE116{ "bezier_track_insert_key", 1057544502, 3767441357 },117#else118{ "bezier_track_insert_key", 1057544502, 3656773645 },119#endif120{ "bezier_track_set_key_in_handle", 1028302688, 1719223284 },121{ "bezier_track_set_key_out_handle", 1028302688, 1719223284 },122{ "audio_track_insert_key", 3489962123, 4021027286 },123});124mappings.insert("AnimationNode", {125{ "blend_animation", 11797022, 1630801826 },126{ "blend_node", 263389446, 1746075988 },127{ "blend_input", 2709059328, 1361527350 },128});129mappings.insert("AnimationNodeBlendSpace1D", {130{ "add_blend_point", 4069484420, 285050433 },131});132mappings.insert("AnimationNodeBlendSpace2D", {133{ "add_blend_point", 1533588937, 402261981 },134{ "add_triangle", 642454959, 753017335 },135});136mappings.insert("AnimationNodeBlendTree", {137#ifdef REAL_T_IS_DOUBLE138{ "add_node", 2055804584, 1407702499 },139#else140{ "add_node", 2055804584, 1980270704 },141#endif142});143mappings.insert("AnimationNodeStateMachine", {144#ifdef REAL_T_IS_DOUBLE145{ "add_node", 2055804584, 1407702499 },146#else147{ "add_node", 2055804584, 1980270704 },148#endif149});150mappings.insert("AnimationNodeStateMachinePlayback", {151{ "travel", 3683006648, 3823612587 },152{ "start", 3683006648, 3823612587 },153});154mappings.insert("AnimationPlayer", {155{ "play", 3697947785, 3118260607 },156{ "play", 2221377757, 3118260607 },157{ "play_backwards", 3890664824, 2787282401 },158{ "play_with_capture", 3180464118, 1572969103 },159});160mappings.insert("ArrayMesh", {161{ "add_surface_from_arrays", 172284304, 1796411378 },162});163mappings.insert("AudioEffectSpectrumAnalyzerInstance", {164{ "get_magnitude_for_frequency_range", 2693213071, 797993915 },165});166mappings.insert("AudioServer", {167{ "add_bus_effect", 4147765248, 4068819785 },168{ "get_bus_effect_instance", 2887144608, 1829771234 },169});170mappings.insert("AudioStreamPlaybackPolyphonic", {171{ "play_stream", 3792189967, 604492179 },172});173mappings.insert("AudioStreamRandomizer", {174{ "add_stream", 3197802065, 1892018854 },175});176mappings.insert("BitMap", {177{ "create_from_image_alpha", 505265891, 106271684 },178{ "opaque_to_polygons", 876132484, 48478126 },179});180mappings.insert("CanvasItem", {181{ "draw_line", 2516941890, 1562330099 },182{ "draw_dashed_line", 2175215884, 684651049 },183{ "draw_polyline", 4175878946, 3797364428 },184{ "draw_polyline_colors", 2239164197, 2311979562 },185{ "draw_arc", 3486841771, 4140652635 },186{ "draw_multiline", 4230657331, 2239075205 },187{ "draw_multiline_colors", 235933050, 4072951537 },188{ "draw_rect", 84391229, 2417231121 },189{ "draw_texture", 1695860435, 520200117 },190{ "draw_texture_rect", 3204081724, 3832805018 },191{ "draw_texture_rect_region", 3196597532, 3883821411 },192{ "draw_msdf_texture_rect_region", 2672026175, 4219163252 },193{ "draw_lcd_texture_rect_region", 169610548, 3212350954 },194{ "draw_primitive", 2248678295, 3288481815 },195{ "draw_polygon", 2683625537, 974537912 },196{ "draw_colored_polygon", 1659099617, 15245644 },197{ "draw_string", 2552080639, 728290553 },198{ "draw_multiline_string", 4002645436, 1927038192 },199{ "draw_string_outline", 850005221, 340562381 },200{ "draw_multiline_string_outline", 3717870722, 1912318525 },201{ "draw_char", 2329089032, 3339793283 },202{ "draw_char_outline", 419453826, 3302344391 },203#ifdef REAL_T_IS_DOUBLE204{ "draw_mesh", 1634855856, 4036154158 },205{ "draw_set_transform", 3283884939, 156553079 },206#else207{ "draw_mesh", 1634855856, 153818295 },208{ "draw_set_transform", 3283884939, 288975085 },209#endif210{ "draw_animation_slice", 2295343543, 3112831842 },211});212mappings.insert("CodeEdit", {213{ "is_in_string", 3294126239, 688195400 },214{ "is_in_comment", 3294126239, 688195400 },215{ "add_code_completion_option", 1629240608, 947964390 },216});217mappings.insert("Control", {218{ "set_offsets_preset", 3651818904, 3724524307 },219{ "set_anchors_and_offsets_preset", 3651818904, 3724524307 },220{ "set_anchor", 2589937826, 2302782885 },221{ "get_theme_icon", 2336455395, 3163973443 },222{ "get_theme_stylebox", 2759935355, 604739069 },223{ "get_theme_font", 387378635, 2826986490 },224{ "get_theme_font_size", 229578101, 1327056374 },225{ "get_theme_color", 2377051548, 2798751242 },226{ "get_theme_constant", 229578101, 1327056374 },227{ "has_theme_icon", 1187511791, 866386512 },228{ "has_theme_stylebox", 1187511791, 866386512 },229{ "has_theme_font", 1187511791, 866386512 },230{ "has_theme_font_size", 1187511791, 866386512 },231{ "has_theme_color", 1187511791, 866386512 },232{ "has_theme_constant", 1187511791, 866386512 },233});234mappings.insert("Crypto", {235{ "generate_self_signed_certificate", 947314696, 492266173 },236});237mappings.insert("Curve", {238{ "add_point", 2766148617, 434072736 },239});240mappings.insert("Curve2D", {241#ifdef REAL_T_IS_DOUBLE242{ "add_point", 529706502, 3343370600 },243#else244{ "add_point", 2437345566, 4175465202 },245#endif246});247mappings.insert("Curve3D", {248#ifdef REAL_T_IS_DOUBLE249{ "add_point", 3544159631, 917388502 },250#else251{ "add_point", 3836314258, 2931053748 },252#endif253});254mappings.insert("DirAccess", {255{ "list_dir_begin", 2018049411, 166280745 },256{ "list_dir_begin", 2610976713, 166280745 },257{ "copy", 198434953, 1063198817 },258{ "copy_absolute", 198434953, 1063198817 },259});260mappings.insert("DisplayServer", {261{ "global_menu_add_submenu_item", 3806306913, 2828985934 },262{ "global_menu_add_item", 3415468211, 3616842746 },263{ "global_menu_add_item", 3401266716, 3616842746 },264{ "global_menu_add_check_item", 3415468211, 3616842746 },265{ "global_menu_add_check_item", 3401266716, 3616842746 },266{ "global_menu_add_icon_item", 1700867534, 3867083847 },267{ "global_menu_add_icon_item", 4245856523, 3867083847 },268{ "global_menu_add_icon_check_item", 1700867534, 3867083847 },269{ "global_menu_add_icon_check_item", 4245856523, 3867083847 },270{ "global_menu_add_radio_check_item", 3415468211, 3616842746 },271{ "global_menu_add_radio_check_item", 3401266716, 3616842746 },272{ "global_menu_add_icon_radio_check_item", 1700867534, 3867083847 },273{ "global_menu_add_icon_radio_check_item", 4245856523, 3867083847 },274{ "global_menu_add_multistate_item", 635750054, 3297554655 },275{ "global_menu_add_multistate_item", 3431222859, 3297554655 },276{ "global_menu_add_separator", 1041533178, 3214812433 },277{ "tts_speak", 3741216677, 903992738 },278{ "is_touchscreen_available", 4162880507, 36873697 },279{ "is_touchscreen_available", 3323674545, 36873697 },280{ "screen_set_orientation", 2629526904, 2211511631 },281{ "window_get_native_handle", 2709193271, 1096425680 },282{ "window_set_title", 3043792800, 441246282 },283{ "window_set_mouse_passthrough", 3958815166, 1993637420 },284{ "window_set_current_screen", 3023605688, 2230941749 },285{ "window_set_position", 3614040015, 2019273902 },286{ "window_set_size", 3614040015, 2019273902 },287{ "window_set_rect_changed_callback", 3653650673, 1091192925 },288{ "window_set_window_event_callback", 3653650673, 1091192925 },289{ "window_set_input_event_callback", 3653650673, 1091192925 },290{ "window_set_input_text_callback", 3653650673, 1091192925 },291{ "window_set_drop_files_callback", 3653650673, 1091192925 },292{ "window_set_max_size", 3614040015, 2019273902 },293{ "window_set_min_size", 3614040015, 2019273902 },294{ "window_set_mode", 2942569511, 1319965401 },295{ "window_set_flag", 3971592565, 254894155 },296{ "window_get_flag", 2662949986, 802816991 },297{ "window_set_window_buttons_offset", 3614040015, 2019273902 },298{ "window_set_ime_active", 450484987, 1661950165 },299{ "window_set_ime_position", 3614040015, 2019273902 },300{ "window_set_vsync_mode", 1708924624, 2179333492 },301#ifdef REAL_T_IS_DOUBLE302{ "cursor_set_custom_image", 1358907026, 4163678968 },303{ "virtual_keyboard_show", 384539973, 1323934605 },304#else305{ "cursor_set_custom_image", 1358907026, 1816663697 },306{ "virtual_keyboard_show", 860410478, 3042891259 },307#endif308});309mappings.insert("EditorExportPlatform", {310{ "export_project_files", 425454869, 1063735070 },311});312mappings.insert("EditorProperty", {313{ "emit_changed", 3069422438, 1822500399 },314});315mappings.insert("ENetConnection", {316{ "create_host_bound", 866250949, 1515002313 },317{ "connect_to_host", 385984708, 2171300490 },318{ "dtls_client_setup", 3097527179, 1966198364 },319});320mappings.insert("ENetMultiplayerPeer", {321{ "create_server", 1616151701, 2917761309 },322{ "create_client", 920217784, 2327163476 },323});324mappings.insert("EditorCommandPalette", {325{ "add_command", 3664614892, 864043298 },326});327mappings.insert("EditorDebuggerSession", {328{ "send_message", 3780025912, 85656714 },329{ "toggle_profiler", 35674246, 1198443697 },330});331mappings.insert("EditorFileDialog", {332{ "add_filter", 233059325, 3388804757 },333{ "get_access", 778734016, 3344081076 },334{ "set_access", 3882893764, 4104413466 },335{ "get_display_mode", 3517174669, 1092104624 },336{ "set_display_mode", 3049004050, 2692197101 },337{ "get_file_mode", 2681044145, 4074825319 },338{ "set_file_mode", 274150415, 3654936397 },339});340mappings.insert("EditorImportPlugin", {341{ "append_import_external_resource", 3645925746, 320493106 },342});343mappings.insert("EditorInterface", {344{ "popup_dialog", 2478844058, 2015770942 },345{ "popup_dialog_centered", 1723337679, 346557367 },346{ "popup_dialog_centered_ratio", 1310934579, 2093669136 },347{ "popup_dialog_centered_clamped", 3433759678, 3763385571 },348{ "inspect_object", 2564140749, 127962172 },349{ "edit_script", 3664508569, 219829402 },350{ "save_scene_as", 1168363258, 3647332257 },351});352mappings.insert("EditorNode3DGizmo", {353{ "add_lines", 302451090, 2910971437 },354#ifdef REAL_T_IS_DOUBLE355{ "add_mesh", 3332776472, 2161761131 },356#else357{ "add_mesh", 1868867708, 1579955111 },358#endif359{ "add_unscaled_billboard", 3719733075, 520007164 },360});361mappings.insert("EditorNode3DGizmoPlugin", {362{ "create_icon_material", 2976007329, 3804976916 },363{ "get_material", 3501703615, 974464017 },364});365mappings.insert("EditorScenePostImportPlugin", {366{ "add_import_option_advanced", 3774155785, 3674075649 },367});368mappings.insert("EditorUndoRedoManager", {369{ "create_action", 3577985681, 2107025470 },370});371mappings.insert("EngineDebugger", {372{ "profiler_enable", 438160728, 3192561009 },373});374mappings.insert("Expression", {375{ "parse", 3658149758, 3069722906 },376});377mappings.insert("FileAccess", {378{ "open_compressed", 2874458257, 3686439335 },379{ "store_csv_line", 2217842308, 2173791505 },380});381mappings.insert("FileDialog", {382{ "add_filter", 233059325, 3388804757 },383});384mappings.insert("Font", {385{ "get_string_size", 3678918099, 1868866121 },386{ "get_multiline_string_size", 2427690650, 519636710 },387{ "draw_string", 2565402639, 1983721962 },388{ "draw_multiline_string", 348869189, 1171506176 },389{ "draw_string_outline", 657875837, 623754045 },390{ "draw_multiline_string_outline", 1649790182, 3206388178 },391{ "draw_char", 1462476057, 3815617597 },392{ "draw_char_outline", 4161008124, 209525354 },393#ifdef REAL_T_IS_DOUBLE394{ "find_variation", 625117670, 2196349508 },395#else396{ "find_variation", 1222433716, 3344325384 },397// Pre-existing compatibility hash.398{ "find_variation", 1149405976, 1851767612 },399#endif400});401mappings.insert("GLTFDocument", {402{ "append_from_file", 1862991421, 866380864 },403{ "append_from_buffer", 2818062664, 1616081266 },404{ "append_from_scene", 374125375, 1622574258 },405{ "generate_scene", 2770277081, 596118388 },406});407mappings.insert("Geometry2D", {408{ "offset_polygon", 3837618924, 1275354010 },409{ "offset_polyline", 328033063, 2328231778 },410});411mappings.insert("Geometry3D", {412{ "build_cylinder_planes", 3142160516, 449920067 },413{ "build_capsule_planes", 410870045, 2113592876 },414});415mappings.insert("GraphNode", {416{ "set_slot", 902131739, 2873310869 },417});418mappings.insert("GridMap", {419{ "set_cell_item", 4177201334, 3449088946 },420});421mappings.insert("HTTPClient", {422{ "connect_to_host", 1970282951, 504540374 },423{ "request", 3249905507, 3778990155 },424});425mappings.insert("HTTPRequest", {426{ "request", 2720304520, 3215244323 },427{ "request_raw", 4282724657, 2714829993 },428});429mappings.insert("IP", {430{ "resolve_hostname", 396864159, 4283295457 },431{ "resolve_hostname_addresses", 3462780090, 773767525 },432{ "resolve_hostname_queue_item", 3936392508, 1749894742 },433});434mappings.insert("Image", {435{ "resize", 2461393748, 994498151 },436{ "save_jpg", 578836491, 2800019068 },437{ "save_webp", 3594949219, 2781156876 },438{ "compress", 4094210332, 2975424957 },439{ "compress_from_channels", 279105990, 4212890953 },440{ "load_svg_from_buffer", 1822513750, 311853421 },441{ "load_svg_from_string", 1461766635, 3254053600 },442});443mappings.insert("ImmediateMesh", {444{ "surface_begin", 3716480242, 2794442543 },445});446mappings.insert("ImporterMesh", {447{ "add_surface", 4122361985, 1740448849 },448});449mappings.insert("Input", {450{ "get_vector", 1517139831, 2479607902 },451{ "start_joy_vibration", 1890603622, 2576575033 },452{ "action_press", 573731101, 1713091165 },453#ifdef REAL_T_IS_DOUBLE454{ "set_custom_mouse_cursor", 3489634142, 1277868338 },455#else456{ "set_custom_mouse_cursor", 3489634142, 703945977 },457#endif458});459mappings.insert("InputEvent", {460{ "is_match", 3392494811, 1754951977 },461#ifdef REAL_T_IS_DOUBLE462{ "xformed_by", 2747409789, 3242949850 },463#else464{ "xformed_by", 2747409789, 1282766827 },465#endif466});467mappings.insert("InputMap", {468{ "add_action", 573731101, 4100757082 },469});470mappings.insert("ItemList", {471{ "add_item", 4086250691, 359861678 },472{ "add_icon_item", 3332687421, 4256579627 },473{ "get_item_rect", 1501513492, 159227807 },474{ "select", 4023243586, 972357352 },475});476mappings.insert("JSON", {477{ "stringify", 2656701787, 462733549 },478});479mappings.insert("JavaScriptBridge", {480{ "download_buffer", 4123979296, 3352272093 },481});482mappings.insert("Line2D", {483{ "add_point", 468506575, 2654014372 },484});485mappings.insert("MultiplayerAPI", {486{ "rpc", 1833408346, 2077486355 },487});488mappings.insert("NativeMenu", {489{ "add_item", 2553375659, 980552939 },490{ "add_check_item", 2553375659, 980552939 },491{ "add_icon_item", 2987595282, 1372188274 },492{ "add_icon_check_item", 2987595282, 1372188274 },493{ "add_radio_check_item", 2553375659, 980552939 },494{ "add_icon_radio_check_item", 2987595282, 1372188274 },495{ "add_multistate_item", 1558592568, 2674635658 },496});497mappings.insert("NavigationMeshGenerator", {498{ "parse_source_geometry_data", 3703028813, 3172802542 },499{ "parse_source_geometry_data", 685862123, 3172802542 },500{ "bake_from_source_geometry_data", 3669016597, 1286748856 },501{ "bake_from_source_geometry_data", 2469318639, 1286748856 },502});503mappings.insert("NavigationServer2D", {504{ "map_get_path", 56240621, 3146466012 },505{ "parse_source_geometry_data", 1176164995, 1766905497 },506{ "bake_from_source_geometry_data", 2909414286, 2179660022 },507{ "bake_from_source_geometry_data_async", 2909414286, 2179660022 },508});509mappings.insert("NavigationServer3D", {510{ "map_get_path", 2121045993, 1187418690 },511{ "parse_source_geometry_data", 3703028813, 3172802542 },512{ "parse_source_geometry_data", 685862123, 3172802542 },513{ "bake_from_source_geometry_data", 3669016597, 1286748856 },514{ "bake_from_source_geometry_data", 2469318639, 1286748856 },515{ "bake_from_source_geometry_data_async", 3669016597, 1286748856 },516{ "bake_from_source_geometry_data_async", 2469318639, 1286748856 },517});518mappings.insert("Node", {519{ "add_child", 3070154285, 3863233950 },520{ "reparent", 2570952461, 3685795103 },521{ "find_child", 4253159453, 2008217037 },522{ "find_children", 1585018254, 2560337219 },523{ "propagate_call", 1667910434, 1871007965 },524{ "set_multiplayer_authority", 4023243586, 972357352 },525});526mappings.insert("Node3D", {527#ifdef REAL_T_IS_DOUBLE528{ "look_at", 136915519, 819337406 },529{ "look_at_from_position", 4067663783, 1809580162 },530#else531{ "look_at", 3123400617, 2882425029 },532{ "look_at_from_position", 4067663783, 2086826090 },533#endif534});535mappings.insert("Noise", {536{ "get_image", 2569233413, 3180683109 },537{ "get_seamless_image", 2210827790, 2770743602 },538{ "get_image_3d", 2358868431, 3977814329 },539{ "get_seamless_image_3d", 3328694319, 451006340 },540});541mappings.insert("OS", {542{ "alert", 233059325, 1783970740 },543{ "get_system_font_path", 2262142305, 626580860 },544{ "get_system_font_path_for_text", 3824042574, 197317981 },545{ "execute", 2881709059, 1488299882 },546{ "shell_show_in_file_manager", 885841341, 3565188097 },547{ "set_restart_on_exit", 611198603, 3331453935 },548{ "get_system_dir", 1965199849, 3073895123 },549});550mappings.insert("Object", {551{ "add_user_signal", 3780025912, 85656714 },552{ "connect", 1469446357, 1518946055 },553{ "tr", 2475554935, 1195764410 },554{ "tr_n", 4021311862, 162698058 },555});556mappings.insert("OpenXRAPIExtension", {557{ "transform_from_pose", 3255299855, 2963875352 },558});559mappings.insert("OptionButton", {560{ "add_item", 3043792800, 2697778442 },561{ "add_icon_item", 3944051090, 3781678508 },562});563mappings.insert("PCKPacker", {564{ "pck_start", 3232891339, 508410629 },565});566mappings.insert("PacketPeerDTLS", {567{ "connect_to_peer", 1801538152, 2880188099 },568});569mappings.insert("PacketPeerUDP", {570{ "bind", 4290438434, 4051239242 },571});572mappings.insert("Performance", {573{ "add_custom_monitor", 2865980031, 4099036814 },574});575mappings.insert("PhysicalBone3D", {576#ifdef REAL_T_IS_DOUBLE577{ "apply_impulse", 1002852006, 2485728502 },578#else579{ "apply_impulse", 1002852006, 2754756483 },580#endif581});582mappings.insert("PhysicsBody2D", {583{ "move_and_collide", 1529961754, 3681923724 },584{ "test_move", 1369208982, 3324464701 },585});586mappings.insert("PhysicsBody3D", {587{ "move_and_collide", 2825704414, 3208792678 },588{ "test_move", 680299713, 2481691619 },589});590mappings.insert("PhysicsDirectBodyState2D", {591#ifdef REAL_T_IS_DOUBLE592{ "apply_impulse", 496058220, 1271588277 },593{ "apply_force", 496058220, 1271588277 },594{ "add_constant_force", 496058220, 1271588277 },595#else596{ "apply_impulse", 496058220, 4288681949 },597{ "apply_force", 496058220, 4288681949 },598{ "add_constant_force", 496058220, 4288681949 },599#endif600});601mappings.insert("PhysicsDirectBodyState3D", {602#ifdef REAL_T_IS_DOUBLE603{ "apply_impulse", 1002852006, 2485728502 },604{ "apply_force", 1002852006, 2485728502 },605{ "add_constant_force", 1002852006, 2485728502 },606#else607{ "apply_impulse", 1002852006, 2754756483 },608{ "apply_force", 1002852006, 2754756483 },609{ "add_constant_force", 1002852006, 2754756483 },610#endif611});612mappings.insert("PhysicsDirectSpaceState2D", {613{ "intersect_point", 3278207904, 2118456068 },614{ "intersect_shape", 3803848594, 2488867228 },615{ "collide_shape", 3803848594, 2488867228 },616});617mappings.insert("PhysicsDirectSpaceState3D", {618{ "intersect_point", 45993382, 975173756 },619{ "intersect_shape", 550215980, 3762137681 },620{ "collide_shape", 550215980, 3762137681 },621});622mappings.insert("PhysicsRayQueryParameters2D", {623{ "create", 1118143851, 3196569324 },624});625mappings.insert("PhysicsRayQueryParameters3D", {626{ "create", 680321959, 3110599579 },627});628mappings.insert("PhysicsServer2D", {629#ifdef REAL_T_IS_DOUBLE630{ "area_add_shape", 754862190, 3597527023 },631{ "body_add_shape", 754862190, 3597527023 },632{ "body_apply_impulse", 34330743, 1124035137 },633{ "body_apply_force", 34330743, 1124035137 },634{ "body_add_constant_force", 34330743, 1124035137 },635#else636{ "area_add_shape", 754862190, 339056240 },637{ "body_add_shape", 754862190, 339056240 },638{ "body_apply_impulse", 34330743, 205485391 },639{ "body_apply_force", 34330743, 205485391 },640{ "body_add_constant_force", 34330743, 205485391 },641#endif642{ "joint_make_pin", 2288600450, 1612646186 },643{ "joint_make_groove", 3573265764, 481430435 },644{ "joint_make_damped_spring", 206603952, 1994657646 },645});646mappings.insert("PhysicsServer3D", {647#ifdef REAL_T_IS_DOUBLE648{ "area_add_shape", 4040559639, 183938777 },649{ "body_add_shape", 4040559639, 183938777 },650{ "body_apply_impulse", 110375048, 2238283471 },651{ "body_apply_force", 110375048, 2238283471 },652{ "body_add_constant_force", 110375048, 2238283471 },653#else654{ "area_add_shape", 4040559639, 3711419014 },655{ "body_add_shape", 4040559639, 3711419014 },656{ "body_apply_impulse", 110375048, 390416203 },657{ "body_apply_force", 110375048, 390416203 },658{ "body_add_constant_force", 110375048, 390416203 },659#endif660});661mappings.insert("PopupMenu", {662{ "add_item", 3224536192, 3674230041 },663{ "add_icon_item", 1200674553, 1086190128 },664{ "add_check_item", 3224536192, 3674230041 },665{ "add_icon_check_item", 1200674553, 1086190128 },666{ "add_radio_check_item", 3224536192, 3674230041 },667{ "add_icon_radio_check_item", 1200674553, 1086190128 },668{ "add_multistate_item", 1585218420, 150780458 },669{ "add_shortcut", 2482211467, 3451850107 },670{ "add_icon_shortcut", 3060251822, 2997871092 },671{ "add_check_shortcut", 2168272394, 1642193386 },672{ "add_icon_check_shortcut", 68101841, 3856247530 },673{ "add_radio_check_shortcut", 2168272394, 1642193386 },674{ "add_icon_radio_check_shortcut", 68101841, 3856247530 },675{ "add_submenu_item", 3728518296, 2979222410 },676// Pre-existing compatibility hashes.677{ "add_icon_shortcut", 68101841, 3856247530 },678{ "add_shortcut", 2168272394, 1642193386 },679});680mappings.insert("PortableCompressedTexture2D", {681{ "create_from_image", 97251393, 3679243433 },682});683mappings.insert("ProjectSettings", {684{ "load_resource_pack", 3001721055, 708980503 },685});686mappings.insert("RDShaderFile", {687{ "bake_from_source_geometry_data_async", 2469318639, 1286748856 },688{ "set_bytecode", 1558064255, 1526857008 },689{ "get_spirv", 3340165340, 2689310080 },690});691mappings.insert("RegEx", {692{ "search", 4087180739, 3365977994 },693{ "search_all", 3354100289, 849021363 },694{ "sub", 758293621, 54019702 },695});696mappings.insert("RenderingDevice", {697{ "texture_create", 3011278298, 3709173589 },698{ "texture_create_shared_from_slice", 864132525, 1808971279 },699{ "texture_update", 2736912341, 2096463824 },700{ "texture_copy", 3741367532, 2339493201 },701{ "texture_clear", 3423681478, 3396867530 },702{ "texture_resolve_multisample", 2126834943, 594679454 },703{ "framebuffer_format_create", 2635475316, 697032759 },704{ "framebuffer_format_create_multipass", 1992489524, 2647479094 },705{ "framebuffer_format_get_texture_samples", 1036806638, 4223391010 },706{ "framebuffer_create", 1884747791, 3284231055 },707{ "framebuffer_create_multipass", 452534725, 1750306695 },708{ "framebuffer_create_empty", 382373098, 3058360618 },709{ "vertex_buffer_create", 3491282828, 3410049843 },710{ "vertex_array_create", 3137892244, 3799816279 },711{ "index_buffer_create", 975915977, 3935920523 },712{ "shader_compile_spirv_from_source", 3459523685, 1178973306 },713{ "shader_compile_binary_from_spirv", 1395027180, 134910450 },714{ "shader_create_from_spirv", 3297482566, 342949005 },715{ "shader_create_from_bytecode", 2078349841, 1687031350 },716{ "uniform_buffer_create", 1453158401, 34556762 },717{ "storage_buffer_create", 1173156076, 2316365934 },718{ "texture_buffer_create", 2344087557, 1470338698 },719{ "buffer_update", 652628289, 3793150683 },720{ "buffer_clear", 1645170096, 2797041220 },721{ "buffer_get_data", 125363422, 3101830688 },722{ "render_pipeline_create", 2911419500, 2385451958 },723{ "compute_pipeline_create", 403593840, 1448838280 },724{ "draw_list_draw", 3710874499, 4230067973 },725#ifdef REAL_T_IS_DOUBLE726{ "draw_list_begin", 4252992020, 848735039 },727{ "draw_list_begin_split", 832527510, 2228306807 },728{ "draw_list_enable_scissor", 338791288, 730833978 },729#else730{ "draw_list_begin", 4252992020, 2468082605 },731{ "draw_list_begin_split", 832527510, 2406300660 },732{ "draw_list_enable_scissor", 338791288, 244650101 },733#endif734});735mappings.insert("RenderingServer", {736{ "texture_rd_create", 3291180269, 1434128712 },737{ "shader_set_default_texture_parameter", 3864903085, 4094001817 },738{ "shader_get_default_texture_parameter", 2523186822, 1464608890 },739{ "mesh_create_from_surfaces", 4007581507, 4291747531 },740{ "mesh_add_surface_from_arrays", 1247008646, 2342446560 },741{ "environment_set_ambient_light", 491659071, 1214961493 },742{ "instances_cull_aabb", 2031554939, 2570105777 },743{ "instances_cull_ray", 3388524336, 2208759584 },744{ "instances_cull_convex", 3690700105, 2488539944 },745{ "canvas_item_add_line", 2843922985, 1819681853 },746{ "canvas_item_add_polyline", 3438017257, 3098767073 },747{ "canvas_item_add_multiline", 3176074788, 2088642721 },748{ "canvas_item_add_texture_rect", 3205360868, 324864032 },749{ "canvas_item_add_msdf_texture_rect_region", 349157222, 97408773 },750{ "canvas_item_add_texture_rect_region", 2782979504, 485157892 },751{ "canvas_item_add_nine_patch", 904428547, 389957886 },752{ "canvas_item_add_polygon", 2907936855, 3580000528 },753{ "canvas_item_add_triangle_array", 749685193, 660261329 },754{ "canvas_item_add_multimesh", 1541595251, 2131855138 },755{ "canvas_item_add_animation_slice", 4107531031, 2646834499 },756{ "canvas_item_set_canvas_group_mode", 41973386, 3973586316 },757{ "set_boot_image", 2244367877, 3759744527 },758#ifdef REAL_T_IS_DOUBLE759{ "viewport_attach_to_screen", 1410474027, 2248302004 },760{ "canvas_item_set_custom_rect", 2180266943, 1134449082 },761{ "canvas_item_add_mesh", 3877492181, 3024949314 },762#else763{ "viewport_attach_to_screen", 1278520651, 1062245816 },764{ "canvas_item_set_custom_rect", 2180266943, 1333997032 },765{ "canvas_item_add_mesh", 3548053052, 316450961 },766#endif767});768mappings.insert("ResourceLoader", {769{ "load_threaded_request", 1939848623, 3614384323 },770{ "load_threaded_get_status", 3931021148, 4137685479 },771{ "load", 2622212233, 3358495409 },772{ "exists", 2220807150, 4185558881 },773});774mappings.insert("ResourceSaver", {775{ "save", 2303056517, 2983274697 },776});777mappings.insert("RichTextLabel", {778{ "push_font", 814287596, 2347424842 },779{ "push_paragraph", 3218895358, 3089306873 },780{ "push_list", 4036303897, 3017143144 },781{ "push_table", 1125058220, 2623499273 },782{ "set_table_column_expand", 4258957458, 2185176273 },783#ifdef REAL_T_IS_DOUBLE784{ "add_image", 3346058748, 1507062345 },785{ "push_dropcap", 981432822, 763534173 },786#else787{ "add_image", 3346058748, 3580801207 },788{ "push_dropcap", 311501835, 4061635501 },789#endif790});791mappings.insert("RigidBody2D", {792#ifdef REAL_T_IS_DOUBLE793{ "apply_impulse", 496058220, 1271588277 },794{ "apply_force", 496058220, 1271588277 },795{ "add_constant_force", 496058220, 1271588277 },796#else797{ "apply_impulse", 496058220, 4288681949 },798{ "apply_force", 496058220, 4288681949 },799{ "add_constant_force", 496058220, 4288681949 },800#endif801});802mappings.insert("RigidBody3D", {803#ifdef REAL_T_IS_DOUBLE804{ "apply_impulse", 1002852006, 2485728502 },805{ "apply_force", 1002852006, 2485728502 },806{ "add_constant_force", 1002852006, 2485728502 },807#else808{ "apply_impulse", 1002852006, 2754756483 },809{ "apply_force", 1002852006, 2754756483 },810{ "add_constant_force", 1002852006, 2754756483 },811#endif812});813mappings.insert("SceneMultiplayer", {814{ "send_bytes", 2742700601, 1307428718 },815});816mappings.insert("SceneReplicationConfig", {817{ "add_property", 3818401521, 4094619021 },818});819mappings.insert("SceneTree", {820{ "create_timer", 1780978058, 2709170273 },821});822mappings.insert("ScriptCreateDialog", {823{ "config", 4210001628, 869314288 },824});825mappings.insert("Shader", {826{ "set_default_texture_parameter", 1628453603, 2750740428 },827{ "get_default_texture_parameter", 3823812009, 3090538643 },828});829mappings.insert("Skeleton3D", {830{ "set_bone_enabled", 4023243586, 972357352 },831});832mappings.insert("SpriteFrames", {833{ "add_frame", 407562921, 1351332740 },834{ "set_frame", 3155743884, 56804795 },835});836mappings.insert("StreamPeerTCP", {837{ "bind", 4025329869, 3167955072 },838});839mappings.insert("StreamPeerTLS", {840{ "connect_to_stream", 1325480781, 57169517 },841});842mappings.insert("SurfaceTool", {843{ "add_triangle_fan", 297960074, 2235017613 },844{ "generate_lod", 1894448909, 1938056459 },845});846mappings.insert("TCPServer", {847{ "listen", 4025329869, 3167955072 },848});849mappings.insert("TextEdit", {850{ "get_line_width", 3294126239, 688195400 },851{ "insert_text_at_caret", 3043792800, 2697778442 },852{ "get_line_column_at_pos", 850652858, 239517838 },853{ "is_mouse_over_selection", 1099474134, 1840282309 },854{ "set_caret_line", 1413195636, 1302582944 },855{ "set_caret_column", 1071284433, 3796796178 },856{ "set_selection_mode", 2920622473, 1443345937 },857{ "select", 4269665324, 2560984452 },858{ "get_scroll_pos_for_line", 3274652423, 3929084198 },859{ "set_line_as_first_visible", 3023605688, 2230941749 },860{ "set_line_as_center_visible", 3023605688, 2230941749 },861{ "set_line_as_last_visible", 3023605688, 2230941749 },862});863mappings.insert("TextLine", {864{ "add_string", 867188035, 621426851 },865{ "add_object", 735420116, 1316529304 },866{ "resize_object", 960819067, 2095776372 },867{ "draw", 1164457837, 856975658 },868{ "draw_outline", 1364491366, 1343401456 },869});870mappings.insert("TextParagraph", {871#ifdef REAL_T_IS_DOUBLE872{ "set_dropcap", 2613124475, 2897844600 },873#else874{ "set_dropcap", 2613124475, 2498990330 },875#endif876{ "add_string", 867188035, 621426851 },877{ "add_object", 735420116, 1316529304 },878{ "resize_object", 960819067, 2095776372 },879{ "draw", 367324453, 1567802413 },880{ "draw_outline", 2159523405, 1893131224 },881{ "draw_line", 3963848920, 1242169894 },882{ "draw_line_outline", 1814903311, 2664926980 },883{ "draw_dropcap", 1164457837, 856975658 },884{ "draw_dropcap_outline", 1364491366, 1343401456 },885});886mappings.insert("TextServer", {887{ "font_draw_glyph", 1821196351, 1339057948 },888{ "font_draw_glyph_outline", 1124898203, 2626165733 },889{ "shaped_text_set_direction", 2616949700, 1551430183 },890{ "shaped_text_set_orientation", 104095128, 3019609126 },891{ "shaped_text_add_string", 2621279422, 623473029 },892{ "shaped_text_add_object", 2838446185, 3664424789 },893{ "shaped_text_resize_object", 2353789835, 790361552 },894{ "shaped_set_span_update_font", 1578983057, 2022725822 },895{ "shaped_text_fit_to_width", 603718830, 530670926 },896{ "shaped_text_get_line_breaks_adv", 4206849830, 2376991424 },897{ "shaped_text_get_line_breaks", 303410369, 2651359741 },898{ "shaped_text_get_word_breaks", 3299477123, 185957063 },899{ "shaped_text_overrun_trim_to_width", 1572579718, 2723146520 },900{ "shaped_text_draw", 70679950, 880389142 },901{ "shaped_text_draw_outline", 2673671346, 2559184194 },902{ "format_number", 2305636099, 2664628024 },903{ "parse_number", 2305636099, 2664628024 },904{ "string_get_word_breaks", 1398910359, 581857818 },905{ "string_get_character_breaks", 1586579831, 2333794773 },906{ "string_to_upper", 2305636099, 2664628024 },907{ "string_to_lower", 2305636099, 2664628024 },908});909mappings.insert("Texture2D", {910{ "draw", 1115460088, 2729649137 },911{ "draw_rect", 575156982, 3499451691 },912{ "draw_rect_region", 1066564656, 2963678660 },913});914mappings.insert("Thread", {915{ "start", 2779832528, 1327203254 },916});917mappings.insert("TileMap", {918{ "set_cell", 1732664643, 966713560 },919{ "set_cells_terrain_connect", 3072115677, 3578627656 },920{ "set_cells_terrain_path", 3072115677, 3578627656 },921{ "get_used_cells_by_id", 4152068407, 2931012785 },922});923mappings.insert("TileMapLayer", {924{ "notify_runtime_tile_data_update", 2275361663, 3218959716 },925});926mappings.insert("TileMapPattern", {927{ "set_cell", 634000503, 2224802556 },928});929mappings.insert("TileSet", {930{ "add_source", 276991387, 1059186179 },931{ "add_terrain", 3023605688, 1230568737 },932{ "add_pattern", 3009264082, 763712015 },933});934mappings.insert("TileSetAtlasSource", {935{ "create_tile", 1583819816, 190528769 },936{ "move_tile_in_atlas", 1375626516, 3870111920 },937{ "has_room_for_tile", 4182444377, 3018597268 },938{ "create_alternative_tile", 3531100812, 2226298068 },939{ "get_tile_texture_region", 1321423751, 241857547 },940});941mappings.insert("TileSetScenesCollectionSource", {942{ "create_scene_tile", 2633389122, 1117465415 },943});944mappings.insert("Translation", {945{ "add_message", 971803314, 3898530326 },946{ "add_plural_message", 360316719, 2356982266 },947{ "get_message", 58037827, 1829228469 },948{ "get_plural_message", 1333931916, 229954002 },949{ "erase_message", 3919944288, 3959009644 },950});951mappings.insert("TranslationServer", {952{ "translate", 58037827, 1829228469 },953{ "translate_plural", 1333931916, 229954002 },954});955mappings.insert("Tree", {956{ "get_item_area_rect", 1235226180, 47968679 },957});958mappings.insert("TreeItem", {959{ "propagate_check", 4023243586, 972357352 },960{ "add_button", 1507727907, 1688223362 },961});962mappings.insert("UDPServer", {963{ "listen", 4025329869, 3167955072 },964});965mappings.insert("UPNP", {966{ "add_port_mapping", 3358934458, 818314583 },967{ "delete_port_mapping", 760296170, 3444187325 },968});969mappings.insert("UPNPDevice", {970{ "add_port_mapping", 3358934458, 818314583 },971{ "delete_port_mapping", 760296170, 3444187325 },972});973mappings.insert("UndoRedo", {974{ "create_action", 3900135403, 3171901514 },975});976mappings.insert("VideoStreamPlayback", {977{ "mix_audio", 1369271885, 93876830 },978});979mappings.insert("WebRTCMultiplayerPeer", {980{ "create_client", 1777354631, 2641732907 },981{ "create_mesh", 1777354631, 2641732907 },982{ "add_peer", 2555866323, 4078953270 },983});984mappings.insert("WebRTCPeerConnection", {985{ "create_data_channel", 3997447457, 1288557393 },986});987mappings.insert("WebSocketMultiplayerPeer", {988{ "create_client", 3097527179, 1966198364 },989{ "create_server", 337374795, 2400822951 },990});991mappings.insert("WebSocketPeer", {992{ "connect_to_url", 3097527179, 1966198364 },993{ "send", 3440492527, 2780360567 },994});995mappings.insert("Window", {996{ "get_theme_icon", 2336455395, 3163973443 },997{ "get_theme_stylebox", 2759935355, 604739069 },998{ "get_theme_font", 387378635, 2826986490 },999{ "get_theme_font_size", 229578101, 1327056374 },1000{ "get_theme_color", 2377051548, 2798751242 },1001{ "get_theme_constant", 229578101, 1327056374 },1002{ "has_theme_icon", 1187511791, 866386512 },1003{ "has_theme_stylebox", 1187511791, 866386512 },1004{ "has_theme_font", 1187511791, 866386512 },1005{ "has_theme_font_size", 1187511791, 866386512 },1006{ "has_theme_color", 1187511791, 866386512 },1007{ "has_theme_constant", 1187511791, 866386512 },1008{ "popup_exclusive", 1728044812, 2134721627 },1009{ "popup_exclusive_centered", 2561668109, 3357594017 },1010{ "popup_exclusive_centered_ratio", 4257659513, 2284776287 },1011{ "popup_exclusive_centered_clamped", 224798062, 2612708785 },1012});1013mappings.insert("WorkerThreadPool", {1014{ "add_task", 3976347598, 3745067146 },1015{ "add_group_task", 2377228549, 1801953219 },1016});1017mappings.insert("ZIPPacker", {1018{ "open", 3715508516, 1936816515 },1019});1020mappings.insert("ZIPReader", {1021{ "read_file", 156385007, 740857591 },1022{ "file_exists", 1676256, 35364943 },1023});1024// clang-format on1025}10261027void GDExtensionSpecialCompatHashes::finalize() {1028mappings.clear();1029}10301031#endif // DISABLE_DEPRECATED103210331034