MCPcopy Create free account
hub / github.com/WolfireGames/overgrowth / DrawUpdateToSteamworks

Function DrawUpdateToSteamworks

Source/GUI/dimgui/modmenu.cpp:879–1202  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

877}
878
879static void DrawUpdateToSteamworks() {
880 ModInstance* target_modi = ModLoading::Instance().GetMod(update_to_sid);
881 ModInstance* source_modi = NULL;
882
883 static int currently_selected_source = 0;
884
885 ImGui::SetNextWindowSize(ImVec2(1024.0f, 768.0f), ImGuiCond_FirstUseEver);
886 ImGui::Begin("Steamworks Mod Update Upload", &show_update_to_steamworks);
887#if ENABLE_STEAMWORKS
888 SteamworksUGC* ugc = Steamworks::Instance()->GetUGC();
889 if (ugc && target_modi) {
890 SteamworksUGCItem* uploaded_ugc_item = target_modi->GetUGCItem();
891 if (uploaded_ugc_item) {
892 std::vector<ModInstance*> possible_sources;
893
894 if (strlen(target_modi->id) == 0) {
895 possible_sources = ModLoading::Instance().GetLocalMods();
896 } else {
897 possible_sources = ModLoading::Instance().GetLocalModsMatchingID(target_modi->id.str());
898 }
899
900 if ((unsigned)currently_selected_source > possible_sources.size()) {
901 currently_selected_source = possible_sources.size();
902 }
903
904 std::vector<const char*> dropdown_names;
905
906 for (unsigned i = 0; i < possible_sources.size(); i++) {
907 dropdown_names.push_back(possible_sources[i]->name);
908 }
909
910 if (possible_sources.size() > 0 && currently_selected_source < (int)possible_sources.size()) {
911 source_modi = possible_sources[currently_selected_source];
912 }
913
914 if (source_modi) {
915 uploaded_ugc_item->SetIntendedUpdateModSource(source_modi->GetSid());
916 } else {
917 uploaded_ugc_item->SetIntendedUpdateModSource(ModID());
918 }
919
920 uint32_t source_upload_status = 0ULL;
921 if (source_modi) {
922 source_upload_status = source_modi->GetUploadValidity();
923 }
924
925 uint32_t target_upload_status = uploaded_ugc_item->VerifyForUpload();
926
927 ImGui::Columns(1);
928
929 ImGui::Combo("Local Source Mod", &currently_selected_source, &dropdown_names[0], dropdown_names.size(), 10);
930
931 ImGui::Separator();
932
933 ImGui::Text("Source Mod");
934
935 ImGui::Separator();
936

Callers 1

DrawModMenuFunction · 0.85

Calls 15

ModIDClass · 0.85
TextClass · 0.85
PushStyleColorFunction · 0.85
PopStyleColorFunction · 0.85
ProgressBarClass · 0.85
ButtonClass · 0.85
GetModMethod · 0.80
GetUGCMethod · 0.80
GetUGCItemMethod · 0.80
GetLocalModsMethod · 0.80

Tested by

no test coverage detected