diff --git a/plugins/minigames/port_7_to_8.py b/plugins/minigames/port_7_to_8.py deleted file mode 100644 index 1a8c94e..0000000 --- a/plugins/minigames/port_7_to_8.py +++ /dev/null @@ -1,441 +0,0 @@ -# Usage: port_7_to_8.py - -# You'll have to manually update the following: -# with ba.Context(_ba.foreground_host_activity()): -# To: -# with _ba.foreground_host_activity().context: -# -# ba.time(timeformat=ba.TimeFormat.MILLISECONDS) -# To: -# ba.time() * 1000 -# -# ba.Timer((POWERUP_WEAR_OFF_TIME - 2000),ba.WeakCall(self._multi_bomb_wear_off_flash),timeformat=ba.TimeFormat.MILLISECONDS) -# To: -# ba.Timer((POWERUP_WEAR_OFF_TIME - 2000 / 1000),ba.WeakCall(self._multi_bomb_wear_off_flash)) - -import re -import sys -import codecs - -def detect_encoding(filename): - encodings = ['utf-8', 'latin-1', 'ascii', 'cp1252'] - for encoding in encodings: - try: - with open(filename, 'rb') as f: - f.read().decode(encoding) - return encoding - except UnicodeDecodeError: - pass - return None - -filename = sys.argv[2] -encoding = detect_encoding(filename) -if encoding: - with open(filename, 'r', encoding=encoding) as f: - print("Porting "+ sys.argv[2]) - content = f.read() -else: - print('Could not detect encoding') - -content = content.replace("# ba_meta require api 7", "# ba_meta require api 8") -content = content.replace("# ba_meta export game", "# ba_meta export bascenev1.GameActivity") - - -content = content.replace("user_agent_string", "legacy_user_agent_string") -content = re.sub(r'^(import\s+[\w]+(\s*,\s*[\w]+)+)', lambda match: re.sub(r'\s*,\s*', '\nimport ', match.group()), content, flags=re.MULTILINE) -content = content.replace("_ba.", "_babase.") -content = content.replace("_ba.", "_babase.") -content = content.replace("ba.", "babase.") -content = content.replace("import _ba", "import _babase") -content = content.replace("from ba import", "from babase import") -content = content.replace("from _ba import", "from _babase import") -content = re.sub(r'\bimport _ba\b', "import _babase", content) -content = re.sub(r'\bimport ba(\b|\.(\w+))', "import babase\nimport bauiv1\nimport bascenev1", content) -match = re.search(r'^(import\s+[\w]+(\s*,\s*[\w]+)*)', content, flags=re.MULTILINE) -affected_methods = ["build_number", "device_name", "config_file_path", "version", "debug_build", "test_build", "data_directory", "python_directory_user", "python_directory_app", "python_directory_app_site", "api_version", "on_tv", "vr_mode","toolbar_test", "arcade_test", "headless_mode", "demo_mode", "protocol_version", "get_connection_to_host_info"] -for word in affected_methods: - if f".{word}" in content: - first_import_index = match.start() - content = content[:first_import_index] + 'from baenv import TARGET_BALLISTICA_BUILD as build_number\n' + content[first_import_index:] -content = content.replace("babase.app.ui", "bauiv1.app.ui_v1") -content = content.replace("babase.app.accounts_v1", "bauiv1.app.classic.accounts") - -################################################################################### -# Comment out one of these as per your requirements, depending whether to -# stay local or if it'll also be needed to transmitted to the clients. - -## For local: -if sys.argv[1] == "client": - content = content.replace("_babase.screenmessage", "bauiv1.screenmessage") - content = content.replace("babase.screenmessage", "bauiv1.screenmessage") - content = content.replace("babase.getsound", "bauiv1.getsound") - content = content.replace("_babase.gettexture", "bauiv1.gettexture") - content = content.replace("babase.gettexture", "bauiv1.gettexture") - content = content.replace("babase.getmesh", "bauiv1.getmesh") - content = content.replace("babase.getcollisionmesh", "bauiv1.getcollisionmesh") -else: -## For transmission: - content = content.replace("_babase.screenmessage", "bascenev1.broadcastmessage") - content = content.replace("babase.screenmessage", "bascenev1.broadcastmessage") - content = content.replace("babase.getsound", "bascenev1.getsound") - content = content.replace("_babase.gettexture", "bascenev1.gettexture") - content = content.replace("babase.gettexture", "bascenev1.gettexture") - content = content.replace("babase.getmesh", "bascenev1.getmesh") - content = content.replace("babase.getcollisionmesh", "bascenev1.getcollisionmesh") -################################################################################### -content = content.replace("babase.getcollidemesh", "bascenev1.getcollisionmesh") -content = content.replace("collide_mesh", "collision_mesh") -content = content.replace("babase.open_url", "bauiv1.open_url") -content = content.replace("babase.IntSetting", "bascenev1.IntSetting") -content = content.replace("babase.IntChoiceSetting", "bascenev1.IntChoiceSetting") -content = content.replace("babase.FloatChoiceSetting", "bascenev1.FloatChoiceSetting") -content = content.replace("babase.BoolSetting", "bascenev1.BoolSetting") -content = content.replace("babase.Actor", "bascenev1.Actor") -content = content.replace("babase.Player", "bascenev1.Player") -content = content.replace("babase.PlayerDiedMessage", "bascenev1.PlayerDiedMessage") -content = content.replace("babase.time", "bascenev1.time") -content = content.replace("babase.Timer", "bascenev1.Timer") -content = content.replace("babase.newnode", "bascenev1.newnode") -content = content.replace("babase.Node", "bascenev1.Node") -content = content.replace("babase.emitfx", "bascenev1.emitfx") -content = content.replace("babase.animate", "bascenev1.animate") -content = content.replace("babase.FreeForAllSession", "bascenev1.FreeForAllSession") -content = content.replace("babase.DualTeamSession", "bascenev1.DualTeamSession") -content = content.replace("babase.MultiTeamSession", "bascenev1.MultiTeamSession") -content = content.replace("babase.EndSession", "bascenev1.EndSession") -content = content.replace("babase.CoopSession", "bascenev1.CoopSession") -content = content.replace("babase.TeamGameActivity", "bascenev1.TeamGameActivity") -content = content.replace("babase.Team", "bascenev1.Team") -content = content.replace("babase.Session", "bascenev1.Session") -content = content.replace("babase.getsession", "bascenev1.getsession") -content = content.replace("babase.Material", "bascenev1.Material") -content = content.replace("babase.WeakCall", "bascenev1.WeakCall") -content = content.replace("babase.DieMessage", "bascenev1.DieMessage") -content = content.replace("babase.OutOfBoundsMessage", "bascenev1.OutOfBoundsMessage") -content = content.replace("babase.DroppedMessage", "bascenev1.DroppedMessage") -content = content.replace("babase.HitMessage", "bascenev1.HitMessage") -content = content.replace("babase.ThawMessage", "bascenev1.ThawMessage") -content = content.replace("babase.NotFoundError", "bascenev1.NotFoundError") -content = content.replace("babase.getcollision", "bascenev1.getcollision") -content = content.replace("babase.app.lang", "bascenev1.app.lang") -content = content.replace("babase.MusicType", "bascenev1.MusicType") -content = content.replace("babase.getactivity", "bascenev1.getactivity") -content = content.replace("babase.getactivity", "bascenev1.getactivity") -content = content.replace("babase.CelebrateMessage", "bascenev1.CelebrateMessage") -content = content.replace("babase.ScoreConfig", "bascenev1.ScoreConfig") -content = content.replace("babase.ScoreType", "bascenev1.ScoreType") -content = content.replace("babase.GameResults", "bascenev1.GameResults") -content = content.replace("babase.getmaps", "bascenev1.app.classic.getmaps") -content = content.replace("babase.cameraflash", "bascenev1.cameraflash") -content = content.replace("babase.getmodel", "bascenev1.getmesh") -content = content.replace("babase.Map", "bascenev1.Map") -content = content.replace("babase.DeathType", "bascenev1.DeathType") -content = content.replace("babase.GameActivity", "bascenev1.GameActivity") -content = content.replace("_babase.app.stress_test_reset_timer", "_babase.app.classic.stress_test_reset_timer") -content = content.replace("babase.app.stress_test_reset_timer", "_babase.app.classic.stress_test_reset_timer") -content = content.replace("babase._map", "bascenev1._map") -content = content.replace("babase._session.", "bascenev1._session.") -content = content.replace("babase._activity", "bascenev1._activity") -content = content.replace("_babase.get_client_public_device_uuid", "_bascenev1.get_client_public_device_uuid") -content = content.replace("babase.PickedUpMessage", "bascenev1.PickedUpMessage") -content = content.replace("babase.PowerupMessage", "bascenev1.PowerupMessage") -content = content.replace("babase.FreezeMessage", "bascenev1.FreezeMessage") -content = content.replace("with babase.ContextRef(activity):", "with activity.context:") -content = content.replace("babase.Context", "babase.ContextRef") -content = content.replace("babase._dualteamsession", "bascenev1._dualteamsession") -content = content.replace("babase._freeforallsession", "bascenev1._freeforallsession") -content = content.replace("babase._multiteamsession", "bascenev1._multiteamsession") -content = content.replace("babase._gameactivity", "bascenev1._gameactivity") -content = content.replace("babase._powerup", "bascenev1._powerup") -content = content.replace("babase.Chooser", "bascenev1.Chooser") -content = content.replace("babase._lobby", "bascenev1._lobby") -content = content.replace("babase._stats", "bascenev1._stats") -content = content.replace("babase._team", "bascenev1._team") -content = content.replace("PlayerType", "PlayerT") -content = content.replace("babase.app.spaz_appearances", "babase.app.classic.spaz_appearances") -content = content.replace("babase._coopsession", "bascenev1._coopsession") -content = content.replace("babase._servermode", "baclassic._servermode") -content = content.replace("_babase.app.server", "babase.app.classic.server") -content = content.replace("_babase.chatmessage", "bascenev1.chatmessage") -content = content.replace("_babase.disconnect_client", "_bascenev1.disconnect_client") -content = content.replace("_babase.get_game_roster", "bascenev1.get_game_roster") -content = content.replace("_babase.get_public_party_max_size", "bascenev1.get_public_party_max_size") -content = content.replace("_babase.new_host_session", "bascenev1.new_host_session") -content = content.replace("babase._playlist", "bascenev1._playlist") -content = content.replace("model", "mesh") -content = content.replace("TimeType.REAL", "use `bascenev1.apptimer` in `activity.context` instead") -content = content.replace("_babase.app.coop_session_args", "babase.app.classic.coop_session_args") -content = content.replace("_babase.app.campaigns", "babase.app.classic.campaigns") - -content = content.replace("_babase.newactivity", "bascenev1.newactivity") -content = content.replace("babase.Window", "bauiv1.Window") -content = content.replace("babase.Widget", "bauiv1.Widget") -content = content.replace("babase.widget", "bauiv1.widget") -content = content.replace("babase.containerwidget", "bauiv1.containerwidget") -content = content.replace("babase.scrollwidget", "bauiv1.scrollwidget") -content = content.replace("babase.buttonwidget", "bauiv1.buttonwidget") -content = content.replace("babase.textwidget", "bauiv1.textwidget") -content = content.replace("babase.checkboxwidget", "bauiv1.checkboxwidget") -content = content.replace("babase.imagewidget", "bauiv1.imagewidget") -content = content.replace("babase.uicleanupcheck", "bauiv1.uicleanupcheck") -content = content.replace("_babase.set_public_party_max_size", "bascenev1.set_public_party_max_size") -content = content.replace("_bauiv1", "bauiv1") -content = content.replace("babase.show_damage_count", "bascenev1.show_damage_count") -content = content.replace("babase._gameutils", "bascenev1._gameutils") -content = content.replace("babase.StandMessage", "bascenev1.StandMessage") -content = content.replace("babase.PowerupAcceptMessage", "bascenev1.PowerupAcceptMessage") -content = content.replace("babase._gameutils", "bascenev1._gameutils") -content = content.replace("babase.camerashake", "bascenev1.camerashake") -content = content.replace("babase.app.add_coop_practice_level", "babase.app.classic.add_coop_practice_level") -content = content.replace("babase._campaign", "bascenev1._campaign") -content = content.replace("babase.Level", "bascenev1._level.Level") -content = content.replace("babase.app.cloud.send_message_cb", "bauiv1.app.plus.cloud.send_message_cb") -content = content.replace("_babase.get_special_widget", "bauiv1.get_special_widget") - -content = content.replace(".app.platform", ".app.classic.platform") -content = content.replace(".app.subplatform", ".app.classic.subplatform") -content = content.replace(".getlog", ".get_v1_cloud_log") -# Converting `ba.playsound(abc)` to `abc.play()` is tricky. -# Do it manually in case regex substitution fails.# Do it manually in case regex substitution fails. Are you sure!! -#! FIXME May cause syntax warning on 3.12 -content = re.sub( - r'babase\.playsound\(\s*([^,\n]+),\s*([^,\n]+)\)', - r'\1.play(\2)', - content, - flags=re.MULTILINE -) -content = re.sub( - r'babase\.playsound\(\s*([^,\n]+),\s*([^,\n]+),\s*position=([^,\n]+)\)', - r'\1.play(\2, position=\3)', - content, - flags=re.MULTILINE -) -content = re.sub("babase\.playsound\((.+?), (.+?), (.+?)\)", "\\1.play(\\2, \\3)", content) -content = re.sub( - r'babase\.playsound\(([^,\n]+),\s*position=([^,\n]+)\)', - r'\1.play(position=\2)', - content -) -content = re.sub("babase\.playsound\((.*)\)", "\\1.play()", content) - -content = content.replace("babase.internal.add_transaction", "bauiv1.app.plus.add_v1_account_transaction") -content = content.replace("babase.internal.run_transaction", "bauiv1.app.plus.run_v1_account_transaction") -content = content.replace("_babase.add_transaction", "bauiv1.app.plus.add_v1_account_transaction") -content = content.replace("_babase.run_transactions", "bauiv1.app.plus.run_v1_account_transactions") -content = content.replace("babase._store.get_store_layout", "bauiv1.app.classic.store.get_store_layout") -content = content.replace("babase.internal.get_store_layout", "bauiv1.app.classic.store.get_store_layout") -content = content.replace("babase.internal.connect_to_party", "bascenev1.connect_to_party") -content = content.replace("babase.internal.get_default_powerup_distribution", "bascenev1._powerup.get_default_powerup_distribution") -content = content.replace("babase.internal.DEFAULT_REQUEST_TIMEOUT_SECONDS", "babase.DEFAULT_REQUEST_TIMEOUT_SECONDS") -content = content.replace("babase.internal.DEFAULT_TEAM_COLORS", "bascenev1.DEFAULT_TEAM_COLORS") -content = content.replace("babase.internal.DEFAULT_TEAM_NAMES", "bascenev1.DEFAULT_TEAM_NAMES") -content = content.replace("babase.internal.JoinActivity", "bascenev1.JoinActivity") -content = content.replace("babase.internal.LoginAdapter", "babase._login.LoginAdapter") -content = content.replace("babase.internal.PlayerProfilesChangedMessage", "bascenev1._messages.PlayerProfilesChangedMessage") -content = content.replace("babase.internal.ScoreScreenActivity", "bascenev1.ScoreScreenActivity") -content = content.replace("babase.internal.add_clean_frame_callback", "babase.add_clean_frame_callback") -content = content.replace("babase.internal.android_get_external_files_dir", "babase.android_get_external_files_dir") -content = content.replace("babase.internal.appname", "babase.appname") -content = content.replace("babase.internal.appnameupper", "babase.appnameupper") -content = content.replace("babase.internal.capture_gamepad_input", "bascenev1.capture_gamepad_input") -content = content.replace("babase.internal.capture_keyboard_input", "bascenev1.capture_keyboard_input") -content = content.replace("babase.internal.charstr", "babase.charstr") -content = content.replace("babase.internal.chatmessage", "bascenev1.chatmessage") -content = content.replace("babase.internal.commit_app_config", "bauiv1.commit_app_config") -content = content.replace("babase.internal.disconnect_client", "bascenev1.disconnect_client") -content = content.replace("babase.internal.disconnect_from_host", "bascenev1.disconnect_from_host") -content = content.replace("babase.internal.do_play_music", "babase.app.classic.music.do_play_music") -content = content.replace("babase.internal.end_host_scanning", "bascenev1.end_host_scanning") -content = content.replace("babase.internal.fade_screen", "bauiv1.fade_screen") -content = content.replace("babase.internal.filter_playlist", "bascenev1.filter_playlist") -content = content.replace("babase.internal.game_service_has_leaderboard", "_baplus.game_service_has_leaderboard") -content = content.replace("babase.internal.get_available_purchase_count", "bauiv1.app.classic.store.get_available_purchase_count") -content = content.replace("babase.internal.get_available_sale_time", "bauiv1.app.classic.store.get_available_sale_time") -content = content.replace("babase.internal.get_chat_messages", "bascenev1.get_chat_messages") -content = content.replace("babase.internal.get_clean_price", "bauiv1.app.classic.store.get_clean_price") -content = content.replace("babase.internal.get_connection_to_host_info", "bascenev1.get_connection_to_host_info_2") -content = content.replace("babase.internal.get_default_free_for_all_playlist", "bascenev1._playlist.get_default_free_for_all_playlist") -content = content.replace("babase.internal.get_default_teams_playlist", "bascenev1._playlist.get_default_teams_playlist") -content = content.replace("babase.internal.get_display_resolution", "babase.get_display_resolution") -content = content.replace("babase.internal.get_filtered_map_name", "bascenev1._map.get_filtered_map_name") -content = content.replace("babase.internal.get_foreground_host_session", "bascenev1.get_foreground_host_session") -content = content.replace("babase.internal.get_game_port", "bascenev1.get_game_port") -content = content.replace("babase.internal.get_game_roster", "bascenev1.get_game_roster") -content = content.replace("babase.internal.get_input_device_config", "bauiv1.app.classic.get_input_device_config") -content = content.replace("babase.internal.get_ip_address_type", "babase.get_ip_address_type") -content = content.replace("babase.internal.get_local_active_input_devices_count", "bascenev1.get_local_active_input_devices_count") -content = content.replace("babase.internal.get_low_level_config_value", "bauiv1.get_low_level_config_value") -content = content.replace("babase.internal.get_map_class", "bascenev1.get_map_class") -content = content.replace("babase.internal.get_map_display_string", "bascenev1.get_map_display_string") -content = content.replace("babase.internal.get_master_server_address", "bauiv1.app.plus.get_master_server_address") -content = content.replace("babase.internal.get_max_graphics_quality", "babase.get_max_graphics_quality") -content = content.replace("babase.internal.get_news_show", "_babase.app.plus.get_news_show") -content = content.replace("babase.internal.get_next_tip", "bascenev1.app.classic.get_next_tip") -content = content.replace("babase.internal.get_player_colors", "bascenev1.get_player_colors") -content = content.replace("babase.internal.get_player_profile_colors", "bascenev1.get_player_profile_colors") -content = content.replace("babase.internal.get_player_profile_icon", "bascenev1.get_player_profile_icon") -content = content.replace("babase.internal.get_price", "bauiv1.app.plus.get_price") -content = content.replace("babase.internal.get_public_party_enabled", "bascenev1.get_public_party_enabled") -content = content.replace("babase.internal.get_public_party_max_size", "bascenev1.get_public_party_max_size") -content = content.replace("babase.internal.get_purchased", "bauiv1.app.plus.get_purchased") -content = content.replace("babase.internal.get_purchases_state", "_baplus.get_purchases_state") -content = content.replace("babase.internal.get_qrcode_texture", "bauiv1.get_qrcode_texture") -content = content.replace("babase.internal.get_random_names", "bascenev1.get_random_names") -content = content.replace("babase.internal.get_remote_app_name", "bascenev1.get_remote_app_name") -content = content.replace("babase.internal.get_replay_speed_exponent", "bascenev1.get_replay_speed_exponent") -content = content.replace("babase.internal.get_replays_dir", "babase.get_replays_dir") -content = content.replace("babase.internal.get_special_widget", "bauiv1.get_special_widget") -content = content.replace("babase.internal.get_store_item", "babase.app.classic.store.get_store_item") -content = content.replace("babase.internal.get_store_item_display_size", "babase.app.classic.store.get_store_item_display_size") -content = content.replace("babase.internal.get_store_item_name_translated", "babase.app.classic.store.get_store_item_name_translated") -content = content.replace("babase.internal.get_string_height", "babase.get_string_height") -content = content.replace("babase.internal.get_string_width", "babase.get_string_width") -content = content.replace("babase.internal.get_tournament_prize_strings", "bascenev1.app.classic.get_tournament_prize_strings") -content = content.replace("babase.internal.get_trophy_string", "bascenev1.get_trophy_string") -content = content.replace("babase.internal.get_type_name", "babase.get_type_name") -content = content.replace("babase.internal.get_ui_input_device", "bascenev1.get_ui_input_device") -content = content.replace("babase.internal.get_unowned_game_types", "babase.app.classic.store.get_unowned_game_types") -content = content.replace("babase.internal.get_unowned_maps", "babase.app.classic.store.get_unowned_maps") -content = content.replace("babase.internal.get_v1_account_display_string", "bauiv1.app.plus.get_v1_account_display_string") -content = content.replace("babase.internal.get_v1_account_misc_read_val", "bauiv1.app.plus.get_v1_account_misc_read_val") -content = content.replace("babase.internal.get_v1_account_misc_read_val_2", "bauiv1.app.plus.get_v1_account_misc_read_val_2") -content = content.replace("babase.internal.get_v1_account_misc_val", "bauiv1.app.plus.get_v1_account_misc_val") -content = content.replace("babase.internal.get_v1_account_name", "bauiv1.app.plus.get_v1_account_name") -content = content.replace("babase.internal.get_v1_account_state", "bauiv1.app.plus.get_v1_account_state") -content = content.replace("babase.internal.get_v1_account_state_num", "bauiv1.app.plus.get_v1_account_state_num") -content = content.replace("babase.internal.get_v1_account_ticket_count", "bauiv1.app.plus.get_v1_account_ticket_count") -content = content.replace("babase.internal.get_v1_account_type", "bauiv1.app.plus.get_v1_account_type") -content = content.replace("babase.internal.get_v2_fleet", "_baplus.get_v2_fleet") -content = content.replace("babase.internal.getcampaign", "bauiv1.app.classic.getcampaign") -content = content.replace("babase.internal.getclass", "babase.getclass") -content = content.replace("babase.internal.getinputdevice", "bascenev1.getinputdevice") -content = content.replace("babase.internal.has_gamma_control", "babase.has_gamma_control") -content = content.replace("babase.internal.has_video_ads", "bauiv1.has_video_ads") -content = content.replace("babase.internal.have_incentivized_ad", "bauiv1.have_incentivized_ad") -content = content.replace("babase.internal.have_permission", "babase.have_permission") -content = content.replace("babase.internal.have_touchscreen_input", "bascenev1.have_touchscreen_input") -content = content.replace("babase.internal.host_scan_cycle", "bascenev1.host_scan_cycle") -content = content.replace("babase.internal.in_game_purchase", "bui.app.plus.in_game_purchase") -content = content.replace("babase.internal.increment_analytics_count", "babase.increment_analytics_count") -content = content.replace("babase.internal.is_blessed", "bui.app.plus.is_blessed") -content = content.replace("babase.internal.is_browser_likely_available", "bauiv1.is_browser_likely_available") -content = content.replace("babase.internal.is_in_replay", "bascenev1.is_in_replay") -content = content.replace("babase.internal.is_party_icon_visible", "bauiv1.is_party_icon_visible") -content = content.replace("babase.internal.is_running_on_fire_tv", "babase.is_running_on_fire_tv") -content = content.replace("babase.internal.is_xcode_build", "babase.is_xcode_build") -content = content.replace("babase.internal.json_prep", "babase.json_prep") -content = content.replace("babase.internal.lock_all_input", "babase.lock_all_input") -content = content.replace("babase.internal.mark_config_dirty", "_babase.app.plus.mark_config_dirty") -content = content.replace("babase.internal.new_host_session", "bascenev1.new_host_session") -content = content.replace("babase.internal.new_replay_session", "bascenev1.new_replay_session") -content = content.replace("babase.internal.open_file_externally", "bauiv1.open_file_externally") -content = content.replace("babase.internal.power_ranking_query", "_baplus.power_ranking_query") -content = content.replace("babase.internal.preload_map_preview_media", "bauiv1.app.classic.preload_map_preview_media") -content = content.replace("babase.internal.purchase", "_baplus.purchase") -content = content.replace("babase.internal.register_map", "bascenev1.register_map") -content = content.replace("babase.internal.release_gamepad_input", "bascenev1.release_gamepad_input") -content = content.replace("babase.internal.release_keyboard_input", "bascenev1.release_keyboard_input") -content = content.replace("babase.internal.report_achievement", "babase.app.plus.report_achievement") -content = content.replace("babase.internal.request_permission", "babase.request_permission") -content = content.replace("babase.internal.reset_achievements", "_baplus.reset_achievements") -content = content.replace("babase.internal.reset_random_player_names", "bascenev1.reset_random_player_names") -content = content.replace("babase.internal.restore_purchases", "_baplus.restore_purchases") -content = content.replace("babase.internal.run_cpu_benchmark", "baclassic._benchmark.run_cpu_benchmark") -content = content.replace("babase.internal.run_gpu_benchmark", "baclassic._benchmark.run_gpu_benchmark") -content = content.replace("babase.internal.run_media_reload_benchmark", "baclassic._benchmark.run_media_reload_benchmark") -content = content.replace("babase.internal.run_stress_test", "babase.app.classic.run_stress_test") -content = content.replace("babase.internal.set_authenticate_clients", "bascenev1.set_authenticate_clients") -content = content.replace("babase.internal.set_debug_speed_exponent", "bascenev1.set_debug_speed_exponent") -content = content.replace("babase.internal.set_low_level_config_value", "babase.set_low_level_config_value") -content = content.replace("babase.internal.set_party_icon_always_visible", "bauiv1.set_party_icon_always_visible") -content = content.replace("babase.internal.set_party_window_open", "bauiv1.set_party_window_open") -content = content.replace("babase.internal.set_public_party_enabled", "bascenev1.set_public_party_enabled") -content = content.replace("babase.internal.set_public_party_max_size", "bascenev1.set_public_party_max_size") -content = content.replace("babase.internal.set_public_party_name", "bascenev1.set_public_party_name") -content = content.replace("babase.internal.set_public_party_queue_enabled", "bascenev1.set_public_party_queue_enabled") -content = content.replace("babase.internal.set_replay_speed_exponent", "bascenev1.set_replay_speed_exponent") -content = content.replace("babase.internal.set_touchscreen_editing", "bascenev1.set_touchscreen_editing") -content = content.replace("babase.internal.set_ui_input_device", "babase.set_ui_input_device") -content = content.replace("babase.internal.should_submit_debug_info", "babase._apputils.should_submit_debug_info") -content = content.replace("babase.internal.show_online_score_ui", "bauiv1.show_online_score_ui") -content = content.replace("babase.internal.sign_in_v1", "babase.app.plus.sign_in_v1") -content = content.replace("babase.internal.sign_out_v1", "babase.app.plus.sign_out_v1") -content = content.replace("babase.internal.submit_score", "bascenev1.app.plus.submit_score") -content = content.replace("babase.internal.tournament_query", "_baplus.tournament_query") -content = content.replace("babase.internal.unlock_all_input", "babase.unlock_all_input") -content = content.replace("babase.internal.value_test", "bauiv1.app.classic.value_test") -content = content.replace("babase.internal.workspaces_in_use", "babase.workspaces_in_use") -content = content.replace("babase.internal.dump_tracebacks", "babase._apputils.dump_app_state") -content = content.replace("babase.internal.show_app_invite", "_bauiv1.show_app_invite") -content = content.replace("babase._generated", "babase._mgen") -content = content.replace("_babase.disconnect_from_host", "bascenev1.disconnect_from_host") -content = content.replace("babase.disconnect_from_host", "bascenev1.disconnect_from_host") -content = content.replace("_babase.connect_to_party", "bascenev1.connect_to_party") -content = content.replace("babase.connect_to_party", "bascenev1.connect_to_party") -content = content.replace("babase.set_party_window_open", "bauiv1.set_party_window_open") -content = content.replace("babase.set_party_window_open", "bauiv1.set_party_window_open") -content = content.replace("babase.getcollidemesh", "bascenev1.getcollisionmesh") -content = content.replace("collide_mesh", "collision_mesh") -content = content.replace("babase.FloatSetting", "bascenev1.FloatSetting") -# Removed in API 8: -# content = content.replace("babase.internal.set_telnet_access_enabled", "") - -content = content.replace("babase.internal.master_server_get", "babase.app.classic.master_server_v1_get") -content = content.replace("babase.internal.master_server_post", "babase.app.classic.master_server_v1_post") -content = content.replace("babase.internal.log_dumped_tracebacks", "babase._apputils.log_dumped_app_state") -content = content.replace("babase.internal.have_outstanding_transactions", "bauiv1.app.plus.have_outstanding_v1_account_transactions") -content = content.replace("babase.internal.get_public_login_id", "bauiv1.app.plus.get_v1_account_public_login_id") -content = content.replace("babase.internal.get_input_map_hash", "bauiv1.app.classic.get_input_device_map_hash") -content = content.replace("babase.internal.get_device_value", "bauiv1.app.classic.get_input_device_mapped_value") - -# Depracations -content = content.replace("babase.app.build_number", "babase.app.build_number if build_number < 21282 else babase.app.env.build_number") -content = content.replace("babase.app.device_name", "babase.app.device_name if build_number < 21282 else babase.app.env.device_name") -content = content.replace("babase.app.config_file_path", "babase.app.config_file_path if build_number < 21282 else babase.app.env.config_file_path") -content = content.replace("babase.app.version", "babase.app.version if build_number < 21282 else babase.app.env") -content = content.replace("babase.app.debug_build", "babase.app.debug_build if build_number < 21282 else babase.app.env.debug_build") -content = content.replace("babase.app.test_build", "babase.app.test_build if build_number < 21282 else babase.app.env.test_build") -content = content.replace("babase.app.data_directory", "babase.app.data_directory if build_number < 21282 else babase.app.env.data_directory") -content = content.replace("babase.app.python_directory_user", "babase.app.python_directory_user if build_number < 21282 else babase.app.env.python_directory_user") -content = content.replace("babase.app.python_directory_app", "babase.app.env") -content = content.replace("babase.app.python_directory_app_site", "babase.app.python_directory_app_site if build_number < 21282 else babase.app.env.python_directory_app_site") -content = content.replace("babase.app.api_version", "babase.app.api_version if build_number < 21282 else babase.app.env.api_version") -content = content.replace("babase.app.on_tv", "babase.app.on_tv if build_number < 21282 else babase.app.env.on_tv") -content = content.replace("babase.app.vr_mode", "babase.app.vr_mode if build_number < 21282 else babase.app.env.vr") -content = content.replace("babase.app.toolbar_test", "babase.app.toolbar_test if build_number < 21282 else babase.app.env.toolbar_test") -content = content.replace("babase.app.arcade_mode", "babase.app.arcade_mode if build_number < 21282 else babase.app.env.arcade_mode") -content = content.replace("babase.app.headless_mode", "babase.app.headless_mode if build_number < 21282 else babase.app.env.headless_mode") -content = content.replace("babase.app.demo_mode", "babase.app.demo_mode if build_number < 21282 else babase.app.env.demo_mode") -content = content.replace("babase.app.protocol_version", "babase.app.protocol_version if build_number < 21282 else babase.app.env.protocol_version") -content = content.replace("bascenev1.get_connection_to_host_info", "bascenev1.get_connection_to_host_info if build_number < 21697 else bascenev1.get_connection_to_host_info_2") - -content = content.replace("babase._store", "bauiv1.app.classic.store") -# content = content.replace("babase.internal", "") -content = content.replace("bastd.ui", "bauiv1lib") -content = content.replace("bastd", "bascenev1lib") -content = content.replace("timetype=","") -content = content.replace("babase.columnwidget", "bauiv1.columnwidget") -content = content.replace("_babase.get_game_port", "bascenev1.get_game_port") -content = content.replace("_babase.get_chat_messages", "bascenev1.get_chat_messages") -content = content.replace("_babase.get_foreground_host_session", "bascenev1.get_foreground_host_session") -content = content.replace("_babase.get_foreground_host_activity", "bascenev1.get_foreground_host_activity") -content = content.replace("bascenev1.SessionPlayerNotFoundError", "babase.SessionPlayerNotFoundError") -content = content.replace("bascenev1", "bs") -content = content.replace("bauiv1", "bui") -content = content.replace("import bs", "import bascenev1 as bs") -content = content.replace("import bui", "import bauiv1 as bui") -content = content.replace("bslib", "bascenev1lib") -content = content.replace("builib", "bauiv1lib") -content = content.replace("from bs.", "from bascenev1.") -content = content.replace("from bui.", "from bauiv1.") -content = content.replace("import bascenev1 as bascenev1lib", "import bascenev1lib") -content = content.replace("import bauiv1 as bauiv1lib", "import bauiv1lib") -content = content.replace("# ba_meta export bs.GameActivity", "# ba_meta export bascenev1.GameActivity") -content = content.replace("_bs", "bs") - -content = re.sub(r'bs\.Timer\(([^)]*)\bTimeType\.REAL\b([^)]*)\)', r'babase.AppTimer(\1\2)', content) -trademark = "# Porting to api 8 made easier by baport.(https://github.com/bombsquad-community/baport)\n" -with open(sys.argv[2], "w", encoding=encoding) as f: - f.write(trademark + content) - -