makman2 / gamebox Goto Github PK
View Code? Open in Web Editor NEWA virtual console designed for the Raspberry Pi!
License: GNU General Public License v3.0
A virtual console designed for the Raspberry Pi!
License: GNU General Public License v3.0
The configuration step shall be performed everytime, not only when resources exist.
Maybe move the configuration into a separate file.
When importing a game, allow the user to auto-detect the actual game title. So hash the game file and look-up a database.
The problem is maybe that this kind of feature is more suited for a server application, but this project does not host a server, so is it worth to have this look-up database locally?
When you press a certain key a menu should appear where you can leave the game, suspend it or save snapshot (etc).
The project currently targets Vala 0.27 while setting version 0.26 as least required.
It should be determined until which minimum version Vala still compiles this project (to support smaller versions on maybe older systems).
Like a computer account, but really simple. Since this is not a high end gaming platform, this system shouldn't get on someones nerves. If you want them you can get them, but if you are the only one on the console this feature shouldn't bother you.
This is also a bug in Vala. A throwing compiler should not finalize.
But write a workaround so that the resource unregistration function is not called anyway.
Search and import games from external devices or the file system.
See the experimental branch. Shall be used in all file loaders and parsers.
You don't want to only save games on the device where the operating system is. For example on an external HDD or other.
Need a working background system. See the experimental branch, already implemented there.
Initable
is an interface that exposes functionality for objects that can fail during initialization. Since the destructor invokation even when throwing in GameBox.Resources
is not a bug in Vala, this seems to be the correct solution to solve this problem.
Allow LAN networking features (for emulators that support them)!
Need a nice splash screen!
Write a background with multiple layers that move with different velocities when scrolling throught a list or selecting another item. So this would be like a slide-system.
To allow later modding in the resource files (to change UI, design etc) place the resource compilation inside an extra target, so you don't need to compile the actual executable.
Use an XML file to store ROM locations and game metadata (title, description etc).
Write a small guide on how to build GameBox on a Raspberry Pi!
Then write a bash script that automatically installs dependencies and builds the project.
In first order generic ones, but special support (to handle them correct) should be implemented for the XBOX360 controller.
When you click at one, it shall start!
Make it also available as an option when implementing settings in GameBox.
If errors occur during read/write, allow a fallback (to load defaults from another file, write to a temporary file etc).
Use the vala plugin system to load interactive backgrounds at runtime.
Extends issue #9.
If src/gamebox.vala is not built inside the CMake makefile (means it was not changed) but other files are updated, the vala-c-precompilation step is performed twice in the makefile (or printed twice, maybe that means nothing).
The resource file path is set separately in the Resources.vala file and in the CMake build system.
Configure Resources.vala or some other build constant file to set this path automatically, only dependent from the build system.
Using GLib.Initable is not possible now, there are no examples online to see how it works (especially with parameters passed via a constructor). Using a static function that constructs the objects only then, if nothing fails during processing.
So this would take over #36 for now until it is sure how to implement GLib.Initable in it (or even if this is the right solution for this kind of problem).
What needs to be done:
Further steps:
Use the modification as a submodule or supply a configuration script that writes the entry for this emulator inside the XML file, downloads, builds and configurates it (I'm in favor of the second version).
Resources get rebuilt everytime even if the resource file already exists.
Support different views and sorting features, like cover-view, list with only title, sort ascending to name or platform etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.