Git Product home page Git Product logo

gavilya's Introduction

GitHub release (latest by date) GitHub contributors GitHub issues GitHub GitHub Workflow Status Using PeyrSharp

Logo

Gavilya

A simple game launcher written in C# .NET 8.
Download »
Report Bug · Request Feature · Known Issues

Introduction

image

Gavilya is a user-friendly game launcher built using C# and WPF, following the MVVM (Model-View-ViewModel) architectural pattern. The launcher aims to simplify the process of managing and launching games from various sources, providing an organized and personalized gaming experience. Click here to visit Gavilya's website.

Features

Gavilya is a user-friendly game launcher built using C# .NET 8 and WPF, designed to streamline the gaming experience by consolidating games from various sources into a single, accessible platform. With its intuitive interface and diverse set of features, Gavilya offers gamers a convenient and organized way to manage and launch their favorite games.

  1. Game Source Integration: Gavilya supports a wide range of game sources, including Steam, UWP (Universal Windows Platform), and Win32 games. This compatibility ensures that users can effortlessly add and manage their games, regardless of their origin.

  2. RAWG.io Integration: Gavilya incorporates the power of the RAWG.io database, allowing users to fetch essential game information, such as cover art, release dates, and descriptions, directly within the launcher. This integration enhances the user experience by providing valuable context for each game.

  3. Profiles: With Gavilya's profile feature, users can create multiple profiles, each tailored to a specific set of games or preferences. This enables effortless switching between different gaming setups or genres without the need for manual reorganization.

  4. Themes: Gavilya lets users personalize their launcher with a variety of themes, enabling them to choose a visual style that resonates with their gaming aesthetic. Themes offer a fresh look to the launcher and enhance the overall gaming atmosphere.

  5. Game Tags: Organizing games is made easier with the inclusion of game tags. Users can assign custom tags to their games, such as genres or play styles, facilitating quick and intuitive navigation through their game library.

  6. Multiple Views: Gavilya offers different viewing options for users to explore their game collection. These include "Recent" for recently played games, "List" for a comprehensive overview, and "Tags" for grouping games based on assigned tags. This flexibility allows users to choose the view that best suits their needs.

  7. Search Functionality: Searching for specific games within a large library is effortless with Gavilya's built-in search feature. Users can quickly locate games by entering keywords or partial names, saving time and ensuring they get to gaming faster.

  8. Statistic Overview: Gavilya provides users with valuable insights into their gaming habits. This includes statistics such as total playtime for each game, as well as identifying the most frequently played games. This overview helps users keep track of their gaming history and preferences.

  9. Top Games Highlight: Gavilya's statistic overview highlights the top games based on playtime or user-defined criteria. This feature enables users to discover their favorite and most-played games easily.

And more...

In conclusion, Gavilya presents itself as a user-centric game launcher, combining simplicity with a powerful set of features. By seamlessly integrating games from various sources, offering profile support, providing customization options, and supplying insightful statistics, Gavilya elevates the gaming experience for enthusiasts who appreciate organization and efficiency. Click here to visit Gavilya's website and explore its features firsthand.

Download

Click here to download Gavilya.

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.

  1. Fork the Repository: Start by forking the Gavilya repository to your GitHub account.

  2. Clone the Fork: Clone your forked repository to your local machine using git clone https://github.com/your-username/Gavilya.git.

  3. Create a Branch: Create a new branch for your contribution using a descriptive name. For example, feature/new-theme or bugfix/issue-123.

  4. Make Changes: Make your desired changes or additions to the codebase.

  5. Test: Run tests (if available) to ensure your changes do not introduce new issues.

  6. Commit and Push: Commit your changes and push them to your forked repository.

  7. Create a Pull Request (PR): Go to the original Gavilya repository and create a new pull request. Provide a clear title, description, and link to any related issues.

  8. Code Review: The maintainers will review your PR, provide feedback, and possibly suggest changes.

  9. Iterate and Merge: Make any necessary changes based on the feedback received. Once the PR is approved, it will be merged into the main repository.

Please note that contributions should align with the project's scope and follow the existing code style and guidelines. By contributing, you agree that your work will be licensed under the project's MIT License.

Tools

  • Visual Studio 2022 v17.0 or higher (VS2019 also works)
    • .NET Desktop Developpement
    • Git
  • .NET 8 (.NET 5 is also recommanded)
  • Inno Setup (optionnal)

Branches

This Git repo has always two branches:

Name Release Description
main GitHub release (latest by date) Stable versions
vNext GitHub release (latest by date including pre-releases) Next version of Gavilya (unstable)

Note: Other branches can also - of course - exist.

License

This project is licensed under the MIT License.


Visit the Gavilya website to learn more about the game launcher.

gavilya's People

Contributors

bamboooz avatar dependabot-preview[bot] avatar dependabot[bot] avatar dkvc avatar leo-peyronnet avatar wcxu21 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

Watchers

 avatar  avatar  avatar  avatar

gavilya's Issues

[Documentation] Add XML Documentation in Global.cs

Problem's description:
Add XML Documentation in Global.cs:

public static async Task<List<Platform>> GetGamePlatformsAsync(int id)
{
var client = new RestClient(); // Create a REST Client
client.BaseUrl = new Uri($"https://api.rawg.io/api/games/{id}"); // Configure the client
var request = new RestRequest(Method.GET); // Create a request
var response = await client.ExecuteAsync(request); // Execute the request and store the result
var game = JsonSerializer.Deserialize<Game>(response.Content); // Deserialize the content of the reponse
List<Platform> platforms = new List<Platform>(); // Create a new list of platform
for (int i = 0; i < game.platforms.Count; i++) // For each platforms
{
platforms.Add(game.platforms[i].platform); // Add the platform
}
return platforms; // Return the result
}

[Enhancement] Add navigation buttons

Enhancement:
Add navigation buttons.

Describe the solution:
Add in the title bar a back button and a forward button. They are enabled if the Frame.CanGoBack or Frame.CanGoForward property is true.

[Enhancement] Add a "First Run" experience

Enhancement:
Add a "First run" experience to Gavilya.

Describe the solution:

  • Add a window that introduce Gavilya

    • Add the possibility to import a save file
    • Add a tutorial/first run introduction
  • Add content to the pages that are empty

    • Home
    • Recent Games
    • Game List

[Bug] When removing a favorited game, the favorite doesn't get removed

Description of the bug:
When removing a favorited game, the favorite doesn't get removed.

How to reproduce the bug:

  1. Add a game.
  2. Add the game to the favorites.
  3. Select the game and delete it.
  4. The problem is here.

Expected behaviour:
If the game is added to the favorties, then when deleting the game, the favorite is still here.

Computer:

  • OS: Windows 10
  • OS Version: 10.0.19041.455

[Bug] It's impossible to edit a game's description

Description of the bug:
It's impossible to edit a game's description.

How to reproduce the bug:

  1. Click on the "Edit" button on a game card
  2. Change the description
  3. Click on "Edit"
  4. Click on the game's game card to see more informations
  5. The description hasn't been changed

Expected behaviour:
When editing a game, it's impossible to change it's description.

Computer:

  • OS: Windows 10
  • OS Version: 10.0.19041.572
  • Software's Version: 0.3.0.2010

[Misc] Add the license header

Description of the problem:

  • Add the CI
  • Add the MIT license header:
/*
MIT License

Copyright (c) Léo Corporation

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. 
*/

[Enhancement] Use the new dark mode colors

Enhancement:
To unify the dark mode experience across Léo Corporation's software, new colors for dark mode have been chosen.

Describe the solution:

Usage case Color (RGB) Color (HEX)
Background 1 0;0;20 #000014
Background 2 10;10;30 #0A0A1E
Background 3 30;30;50 #1E1E32
Foreground 1 255;255;255 #FFFFFF

[Enhancement] Use modern message boxes

Enhancement:
Use modern message boxes.
Describe the solution:
Edit the app.manifest file with:

-<!--
- <dependency>
-   <dependentAssembly>
-      <assemblyIdentity
-         type="win32"
-          name="Microsoft.Windows.Common-Controls"
-          version="6.0.0.0"
-          processorArchitecture="*"
-          publicKeyToken="6595b64144ccf1df"
-          language="*"
-        />
-    </dependentAssembly>
-  </dependency>
-  -->

 
+  <dependency>
+    <dependentAssembly>
+      <assemblyIdentity
+          type="win32"
+         name="Microsoft.Windows.Common-Controls"
+          version="6.0.0.0"
+          processorArchitecture="*"
+          publicKeyToken="6595b64144ccf1df"
+          language="*"
+        />
+    </dependentAssembly>
+  </dependency>
  

[Bug] When clicking on "Install" button, the app crashes

Description of the bug:
When clicking on "Install" button in the "UpdateAvailable" window, the app crashes.

How to reproduce the bug:

  1. Click on the "..."
  2. Click on "About"
  3. Click "Check Updates"
  4. Click on "Install" (if updates are available)
  5. The problem is here

Expected behaviour:
The app crashes.

Computer:

  • OS: Windows 10
  • OS Version: 10.0.19041.508
  • Software's Version: 0.2.0.2010

[Enhancement] Update RAWG API Key

Enhancement:
Update RAWG API Key.

Describe the solution:
RAWG.io is deprecating the usage of their API without an API key. Add a key to the request parameter.

[Enhancement] Redesign the "GameInfoPage"

Enhancement:
Redesign the "GameInfoPage".

Describe the solution:
Add a new "panel" with:

  • The "Play" button
  • The last time played
  • The total time played
  • The current "Settings" button
  • A favorite button

[Bug] A delete confirmation message appears when no games are selected

Description of the bug:
A delete confirmation message appears when no games are selected: When you have no games selected, and you click on the "Delete" button, a confirm message still appears.

How to reproduce the bug:

  1. Do not select any games
  2. Click on the "Delete" button
  3. A message appears
  4. The problem is here

Expected behaviour:
A confirm dialog appears.

Screenshots:
image

Computer:

  • OS: Windows 10
  • OS Version: 10.0.19042.804
  • Software's Version: 1.3.0.2103-pre1

[Bug] When adding a game that doesn't exist in the RAWG database, the app crashes

Description of the bug:
When adding a game that doesn't exist in the RAWG database, the app crashes.

How to reproduce the bug:

  1. Drag an executable that has a random name such as thjjtyuft56dhd2t6yhg.exe
  2. The app crashes.

Expected behaviour:
When draging an executable that doesn't exist in the RAWG database, the app will crash.

Computer:

  • OS: Windows 10
  • OS Version: 10.0.19041.572
  • Software's Version: 0.3.0.2010

[Bug] The font "Fluently Icons" isn't included included in the software

Description of the bug:
The font "Fluently Icons" isn't included included in the software.

How to reproduce the bug:

  1. Open the software
  2. The problem is here

Expected behaviour:
The font doesn't load because it doesn't exists.

Screenshots:
image

Computer:

  • OS: Windows
  • OS Version: Windows 6.1.7601

[Enhancement] Upgrade to .NET 5

Enhancement:
Upgrade to .NET 5 from .NET Core 3.1.

Describe the solution:
Change the TargetFramework to net5.0-windows in the properties of the Gavilya project.

[Suggestion] Add an updater

Suggestion:
Add an updater.

Describe the solution:
Add an updater that allows the user to update Gavilya.

[Suggestion] Add a favorite bar

Suggestion:
Add a favorite bar where all the games that are "Favorites" or "Pined" are displayed.

Describe the solution:
Add bar in GamesCardsPages on top of GamePresenter.

[Bug] If the specified game executable doesn't exist, Gavilya crashes

Description of the bug:
If the specified game executable doesn't exist, Gavilya crashes.

How to reproduce the bug:
Add a new game, delete or move the game executable, et click on "PLAY".

Expected behaviour:
The app crashes.

Computer:

  • OS: WIndows 10
  • OS Version: 10.0.19041.455

[Bug] The app crashes while trying opening the updater

Description of the bug:
The app crashed while trying opening the updater.

How to reproduce the bug:

  1. Go to "About"
  2. Click on "Check updates"
  3. Click on "Install" (if updates are availables)
  4. The app crashes.

Expected behaviour:
The app stops responding and crashes.

Computer:

  • OS: Windows 10
  • OS Version: 10.0.19041.572
  • Software's Version: 0.3.0.2010

[Suggestion] Add RAWG implementation

Suggestion:
Add a RAWG implementation. This implemenation will allows the user when adding a game, to have directly the game cover and informations.

Describe the solution:
Implements the code using RestSharp, or other libraries.

[Suggestion] Add a "Game properties" window

Suggestion:
Add a "Game properties" window.

Describe the solution:
Add a window that shows some informations about the game:

  • The game's name
  • The game's executable name
  • The game's version
  • A button that opens the folder where the game is situated in

[Suggestion] Add the "List" view

Suggestion:
Add the "List" view.

Describe the solution:
Add the "List" view, a view similar the "Card" view, but all the games are displayed in a list.

[Bug] Issues with DPI scale

Description of the bug:
Issues with DPI scale.

How to reproduce the bug:

  1. Go to the Windows settings and change the scaling settings
  2. Launch Gavilya
  3. There is some issues with the maximize mode, menus, and more...

Expected behaviour:
UI elements are not working as expected.

Screenshots:
image

Computer:

  • OS: Windows 10
  • OS Version: 10.0.19042.746
  • Software's Version: 1.1.0.2101

[Bug] When changing page, Gavilya stops counting the game time played

Description of the bug:
When changing page, Gavilya stops counting the game time played.

How to reproduce the bug:

  1. Click on a game card
  2. Click on "Play"
  3. Go to home and click on an another game card
  4. Gavilya stops counting

Expected behaviour:
Gavilya stops counting.

Computer:

  • OS: Windows 10
  • OS Version: 10.0.19042.630
  • Software's Version: 0.4.0.2011

[Bug] Possibility to add a game without filling the infos

Description of the bug:
Possibility to add a game without filling the infos.

How to reproduce the bug:

  1. Click on "Add"
  2. Click on "Add" again.
  3. The problem is here.

Expected behaviour:
A empty game is added.

Screenshots:
image

Computer:

  • OS: Windows 10
  • OS Version: 10.0.19041.450

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.