├── .gitignore ├── 3rdparty ├── curl │ ├── curl.h │ ├── curlver.h │ ├── easy.h │ ├── header.h │ ├── mprintf.h │ ├── multi.h │ ├── options.h │ ├── stdcheaders.h │ ├── system.h │ ├── typecheck-gcc.h │ ├── urlapi.h │ └── websockets.h ├── gif │ ├── dgif_lib.c │ ├── egif_lib.c │ ├── getarg.h │ ├── gif_err.c │ ├── gif_font.c │ ├── gif_hash.c │ ├── gif_hash.h │ ├── gif_lib.h │ ├── gif_lib_private.h │ ├── gifalloc.c │ ├── openbsd-reallocarray.c │ ├── qprintf.c │ └── quantize.c ├── jpeg │ ├── README │ ├── cderror.h │ ├── cdjpeg.h │ ├── jaricom.c │ ├── jcapimin.c │ ├── jcapistd.c │ ├── jcarith.c │ ├── jccoefct.c │ ├── jccolor.c │ ├── jcdctmgr.c │ ├── jchuff.c │ ├── jcinit.c │ ├── jcmainct.c │ ├── jcmarker.c │ ├── jcmaster.c │ ├── jcomapi.c │ ├── jconfig.h │ ├── jcparam.c │ ├── jcprepct.c │ ├── jcsample.c │ ├── jctrans.c │ ├── jdapimin.c │ ├── jdapistd.c │ ├── jdarith.c │ ├── jdatadst.c │ ├── jdatasrc.c │ ├── jdcoefct.c │ ├── jdcolor.c │ ├── jdct.h │ ├── jddctmgr.c │ ├── jdhuff.c │ ├── jdinput.c │ ├── jdmainct.c │ ├── jdmarker.c │ ├── jdmaster.c │ ├── jdmerge.c │ ├── jdpostct.c │ ├── jdsample.c │ ├── jdtrans.c │ ├── jerror.c │ ├── jerror.h │ ├── jfdctflt.c │ ├── jfdctfst.c │ ├── jfdctint.c │ ├── jidctflt.c │ ├── jidctfst.c │ ├── jidctint.c │ ├── jinclude.h │ ├── jmemansi.c.no_build │ ├── jmemdos.c.no_build │ ├── jmemmac.c.no_build │ ├── jmemmgr.c │ ├── jmemname.c.no_build │ ├── jmemnobs.c │ ├── jmemsys.h │ ├── jmorecfg.h │ ├── jpegint.h │ ├── jpeglib.h │ ├── jquant1.c │ ├── jquant2.c │ ├── jutils.c │ ├── jversion.h │ ├── rdbmp.c │ ├── rdcolmap.c │ ├── rdgif.c │ ├── rdppm.c │ ├── rdrle.c │ ├── rdswitch.c │ ├── rdtarga.c │ ├── transupp.c │ ├── transupp.h │ ├── wrbmp.c │ ├── wrgif.c │ ├── wrppm.c │ ├── wrrle.c │ └── wrtarga.c ├── lzma │ ├── lzma.h │ └── lzma │ │ ├── base.h │ │ ├── bcj.h │ │ ├── block.h │ │ ├── check.h │ │ ├── container.h │ │ ├── delta.h │ │ ├── filter.h │ │ ├── hardware.h │ │ ├── index.h │ │ ├── index_hash.h │ │ ├── lzma12.h │ │ ├── stream_flags.h │ │ ├── version.h │ │ └── vli.h ├── md4c │ ├── entity.c │ ├── entity.h │ ├── md4c-html.c │ ├── md4c-html.h │ ├── md4c.c │ └── md4c.h ├── minizip-ng │ ├── minigzip.c │ ├── minizip.c │ ├── mz.h │ ├── mz_compat.c │ ├── mz_compat.h │ ├── mz_crypt.c │ ├── mz_crypt.h │ ├── mz_crypt_apple.c │ ├── mz_crypt_openssl.c │ ├── mz_crypt_winvista.c │ ├── mz_crypt_winxp.c │ ├── mz_os.c │ ├── mz_os.h │ ├── mz_os_posix.c │ ├── mz_os_win32.c │ ├── mz_strm.c │ ├── mz_strm.h │ ├── mz_strm_buf.c │ ├── mz_strm_buf.h │ ├── mz_strm_bzip.c │ ├── mz_strm_bzip.h │ ├── mz_strm_libcomp.c │ ├── mz_strm_libcomp.h │ ├── mz_strm_lzma.c │ ├── mz_strm_lzma.h │ ├── mz_strm_mem.c │ ├── mz_strm_mem.h │ ├── mz_strm_os.h │ ├── mz_strm_os_posix.c │ ├── mz_strm_os_win32.c │ ├── mz_strm_pkcrypt.c │ ├── mz_strm_pkcrypt.h │ ├── mz_strm_split.c │ ├── mz_strm_split.h │ ├── mz_strm_wzaes.c │ ├── mz_strm_wzaes.h │ ├── mz_strm_zlib.c │ ├── mz_strm_zlib.h │ ├── mz_strm_zstd.c │ ├── mz_strm_zstd.h │ ├── mz_zip.c │ ├── mz_zip.h │ ├── mz_zip_rw.c │ └── mz_zip_rw.h ├── png │ ├── png.c │ ├── png.h │ ├── pngconf.h │ ├── pngdebug.h │ ├── pngerror.c │ ├── pngget.c │ ├── pnginfo.h │ ├── pnglibconf.h │ ├── pngmem.c │ ├── pngpread.c │ ├── pngpriv.h │ ├── pngread.c │ ├── pngrio.c │ ├── pngrtran.c │ ├── pngrutil.c │ ├── pngset.c │ ├── pngstruct.h │ ├── pngtrans.c │ ├── pngwio.c │ ├── pngwrite.c │ ├── pngwtran.c │ └── pngwutil.c ├── pugixml │ ├── pugiconfig.hpp │ ├── pugixml.cpp │ └── pugixml.hpp ├── xxhash │ ├── xxh3.h │ ├── xxhash.c │ └── xxhash.h ├── zlib-ng │ ├── zconf.h │ ├── zlib.h │ └── zlib_name_mangling.h └── zstd │ └── zstd.h ├── CREDITS ├── LICENSE ├── OpenModMan.cbp ├── README.md ├── art ├── buttons_icons.svg ├── dialogs_icons.svg ├── editor_badge.svg ├── listview_items.svg ├── listview_status.svg ├── omb_icon.svg ├── omk_icon.svg ├── omm_icon.svg ├── omp_icon.svg ├── omx_icon.svg ├── puzzles.svg ├── rouage.svg ├── setup_icon.svg ├── setup_splash.svg └── wiz_splash.svg ├── dll ├── 32-bit │ ├── libcurl.dll │ ├── liblzma.dll │ ├── libzstd.dll │ └── zlib1.dll └── 64-bit │ ├── libcurl-x64.dll │ ├── liblzma.dll │ ├── libzstd.dll │ └── zlib1.dll ├── help ├── en │ ├── 0A_presentation.html │ ├── 1A_manager.html │ ├── 2A_context.html │ ├── 2B_location.html │ └── 2C_package.html ├── images │ ├── 1A_interface.png │ ├── 2A_ctx_home.png │ ├── 2A_ctx_prop_bat.png │ ├── 2A_ctx_prop_loc.png │ ├── 2A_ctx_prop_stg_btn_open.png │ ├── 2A_ctx_prop_stg_btn_trash.png │ ├── 2B_ctx_prop_loc_btn_new.png │ ├── 2B_loc_home.png │ ├── 2B_loc_prop_net.png │ ├── 2C_pkg_arch.png │ ├── gui_main_lib.png │ ├── icon_info.png │ ├── icon_note.png │ └── icon_warn.png └── style.css ├── include ├── OmArchive.h ├── OmBase.h ├── OmBaseApp.h ├── OmBaseUi.h ├── OmBaseWin.h ├── OmConnect.h ├── OmDialog.h ├── OmDialogProp.h ├── OmDialogPropTab.h ├── OmDialogWiz.h ├── OmDialogWizPage.h ├── OmDirNotify.h ├── OmImage.h ├── OmModBack.h ├── OmModChan.h ├── OmModHub.h ├── OmModMan.h ├── OmModPack.h ├── OmModPset.h ├── OmNetPack.h ├── OmNetRepo.h ├── OmUi │ ├── OmUiAddChn.h │ ├── OmUiAddPst.h │ ├── OmUiAddRep.h │ ├── OmUiHelpAbt.h │ ├── OmUiHelpLog.h │ ├── OmUiMan.h │ ├── OmUiManFoot.h │ ├── OmUiManFootDet.h │ ├── OmUiManFootGal.h │ ├── OmUiManFootOvw.h │ ├── OmUiManMain.h │ ├── OmUiManMainLib.h │ ├── OmUiManMainNet.h │ ├── OmUiPictView.h │ ├── OmUiPropChn.h │ ├── OmUiPropChnBck.h │ ├── OmUiPropChnDnl.h │ ├── OmUiPropChnLib.h │ ├── OmUiPropChnNet.h │ ├── OmUiPropChnStg.h │ ├── OmUiPropHub.h │ ├── OmUiPropHubChn.h │ ├── OmUiPropHubPst.h │ ├── OmUiPropHubStg.h │ ├── OmUiPropMan.h │ ├── OmUiPropManGle.h │ ├── OmUiPropMod.h │ ├── OmUiPropModBck.h │ ├── OmUiPropModCmn.h │ ├── OmUiPropModSrc.h │ ├── OmUiPropNet.h │ ├── OmUiPropNetDet.h │ ├── OmUiPropPst.h │ ├── OmUiPropPstLst.h │ ├── OmUiPropPstStg.h │ ├── OmUiToolPkg.h │ ├── OmUiToolRep.h │ ├── OmUiWizChn.h │ ├── OmUiWizChnBeg.h │ ├── OmUiWizChnCus.h │ ├── OmUiWizChnTgt.h │ ├── OmUiWizHub.h │ ├── OmUiWizHubBeg.h │ ├── OmUiWizHubCfg.h │ ├── OmUiWizRep.h │ ├── OmUiWizRepBeg.h │ ├── OmUiWizRepCfg.h │ └── OmUiWizRepQry.h ├── OmUtil │ ├── OmUtilAlg.h │ ├── OmUtilB64.h │ ├── OmUtilDlg.h │ ├── OmUtilErr.h │ ├── OmUtilFs.h │ ├── OmUtilHsh.h │ ├── OmUtilImg.h │ ├── OmUtilPkg.h │ ├── OmUtilRtf.h │ ├── OmUtilStr.h │ ├── OmUtilSys.h │ ├── OmUtilWin.h │ └── OmUtilZip.h ├── OmVersion.h └── OmXmlConf.h ├── lib ├── 32-bit │ ├── libcrypto.a │ ├── libcrypto.dll.a │ ├── libcurl.a │ ├── libcurl.dll.a │ ├── liblzma.a │ ├── libssl.a │ ├── libssl.dll.a │ ├── libzstd.dll.a │ ├── zlib.lib │ └── zlibstatic.lib └── 64-bit │ ├── libcrypto.a │ ├── libcrypto.dll.a │ ├── libcurl.a │ ├── libcurl.dll.a │ ├── liblzma.a │ ├── libssl.a │ ├── libssl.dll.a │ ├── libzstd.dll.a │ ├── zlib.lib │ └── zlibstatic.lib ├── main.cpp ├── manifest.dbg ├── manifest.xml ├── plugins ├── md4c-rtf │ ├── md4c-rtf.c │ └── md4c-rtf.h └── md5 │ ├── md5.c │ └── md5.h ├── res ├── images │ ├── bt_abt.ico │ ├── bt_add.ico │ ├── bt_add_chn.ico │ ├── bt_add_img.ico │ ├── bt_add_pkg.ico │ ├── bt_add_pst.ico │ ├── bt_add_rep.ico │ ├── bt_add_txt.ico │ ├── bt_bld.ico │ ├── bt_clo.ico │ ├── bt_dad.ico │ ├── bt_dn.ico │ ├── bt_dpn.ico │ ├── bt_edi.ico │ ├── bt_ent.ico │ ├── bt_exi.ico │ ├── bt_fad.ico │ ├── bt_frm.ico │ ├── bt_imp.ico │ ├── bt_imp_pkg.ico │ ├── bt_log.ico │ ├── bt_new.ico │ ├── bt_nfo.ico │ ├── bt_not.ico │ ├── bt_opn.ico │ ├── bt_ref.ico │ ├── bt_rem.ico │ ├── bt_run.ico │ ├── bt_sav.ico │ ├── bt_sva.ico │ ├── bt_svd.ico │ ├── bt_toolpkg.ico │ ├── bt_toolrep.ico │ ├── bt_up.ico │ ├── bt_val.ico │ ├── bt_wrn.ico │ ├── btn_don.bmp │ ├── btn_don_hov.bmp │ ├── dlg_err.ico │ ├── dlg_nfo.ico │ ├── dlg_pkg_add.ico │ ├── dlg_pkg_bld.ico │ ├── dlg_pkg_del.ico │ ├── dlg_pkg_err.ico │ ├── dlg_pkg_owr.ico │ ├── dlg_pkg_wrn.ico │ ├── dlg_qry.ico │ ├── dlg_wrn.ico │ ├── itm_chn_16.bmp │ ├── itm_chn_24.bmp │ ├── itm_dir_16.bmp │ ├── itm_dir_24.bmp │ ├── itm_fil_16.bmp │ ├── itm_fil_24.bmp │ ├── itm_mod_dir_16.bmp │ ├── itm_mod_dir_24.bmp │ ├── itm_mod_dpn_16.bmp │ ├── itm_mod_dpn_24.bmp │ ├── itm_mod_err_16.bmp │ ├── itm_mod_err_24.bmp │ ├── itm_mod_pkg_16.bmp │ ├── itm_mod_pkg_24.bmp │ ├── itm_pst_16.bmp │ ├── itm_pst_24.bmp │ ├── itm_rep_16.bmp │ ├── itm_rep_24.bmp │ ├── sc_thmb_blank.bmp │ ├── sc_thmb_dir.bmp │ ├── sc_thmb_pkg.bmp │ ├── sc_wiz_chn.bmp │ ├── sc_wiz_hub.bmp │ ├── sc_wiz_rep.bmp │ ├── setup_inst.ico │ ├── setup_splash.bmp │ ├── setup_unin.ico │ ├── sts_brk_16.bmp │ ├── sts_brk_24.bmp │ ├── sts_chk_16.bmp │ ├── sts_chk_24.bmp │ ├── sts_dng_16.bmp │ ├── sts_dng_24.bmp │ ├── sts_dnl_16.bmp │ ├── sts_dnl_24.bmp │ ├── sts_dpn_16.bmp │ ├── sts_dpn_24.bmp │ ├── sts_err_16.bmp │ ├── sts_err_24.bmp │ ├── sts_new_16.bmp │ ├── sts_new_24.bmp │ ├── sts_ovr_16.bmp │ ├── sts_ovr_24.bmp │ ├── sts_que_16.bmp │ ├── sts_que_24.bmp │ ├── sts_rb0_16.bmp │ ├── sts_rb0_24.bmp │ ├── sts_rb1_16.bmp │ ├── sts_rb1_24.bmp │ ├── sts_res_16.bmp │ ├── sts_res_24.bmp │ ├── sts_upg_16.bmp │ ├── sts_upg_24.bmp │ ├── sts_wip_16.bmp │ ├── sts_wip_24.bmp │ ├── sts_wrn_16.bmp │ ├── sts_wrn_24.bmp │ ├── sys_icon_omm.ico │ ├── sys_icon_omx.ico │ ├── sys_icon_ozb.ico │ └── sys_icon_ozp.ico ├── resource.h └── resources.rc ├── screenshot.png ├── setup ├── OpenModMan.nsh ├── OpenModMan_Portable.ps1 ├── setup-x64.nsi └── setup-x86.nsi └── src ├── OmArchive.cpp ├── OmConnect.cpp ├── OmDialog.cpp ├── OmDialogProp.cpp ├── OmDialogPropTab.cpp ├── OmDialogWiz.cpp ├── OmDialogWizPage.cpp ├── OmDirNotify.cpp ├── OmImage.cpp ├── OmModChan.cpp ├── OmModHub.cpp ├── OmModMan.cpp ├── OmModPack.cpp ├── OmModPset.cpp ├── OmNetPack.cpp ├── OmNetRepo.cpp ├── OmUi ├── OmUiAddChn.cpp ├── OmUiAddPst.cpp ├── OmUiAddRep.cpp ├── OmUiHelpAbt.cpp ├── OmUiHelpLog.cpp ├── OmUiMan.cpp ├── OmUiManFoot.cpp ├── OmUiManFootDet.cpp ├── OmUiManFootGal.cpp ├── OmUiManFootOvw.cpp ├── OmUiManMain.cpp ├── OmUiManMainLib.cpp ├── OmUiManMainNet.cpp ├── OmUiMgrMainTst.cpp ├── OmUiPictView.cpp ├── OmUiPropChn.cpp ├── OmUiPropChnBck.cpp ├── OmUiPropChnDnl.cpp ├── OmUiPropChnLib.cpp ├── OmUiPropChnNet.cpp ├── OmUiPropChnStg.cpp ├── OmUiPropHub.cpp ├── OmUiPropHubChn.cpp ├── OmUiPropHubPst.cpp ├── OmUiPropHubStg.cpp ├── OmUiPropMan.cpp ├── OmUiPropManGle.cpp ├── OmUiPropMod.cpp ├── OmUiPropModBck.cpp ├── OmUiPropModCmn.cpp ├── OmUiPropModSrc.cpp ├── OmUiPropNet.cpp ├── OmUiPropNetDet.cpp ├── OmUiPropPst.cpp ├── OmUiPropPstLst.cpp ├── OmUiPropPstStg.cpp ├── OmUiToolPkg.cpp ├── OmUiToolRep.cpp ├── OmUiWizChn.cpp ├── OmUiWizChnBeg.cpp ├── OmUiWizChnCus.cpp ├── OmUiWizChnTgt.cpp ├── OmUiWizHub.cpp ├── OmUiWizHubBeg.cpp ├── OmUiWizHubCfg.cpp ├── OmUiWizRep.cpp ├── OmUiWizRepBeg.cpp ├── OmUiWizRepCfg.cpp └── OmUiWizRepQry.cpp ├── OmUtil ├── OmUtilAlg.cpp ├── OmUtilB64.cpp ├── OmUtilDlg.cpp ├── OmUtilErr.cpp ├── OmUtilFs.cpp ├── OmUtilHsh.cpp ├── OmUtilImg.cpp ├── OmUtilPkg.cpp ├── OmUtilRtf.cpp ├── OmUtilStr.cpp ├── OmUtilSys.cpp ├── OmUtilWin.cpp └── OmUtilZip.cpp ├── OmVersion.cpp └── OmXmlConf.cpp /.gitignore: -------------------------------------------------------------------------------- 1 | *.layout 2 | *.depend 3 | bin/ 4 | obj/ 5 | art/*.png 6 | setup/*.exe 7 | setup/*.zip 8 | setup/OpenModMan_x86/ 9 | setup/OpenModMan_x64/ 10 | 11 | -------------------------------------------------------------------------------- /3rdparty/curl/mprintf.h: -------------------------------------------------------------------------------- 1 | #ifndef CURLINC_MPRINTF_H 2 | #define CURLINC_MPRINTF_H 3 | /*************************************************************************** 4 | * _ _ ____ _ 5 | * Project ___| | | | _ \| | 6 | * / __| | | | |_) | | 7 | * | (__| |_| | _ <| |___ 8 | * \___|\___/|_| \_\_____| 9 | * 10 | * Copyright (C) Daniel Stenberg, , et al. 11 | * 12 | * This software is licensed as described in the file COPYING, which 13 | * you should have received as part of this distribution. The terms 14 | * are also available at https://curl.se/docs/copyright.html. 15 | * 16 | * You may opt to use, copy, modify, merge, publish, distribute and/or sell 17 | * copies of the Software, and permit persons to whom the Software is 18 | * furnished to do so, under the terms of the COPYING file. 19 | * 20 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 21 | * KIND, either express or implied. 22 | * 23 | * SPDX-License-Identifier: curl 24 | * 25 | ***************************************************************************/ 26 | 27 | #include 28 | #include /* needed for FILE */ 29 | #include "curl.h" /* for CURL_EXTERN */ 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | #if (defined(__GNUC__) || defined(__clang__)) && \ 36 | defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \ 37 | !defined(__MINGW32__) && !defined(CURL_NO_FMT_CHECKS) 38 | #define CURL_TEMP_PRINTF(a,b) __attribute__ ((format(printf, a, b))) 39 | #else 40 | #define CURL_TEMP_PRINTF(a,b) 41 | #endif 42 | 43 | CURL_EXTERN int curl_mprintf(const char *format, ...) CURL_TEMP_PRINTF(1, 2); 44 | CURL_EXTERN int curl_mfprintf(FILE *fd, const char *format, ...) 45 | CURL_TEMP_PRINTF(2, 3); 46 | CURL_EXTERN int curl_msprintf(char *buffer, const char *format, ...) 47 | CURL_TEMP_PRINTF(2, 3); 48 | CURL_EXTERN int curl_msnprintf(char *buffer, size_t maxlength, 49 | const char *format, ...) CURL_TEMP_PRINTF(3, 4); 50 | CURL_EXTERN int curl_mvprintf(const char *format, va_list args) 51 | CURL_TEMP_PRINTF(1, 0); 52 | CURL_EXTERN int curl_mvfprintf(FILE *fd, const char *format, va_list args) 53 | CURL_TEMP_PRINTF(2, 0); 54 | CURL_EXTERN int curl_mvsprintf(char *buffer, const char *format, va_list args) 55 | CURL_TEMP_PRINTF(2, 0); 56 | CURL_EXTERN int curl_mvsnprintf(char *buffer, size_t maxlength, 57 | const char *format, va_list args) 58 | CURL_TEMP_PRINTF(3, 0); 59 | CURL_EXTERN char *curl_maprintf(const char *format, ...) 60 | CURL_TEMP_PRINTF(1, 2); 61 | CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args) 62 | CURL_TEMP_PRINTF(1, 0); 63 | 64 | #undef CURL_TEMP_PRINTF 65 | 66 | #ifdef __cplusplus 67 | } /* end of extern "C" */ 68 | #endif 69 | 70 | #endif /* CURLINC_MPRINTF_H */ 71 | -------------------------------------------------------------------------------- /3rdparty/curl/options.h: -------------------------------------------------------------------------------- 1 | #ifndef CURLINC_OPTIONS_H 2 | #define CURLINC_OPTIONS_H 3 | /*************************************************************************** 4 | * _ _ ____ _ 5 | * Project ___| | | | _ \| | 6 | * / __| | | | |_) | | 7 | * | (__| |_| | _ <| |___ 8 | * \___|\___/|_| \_\_____| 9 | * 10 | * Copyright (C) Daniel Stenberg, , et al. 11 | * 12 | * This software is licensed as described in the file COPYING, which 13 | * you should have received as part of this distribution. The terms 14 | * are also available at https://curl.se/docs/copyright.html. 15 | * 16 | * You may opt to use, copy, modify, merge, publish, distribute and/or sell 17 | * copies of the Software, and permit persons to whom the Software is 18 | * furnished to do so, under the terms of the COPYING file. 19 | * 20 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 21 | * KIND, either express or implied. 22 | * 23 | * SPDX-License-Identifier: curl 24 | * 25 | ***************************************************************************/ 26 | 27 | #ifdef __cplusplus 28 | extern "C" { 29 | #endif 30 | 31 | typedef enum { 32 | CURLOT_LONG, /* long (a range of values) */ 33 | CURLOT_VALUES, /* (a defined set or bitmask) */ 34 | CURLOT_OFF_T, /* curl_off_t (a range of values) */ 35 | CURLOT_OBJECT, /* pointer (void *) */ 36 | CURLOT_STRING, /* (char * to null-terminated buffer) */ 37 | CURLOT_SLIST, /* (struct curl_slist *) */ 38 | CURLOT_CBPTR, /* (void * passed as-is to a callback) */ 39 | CURLOT_BLOB, /* blob (struct curl_blob *) */ 40 | CURLOT_FUNCTION /* function pointer */ 41 | } curl_easytype; 42 | 43 | /* Flag bits */ 44 | 45 | /* "alias" means it is provided for old programs to remain functional, 46 | we prefer another name */ 47 | #define CURLOT_FLAG_ALIAS (1<<0) 48 | 49 | /* The CURLOPTTYPE_* id ranges can still be used to figure out what type/size 50 | to use for curl_easy_setopt() for the given id */ 51 | struct curl_easyoption { 52 | const char *name; 53 | CURLoption id; 54 | curl_easytype type; 55 | unsigned int flags; 56 | }; 57 | 58 | CURL_EXTERN const struct curl_easyoption * 59 | curl_easy_option_by_name(const char *name); 60 | 61 | CURL_EXTERN const struct curl_easyoption * 62 | curl_easy_option_by_id(CURLoption id); 63 | 64 | CURL_EXTERN const struct curl_easyoption * 65 | curl_easy_option_next(const struct curl_easyoption *prev); 66 | 67 | #ifdef __cplusplus 68 | } /* end of extern "C" */ 69 | #endif 70 | #endif /* CURLINC_OPTIONS_H */ 71 | -------------------------------------------------------------------------------- /3rdparty/curl/stdcheaders.h: -------------------------------------------------------------------------------- 1 | #ifndef CURLINC_STDCHEADERS_H 2 | #define CURLINC_STDCHEADERS_H 3 | /*************************************************************************** 4 | * _ _ ____ _ 5 | * Project ___| | | | _ \| | 6 | * / __| | | | |_) | | 7 | * | (__| |_| | _ <| |___ 8 | * \___|\___/|_| \_\_____| 9 | * 10 | * Copyright (C) Daniel Stenberg, , et al. 11 | * 12 | * This software is licensed as described in the file COPYING, which 13 | * you should have received as part of this distribution. The terms 14 | * are also available at https://curl.se/docs/copyright.html. 15 | * 16 | * You may opt to use, copy, modify, merge, publish, distribute and/or sell 17 | * copies of the Software, and permit persons to whom the Software is 18 | * furnished to do so, under the terms of the COPYING file. 19 | * 20 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 21 | * KIND, either express or implied. 22 | * 23 | * SPDX-License-Identifier: curl 24 | * 25 | ***************************************************************************/ 26 | 27 | #include 28 | 29 | size_t fread(void *, size_t, size_t, FILE *); 30 | size_t fwrite(const void *, size_t, size_t, FILE *); 31 | 32 | int strcasecmp(const char *, const char *); 33 | int strncasecmp(const char *, const char *, size_t); 34 | 35 | #endif /* CURLINC_STDCHEADERS_H */ 36 | -------------------------------------------------------------------------------- /3rdparty/gif/getarg.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************** 2 | 3 | getarg.h - Support routines for the giflib utilities 4 | 5 | SPDX-License-Identifier: MIT 6 | 7 | **************************************************************************/ 8 | 9 | #ifndef _GETARG_H 10 | #define _GETARG_H 11 | 12 | #include "gif_lib.h" 13 | #include 14 | 15 | #define VERSION_COOKIE " Version %d.%d, " 16 | 17 | /*************************************************************************** 18 | Error numbers as returned by GAGetArg routine: 19 | ***************************************************************************/ 20 | #define CMD_ERR_NotAnOpt 1 /* None Option found. */ 21 | #define CMD_ERR_NoSuchOpt 2 /* Undefined Option Found. */ 22 | #define CMD_ERR_WildEmpty 3 /* Empty input for !*? seq. */ 23 | #define CMD_ERR_NumRead 4 /* Failed on reading number. */ 24 | #define CMD_ERR_AllSatis 5 /* Fail to satisfy (must-'!') option. */ 25 | 26 | bool GAGetArgs(int argc, char **argv, char *CtrlStr, ...); 27 | void GAPrintErrMsg(int Error); 28 | void GAPrintHowTo(char *CtrlStr); 29 | 30 | /****************************************************************************** 31 | From qprintf.c 32 | ******************************************************************************/ 33 | extern bool GifNoisyPrint; 34 | extern void GifQprintf(char *Format, ...); 35 | extern void PrintGifError(int ErrorCode); 36 | 37 | /****************************************************************************** 38 | Color table quantization 39 | ******************************************************************************/ 40 | int GifQuantizeBuffer(unsigned int Width, unsigned int Height, 41 | int *ColorMapSize, GifByteType * RedInput, 42 | GifByteType * GreenInput, GifByteType * BlueInput, 43 | GifByteType * OutputBuffer, 44 | GifColorType * OutputColorMap); 45 | 46 | /* These used to live in the library header */ 47 | #define GIF_MESSAGE(Msg) fprintf(stderr, "\n%s: %s\n", PROGRAM_NAME, Msg) 48 | #define GIF_EXIT(Msg) { GIF_MESSAGE(Msg); exit(-3); } 49 | 50 | #endif /* _GETARG_H */ 51 | 52 | /* end */ 53 | -------------------------------------------------------------------------------- /3rdparty/gif/gif_hash.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | 3 | gif_hash.h - magfic constants and declarations for GIF LZW 4 | 5 | SPDX-License-Identifier: MIT 6 | 7 | ******************************************************************************/ 8 | 9 | #ifndef _GIF_HASH_H_ 10 | #define _GIF_HASH_H_ 11 | 12 | #include 13 | #include 14 | 15 | #define HT_SIZE 8192 /* 12bits = 4096 or twice as big! */ 16 | #define HT_KEY_MASK 0x1FFF /* 13bits keys */ 17 | #define HT_KEY_NUM_BITS 13 /* 13bits keys */ 18 | #define HT_MAX_KEY 8191 /* 13bits - 1, maximal code possible */ 19 | #define HT_MAX_CODE 4095 /* Biggest code possible in 12 bits. */ 20 | 21 | /* The 32 bits of the long are divided into two parts for the key & code: */ 22 | /* 1. The code is 12 bits as our compression algorithm is limited to 12bits */ 23 | /* 2. The key is 12 bits Prefix code + 8 bit new char or 20 bits. */ 24 | /* The key is the upper 20 bits. The code is the lower 12. */ 25 | #define HT_GET_KEY(l) (l >> 12) 26 | #define HT_GET_CODE(l) (l & 0x0FFF) 27 | #define HT_PUT_KEY(l) (l << 12) 28 | #define HT_PUT_CODE(l) (l & 0x0FFF) 29 | 30 | typedef struct GifHashTableType { 31 | uint32_t HTable[HT_SIZE]; 32 | } GifHashTableType; 33 | 34 | GifHashTableType *_InitHashTable(void); 35 | void _ClearHashTable(GifHashTableType *HashTable); 36 | void _InsertHashTable(GifHashTableType *HashTable, uint32_t Key, int Code); 37 | int _ExistsHashTable(GifHashTableType *HashTable, uint32_t Key); 38 | 39 | #endif /* _GIF_HASH_H_ */ 40 | 41 | /* end */ 42 | -------------------------------------------------------------------------------- /3rdparty/gif/gif_lib_private.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | 3 | gif_lib_private.h - internal giflib routines and structures 4 | 5 | SPDX-License-Identifier: MIT 6 | 7 | ****************************************************************************/ 8 | 9 | #ifndef _GIF_LIB_PRIVATE_H 10 | #define _GIF_LIB_PRIVATE_H 11 | 12 | #include "gif_lib.h" 13 | #include "gif_hash.h" 14 | 15 | #ifndef SIZE_MAX 16 | #define SIZE_MAX UINTPTR_MAX 17 | #endif 18 | 19 | #define EXTENSION_INTRODUCER 0x21 20 | #define DESCRIPTOR_INTRODUCER 0x2c 21 | #define TERMINATOR_INTRODUCER 0x3b 22 | 23 | #define LZ_MAX_CODE 4095 /* Biggest code possible in 12 bits. */ 24 | #define LZ_BITS 12 25 | 26 | #define FLUSH_OUTPUT 4096 /* Impossible code, to signal flush. */ 27 | #define FIRST_CODE 4097 /* Impossible code, to signal first. */ 28 | #define NO_SUCH_CODE 4098 /* Impossible code, to signal empty. */ 29 | 30 | #define FILE_STATE_WRITE 0x01 31 | #define FILE_STATE_SCREEN 0x02 32 | #define FILE_STATE_IMAGE 0x04 33 | #define FILE_STATE_READ 0x08 34 | 35 | #define IS_READABLE(Private) (Private->FileState & FILE_STATE_READ) 36 | #define IS_WRITEABLE(Private) (Private->FileState & FILE_STATE_WRITE) 37 | 38 | typedef struct GifFilePrivateType { 39 | GifWord FileState, FileHandle, /* Where all this data goes to! */ 40 | BitsPerPixel, /* Bits per pixel (Codes uses at least this + 1). */ 41 | ClearCode, /* The CLEAR LZ code. */ 42 | EOFCode, /* The EOF LZ code. */ 43 | RunningCode, /* The next code algorithm can generate. */ 44 | RunningBits, /* The number of bits required to represent RunningCode. */ 45 | MaxCode1, /* 1 bigger than max. possible code, in RunningBits bits. */ 46 | LastCode, /* The code before the current code. */ 47 | CrntCode, /* Current algorithm code. */ 48 | StackPtr, /* For character stack (see below). */ 49 | CrntShiftState; /* Number of bits in CrntShiftDWord. */ 50 | unsigned long CrntShiftDWord; /* For bytes decomposition into codes. */ 51 | unsigned long PixelCount; /* Number of pixels in image. */ 52 | FILE *File; /* File as stream. */ 53 | InputFunc Read; /* function to read gif input (TVT) */ 54 | OutputFunc Write; /* function to write gif output (MRB) */ 55 | GifByteType Buf[256]; /* Compressed input is buffered here. */ 56 | GifByteType Stack[LZ_MAX_CODE]; /* Decoded pixels are stacked here. */ 57 | GifByteType Suffix[LZ_MAX_CODE + 1]; /* So we can trace the codes. */ 58 | GifPrefixType Prefix[LZ_MAX_CODE + 1]; 59 | GifHashTableType *HashTable; 60 | bool gif89; 61 | } GifFilePrivateType; 62 | 63 | #ifndef HAVE_REALLOCARRAY 64 | extern void *openbsd_reallocarray(void *optr, size_t nmemb, size_t size); 65 | #define reallocarray openbsd_reallocarray 66 | #endif 67 | 68 | #endif /* _GIF_LIB_PRIVATE_H */ 69 | 70 | /* end */ 71 | -------------------------------------------------------------------------------- /3rdparty/gif/openbsd-reallocarray.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2008 Otto Moerbeek 3 | * SPDX-License-Identifier: MIT 4 | */ 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | #ifndef SIZE_MAX 12 | #define SIZE_MAX UINTPTR_MAX 13 | #endif 14 | 15 | /* 16 | * This is sqrt(SIZE_MAX+1), as s1*s2 <= SIZE_MAX 17 | * if both s1 < MUL_NO_OVERFLOW and s2 < MUL_NO_OVERFLOW 18 | */ 19 | #define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4)) 20 | 21 | void * 22 | openbsd_reallocarray(void *optr, size_t nmemb, size_t size) 23 | { 24 | if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && 25 | nmemb > 0 && SIZE_MAX / nmemb < size) { 26 | errno = ENOMEM; 27 | return NULL; 28 | } 29 | /* 30 | * Head off variations in realloc behavior on different 31 | * platforms (reported by MarkR ) 32 | * 33 | * The behaviour of reallocarray is implementation-defined if 34 | * nmemb or size is zero. It can return NULL or non-NULL 35 | * depending on the platform. 36 | * https://www.securecoding.cert.org/confluence/display/c/MEM04-C.Beware+of+zero-lengthallocations 37 | * 38 | * Here are some extracts from realloc man pages on different platforms. 39 | * 40 | * void realloc( void memblock, size_t size ); 41 | * 42 | * Windows: 43 | * 44 | * If there is not enough available memory to expand the block 45 | * to the given size, the original block is left unchanged, 46 | * and NULL is returned. If size is zero, then the block 47 | * pointed to by memblock is freed; the return value is NULL, 48 | * and memblock is left pointing at a freed block. 49 | * 50 | * OpenBSD: 51 | * 52 | * If size or nmemb is equal to 0, a unique pointer to an 53 | * access protected, zero sized object is returned. Access via 54 | * this pointer will generate a SIGSEGV exception. 55 | * 56 | * Linux: 57 | * 58 | * If size was equal to 0, either NULL or a pointer suitable 59 | * to be passed to free() is returned. 60 | * 61 | * OS X: 62 | * 63 | * If size is zero and ptr is not NULL, a new, minimum sized 64 | * object is allocated and the original object is freed. 65 | * 66 | * It looks like images with zero width or height can trigger 67 | * this, and fuzzing behaviour will differ by platform, so 68 | * fuzzing on one platform may not detect zero-size allocation 69 | * problems on other platforms. 70 | */ 71 | if (size == 0 || nmemb == 0) 72 | return NULL; 73 | return realloc(optr, size * nmemb); 74 | } 75 | -------------------------------------------------------------------------------- /3rdparty/gif/qprintf.c: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | 3 | qprintf.c - module to emulate a printf with a possible quiet (disable mode.) 4 | 5 | A global variable GifNoisyPrint controls the printing of this routine 6 | 7 | SPDX-License-Identifier: MIT 8 | 9 | *****************************************************************************/ 10 | 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | #include "gif_lib.h" 17 | 18 | bool GifNoisyPrint = false; 19 | 20 | /***************************************************************************** 21 | Same as fprintf to stderr but with optional print. 22 | ******************************************************************************/ 23 | void 24 | GifQprintf(char *Format, ...) { 25 | va_list ArgPtr; 26 | 27 | va_start(ArgPtr, Format); 28 | 29 | if (GifNoisyPrint) { 30 | char Line[128]; 31 | (void)vsnprintf(Line, sizeof(Line), Format, ArgPtr); 32 | (void)fputs(Line, stderr); 33 | } 34 | 35 | va_end(ArgPtr); 36 | } 37 | 38 | void 39 | PrintGifError(int ErrorCode) { 40 | const char *Err = GifErrorString(ErrorCode); 41 | 42 | if (Err != NULL) 43 | fprintf(stderr, "GIF-LIB error: %s.\n", Err); 44 | else 45 | fprintf(stderr, "GIF-LIB undefined error %d.\n", ErrorCode); 46 | } 47 | 48 | /* end */ 49 | -------------------------------------------------------------------------------- /3rdparty/jpeg/jconfig.h: -------------------------------------------------------------------------------- 1 | /* jconfig.h. Generated from jconfig.cfg by configure. */ 2 | /* jconfig.cfg --- source file edited by configure script */ 3 | /* see jconfig.txt for explanations */ 4 | 5 | #define HAVE_PROTOTYPES 1 6 | #define HAVE_UNSIGNED_CHAR 1 7 | #define HAVE_UNSIGNED_SHORT 1 8 | /* #undef void */ 9 | /* #undef const */ 10 | /* #undef CHAR_IS_UNSIGNED */ 11 | #define HAVE_STDDEF_H 1 12 | #define HAVE_STDLIB_H 1 13 | #define HAVE_LOCALE_H 1 14 | /* #undef NEED_BSD_STRINGS */ 15 | /* #undef NEED_SYS_TYPES_H */ 16 | /* #undef NEED_FAR_POINTERS */ 17 | /* #undef NEED_SHORT_EXTERNAL_NAMES */ 18 | /* Define this if you get warnings about undefined structures. */ 19 | /* #undef INCOMPLETE_TYPES_BROKEN */ 20 | 21 | /* Define "boolean" as unsigned char, not enum, on Windows systems. */ 22 | #ifdef _WIN32 23 | #ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ 24 | typedef unsigned char boolean; 25 | #endif 26 | #ifndef FALSE /* in case these macros already exist */ 27 | #define FALSE 0 /* values of boolean */ 28 | #endif 29 | #ifndef TRUE 30 | #define TRUE 1 31 | #endif 32 | #define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ 33 | #endif 34 | 35 | #ifdef JPEG_INTERNALS 36 | 37 | /* #undef RIGHT_SHIFT_IS_UNSIGNED */ 38 | #ifdef _MSC_VER 39 | #define INLINE __inline //< MSVC EDIT __inline__ -> __inline 40 | #else 41 | #define INLINE __inline__ 42 | #endif 43 | /* These are for configuring the JPEG memory manager. */ 44 | /* #undef DEFAULT_MAX_MEM */ 45 | /* #undef NO_MKTEMP */ 46 | 47 | #endif /* JPEG_INTERNALS */ 48 | 49 | #ifdef JPEG_CJPEG_DJPEG 50 | 51 | #define BMP_SUPPORTED /* BMP image file format */ 52 | #define GIF_SUPPORTED /* GIF image file format */ 53 | #define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ 54 | /* #undef RLE_SUPPORTED */ 55 | #define TARGA_SUPPORTED /* Targa image file format */ 56 | 57 | /* #undef TWO_FILE_COMMANDLINE */ 58 | /* #undef NEED_SIGNAL_CATCHER */ 59 | /* #undef DONT_USE_B_MODE */ 60 | 61 | /* Define this if you want percent-done progress reports from cjpeg/djpeg. */ 62 | /* #undef PROGRESS_REPORT */ 63 | 64 | #endif /* JPEG_CJPEG_DJPEG */ 65 | -------------------------------------------------------------------------------- /3rdparty/jpeg/jversion.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jversion.h 3 | * 4 | * Copyright (C) 1991-2018, Thomas G. Lane, Guido Vollbeding. 5 | * This file is part of the Independent JPEG Group's software. 6 | * For conditions of distribution and use, see the accompanying README file. 7 | * 8 | * This file contains software version identification. 9 | */ 10 | 11 | 12 | #define JVERSION "9c 14-Jan-2018" 13 | 14 | #define JCOPYRIGHT "Copyright (C) 2018, Thomas G. Lane, Guido Vollbeding" 15 | -------------------------------------------------------------------------------- /3rdparty/jpeg/rdgif.c: -------------------------------------------------------------------------------- 1 | /* 2 | * rdgif.c 3 | * 4 | * Copyright (C) 1991-1997, Thomas G. Lane. 5 | * This file is part of the Independent JPEG Group's software. 6 | * For conditions of distribution and use, see the accompanying README file. 7 | * 8 | * This file contains routines to read input images in GIF format. 9 | * 10 | ***************************************************************************** 11 | * NOTE: to avoid entanglements with Unisys' patent on LZW compression, * 12 | * the ability to read GIF files has been removed from the IJG distribution. * 13 | * Sorry about that. * 14 | ***************************************************************************** 15 | * 16 | * We are required to state that 17 | * "The Graphics Interchange Format(c) is the Copyright property of 18 | * CompuServe Incorporated. GIF(sm) is a Service Mark property of 19 | * CompuServe Incorporated." 20 | */ 21 | 22 | #include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ 23 | 24 | #ifdef GIF_SUPPORTED 25 | 26 | /* 27 | * The module selection routine for GIF format input. 28 | */ 29 | 30 | GLOBAL(cjpeg_source_ptr) 31 | jinit_read_gif (j_compress_ptr cinfo) 32 | { 33 | fprintf(stderr, "GIF input is unsupported for legal reasons. Sorry.\n"); 34 | exit(EXIT_FAILURE); 35 | return NULL; /* keep compiler happy */ 36 | } 37 | 38 | #endif /* GIF_SUPPORTED */ 39 | -------------------------------------------------------------------------------- /3rdparty/lzma/lzma/delta.h: -------------------------------------------------------------------------------- 1 | /** 2 | * \file lzma/delta.h 3 | * \brief Delta filter 4 | */ 5 | 6 | /* 7 | * Author: Lasse Collin 8 | * 9 | * This file has been put into the public domain. 10 | * You can do whatever you want with this file. 11 | * 12 | * See ../lzma.h for information about liblzma as a whole. 13 | */ 14 | 15 | #ifndef LZMA_H_INTERNAL 16 | # error Never include this file directly. Use instead. 17 | #endif 18 | 19 | 20 | /** 21 | * \brief Filter ID 22 | * 23 | * Filter ID of the Delta filter. This is used as lzma_filter.id. 24 | */ 25 | #define LZMA_FILTER_DELTA LZMA_VLI_C(0x03) 26 | 27 | 28 | /** 29 | * \brief Type of the delta calculation 30 | * 31 | * Currently only byte-wise delta is supported. Other possible types could 32 | * be, for example, delta of 16/32/64-bit little/big endian integers, but 33 | * these are not currently planned since byte-wise delta is almost as good. 34 | */ 35 | typedef enum { 36 | LZMA_DELTA_TYPE_BYTE 37 | } lzma_delta_type; 38 | 39 | 40 | /** 41 | * \brief Options for the Delta filter 42 | * 43 | * These options are needed by both encoder and decoder. 44 | */ 45 | typedef struct { 46 | /** For now, this must always be LZMA_DELTA_TYPE_BYTE. */ 47 | lzma_delta_type type; 48 | 49 | /** 50 | * \brief Delta distance 51 | * 52 | * With the only currently supported type, LZMA_DELTA_TYPE_BYTE, 53 | * the distance is as bytes. 54 | * 55 | * Examples: 56 | * - 16-bit stereo audio: distance = 4 bytes 57 | * - 24-bit RGB image data: distance = 3 bytes 58 | */ 59 | uint32_t dist; 60 | # define LZMA_DELTA_DIST_MIN 1 61 | # define LZMA_DELTA_DIST_MAX 256 62 | 63 | /* 64 | * Reserved space to allow possible future extensions without 65 | * breaking the ABI. You should not touch these, because the names 66 | * of these variables may change. These are and will never be used 67 | * when type is LZMA_DELTA_TYPE_BYTE, so it is safe to leave these 68 | * uninitialized. 69 | */ 70 | uint32_t reserved_int1; 71 | uint32_t reserved_int2; 72 | uint32_t reserved_int3; 73 | uint32_t reserved_int4; 74 | void *reserved_ptr1; 75 | void *reserved_ptr2; 76 | 77 | } lzma_options_delta; 78 | -------------------------------------------------------------------------------- /3rdparty/lzma/lzma/hardware.h: -------------------------------------------------------------------------------- 1 | /** 2 | * \file lzma/hardware.h 3 | * \brief Hardware information 4 | * 5 | * Since liblzma can consume a lot of system resources, it also provides 6 | * ways to limit the resource usage. Applications linking against liblzma 7 | * need to do the actual decisions how much resources to let liblzma to use. 8 | * To ease making these decisions, liblzma provides functions to find out 9 | * the relevant capabilities of the underlying hardware. Currently there 10 | * is only a function to find out the amount of RAM, but in the future there 11 | * will be also a function to detect how many concurrent threads the system 12 | * can run. 13 | * 14 | * \note On some operating systems, these function may temporarily 15 | * load a shared library or open file descriptor(s) to find out 16 | * the requested hardware information. Unless the application 17 | * assumes that specific file descriptors are not touched by 18 | * other threads, this should have no effect on thread safety. 19 | * Possible operations involving file descriptors will restart 20 | * the syscalls if they return EINTR. 21 | */ 22 | 23 | /* 24 | * Author: Lasse Collin 25 | * 26 | * This file has been put into the public domain. 27 | * You can do whatever you want with this file. 28 | * 29 | * See ../lzma.h for information about liblzma as a whole. 30 | */ 31 | 32 | #ifndef LZMA_H_INTERNAL 33 | # error Never include this file directly. Use instead. 34 | #endif 35 | 36 | 37 | /** 38 | * \brief Get the total amount of physical memory (RAM) in bytes 39 | * 40 | * This function may be useful when determining a reasonable memory 41 | * usage limit for decompressing or how much memory it is OK to use 42 | * for compressing. 43 | * 44 | * \return On success, the total amount of physical memory in bytes 45 | * is returned. If the amount of RAM cannot be determined, 46 | * zero is returned. This can happen if an error occurs 47 | * or if there is no code in liblzma to detect the amount 48 | * of RAM on the specific operating system. 49 | */ 50 | extern LZMA_API(uint64_t) lzma_physmem(void) lzma_nothrow; 51 | 52 | 53 | /** 54 | * \brief Get the number of processor cores or threads 55 | * 56 | * This function may be useful when determining how many threads to use. 57 | * If the hardware supports more than one thread per CPU core, the number 58 | * of hardware threads is returned if that information is available. 59 | * 60 | * \return On success, the number of available CPU threads or cores is 61 | * returned. If this information isn't available or an error 62 | * occurs, zero is returned. 63 | */ 64 | extern LZMA_API(uint32_t) lzma_cputhreads(void) lzma_nothrow; 65 | -------------------------------------------------------------------------------- /3rdparty/md4c/entity.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MD4C: Markdown parser for C 3 | * (http://github.com/mity/md4c) 4 | * 5 | * Copyright (c) 2016-2019 Martin Mitas 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a 8 | * copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation 10 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 11 | * and/or sell copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 18 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 23 | * IN THE SOFTWARE. 24 | */ 25 | 26 | #ifndef MD4C_ENTITY_H 27 | #define MD4C_ENTITY_H 28 | 29 | #include 30 | 31 | 32 | /* Most entities are formed by single Unicode codepoint, few by two codepoints. 33 | * Single-codepoint entities have codepoints[1] set to zero. */ 34 | struct entity { 35 | const char* name; 36 | unsigned codepoints[2]; 37 | }; 38 | 39 | const struct entity* entity_lookup(const char* name, size_t name_size); 40 | 41 | 42 | #endif /* MD4C_ENTITY_H */ 43 | -------------------------------------------------------------------------------- /3rdparty/md4c/md4c-html.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MD4C: Markdown parser for C 3 | * (http://github.com/mity/md4c) 4 | * 5 | * Copyright (c) 2016-2017 Martin Mitas 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a 8 | * copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation 10 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 11 | * and/or sell copies of the Software, and to permit persons to whom the 12 | * Software is furnished to do so, subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in 15 | * all copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 18 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 23 | * IN THE SOFTWARE. 24 | */ 25 | 26 | #ifndef MD4C_HTML_H 27 | #define MD4C_HTML_H 28 | 29 | #include "md4c.h" 30 | 31 | #ifdef __cplusplus 32 | extern "C" { 33 | #endif 34 | 35 | 36 | /* If set, debug output from md_parse() is sent to stderr. */ 37 | #define MD_HTML_FLAG_DEBUG 0x0001 38 | #define MD_HTML_FLAG_VERBATIM_ENTITIES 0x0002 39 | #define MD_HTML_FLAG_SKIP_UTF8_BOM 0x0004 40 | #define MD_HTML_FLAG_XHTML 0x0008 41 | 42 | 43 | /* Render Markdown into HTML. 44 | * 45 | * Note only contents of tag is generated. Caller must generate 46 | * HTML header/footer manually before/after calling md_html(). 47 | * 48 | * Params input and input_size specify the Markdown input. 49 | * Callback process_output() gets called with chunks of HTML output. 50 | * (Typical implementation may just output the bytes to a file or append to 51 | * some buffer). 52 | * Param userdata is just propagated back to process_output() callback. 53 | * Param parser_flags are flags from md4c.h propagated to md_parse(). 54 | * Param render_flags is bitmask of MD_HTML_FLAG_xxxx. 55 | * 56 | * Returns -1 on error (if md_parse() fails.) 57 | * Returns 0 on success. 58 | */ 59 | int md_html(const MD_CHAR* input, MD_SIZE input_size, 60 | void (*process_output)(const MD_CHAR*, MD_SIZE, void*), 61 | void* userdata, unsigned parser_flags, unsigned renderer_flags); 62 | 63 | 64 | #ifdef __cplusplus 65 | } /* extern "C" { */ 66 | #endif 67 | 68 | #endif /* MD4C_HTML_H */ 69 | -------------------------------------------------------------------------------- /3rdparty/minizip-ng/mz_strm_buf.h: -------------------------------------------------------------------------------- 1 | /* mz_strm_buf.h -- Stream for buffering reads/writes 2 | part of the minizip-ng project 3 | 4 | This version of ioapi is designed to buffer IO. 5 | 6 | Copyright (C) Nathan Moinvaziri 7 | https://github.com/zlib-ng/minizip-ng 8 | 9 | This program is distributed under the terms of the same license as zlib. 10 | See the accompanying LICENSE file for the full text of the license. 11 | */ 12 | 13 | #ifndef MZ_STREAM_BUFFERED_H 14 | #define MZ_STREAM_BUFFERED_H 15 | 16 | #ifdef __cplusplus 17 | extern "C" { 18 | #endif 19 | 20 | /***************************************************************************/ 21 | 22 | int32_t mz_stream_buffered_open(void *stream, const char *path, int32_t mode); 23 | int32_t mz_stream_buffered_is_open(void *stream); 24 | int32_t mz_stream_buffered_read(void *stream, void *buf, int32_t size); 25 | int32_t mz_stream_buffered_write(void *stream, const void *buf, int32_t size); 26 | int64_t mz_stream_buffered_tell(void *stream); 27 | int32_t mz_stream_buffered_seek(void *stream, int64_t offset, int32_t origin); 28 | int32_t mz_stream_buffered_close(void *stream); 29 | int32_t mz_stream_buffered_error(void *stream); 30 | 31 | void* mz_stream_buffered_create(void); 32 | void mz_stream_buffered_delete(void **stream); 33 | 34 | void* mz_stream_buffered_get_interface(void); 35 | 36 | /***************************************************************************/ 37 | 38 | #ifdef __cplusplus 39 | } 40 | #endif 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /3rdparty/minizip-ng/mz_strm_bzip.h: -------------------------------------------------------------------------------- 1 | /* mz_strm_bzip.h -- Stream for bzip inflate/deflate 2 | part of the minizip-ng project 3 | 4 | Copyright (C) Nathan Moinvaziri 5 | https://github.com/zlib-ng/minizip-ng 6 | 7 | This program is distributed under the terms of the same license as zlib. 8 | See the accompanying LICENSE file for the full text of the license. 9 | */ 10 | 11 | #ifndef MZ_STREAM_BZIP_H 12 | #define MZ_STREAM_BZIP_H 13 | 14 | #ifdef __cplusplus 15 | extern "C" { 16 | #endif 17 | 18 | /***************************************************************************/ 19 | 20 | int32_t mz_stream_bzip_open(void *stream, const char *filename, int32_t mode); 21 | int32_t mz_stream_bzip_is_open(void *stream); 22 | int32_t mz_stream_bzip_read(void *stream, void *buf, int32_t size); 23 | int32_t mz_stream_bzip_write(void *stream, const void *buf, int32_t size); 24 | int64_t mz_stream_bzip_tell(void *stream); 25 | int32_t mz_stream_bzip_seek(void *stream, int64_t offset, int32_t origin); 26 | int32_t mz_stream_bzip_close(void *stream); 27 | int32_t mz_stream_bzip_error(void *stream); 28 | 29 | int32_t mz_stream_bzip_get_prop_int64(void *stream, int32_t prop, int64_t *value); 30 | int32_t mz_stream_bzip_set_prop_int64(void *stream, int32_t prop, int64_t value); 31 | 32 | void* mz_stream_bzip_create(void); 33 | void mz_stream_bzip_delete(void **stream); 34 | 35 | void* mz_stream_bzip_get_interface(void); 36 | 37 | void bz_internal_error(int errcode); 38 | 39 | /***************************************************************************/ 40 | 41 | #ifdef __cplusplus 42 | } 43 | #endif 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /3rdparty/minizip-ng/mz_strm_libcomp.h: -------------------------------------------------------------------------------- 1 | /* mz_strm_libcomp.h -- Stream for apple compression 2 | part of the minizip-ng project 3 | 4 | Copyright (C) Nathan Moinvaziri 5 | https://github.com/zlib-ng/minizip-ng 6 | 7 | This program is distributed under the terms of the same license as zlib. 8 | See the accompanying LICENSE file for the full text of the license. 9 | */ 10 | 11 | #ifndef MZ_STREAM_LIBCOMP_H 12 | #define MZ_STREAM_LIBCOMP_H 13 | 14 | #include 15 | 16 | #ifdef __cplusplus 17 | extern "C" { 18 | #endif 19 | 20 | /***************************************************************************/ 21 | 22 | int32_t mz_stream_libcomp_open(void *stream, const char *filename, int32_t mode); 23 | int32_t mz_stream_libcomp_is_open(void *stream); 24 | int32_t mz_stream_libcomp_read(void *stream, void *buf, int32_t size); 25 | int32_t mz_stream_libcomp_write(void *stream, const void *buf, int32_t size); 26 | int64_t mz_stream_libcomp_tell(void *stream); 27 | int32_t mz_stream_libcomp_seek(void *stream, int64_t offset, int32_t origin); 28 | int32_t mz_stream_libcomp_close(void *stream); 29 | int32_t mz_stream_libcomp_error(void *stream); 30 | 31 | int32_t mz_stream_libcomp_get_prop_int64(void *stream, int32_t prop, int64_t *value); 32 | int32_t mz_stream_libcomp_set_prop_int64(void *stream, int32_t prop, int64_t value); 33 | 34 | void* mz_stream_libcomp_create(void); 35 | void mz_stream_libcomp_delete(void **stream); 36 | 37 | void* mz_stream_libcomp_get_interface(void); 38 | 39 | /***************************************************************************/ 40 | 41 | #ifdef __cplusplus 42 | } 43 | #endif 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /3rdparty/minizip-ng/mz_strm_lzma.h: -------------------------------------------------------------------------------- 1 | /* mz_strm_lzma.h -- Stream for lzma inflate/deflate 2 | part of the minizip-ng project 3 | 4 | Copyright (C) Nathan Moinvaziri 5 | https://github.com/zlib-ng/minizip-ng 6 | 7 | This program is distributed under the terms of the same license as lzma. 8 | See the accompanying LICENSE file for the full text of the license. 9 | */ 10 | 11 | #ifndef MZ_STREAM_LZMA_H 12 | #define MZ_STREAM_LZMA_H 13 | 14 | #ifdef __cplusplus 15 | extern "C" { 16 | #endif 17 | 18 | /***************************************************************************/ 19 | 20 | int32_t mz_stream_lzma_open(void *stream, const char *filename, int32_t mode); 21 | int32_t mz_stream_lzma_is_open(void *stream); 22 | int32_t mz_stream_lzma_read(void *stream, void *buf, int32_t size); 23 | int32_t mz_stream_lzma_write(void *stream, const void *buf, int32_t size); 24 | int64_t mz_stream_lzma_tell(void *stream); 25 | int32_t mz_stream_lzma_seek(void *stream, int64_t offset, int32_t origin); 26 | int32_t mz_stream_lzma_close(void *stream); 27 | int32_t mz_stream_lzma_error(void *stream); 28 | 29 | int32_t mz_stream_lzma_get_prop_int64(void *stream, int32_t prop, int64_t *value); 30 | int32_t mz_stream_lzma_set_prop_int64(void *stream, int32_t prop, int64_t value); 31 | 32 | void* mz_stream_lzma_create(void); 33 | void mz_stream_lzma_delete(void **stream); 34 | 35 | void* mz_stream_lzma_get_interface(void); 36 | 37 | /***************************************************************************/ 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /3rdparty/minizip-ng/mz_strm_mem.h: -------------------------------------------------------------------------------- 1 | /* mz_strm_mem.h -- Stream for memory access 2 | part of the minizip-ng project 3 | 4 | Copyright (C) Nathan Moinvaziri 5 | https://github.com/zlib-ng/minizip-ng 6 | 7 | This program is distributed under the terms of the same license as zlib. 8 | See the accompanying LICENSE file for the full text of the license. 9 | */ 10 | 11 | #ifndef MZ_STREAM_MEM_H 12 | #define MZ_STREAM_MEM_H 13 | 14 | #ifdef __cplusplus 15 | extern "C" { 16 | #endif 17 | 18 | /***************************************************************************/ 19 | 20 | int32_t mz_stream_mem_open(void *stream, const char *filename, int32_t mode); 21 | int32_t mz_stream_mem_is_open(void *stream); 22 | int32_t mz_stream_mem_read(void *stream, void *buf, int32_t size); 23 | int32_t mz_stream_mem_write(void *stream, const void *buf, int32_t size); 24 | int64_t mz_stream_mem_tell(void *stream); 25 | int32_t mz_stream_mem_seek(void *stream, int64_t offset, int32_t origin); 26 | int32_t mz_stream_mem_close(void *stream); 27 | int32_t mz_stream_mem_error(void *stream); 28 | 29 | void mz_stream_mem_set_buffer(void *stream, void *buf, int32_t size); 30 | int32_t mz_stream_mem_get_buffer(void *stream, const void **buf); 31 | int32_t mz_stream_mem_get_buffer_at(void *stream, int64_t position, const void **buf); 32 | int32_t mz_stream_mem_get_buffer_at_current(void *stream, const void **buf); 33 | void mz_stream_mem_get_buffer_length(void *stream, int32_t *length); 34 | void mz_stream_mem_set_buffer_limit(void *stream, int32_t limit); 35 | void mz_stream_mem_set_grow_size(void *stream, int32_t grow_size); 36 | 37 | void* mz_stream_mem_create(void); 38 | void mz_stream_mem_delete(void **stream); 39 | 40 | void* mz_stream_mem_get_interface(void); 41 | 42 | /***************************************************************************/ 43 | 44 | #ifdef __cplusplus 45 | } 46 | #endif 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /3rdparty/minizip-ng/mz_strm_os.h: -------------------------------------------------------------------------------- 1 | /* mz_sstrm_os.h -- Stream for filesystem access 2 | part of the minizip-ng project 3 | 4 | Copyright (C) Nathan Moinvaziri 5 | https://github.com/zlib-ng/minizip-ng 6 | 7 | This program is distributed under the terms of the same license as zlib. 8 | See the accompanying LICENSE file for the full text of the license. 9 | */ 10 | 11 | #ifndef MZ_STREAM_OS_H 12 | #define MZ_STREAM_OS_H 13 | 14 | #ifdef __cplusplus 15 | extern "C" { 16 | #endif 17 | 18 | /***************************************************************************/ 19 | 20 | int32_t mz_stream_os_open(void *stream, const char *path, int32_t mode); 21 | int32_t mz_stream_os_is_open(void *stream); 22 | int32_t mz_stream_os_read(void *stream, void *buf, int32_t size); 23 | int32_t mz_stream_os_write(void *stream, const void *buf, int32_t size); 24 | int64_t mz_stream_os_tell(void *stream); 25 | int32_t mz_stream_os_seek(void *stream, int64_t offset, int32_t origin); 26 | int32_t mz_stream_os_close(void *stream); 27 | int32_t mz_stream_os_error(void *stream); 28 | 29 | void* mz_stream_os_create(void); 30 | void mz_stream_os_delete(void **stream); 31 | 32 | void* mz_stream_os_get_interface(void); 33 | 34 | /***************************************************************************/ 35 | 36 | #ifdef __cplusplus 37 | } 38 | #endif 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /3rdparty/minizip-ng/mz_strm_pkcrypt.h: -------------------------------------------------------------------------------- 1 | /* mz_strm_pkcrypt.h -- Code for traditional PKWARE encryption 2 | part of the minizip-ng project 3 | 4 | Copyright (C) Nathan Moinvaziri 5 | https://github.com/zlib-ng/minizip-ng 6 | 7 | This program is distributed under the terms of the same license as zlib. 8 | See the accompanying LICENSE file for the full text of the license. 9 | */ 10 | 11 | #ifndef MZ_STREAM_PKCRYPT_H 12 | #define MZ_STREAM_PKCRYPT_H 13 | 14 | #ifdef __cplusplus 15 | extern "C" { 16 | #endif 17 | 18 | /***************************************************************************/ 19 | 20 | int32_t mz_stream_pkcrypt_open(void *stream, const char *filename, int32_t mode); 21 | int32_t mz_stream_pkcrypt_is_open(void *stream); 22 | int32_t mz_stream_pkcrypt_read(void *stream, void *buf, int32_t size); 23 | int32_t mz_stream_pkcrypt_write(void *stream, const void *buf, int32_t size); 24 | int64_t mz_stream_pkcrypt_tell(void *stream); 25 | int32_t mz_stream_pkcrypt_seek(void *stream, int64_t offset, int32_t origin); 26 | int32_t mz_stream_pkcrypt_close(void *stream); 27 | int32_t mz_stream_pkcrypt_error(void *stream); 28 | 29 | void mz_stream_pkcrypt_set_password(void *stream, const char *password); 30 | void mz_stream_pkcrypt_set_verify(void *stream, uint8_t verify1, uint8_t verify2); 31 | void mz_stream_pkcrypt_get_verify(void *stream, uint8_t *verify1, uint8_t *verify2); 32 | int32_t mz_stream_pkcrypt_get_prop_int64(void *stream, int32_t prop, int64_t *value); 33 | int32_t mz_stream_pkcrypt_set_prop_int64(void *stream, int32_t prop, int64_t value); 34 | 35 | void* mz_stream_pkcrypt_create(void); 36 | void mz_stream_pkcrypt_delete(void **stream); 37 | 38 | void* mz_stream_pkcrypt_get_interface(void); 39 | 40 | /***************************************************************************/ 41 | 42 | #ifdef __cplusplus 43 | } 44 | #endif 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /3rdparty/minizip-ng/mz_strm_split.h: -------------------------------------------------------------------------------- 1 | /* mz_strm_split.h -- Stream for split files 2 | part of the minizip-ng project 3 | 4 | Copyright (C) Nathan Moinvaziri 5 | https://github.com/zlib-ng/minizip-ng 6 | 7 | This program is distributed under the terms of the same license as zlib. 8 | See the accompanying LICENSE file for the full text of the license. 9 | */ 10 | 11 | #ifndef MZ_STREAM_SPLIT_H 12 | #define MZ_STREAM_SPLIT_H 13 | 14 | #ifdef __cplusplus 15 | extern "C" { 16 | #endif 17 | 18 | /***************************************************************************/ 19 | 20 | int32_t mz_stream_split_open(void *stream, const char *filename, int32_t mode); 21 | int32_t mz_stream_split_is_open(void *stream); 22 | int32_t mz_stream_split_read(void *stream, void *buf, int32_t size); 23 | int32_t mz_stream_split_write(void *stream, const void *buf, int32_t size); 24 | int64_t mz_stream_split_tell(void *stream); 25 | int32_t mz_stream_split_seek(void *stream, int64_t offset, int32_t origin); 26 | int32_t mz_stream_split_close(void *stream); 27 | int32_t mz_stream_split_error(void *stream); 28 | 29 | int32_t mz_stream_split_get_prop_int64(void *stream, int32_t prop, int64_t *value); 30 | int32_t mz_stream_split_set_prop_int64(void *stream, int32_t prop, int64_t value); 31 | 32 | void* mz_stream_split_create(void); 33 | void mz_stream_split_delete(void **stream); 34 | 35 | void* mz_stream_split_get_interface(void); 36 | 37 | /***************************************************************************/ 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /3rdparty/minizip-ng/mz_strm_wzaes.h: -------------------------------------------------------------------------------- 1 | /* mz_strm_wzaes.h -- Stream for WinZIP AES encryption 2 | part of the minizip-ng project 3 | 4 | Copyright (C) Nathan Moinvaziri 5 | https://github.com/zlib-ng/minizip-ng 6 | 7 | This program is distributed under the terms of the same license as zlib. 8 | See the accompanying LICENSE file for the full text of the license. 9 | */ 10 | 11 | #ifndef MZ_STREAM_WZAES_SHA1_H 12 | #define MZ_STREAM_WZAES_SHA1_H 13 | 14 | #ifdef __cplusplus 15 | extern "C" { 16 | #endif 17 | 18 | /***************************************************************************/ 19 | 20 | int32_t mz_stream_wzaes_open(void *stream, const char *filename, int32_t mode); 21 | int32_t mz_stream_wzaes_is_open(void *stream); 22 | int32_t mz_stream_wzaes_read(void *stream, void *buf, int32_t size); 23 | int32_t mz_stream_wzaes_write(void *stream, const void *buf, int32_t size); 24 | int64_t mz_stream_wzaes_tell(void *stream); 25 | int32_t mz_stream_wzaes_seek(void *stream, int64_t offset, int32_t origin); 26 | int32_t mz_stream_wzaes_close(void *stream); 27 | int32_t mz_stream_wzaes_error(void *stream); 28 | 29 | void mz_stream_wzaes_set_password(void *stream, const char *password); 30 | void mz_stream_wzaes_set_strength(void *stream, uint8_t strength); 31 | 32 | int32_t mz_stream_wzaes_get_prop_int64(void *stream, int32_t prop, int64_t *value); 33 | int32_t mz_stream_wzaes_set_prop_int64(void *stream, int32_t prop, int64_t value); 34 | 35 | void* mz_stream_wzaes_create(void); 36 | void mz_stream_wzaes_delete(void **stream); 37 | 38 | void* mz_stream_wzaes_get_interface(void); 39 | 40 | /***************************************************************************/ 41 | 42 | #ifdef __cplusplus 43 | } 44 | #endif 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /3rdparty/minizip-ng/mz_strm_zlib.h: -------------------------------------------------------------------------------- 1 | /* mz_strm_zlib.h -- Stream for zlib inflate/deflate 2 | part of the minizip-ng project 3 | 4 | Copyright (C) Nathan Moinvaziri 5 | https://github.com/zlib-ng/minizip-ng 6 | 7 | This program is distributed under the terms of the same license as zlib. 8 | See the accompanying LICENSE file for the full text of the license. 9 | */ 10 | 11 | #ifndef MZ_STREAM_ZLIB_H 12 | #define MZ_STREAM_ZLIB_H 13 | 14 | #ifdef __cplusplus 15 | extern "C" { 16 | #endif 17 | 18 | /***************************************************************************/ 19 | 20 | int32_t mz_stream_zlib_open(void *stream, const char *filename, int32_t mode); 21 | int32_t mz_stream_zlib_is_open(void *stream); 22 | int32_t mz_stream_zlib_read(void *stream, void *buf, int32_t size); 23 | int32_t mz_stream_zlib_write(void *stream, const void *buf, int32_t size); 24 | int64_t mz_stream_zlib_tell(void *stream); 25 | int32_t mz_stream_zlib_seek(void *stream, int64_t offset, int32_t origin); 26 | int32_t mz_stream_zlib_close(void *stream); 27 | int32_t mz_stream_zlib_error(void *stream); 28 | 29 | int32_t mz_stream_zlib_get_prop_int64(void *stream, int32_t prop, int64_t *value); 30 | int32_t mz_stream_zlib_set_prop_int64(void *stream, int32_t prop, int64_t value); 31 | 32 | void* mz_stream_zlib_create(void); 33 | void mz_stream_zlib_delete(void **stream); 34 | 35 | void* mz_stream_zlib_get_interface(void); 36 | 37 | /***************************************************************************/ 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /3rdparty/minizip-ng/mz_strm_zstd.h: -------------------------------------------------------------------------------- 1 | /* mz_strm_zlib.h -- Stream for zlib inflate/deflate 2 | Version 2.9.2, February 12, 2020 3 | part of the minizip-ng project 4 | 5 | Copyright (C) Nathan Moinvaziri 6 | https://github.com/zlib-ng/minizip-ng 7 | 8 | This program is distributed under the terms of the same license as zlib. 9 | See the accompanying LICENSE file for the full text of the license. 10 | */ 11 | 12 | #ifndef MZ_STREAM_ZSTD_H 13 | #define MZ_STREAM_ZSTD_H 14 | 15 | #ifdef __cplusplus 16 | extern "C" { 17 | #endif 18 | 19 | /***************************************************************************/ 20 | 21 | int32_t mz_stream_zstd_open(void *stream, const char *filename, int32_t mode); 22 | int32_t mz_stream_zstd_is_open(void *stream); 23 | int32_t mz_stream_zstd_read(void *stream, void *buf, int32_t size); 24 | int32_t mz_stream_zstd_write(void *stream, const void *buf, int32_t size); 25 | int64_t mz_stream_zstd_tell(void *stream); 26 | int32_t mz_stream_zstd_seek(void *stream, int64_t offset, int32_t origin); 27 | int32_t mz_stream_zstd_close(void *stream); 28 | int32_t mz_stream_zstd_error(void *stream); 29 | 30 | int32_t mz_stream_zstd_get_prop_int64(void *stream, int32_t prop, int64_t *value); 31 | int32_t mz_stream_zstd_set_prop_int64(void *stream, int32_t prop, int64_t value); 32 | 33 | void* mz_stream_zstd_create(void); 34 | void mz_stream_zstd_delete(void **stream); 35 | 36 | void* mz_stream_zstd_get_interface(void); 37 | 38 | /***************************************************************************/ 39 | 40 | #ifdef __cplusplus 41 | } 42 | #endif 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /3rdparty/xxhash/xxh3.h: -------------------------------------------------------------------------------- 1 | /* 2 | * xxHash - Extremely Fast Hash algorithm 3 | * Development source file for `xxh3` 4 | * Copyright (C) 2019-2020 Yann Collet 5 | * 6 | * BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) 7 | * 8 | * Redistribution and use in source and binary forms, with or without 9 | * modification, are permitted provided that the following conditions are 10 | * met: 11 | * 12 | * * Redistributions of source code must retain the above copyright 13 | * notice, this list of conditions and the following disclaimer. 14 | * * Redistributions in binary form must reproduce the above 15 | * copyright notice, this list of conditions and the following disclaimer 16 | * in the documentation and/or other materials provided with the 17 | * distribution. 18 | * 19 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | * 31 | * You can contact the author at: 32 | * - xxHash homepage: https://www.xxhash.com 33 | * - xxHash source repository: https://github.com/Cyan4973/xxHash 34 | */ 35 | 36 | /* 37 | * Note: This file used to host the source code of XXH3_* variants. 38 | * during the development period. 39 | * The source code is now properly integrated within xxhash.h. 40 | * 41 | * xxh3.h is no longer useful, 42 | * but it is still provided for compatibility with source code 43 | * which used to include it directly. 44 | * 45 | * Programs are now highly discouraged to include xxh3.h. 46 | * Include `xxhash.h` instead, which is the officially supported interface. 47 | * 48 | * In the future, xxh3.h will start to generate warnings, then errors, 49 | * then it will be removed from source package and from include directory. 50 | */ 51 | 52 | /* Simulate the same impact as including the old xxh3.h source file */ 53 | 54 | #define XXH_INLINE_ALL 55 | #include "xxhash.h" 56 | -------------------------------------------------------------------------------- /3rdparty/xxhash/xxhash.c: -------------------------------------------------------------------------------- 1 | /* 2 | * xxHash - Extremely Fast Hash algorithm 3 | * Copyright (C) 2012-2020 Yann Collet 4 | * 5 | * BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted provided that the following conditions are 9 | * met: 10 | * 11 | * * Redistributions of source code must retain the above copyright 12 | * notice, this list of conditions and the following disclaimer. 13 | * * Redistributions in binary form must reproduce the above 14 | * copyright notice, this list of conditions and the following disclaimer 15 | * in the documentation and/or other materials provided with the 16 | * distribution. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | * 30 | * You can contact the author at: 31 | * - xxHash homepage: https://www.xxhash.com 32 | * - xxHash source repository: https://github.com/Cyan4973/xxHash 33 | */ 34 | 35 | 36 | /* 37 | * xxhash.c instantiates functions defined in xxhash.h 38 | */ 39 | 40 | #define XXH_STATIC_LINKING_ONLY /* access advanced declarations */ 41 | #define XXH_IMPLEMENTATION /* access definitions */ 42 | 43 | #include "xxhash.h" 44 | -------------------------------------------------------------------------------- /3rdparty/zlib-ng/zlib_name_mangling.h: -------------------------------------------------------------------------------- 1 | /* zlib_name_mangling.h has been automatically generated from 2 | * zlib_name_mangling.h.empty because ZLIB_SYMBOL_PREFIX was NOT set. 3 | */ 4 | 5 | #ifndef ZLIB_NAME_MANGLING_H 6 | #define ZLIB_NAME_MANGLING_H 7 | 8 | #endif /* ZLIB_NAME_MANGLING_H */ 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Open Mod Manager 2 | 3 | Open source and generic Mod ("Modifications") manager. 4 | 5 | ## Version: 1.3 6 | 7 | ## Presentation 8 | 9 | Open Mod Manager is an open source and generic Mod manager. Mod term comes from 10 | Modification and refers to one or several unofficial files which are added to, or 11 | replace original editor's files of a software (usually a game) to change its behaviour, 12 | add features, components or items. 13 | 14 | While these Mods's files can be manually installed and origina files backed by the user, 15 | Open Mod Manager provide a safe, automated and advanced environement to store, install, 16 | back and restore original files, and create Mods as encapsuled packages. 17 | 18 | ### Modern package management 19 | 20 | Cumulative installations, backup then restoration of original files are key feature, 21 | Open Mod Manager embed safe and smart automatic backup mechanism to garantish user can 22 | always and at any time restore original files. Finally, Open Mod Manager support 23 | versioning and dependencies mechanisms. 24 | 25 | ### Network oriented 26 | 27 | Since most of mods are provided by users or communities, and downloaded by other, Open 28 | Mod Manager provides an open online repository mechanism allowing any community or 29 | individual to provides its own Mod Packages within public online repositories. Users 30 | can configure repositories to check for updates or new availables Mods from their 31 | favorite communities. 32 | 33 | ### Generic and versatile 34 | 35 | Open Mod Mod manager is not focused to work with a specific game or software, it is in 36 | contrary designed to be generic, very flexible, and to adapt to the most configurations 37 | as possible and even for what was not though in the start. The configuration 38 | architecture is modular, stored as human readable XML files. Editing merging or 39 | deleting configuration modules can be as simple as - litteraly - moving subfolders 40 | from one location to another. 41 | 42 | ## Features 43 | 44 | Open Mod Mananager currently implements the following key features: 45 | 46 | - Modular and flexible usage with Hubs and Channels 47 | - Allow custom directories everywhere 48 | - Support Mods as directory or 'Packaged' archive files 49 | - Online Mod repositories mechanism with resumable downloads 50 | - Mods dependencies mechanism 51 | - Mods safe overlapped install and restoration 52 | - Compressed Mods backup data 53 | - Tools and features for Mod creators 54 | - Tools and features for Mod repository managers 55 | 56 | - Presets mechanism for automatic Mods apply sequences. 57 | - Network repositories for remote packages distribution and download. 58 | 59 | ## Screenshot 60 | 61 | ![Open Mod Mananager Screenshot](screenshot.png) 62 | -------------------------------------------------------------------------------- /dll/32-bit/libcurl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/dll/32-bit/libcurl.dll -------------------------------------------------------------------------------- /dll/32-bit/liblzma.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/dll/32-bit/liblzma.dll -------------------------------------------------------------------------------- /dll/32-bit/libzstd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/dll/32-bit/libzstd.dll -------------------------------------------------------------------------------- /dll/32-bit/zlib1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/dll/32-bit/zlib1.dll -------------------------------------------------------------------------------- /dll/64-bit/libcurl-x64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/dll/64-bit/libcurl-x64.dll -------------------------------------------------------------------------------- /dll/64-bit/liblzma.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/dll/64-bit/liblzma.dll -------------------------------------------------------------------------------- /dll/64-bit/libzstd.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/dll/64-bit/libzstd.dll -------------------------------------------------------------------------------- /dll/64-bit/zlib1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/dll/64-bit/zlib1.dll -------------------------------------------------------------------------------- /help/en/0A_presentation.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Open Mod Manager - Presentation 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |

Presentation

12 | 13 |
14 |

What is Open Mod Manager ?

15 |

16 | Open Mod Manager is an open source and generic Mod manager. 17 |

18 |

19 | Mod term come from Modification and refers to one or several 20 | unofficial files which are added to, or replace original editor's 21 | files of a software (usually a game) to change its behaviour, add 22 | features, components or items. 23 |

24 |

25 | While these Mods's files can be manually installed and origina files 26 | backed by the user, Open Mod Manager provide a safe, automated and 27 | advanced environement to store, install, back and restore original 28 | files, and create Mods as encapsuled packages. 29 |

30 |

Modern package management

31 |

32 | Cumulative installations, backup then restoration of original 33 | files are key feature, Open Mod Manager embed safe and smart 34 | automatic backup mechanism to garantish user can always and at any 35 | time restore editor's original files. Finally, as any modern package 36 | manager, Open Mod Manager support versioning and dependencies 37 | mechanisms. 38 |

39 |

Network oriented

40 |

41 | Since most of mods are provided by users or communities, and 42 | downloaded by other, Open Mod Manager provides an open online 43 | repository mechanism allowing any community or individual to 44 | provides its encapsuled packages within public online repositories. 45 | Users can configure repositories to check for updates or new 46 | availables packages from their favorite communities. 47 |

48 |

Generic and versatile

49 |

50 | Open Mod Mod manager is not focused to work with a specific game or 51 | software, it is in contrary designed to be generic, very flexible, 52 | and to adapt to the most configurations as possible and even for 53 | what was not though in the start. The configuration architecture is 54 | modular, stored as human readable XML files. Editing merging or 55 | deleting configuration modules can be as simple as - litteraly - 56 | moving subfolders from one location to another. 57 |

58 | 59 | 60 | -------------------------------------------------------------------------------- /help/en/2C_package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Open Mod Manager - Mod Packages 4 | 5 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

Mod Packages

15 | 16 | 17 |

The Mod Packages or simply Packages are the objects 18 | that apply the modifications to the third-party software. They are 19 | in some way the heart of the modding process and what the 20 | Manager is built around.

21 | 22 |

Back to top

23 | 24 | 25 | 26 |

Mod Packages Overview

27 | 28 | 29 |

The purpose of the Mod Package is to provide an easy and 30 | standard way to install but also create modifications (Mods) to 31 | apply to a third-party software.

32 | 33 |

Mod Package base concept and architecture

34 | 35 |

Since each (third-party) software have its own file tree and 36 | architecture, the Manager canno guess which file must be copied or 37 | added where. One solution could be to write, for each package, a 38 | kind of script file that tell where to put each file, but for large 39 | amount of file this become fastidious for the Mod creator and 40 | multply the risk of error.

41 | 42 |

A good and simple solution allowing to easily adapt genericaly 43 | any Mods to any third-party sofrware were found some year ago by 44 | other mod managing software. This solution consists on, for the mod 45 | creator, to strictly replicate the targeted third-party software's 46 | folders tree, in order to allow the mod managing software to 47 | perform an automatic comparison, then overwriting or adding each 48 | file (or folder) where it is supposed to be within the third-party 49 | file tree.

50 | 51 | 52 | 53 |

Since a same third-party software have the same file tree every 54 | where it is installed, the only thing the mod creator had to do, is 55 | to tell people to find the third-party software's installation 56 | folder (root of the file tree), then applying mods from there. And 57 | this is exactly the way Open Mod Manager works, through its object 58 | of Target Location.

59 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /help/images/1A_interface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/help/images/1A_interface.png -------------------------------------------------------------------------------- /help/images/2A_ctx_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/help/images/2A_ctx_home.png -------------------------------------------------------------------------------- /help/images/2A_ctx_prop_bat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/help/images/2A_ctx_prop_bat.png -------------------------------------------------------------------------------- /help/images/2A_ctx_prop_loc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/help/images/2A_ctx_prop_loc.png -------------------------------------------------------------------------------- /help/images/2A_ctx_prop_stg_btn_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/help/images/2A_ctx_prop_stg_btn_open.png -------------------------------------------------------------------------------- /help/images/2A_ctx_prop_stg_btn_trash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/help/images/2A_ctx_prop_stg_btn_trash.png -------------------------------------------------------------------------------- /help/images/2B_ctx_prop_loc_btn_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/help/images/2B_ctx_prop_loc_btn_new.png -------------------------------------------------------------------------------- /help/images/2B_loc_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/help/images/2B_loc_home.png -------------------------------------------------------------------------------- /help/images/2B_loc_prop_net.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/help/images/2B_loc_prop_net.png -------------------------------------------------------------------------------- /help/images/2C_pkg_arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/help/images/2C_pkg_arch.png -------------------------------------------------------------------------------- /help/images/gui_main_lib.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/help/images/gui_main_lib.png -------------------------------------------------------------------------------- /help/images/icon_info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/help/images/icon_info.png -------------------------------------------------------------------------------- /help/images/icon_note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/help/images/icon_note.png -------------------------------------------------------------------------------- /help/images/icon_warn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/help/images/icon_warn.png -------------------------------------------------------------------------------- /help/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: Arial, sans-serif; 3 | color: #161616; 4 | background-color: #FFF; 5 | font-size: 11pt; 6 | padding: 0; 7 | width: 700px; 8 | margin: auto; 9 | } 10 | 11 | a:link { text-decoration: none; color: #0043C7; } 12 | a:visited { color: #6239AF; } 13 | a:hover { text-decoration: underline; color: #0055FF; } 14 | a:active { color: #3589FF; } 15 | 16 | h1 { 17 | color: #fff; 18 | background-color: #161616; 19 | font-size: 18pt; 20 | font-weight: bold; 21 | margin: 10px 0px 0px 0px; 22 | padding: 5px 10px; 23 | } 24 | 25 | h2 { 26 | font-size: 18pt; 27 | font-style: italic; 28 | margin-top: 40px; 29 | border-top: 1px solid #d7d7d7; 30 | border-bottom: 1px solid #d7d7d7; 31 | padding: 3px 0; 32 | } 33 | 34 | h3 { 35 | font-size: 14pt; 36 | margin-top: 25px; 37 | font-style: italic; 38 | border-bottom: 1px solid #d7d7d7; 39 | padding: 2px 0; 40 | } 41 | 42 | h4 { 43 | font-size: 12pt; 44 | font-weight: bold; 45 | line-height: 15px; 46 | margin: 25px 0 5px 0; 47 | } 48 | 49 | img { 50 | margin: 0px 0px 0px 20px; 51 | } 52 | 53 | 54 | .note { 55 | width: 80%; 56 | background-color: #F3F3F0; 57 | background-position: top 5px left 6px; 58 | background-repeat: no-repeat; 59 | border: 1px solid #C7C7C4; 60 | padding: 8px 15px 8px 40px; 61 | margin: 0px 0px 0px 5px; 62 | border-radius: 10px; 63 | font-style: italic; 64 | } 65 | 66 | .icon-note { 67 | background-image: url("images/icon_note.png"); 68 | 69 | } 70 | 71 | .icon-info { 72 | background-image: url("images/icon_info.png"); 73 | } 74 | 75 | .icon-warn { 76 | background-image: url("images/icon_warn.png"); 77 | } 78 | 79 | .hint-menu { 80 | font-size: 14px; 81 | } 82 | 83 | .hint-menu span { 84 | line-height: 25px; 85 | padding: 2px 12px; 86 | background-color: #ddd; 87 | border: 1px solid #aaa; 88 | } 89 | 90 | .tab { 91 | background-color: #eee; 92 | border-top: 1px solid #ccc; 93 | border-left: 1px solid #ccc; 94 | border-right: 1px solid #ccc; 95 | padding: 0 8px; 96 | } 97 | 98 | p span { 99 | background-color: #ddd; 100 | padding: 0 8px; 101 | } 102 | 103 | p img { 104 | vertical-align: bottom; 105 | padding: 0; 106 | margin: 0; 107 | } 108 | 109 | .numberpile { 110 | color: #f00; 111 | font-size: 14pt; 112 | font-weight: bold; 113 | font-family: serif; 114 | } 115 | .numberpile h3, h4, p, .note { 116 | color: #000; 117 | font-family: sans-serif; 118 | } 119 | .numberpile h4 { 120 | font-size: 12pt; 121 | font-weight: bold; 122 | line-height: 5px; 123 | margin: 0; 124 | } 125 | .numberpile p { 126 | font-size: 11pt; 127 | font-weight: normal; 128 | } 129 | .numberpile .note { 130 | font-size: 11pt; 131 | font-weight: normal; 132 | } 133 | 134 | 135 | .toc li { 136 | padding: 7px 0 0 0; 137 | } 138 | 139 | 140 | -------------------------------------------------------------------------------- /include/OmDialogWiz.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMDIALOGWIZ_H 18 | #define OMDIALOGWIZ_H 19 | 20 | #include "OmBase.h" 21 | #include "OmBaseWin.h" 22 | 23 | #include "OmDialogWizPage.h" 24 | 25 | /// \brief Wizard Dialog window. 26 | /// 27 | /// Base class for Wizard dialog window interface, inherited from Dialog base 28 | /// class. This class is used as interface for specific dialog which use others 29 | /// dialog as child to create a Wizard dialog sequence. 30 | /// 31 | class OmDialogWiz : public OmDialog 32 | { 33 | public: 34 | 35 | /// \brief Constructor. 36 | /// 37 | /// Default constructor. 38 | /// 39 | /// \param[in] hins : API Instance handle. 40 | /// 41 | OmDialogWiz(HINSTANCE hins); 42 | 43 | /// \brief Destructor. 44 | /// 45 | /// Default destructor. 46 | /// 47 | virtual ~OmDialogWiz(); 48 | 49 | /// \brief Checks whether next is allowed 50 | /// 51 | /// Checks current page fields and parameter to enable or disable 52 | /// the 'Next' button accordingly. 53 | /// 54 | void checkNextAllowed(); 55 | 56 | protected: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 57 | 58 | void _addPage(OmDialogWizPage* dialog); 59 | 60 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 61 | 62 | OmPWizPageArray _pageDial; 63 | 64 | int32_t _currPage; 65 | 66 | void _changePage(int32_t index); 67 | 68 | void _onNext(); 69 | 70 | void _onBack(); 71 | 72 | void _onInit(); 73 | 74 | void _onShow(); 75 | 76 | void _onResize(); 77 | 78 | INT_PTR _onMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 79 | 80 | virtual void _onWizInit(); 81 | 82 | virtual void _onWizShow(); 83 | 84 | virtual void _onWizResize(); 85 | 86 | virtual bool _onWizNext(); 87 | 88 | virtual void _onWizFinish(); 89 | 90 | virtual INT_PTR _onWizMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 91 | }; 92 | 93 | #endif // OMDIALOGWIZ_H 94 | -------------------------------------------------------------------------------- /include/OmUi/OmUiHelpAbt.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIHELPABT_H 18 | #define OMUIHELPABT_H 19 | 20 | #include "OmDialog.h" 21 | 22 | /// \brief Help-About dialog 23 | /// 24 | /// OmDialog class derived for Help-About window dialog 25 | /// 26 | class OmUiHelpAbt : public OmDialog 27 | { 28 | public: 29 | 30 | /// \brief Constructor. 31 | /// 32 | /// Default constructor. 33 | /// 34 | /// \param[in] hins : API Instance handle. 35 | /// 36 | OmUiHelpAbt(HINSTANCE hins); 37 | 38 | /// \brief Destructor. 39 | /// 40 | /// Default destructor. 41 | /// 42 | ~OmUiHelpAbt(); 43 | 44 | /// \brief Get resource id. 45 | /// 46 | /// Returns dialog window resource id. 47 | /// 48 | /// \return dialog resource id. 49 | /// 50 | long id() const; 51 | 52 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 53 | 54 | static LRESULT WINAPI _donate_subclass_proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData); 55 | 56 | void _onInit(); 57 | 58 | void _onResize(); 59 | 60 | INT_PTR _onMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 61 | }; 62 | 63 | #endif // OMUIHELPABT_H 64 | -------------------------------------------------------------------------------- /include/OmUi/OmUiHelpLog.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIHELPLOG_H 18 | #define OMUIHELPLOG_H 19 | 20 | #include "OmDialog.h" 21 | 22 | /// \brief Debug Log dialog 23 | /// 24 | /// OmDialog class derived for Debug Log dialog window 25 | /// 26 | class OmUiHelpLog : public OmDialog 27 | { 28 | public: 29 | 30 | /// \brief Constructor. 31 | /// 32 | /// Default constructor. 33 | /// 34 | /// \param[in] hins : API Instance handle. 35 | /// 36 | OmUiHelpLog(HINSTANCE hins); 37 | 38 | /// \brief Destructor. 39 | /// 40 | /// Default destructor. 41 | /// 42 | ~OmUiHelpLog(); 43 | 44 | /// \brief Get resource id. 45 | /// 46 | /// Returns dialog window resource id. 47 | /// 48 | /// \return dialog resource id. 49 | /// 50 | long id() const; 51 | 52 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 53 | 54 | static void _log_notify_cb(void*, OmNotify, uint64_t); 55 | 56 | void _onInit(); 57 | 58 | void _onResize(); 59 | 60 | void _onQuit(); 61 | 62 | INT_PTR _onMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 63 | }; 64 | 65 | #endif // OMUIHELPLOG_H 66 | -------------------------------------------------------------------------------- /include/OmUi/OmUiManMain.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIMGRMAIN_H 18 | #define OMUIMGRMAIN_H 19 | 20 | #include "OmDialog.h" 21 | 22 | class OmUiMan; 23 | 24 | /// \brief Window Main (middle) Frame. 25 | /// 26 | /// OmDialog class derived for the main window middle frame which contain 27 | /// Scripts, Mods Library and Network library. 28 | /// 29 | class OmUiManMain : public OmDialog 30 | { 31 | public: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 32 | 33 | /// \brief Constructor. 34 | /// 35 | /// Default constructor. 36 | /// 37 | /// \param[in] hins : API Instance handle. 38 | /// 39 | OmUiManMain(HINSTANCE hins); 40 | 41 | /// \brief Destructor. 42 | /// 43 | /// Default destructor. 44 | /// 45 | ~OmUiManMain(); 46 | 47 | /// \brief Get resource id. 48 | /// 49 | /// Returns dialog window resource id. 50 | /// 51 | /// \return dialog resource id. 52 | /// 53 | long id() const; 54 | 55 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 56 | 57 | OmUiMan* _UiMan; 58 | 59 | // child tabs 60 | OmWStringArray _tab_name; 61 | 62 | OmPDialogArray _tab_dialog; 63 | 64 | void _tab_add_dialog(const OmWString& name, OmDialog* dialog); 65 | 66 | // Dialog common functions 67 | void _onInit(); 68 | 69 | void _onShow(); 70 | 71 | void _onResize(); 72 | 73 | void _onRefresh(); 74 | 75 | void _onQuit(); 76 | 77 | INT_PTR _onMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 78 | }; 79 | 80 | #endif // OMUIMGRMAIN_H 81 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPictView.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPICTVIEW_H 18 | #define OMUIPICTVIEW_H 19 | 20 | #include "OmDialog.h" 21 | 22 | class OmImage; 23 | 24 | /// \brief Picture Viewer dialog 25 | /// 26 | /// OmDialog class derived for Picture Viewer dialog 27 | /// 28 | class OmUiPictView : public OmDialog 29 | { 30 | public: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 31 | 32 | /// \brief Constructor. 33 | /// 34 | /// Default constructor. 35 | /// 36 | /// \param[in] hins : API Instance handle. 37 | /// 38 | OmUiPictView(HINSTANCE hins); 39 | 40 | /// \brief Destructor. 41 | /// 42 | /// Default destructor. 43 | /// 44 | ~OmUiPictView(); 45 | 46 | /// \brief Get resource id. 47 | /// 48 | /// Returns dialog window resource id. 49 | /// 50 | /// \return dialog resource id. 51 | /// 52 | long id() const; 53 | 54 | void setImage(OmImage* image) { 55 | this->_image = image; 56 | } 57 | 58 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 59 | 60 | OmImage* _image; 61 | 62 | uint8_t* _cvData; 63 | 64 | size_t _cvSize; 65 | 66 | void _onInit(); 67 | 68 | void _onResize(); 69 | 70 | INT_PTR _onMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 71 | }; 72 | 73 | #endif // OMUIPICTVIEW_H 74 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropChnBck.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPCHNBCK_H 18 | #define OMUIPROPCHNBCK_H 19 | 20 | #include "OmDialogPropTab.h" 21 | 22 | #define CHN_PROP_BCK_CUSTDIR 0 23 | #define CHN_PROP_BCK_COMP_LEVEL 1 24 | #define CHN_PROP_BCK_NO_OVERLAP 2 25 | 26 | /// \brief Mod Channel Properties: "Data Backup" tab 27 | /// 28 | /// OmDialogPropTab class derived for "Data Backup" tab child dialog window 29 | /// 30 | class OmUiPropChnBck : public OmDialogPropTab 31 | { 32 | public: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 33 | 34 | /// \brief Constructor. 35 | /// 36 | /// Default constructor. 37 | /// 38 | /// \param[in] hins : API Instance handle. 39 | /// 40 | OmUiPropChnBck(HINSTANCE hins); 41 | 42 | /// \brief Destructor. 43 | /// 44 | /// Default destructor. 45 | /// 46 | ~OmUiPropChnBck(); 47 | 48 | /// \brief Get resource id. 49 | /// 50 | /// Returns dialog window resource id. 51 | /// 52 | /// \return dialog resource id. 53 | /// 54 | long id() const; 55 | 56 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 57 | 58 | void _cust_backup_toggle(); 59 | 60 | void _browse_dir_backup(); 61 | 62 | void _comp_backup_toggle(); 63 | 64 | void _onTbInit(); 65 | 66 | void _onTbResize(); 67 | 68 | void _onTbRefresh(); 69 | 70 | INT_PTR _onTbMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 71 | }; 72 | 73 | #endif // OMUIPROPCHNBCK_H 74 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropChnDnl.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPCHNDNL_H 18 | #define OMUIPROPCHNDNL_H 19 | 20 | #include "OmDialogPropTab.h" 21 | 22 | #define CHN_PROP_DNL_ONUPGRADE 0 23 | #define CHN_PROP_DNL_WARNINGS 1 24 | #define CHN_PROP_DNL_LIMITS 2 25 | 26 | /// \brief Mod Channel Properties: "Download options" tab 27 | /// 28 | /// OmDialogPropTab class derived for "Download options" tab child dialog window 29 | /// 30 | class OmUiPropChnDnl : public OmDialogPropTab 31 | { 32 | public: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 33 | 34 | /// \brief Constructor. 35 | /// 36 | /// Default constructor. 37 | /// 38 | /// \param[in] hins : API Instance handle. 39 | /// 40 | OmUiPropChnDnl(HINSTANCE hins); 41 | 42 | /// \brief Destructor. 43 | /// 44 | /// Default destructor. 45 | /// 46 | ~OmUiPropChnDnl(); 47 | 48 | /// \brief Get resource id. 49 | /// 50 | /// Returns dialog window resource id. 51 | /// 52 | /// \return dialog resource id. 53 | /// 54 | long id() const; 55 | 56 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 57 | 58 | void _limit_rate_toggle(); 59 | 60 | void _limit_thread_toggle(); 61 | 62 | void _onTbInit(); 63 | 64 | void _onTbResize(); 65 | 66 | void _onTbRefresh(); 67 | 68 | INT_PTR _onTbMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 69 | }; 70 | 71 | #endif // OMUIPROPCHNDNL_H 72 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropChnLib.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPCHNLIB_H 18 | #define OMUIPROPCHNLIB_H 19 | 20 | #include "OmDialogPropTab.h" 21 | 22 | #define CHN_PROP_LIB_CUSTDIR 0 23 | #define CHN_PROP_LIB_DEVMODE 1 24 | #define CHN_PROP_LIB_WARNINGS 2 25 | #define CHN_PROP_LIB_SHOWHIDDEN 3 26 | #define CHN_PROP_LIB_CLEANUNINS 4 27 | 28 | /// \brief Mod Channel Properties: "Mods Library" tab 29 | /// 30 | /// OmDialogPropTab class derived for "Mods Library" tab child dialog window 31 | /// 32 | class OmUiPropChnLib : public OmDialogPropTab 33 | { 34 | public: 35 | 36 | /// \brief Constructor. 37 | /// 38 | /// Default constructor. 39 | /// 40 | /// \param[in] hins : API Instance handle. 41 | /// 42 | OmUiPropChnLib(HINSTANCE hins); 43 | 44 | /// \brief Destructor. 45 | /// 46 | /// Default destructor. 47 | /// 48 | ~OmUiPropChnLib(); 49 | 50 | /// \brief Get resource id. 51 | /// 52 | /// Returns dialog window resource id. 53 | /// 54 | /// \return dialog resource id. 55 | /// 56 | long id() const; 57 | 58 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 59 | 60 | void _cust_library_toggle(); 61 | 62 | void _browse_dir_library(); 63 | 64 | void _onTbInit(); 65 | 66 | void _onTbResize(); 67 | 68 | void _onTbRefresh(); 69 | 70 | INT_PTR _onTbMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 71 | }; 72 | 73 | #endif // OMUIPROPCHNLIB_H 74 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropChnNet.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPCHNNET_H 18 | #define OMUIPROPCHNNET_H 19 | 20 | #include 21 | 22 | #define CHN_PROP_NET_ONUPGRADE 0 23 | #define CHN_PROP_NET_WARNINGS 1 24 | 25 | /// \brief Mod Channel Properties: "Network Repositories" tab 26 | /// 27 | /// OmDialogPropTab class derived for "Network Repositories" tab child dialog window 28 | /// 29 | class OmUiPropChnNet : public OmDialogPropTab 30 | { 31 | public: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 32 | 33 | /// \brief Constructor. 34 | /// 35 | /// Default constructor. 36 | /// 37 | /// \param[in] hins : API Instance handle. 38 | /// 39 | OmUiPropChnNet(HINSTANCE hins); 40 | 41 | /// \brief Destructor. 42 | /// 43 | /// Default destructor. 44 | /// 45 | ~OmUiPropChnNet(); 46 | /// \brief Get resource id. 47 | /// 48 | /// Returns dialog window resource id. 49 | /// 50 | /// \return dialog resource id. 51 | /// 52 | long id() const; 53 | 54 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 55 | 56 | void _query_start(size_t); 57 | 58 | static void _query_result_fn(void*, OmResult, uint64_t); 59 | 60 | void _lb_rep_on_selchg(); 61 | 62 | void _bc_rpadd_pressed(); 63 | 64 | void _bc_rpqry_pressed(); 65 | 66 | void _bc_rpdel_pressed(); 67 | 68 | void _onTbInit(); 69 | 70 | void _onTbResize(); 71 | 72 | void _onTbRefresh(); 73 | 74 | INT_PTR _onTbMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 75 | }; 76 | 77 | #endif // OMUIPROPCHNNET_H 78 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropChnStg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPCHNSTG_H 18 | #define OMUIPROPCHNSTG_H 19 | 20 | #include "OmDialogPropTab.h" 21 | 22 | #define CHN_PROP_STG_TITLE 0 23 | #define CHN_PROP_STG_TARGET 1 24 | 25 | /// \brief Mod Channel Properties: "General Settings" tab 26 | /// 27 | /// OmDialogPropTab class derived for "General Settings" tab child dialog window 28 | /// 29 | class OmUiPropChnStg : public OmDialogPropTab 30 | { 31 | public: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 32 | 33 | /// \brief Constructor. 34 | /// 35 | /// Default constructor. 36 | /// 37 | /// \param[in] hins : API Instance handle. 38 | /// 39 | OmUiPropChnStg(HINSTANCE hins); 40 | 41 | /// \brief Destructor. 42 | /// 43 | /// Default destructor. 44 | /// 45 | ~OmUiPropChnStg(); 46 | 47 | /// \brief Get resource id. 48 | /// 49 | /// Returns dialog window resource id. 50 | /// 51 | /// \return dialog resource id. 52 | /// 53 | long id() const; 54 | 55 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 56 | 57 | void _browse_dir_target(); 58 | 59 | void _onTbInit(); 60 | 61 | void _onTbResize(); 62 | 63 | void _onTbRefresh(); 64 | 65 | INT_PTR _onTbMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 66 | }; 67 | 68 | #endif // OMUIPROPCHNSTG_H 69 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropHubChn.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPHUBCHN_H 18 | #define OMUIPROPHUBCHN_H 19 | 20 | #include "OmDialogPropTab.h" 21 | 22 | #define HUB_PROP_CHN_ORDER 0 23 | 24 | /// \brief Mod Hub Properties / Mod Channel tab child 25 | /// 26 | /// OmDialog class derived for Mod Hub Properties / Mod Channel tab child dialog window 27 | /// 28 | class OmUiPropHubChn : public OmDialogPropTab 29 | { 30 | public: 31 | 32 | /// \brief Constructor. 33 | /// 34 | /// Default constructor. 35 | /// 36 | /// \param[in] hins : API Instance handle. 37 | /// 38 | OmUiPropHubChn(HINSTANCE hins); 39 | 40 | /// \brief Destructor. 41 | /// 42 | /// Default destructor. 43 | /// 44 | ~OmUiPropHubChn(); 45 | 46 | /// \brief Get resource id. 47 | /// 48 | /// Returns dialog window resource id. 49 | /// 50 | /// \return dialog resource id. 51 | /// 52 | long id() const; 53 | 54 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 55 | 56 | void _lb_chn_on_selchg(); 57 | 58 | void _channel_list_up(); 59 | 60 | void _channel_list_dn(); 61 | 62 | void _channel_delete(); 63 | 64 | void _channel_dialog_prop(); 65 | 66 | void _channel_dialog_add(); 67 | 68 | void _onTbInit(); 69 | 70 | void _onTbResize(); 71 | 72 | void _onTbRefresh(); 73 | 74 | INT_PTR _onTbMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 75 | }; 76 | 77 | #endif // OMUIPROPHUBCHN_H 78 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropHubPst.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPHUBPST_H 18 | #define OMUIPROPHUBPST_H 19 | 20 | #include "OmDialogPropTab.h" 21 | 22 | #define HUB_PROP_BAT_ORDER 0 23 | #define HUB_PROP_BAT_QUIETMODE 1 24 | 25 | /// \brief Mod Hub Properties / Batches tab child 26 | /// 27 | /// OmDialog class derived for Mod Hub Properties / Batches tab child dialog window 28 | /// 29 | class OmUiPropHubPst : public OmDialogPropTab 30 | { 31 | public: 32 | 33 | /// \brief Constructor. 34 | /// 35 | /// Default constructor. 36 | /// 37 | /// \param[in] hins : API Instance handle. 38 | /// 39 | OmUiPropHubPst(HINSTANCE hins); 40 | 41 | /// \brief Destructor. 42 | /// 43 | /// Default destructor. 44 | /// 45 | ~OmUiPropHubPst(); 46 | 47 | /// \brief Get resource id. 48 | /// 49 | /// Returns dialog window resource id. 50 | /// 51 | /// \return dialog resource id. 52 | /// 53 | long id() const; 54 | 55 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 56 | 57 | void _lb_pst_on_selchg(); 58 | 59 | void _preset_list_up(); 60 | 61 | void _preset_list_dn(); 62 | 63 | void _preset_dialog_add(); 64 | 65 | void _preset_delete(); 66 | 67 | void _preset_dialog_prop(); 68 | 69 | void _onTbInit(); 70 | 71 | void _onTbResize(); 72 | 73 | void _onTbRefresh(); 74 | 75 | INT_PTR _onTbMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 76 | }; 77 | 78 | #endif // OMUIPROPHUBPST_H 79 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropHubStg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPHUBSETG_H 18 | #define OMUIPROPHUBSETG_H 19 | 20 | #include "OmDialogPropTab.h" 21 | 22 | #define HUB_PROP_STG_TITLE 0 23 | #define HUB_PROP_STG_ICON 1 24 | #define HUB_PROP_STG_LAYOUT 2 25 | 26 | 27 | /// \brief Mod Hub Properties / Settings tab child 28 | /// 29 | /// OmDialog class derived for Mod Hub Properties / Settings tab child dialog window 30 | /// 31 | class OmUiPropHubStg : public OmDialogPropTab 32 | { 33 | public: 34 | 35 | /// \brief Constructor. 36 | /// 37 | /// Default constructor. 38 | /// 39 | /// \param[in] hins : API Instance handle. 40 | /// 41 | OmUiPropHubStg(HINSTANCE hins); 42 | 43 | /// \brief Destructor. 44 | /// 45 | /// Default destructor. 46 | /// 47 | ~OmUiPropHubStg(); 48 | 49 | /// \brief Get resource id. 50 | /// 51 | /// Returns dialog window resource id. 52 | /// 53 | /// \return dialog resource id. 54 | /// 55 | long id() const; 56 | 57 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 58 | 59 | void _browse_hub_icon(); 60 | 61 | void _delete_hub_icon(); 62 | 63 | void _onTbInit(); 64 | 65 | void _onTbResize(); 66 | 67 | void _onTbRefresh(); 68 | 69 | INT_PTR _onTbMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 70 | }; 71 | 72 | #endif // OMUIPROPHUBSETG_H 73 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropMan.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPMAN_H 18 | #define OMUIPROPMAN_H 19 | 20 | #include "OmDialogProp.h" 21 | 22 | /// \brief Manager Options parent dialog 23 | /// 24 | /// OmDialogProp class derived for Manager Options parent dialog window. 25 | /// 26 | class OmUiPropMan : public OmDialogProp 27 | { 28 | public: 29 | 30 | /// \brief Constructor. 31 | /// 32 | /// Default constructor. 33 | /// 34 | /// \param[in] hins : API Instance handle. 35 | /// 36 | OmUiPropMan(HINSTANCE hins); 37 | 38 | /// \brief Destructor. 39 | /// 40 | /// Default destructor. 41 | /// 42 | ~OmUiPropMan(); 43 | 44 | /// \brief Get resource id. 45 | /// 46 | /// Returns dialog window resource id. 47 | /// 48 | /// \return dialog resource id. 49 | /// 50 | long id() const; 51 | 52 | /// \brief Check for properties changes 53 | /// 54 | /// Checks whether dialog's dedicated properties changed then perform 55 | /// proper operations, such as enabling or disabling the Apply button. 56 | /// 57 | bool checkChanges(); 58 | 59 | /// \brief Validate properties changes 60 | /// 61 | /// Checks whether dialog's changed properties are valid and suitable 62 | /// then alert user or perform required action in context. 63 | /// 64 | bool validChanges(); 65 | 66 | /// \brief Apply properties changes 67 | /// 68 | /// Retrieve dialog's dedicated properties then apply changes. 69 | /// 70 | bool applyChanges(); 71 | 72 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 73 | 74 | }; 75 | 76 | #endif // OMUIPROPMAN_H 77 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropManGle.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPMANGLE_H 18 | #define OMUIPROPMANGLE_H 19 | 20 | #include "OmDialogPropTab.h" 21 | 22 | #define MAN_PROP_GLE_ICON_SIZE 0 23 | #define MAN_PROP_GLE_NO_MDPARSE 1 24 | #define MAN_PROP_GLE_LINK_CONFIRM 2 25 | #define MAN_PROP_GLE_START_LIST 3 26 | #define MAN_PROP_GLE_SARRT_ORDER 4 27 | 28 | /// \brief Manager Options / General tab child 29 | /// 30 | /// OmDialog class derived for Manager Options / General tab child dialog window 31 | /// 32 | class OmUiPropManGle : public OmDialogPropTab 33 | { 34 | public: 35 | 36 | /// \brief Constructor. 37 | /// 38 | /// Default constructor. 39 | /// 40 | /// \param[in] hins : API Instance handle. 41 | /// 42 | OmUiPropManGle(HINSTANCE hins); 43 | 44 | /// \brief Destructor. 45 | /// 46 | /// Default destructor. 47 | /// 48 | ~OmUiPropManGle(); 49 | 50 | /// \brief Get resource id. 51 | /// 52 | /// Returns dialog window resource id. 53 | /// 54 | /// \return dialog resource id. 55 | /// 56 | long id() const; 57 | 58 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 59 | 60 | void _starthub_toggle(); 61 | 62 | void _lb_path_on_selchg(); 63 | 64 | void _starthub_list_up(); 65 | 66 | void _starthub_list_dn(); 67 | 68 | void _starthub_delete(); 69 | 70 | void _browse_hub_file(); 71 | 72 | void _onTbInit(); 73 | 74 | void _onTbResize(); 75 | 76 | void _onTbRefresh(); 77 | 78 | INT_PTR _onTbMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 79 | }; 80 | 81 | #endif // OMUIPROPMANGLE_H 82 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropMod.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPMOD_H 18 | #define OMUIPROPMOD_H 19 | 20 | #include "OmDialogProp.h" 21 | 22 | class OmModPack; 23 | 24 | /// \brief Package Details dialog 25 | /// 26 | /// OmDialogProp class derived for Package Details dialog window 27 | /// 28 | class OmUiPropMod : public OmDialogProp 29 | { 30 | public: 31 | 32 | /// \brief Constructor. 33 | /// 34 | /// Default constructor. 35 | /// 36 | /// \param[in] hins : API Instance handle. 37 | /// 38 | OmUiPropMod(HINSTANCE hins); 39 | 40 | /// \brief Destructor. 41 | /// 42 | /// Default destructor. 43 | /// 44 | ~OmUiPropMod(); 45 | 46 | /// \brief Get resource id. 47 | /// 48 | /// Returns dialog window resource id. 49 | /// 50 | /// \return dialog resource id. 51 | /// 52 | long id() const; 53 | 54 | /// \brief Get associated Package. 55 | /// 56 | /// Returns associated Package object previously defined 57 | /// via OmUiPropChn.setPackage 58 | /// 59 | /// \return Associated Package or nullptr if none. 60 | /// 61 | OmModPack* getModPack() const { 62 | return _ModPack; 63 | } 64 | 65 | /// \brief Set associated Package. 66 | /// 67 | /// Define the associated Package, which the dialog is intended to 68 | /// work with and on. A valid Package must be set in order before 69 | /// opening the dialog. 70 | /// 71 | /// \param[in] pPkg : Package object to associate. 72 | /// 73 | void setModPack(OmModPack* ModPack) { 74 | _ModPack = ModPack; 75 | } 76 | 77 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 78 | 79 | OmModPack* _ModPack; 80 | }; 81 | 82 | #endif // OMUIPROPMOD_H 83 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropModBck.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPMODBCK_H 18 | #define OMUIPROPMODBCK_H 19 | 20 | #include "OmDialogPropTab.h" 21 | 22 | /// \brief Package Properties Backup Tab 23 | /// 24 | /// OmDialog class derived for Package Properties Backup Tab_Control child 25 | /// dialog window 26 | /// 27 | class OmUiPropModBck : public OmDialogPropTab 28 | { 29 | public: 30 | 31 | /// \brief Constructor. 32 | /// 33 | /// Default constructor. 34 | /// 35 | /// \param[in] hins : API Instance handle. 36 | /// 37 | OmUiPropModBck(HINSTANCE hins); 38 | 39 | /// \brief Destructor. 40 | /// 41 | /// Default destructor. 42 | /// 43 | ~OmUiPropModBck(); 44 | 45 | /// \brief Get resource id. 46 | /// 47 | /// Returns dialog window resource id. 48 | /// 49 | /// \return dialog resource id. 50 | /// 51 | long id() const; 52 | 53 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 54 | 55 | void _onTbInit(); 56 | 57 | void _onTbResize(); 58 | }; 59 | 60 | #endif // OMUIPROPMODBCK_H 61 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropModCmn.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPMODCMN_H 18 | #define OMUIPROPMODCMN_H 19 | 20 | #include "OmDialogPropTab.h" 21 | 22 | /// \brief Package Properties Common Tab 23 | /// 24 | /// OmDialog class derived for Package Properties Common Tab_Control child 25 | /// dialog window 26 | /// 27 | class OmUiPropModCmn : public OmDialogPropTab 28 | { 29 | public: 30 | 31 | /// \brief Constructor. 32 | /// 33 | /// Default constructor. 34 | /// 35 | /// \param[in] hins : API Instance handle. 36 | /// 37 | OmUiPropModCmn(HINSTANCE hins); 38 | 39 | /// \brief Destructor. 40 | /// 41 | /// Default destructor. 42 | /// 43 | ~OmUiPropModCmn(); 44 | 45 | /// \brief Get resource id. 46 | /// 47 | /// Returns dialog window resource id. 48 | /// 49 | /// \return dialog resource id. 50 | /// 51 | long id() const; 52 | 53 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 54 | 55 | void _onTbInit(); 56 | 57 | void _onTbResize(); 58 | }; 59 | 60 | #endif // OMUIPROPMODCMN_H 61 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropModSrc.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPMODSRC_H 18 | #define OMUIPROPMODSRC_H 19 | 20 | #include "OmDialogPropTab.h" 21 | 22 | /// \brief Package Properties Source Tab 23 | /// 24 | /// OmDialog class derived for Package Properties Source Tab_Control child 25 | /// dialog window 26 | /// 27 | class OmUiPropModSrc : public OmDialogPropTab 28 | { 29 | public: 30 | 31 | /// \brief Constructor. 32 | /// 33 | /// Default constructor. 34 | /// 35 | /// \param[in] hins : API Instance handle. 36 | /// 37 | OmUiPropModSrc(HINSTANCE hins); 38 | 39 | /// \brief Destructor. 40 | /// 41 | /// Default destructor. 42 | /// 43 | ~OmUiPropModSrc(); 44 | 45 | /// \brief Get resource id. 46 | /// 47 | /// Returns dialog window resource id. 48 | /// 49 | /// \return dialog resource id. 50 | /// 51 | long id() const; 52 | 53 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 54 | 55 | void _comput_checksum(); 56 | 57 | OmWString _size_string(); 58 | 59 | void _onTbInit(); 60 | 61 | void _onTbResize(); 62 | 63 | INT_PTR _onTbMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 64 | }; 65 | 66 | #endif // OMUIPROPMODSRC_H 67 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropNet.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPNET_H 18 | #define OMUIPROPNET_H 19 | 20 | #include "OmDialogProp.h" 21 | 22 | class OmNetPack; 23 | 24 | /// \brief Remote package Details dialog 25 | /// 26 | /// OmDialogProp class derived for Remote package Details dialog window 27 | /// 28 | class OmUiPropNet : public OmDialogProp 29 | { 30 | public: 31 | 32 | /// \brief Constructor. 33 | /// 34 | /// Default constructor. 35 | /// 36 | /// \param[in] hins : API Instance handle. 37 | /// 38 | OmUiPropNet(HINSTANCE hins); 39 | 40 | /// \brief Destructor. 41 | /// 42 | /// Default destructor. 43 | /// 44 | ~OmUiPropNet(); 45 | 46 | /// \brief Get resource id. 47 | /// 48 | /// Returns dialog window resource id. 49 | /// 50 | /// \return dialog resource id. 51 | /// 52 | long id() const; 53 | 54 | /// \brief Get associated Network Mod. 55 | /// 56 | /// Returns associated Network Mod object previously defined 57 | /// 58 | /// \return Pointer to Net Pack or nullptr if none. 59 | /// 60 | OmNetPack* NetPack() const { 61 | return this->_NetPack; 62 | } 63 | /// \brief Set associated Network Mod. 64 | /// 65 | /// Define the associated Network Mod, which the dialog is intended to 66 | /// work with and on. A valid Network Mod must be set in order before 67 | /// opening the dialog. 68 | /// 69 | /// \param[in] NetPack : Net Pack object to associate. 70 | /// 71 | void setNetPack(OmNetPack* NetPack) { 72 | this->_NetPack = NetPack; 73 | } 74 | 75 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 76 | 77 | OmNetPack* _NetPack; 78 | }; 79 | 80 | #endif // OMUIPROPNET_H 81 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropNetDet.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPNETDET_H 18 | #define OMUIPROPNETDET_H 19 | 20 | #include "OmDialogPropTab.h" 21 | 22 | /// \brief Remote package Properties Details Tab 23 | /// 24 | /// OmDialog class derived for Remote package Properties Details Tab_Control child 25 | /// dialog window 26 | /// 27 | class OmUiPropNetDet : public OmDialogPropTab 28 | { 29 | public: 30 | 31 | /// \brief Constructor. 32 | /// 33 | /// Default constructor. 34 | /// 35 | /// \param[in] hins : API Instance handle. 36 | /// 37 | OmUiPropNetDet(HINSTANCE hins); 38 | 39 | /// \brief Destructor. 40 | /// 41 | /// Default destructor. 42 | /// 43 | ~OmUiPropNetDet(); 44 | 45 | /// \brief Get resource id. 46 | /// 47 | /// Returns dialog window resource id. 48 | /// 49 | /// \return dialog resource id. 50 | /// 51 | long id() const; 52 | 53 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 54 | 55 | void _onTbInit(); 56 | 57 | void _onTbResize(); 58 | }; 59 | 60 | #endif // OMUIPROPNETDET_H 61 | -------------------------------------------------------------------------------- /include/OmUi/OmUiPropPstStg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIPROPPSTSTG_H 18 | #define OMUIPROPPSTSTG_H 19 | 20 | #include "OmDialogPropTab.h" 21 | 22 | #define PST_PROP_STG_TITLE 0 23 | #define PST_PROP_STG_IONLY 1 24 | 25 | /// \brief Mod Preset Properties / Setting tab child 26 | /// 27 | /// OmDialog class derived for Mod Preset Properties / Settings tab child dialog window 28 | /// 29 | class OmUiPropPstStg : public OmDialogPropTab 30 | { 31 | public: 32 | 33 | /// \brief Constructor. 34 | /// 35 | /// Default constructor. 36 | /// 37 | /// \param[in] hins : API Instance handle. 38 | /// 39 | OmUiPropPstStg(HINSTANCE hins); 40 | 41 | /// \brief Destructor. 42 | /// 43 | /// Default destructor. 44 | /// 45 | ~OmUiPropPstStg(); 46 | 47 | /// \brief Get resource id. 48 | /// 49 | /// Returns dialog window resource id. 50 | /// 51 | /// \return dialog resource id. 52 | /// 53 | long id() const; 54 | 55 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 56 | 57 | void _onTbInit(); 58 | 59 | void _onTbResize(); 60 | 61 | void _onTbRefresh(); 62 | 63 | INT_PTR _onTbMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 64 | }; 65 | 66 | #endif // OMUIPROPPSTSTG_H 67 | -------------------------------------------------------------------------------- /include/OmUi/OmUiWizChn.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIWIZCHN_H 18 | #define OMUIWIZCHN_H 19 | 20 | #include "OmDialogWiz.h" 21 | 22 | class OmModHub; 23 | 24 | /// \brief New Mod Channel Wizard parent dialog 25 | /// 26 | /// OmDialogWiz class derived for New Mod Channel Wizard parent dialog window 27 | /// 28 | class OmUiWizChn : public OmDialogWiz 29 | { 30 | public: 31 | 32 | /// \brief Constructor. 33 | /// 34 | /// Default constructor. 35 | /// 36 | /// \param[in] hins : API Instance handle. 37 | /// 38 | OmUiWizChn(HINSTANCE hins); 39 | 40 | /// \brief Destructor. 41 | /// 42 | /// Default destructor. 43 | /// 44 | ~OmUiWizChn(); 45 | 46 | /// \brief Get resource id. 47 | /// 48 | /// Returns dialog window resource id. 49 | /// 50 | /// \return dialog resource id. 51 | /// 52 | long id() const; 53 | 54 | /// \brief Set Mod Hub 55 | /// 56 | /// Set related Mod Hub where to create Channel. 57 | /// 58 | /// \param[in] ModHub : Pointer to Mod Hub object 59 | /// 60 | void setModHub(OmModHub* ModHub) { 61 | this->_ModHub = ModHub; 62 | } 63 | 64 | /// \brief Get Mod Hub 65 | /// 66 | /// Get related Mod Hub where to create Channel. 67 | /// 68 | /// \return Pointer to Mod Hub object. 69 | /// 70 | OmModHub* ModHub() const { 71 | return this->_ModHub; 72 | } 73 | 74 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 75 | 76 | OmModHub* _ModHub; 77 | 78 | void _onWizInit(); 79 | 80 | void _onWizFinish(); 81 | }; 82 | 83 | #endif // OMUIWIZCHN_H 84 | -------------------------------------------------------------------------------- /include/OmUi/OmUiWizChnBeg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIWIZCHNBEG_H 18 | #define OMUIWIZCHNBEG_H 19 | 20 | #include "OmDialogWizPage.h" 21 | 22 | /// \brief New Mod Channel Wizard start page 23 | /// 24 | /// OmDialogWizPage class derived for New Mod Channel Wizard start page dialog window 25 | /// 26 | class OmUiWizChnBeg : public OmDialogWizPage 27 | { 28 | public: 29 | 30 | /// \brief Constructor. 31 | /// 32 | /// Default constructor. 33 | /// 34 | /// \param[in] hins : API Instance handle. 35 | /// 36 | OmUiWizChnBeg(HINSTANCE hins); 37 | 38 | /// \brief Destructor. 39 | /// 40 | /// Default destructor. 41 | /// 42 | ~OmUiWizChnBeg(); 43 | 44 | /// \brief Get resource id. 45 | /// 46 | /// Returns dialog window resource id. 47 | /// 48 | /// \return dialog resource id. 49 | /// 50 | long id() const; 51 | 52 | /// \brief Check valid fields. 53 | /// 54 | /// Checks whether the page has proper fields filled, that is, the 55 | /// next button can be enabled. 56 | /// 57 | /// \return True if propers fields are filled, false otherwise. 58 | /// 59 | bool validFields() const; 60 | 61 | /// \brief Check valid parameters. 62 | /// 63 | /// Checks whether the page has valid parameters, that is, going to 64 | /// the next page is allowed. 65 | /// 66 | /// \return True if parameters are valid, false otherwise. 67 | /// 68 | bool validParams() const; 69 | 70 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 71 | 72 | void _onPgInit(); 73 | 74 | void _onPgResize(); 75 | }; 76 | 77 | #endif // OMUIWIZCHNBEG_H 78 | -------------------------------------------------------------------------------- /include/OmUi/OmUiWizChnCus.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIWIZCHNCUS_H 18 | #define OMUIWIZCHNCUS_H 19 | 20 | #include "OmDialogWizPage.h" 21 | 22 | /// \brief New Mod Channel Wizard customize page 23 | /// 24 | /// OmDialogWizPage class derived for New Mod Channel Wizard customize page dialog window 25 | /// 26 | class OmUiWizChnCus : public OmDialogWizPage 27 | { 28 | public: 29 | 30 | /// \brief Constructor. 31 | /// 32 | /// Default constructor. 33 | /// 34 | /// \param[in] hins : API Instance handle. 35 | /// 36 | OmUiWizChnCus(HINSTANCE hins); 37 | 38 | /// \brief Destructor. 39 | /// 40 | /// Default destructor. 41 | /// 42 | ~OmUiWizChnCus(); 43 | 44 | /// \brief Get resource id. 45 | /// 46 | /// Returns dialog window resource id. 47 | /// 48 | /// \return dialog resource id. 49 | /// 50 | long id() const; 51 | 52 | /// \brief Check valid fields. 53 | /// 54 | /// Checks whether the page has proper fields filled, that is, the 55 | /// next button can be enabled. 56 | /// 57 | /// \return True if propers fields are filled, false otherwise. 58 | /// 59 | bool validFields() const; 60 | 61 | /// \brief Check valid parameters. 62 | /// 63 | /// Checks whether the page has valid parameters, that is, going to 64 | /// the next page is allowed. 65 | /// 66 | /// \return True if parameters are valid, false otherwise. 67 | /// 68 | bool validParams() const; 69 | 70 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 71 | 72 | void _library_cust_toggle(); 73 | 74 | void _browse_dir_library(); 75 | 76 | void _backup_cust_toggle(); 77 | 78 | void _browse_dir_backup(); 79 | 80 | void _onPgInit(); 81 | 82 | void _onPgResize(); 83 | 84 | INT_PTR _onPgMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 85 | }; 86 | 87 | #endif // OMUIWIZCHNCUS_H 88 | -------------------------------------------------------------------------------- /include/OmUi/OmUiWizChnTgt.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIWIZCHNTGT_H 18 | #define OMUIWIZCHNTGT_H 19 | 20 | #include "OmDialogWizPage.h" 21 | 22 | /// \brief New Mod Channel Wizard name/target page 23 | /// 24 | /// OmDialogWizPage class derived for New Mod Channel Wizard name/target page dialog window 25 | /// 26 | class OmUiWizChnTgt : public OmDialogWizPage 27 | { 28 | public: 29 | 30 | /// \brief Constructor. 31 | /// 32 | /// Default constructor. 33 | /// 34 | /// \param[in] hins : API Instance handle. 35 | /// 36 | OmUiWizChnTgt(HINSTANCE hins); 37 | 38 | /// \brief Destructor. 39 | /// 40 | /// Default destructor. 41 | /// 42 | ~OmUiWizChnTgt(); 43 | 44 | /// \brief Get resource id. 45 | /// 46 | /// Returns dialog window resource id. 47 | /// 48 | /// \return dialog resource id. 49 | /// 50 | long id() const; 51 | 52 | /// \brief Check valid fields. 53 | /// 54 | /// Checks whether the page has proper fields filled, that is, the 55 | /// next button can be enabled. 56 | /// 57 | /// \return True if propers fields are filled, false otherwise. 58 | /// 59 | bool validFields() const; 60 | 61 | /// \brief Check valid parameters. 62 | /// 63 | /// Checks whether the page has valid parameters, that is, going to 64 | /// the next page is allowed. 65 | /// 66 | /// \return True if parameters are valid, false otherwise. 67 | /// 68 | bool validParams() const; 69 | 70 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 71 | 72 | void _browse_dir_target(); 73 | 74 | void _onPgInit(); 75 | 76 | void _onPgResize(); 77 | 78 | INT_PTR _onPgMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 79 | }; 80 | 81 | #endif // OMUIWIZCHNTGT_H 82 | -------------------------------------------------------------------------------- /include/OmUi/OmUiWizHub.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIWIZHUB_H 18 | #define OMUIWIZHUB_H 19 | 20 | #include "OmDialogWiz.h" 21 | 22 | /// \brief New Mod Hub Wizard parent dialog 23 | /// 24 | /// OmDialogWiz class derived for New Mod Hub Wizard parent dialog window 25 | /// 26 | class OmUiWizHub : public OmDialogWiz 27 | { 28 | public: 29 | 30 | /// \brief Constructor. 31 | /// 32 | /// Default constructor. 33 | /// 34 | /// \param[in] hins : API Instance handle. 35 | /// 36 | OmUiWizHub(HINSTANCE hins); 37 | 38 | /// \brief Destructor. 39 | /// 40 | /// Default destructor. 41 | /// 42 | ~OmUiWizHub(); 43 | 44 | /// \brief Get resource id. 45 | /// 46 | /// Returns dialog window resource id. 47 | /// 48 | /// \return dialog resource id. 49 | /// 50 | long id() const; 51 | 52 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 53 | 54 | void _onWizInit(); 55 | 56 | void _onWizFinish(); 57 | }; 58 | 59 | #endif // OMUIWIZHUB_H 60 | -------------------------------------------------------------------------------- /include/OmUi/OmUiWizHubBeg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIWIZHUBBEG_H 18 | #define OMUIWIZHUBBEG_H 19 | 20 | #include "OmDialogWizPage.h" 21 | 22 | /// \brief New Mod Hub Wizard / Introduction page child 23 | /// 24 | /// OmDialog class derived for New Mod Hub Wizard / Introduction page child dialog window 25 | /// 26 | class OmUiWizHubBeg : public OmDialogWizPage 27 | { 28 | public: 29 | 30 | /// \brief Constructor. 31 | /// 32 | /// Default constructor. 33 | /// 34 | /// \param[in] hins : API Instance handle. 35 | /// 36 | OmUiWizHubBeg(HINSTANCE hins); 37 | 38 | /// \brief Destructor. 39 | /// 40 | /// Default destructor. 41 | /// 42 | ~OmUiWizHubBeg(); 43 | 44 | /// \brief Get resource id. 45 | /// 46 | /// Returns dialog window resource id. 47 | /// 48 | /// \return dialog resource id. 49 | /// 50 | long id() const; 51 | 52 | /// \brief Check valid fields. 53 | /// 54 | /// Checks whether the page has proper fields filled, that is, the 55 | /// next button can be enabled. 56 | /// 57 | /// \return True if propers fields are filled, false otherwise. 58 | /// 59 | bool validFields() const; 60 | 61 | /// \brief Check valid parameters. 62 | /// 63 | /// Checks whether the page has valid parameters, that is, going to 64 | /// the next page is allowed. 65 | /// 66 | /// \return True if parameters are valid, false otherwise. 67 | /// 68 | bool validParams() const; 69 | 70 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 71 | 72 | void _onPgInit(); 73 | 74 | void _onPgResize(); 75 | 76 | INT_PTR _onPgMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 77 | }; 78 | 79 | #endif // OMUIWIZHUBBEG_H 80 | -------------------------------------------------------------------------------- /include/OmUi/OmUiWizHubCfg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIWIZHUBCFG_H 18 | #define OMUIWIZHUBCFG_H 19 | 20 | #include "OmDialogWizPage.h" 21 | 22 | /// \brief New Mod Hub Wizard / Configuration page child 23 | /// 24 | /// OmDialog class derived for New Mod Hub Wizard / Configuration page child dialog window 25 | /// 26 | class OmUiWizHubCfg : public OmDialogWizPage 27 | { 28 | public: 29 | 30 | /// \brief Constructor. 31 | /// 32 | /// Default constructor. 33 | /// 34 | /// \param[in] hins : API Instance handle. 35 | /// 36 | OmUiWizHubCfg(HINSTANCE hins); 37 | 38 | /// \brief Destructor. 39 | /// 40 | /// Default destructor. 41 | /// 42 | ~OmUiWizHubCfg(); 43 | 44 | /// \brief Get resource id. 45 | /// 46 | /// Returns dialog window resource id. 47 | /// 48 | /// \return dialog resource id. 49 | /// 50 | long id() const; 51 | 52 | /// \brief Check valid fields. 53 | /// 54 | /// Checks whether the page has proper fields filled, that is, the 55 | /// next button can be enabled. 56 | /// 57 | /// \return True if propers fields are filled, false otherwise. 58 | /// 59 | bool validFields() const; 60 | 61 | /// \brief Check valid parameters. 62 | /// 63 | /// Checks whether the page has valid parameters, that is, going to 64 | /// the next page is allowed. 65 | /// 66 | /// \return True if parameters are valid, false otherwise. 67 | /// 68 | bool validParams() const; 69 | 70 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 71 | 72 | void _update_hub_path(); 73 | 74 | void _browse_dir_home(); 75 | 76 | void _onPgInit(); 77 | 78 | void _onPgResize(); 79 | 80 | INT_PTR _onPgMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 81 | }; 82 | 83 | #endif // OMUIWIZHUBCFG_H 84 | -------------------------------------------------------------------------------- /include/OmUi/OmUiWizRep.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIWIZREP_H 18 | #define OMUIWIZREP_H 19 | 20 | #include "OmDialogWiz.h" 21 | 22 | class OmModChan; 23 | 24 | /// \brief New Repository Wizard parent dialog 25 | /// 26 | /// OmDialogWiz class derived for New Repository Wizard parent dialog window 27 | /// 28 | class OmUiWizRep : public OmDialogWiz 29 | { 30 | public: 31 | 32 | /// \brief Constructor. 33 | /// 34 | /// Default constructor. 35 | /// 36 | /// \param[in] hins : API Instance handle. 37 | /// 38 | OmUiWizRep(HINSTANCE hins); 39 | 40 | /// \brief Destructor. 41 | /// 42 | /// Default destructor. 43 | /// 44 | ~OmUiWizRep(); 45 | 46 | /// \brief Get resource id. 47 | /// 48 | /// Returns dialog window resource id. 49 | /// 50 | /// \return dialog resource id. 51 | /// 52 | long id() const; 53 | 54 | /// \brief Set Mod Hub 55 | /// 56 | /// Set related Mod Hub where to create Channel. 57 | /// 58 | /// \param[in] ModHub : Pointer to Mod Hub object 59 | /// 60 | void setModChan(OmModChan* ModChan) { 61 | this->_ModChan = ModChan; 62 | } 63 | 64 | /// \brief Get Mod Hub 65 | /// 66 | /// Get related Mod Hub where to create Channel. 67 | /// 68 | /// \return Pointer to Mod Hub object. 69 | /// 70 | OmModChan* ModChan() const { 71 | return this->_ModChan; 72 | } 73 | 74 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 75 | 76 | OmModChan* _ModChan; 77 | 78 | void _onWizInit(); 79 | 80 | void _onWizFinish(); 81 | }; 82 | 83 | #endif // OMUIWIZREP_H 84 | -------------------------------------------------------------------------------- /include/OmUi/OmUiWizRepBeg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIWIZREPBEG_H 18 | #define OMUIWIZREPBEG_H 19 | 20 | #include "OmDialogWizPage.h" 21 | 22 | /// \brief Repository Config Wizard start page 23 | /// 24 | /// OmDialogWizPage class derived for Repository Config Wizard start page dialog window 25 | /// 26 | class OmUiWizRepBeg : public OmDialogWizPage 27 | { 28 | public: 29 | 30 | /// \brief Constructor. 31 | /// 32 | /// Default constructor. 33 | /// 34 | /// \param[in] hins : API Instance handle. 35 | /// 36 | OmUiWizRepBeg(HINSTANCE hins); 37 | 38 | /// \brief Destructor. 39 | /// 40 | /// Default destructor. 41 | /// 42 | ~OmUiWizRepBeg(); 43 | 44 | /// \brief Get resource id. 45 | /// 46 | /// Returns dialog window resource id. 47 | /// 48 | /// \return dialog resource id. 49 | /// 50 | long id() const; 51 | 52 | /// \brief Check valid fields. 53 | /// 54 | /// Checks whether the page has proper fields filled, that is, the 55 | /// next button can be enabled. 56 | /// 57 | /// \return True if propers fields are filled, false otherwise. 58 | /// 59 | bool validFields() const; 60 | 61 | /// \brief Check valid parameters. 62 | /// 63 | /// Checks whether the page has valid parameters, that is, going to 64 | /// the next page is allowed. 65 | /// 66 | /// \return True if parameters are valid, false otherwise. 67 | /// 68 | bool validParams() const; 69 | 70 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 71 | 72 | void _onPgInit(); 73 | 74 | void _onPgResize(); 75 | }; 76 | 77 | #endif // OMUIWIZREPBEG_H 78 | -------------------------------------------------------------------------------- /include/OmUi/OmUiWizRepCfg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUIWIZREPCFG_H 18 | #define OMUIWIZREPCFG_H 19 | 20 | #include "OmDialogWizPage.h" 21 | 22 | /// \brief Repository Config Wizard coordinates page 23 | /// 24 | /// OmDialogWizPage class derived for Repository Config Wizard coordinates page dialog window 25 | /// 26 | class OmUiWizRepCfg : public OmDialogWizPage 27 | { 28 | public: 29 | 30 | /// \brief Constructor. 31 | /// 32 | /// Default constructor. 33 | /// 34 | /// \param[in] hins : API Instance handle. 35 | /// 36 | OmUiWizRepCfg(HINSTANCE hins); 37 | 38 | /// \brief Destructor. 39 | /// 40 | /// Default destructor. 41 | /// 42 | ~OmUiWizRepCfg(); 43 | 44 | /// \brief Get resource id. 45 | /// 46 | /// Returns dialog window resource id. 47 | /// 48 | /// \return dialog resource id. 49 | /// 50 | long id() const; 51 | 52 | /// \brief Check valid fields. 53 | /// 54 | /// Checks whether the page has proper fields filled, that is, the 55 | /// next button can be enabled. 56 | /// 57 | /// \return True if propers fields are filled, false otherwise. 58 | /// 59 | bool validFields() const; 60 | 61 | /// \brief Check valid parameters. 62 | /// 63 | /// Checks whether the page has valid parameters, that is, going to 64 | /// the next page is allowed. 65 | /// 66 | /// \return True if parameters are valid, false otherwise. 67 | /// 68 | bool validParams() const; 69 | 70 | private: /// - - - - - - - - - - - - - - - - - - - - - - - - - - - - 71 | 72 | void _coord_type_toggle(); 73 | 74 | void _onPgInit(); 75 | 76 | void _onPgResize(); 77 | 78 | INT_PTR _onPgMsg(UINT uMsg, WPARAM wParam, LPARAM lParam); 79 | }; 80 | 81 | #endif // OMUIWIZREPCFG_H 82 | -------------------------------------------------------------------------------- /include/OmUtil/OmUtilB64.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUTILBASE64_H 18 | #define OMUTILBASE64_H 19 | 20 | #include "OmBase.h" 21 | 22 | /// \brief Encode bytes to Base64. 23 | /// 24 | /// Encode the given binary data to Base64 string. 25 | /// 26 | /// \param[in] data : Data to encode. 27 | /// \param[in] size : data size in bytes. 28 | /// 29 | /// \return String containing Base64 encoded data 30 | /// 31 | OmWString Om_toBase64(const uint8_t* data, size_t size); 32 | 33 | /// \brief Encode bytes to Base64. 34 | /// 35 | /// Encode the given binary data to Base64 string. 36 | /// 37 | /// \param[out] b64 : String to get result. 38 | /// \param[in] data : Data to encode. 39 | /// \param[in] size : data size in bytes. 40 | /// 41 | void Om_toBase64(OmWString& b64, const uint8_t* data, size_t size); 42 | 43 | /// \brief Decode Base64 to bytes. 44 | /// 45 | /// Decode the given Base64 string to binary data. 46 | /// 47 | /// \param[in] size : Pointer to receive decoded data size 48 | /// \param[out] b64 : Base64 string to decode. 49 | /// 50 | /// \return Pointer to decoded data. 51 | /// 52 | uint8_t* Om_fromBase64(size_t* size, const OmWString& b64); 53 | 54 | /// \brief Format to Base64 encoded Data URI. 55 | /// 56 | /// Format the given data to Base64 encoded Data URI. 57 | /// 58 | /// \param[out] uri : String to get result. 59 | /// \param[in] mime_type : Data URI media type to set. 60 | /// \param[in] charset : Optional text charset to define. 61 | /// \param[in] data : Data to encode. 62 | /// \param[in] size : data size in bytes. 63 | /// 64 | void Om_encodeDataUri(OmWString& uri, const OmWString& mime_type, const OmWString& charset, const uint8_t* data, size_t size); 65 | 66 | /// \brief Get data from Data URI. 67 | /// 68 | /// Get decoded data from Data URI 69 | /// 70 | /// \param[out] size : Pointer to receive decoded data size 71 | /// \param[out] mime_type : String to receive data type 72 | /// \param[out] charset : Text charset if any 73 | /// \param[in] uri : Data URI string to parse 74 | /// 75 | /// \return Pointer to decoded data. 76 | /// 77 | uint8_t* Om_decodeDataUri(size_t* size, OmWString& mime_type, OmWString& charset, const OmWString& uri); 78 | 79 | #endif // OMUTILBASE64_H 80 | -------------------------------------------------------------------------------- /include/OmUtil/OmUtilPkg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUTILPKG_H 18 | #define OMUTILPKG_H 19 | 20 | #include "OmBase.h" 21 | 22 | /// \brief Parse Mod file name 23 | /// 24 | /// Parse Mod identity, core name, version string and displayed name from file name. 25 | /// 26 | /// \param[out] filename : File name to parse 27 | /// \param[out] iden : Parsed Mod identity 28 | /// \param[out] core : Parsed Mod core name 29 | /// \param[in] vers : Parsed Mod version string 30 | /// \param[in] name : Parsed and formated Mod displayed name 31 | /// 32 | /// \return True if version string candidate was found, false otherwise 33 | /// 34 | bool Om_parseModFilename(const OmWString& filename, OmWString* iden, OmWString* core, OmWString* vers, OmWString* name); 35 | 36 | /// \brief Parse Mod identity 37 | /// 38 | /// Parse Mod core name, version string and displayed name and from directory name. 39 | /// 40 | /// \param[out] iden : Mod identity to parse 41 | /// \param[out] core : Parsed Mod core name 42 | /// \param[in] vers : Parsed Mod version string 43 | /// \param[in] name : Parsed and formated Mod displayed name 44 | /// 45 | /// \return True if version string candidate was found, false otherwise 46 | /// 47 | bool Om_parseModIdent(const OmWString& iden, OmWString* core, OmWString* vers, OmWString* name); 48 | 49 | #endif // OMUTILPKG_H 50 | -------------------------------------------------------------------------------- /include/OmUtil/OmUtilSys.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUTILSYS_H 18 | #define OMUTILSYS_H 19 | 20 | /// \brief Get current time. 21 | /// 22 | /// Get current time values based on system local time. 23 | /// 24 | /// \param[out] t_sec : Pointer to receive seconds 25 | /// \param[out] t_min : Pointer to receive minute 26 | /// \param[out] t_hour : Pointer to receive hour 27 | /// 28 | void Om_getTime(int *t_sec, int *t_min, int *t_hour); 29 | 30 | /// \brief Get current date. 31 | /// 32 | /// Get current date values based on system local time. 33 | /// 34 | /// \param[out] t_day : Pointer to receive day of month 35 | /// \param[out] t_mon : Pointer to receive month 36 | /// \param[out] t_year : Pointer to receive year 37 | /// 38 | void Om_getDate(int *t_day, int *t_mon, int *t_year); 39 | 40 | #endif // OMUTILSYS_H 41 | -------------------------------------------------------------------------------- /include/OmUtil/OmUtilZip.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #ifndef OMUTILZIP_H 18 | #define OMUTILZIP_H 19 | 20 | /// \brief Compress data 21 | /// 22 | /// Compress the supplied data using Deflate algorithm. 23 | /// 24 | /// \param[out] out_size : Output compressed data size in bytes. 25 | /// \param[in] in_data : Input data to be compressed. 26 | /// \param[in] in_size : Input data size in bytes. 27 | /// \param[in] level : Deflate compression level 0 to 9. 28 | /// 29 | /// \return Pointer to compressed data or nullptr if failed. 30 | /// 31 | uint8_t* Om_zDeflate(size_t* out_size, const uint8_t* in_data, size_t in_size, unsigned level = 9); 32 | 33 | /// \brief Uncompress data 34 | /// 35 | /// Uncompress the supplied data using Deflate algorithm. 36 | /// 37 | /// \param[in] in_data : Input data to be decompressed. 38 | /// \param[in] in_size : Input data size in bytes. 39 | /// \param[in] def_size : Original size of decompressed data (must have been stored before compression) 40 | /// 41 | /// \return Pointer to uncompressed data or nullptr if failed. 42 | /// 43 | uint8_t* Om_zInflate(const uint8_t* in_data, size_t in_size, size_t def_size); 44 | 45 | #endif // OMUTILZIP_H 46 | -------------------------------------------------------------------------------- /lib/32-bit/libcrypto.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/32-bit/libcrypto.a -------------------------------------------------------------------------------- /lib/32-bit/libcrypto.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/32-bit/libcrypto.dll.a -------------------------------------------------------------------------------- /lib/32-bit/libcurl.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/32-bit/libcurl.a -------------------------------------------------------------------------------- /lib/32-bit/libcurl.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/32-bit/libcurl.dll.a -------------------------------------------------------------------------------- /lib/32-bit/liblzma.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/32-bit/liblzma.a -------------------------------------------------------------------------------- /lib/32-bit/libssl.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/32-bit/libssl.a -------------------------------------------------------------------------------- /lib/32-bit/libssl.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/32-bit/libssl.dll.a -------------------------------------------------------------------------------- /lib/32-bit/libzstd.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/32-bit/libzstd.dll.a -------------------------------------------------------------------------------- /lib/32-bit/zlib.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/32-bit/zlib.lib -------------------------------------------------------------------------------- /lib/32-bit/zlibstatic.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/32-bit/zlibstatic.lib -------------------------------------------------------------------------------- /lib/64-bit/libcrypto.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/64-bit/libcrypto.a -------------------------------------------------------------------------------- /lib/64-bit/libcrypto.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/64-bit/libcrypto.dll.a -------------------------------------------------------------------------------- /lib/64-bit/libcurl.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/64-bit/libcurl.a -------------------------------------------------------------------------------- /lib/64-bit/libcurl.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/64-bit/libcurl.dll.a -------------------------------------------------------------------------------- /lib/64-bit/liblzma.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/64-bit/liblzma.a -------------------------------------------------------------------------------- /lib/64-bit/libssl.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/64-bit/libssl.a -------------------------------------------------------------------------------- /lib/64-bit/libssl.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/64-bit/libssl.dll.a -------------------------------------------------------------------------------- /lib/64-bit/libzstd.dll.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/64-bit/libzstd.dll.a -------------------------------------------------------------------------------- /lib/64-bit/zlib.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/64-bit/zlib.lib -------------------------------------------------------------------------------- /lib/64-bit/zlibstatic.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/lib/64-bit/zlibstatic.lib -------------------------------------------------------------------------------- /main.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | void Mod OmModMan is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | void Mod OmModMan is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #include "OmModMan.h" 18 | #include "OmUiMan.h" 19 | 20 | #include "OmUtilWin.h" 21 | 22 | int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nShowCmd) 23 | { 24 | OM_UNUSED(hPrevInst); OM_UNUSED(nShowCmd); 25 | 26 | // Check if another instance already running 27 | HANDLE hMutex = OpenMutexW(MUTEX_ALL_ACCESS, false, L"OpenModMan.Mutex"); 28 | if(hMutex) { 29 | 30 | // search initial instance window 31 | HWND hWnd = FindWindow("OpenModMan.Class",nullptr); 32 | if(hWnd) { 33 | 34 | // if program is launched with argument, we pass it 35 | // to the already existing instance 36 | size_t len = strlen(lpCmdLine); 37 | if(len) { 38 | 39 | COPYDATASTRUCT cd; 40 | cd.dwData = 42; //< special secret code 41 | cd.cbData = len + 1; //< we need the null char 42 | cd.lpData = lpCmdLine; 43 | 44 | // send special message with argument string to initial instance 45 | SendMessage(hWnd, WM_COPYDATA, reinterpret_cast(hWnd), reinterpret_cast(&cd)); 46 | } 47 | 48 | // Set foreground 49 | ShowWindow(hWnd, SW_SHOWNORMAL); 50 | SetForegroundWindow(hWnd); 51 | } 52 | 53 | // exit now 54 | return 0; 55 | } 56 | 57 | // Create new Mutex for single instance check 58 | hMutex = CreateMutexW(nullptr, true, L"OpenModMan.Mutex"); 59 | 60 | OmModMan manager; 61 | OmUiMan dialog(hInst); 62 | 63 | if(manager.init(lpCmdLine)) { 64 | 65 | // set manager pointer as dialog internal data 66 | dialog.setData(&manager); 67 | 68 | // open main dialog with registered class name 69 | dialog.registered("OpenModMan.Class", true); 70 | 71 | // Window message loop 72 | dialog.loopMessage(); 73 | 74 | manager.quit(); 75 | } 76 | 77 | // Release "instance" Mutex to allow application to run again 78 | ReleaseMutex(hMutex); 79 | CloseHandle(hMutex); 80 | 81 | return 0; 82 | } 83 | -------------------------------------------------------------------------------- /manifest.dbg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | 15 | 16 | 17 | 18 | 19 | UTF-8 20 | 21 | 22 | true 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | 15 | 16 | 17 | 18 | 19 | UTF-8 20 | 21 | 22 | true 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /plugins/md4c-rtf/md4c-rtf.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MD4C-RTF: RTF Renderer for MD4C parser 3 | * 4 | * Copyright (c) 2022 Eric M. 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a 7 | * copy of this software and associated documentation files (the "Software"), 8 | * to deal in the Software without restriction, including without limitation 9 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 10 | * and/or sell copies of the Software, and to permit persons to whom the 11 | * Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 17 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 22 | * IN THE SOFTWARE. 23 | * 24 | * ---------------------------------------------------------------------------- 25 | * 26 | * This program is not standalone but extension of the MD4C Markdown parser. 27 | * To successfully compile this program you'll need: 28 | * 29 | * - The MD4C headers files. 30 | * - The MD4C source files to be compiled. 31 | * OR 32 | * - The MD4 compiled version as linked library. 33 | * 34 | * To get MD4C please visit MD4C github page: 35 | * http://github.com/mity/md4c 36 | */ 37 | #ifndef MD4C_RTF_H 38 | #define MD4C_RTF_H 39 | 40 | #include "md4c.h" 41 | 42 | #ifdef __cplusplus 43 | extern "C" { 44 | #endif 45 | 46 | typedef unsigned char MD_RTF_DATA; 47 | typedef char MD_RTF_CHAR; 48 | 49 | /* If set, debug output from md_parse() is sent to stderr. */ 50 | #define MD_RTF_FLAG_DEBUG 0x0001 51 | #define MD_RTF_FLAG_VERBATIM_ENTITIES 0x0002 52 | #define MD_RTF_FLAG_SKIP_UTF8_BOM 0x0004 53 | 54 | int md_rtf(const MD_CHAR* input, MD_SIZE input_size, 55 | void (*process_output)(const MD_RTF_DATA*, MD_SIZE, void*), 56 | void* userdata, unsigned parser_flags, unsigned renderer_flags, 57 | unsigned font_size, unsigned doc_width); 58 | 59 | #ifdef __cplusplus 60 | } /* extern "C" { */ 61 | #endif 62 | 63 | #endif // MD4C_RTF_H 64 | -------------------------------------------------------------------------------- /plugins/md5/md5.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MD5 Message-Digest Algorithm implementation. 3 | * 4 | * Copyright (c) 2022 Eric M. 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a 7 | * copy of this software and associated documentation files (the "Software"), 8 | * to deal in the Software without restriction, including without limitation 9 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, 10 | * and/or sell copies of the Software, and to permit persons to whom the 11 | * Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 17 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 22 | * IN THE SOFTWARE. 23 | */ 24 | 25 | /* 26 | * ----------------------------------------------------------------------------- 27 | * 28 | * This MD5 implementation is an adapted and slightly modernized version of 29 | * the 1991 implementation by RSA Data Security as provided in the RFC 1321 30 | * https://www.rfc-editor.org/rfc/rfc1321 31 | * 32 | * ----------------------------------------------------------------------------- 33 | */ 34 | 35 | #ifndef MD5_H 36 | #define MD5_H 37 | 38 | #ifdef __cplusplus 39 | extern "C" { 40 | #endif 41 | 42 | /* MD5 context. */ 43 | typedef struct { 44 | unsigned state[4]; /* state (ABCD) */ 45 | unsigned count[2]; /* number of bits, modulo 2^64 (lsb first) */ 46 | unsigned char buffer[64]; /* input buffer */ 47 | } MD5_CTX; 48 | 49 | void MD5_Init(MD5_CTX*); 50 | void MD5_Update(MD5_CTX*, unsigned char*, unsigned); 51 | void MD5_Final(unsigned char[16], MD5_CTX*); 52 | 53 | #ifdef __cplusplus 54 | } /* extern "C" { */ 55 | #endif 56 | 57 | #endif /* MD5_H */ 58 | -------------------------------------------------------------------------------- /res/images/bt_abt.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_abt.ico -------------------------------------------------------------------------------- /res/images/bt_add.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_add.ico -------------------------------------------------------------------------------- /res/images/bt_add_chn.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_add_chn.ico -------------------------------------------------------------------------------- /res/images/bt_add_img.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_add_img.ico -------------------------------------------------------------------------------- /res/images/bt_add_pkg.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_add_pkg.ico -------------------------------------------------------------------------------- /res/images/bt_add_pst.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_add_pst.ico -------------------------------------------------------------------------------- /res/images/bt_add_rep.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_add_rep.ico -------------------------------------------------------------------------------- /res/images/bt_add_txt.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_add_txt.ico -------------------------------------------------------------------------------- /res/images/bt_bld.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_bld.ico -------------------------------------------------------------------------------- /res/images/bt_clo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_clo.ico -------------------------------------------------------------------------------- /res/images/bt_dad.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_dad.ico -------------------------------------------------------------------------------- /res/images/bt_dn.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_dn.ico -------------------------------------------------------------------------------- /res/images/bt_dpn.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_dpn.ico -------------------------------------------------------------------------------- /res/images/bt_edi.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_edi.ico -------------------------------------------------------------------------------- /res/images/bt_ent.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_ent.ico -------------------------------------------------------------------------------- /res/images/bt_exi.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_exi.ico -------------------------------------------------------------------------------- /res/images/bt_fad.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_fad.ico -------------------------------------------------------------------------------- /res/images/bt_frm.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_frm.ico -------------------------------------------------------------------------------- /res/images/bt_imp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_imp.ico -------------------------------------------------------------------------------- /res/images/bt_imp_pkg.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_imp_pkg.ico -------------------------------------------------------------------------------- /res/images/bt_log.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_log.ico -------------------------------------------------------------------------------- /res/images/bt_new.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_new.ico -------------------------------------------------------------------------------- /res/images/bt_nfo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_nfo.ico -------------------------------------------------------------------------------- /res/images/bt_not.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_not.ico -------------------------------------------------------------------------------- /res/images/bt_opn.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_opn.ico -------------------------------------------------------------------------------- /res/images/bt_ref.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_ref.ico -------------------------------------------------------------------------------- /res/images/bt_rem.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_rem.ico -------------------------------------------------------------------------------- /res/images/bt_run.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_run.ico -------------------------------------------------------------------------------- /res/images/bt_sav.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_sav.ico -------------------------------------------------------------------------------- /res/images/bt_sva.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_sva.ico -------------------------------------------------------------------------------- /res/images/bt_svd.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_svd.ico -------------------------------------------------------------------------------- /res/images/bt_toolpkg.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_toolpkg.ico -------------------------------------------------------------------------------- /res/images/bt_toolrep.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_toolrep.ico -------------------------------------------------------------------------------- /res/images/bt_up.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_up.ico -------------------------------------------------------------------------------- /res/images/bt_val.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_val.ico -------------------------------------------------------------------------------- /res/images/bt_wrn.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/bt_wrn.ico -------------------------------------------------------------------------------- /res/images/btn_don.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/btn_don.bmp -------------------------------------------------------------------------------- /res/images/btn_don_hov.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/btn_don_hov.bmp -------------------------------------------------------------------------------- /res/images/dlg_err.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/dlg_err.ico -------------------------------------------------------------------------------- /res/images/dlg_nfo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/dlg_nfo.ico -------------------------------------------------------------------------------- /res/images/dlg_pkg_add.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/dlg_pkg_add.ico -------------------------------------------------------------------------------- /res/images/dlg_pkg_bld.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/dlg_pkg_bld.ico -------------------------------------------------------------------------------- /res/images/dlg_pkg_del.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/dlg_pkg_del.ico -------------------------------------------------------------------------------- /res/images/dlg_pkg_err.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/dlg_pkg_err.ico -------------------------------------------------------------------------------- /res/images/dlg_pkg_owr.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/dlg_pkg_owr.ico -------------------------------------------------------------------------------- /res/images/dlg_pkg_wrn.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/dlg_pkg_wrn.ico -------------------------------------------------------------------------------- /res/images/dlg_qry.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/dlg_qry.ico -------------------------------------------------------------------------------- /res/images/dlg_wrn.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/dlg_wrn.ico -------------------------------------------------------------------------------- /res/images/itm_chn_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_chn_16.bmp -------------------------------------------------------------------------------- /res/images/itm_chn_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_chn_24.bmp -------------------------------------------------------------------------------- /res/images/itm_dir_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_dir_16.bmp -------------------------------------------------------------------------------- /res/images/itm_dir_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_dir_24.bmp -------------------------------------------------------------------------------- /res/images/itm_fil_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_fil_16.bmp -------------------------------------------------------------------------------- /res/images/itm_fil_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_fil_24.bmp -------------------------------------------------------------------------------- /res/images/itm_mod_dir_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_mod_dir_16.bmp -------------------------------------------------------------------------------- /res/images/itm_mod_dir_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_mod_dir_24.bmp -------------------------------------------------------------------------------- /res/images/itm_mod_dpn_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_mod_dpn_16.bmp -------------------------------------------------------------------------------- /res/images/itm_mod_dpn_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_mod_dpn_24.bmp -------------------------------------------------------------------------------- /res/images/itm_mod_err_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_mod_err_16.bmp -------------------------------------------------------------------------------- /res/images/itm_mod_err_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_mod_err_24.bmp -------------------------------------------------------------------------------- /res/images/itm_mod_pkg_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_mod_pkg_16.bmp -------------------------------------------------------------------------------- /res/images/itm_mod_pkg_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_mod_pkg_24.bmp -------------------------------------------------------------------------------- /res/images/itm_pst_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_pst_16.bmp -------------------------------------------------------------------------------- /res/images/itm_pst_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_pst_24.bmp -------------------------------------------------------------------------------- /res/images/itm_rep_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_rep_16.bmp -------------------------------------------------------------------------------- /res/images/itm_rep_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/itm_rep_24.bmp -------------------------------------------------------------------------------- /res/images/sc_thmb_blank.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sc_thmb_blank.bmp -------------------------------------------------------------------------------- /res/images/sc_thmb_dir.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sc_thmb_dir.bmp -------------------------------------------------------------------------------- /res/images/sc_thmb_pkg.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sc_thmb_pkg.bmp -------------------------------------------------------------------------------- /res/images/sc_wiz_chn.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sc_wiz_chn.bmp -------------------------------------------------------------------------------- /res/images/sc_wiz_hub.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sc_wiz_hub.bmp -------------------------------------------------------------------------------- /res/images/sc_wiz_rep.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sc_wiz_rep.bmp -------------------------------------------------------------------------------- /res/images/setup_inst.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/setup_inst.ico -------------------------------------------------------------------------------- /res/images/setup_splash.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/setup_splash.bmp -------------------------------------------------------------------------------- /res/images/setup_unin.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/setup_unin.ico -------------------------------------------------------------------------------- /res/images/sts_brk_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_brk_16.bmp -------------------------------------------------------------------------------- /res/images/sts_brk_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_brk_24.bmp -------------------------------------------------------------------------------- /res/images/sts_chk_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_chk_16.bmp -------------------------------------------------------------------------------- /res/images/sts_chk_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_chk_24.bmp -------------------------------------------------------------------------------- /res/images/sts_dng_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_dng_16.bmp -------------------------------------------------------------------------------- /res/images/sts_dng_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_dng_24.bmp -------------------------------------------------------------------------------- /res/images/sts_dnl_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_dnl_16.bmp -------------------------------------------------------------------------------- /res/images/sts_dnl_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_dnl_24.bmp -------------------------------------------------------------------------------- /res/images/sts_dpn_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_dpn_16.bmp -------------------------------------------------------------------------------- /res/images/sts_dpn_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_dpn_24.bmp -------------------------------------------------------------------------------- /res/images/sts_err_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_err_16.bmp -------------------------------------------------------------------------------- /res/images/sts_err_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_err_24.bmp -------------------------------------------------------------------------------- /res/images/sts_new_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_new_16.bmp -------------------------------------------------------------------------------- /res/images/sts_new_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_new_24.bmp -------------------------------------------------------------------------------- /res/images/sts_ovr_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_ovr_16.bmp -------------------------------------------------------------------------------- /res/images/sts_ovr_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_ovr_24.bmp -------------------------------------------------------------------------------- /res/images/sts_que_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_que_16.bmp -------------------------------------------------------------------------------- /res/images/sts_que_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_que_24.bmp -------------------------------------------------------------------------------- /res/images/sts_rb0_16.bmp: -------------------------------------------------------------------------------- 1 | BM86( vv333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333+333&333333333333333333333333333333333333333333333&3332333'333333333333333333333333333333333333333333333&3332333'333333333333333333333333333333333333333333333&3332333'333333333333333333333333333333333333333333333'3332333'333333333333333333333333333333333333333333333.33323333333333333333333333333333333333333333333332333-3333333333333333333333333333333333333333332333-3333333333333333333333333333333333333333332333-3333333333333333333333333333333333333333332333-333333333333333333333333333333333333333333/333-333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 -------------------------------------------------------------------------------- /res/images/sts_rb0_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_rb0_24.bmp -------------------------------------------------------------------------------- /res/images/sts_rb1_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_rb1_16.bmp -------------------------------------------------------------------------------- /res/images/sts_rb1_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_rb1_24.bmp -------------------------------------------------------------------------------- /res/images/sts_res_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_res_16.bmp -------------------------------------------------------------------------------- /res/images/sts_res_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_res_24.bmp -------------------------------------------------------------------------------- /res/images/sts_upg_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_upg_16.bmp -------------------------------------------------------------------------------- /res/images/sts_upg_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_upg_24.bmp -------------------------------------------------------------------------------- /res/images/sts_wip_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_wip_16.bmp -------------------------------------------------------------------------------- /res/images/sts_wip_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_wip_24.bmp -------------------------------------------------------------------------------- /res/images/sts_wrn_16.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_wrn_16.bmp -------------------------------------------------------------------------------- /res/images/sts_wrn_24.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sts_wrn_24.bmp -------------------------------------------------------------------------------- /res/images/sys_icon_omm.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sys_icon_omm.ico -------------------------------------------------------------------------------- /res/images/sys_icon_omx.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sys_icon_omx.ico -------------------------------------------------------------------------------- /res/images/sys_icon_ozb.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sys_icon_ozb.ico -------------------------------------------------------------------------------- /res/images/sys_icon_ozp.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/res/images/sys_icon_ozp.ico -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/screenshot.png -------------------------------------------------------------------------------- /setup/OpenModMan.nsh: -------------------------------------------------------------------------------- 1 | ; MUI Settings 2 | !define MUI_ABORTWARNING 3 | !define MUI_ICON "..\res\images\setup_inst.ico" 4 | !define MUI_UNICON "..\res\images\setup_unin.ico" 5 | 6 | !define AAP_MAJ "1" 7 | !define AAP_MIN "3" 8 | !define AAP_REV "3" 9 | 10 | !define APP_NAME "Open Mod Manager" 11 | !define APP_SHORT_NAME "OpenModMan" 12 | !define APP_REG_NAME "Open_Mod_Manager" 13 | !define APP_EXE_NAME "OpenModMan" 14 | !define APP_PUBLISHER "Open Mod Manager Dev Team" 15 | 16 | !define REL_64_EXE "..\bin\64-bit\Release\OpenModMan.exe" 17 | 18 | !define CURL_64_DLL "..\dll\64-bit\libcurl-x64.dll" 19 | !define LZMA_64_DLL "..\dll\64-bit\liblzma.dll" 20 | !define ZSTD_64_DLL "..\dll\64-bit\libzstd.dll" 21 | !define ZLIB_64_DLL "..\dll\64-bit\zlib1.dll" 22 | 23 | !define REL_32_EXE "..\bin\32-bit\Release\OpenModMan.exe" 24 | 25 | !define CURL_32_DLL "..\dll\32-bit\libcurl.dll" 26 | !define LZMA_32_DLL "..\dll\32-bit\liblzma.dll" 27 | !define ZSTD_32_DLL "..\dll\32-bit\libzstd.dll" 28 | !define ZLIB_32_DLL "..\dll\32-bit\zlib1.dll" 29 | 30 | !define OMM_ICO "..\res\images\sys_icon_omm.ico" 31 | !define OMX_ICO "..\res\images\sys_icon_omx.ico" 32 | !define OZP_ICO "..\res\images\sys_icon_ozp.ico" 33 | !define OZB_ICO "..\res\images\sys_icon_ozb.ico" 34 | 35 | !define SETUP_SPLASH "..\res\images\setup_splash.bmp" 36 | 37 | ; Build Unicode installer 38 | Unicode True 39 | 40 | -------------------------------------------------------------------------------- /setup/OpenModMan_Portable.ps1: -------------------------------------------------------------------------------- 1 | # global variables 2 | 3 | $AAP_MAJ = "1"; 4 | $AAP_MIN = "3"; 5 | $AAP_REV = "3"; 6 | 7 | # copy required files 8 | 9 | Write-Host "Copying x64 binary..."; 10 | 11 | Copy-Item -Force "$PSScriptRoot\..\bin\64-bit\Release\OpenModMan.exe" -Destination "$PSScriptRoot\OpenModMan_x64\"; 12 | 13 | Write-Host "Copying x64 dlls..."; 14 | 15 | Copy-Item -Force "$PSScriptRoot\..\dll\64-bit\libcurl-x64.dll" -Destination "$PSScriptRoot\OpenModMan_x64\"; 16 | Copy-Item -Force "$PSScriptRoot\..\dll\64-bit\liblzma.dll" -Destination "$PSScriptRoot\OpenModMan_x64\"; 17 | Copy-Item -Force "$PSScriptRoot\..\dll\64-bit\libzstd.dll" -Destination "$PSScriptRoot\OpenModMan_x64\"; 18 | Copy-Item -Force "$PSScriptRoot\..\dll\64-bit\zlib1.dll" -Destination "$PSScriptRoot\OpenModMan_x64\"; 19 | 20 | Write-Host "Copying x86 binary..."; 21 | 22 | Copy-Item -Force "$PSScriptRoot\..\bin\32-bit\Release\OpenModMan.exe" -Destination "$PSScriptRoot\OpenModMan_x86\"; 23 | 24 | Write-Host "Copying x86 dlls..."; 25 | 26 | Copy-Item -Force "$PSScriptRoot\..\dll\32-bit\libcurl.dll" -Destination "$PSScriptRoot\OpenModMan_x86\"; 27 | Copy-Item -Force "$PSScriptRoot\..\dll\32-bit\liblzma.dll" -Destination "$PSScriptRoot\OpenModMan_x86\"; 28 | Copy-Item -Force "$PSScriptRoot\..\dll\32-bit\libzstd.dll" -Destination "$PSScriptRoot\OpenModMan_x86\"; 29 | Copy-Item -Force "$PSScriptRoot\..\dll\32-bit\zlib1.dll" -Destination "$PSScriptRoot\OpenModMan_x86\"; 30 | 31 | Write-Host "Copying CREDITS and LICENSE files..."; 32 | 33 | Copy-Item -Force "$PSScriptRoot\..\CREDITS" -Destination "$PSScriptRoot\OpenModMan_x86\"; 34 | Copy-Item -Force "$PSScriptRoot\..\CREDITS" -Destination "$PSScriptRoot\OpenModMan_x64\"; 35 | 36 | Copy-Item -Force "$PSScriptRoot\..\LICENSE" -Destination "$PSScriptRoot\OpenModMan_x86\"; 37 | Copy-Item -Force "$PSScriptRoot\..\LICENSE" -Destination "$PSScriptRoot\OpenModMan_x64\"; 38 | 39 | Write-Host "Making Zip archive for x86..."; 40 | 41 | $compress_x86 = @{ 42 | Path = "$PSScriptRoot\OpenModMan_x86" 43 | CompressionLevel = "Optimal" 44 | DestinationPath = "$PSScriptRoot\OpenModMan_" + $AAP_MAJ + "-" + $AAP_MIN + "-" + $AAP_REV + "-x86_Portable.zip" 45 | } 46 | Compress-Archive -Force @compress_x86 47 | 48 | Write-Host "Making Zip archive for x64..." 49 | 50 | $compress_x64 = @{ 51 | Path = "$PSScriptRoot\OpenModMan_x64" 52 | CompressionLevel = "Optimal" 53 | DestinationPath = "$PSScriptRoot\OpenModMan_" + $AAP_MAJ + "-" + $AAP_MIN + "-" + $AAP_REV + "-x64_Portable.zip" 54 | } 55 | Compress-Archive -Force @compress_x64 56 | -------------------------------------------------------------------------------- /src/OmModPack.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/src/OmModPack.cpp -------------------------------------------------------------------------------- /src/OmUi/OmUiAddChn.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/src/OmUi/OmUiAddChn.cpp -------------------------------------------------------------------------------- /src/OmUi/OmUiPropChnNet.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/src/OmUi/OmUiPropChnNet.cpp -------------------------------------------------------------------------------- /src/OmUi/OmUiPropMod.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #include "OmBase.h" 18 | 19 | #include "OmBaseUi.h" 20 | 21 | #include "OmModMan.h" 22 | 23 | #include "OmUiPropModCmn.h" 24 | #include "OmUiPropModSrc.h" 25 | #include "OmUiPropModBck.h" 26 | 27 | #include "OmUtilWin.h" 28 | 29 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 30 | #include "OmUiPropMod.h" 31 | 32 | 33 | /// 34 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 35 | /// 36 | OmUiPropMod::OmUiPropMod(HINSTANCE hins) : OmDialogProp(hins), _ModPack(nullptr) 37 | { 38 | // create child tab dialogs 39 | this->_addPage(L"General", new OmUiPropModCmn(hins)); 40 | this->_addPage(L"Mod Source", new OmUiPropModSrc(hins)); 41 | this->_addPage(L"Backup data", new OmUiPropModBck(hins)); 42 | this->_setNoChange(true); 43 | } 44 | 45 | 46 | /// 47 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 48 | /// 49 | OmUiPropMod::~OmUiPropMod() 50 | { 51 | 52 | } 53 | 54 | 55 | /// 56 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 57 | /// 58 | long OmUiPropMod::id() const 59 | { 60 | return IDD_PROP_MOD; 61 | } 62 | -------------------------------------------------------------------------------- /src/OmUi/OmUiPropNet.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #include "OmBase.h" 18 | 19 | #include "OmBaseUi.h" 20 | 21 | #include "OmUiPropNetDet.h" 22 | 23 | #include "OmUtilWin.h" 24 | 25 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 26 | #include "OmUiPropNet.h" 27 | 28 | 29 | /// 30 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 31 | /// 32 | OmUiPropNet::OmUiPropNet(HINSTANCE hins) : OmDialogProp(hins), 33 | _NetPack(nullptr) 34 | { 35 | // create child tab dialogs 36 | this->_addPage(L"General", new OmUiPropNetDet(hins)); 37 | this->_setNoChange(true); 38 | } 39 | 40 | 41 | /// 42 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 43 | /// 44 | OmUiPropNet::~OmUiPropNet() 45 | { 46 | //dtor 47 | } 48 | 49 | 50 | /// 51 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 52 | /// 53 | long OmUiPropNet::id() const 54 | { 55 | return IDD_PROP_RMT; 56 | } 57 | -------------------------------------------------------------------------------- /src/OmUi/OmUiWizChnBeg.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #include "OmBaseUi.h" 18 | 19 | #include "OmUtilWin.h" 20 | 21 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 22 | #include "OmUiWizChnBeg.h" 23 | 24 | /// 25 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 26 | /// 27 | OmUiWizChnBeg::OmUiWizChnBeg(HINSTANCE hins) : OmDialogWizPage(hins) 28 | { 29 | 30 | } 31 | 32 | /// 33 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 34 | /// 35 | OmUiWizChnBeg::~OmUiWizChnBeg() 36 | { 37 | 38 | } 39 | 40 | /// 41 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 42 | /// 43 | long OmUiWizChnBeg::id() const 44 | { 45 | return IDD_WIZ_CHN_BEG; 46 | } 47 | 48 | /// 49 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 50 | /// 51 | bool OmUiWizChnBeg::validFields() const 52 | { 53 | return true; 54 | } 55 | 56 | /// 57 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 58 | /// 59 | bool OmUiWizChnBeg::validParams() const 60 | { 61 | return true; 62 | } 63 | 64 | /// 65 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 66 | /// 67 | void OmUiWizChnBeg::_onPgInit() 68 | { 69 | // Defines fonts for Mod Hub ComboBox 70 | HFONT hFt = Om_createFont(16, 700, L"Arial"); 71 | this->msgItem(IDC_SC_HEAD, WM_SETFONT, reinterpret_cast(hFt), true); 72 | } 73 | 74 | /// 75 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 76 | /// 77 | void OmUiWizChnBeg::_onPgResize() 78 | { 79 | // Title 80 | this->_setItemPos(IDC_SC_HEAD, 0, 0, this->cliWidth(), 20, true); 81 | 82 | // Help paragraph 83 | this->_setItemPos(IDC_SC_HELP, 0, 40, this->cliWidth(), this->cliHeight()-40, true); 84 | } 85 | -------------------------------------------------------------------------------- /src/OmUi/OmUiWizHubBeg.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #include "OmBase.h" 18 | 19 | #include "OmBaseUi.h" 20 | #include "OmUtilWin.h" 21 | 22 | #include "OmUiWizHub.h" 23 | 24 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 25 | #include "OmUiWizHubBeg.h" 26 | 27 | 28 | /// 29 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 30 | /// 31 | OmUiWizHubBeg::OmUiWizHubBeg(HINSTANCE hins) : OmDialogWizPage(hins) 32 | { 33 | 34 | } 35 | 36 | /// 37 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 38 | /// 39 | OmUiWizHubBeg::~OmUiWizHubBeg() 40 | { 41 | 42 | } 43 | 44 | /// 45 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 46 | /// 47 | long OmUiWizHubBeg::id() const 48 | { 49 | return IDD_WIZ_HUB_BEG; 50 | } 51 | 52 | /// 53 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 54 | /// 55 | bool OmUiWizHubBeg::validFields() const 56 | { 57 | return true; 58 | } 59 | 60 | /// 61 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 62 | /// 63 | bool OmUiWizHubBeg::validParams() const 64 | { 65 | return true; 66 | } 67 | 68 | /// 69 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 70 | /// 71 | void OmUiWizHubBeg::_onPgInit() 72 | { 73 | // Defines fonts for Mod Hub ComboBox 74 | HFONT hFt = Om_createFont(16, 700, L"Arial"); 75 | this->msgItem(IDC_SC_HEAD, WM_SETFONT, reinterpret_cast(hFt), true); 76 | } 77 | 78 | /// 79 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 80 | /// 81 | void OmUiWizHubBeg::_onPgResize() 82 | { 83 | // Title 84 | this->_setItemPos(IDC_SC_HEAD, 0, 0, this->cliWidth(), 20, true); 85 | 86 | // Help paragraph 87 | this->_setItemPos(IDC_SC_HELP, 0, 40, this->cliWidth(), this->cliHeight()-40, true); 88 | } 89 | 90 | /// 91 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 92 | /// 93 | INT_PTR OmUiWizHubBeg::_onPgMsg(UINT uMsg, WPARAM wParam, LPARAM lParam) 94 | { 95 | OM_UNUSED(uMsg); OM_UNUSED(wParam); OM_UNUSED(lParam); 96 | 97 | return false; 98 | } 99 | -------------------------------------------------------------------------------- /src/OmUi/OmUiWizRepBeg.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #include "OmBaseUi.h" 18 | 19 | #include "OmUtilWin.h" 20 | 21 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 22 | #include "OmUiWizRepBeg.h" 23 | 24 | /// 25 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 26 | /// 27 | OmUiWizRepBeg::OmUiWizRepBeg(HINSTANCE hins) : OmDialogWizPage(hins) 28 | { 29 | 30 | } 31 | 32 | /// 33 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 34 | /// 35 | OmUiWizRepBeg::~OmUiWizRepBeg() 36 | { 37 | 38 | } 39 | 40 | /// 41 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 42 | /// 43 | long OmUiWizRepBeg::id() const 44 | { 45 | return IDD_WIZ_REP_BEG; 46 | } 47 | 48 | /// 49 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 50 | /// 51 | bool OmUiWizRepBeg::validFields() const 52 | { 53 | return true; 54 | } 55 | 56 | /// 57 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 58 | /// 59 | bool OmUiWizRepBeg::validParams() const 60 | { 61 | return true; 62 | } 63 | 64 | /// 65 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 66 | /// 67 | void OmUiWizRepBeg::_onPgInit() 68 | { 69 | // Defines fonts for Mod Hub ComboBox 70 | HFONT hFt = Om_createFont(16, 700, L"Arial"); 71 | this->msgItem(IDC_SC_HEAD, WM_SETFONT, reinterpret_cast(hFt), true); 72 | } 73 | 74 | /// 75 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 76 | /// 77 | void OmUiWizRepBeg::_onPgResize() 78 | { 79 | // Title 80 | this->_setItemPos(IDC_SC_HEAD, 0, 0, this->cliWidth(), 20, true); 81 | 82 | // Help paragraph 83 | this->_setItemPos(IDC_SC_HELP, 0, 40, this->cliWidth(), this->cliHeight()-40, true); 84 | } 85 | -------------------------------------------------------------------------------- /src/OmUtil/OmUtilAlg.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #include "OmBase.h" 18 | -------------------------------------------------------------------------------- /src/OmUtil/OmUtilDlg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iquercorb/OpenModMan/0e0aec7047ac91d84be0580e37aa39faabbd959a/src/OmUtil/OmUtilDlg.cpp -------------------------------------------------------------------------------- /src/OmUtil/OmUtilSys.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Open Mod Manager. 3 | 4 | Open Mod Manager is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | 9 | Open Mod Manager is distributed in the hope that it will be useful, 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | GNU General Public License for more details. 13 | 14 | You should have received a copy of the GNU General Public License 15 | along with Open Mod Manager. If not, see . 16 | */ 17 | #include "OmBase.h" //< string, vector, Om_alloc, OM_MAX_PATH, etc. 18 | #include 19 | 20 | /// 21 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 22 | /// 23 | void Om_getTime(int *t_sec, int *t_min, int *t_hour) 24 | { 25 | /* this is not thread-safe, localtime() returns pointer to global object 26 | time_t raw_time; 27 | time(&raw_time); 28 | struct tm* local_time = localtime(&raw_time);*/ 29 | 30 | __time64_t long_time; 31 | _time64(&long_time); 32 | 33 | struct tm local_time; 34 | _localtime64_s(&local_time, &long_time); 35 | 36 | if(t_sec != nullptr) *t_sec = local_time.tm_sec; 37 | if(t_min != nullptr) *t_min = local_time.tm_min; 38 | if(t_hour != nullptr) *t_hour = local_time.tm_hour; 39 | } 40 | 41 | 42 | /// 43 | /// - - - - - - - - - - - - - - - - - - - - - - - - - 44 | /// 45 | void Om_getDate(int *t_day, int *t_mon, int *t_year) 46 | { 47 | /* this is not thread-safe, localtime() returns pointer to global object 48 | time_t raw_time; 49 | time(&raw_time); 50 | struct tm* local_time = localtime(&raw_time);*/ 51 | 52 | __time64_t long_time; 53 | _time64(&long_time); 54 | 55 | struct tm local_time; 56 | _localtime64_s(&local_time, &long_time); 57 | 58 | if(t_day != nullptr) *t_day = local_time.tm_mday; 59 | if(t_mon != nullptr) *t_mon = local_time.tm_mon; 60 | if(t_year != nullptr) *t_year = local_time.tm_year; 61 | } 62 | --------------------------------------------------------------------------------