Skip to content

Latest commit

 

History

History
54 lines (51 loc) · 12.2 KB

comp.cpp.md

File metadata and controls

54 lines (51 loc) · 12.2 KB

comp.cpp: 46 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
0x48c580 30 Comp::Comp thiscall(Comp* this), ret 0 Constructs the Comp base object, installs the Comp vtable and sets default stage links, flags and the ruling body byte. high opus 2026-10-16-sweep-rulebooks.md
0x48c5f0 2 Comp::get_match_importance thiscall(Comp* this, 3 args ignored), returns 20, ret 0xc Default match importance of a competition, always 20. high opus
0x48c600 24 Comp::scalar_deleting_destructor thiscall(Comp* this, byte flags), ret 4 Restores the Comp vtable, frees the two owned buffers at +0x14 and +0x18 and frees the object when bit 0 of flags is set. high opus
0x48c650 18 Comp::~Comp thiscall(Comp* this), ret 0 Destroys the Comp base object, restores its vtable and frees the owned buffers at +0x14 and +0x18. high opus
0x48c690 2 Comp::add_result thiscall(Comp* this, Fixture* fixture, int arg), returns 1, ret 8 Default result handler of a competition that accepts the result and does nothing else. high opus
0x48c6a0 2 Comp::create_schedule thiscall(Comp* this, int stage, short* count, short* extra, int* is_league), returns 0, ret 0x10 Default schedule query of a competition that returns no schedule. high opus
0x48c6b0 2 Comp::announce_team_status thiscall(Comp* this, 5 args ignored), returns 0, ret 0x14 Default team status announcement of a competition that does nothing. high opus
0x48c6c0 2 Comp::update_staff_records_for_status thiscall(Comp* this, 6 args ignored), returns 0, ret 0x18 Default staff record update for a club's competition status that does nothing. high opus
0x48c6d0 330 Comp::build_fate_news_text thiscall(Comp* this, int club_index, char fate, ..., int cup_result, ..., int full_sentence, ...) ret 0x28 Builds the news headline or sentence for a club that wins, gains promotion, reaches or drops into play-offs, or gets relegated. high opus
0x48cab0 133 Comp::write_progress_text thiscall(Comp* this, char* out, int round, short comp_id, short group_id, char status, Comp* stage), ret 0x18 Writes a club's progress text in a competition, such as Group Stage, Winners, Runners Up or the round name. high opus 2026-10-16-sweep-europe.md
0x48cc70 135 Comp::find_club_progress thiscall(Comp* this, Club* club, short* out_stage_code, short* out_round_code, char* out_status), ret 0x10 Searches the stages from last to first for a club and returns the stage code, its status byte and, in a cup, the round it reached. medium opus
0x48ce10 35 Comp::all_stages_complete thiscall(Comp* this), returns bool, ret 0 Returns true when this head competition and every stage linked after it report complete. high opus 2026-10-16-crash-fixes.md, 2026-10-16-sweep-season-end.md
0x48ce60 2 Comp::check_complete thiscall(Comp* this, int arg1, int arg2), returns false, ret 8 Default completion test of a competition that always reports not complete. high opus
0x48ce70 2 shared_return_zero no arguments read, returns 0, ret 0. Used as a thiscall vtable slot and as cdecl(a, b) with the caller cleaning the stack Shared body that returns 0, used as the default season reset test of competitions and as a test in the kit choice code. high opus
0x48ce80 2 Comp::update_for_date thiscall(Comp* this, int arg1, int arg2), returns true, ret 8 Default daily update of a competition that does nothing and reports success. high opus
0x48ce90 2 shared_return_one no arguments read, returns 1, ret 0. Used as a thiscall vtable slot and as cdecl(a, b) with the caller cleaning the stack Shared body that returns 1, used as the default rule set-up of competitions and as a call in the kit choice code. high opus
0x48cea0 1 shared_noop_ret4_48cea0 one stack argument ignored, no return value, ret 4 Shared empty body that drops one argument, used for default competition save slots and one awards slot. high opus
0x48ceb0 2 shared_return_zero_ret4 one stack argument ignored, returns 0, ret 4 Shared body that drops one argument and returns 0, used for the default competition load slots. high opus
0x48cec0 263 Comp::get_current_stage thiscall(Comp* this), returns Comp* stage, ret 0 Returns the first stage that is not complete, stepping back to the start of a group set when a cup stage has not begun. medium opus
0x48d200 43 Comp::get_stage thiscall(Comp* this, int index), returns Comp*, ret 4 Returns the stage at an index, this object for index -1, or asserts when the index is out of range. medium opus
0x48d2b0 108 Comp::get_first_stage_of_group thiscall(Comp* this, int index), returns int index, ret 4 Walks back from a stage index while the stages map to the same group competition and returns the first such index. medium opus
0x48d410 64 Comp::are_round_fixtures_known thiscall(Comp* this, int stage, int round), returns bool, ret 8 Returns true when a stage is a league, or the round is before the current cup round, or is the current last round with code 0x8c. medium opus
0x48d500 412 (+5 unwind) Comp::build_match_date_list thiscall(Comp* this, int* out_count), returns 20-byte entry array, ret 4 Builds a date sorted list of all match days of every stage, with stage, round and date in each 20-byte entry. medium opus 2026-10-14-widescreen-inventory.md
0x48da90 93 comp_compare_fixture_list_entries cdecl(const Entry* a, const Entry* b) returns int, ret 0 Orders two 0x14-byte fixture list entries by date, then by competition record word +0x69 descending, then by the stage label text. high opus
0x48db80 123 Comp::includes_club thiscall(Comp* this, Club* club) returns bool, ret 4 Returns true when a club takes part in the competition, by its division and nation, else by a scan of each stage team list. medium opus
0x48dcd0 41 comp_key_nation_entry_from_active_index cdecl(char active_index) returns int entry index, ret 0 Returns the key nation table entry whose active index byte matches the argument, else shows a version error and returns 3. high opus
0x48dd70 137 comp_active_key_nation_of_fixture cdecl(ClubComp* comp, Fixture* fixture) returns char active index, ret 0 Returns the active key nation index that owns a fixture, from the competition nation or, for friendlies, from the nations of both clubs. high sonnet 2026-10-15-holiday-next-match-inventory.md
0x48dee0 36 comp_active_key_nation_of_club cdecl(Club* club) returns char active index, ret 0 Returns the active key nation index of a club nation, or 0 for a national team and 3 when its nation has no active entry. high opus 2026-10-15-holiday-next-match-inventory.md, 2026-10-16-foreign-and-tactics-positions.md
0x48df40 32 comp_active_key_nation_of_stadium cdecl(Stadium* stadium) returns char active index, ret 0 Returns the active key nation index of the nation of the stadium's city, or 3 when no active key nation matches. medium opus
0x48dfa0 164 Comp::get_club_label_text thiscall(Comp* this, char* out, Club* club, int stage_index) returns char*, ret 0xc Writes a short label for a club into a buffer, as its league position ordinal in a table stage, else its division or nation code. medium opus
0x48e180 2 Comp::get_table_layout_type thiscall(Comp* this) returns char 2, ret 0 Returns 2 as the default layout code that the competition history screens read to add the Winners tab and choose its columns. medium opus
0x48e190 17 Comp::get_fixture_match_importance thiscall(Comp* this, Fixture* fixture, int arg1, int arg2), ret 0xc Picks the stage of a fixture from its stage byte and forwards the match importance query to that stage object. high opus
0x48e1c0 132 Comp::collect_club_list thiscall(Comp* this, Club*** out_list) returns short count, ret 8 Allocates an array and fills it with up to 200 distinct clubs from all stages of the competition, returning the count. high opus 2026-10-14-widescreen-inventory.md, 2026-10-16-sweep-europe.md
0x48e360 9 Comp::counts_for_fixture_clash thiscall(Comp* this, Fixture* fixture, Fixture* other) returns bool, ret 8 Returns true when a fixture round id has round digit 0 or is 1000 or more, so the checker records a clash. medium opus 2026-10-16-sweep-europe.md
0x48e380 30 Comp::set_club_progress thiscall(Comp* this, Club* club, int arg, char code1, char code2, char code3), ret 0x14 Stores the three stage codes of a club in its Comp_Stats entry, or forwards the call to the parent competition object. high opus
0x48e3e0 134 (+1 unwind) Comp::send_prize_money_news thiscall(Comp* this, Club* club, int64 cash, char position, short round, Fixture* fixture, char kind), ret 0x1c Sends a news item of type 0x1a to a human manager when the prize money for a club reaches fifty times its reputation. high opus
0x48e590 379 (+2 unwind) Comp::write_prize_money_news_text thiscall(Comp* this, NewsItem* item, int full_text), ret 0xc Writes the headline or body text of a prize money news item for a final position, a round, a title, runners up or a match. high opus
0x48ea40 52 (+1 unwind) Comp::send_tv_rights_news thiscall(Comp* this, Club* club, int cash), ret 8 Sends a news item of type 0x1f with the TV rights money of a club to its human manager. high opus
0x48eb00 155 (+2 unwind) Comp::write_tv_rights_news_text thiscall(Comp* this, NewsItem* item, int full_text), ret 0xc Writes the headline or the body text of a news item about the TV rights money a club receives for a season. high opus
0x48ece0 98 (+1 unwind) Comp::send_promotion_relegation_override_news thiscall(Comp* this, Comp* other_comp, Club* club, Club* parent_club, char kind), ret 0x10 Posts a news item of type 0x23 for a club forced down by its parent club or refused promotion, to this and the other competition. high opus
0x48ee40 259 Comp::write_promotion_relegation_override_news_text thiscall(Comp* this, NewsItem* item, int full_text), ret 0xc Writes the text of a news item for a reserve club relegated because of its parent club, or a promotion cancelled for the stadium. high opus 2026-10-16-stadium-research.md
0x48f150 140 Comp::is_club_still_in_contention thiscall(Comp* this, Club* club) returns bool, ret 4 Returns true while a club is still in contention in a competitive competition, false once its stats or league status show it is out. medium opus
0x48f2d0 34 Comp::set_fixture_substitutes thiscall(Comp* this, Fixture* fixture), ret 4 Packs the named and used substitute counts of the competition into the substitutes word of a fixture, or defers to the parent competition. high opus 2026-10-16-research-name-check.md, 2026-10-16-sweep-season-end.md
0x48f340 65 (+1 unwind) Comp::get_first_schedule_date thiscall(Comp* this, Date* out) returns Date*, ret 4 Builds the schedule of the competition, returns the date of its first entry offset by the season year, and frees the schedule. medium opus
0x48f410 20 comp_compare_average_rows cdecl(const AvgRow* a, const AvgRow* b) returns int, ret 0 Orders two 0x13-byte relegation average rows by the float points average descending, then by the club pointer. medium opus
0x48f450 29 comp_compare_average_rows_by_season cdecl(const AvgRow* a, const AvgRow* b) returns int, ret 0 Orders two 0x13-byte relegation average rows by the points of the season column that a global index selects, descending, then by club. medium opus