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 |
|---|---|---|---|---|---|---|---|
| 0x81b830 | 6 | setup_static_init_start_date |
cdecl, no arguments, ret 0 | Constructs the static game start date at g_game_start_date and registers its empty destructor with atexit. | high | sonnet | |
| 0x81b850 | 1 | setup_static_destroy_start_date |
cdecl, no arguments, ret 0 | Serves as the empty atexit destructor of the static game start date. | medium | opus | |
| 0x81b860 | 6 | setup_static_init_saved_date |
cdecl, no arguments, ret 0 | Constructs the static Setup date at 0xdd70a0 and registers its empty destructor with atexit. | medium | opus | |
| 0x81b880 | 1 | setup_static_destroy_saved_date |
cdecl, no arguments, ret 0 | Serves as the empty atexit destructor of the static Setup date at 0xdd70a0. | medium | opus | |
| 0x81b890 | 146 | setup_run_front_end |
cdecl, no arguments, returns int (always 1), ret 0 | Checks CM3_QSTART, sets the date to 1 Jan 2001, reads -seed and -nonetwork, runs the Setup Game screen loop, then registers Manager Status. | high | opus | 2026-10-13-screen-stack-inventory.md, 2026-10-14-game-creation-inventory.md, 2026-10-14-game-setup-spec.md, 2026-10-14-start-screen-helpers.md, 2026-10-16-sweep-season-end.md, main.c |
| 0x81bab0 | 156 (+1 unwind) | setup_build_setup_game_screen |
cdecl, no arguments, returns void, ret 0 | Builds the Setup Game start screen with buttons for new, quick start, restore, delete, network play, game settings and hall of fame. | high | opus | 2026-10-13-screen-stack-inventory.md, database.c, waits.c |
| 0x81ce00 | 140 | setup_start_new_game |
cdecl, no arguments, returns void, ret 0 | Loads the CM3_DATA database and key nation table when needed, or shows No Memory below 50 MB, then opens Select League(s). | high | opus | 2026-10-13-database-inventory.md, 2026-10-13-screen-stack-inventory.md, 2026-10-14-game-creation-inventory.md, 2026-10-14-select-leagues-spec.md, 2026-10-14-start-new-game-inventory.md, setup.c |
| 0x81d010 | 975 | setup_build_select_leagues_screen |
cdecl, no arguments, returns void, ret 0 | Builds the Select League(s) screen with real players and attribute masking options, select all buttons and the scrolled list of playable nations. | high | opus | 2026-10-14-start-new-game-inventory.md, setup.c, waits.c |
| 0x81dc30 | 1001 | setup_handle_select_leagues_input |
cdecl (short item_index, -1 for none) returns int screen result code, ret 0 | Handles input on Select League(s), toggling leagues within the memory limit and, on Next, creating the game or opening Select Start Season. | high | opus | 2026-10-14-game-creation-inventory.md, 2026-10-14-start-new-game-inventory.md, setup.c |
| 0x81e8d0 | 160 (+1 unwind) | setup_build_select_start_season_screen |
cdecl, no arguments, returns void, ret 0 | Builds the Select Start Season screen, listing each selected league with its season years as menu buttons. | high | opus | 2026-10-14-start-new-game-inventory.md |
| 0x81eb00 | 211 | setup_handle_select_start_season_input |
cdecl (short item_index, -1 for none) returns int screen result code, ret 0 | Handles input on Select Start Season, storing the chosen league, and on Next creating the game, then opening Manager Status and Enter Name. | high | opus | 2026-10-14-start-new-game-inventory.md |
| 0x81edd0 | 96 (+1 unwind) | setup_build_network_play_screen |
cdecl, no arguments, returns void, ret 0 | Builds the Network Play screen with start, quick start, restore and join network game buttons. | high | opus | 2026-10-13-screen-stack-inventory.md |
| 0x81ef70 | 190 | setup_handle_network_play_input |
cdecl (short item_index, -1 for none) returns int screen result code, ret 0 | Handles input on Network Play, opening Enter Network Game Name for start, quick start or restore, or Select Network Game for join. | high | opus | 2026-10-13-screen-stack-inventory.md |
| 0x81f1a0 | 80 | setup_build_enter_network_game_name_screen |
cdecl, no arguments, returns void, ret 0 | Builds the Enter Network Game Name screen, creating the network session and adding the game name text entry with back and next buttons. | high | opus | |
| 0x81f2c0 | 495 | setup_handle_enter_network_game_name_input |
cdecl (short item_index, -1 for none) returns int screen result code, ret 0 | Handles input on Enter Network Game Name, and on Next starts a new, quick start or restored network game, then opens Manager Status. | high | opus | |
| 0x81f8d0 | 237 | setup_build_select_network_game_screen |
cdecl, no arguments, returns void, ret 0 | Builds the Select Network Game screen, sends a CM3 LIST SERVER REQ broadcast and lists the found games with Refresh and Join controls. | high | opus | |
| 0x81fbd0 | 237 | setup_handle_select_network_game_input |
cdecl (short item_index, -1 for none) returns int screen result code, ret 0 | Handles input on Select Network Game, resending the server list request on Refresh, storing the chosen game name and joining it on Next. | high | opus | |
| 0x81fea0 | 35 | setup_open_manager_status_screen |
cdecl, no arguments, returns void, ret 0 | Opens the Manager Status screen and clears its five cached screen parameters. | high | opus | 2026-10-14-game-creation-inventory.md |
| 0x81ff10 | 816 | setup_build_manager_status_screen |
cdecl, no arguments, returns void, ret 0 | Builds the Manager Status screen, listing each human manager with their club and playing state, plus the server address and add or finish buttons. | high | opus | 2026-10-13-screen-stack-inventory.md, 2026-10-14-game-creation-inventory.md, 2026-10-14-start-new-game-inventory.md, 2026-10-14-start-screen-helpers.md |
| 0x820950 | 308 | setup_handle_manager_status_input |
cdecl (short item_index, -1 for none) returns int screen result code, ret 0 | Handles input on Manager Status, refreshing when manager counts change, opening resume control for a manager row and finishing on code 0x19. | high | opus | 2026-10-13-screen-stack-inventory.md, 2026-10-14-game-creation-inventory.md, 2026-10-14-start-new-game-inventory.md, 2026-10-14-start-screen-helpers.md |
| 0x820d40 | 131 | setup_add_human_manager |
cdecl, no arguments, returns void, ret 0 | Claims a free human manager record, resets its names, sets a 1966 birth date and language nationality, then opens Enter Name. | high | opus | 2026-10-14-game-creation-inventory.md, 2026-10-14-start-new-game-inventory.md, 2026-10-14-start-screen-helpers.md |
| 0x820f50 | 462 | setup_build_enter_name_screen |
cdecl, no arguments, returns void, ret 0 | Builds the Enter Name screen with first name, second name, password and re-type entry fields plus Cancel and Next buttons. | high | opus | 2026-10-14-game-creation-inventory.md |
| 0x821520 | 295 | setup_handle_enter_name_input |
cdecl (short item_index, -1 for none) returns int screen result code, ret 0 | Handles input on Enter Name, checking the names are filled and the passwords match, then opening Select Nationality. | high | opus | 2026-10-14-game-creation-inventory.md |
| 0x821900 | 517 | setup_build_select_nationality_screen |
cdecl, no arguments, returns void, ret 0 | Builds the Select Nationality screen with an all or major nations filter and a scrolled list of nations. | high | opus | 2026-10-14-game-creation-inventory.md |
| 0x822040 | 176 | setup_handle_select_nationality_input |
cdecl (short item_index, -1 for none) returns int screen result code, ret 0 | Handles input on Select Nationality, setting the nation filter or the manager nationality, and on Next opening Select Team. | high | opus | 2026-10-14-game-creation-inventory.md |
| 0x822260 | 525 | setup_build_select_team_screen |
cdecl, no arguments, returns void, ret 0 | Builds the Select Team screen, listing the clubs of the chosen nation as scrolled rows for the new manager. | high | opus | 2026-10-14-game-creation-inventory.md |
| 0x8228f0 | 112 | select_team_screen_handle_input |
cdecl(short clicked_widget) ret 0, returns a screen result code (0, -11 or a side bar result) | Handles input on the Select Team screen, switching the listed nation on widget 0x1f, returning on Next and passing other clicks to the side bar. | high | opus | 2026-10-14-game-creation-inventory.md |
| 0x822a60 | 16 | open_take_control_confirm |
cdecl(club *club) ret 0 | Pushes the Please Confirm take control box and stores the clicked club in screen slot 0. | high | opus | 2026-10-14-game-creation-inventory.md |
| 0x822aa0 | 125 | take_control_confirm_build |
cdecl(void) ret 0 | Builds the Please Confirm box that asks whether the manager takes control of the club in slot 0, with No and Yes buttons. | high | opus | 2026-10-14-game-creation-inventory.md |
| 0x822c50 | 188 | take_control_confirm_handle_input |
cdecl(short clicked_widget) ret 0, returns -2, -4, -10 or a side bar result | Handles the take control box, refusing clubs already human run or in a match, else marking the manager active and appointing him. | high | opus | 2026-10-14-game-creation-inventory.md |
| 0x822ec0 | 153 | enter_password_box_build |
cdecl(void) ret 0 | Builds the Enter Password box for the human manager in slot 0, with a password entry field and a Cancel button. | high | opus | 2026-10-14-game-creation-inventory.md |
| 0x8230b0 | 273 | enter_password_box_handle_input |
cdecl(short clicked_widget) ret 0, returns -4, -9, -11 or a side bar result | Checks the typed password of a human manager, accepting the master password, then resumes control of that manager or reports an error. | high | opus | 2026-10-14-game-creation-inventory.md |
| 0x823420 | 176 | resume_control_confirm_build |
cdecl(void) ret 0 | Builds the Please Confirm box that asks whether to resume control of the manager's nation, club or both, with No and Yes buttons. | high | opus | 2026-10-14-game-creation-inventory.md |
| 0x823660 | 162 | resume_control_confirm_handle_input |
cdecl(short clicked_widget) ret 0, returns -4, -9 or a side bar result | Handles the resume control box, closing on No and on Yes claiming the manager slot unless another player already controls it. | high | opus | 2026-10-14-game-creation-inventory.md |
| 0x823890 | 44 (+1 unwind) | open_game_settings_box |
cdecl(int origin) ret 0 | Pushes the Game Settings box with a copy of the live settings in slot 0 and the opening origin in slot 1. | high | opus | 2026-10-13-screen-stack-inventory.md, 2026-10-14-start-screen-helpers.md, 2026-10-14-start-screen-spec.md, 2026-10-16-options-screen.md, setup.c |
| 0x823930 | 11 | open_game_settings_from_side_bar |
cdecl(int item) ret 0 | Opens the Game Settings box from the in-game side bar, passing origin 2 or 3 by the side bar item. | high | opus | 2026-10-13-screen-stack-inventory.md, 2026-10-14-start-screen-helpers.md, 2026-10-14-start-screen-spec.md, 2026-10-16-options-screen.md, menubar.c, options_screen.c |
| 0x8259a0 | 275 | game_settings_box_handle_input |
cdecl(short clicked_widget) ret 0, returns -9, -11 or a side bar result | Handles the Game Settings box, resetting, cancelling or applying the settings copy and changing language, currency, font and other rows. | high | opus | 2026-10-16-options-screen.md, options_screen.c |
| 0x825cc0 | 25 | open_hall_of_fame_screen |
cdecl(void) ret 0 | Pushes the Hall of Fame screen and clears its first three screen slots. | high | opus | |
| 0x825d10 | 738 (+2 unwind) | hall_of_fame_screen_build |
cdecl(void) ret 0 | Builds the Hall of Fame screen with the nation tabs, a File menu with Save As Text and Merge In, and the list of records. | high | opus | 2026-10-13-screen-stack-inventory.md |
| 0x826690 | 291 | hall_of_fame_screen_handle_input |
cdecl(short clicked_widget) ret 0, returns -4, -11 or a side bar result | Handles the Hall of Fame screen, switching nation tabs and opening file dialogs to export the list as text or merge in a file. | high | opus | 2026-10-13-screen-stack-inventory.md |
| 0x826a60 | 17 | open_disk_full_box |
cdecl(int reason) ret 0 | Pushes the Disk Full box and stores the reason code in screen slot 0. | high | opus | |
| 0x826aa0 | 109 | disk_full_box_build |
cdecl(void) ret 0 | Builds the Disk Full box, choosing one of four not enough free disk space messages by the reason in slot 0. | high | opus | 2026-10-14-game-creation-inventory.md, 2026-10-14-start-new-game-inventory.md |
| 0x826c20 | 67 | disk_full_box_handle_input |
cdecl(short clicked_widget) ret 0, returns -5, -9, 0 or a side bar result | Handles the Disk Full box, closing it on its button and returning 0 on Back, else passing the click to the side bar. | high | opus | 2026-10-14-game-creation-inventory.md, 2026-10-14-start-new-game-inventory.md |
| 0x826ce0 | 17 | open_no_memory_box |
cdecl(int reason) ret 0 | Pushes the No Memory box and stores the reason code in screen slot 0. | high | opus | |
| 0x826d20 | 91 | no_memory_box_build |
cdecl(void) ret 0 | Builds the No Memory box, choosing one of four not enough system memory messages by the reason in slot 0. | high | opus | 2026-10-13-screen-stack-inventory.md, 2026-10-14-game-creation-inventory.md, 2026-10-14-start-new-game-inventory.md |
| 0x826e60 | 67 | no_memory_box_handle_input |
cdecl(short clicked_widget) ret 0, returns -5, -9, 0 or a side bar result | Handles the No Memory box, closing it on its button and returning 0 on Back, else passing the click to the side bar. | high | opus | 2026-10-13-screen-stack-inventory.md, 2026-10-14-game-creation-inventory.md, 2026-10-14-start-new-game-inventory.md |
| 0x826f20 | 147 | appoint_human_manager_to_club |
cdecl(staff *manager, club *club) ret 0, returns 1 or 0 on a null argument | Moves out the club's current manager, sets the human manager's reputation from the club and appoints him to the club. | medium | opus | 2026-10-14-game-creation-inventory.md |
| 0x827110 | 886 | create_game_from_setup_file |
cdecl(const char *cfg_path, const char *qst_name) ret 0, returns 1 or 0 | Reads an auto setup file of DATABASE, LEAGUES and LANGUAGE lines, creates the game, then saves a quick start or adds a random human manager. | high | opus | 2026-10-13-database-inventory.md, 2026-10-15-holiday-next-match-inventory.md |
| 0x827d50 | 208 | select_default_league_by_language |
cdecl(void) ret 0, returns 1 or 0 on assert | Clears every nation's league flag, then marks the one nation chosen by the game language as the selected and foreground league. | high | opus | 2026-10-14-game-creation-inventory.md, 2026-10-14-select-leagues-spec.md, 2026-10-14-start-new-game-inventory.md, 2026-10-16-options-screen.md, setup.c |
| 0x828110 | 2879 (+38 unwind) | create_game |
cdecl(int quick_start_flag) ret 0, returns 1 on success or 0 | Checks for the CD, loads the database and builds every game subsystem for a new game, showing the Initialising game data progress. | high | opus | 2026-10-13-database-inventory.md, 2026-10-14-game-creation-inventory.md, 2026-10-14-game-setup-spec.md, 2026-10-14-start-new-game-inventory.md, 2026-10-16-research-name-check.md, 2026-10-16-sweep-season-end.md, setup.c, waits.c |
| 0x82a9c0 | 4064 (+40 unwind) | load_game_data |
cdecl(const char *save_path) ret 0, returns 1 on success or 0 | Unpacks a saved game into the temporary folder, reads general.dat and its runtime data, and rebuilds every game subsystem. | high | opus | 2026-10-13-database-inventory.md, 2026-10-15-holiday-next-match-inventory.md, 2026-10-16-tactics-inventory.md, tactics.c |
| 0x82e430 | 1876 (+1 unwind) | save_game_data |
cdecl(const char *save_path, int save_type) ret 0, returns 1 on success or 0 | Writes general.dat and every subsystem into the temporary folder, then packs the temporary files into the saved game file. | high | opus | 2026-10-15-contract-clauses.md, HANDOVER.md, testrun.c |
| 0x82ff40 | 424 | free_game_data |
cdecl(int flag, nonzero also calls 0x7fc5e0) ret 0, returns 1 | Deletes every global game subsystem object, deletes the temporary *.tmp files and resets the game state globals when a game ends. | high | opus | 2026-10-16-sweep-season-end.md |
| 0x830520 | 76 | setup_set_game_start_date |
cdecl, no arguments, returns int 1 when a selected league entry is found else 0 (create_game ignores it), ret 0 | Sets the game start date from the first selected nation's league entry and caps a European 2001 start at the first of September. | high | sonnet | 2026-10-14-game-creation-inventory.md, 2026-10-16-research-name-check.md, 2026-10-16-season-change-points.md, 2026-10-16-sweep-season-end.md |
| 0x830620 | 302 (+7 unwind) | create_world_cup_qualifying_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the World Cup and its six continental qualifying competitions into a league table entry, or reports a memory error. | high | opus | 2026-10-14-game-creation-inventory.md, 2026-10-14-start-new-game-inventory.md, 2026-10-16-research-name-check.md, 2026-10-16-sweep-international.md, key_nation.c |
| 0x830ac0 | 339 (+8 unwind) | create_other_int_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Olympics, European Championship and its qualifiers, continental nations cups and the Confederations Cup when it has a host. | high | opus | 2026-10-14-start-new-game-inventory.md, 2026-10-16-research-name-check.md, 2026-10-16-sweep-international.md, int-continental.md, key_nation.c |
| 0x830fe0 | 207 (+3 unwind) | create_world_club_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Club World Championship and the Intercontinental Cup, plus the Inter-American Cup when its record exists. | high | opus | 2026-10-16-research-name-check.md, 2026-10-16-sweep-europe.md, key_nation.c |
| 0x8312e0 | 231 (+4 unwind) | create_european_club_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the European Cup, UEFA Cup, Intertoto Cup and European Super Cup when a European nation is selected. | high | opus | 2026-10-16-research-name-check.md, 2026-10-16-sweep-europe.md, key_nation.c |
| 0x831650 | 181 (+2 unwind) | create_north_american_club_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the CONCACAF Champions Cup and its Merchandising Cup when a North American nation is selected. | high | opus | 2026-10-16-research-name-check.md, 2026-10-16-sweep-europe.md, key_nation.c |
| 0x8318f0 | 184 (+2 unwind) | create_south_american_club_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Copa Libertadores and the Mercosur competition when a South American nation is selected. | high | opus | 2026-10-16-research-name-check.md, 2026-10-16-sweep-europe.md, key_nation.c |
| 0x831ba0 | 210 (+3 unwind) | create_asian_club_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Asian Club Championship, Asian Cup Winners Cup and Asian Super Cup when an Asian nation is selected. | high | opus | 2026-10-16-research-name-check.md, 2026-10-16-sweep-europe.md, key_nation.c |
| 0x831eb0 | 155 (+1 unwind) | create_oceania_club_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Oceania Club Championship when an Oceania nation is selected, or reports a memory error. | high | opus | 2026-10-16-research-name-check.md, 2026-10-16-sweep-europe.md, key_nation.c |
| 0x832100 | 167 (+2 unwind) | create_argentine_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Argentine Primera and Second Division competitions into a league table entry, or reports a memory error. | high | opus | key_nation.c |
| 0x832380 | 150 (+1 unwind) | create_australian_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Australian National Soccer League into a league table entry, or reports a memory error. | high | opus | key_nation.c |
| 0x8325d0 | 254 (+5 unwind) | create_belgian_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Belgian first, second and third divisions, the cup and the super cup, or reports a memory error. | high | opus | key_nation.c |
| 0x832980 | 512 (+18 unwind) | create_brazilian_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the three Brazilian national divisions, twelve regional championships, the Brazilian Cup and the Champions Cup. | high | opus | key_nation.c |
| 0x8330b0 | 225 (+4 unwind) | create_croatian_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Croatian first division, the two second division groups and the cup, or reports a memory error. | high | opus | key_nation.c |
| 0x833400 | 224 (+4 unwind) | create_danish_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Danish premier, first and second divisions and the cup, or reports a memory error. | high | opus | key_nation.c |
| 0x833750 | 397 (+10 unwind) | create_english_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the four English leagues and four cups, adding the Conference and FA Trophy when the extra division flag is set. | high | opus | 2026-10-14-game-creation-inventory.md, 2026-10-16-sweep-season-end.md, key_nation.c |
| 0x833cf0 | 198 (+3 unwind) | create_finnish_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Finnish premier and first divisions and the cup, or reports a memory error. | high | opus | key_nation.c |
| 0x833ff0 | 272 (+6 unwind) | create_french_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the French first, second and third divisions, the cup, the league cup and the super cup. | high | opus | key_nation.c |
| 0x8343f0 | 264 (+5 unwind) | create_german_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the two Bundesligas, the cup and the league cup, adding the Regionalliga when the extra division flag is set. | high | opus | key_nation.c |
| 0x8347c0 | 225 (+4 unwind) | create_greek_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Greek premier and second divisions, the cup and the super cup, or reports a memory error. | high | opus | key_nation.c |
| 0x834b10 | 225 (+4 unwind) | create_dutch_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Dutch Eredivisie, first division, cup and super cup, or reports a memory error. | high | opus | key_nation.c |
| 0x834e60 | 329 (+8 unwind) | create_irish_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Irish premier and first divisions and six cups, or reports a memory error. | high | opus | key_nation.c |
| 0x835320 | 414 (+11 unwind) | create_italian_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds Serie A, B, C1 groups and four cups, adding the three C2 groups when the extra division flag is set. | high | opus | key_nation.c |
| 0x835900 | 244 (+5 unwind) | create_japanese_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Japanese J1 and J2 leagues, the Emperor's Cup, the J League Cup and the super cup. | high | opus | key_nation.c |
| 0x835c90 | 262 (+5 unwind) | create_northern_irish_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Northern Irish premier and first divisions, the cup, the league cup and the charity shield. | high | opus | key_nation.c |
| 0x836050 | 199 (+3 unwind) | create_norwegian_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Norwegian premier and first divisions and the cup, or reports a memory error. | high | opus | key_nation.c |
| 0x836350 | 241 (+5 unwind) | create_polish_comps |
cdecl (league table entry *entry, 0x48-byte row of 0xb63d60, null reports an error), returns int 1 on success or 0 on failure, ret 0 | Builds the Polish first and second divisions, the cup, the league cup and the super cup. | high | opus | key_nation.c |
| 0x8366e0 | 272 (+5 unwind) | create_portuguese_comps |
cdecl(league_entry* entry) returns int 1 on success or 0 on failure, ret 0 | Allocates the Portuguese competitions for a selected league table entry, sets the entry's season fields and reports a memory error on failure. | high | opus | key_nation.c |
| 0x836ac0 | 197 (+3 unwind) | create_russian_comps |
cdecl(league_entry* entry) returns int 1 on success or 0 on failure, ret 0 | Allocates the Russian competitions for a selected league table entry, sets the entry's season fields and reports a memory error on failure. | high | opus | key_nation.c |
| 0x836dc0 | 291 (+7 unwind) | create_scottish_comps |
cdecl(league_entry* entry) returns int 1 on success or 0 on failure, ret 0 | Allocates the Scottish competitions for a selected league table entry, sets the entry's season fields and reports a memory error on failure. | high | opus | key_nation.c |
| 0x837200 | 228 (+4 unwind) | create_south_korean_comps |
cdecl(league_entry* entry) returns int 1 on success or 0 on failure, ret 0 | Allocates the South Korean competitions for a selected league table entry, sets the entry's season fields and reports a memory error on failure. | high | opus | key_nation.c |
| 0x837560 | 315 (+7 unwind) | create_spanish_comps |
cdecl(league_entry* entry) returns int 1 on success or 0 on failure, ret 0 | Allocates the Spanish competitions for a selected league table entry, sets the entry's season fields and reports a memory error on failure. | high | opus | key_nation.c |
| 0x8379f0 | 241 (+4 unwind) | create_swedish_comps |
cdecl(league_entry* entry) returns int 1 on success or 0 on failure, ret 0 | Allocates the Swedish competitions for a selected league table entry, sets the entry's season fields and reports a memory error on failure. | high | opus | key_nation.c |
| 0x837d70 | 225 (+4 unwind) | create_turkish_comps |
cdecl(league_entry* entry) returns int 1 on success or 0 on failure, ret 0 | Allocates the Turkish competitions for a selected league table entry, sets the entry's season fields and reports a memory error on failure. | high | opus | key_nation.c |
| 0x8380c0 | 200 (+3 unwind) | create_united_states_comps |
cdecl(league_entry* entry) returns int 1 on success or 0 on failure, ret 0 | Allocates the United States competitions for a selected league table entry, sets the entry's season fields and reports a memory error on failure. | high | opus | key_nation.c |
| 0x8383b0 | 219 (+4 unwind) | create_welsh_comps |
cdecl(league_entry* entry) returns int 1 on success or 0 on failure, ret 0 | Allocates the Welsh competitions for a selected league table entry, sets the entry's season fields and reports a memory error on failure. | high | opus | 2026-10-14-start-new-game-inventory.md, key_nation.c |
| 0x8386f0 | 71 | build_comp_object_table |
cdecl, no arguments, returns int 1 on success or 0 on allocation failure, ret 0 | Allocates the competition object table with one slot for each club_comp record and stores every created competition at its record id. | high | opus | 2026-10-14-game-creation-inventory.md, 2026-10-16-research-name-check.md, 2026-10-16-sweep-europe.md |
| 0x8387e0 | 78 | setup_assign_restored_network_managers |
cdecl, no arguments, returns int 1 when Manager Status must open, ret 0 | On a restored network game, gives each password-free human manager to the host player slot and marks the other human managers as not in control. | medium | opus | |
| 0x8388e0 | 124 | setup_create_or_join_network_game |
cdecl(int join, const char* game_name) returns int 0 on success or -4 on failure, ret 0 | Shows the creating or joining status, hosts or joins the named network game and on failure frees game data and shows an error box. | high | opus | 2026-10-13-display-and-scrman-inventory.md, 2026-10-14-game-creation-inventory.md |
| 0x838a80 | 105 | setup_on_network_player_joined |
cdecl(short player_id), returns void, ret 0 | Handles a newly joined network player by opening Manager Status or, when no human manager waits for control, adding a new human manager. | medium | opus | |
| 0x838c00 | 25 | setup_on_network_player_left |
cdecl, no arguments, returns void, ret 0 | Handles a departed network player by freeing a half-made manager row or putting the slot's human manager on holiday, then refreshes match day state. | medium | opus | |
| 0x838c60 | 50 | find_free_human_manager_row |
cdecl, no arguments, returns staff* or 0, ret 0 | Returns the first free row among the 16 human manager staff rows at the end of the staff table, or zero when none is free. | high | opus | 2026-10-13-screen-stack-inventory.md, 2026-10-14-start-screen-helpers.md |
| 0x838d10 | 67 | count_human_managers |
cdecl(int connected_only) returns int count, ret 0 | Counts the human manager rows in use and, when asked, counts only those that a network player slot holds. | high | opus | 2026-10-16-tactics-inventory.md |
| 0x838de0 | 12 | is_current_manager_being_created |
cdecl, no arguments, returns int, ret 0 | Returns 1 when the current player slot has a manager row whose state is still being made, otherwise 0. | medium | opus | 2026-10-13-screen-stack-inventory.md, 2026-10-14-start-screen-helpers.md |
| 0x838e10 | 42 | check_saved_game_file |
cdecl(const char* path) returns char 1 when valid or 2 when not, ret 0 | Serves as the file dialog check for .sav files and accepts a file whose zip header type is 0x16. | high | opus | savename.c |
| 0x838eb0 | 252 (+1 unwind) | valid_saved_game_version |
cdecl(const char* path) returns bool, ret 0 | Opens general.dat in a saved game, reads its version id and summary, and checks that the stored version string matches this build. | high | opus | |
| 0x839290 | 49 | check_quick_start_file |
cdecl(const char* path) returns int 1 when valid or 2 when not, ret 0 | Serves as the file dialog check for .qst files and accepts a file of zip header type 0x17 whose saved version matches. | high | opus | |
| 0x839340 | 135 | nation_matches_region_filter |
cdecl(nation* nation, const char* filter) returns int, ret 0 | Tests whether a nation belongs to a region named in a setup file filter such as ALL, EUROPE, EASTERN_EUROPE, SCANDINAVIA, AMERICAS or ASIA. | high | opus | 2026-10-16-research-name-check.md, 2026-10-16-sweep-international.md |
| 0x839530 | 21 | compare_nations_by_nationality |
cdecl(nation** a, nation** b) returns int, ret 0 | Sorts nation pointers by nationality text, with null entries placed last, for the Select Nationality list. | high | opus | |
| 0x839570 | 6 | get_game_title |
cdecl, no arguments, returns char* to 0xdd70a8, ret 0 | Formats the game title into the shared title buffer and returns the buffer for screen headings. | high | opus | 2026-10-14-start-screen-helpers.md |
| 0x839590 | 6 | get_heading_colour |
cdecl(int text) returns short RGB565 colour, ret 0 | Returns the heading text colour for a non-zero argument and the heading background colour for zero. | medium | opus | 2026-10-14-start-screen-helpers.md |
| 0x8395b0 | 128 | save_fifa_transfer_rules |
cdecl(zip* save_archive), returns void, ret 0 | Writes the FIFA transfer rules state bytes into fifa_transfer_rules.zip inside the saved game archive. | high | opus | |
| 0x839760 | 131 | load_fifa_transfer_rules |
cdecl(zip* save_archive), returns void, ret 0 | Reads the FIFA transfer rules state bytes from fifa_transfer_rules.zip in a saved game and sets state 5 when the rules are in force. | high | opus | 2026-10-16-sweep-season-end.md |
| 0x839920 | 117 | fix_division_club_count |
cdecl(int comp_id, short wanted) returns void, ret 0 | Moves surplus clubs out of a division and fills a short division with the nation's best clubs from lower or no divisions. | high | opus | 2026-10-14-game-creation-inventory.md |