Skip to content

Latest commit

 

History

History
57 lines (54 loc) · 13 KB

contract_screens.cpp.md

File metadata and controls

57 lines (54 loc) · 13 KB

contract_screens.cpp: 49 functions

Function map of cm0102.exe 3.9.68. Generated from the Bosman Edition repo. Do not edit by hand: report a wrong name as an issue.

AI agents named each function from its code, and a review checked every medium and low name. Treat a medium or low name as a hint and read the code before you rely on it. "Cited in" lists research docs of the Bosman Edition repo that name the address.

Address Size Name Convention Purpose Confidence Model Cited in
0x4dc9b0 36 (+1 unwind) contract_screens_news_offer_contract_action cdecl(int news_id_a, int news_id_b) ret 0 Finds the news item and opens the contract negotiation screen for the player in slot 2, as the Offer Contract news button. high opus
0x4dca40 68 (+1 unwind) contract_screens_news_transfer_request_respond_action cdecl(int news_id_a, int news_id_b) ret 0 Finds the transfer request news item and opens the transfer request screen with the news ids, club and player as parameters. high opus
0x4dcb30 169 contract_screens_build_transfer_request_screen cdecl(void) ret 0 Builds the Transfer Request screen that asks whether to put the player on the transfer list at his own request. high opus
0x4dcd70 300 contract_screens_handle_transfer_request_screen cdecl(short area_id) ret 0, returns int Handles the Transfer Request screen buttons, listing the player and posting the news on yes or refusing and cutting his morale. high opus
0x4dd0f0 465 contract_screens_offer_contract_to_staff cdecl(Staff* staff, TRANSFER_OFFER** transfer_offer or null, int open_negotiation, int force_role_screen) ret 0 Chooses the squad status and job for a staff contract offer, then opens the Set Role At Club screen or the Offer Contract screen. high opus
0x4dd6c0 671 contract_screens_build_set_role_screen cdecl(void) ret 0, reads screen params 0 to 6 Builds the Set Role At Club screen with the squad status list, the job description list, board refusal notes and the Back and Set buttons. high opus
0x4ddf20 252 contract_screens_handle_set_role_screen cdecl(short area_id) ret 0, returns int action code Handles the Set Role At Club screen, storing the chosen squad status or job and opening the Offer Contract screen on Set. high opus
0x4de1f0 297 (+1 unwind) contract_screens_open_offer_contract_screen cdecl(Staff* staff, char squad_status, char job, short tab) ret 0 Opens the Offer Contract screen for a staff member and sets its parameters from the club transfer budget, the player value and the wage limits. high opus
0x4de5d0 393 (+1 unwind) contract_screens_open_offer_contract_screen_for_transfer cdecl(TRANSFER_OFFER** transfer_offer or null, Staff* staff, char squad_status, char job, short tab) ret 0 Opens the Offer Contract screen for a staff member linked to a transfer offer, taking the offer's clubs and fee off the transfer budget. high opus
0x4deac0 1723 (+9 unwind) contract_screens_build_offer_contract_screen cdecl(void) ret 0, reads screen params Builds the Offer Contract screen with the Basic, Bonuses and Clauses tabs, drawing the clauses tab itself and the Back, Cancel and Offer buttons. high opus
0x4e0180 29 contract_screens_add_disabled_menu_item thiscall(ScreenManager *this, int area, const char *text) ret 8 Adds a menu item with no link to a display area of the current screen, for release fee values above the allowed amount. medium opus
0x4e01e0 424 contract_screens_handle_offer_contract_screen cdecl(short area_id) ret 0, returns int action code Handles the Offer Contract screen tabs, rules, Cancel and Offer buttons, then passes other actions to the basic, bonuses and clauses tab handlers. high opus
0x4e06a0 19 contract_screens_close_offer_contract_screen cdecl(void) ret 0 Frees the player's demanded contract held in screen parameter 2 when the Offer Contract screen closes, and clears that parameter. high opus
0x4e06e0 2008 (+9 unwind) contract_screens_build_basic_terms_tab cdecl(STAFF_CONTRACT* offer, STAFF_CONTRACT* demand, Staff* staff, int top, int bottom) ret 0 Draws the Basic tab of the Offer Contract screen with wage, signing on fee, start and expiry dates and contract type, or the refusal reason. high opus
0x4e2070 31 contract_screens_build_basic_terms_tab_fragment_4e2070 none, no real entry point, falls inside 0x4e06e0 Marks a false function start inside the Basic tab builder, at the jump that draws the transfer window note as wrapped text. high opus
0x4e2280 1082 (+6 unwind) contract_screens_handle_basic_terms_action cdecl(short area_id) ret 0, returns int action code or 0 Handles the Basic tab actions of the Offer Contract screen, changing wage period, wage, expiry date, month to month, part time, squad status and job. high opus user32.c
0x4e30f0 678 (+5 unwind) contract_screens_build_bonuses_tab cdecl(STAFF_CONTRACT* offer, STAFF_CONTRACT* demand, Staff* staff, int top, int bottom) ret 0 Draws the Bonuses tab of the Offer Contract screen, one row a bonus type with its cash value, add and remove buttons and player requests. high opus
0x4e39c0 585 (+2 unwind) contract_screens_handle_bonuses_action cdecl(short area_id) ret 0, returns int action code or 0 Handles the Bonuses tab actions of the Offer Contract screen, stepping bonus values, setting them from popups and adding or clearing bonus slots. high opus
0x4e4160 440 (+2 unwind) contract_screens_handle_clauses_action cdecl(short area_id) ret 0, returns int action code or 0 Handles the Clauses tab actions of the Offer Contract screen, setting clause flags and stepping or choosing the release fee. high opus
0x4e4730 78 contract_screens_open_staff_offer_contract_screen cdecl(TRANSFER_OFFER** transfer_offer or null, char p3, char job, int p5, int p7, char p6) ret 0 Opens the staff Offer Contract confirm dialog and stores the transfer offer, its clubs and the offer settings as screen parameters. high opus
0x4e4820 489 (+3 unwind) contract_screens_build_staff_offer_contract_screen cdecl(void) ret 0, reads screen params Builds the confirm dialog that offers a contract to a staff member or withdraws the offer, with compensation fee and transfer window notes. high opus
0x4e4ea0 416 (+2 unwind) contract_screens_handle_staff_offer_contract_screen cdecl(short area_id), returns int action code, ret 0 Handles the staff Offer Contract dialog, withdrawing the offer when asked or adding the contract offer and any compensation transfer offer on confirm. high opus
0x4e53e0 16 contract_screens_open_terminate_contract_screen cdecl(Staff* staff), ret 0 Opens the Terminate Contract dialog with its builder and handler and stores the staff member as screen parameter 0. high opus
0x4e5420 148 contract_screens_build_terminate_contract_screen cdecl(void), ret 0 Builds the Terminate Contract dialog that asks whether to end the staff member's contract, with the staff picture and Yes and No buttons. high opus
0x4e5610 118 contract_screens_handle_terminate_contract_screen cdecl(short area_id), returns int action code, ret 0 Handles the Terminate Contract dialog, removing the contract, freeing the staff member and refreshing scouts or training on yes. high opus
0x4e5770 59 (+1 unwind) contract_screens_news_negotiate_action cdecl(int news_id_a, int news_id_b), ret 0 Opens contract negotiation for the staff member of a news item, passing the transfer offer of slot 7 for type 0xfa4 news. high opus
0x4e5850 79 compare_squad_players_by_appearances_then_reputation cdecl(Staff** a, Staff** b), returns int, ret 0 Orders squad members by appearances in stats category 6, most first, then by home reputation, for qsort. high opus
0x4e5920 25 credits_screen_open cdecl(void), ret 0 Opens the Game Credits screen with its builder and handler and clears screen parameters 0 to 2. high opus 2026-10-13-screen-stack-inventory.md
0x4e5970 1241 credits_add_sports_interactive_rows cdecl(void), ret 0 Adds the Sports Interactive heading and its staff roles and names, from Chairman to QA Manager, to the credits list. high opus
0x4e6a70 247 credits_add_jask_xbox_rows cdecl(void), ret 0 (Ghidra shows an unused ECX value as fastcall) Adds the Jask Consultants heading and the Xbox Design and Programming credit to the credits list. high opus
0x4e6dc0 2708 credits_add_research_rows cdecl(void), ret 0 (Ghidra shows an unused ECX value as fastcall) Adds the Research heading and one row per nation with its head researchers to the credits list. high opus
0x4e92f0 2299 credits_add_testing_rows cdecl(void), ret 0 (Ghidra shows an unused ECX value as fastcall) Adds the Testing heading and the tester names in two columns to the credits list. high opus
0x4eb110 261 credits_add_feral_rows cdecl(void), ret 0 Adds the Feral Interactive heading and its producer credit to the credits list. high opus
0x4eb480 1776 credits_add_eidos_rows cdecl(void), ret 0 Adds the Eidos Interactive heading and its producer, marketing, localisation and mastering credits to the credits list. high opus
0x4eccd0 1003 credits_add_translation_rows cdecl(void), ret 0 (Ghidra shows an unused ECX value as fastcall) Adds the Translation and Proof-Reading heading and each language with its translators to the credits list. high opus
0x4eda90 41320 credits_add_additional_research_rows cdecl(void), ret 0 (Ghidra shows an unused ECX value as fastcall) Adds the Additional Research heading and several hundred contributor names in two columns to the credits list. high opus
0x4f2070 35754 credits_add_additional_research_rows_fragment_4f2070 none, no real entry point, falls inside 0x4eda90 Marks a false function start inside the Additional Research credits builder, where Chinese and Croatian researcher names are added. high opus
0x500030 17878 credits_add_additional_research_rows_fragment_500030 none, no real entry point, falls inside 0x4eda90 Marks a false function start inside the Additional Research credits builder, where Polish and Portuguese researcher names are added. high opus
0x502070 15297 credits_add_additional_research_rows_fragment_502070 none, no real entry point, falls inside 0x4eda90 Marks a false function start inside the Additional Research credits builder, where Portuguese and Russian researcher names are added. high opus
0x503a50 13239 credits_add_additional_research_rows_fragment_503a50 none, no real entry point, falls inside 0x4eda90 Marks a false function start inside the Additional Research credits builder, in the argument pushes of a row where Scottish researcher names are added. high opus
0x50e000 3907 credits_add_additional_testing_rows cdecl(void), ret 0 (Ghidra shows an unused ECX value as fastcall) Adds the Additional Testing heading and the external tester names in two columns to the credits list. high opus
0x511320 1844 credits_add_special_thanks_rows cdecl(void), ret 0 (Ghidra shows an unused ECX value as fastcall) Adds the Special Thanks heading, named helpers and the thanks to every CM fan in several languages to the credits list. high opus
0x512d40 309 credits_add_best_wishes_rows cdecl(void), ret 0 (Ghidra shows an unused ECX value as fastcall) Adds the Best Wishes To heading and the couples who got married to the credits list. high opus
0x513180 160 credits_screen_build cdecl(void), ret 0 Builds the Game Credits screen with title, back and next buttons and a scrolling list, then calls every credit section builder. high opus
0x5133c0 75 credits_screen_handle_action cdecl(short area_id), returns int action code, ret 0 Handles the Game Credits screen, storing the list selection and switching page on action 100, else passing the action to the menu bar. high opus 2026-10-13-screen-stack-inventory.md
0x5134c0 20 web_sites_screen_open cdecl(void), ret 0 Opens the Web Sites screen with its builder and clears screen parameters 0 and 1. high opus 2026-10-13-screen-stack-inventory.md
0x513500 181 web_sites_add_publisher_rows cdecl(void), ret 0 Adds the Eidos Interactive heading with The publishers and www.eidos.co.uk to the Web Sites list. high opus
0x513750 228 web_sites_add_fan_club_links cdecl(void), ret 0 Reads fancluburls.txt from the data folder and adds an Unofficial Sites heading and one row per listed http link. high opus
0x513a20 304 web_sites_screen_build cdecl(void), ret 0 Builds the Web Sites screen with the Sports Interactive and official messageboard links, then the publisher and fan club rows. high opus