Giter VIP home page Giter VIP logo

starward's Introduction

v0.10.7 | English | 简体中文 | Tiếng Việt | 日本語 | ภาษาไทย | Русский

The PC game launcher of HoYoverse is one of the worst commercial software I have ever seen. The overall user experience is passable, but it performs terribly in certain details:

  • Lacks support for high scaling ratios, resulting in a hazy aesthetic across the entire interface.
  • Resource verification utilizes a single thread, unable to effectively utilize multiple cores, leading to a significant waste of time.
  • Despite having a built-in browser engine, the interface design has remained unchanged for years, failing to capitalize on the flexibility of web pages and, instead, adding unnecessary bulk.

Starward

Starward comes from the slogan of Star Rail: May This Journey Lead Us Starward, which is very suitable to be used as an app name.

Starward is an open-source third-party launcher developed to address the aforementioned shortcomings. It supports all PC games on of HoYoverse and aims to completely replace the official launcher. In addition to the basic functions of a launcher, I will also incorporate some additional features based on individual needs, such as:

  • Record game time
  • Switch game accounts
  • View game screenshots
  • Save gacha records

More features are left for you to explore...

Install

First, your device needs to meet the following requirements:

  • Windows 10 1809 (17763) and above.
  • WebView2 Runtime installed.
  • For better experience, please enable Transparency effects and Animation effects in the system settings.

Next, download the package for your CPU architecture from GitHub Release. Extract it, then run Starward.exe and follow the prompts.

Localization

de-DE translation en-US translation it-IT translation ja-JP translation ko-KR translation ru-RU translation th-TH translation vi-VN translation zh-CN translation zh-TW translation

Starward uses Crowdin for in-app text localization work. You can contribute by helping us translate and proofread content in your local language. We look forward to having more people join us.

Localization Guide

Development

To compile the project locally, you need to install Visual Studio 2022 and select the following workloads:

  • .NET Desktop Development
  • C++ Desktop Development
  • Universal Windows Platform Development

Donation

Development is not easy. If you think Starward useful, you cloud donate me at https://donate.scighost.com.

Thanks

First of all, I would like to express my sincerest thanks to all the contributors and translators of this project. Starward can only become better because of you.

Then, I want to express my special thanks to @neon-nyan. The inspiration and design for this project come directly from his project Collapse. I have gained a lot of knowledge from the Collapse code, and with such a valuable reference, my development process has been much smoother.

Next, a big thanks to the main developer of Snap Hutao, @Lightczx. His assistance has been invaluable during the development of Starward.

Additionally, thanks CloudFlare for providing free CDN services, contributing to a great update experience for everyone.

cloudflare

And the third-party libraries used in this project include:

Screenshot

Background image is from Pixiv@七言不绝诗

starward's People

Contributors

darkassassin48 avatar gorouflex avatar huiyadanli avatar kndxhz avatar lightczx avatar miaoyww avatar phucho0237 avatar prpjzz avatar qhy040404 avatar reindex-ot avatar scighost avatar textgamex avatar thunni-noi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

starward's Issues

B服账号保存参考

b服的登录窗口是直接调用系统的IE,登录凭据保存在localStorage里,这是用c++提取的例程
参考:

4963是原神b服登录sdk的gameid,铁道的没玩不清楚
c++是用com组件调用ie,不知道.net有没有更好的方法

#include <tchar.h>
#include <ExDisp.h>
#include <mshtml.h>
#include <dispex.h>
#include <atlbase.h>
#include <atlcomcli.h>
#include <iostream>
#include <comutil.h>

#pragma comment(lib, "comsuppw.lib")

using namespace std;

struct ComInit
{
    ComInit() { ::CoInitialize(NULL); }
    ~ComInit() { CoUninitialize(); }
};

int _tmain(int argc, _TCHAR *argv[])
{
    ComInit comInit;
    int a;
    CComVariant b("a");

    CComPtr<IWebBrowser2> ie;
    ie.CoCreateInstance(L"InternetExplorer.Application", NULL, CLSCTX_LOCAL_SERVER);

    CComVariant ve;
    ie->Navigate2(&CComVariant(L"https://sdk.biligame.com"), &ve, &ve, &ve, &ve);

    cin >> a;//等待ie响应

    CComPtr<IDispatch> dispDoc;
    ie->get_Document(&dispDoc);
    CComPtr<IHTMLDocument2> htmlDoc;
    dispDoc->QueryInterface(&htmlDoc);
    CComPtr<IHTMLWindow2> htmlWindow;
    htmlDoc->get_parentWindow(&htmlWindow);

    CComDispatchDriver dispWindow;
    htmlWindow->QueryInterface(&dispWindow);

    CComPtr<IDispatchEx> dispexWindow;
    htmlWindow->QueryInterface(&dispexWindow);

    DISPID dispidEval = -1;
    dispexWindow->GetDispID(CComBSTR("eval"), fdexNameCaseSensitive, &dispidEval);
    dispWindow.Invoke1(dispidEval, &CComVariant("function get(key) { return localStorage[key]}"));

    DISPID dispidGet = -1;
    dispexWindow->GetDispID(CComBSTR("get"), fdexNameCaseSensitive, &dispidGet);
    dispWindow.Invoke1(dispidGet, &CComVariant("4963-token"), &b);
    cout << "Toekn: " << _com_util::ConvertBSTRToString(b.bstrVal) << endl;
    
    dispWindow.Invoke1(dispidGet, &CComVariant("4963-uname"), &b);
    cout << "User name:" << _com_util::ConvertBSTRToString(b.bstrVal) << endl;

    dispWindow.Invoke1(dispidGet, &CComVariant("4963-lastLoginTime"), &b);
    cout << "Last login:" << _com_util::ConvertBSTRToString(b.bstrVal) << endl;

    ie->Quit();
    return 0;
}

便携版真的好么

便携版,指望我去翻找千余项的下载文件夹或者百余项的桌面,或者专门放文件夹,有点强人所难了。
我基本上所有的软件/固定文件启动方式都是开始+搜索+wizfile,安装版的话就能直接打字直达。
我建议还是安装版,尽管它还是没有图标。

导入抽卡记录后提示条幅一直存在

描述

提示导入抽卡记录成功的条幅不会自动关闭,切换界面也一直存在,直到手动关闭。

复现

操作

更新抽卡记录

复现概率

每次

Starward版本

0.3.1-Dev.1

系统版本

Windows 10 22H2

截图

image
image

关于抽卡记录

感觉抽卡界面不好看,已经抽了多少发都看不出来,寻空的直观

游戏的启动可以自己选择程序吗

就是选择游戏路径的时候,具体针对到文件夹的某个程序,因为原的反和谐需要用到一个b站Ex_M的up的插件,能直接用那个启动的话会方便不少

还有一些个人想问的,这个看起来只是单纯启动器程序为主,和寻空的定位似乎不太一样,大佬有考虑出星铁版的寻空吗?在抽卡记录方面寻空的ui我觉得是用过最舒服的,所以比较希望星铁也有类似的软件

一些功能建议

1.加入类似Collapse上的小窗口模式,现在的窗口有些过大了
2.加入祈愿记录的导入与导出功能,或者能直接用寻空的用户数据再好不过了
3.顶部游戏切换能否自定屏蔽部分和排序,比如国际服和云原神
4.游戏切换能否用浏览器标签页的方式一字排开的话,这样只用点一下效率会高一些
5.能否加入Collapse上的预下载以及游戏修复及缓存功能,有了这些就能完全抛弃官方启动器了
6.能否加入窗口模式的修改(全屏、无边框、窗口化)以及窗口大小的设置
7.能否加入b服切换功能,非uwp应该没有权限问题了
8.是否有计划加入对崩坏3的支持,三个官方启动器实在太多了(
以上仅为建议,一直期待能有一个美观的全功能启动器,不知道实现起来容不容易

关于帧数解锁问题。

不知道你们使用的方法是否就是修改注册表信息。我设置帧数是120帧,但是进入游戏之后使用xbox gamebar检测帧数仍旧是锁60

无法运行程序

下载解压后双击打开出现黑色界面,随后直接消失,没有任何报错反馈。
QQ截图20230520183930
但是之前release里那个0.1.0版本的demo可以正常打开。
系统版本为Windows 11专业版_22H2_22621.1702
PS:collapse也无法运行,会出现同样问题。

关于原神部分暂时无法解锁高帧率的建议

关于原神的部分启动设置项,Starward目前还不支持解锁120fps,对于我这个需要高帧原神打本、深渊的用户目前还是只能暂时只有胡桃启动器启动部分的精简版也就是之前的原神启动器plus,但是功能过于简陋,如果后续能支持那就太好了。
我看了下寻空和Starward的原神部分,理论上如果代码可复用的话,Starward可以直接使用寻空已经弄好的帧率解锁功能,而且效果也会非常好,当然了,在Starward这边,参量质变仪和洞天宝钱的检测选项就不需要留着了,可以直接精简掉,仅保留相关的帧率解锁选项就可以了。
Snipaste_2023-05-23_23-58-27
Snipaste_2023-05-23_23-59-41
这是两个软件的对比,我不是很懂代码部分,但是我感觉这俩是可以相通的

关于启动器,能否加入对其他插件的支持呢?

比如,可以在点击启动游戏时自动最小化启动插件,或同时启动插件和游戏本体(视插件是否会自动启动游戏而定)
关于插件,比如B站Ex_M大佬的反和谐+解锁帧率等插件,即将加入的崩坏3的“仿原神PC端键鼠操控”(https://github.com/Spr-Aachen/Genshin-to-Honkai-PC-Control-Modification-Project ),或者其他的我不知道的插件,我相信有不少人在用的

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.