Итак, путем некоторых манипуляций с exe-шником RTW был получен дамп отладочной информации.
Для чего этот дамп нужен, и что с его помощью можно сделать?
1) Дамп содержит сведения об ошибках привязанные к отдельным файлам исходников из которых собиралась игра.
2) Для чего нужна эта информация? Тут все очень просто и интересно, например можно получить данные о многих функциях и методах из исходников, так как все обработки ошибок привязаны именно к ним родимым - к функциям и методам...
Возьмем к примеру отладочную информацию для секции TRM(%.1f):
Тоже самое, есть например отладочная информация по файлу settlement_construction.cpp
Конечно много мусора, и мало описаний, но по крайней мере здесь полно информации для экспериментов со скриптами и т.д.
В общем, смотрим, ищем полезное, а для мня пока можете отписаться, нужно ли вытаскивать ту-же самую информацию по БИ и АТВ...
Собственно сам файл Для просмотра ссылки Зарегистрируйтесь
Для чего этот дамп нужен, и что с его помощью можно сделать?
1) Дамп содержит сведения об ошибках привязанные к отдельным файлам исходников из которых собиралась игра.
2) Для чего нужна эта информация? Тут все очень просто и интересно, например можно получить данные о многих функциях и методах из исходников, так как все обработки ошибок привязаны именно к ним родимым - к функциям и методам...
Возьмем к примеру отладочную информацию для секции TRM(%.1f):
Спойлер (раскрыть)
TRM(%.1f) CPU HUMAN x %d, y %d roads - %u road %d - trade %d XV \ 4 4 P ! p \% % 0 0 0 3 L5 6 8 @; p D 8D PD hD D D D D E hE XV xE E E E E F \F G H dM N N O P PQ Q Q Q Q R R HU V X d\ d _ _ _ l c c \d e f g j l l s w x ,z t h ȯ D 0 P toggle_tow toggle_tow : shows/hides the tabbed output window add_money add_money opt:faction_type amount : adds an amount of money to a faction's coffers, can be negative, default is player faction faction not found add_population add_population settlement_name amount : adds an amount of population to a settlement, can be negative settlement not found move_character move_character name x , y : moves named character to position on campaign map character not found destination tile not valid auto_win auto_win attacker/defender : the attacker or defender wins the next autoresolved battle defender attacker parameter not recognised create_unit create_unit settlement/character_name unit_id opt:how_many opt:exp/armour/weapon : creates one or more units of the specified type cannot add unit to character in residence cannot add unit to non-general character type You can only add a unit to an general unit type not recognised cannot add ship unit to non-admiral character cannot add land unit to admiral character cannot add unit(s) because character's army already contains the maximum number of units cannot add ship unit to garrison cannot add unit(s) because the garrison already contains the maximum number of units character or settlement not found toggle_fow toggle_fow : toggles the fog of war on or off toggle_restrictcam toggle_restrictcam : toggles camera restrictions on or off give_ancillary give_ancillary charactername ancillary name : gives the character an ancillary Could not find this ancillary in the database give_trait give_trait charactername trait name opt:level : gives the character a trait at level (default level 1) Could not find this trait in the database process_cq process_cq settlement :
Completes all (possible) construction pending in queue
character_reset character_reset : resets the character back to it's start of turn settings show_cursorstat : shows the cursor position and region id pos %-6f,%-6f pos %i,%i, region id %i (%s) failed to retrieve cursor intersection point toggle_terrain toggle_terrain opt:region/tiletype/climate/choke/landing/frontier/features/frontier_defend : toggles the terrain to display various data sets, no param resets to normal frontier_defend features frontier landing choke tiletype bestbuy bestbuy : sells units cheaper oliphaunt oliphaunt : the biggest around cheat oliphants you need to select a place to put it, either a character, settlement or fort will do jericho jericho : and the walls came a-tumblin' down write_ui_cache write_ui_cache: writes out the ui texture cache to disk give_trait_points give_trait_points charactername trait name points : gives the character points for trait list_traits list_traits : lists all the available traits %s(%d)
...TRUNCATED list_ancillaries list_ancillaries : lists all the available ancillaries mp mp charactername amount : gives the character movement points list_characters list_characters opt:faction_type : lists all the characters in the world or those belonging to a faction show_landings show_landings opt:cursor/region_id : shows the landing positions available to the ai from a given region, default hides them region id out-of-range cursor cannot highlight landing positions from a sea region filter_coastlines filter_coastlines : applies filter to world map coastlines toggle_coastlines toggle_coastlines : toggles strategy map coastline display set_building_health set_building_health settlement_name building_chain final health percent :
sets health of a building of the specified type (eg core_building)
in a settlement, so that the final health percentage is as specified; for building chains see export_descr_building.txt building chain id not recognised no building of this type in settlement ai_turn_speed ai_turn_speed multiplier : sets the maximum speed of turn processing during the ai round illegal turn speed; maximum supported speed is 255x amdb_min amdb_min : sets aerial map overlay depth bias for min zoom amdb_max amdb_max : sets aerial map overlay depth bias for max zoom amdb_offset amdb_offset : sets aerial map overlay offset towards camera zoom zoom : zooms to specified aerial map zoom only valid during a view of the strategy map set_ranking_interval set_ranking_interval : sets the denominator of the faction ranking graph interval which is calculated as (number_of_turns / denominator). If set to 0, then the denominator will be set to number_of_turns, giving an interval of 1 regenerate_radar regenerate_radar: Does what it says on the tin adjust_sea_bed adjust_sea_bed : adjusts whole sea bed to specified height reload_shaders reload_shaders : reloads all vertex shaders reload_textures reload_textures : reloads all textures fire (mt toggle reload int) toggle_game_update toggle_perfect_spy toggle_perfect_spy : toggles everyone's spying ability to perfect and infinite range, and off again building_debug building_debug:
toggles building debug mode.
TAB to toggle view modes, RIGHT SHIFT-TAB to reset mode, LEFT SHIFT-TAB to go back modes.
G damages mouse-over building. P displays plaza.
reset_display reset_display:
Forces a display_close(); display_open() display reset cycle
toggle_underlay toggle_underlay:
toggle_overlay toggle_overlay:
process_rq process_rq settlement :
Completes all (possible) recruitment pending in queue
force_diplomacy force_diplomacy accept/decline/off :
Forces the negotiator to accept or decline a proposition
force_diplomacy mode unknown diplomatic_stance diplomatic_stance faction_a faction_b allied/neutral/war :
Set the diplomatic stance between the two factions
invalid faction type factions must be different diplomatic_stance stance unknown neutral shadow toggle/next/prev
prev toggle ie ie reload
reload invulnerable_general invulnerable_general character_name : makes that named general invulnerable in battle character does not have a soldier test_ancillary_localisation adds all ancillary to the character info display
ancillaries aren't actually added to the character perf_times Toggle display of simple performance times of game update vs display burn_piggies_burn burn_piggies_burn on/off : ignite all the piggy winks test_message Test the event message specified in descr_event_enums.txt show_terrain_lines show_terrain_lines duration : display defensive terrain features message_collation_set Set the message collation on or off (sets all factions) Unrecognised command, use "on", or "off" show_all_messages Show all messages to all factions (on/off) clear_messages Clear all the current stacked messages puppify_my_love ?????? reapply_rigid_model_influence toggle_flowing_water toggles display of campaign map flowing water nw_stats nw_stats:
toggles display of network stats.
toggle_pr toggle_pr:
toggles pr mode.
list_units list_units character/settlement name : lists all of the units in an army, with details. character found, but he has no army. settlement found, but it has no garrison. army units (total strength: %i):
%i. '%s' (soldiers %i, exp %i, weap %i, arm %i).
too much test... victory victory faction short : show victory message for faction for short or long campaign. faction not recognised. faction not found. trigger_advice triggers an advice thread
Wrong item index. Thread not found. damage_wall damage_wall settlement gate breach :
Damage wall of settlement. Forces 40% damage to a random gatehouse and a nearby straight section. Destroys gatehouse if 'gate' parameter present; breaches wall if 'breach' present
breach test_victory_scroll test_victory_scroll faction victor short campaign (true/false) :
Opens up the victory scroll declaring that the given faction is the victor
If no faction is declared then the 'timeout' scroll is displayed C:\barbi_daily\code\env\dev_console.cpp test_network_scroll test_network_scroll is host (true/false) date year : changes the campaign date to the given year season season : changes the campaign season to the given season season not recognised upgrade_effect upgrade_effect unit_id : triggers unit upgrade effect cannot find unit force_battle_victory force_battle_victory : forces the local player's alliance to win the battle, completely destroying the enemy alliance force_battle_defeat force_battle_defeat : forces the local player's alliance to win the battle, completely destroying the enemy alliance output_unit_positions output_unit_positions filename : output the positions of all units in the battle to the specified file Format:- alliance_index, army_index, unit_index, formation_origin_x, formation_origin_y, rotation_in_degrees, unit_width_in_metres, unit_width_in_men
%d, %d, %d, %f, %f, %f, %f, %d
show_battle_paths show_battle_paths : show all valid processed paths in the pathfinder show_battle_paths_for_unit show_battle_paths_for_unit unit_id time : show all valid processed paths in the pathfinder for a specific unit given a unit id zoom_to_unit zoom_to_unit : zoom the camera to a unit of a specific id
show_battle_street_plan show_battle_street_plan : show the street plan for the settlement show_battle_marker show_battle_marker x y t : display a marker at (x, y) for t seconds show_battle_line show_battle_line x1 y1 x2 y2 t : display a line from (x1, y1) to (x2, y2) for t seconds show_battle_circle show_battle_circle x y r t : display a circle at (x, y) of r radius for t seconds kill_faction kill_faction faction_type : removes the faction from the game cannot kill slave faction faction is not alive diplomacy_mission diplomacy_mission ai_faction target_faction mission_type opt:mission_target : creates a diplomacy mission invalid ai_faction type invalid mission_faction type invalid mission_type invalid target_faction type target_faction required ai_faction not found ai_diplomacy_manager not found event event_type opt:position : creates an event at position invalid disaster type kill_character kill_character character_name : kills a character with the given name control control faction_type : switches player control to specified faction; old faction may not act correctly as ai faction it is forbidden to take control of the Senate or the Slaves player faction is already the target faction create_building create_building settlement_name building_level_id : creates a building of the specified type in a settlement; for building level id's see export_descr_building.txt building level id not recognised failed to build building capture_settlement capture_settlement settlement name : evicts any resident characters and armies and gives the settlement to the local player settlement already belongs to the local player disable_ai disable_ai [opt: tac sub dip name]: disables all (default) or part of the ai for all factions option not recognised dip sub tac ai is already disabled halt_ai halt_ai opt:factiontypename : halts the turn sequence just before the start of the specified faction's turn, or the current faction if no faction given run_ai run_ai [opt:x]: re-starts an ai turn sequence after disableai or haltai has been triggered;
use x to also re-enable all parts of the ai which have been individually disabled ai is already enabled surrender_regions surrender_regions opt: horde opt:faction_type : gives all this faction's regions to the slaves. "horde" surrenders regions for all factions that can be hordes toggle_chat_log toggle_chat_log : shows or hides the multiplayer chat window bounds bounds : toggle display of bounding objects lights : merge used auto RomeShell command listing:
too many commands...
use '?cmdname' to retrieve help for a command
multiple word names should be wrapped in quotes err: command '%s' not recognised console mode not initialised, no commands available command not recognised (use ? for help). RomeShell console command listing
Completes all (possible) construction pending in queue
character_reset character_reset : resets the character back to it's start of turn settings show_cursorstat : shows the cursor position and region id pos %-6f,%-6f pos %i,%i, region id %i (%s) failed to retrieve cursor intersection point toggle_terrain toggle_terrain opt:region/tiletype/climate/choke/landing/frontier/features/frontier_defend : toggles the terrain to display various data sets, no param resets to normal frontier_defend features frontier landing choke tiletype bestbuy bestbuy : sells units cheaper oliphaunt oliphaunt : the biggest around cheat oliphants you need to select a place to put it, either a character, settlement or fort will do jericho jericho : and the walls came a-tumblin' down write_ui_cache write_ui_cache: writes out the ui texture cache to disk give_trait_points give_trait_points charactername trait name points : gives the character points for trait list_traits list_traits : lists all the available traits %s(%d)
...TRUNCATED list_ancillaries list_ancillaries : lists all the available ancillaries mp mp charactername amount : gives the character movement points list_characters list_characters opt:faction_type : lists all the characters in the world or those belonging to a faction show_landings show_landings opt:cursor/region_id : shows the landing positions available to the ai from a given region, default hides them region id out-of-range cursor cannot highlight landing positions from a sea region filter_coastlines filter_coastlines : applies filter to world map coastlines toggle_coastlines toggle_coastlines : toggles strategy map coastline display set_building_health set_building_health settlement_name building_chain final health percent :
sets health of a building of the specified type (eg core_building)
in a settlement, so that the final health percentage is as specified; for building chains see export_descr_building.txt building chain id not recognised no building of this type in settlement ai_turn_speed ai_turn_speed multiplier : sets the maximum speed of turn processing during the ai round illegal turn speed; maximum supported speed is 255x amdb_min amdb_min : sets aerial map overlay depth bias for min zoom amdb_max amdb_max : sets aerial map overlay depth bias for max zoom amdb_offset amdb_offset : sets aerial map overlay offset towards camera zoom zoom : zooms to specified aerial map zoom only valid during a view of the strategy map set_ranking_interval set_ranking_interval : sets the denominator of the faction ranking graph interval which is calculated as (number_of_turns / denominator). If set to 0, then the denominator will be set to number_of_turns, giving an interval of 1 regenerate_radar regenerate_radar: Does what it says on the tin adjust_sea_bed adjust_sea_bed : adjusts whole sea bed to specified height reload_shaders reload_shaders : reloads all vertex shaders reload_textures reload_textures : reloads all textures fire (mt toggle reload int) toggle_game_update toggle_perfect_spy toggle_perfect_spy : toggles everyone's spying ability to perfect and infinite range, and off again building_debug building_debug:
toggles building debug mode.
TAB to toggle view modes, RIGHT SHIFT-TAB to reset mode, LEFT SHIFT-TAB to go back modes.
G damages mouse-over building. P displays plaza.
reset_display reset_display:
Forces a display_close(); display_open() display reset cycle
toggle_underlay toggle_underlay:
toggle_overlay toggle_overlay:
process_rq process_rq settlement :
Completes all (possible) recruitment pending in queue
force_diplomacy force_diplomacy accept/decline/off :
Forces the negotiator to accept or decline a proposition
force_diplomacy mode unknown diplomatic_stance diplomatic_stance faction_a faction_b allied/neutral/war :
Set the diplomatic stance between the two factions
invalid faction type factions must be different diplomatic_stance stance unknown neutral shadow toggle/next/prev
prev toggle ie ie reload
reload invulnerable_general invulnerable_general character_name : makes that named general invulnerable in battle character does not have a soldier test_ancillary_localisation adds all ancillary to the character info display
ancillaries aren't actually added to the character perf_times Toggle display of simple performance times of game update vs display burn_piggies_burn burn_piggies_burn on/off : ignite all the piggy winks test_message Test the event message specified in descr_event_enums.txt show_terrain_lines show_terrain_lines duration : display defensive terrain features message_collation_set Set the message collation on or off (sets all factions) Unrecognised command, use "on", or "off" show_all_messages Show all messages to all factions (on/off) clear_messages Clear all the current stacked messages puppify_my_love ?????? reapply_rigid_model_influence toggle_flowing_water toggles display of campaign map flowing water nw_stats nw_stats:
toggles display of network stats.
toggle_pr toggle_pr:
toggles pr mode.
list_units list_units character/settlement name : lists all of the units in an army, with details. character found, but he has no army. settlement found, but it has no garrison. army units (total strength: %i):
%i. '%s' (soldiers %i, exp %i, weap %i, arm %i).
too much test... victory victory faction short : show victory message for faction for short or long campaign. faction not recognised. faction not found. trigger_advice triggers an advice thread
Wrong item index. Thread not found. damage_wall damage_wall settlement gate breach :
Damage wall of settlement. Forces 40% damage to a random gatehouse and a nearby straight section. Destroys gatehouse if 'gate' parameter present; breaches wall if 'breach' present
breach test_victory_scroll test_victory_scroll faction victor short campaign (true/false) :
Opens up the victory scroll declaring that the given faction is the victor
If no faction is declared then the 'timeout' scroll is displayed C:\barbi_daily\code\env\dev_console.cpp test_network_scroll test_network_scroll is host (true/false) date year : changes the campaign date to the given year season season : changes the campaign season to the given season season not recognised upgrade_effect upgrade_effect unit_id : triggers unit upgrade effect cannot find unit force_battle_victory force_battle_victory : forces the local player's alliance to win the battle, completely destroying the enemy alliance force_battle_defeat force_battle_defeat : forces the local player's alliance to win the battle, completely destroying the enemy alliance output_unit_positions output_unit_positions filename : output the positions of all units in the battle to the specified file Format:- alliance_index, army_index, unit_index, formation_origin_x, formation_origin_y, rotation_in_degrees, unit_width_in_metres, unit_width_in_men
%d, %d, %d, %f, %f, %f, %f, %d
show_battle_paths show_battle_paths : show all valid processed paths in the pathfinder show_battle_paths_for_unit show_battle_paths_for_unit unit_id time : show all valid processed paths in the pathfinder for a specific unit given a unit id zoom_to_unit zoom_to_unit : zoom the camera to a unit of a specific id
show_battle_street_plan show_battle_street_plan : show the street plan for the settlement show_battle_marker show_battle_marker x y t : display a marker at (x, y) for t seconds show_battle_line show_battle_line x1 y1 x2 y2 t : display a line from (x1, y1) to (x2, y2) for t seconds show_battle_circle show_battle_circle x y r t : display a circle at (x, y) of r radius for t seconds kill_faction kill_faction faction_type : removes the faction from the game cannot kill slave faction faction is not alive diplomacy_mission diplomacy_mission ai_faction target_faction mission_type opt:mission_target : creates a diplomacy mission invalid ai_faction type invalid mission_faction type invalid mission_type invalid target_faction type target_faction required ai_faction not found ai_diplomacy_manager not found event event_type opt:position : creates an event at position invalid disaster type kill_character kill_character character_name : kills a character with the given name control control faction_type : switches player control to specified faction; old faction may not act correctly as ai faction it is forbidden to take control of the Senate or the Slaves player faction is already the target faction create_building create_building settlement_name building_level_id : creates a building of the specified type in a settlement; for building level id's see export_descr_building.txt building level id not recognised failed to build building capture_settlement capture_settlement settlement name : evicts any resident characters and armies and gives the settlement to the local player settlement already belongs to the local player disable_ai disable_ai [opt: tac sub dip name]: disables all (default) or part of the ai for all factions option not recognised dip sub tac ai is already disabled halt_ai halt_ai opt:factiontypename : halts the turn sequence just before the start of the specified faction's turn, or the current faction if no faction given run_ai run_ai [opt:x]: re-starts an ai turn sequence after disableai or haltai has been triggered;
use x to also re-enable all parts of the ai which have been individually disabled ai is already enabled surrender_regions surrender_regions opt: horde opt:faction_type : gives all this faction's regions to the slaves. "horde" surrenders regions for all factions that can be hordes toggle_chat_log toggle_chat_log : shows or hides the multiplayer chat window bounds bounds : toggle display of bounding objects lights : merge used auto RomeShell command listing:
too many commands...
use '?cmdname' to retrieve help for a command
multiple word names should be wrapped in quotes err: command '%s' not recognised console mode not initialised, no commands available command not recognised (use ? for help). RomeShell console command listing
Тоже самое, есть например отладочная информация по файлу settlement_construction.cpp
Спойлер (раскрыть)
C:\barbi_daily\code\settlement_construction.cpp ERROR: SETTLEMENT CONSTRUCTION QUEUE, attempt to remove building queue item from empty queue
C:\barbi_daily\code\settlement_manager.cpp SETTLEMENT_MANAGER egyptian SETTLEMENT_MECHANICS_STATS T ] D ] ] ] ] ] oi d ] ] l ] ] ] straight internal_corner_link external_corner_link straight_link diagonal_link internal_left_link internal_right_link external_left_link external_right_link gateway tower_straight tower_internal_corner_link tower_external_corner_link SETTLEMENT_PLAN_SLOT_POSITION SETTLEMENT_PLAN_PERSISTING population_growth_bonus population_loyalty_bonus population_health_bonus trade_base_income_bonus trade_level_bonus trade_fleet taxable_income_bonus mine_resource gate_strength gate_defences wall_level tower_level stage_games stage_races fire_risk weapon_simple weapon_missile weapon_bladed weapon_siege weapon_other upgrade_bodyguard recruits_morale_bonus recruits_exp_bonus happiness_bonus law_bonus construction_cost_bonus_military construction_cost_bonus_religious construction_cost_bonus_defensive construction_cost_bonus_other construction_time_bonus_military construction_time_bonus_religious construction_time_bonus_defensive construction_time_bonus_other %S %03.1f%% %S %d%% %S %d %S %d (%S %d) %S %S (%d%%) VK & l @
oi oi oi oi oi oi oi oi oi oi oi oi oi oi oi oi oi oi 4 F 4 F oi oi BUILDING BUILDING_CONSTRUCTION_ITEM 8 J V XV J ,n XV V ]_ J ,n ]_ fortification infrastructure military religious other C:\barbi_daily\code\settlement_condition.h C:\barbi_daily\code\util/ca_auto_ptr.h oil_jet smoke night_fx C:\barbi_daily\code\building_description.cpp fire_exclude ejector collision_3d collision3d kill_zone C:\barbi_daily\code\building_physical.cpp slot_platform_ platform_ tunnel arrow_horizontal_ arrow_vertical_ banner dock spawn muster_ entry_ respawn dock_sap dock_ram dock_lad %s/%s/%s SAVED BPI %s: %d (ol%d bs%d pf%d tn%d cl%d sp%d dk%d et%d ar%d) accrued: %d
T_ XV_ V_ V_ Y_ LU_ V_ W_ W_ Z_ a_ J V a_ C:\barbi_daily\code\settlement_condition.cpp Generic Error:
C:\barbi_daily\code\settlement_manager.cpp SETTLEMENT_MANAGER egyptian SETTLEMENT_MECHANICS_STATS T ] D ] ] ] ] ] oi d ] ] l ] ] ] straight internal_corner_link external_corner_link straight_link diagonal_link internal_left_link internal_right_link external_left_link external_right_link gateway tower_straight tower_internal_corner_link tower_external_corner_link SETTLEMENT_PLAN_SLOT_POSITION SETTLEMENT_PLAN_PERSISTING population_growth_bonus population_loyalty_bonus population_health_bonus trade_base_income_bonus trade_level_bonus trade_fleet taxable_income_bonus mine_resource gate_strength gate_defences wall_level tower_level stage_games stage_races fire_risk weapon_simple weapon_missile weapon_bladed weapon_siege weapon_other upgrade_bodyguard recruits_morale_bonus recruits_exp_bonus happiness_bonus law_bonus construction_cost_bonus_military construction_cost_bonus_religious construction_cost_bonus_defensive construction_cost_bonus_other construction_time_bonus_military construction_time_bonus_religious construction_time_bonus_defensive construction_time_bonus_other %S %03.1f%% %S %d%% %S %d %S %d (%S %d) %S %S (%d%%) VK & l @
oi oi oi oi oi oi oi oi oi oi oi oi oi oi oi oi oi oi 4 F 4 F oi oi BUILDING BUILDING_CONSTRUCTION_ITEM 8 J V XV J ,n XV V ]_ J ,n ]_ fortification infrastructure military religious other C:\barbi_daily\code\settlement_condition.h C:\barbi_daily\code\util/ca_auto_ptr.h oil_jet smoke night_fx C:\barbi_daily\code\building_description.cpp fire_exclude ejector collision_3d collision3d kill_zone C:\barbi_daily\code\building_physical.cpp slot_platform_ platform_ tunnel arrow_horizontal_ arrow_vertical_ banner dock spawn muster_ entry_ respawn dock_sap dock_ram dock_lad %s/%s/%s SAVED BPI %s: %d (ol%d bs%d pf%d tn%d cl%d sp%d dk%d et%d ar%d) accrued: %d
T_ XV_ V_ V_ Y_ LU_ V_ W_ W_ Z_ a_ J V a_ C:\barbi_daily\code\settlement_condition.cpp Generic Error:
Конечно много мусора, и мало описаний, но по крайней мере здесь полно информации для экспериментов со скриптами и т.д.
В общем, смотрим, ищем полезное, а для мня пока можете отписаться, нужно ли вытаскивать ту-же самую информацию по БИ и АТВ...
Собственно сам файл Для просмотра ссылки Зарегистрируйтесь