Coder Social home page Coder Social logo

radcraftplay / custom-csgo-sdk-launcher Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 3.0 2.08 MB

Better launcher for Source Engine game SDKs

Home Page: http://gamebanana.com/tools/6145

License: GNU General Public License v3.0

C# 98.86% Inno Setup 0.89% PowerShell 0.25%
c-sharp custom-sdk-launcher launcher sdk source-engine steam

custom-csgo-sdk-launcher's People

Contributors

dependabot[bot] avatar radcraftplay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

custom-csgo-sdk-launcher's Issues

Bundle executable

By: https://github.com/sourceskyboxer
Url: #7

Original text:

Hello Distroir, great job! - But I want give you big suggestion for Mono and UPX or VCPKG with zlib static x86.

I made mkbundle with "Custom SDK Launcher.exe" into bundled executable. "CustomSDKLauncher.exe" 20 mb and UPX to > 7 mb. And you don't need install Net Frameworks 4.x :) Because mkbundle is great bundler of net frameworks as "jit-compiler" or dotnet core.

I hope you allow me if I use mono into standalone executable. ( embedding assemblies into executable )

Keep your work!

Example bundled executable of Custom SDK Launcher.
https://mega.nz/#!xwpjxZxK!Mu_s1RTXu0dnLrzyiBzUC3_13jSZN_Ss7eNqCAKR_Gs
If you have errors than you have to install Mono Runtime whatever you would like that. Please reply me! I want listen that because I already re-compiled and re-installed mono runtime with cygwin-x86.

PS: Don't worry - it is my test. if you want show icon in bundled mono-application than you need to add icon-path after generated temp.c and add icon into temp.s ( Important because temp.s need to convert for embedding bytes from icon file like hxD or hex editor to bytes 1, 2, 3, ... )
And compile manuell from generated compile process of mkbundle. I hope you have to get bundled executable...

// EDIT:
Why do I need vcpkg?
If you use mkbundle -z --static --deps --keeptemp "Your app.exe" -o "Your generated bundled.exe" -v than you need to execute path from generated command line from generated mkbundle process "-I "Path-to-.include - zlib.h" and -L "Path to zlib.lib" or copy from vcpkg\installed\zlib-static-x86\include* and vcpkg\installed\zlib-static-x86\lib* to your output of debug or release directory of Custom SDK Launcher.exe than build again and it is standalone executable don't need install net frameworks :) Enjoy your bundled application!

If you have got errors and you make sure copy from mono-path-to-installed\include\mono-2.0* mono-path-to-installed\lib* all lib files into your debug or release of Custom SDK launcher than build again. It is really successful from compilation. And check if your executable works - If you are not sure than you need change from cl.exe line "/SUBSYSTEM:windows" to "/SUBSYSTEM:console" and generate again and check command line if it throws error example System.NullNotException or mscorlib need download errors. Please don't copy from C:\Windows\Microsoft.Net\frameworks\4.5! Copy just from "mono-path-to-installed\lib\mono\4.5*.dll to your release or debug directory just copy before "copy "C:\mono_x86\lib\mono\4.5*.dll ." - If you see before i18n assemblies couldn't found .

Remember Mono bundling is not only Net Frameworks mscorlib.dll just use mono's mscorlib.dll

// EDIT: If you have problem with wrong x64 of clang and cl from Visual Studio 2017 Community - you need build manuell.

Download gedit.exe for Windows because it can load and write external large temp.s file ( bytes ... ) Don't use Notepad or Notepad++! Because both stopped of process if they can not load large temp.s ( more than 10.000 lines ) That is why I have tested with gedit for Windows can write large than 10.000 lines of text. And install gedit for Windows and open temp.s with gedit for Windows!
Replace "assembly"_XXXXXXXXXXXXX to "_assembly"_XXXXXXXXXXXXXXX froM Ctrg + H and wait until all marked text "assembly" to "_assembly" than save temp.s and you see that progressbar shows. Until it is completed from saving. and Use command line:
""C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\ClangC2\14.10.25903\bin\HostX86\clang.exe" -c -x assembler -o temp.s.obj temp.s"
And cl.exe in command line
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\bin\HostX86\x86\cl.exe" /MD /I "C:\Program Files\Mono\include\mono-2.0" /I "." "temp.c" "temp.s.obj" /link /SUBSYSTEM:windows /ENTRY:mainCRTStartup /NODEFAULTLIB libmono-static-sgen.lib kernel32.lib version.lib ws2_32.lib mswsock.lib psapi.lib shell32.lib oleaut32.lib ole32.lib winmm.lib user32.lib advapi32.lib ucrt.lib vcruntime.lib msvcrt.lib oldnames.lib zlib.lib /LIBPATH:"C:\Program Files\Mono\lib" /LIBPATH:"." /OUT:"CustomSDKLauncher.exe"
Than you check generated bundled executable! If you don't see if it happens wioth mscorlib.dll or System.NullNotException errors you can use like this
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.12.25827\bin\HostX86\x86\cl.exe" /MD /I "C:\Program Files\Mono\include\mono-2.0" /I "." "temp.c" "temp.s.obj" /link /SUBSYSTEM:console /ENTRY:mainCRTStartup /NODEFAULTLIB libmono-static-sgen.lib kernel32.lib version.lib ws2_32.lib mswsock.lib psapi.lib shell32.lib oleaut32.lib ole32.lib winmm.lib user32.lib advapi32.lib ucrt.lib vcruntime.lib msvcrt.lib oldnames.lib zlib.lib /LIBPATH:"C:\Program Files\Mono\lib" /LIBPATH:"." /OUT:"CustomSDKLauncher.exe"
And type in command line CustomSDKLauncher.exe
Output:

Your release or debug
It means OK! If you see errors than you need fix. Thanks!
Sorry my bad English! Thanks!

New data managing system

Description:

New data managing system will simplify work with files a lot. Instead of creating new class, devs have to write single line of code

TODO:

  • Add base for new data manager
  • Add serializers
    • XmlFileSerializer
    • XmlStringSerializer
    • BinaryFileSerializer
    • BinaryStringSerializer
  • Add TryLoad method
  • Add managers
    • Add managers for (profiles and templates)
    • Add manager for apps
    • Add manager for community content
      • Fix XmlStringSerializer not working with ContentGroup class

Add new application launcher

About

New application launcher will allow users to launch custom applications (Sledge, 3ds Max, Photoshop or just everything that user needs in case he doesn't want to use deafult SDK applications)

TODO:

  • Add base for launcher
  • Add "App launcher" tab
    • Add "Use new launcher" setting
    • Add way to customize buttons
  • Add more App Templates
    • Add "Custom" template
      • Tweak CustomAppConfigurationDialog
    • Add "Java application" template
    • [BUG] Fix dialogs showing up in taskbar
  • [BUG] Fix old application launcher not restoring buttons

Project explanation

Hi,

I'm quite interested in your project, as Valve does not seem interesting on releasing the SDK for F2P accounts, however I'm not sure what your program is exactly doing, and the readme is a bit dry of info. Does your program allows to download and launch the CSGO SDK without using Steam?

Have a great day :)

Rewrite content descriptions

TODO:

  • "FMPONE's video tutorials"
  • "Counter-Strike Global Offensive Level Design Boot Camp"
  • "Man vs. Engine"
  • "Optimization Testing in Source Engine"

Add feedback system

Description:

Feedback system would help developers to focus on most useful and important functions of an application.

Example idea of feedback system:

After few weeks/months after first launch of the CSDKL users would be asked for taking part in survey. If user clicked "yes", he would be redirected to survey on google docs.

TODO:

  • Create survey on google docs
  • Add feedback system
    • Add gui and functionality
    • Add delay system
    • Add setting "Disable feedback notifications"
    • Add "Send feedback" button inside settings
    • Feedback system running in separated task

Create mod installation process

  • Pre requirements
    • Add "GB Game Id" field to templates
    • Add meta file?
  • Processes
    • Ask user if he wants to install the mod
    • Download mod
      • Add GUI for downloader
    • Install mod
      • Read meta file
      • Extract contents of directory

More abstract launchers

Add ILauncher interface or Launcher class and build SimpleLauncher and CustomizableLauncher on top of them

Add sdklauncher:// protocol

TODO:

  • Create separated program registering extensions
    • Add protocol registration method
  • Add "Register protocol" setting (enabled by default)
    • Add "RegisterProtocol" config variable

Why is separated application needed?

To add and remove registry keys application needs to gain administrator privileges. It would be very annoying for average user to confirm UAC dialog every time he starts tool, that is needed to work. I have decided that separated application will run every time user changes association settings, so he will be asked for confirmation only when it's necessarry

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.