Skip to content

Commit

Permalink
0.0.11 (#67)
Browse files Browse the repository at this point in the history
readme update mostly
  • Loading branch information
narafrost authored Dec 30, 2023
2 parents 0803110 + 9c78ba9 commit b5f5a84
Show file tree
Hide file tree
Showing 9 changed files with 63 additions and 55 deletions.
60 changes: 30 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,41 @@
### Smoke Launcher

### Smoke
<p align="center">
<img width="150" height="150" src="https://github.com/FlareForge/smoke/assets/137607414/33a8a6c7-4d0f-40c9-82c8-9eaaf67d9446">
</p>

- [What is Smoke?](#what-is-smoke)
- [State of Smoke](#state-of-smoke)
- [Install Smoke](#install-smoke)
- [Build Smoke](#build-smoke)
- [Issues, Feedback & Suggestions](#issues-feedback--suggestions)
- [Contribute to Smoke](#contribute-to-smoke)
- [Goal/WIP](#goalwip)
- [Credits](#credits)
- [License](#license)
- [Gallery](#gallery)

## [What is Smoke?](#what-is-smoke)
Smoke is a video game launcher designed to enhance user experience by integrating various aspects of gaming into one application. The gaming ecosystem is highly fragmented, leading to multiple launchers and complex management, especially for those involved in emulation, modding, or other gaming subspaces. Smoke aims to unify these elements, offering compatibility with a wide range of launchers, gaming services, and third-party tools. Our vision is to consolidate the best aspects of gaming under one roof, enriched with custom features.
An open source video game hub* that plugs into any service.\
*hub = (library + social + emulators + mods)*

### [Install Smoke](#install-smoke)
## Download
`Warning: Smoke is currently in even more than early alpha, there are a lot of issues, and it's lacking important features.`\
The fastest way to get Smoke is to download the smoke installer [here](https://mgwbnslnolkjpugojhun.supabase.co/storage/v1/object/public/delivery/smoke_installer.exe).

### [State of Smoke](#state-of-smoke)
Smoke is currently in very early development and only available for Windows x64. Check out the issues & projects page for more details on what's implemented.
## State of Smoke
Smoke is currently in early development and only available for Windows x64.\
Available features currently:
- Local windows games scanning using [EqualGames](https://github.com/EqualGames/game-scanner)
- Adding custom emulators from settings (need to specify emulator path, name and roms extension)
- Scanning folders for compatible roms
- IGDB Metadata
- Gamepad mapper customizable per game or per emulator (keyboard key selection will be redone as atm it can only press single letter keys)
- Account, Friends & Messaging systems (account creation is closed atm if you want one hit me up)
- Simple interface customization features
- Overlay using Shift+Backspace shortcut, it's quite empty atm
- Modules system, every single core part of the application is modular and can be pluged to multiple services at once. For example, once the addon system will be available, one would be able make a Messaging & Friends module that adds a discord integration to the launcher. modules can be ordered & disabled

![image](https://github.com/FlareForge/smoke/assets/137607414/f83870d6-fe50-4675-a64d-c6a2af5d603c)
![image](https://github.com/FlareForge/smoke/assets/137607414/246efd71-12ad-485d-8e75-9c640b015e6a)
![image](https://github.com/FlareForge/smoke/assets/137607414/a3a8abb4-083e-4fc1-b972-3e77fc6a95de)
![image](https://github.com/FlareForge/smoke/assets/137607414/f123945d-0771-47fe-b97b-749605fb223f)
![image](https://github.com/FlareForge/smoke/assets/137607414/3a485541-0577-4059-b428-568900443847)

![image](https://github.com/FlareForge/smoke/assets/137607414/4de60305-6d72-4363-a356-da63ee430268)
more screenshots here [Gallery](#gallery)
## More ...
- [Build Smoke](#build-smoke)
- [Issues, Feedback & Suggestions](#issues-feedback--suggestions)
- [Contribute to Smoke](#contribute-to-smoke)
- [Goal](#goal)
- [Credits](#credits)
- [License](#license)

### [Build Smoke](#build-smoke)
Smoke is very easy to build!
Expand All @@ -43,7 +52,7 @@ Got issues? Have feedback or early suggestions for Smoke? Drop them in this repo
### [Contribute to Smoke](#contribute-to-smoke)
We're open to contributions! If you want to implement a new feature, support new emulators, or port Smoke to a new device, please first open a suggestion to make sure it's something we would be willing to add!

## [Goal/WIP](#goalwip)
## [Goal](#goal)
### [Basic Launcher Features](#basic-launcher-features)
Smoke is envisioned to incorporate all standard features of video game launchers like Steam, Epic Games, and GOG Galaxy. We are committed to integrating with other services to minimize ecosystem fragmentation. Expect interoperable features such as friend lists and messaging. Smoke will scan and support games from various sources, including Steam, GOG, manual additions, and potentially the Smoke store. The launcher will also facilitate the installation of necessary applications in the background, enhancing user convenience. Smoke's cross-platform availability will include Windows, Linux, Android, and macOS, with functionality as a primary OS homescreen.

Expand Down Expand Up @@ -79,12 +88,3 @@ Game Scanner: https://github.com/EqualGames/game-scanner

This project is licensed under the CC BY-SA 4.0 License, Creative Commons Attribution-ShareAlike 4.0 International.\
For details, see the [LICENSE](LICENSE) file.

## [Gallery](#gallery)

![image](https://github.com/FlareForge/smoke/assets/137607414/90497aeb-2fa2-4409-a8c9-780983b4792e)
![image](https://github.com/FlareForge/smoke/assets/137607414/22b5ab2c-afa6-4239-aa7b-190ffdbbb502)
![image](https://github.com/FlareForge/smoke/assets/137607414/454cc518-c0fe-4704-a45d-51e4fb6ee7b2)
![image](https://github.com/FlareForge/smoke/assets/137607414/3a485541-0577-4059-b428-568900443847)
![image](https://github.com/FlareForge/smoke/assets/137607414/ef55c529-9a0b-46c0-a344-aa5776a3ab68)
![image](https://github.com/FlareForge/smoke/assets/137607414/413627eb-6adf-458f-881d-a38cdd3a3003)
11 changes: 6 additions & 5 deletions app-back/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,15 +47,15 @@ function createWindows() {
frame: false,
transparent: true,
alwaysOnTop: true,
skipTaskbar: true,
// skipTaskbar: true,
show: false,
focusable: false,
// focusable: false,
minimizable: false,
maximizable: false,
resizable: false,
// resizable: false,
movable: false,
// closable: false,
fullscreen: true,
// fullscreen: true,
webPreferences: {
preload: path.join(__dirname, "preloadOverlay.js"),
contextIsolation: true,
Expand Down Expand Up @@ -121,9 +121,10 @@ function showOverlay() {
overlayWindow.setAlwaysOnTop(true, "screen-saver", 100);
overlayWindow.focusable = true;
overlayWindow.webContents.send("overlay-open", currentGameData);
overlayWindow.focus();
}

app.on("ready", () => globalShortcut.register("Shift+Tab", showOverlay));
app.on("ready", () => globalShortcut.register("Shift+Backspace", showOverlay));
app.on("window-all-closed", () => app.quit()); // will have to change this later

app.on("before-quit", () => {
Expand Down
1 change: 1 addition & 0 deletions app-front/Assets/exports/svgs/cpu.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion app-front/Pages/Game/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ export default function GamePage() {
setGameLoading(true);
await window.app.Services.Emulator.startGame(gameData);
const notification = new Notification("Tip", {
body: "Use shift + tab to open the overlay and see the controls layout.",
body: "Use shift + Backspace to open the overlay and see the controls layout.",
});
notification.onclick = () => {};
setGameRunning(true);
Expand Down
6 changes: 5 additions & 1 deletion app-front/Pages/Settings/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,10 @@ const SideBar = styled.div`
const PageContainer = styled.div`
flex: 1;
height: 100%;
padding-left: calc(var(--decade) * 2);
box-sizing: border-box;
overflow-y: overlay;
& > *:not(.vertical-list) {
margin-left: calc(var(--decade) * 2.5);
}
`;
14 changes: 8 additions & 6 deletions app-front/Pages/Settings/modules.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,18 @@ export default function ModulesSettings() {
<>
{Object.entries(modules).map( ([id, availableModules]) => {
const enabledModulesLength = availableModules.filter(m => m.enabled).length;
return <div key={id}>
<div> {id} </div>
return [
<div key={id+"Title"}> {id} </div>,
<EmulatorList
style={{ height: "auto", marginTop: "calc(var(--decade) * 0.6) ", marginBottom: "calc(var(--decade) * 0.6) " }}
key={id+"List"}
style={{ height: "auto", marginTop: "calc(var(--decade) * 0.9) ", marginBottom: "calc(var(--decade) * 0.9)" }}
>
{
availableModules.map((module, i) => (
<div key={id+i}>
<img
src={"./platforms/nds.svg"}
// @ts-ignore
src={module.icon || "./svgs/cpu.svg"}
alt={module.name}
/>
<div>{module.name?.toLowerCase()}</div>
Expand Down Expand Up @@ -85,8 +87,8 @@ export default function ModulesSettings() {
))
}
</EmulatorList>
</div>
})}
]
}).flat()}
</>
);
}
Expand Down
17 changes: 9 additions & 8 deletions app-front/Pages/Settings/shared.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -245,19 +245,20 @@ export const SettingEntry = styled.div`
}
`;

export const EmulatorList = styled.div`
export const EmulatorList = styled.div.attrs((_) => ({
className: 'vertical-list'
}))`
pointer-events: ${(props: any) => (props.$locked ? "none" : "all")};
opacity: ${(props: any) => (props.$locked ? "0.5" : "1")};
display: flex;
flex-direction: column;
gap: calc(var(--decade) * 0.2) ;
gap: calc(var(--decade) * 0.2);
height: 100%;
border-radius: 18px;
overflow: hidden;
background-color: var(--dark);
background-color: var(--grey);
overflow-y: overlay;
overflow-x: hidden;
background-color: rgba(255, 255, 255, 0.1);
border-radius: 0 var(--radius) var(--radius) 0;
& > div {
box-sizing: border-box;
Expand All @@ -270,12 +271,12 @@ export const EmulatorList = styled.div`
display: flex;
align-items: center;
justify-content: start;
gap: calc(var(--decade) * 0.6) ;
border-bottom: calc(2 * var(--border-size)) solid rgba(255, 255, 255, 0.1);
gap: var(--decade);
background-color: rgba(255, 255, 255, 0.1);
cursor: pointer;
&:hover {
background-color: rgba(255, 255, 255, 0.1);
background-color: rgba(255, 255, 255, 0.2);
}
& > img {
Expand Down
5 changes: 2 additions & 3 deletions app-front/overlay.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ ReactDOM.createRoot(document.getElementById("root")!).render(

function OverlayApp() {
const { settings } = useSettings();

const [overlayData, setOverlayData] = useState<any>({});

useEffect(() => {
Expand Down Expand Up @@ -88,7 +87,7 @@ const GameOptions = styled.div`
`;

const BackButton = styled.button`
height: calc(var(--quintet) * 0.6);
height: calc(var(--decade) * 6);
border-radius: calc(var(--decade) * 1.4);
padding: var(--decade) calc(var(--decade) * 1.4);
border: none;
Expand All @@ -97,7 +96,7 @@ const BackButton = styled.button`
font-size: calc(var(--decade) * 3);
font-weight: 500;
cursor: pointer;
transition-duration: 0.2s;
&:hover {
background: ${(props: any) => props.red ? "rgba(255, 0, 0, 0.3)" : "rgba(255, 255, 255, 0.3)"};
}
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"author": "Flare, Forge.",
"description": "all-in-one game launcher",
"license": "CC-BY-SA-4.0",
"version": "0.0.10",
"version": "0.0.11",
"main": "./app-back/.build/index.js",
"scripts": {
" DEVELOPMENT SCRIPTS --------------": "",
Expand Down

0 comments on commit b5f5a84

Please sign in to comment.