Compare commits

..

16 Commits

Author SHA1 Message Date
sp2xdev 0253cb84a7 Update README.md 2024-07-20 17:39:06 -07:00
sp2xdev 4d7017bd07 Update README.md 2024-07-20 17:38:17 -07:00
sp2xdev cb4bd6e80d Update README.md 2024-07-20 16:56:25 -07:00
sp2xdev 7ed33e261e Update README.md 2024-07-20 16:50:48 -07:00
sp2xdev a7e7eb36be Update CONTRIBUTING.md 2024-07-15 19:04:13 -07:00
sp2xdev 962db5d4d4 Update CONTRIBUTING.md 2024-07-15 19:03:50 -07:00
sp2xdev b59db8dd14 Update CONTRIBUTING.md 2024-07-15 19:03:36 -07:00
sp2xdev 680e7a7bda Update issue templates 2024-07-15 19:02:45 -07:00
sp2xdev 5e67ce5067 Update CONTRIBUTING.md 2024-07-15 18:56:39 -07:00
sp2xdev 4051c728fc Update README.md 2024-06-26 02:13:37 -07:00
sp2xdev ae4dbece0a Update README.md 2024-06-18 19:14:08 -07:00
sp2xdev 6551687708 Update README.md 2024-05-28 15:41:12 -07:00
sp2xdev bd690e183d Update CONTRIBUTING.md 2024-05-28 15:38:36 -07:00
sp2xdev 550dd08f19 Update README.md 2024-05-17 01:33:59 -07:00
sp2xdev eafe7a834a Create CONTRIBUTING.md 2024-05-17 01:32:54 -07:00
sp2xdev 6e8c87921b Update issue templates 2024-04-30 03:00:03 -07:00
4 changed files with 58 additions and 25 deletions
@@ -0,0 +1,10 @@
---
name: Documentation update
about: For suggesting edits to the wiki page.
title: ''
labels: documentation
assignees: ''
---
@@ -10,6 +10,7 @@ assignees: ''
> [!NOTE]
> Before submitting code changes...
> * Please do note that this is a GPL v3.0 open source project.
> * Please read the [CONTRIBUTING](https://github.com/spice2x/spice2x.github.io/blob/main/CONTRIBUTING.md) guide.
> * Maintainers reserve the right to reject or modify your submission without reason.
> * If accepted, your github user name will be credited on the main web page, and then archived in the [past versions wiki page](https://github.com/spice2x/spice2x.github.io/wiki/Past-versions-and-change-log)
>
+31
View File
@@ -0,0 +1,31 @@
## Contributing
Baseline rules for patch submissions are as follows. Any patches violating the rules below will not be accepted.
### Adding support for games
* No BomberGirl, as long as the Free To Play service is still alive.
* No support for that one touch screen game that dispenses plushies of mouse character (`O26`).
* No support for eaCloud ("Konasute") games.
* For a new game that was never supported (not a new version of a game, but rather a new series): please wait 1 year after official AC release in Japan.
* For new version of an already supported game: proceed with caution and use generally-accepted community guidelines.
### Avoiding regressions
The biggest risk in making code changes to spice is the risk of regressions. There is a **lot** of shared code used by many different games, reaching back game versions that are more than a decade old. It is practically impossible to test all supported games and versions.
Additionally, there's a lot of code that get exercised on specific hardware - including hardware that you probably don't have access to (e.g., ICCA reader, real cabinet I/O, specific model of a IIDX controller, particular brand of touch screens...)
Therefore, when making code changes, please be extremely careful about containing / scoping your changes. Make targeted bug fixes scoped to handful of game versions and hardware configuration. When adding new features, make it off by default, unless there is a really good reason to make it the default. If you make a new default, add an option that disables it so that users can opt out as needed.
### Code quality requirements
* Test for regressions, at least in and around the component you are modifying:
* All currently supported games / versions must continue to work.
* Backwards compatibility must be preserved, unless there is a really good reason to break it. This includes (but not limited to): global/local config files, command line parameters, game patches, device interop (e.g., card readers), and SpiceAPI / Companion interop.
* Reasonable level of compatibility with the last release of original spicetools is expected. The stated goal of spice2x is to be a drop-in replacement for spicetools.
* Simply put, if someone has an existing install of spicetools/spice2x, copying over new version of spice2x should not result in different behavior or loss of functionality.
* Make sure you compile with the included Docker script and ensure you do not introduce **any** new compiler warnings or build breaks. The Docker script is the standard build environment, your custom Linux build environment or MSVC can be used during development, but you must validate the final build using Docker.
* Do not submit snippets of code as a "patch". Exceptions can be made for trivial changes (correct a typo, fix a single line of code...), but otherwise, a successfully compiled & fully tested patch file is required when submitting for review.
* Do not make code changes in unrelated areas; i.e., do not run code linters and auto-formatters for parts of the code that you didn't modify.
* Note: there are no strict rules for code formatting, but please attempt to emulate the style around the code you are modifying.
* Try to submit smaller chunks of code, instead one gigantic patch. For example, don't submit a patch for "Improve feature XYZ"; instead, submit "Change how A works to prepare for feature XYZ" "Refactor B for feature XYZ" "Add feature B to enable feature XYZ".
+16 -25
View File
@@ -20,39 +20,30 @@ spice2x team does not provide any tools to circumvent software copy protection,
[List of supported games](https://github.com/spice2x/spice2x.github.io/wiki/List-of-supported-games)
## How do I set up game data & start playing?
By policy,
* we do **NOT** provide links on where to acquire game data
* we do **NOT** provide guides on setting up & basic troubleshooting
please do not ask for these, as it will never happen here.
## Submitting to the Issue Tracker
Rules for filing a new issue or adding comments to existing issues in the tracker:
* Check the [known issues](https://github.com/spice2x/spice2x.github.io/wiki/Known-issues) page first before reporting a new issue.
* Use the search function and see if there is an existing issue.
* This is not the place to ask about other projects, especially EA servers. Bad servers can (and will) crash your game.
* **Do not link to external websites that distribute game data!**
* This is not the place to obtain a guide or receive basic troubleshooting.
* Don't file a bug demanding game XYZ to be supported.
* **Do not upload game data - any part of it, XML files included!**
* **Do not mention or link to external websites that distribute game data!**
* **Do not link to external websites that provide guides on how to run games!**
New GitHub accounts are prevented from creating new issues to prevent spam.
Maintainers of this project reserve the right to close or delete any low effort issues.
New GitHub accounts are prevented from creating new issues to prevent spam. Maintainers of this project reserve the right to close or delete any issues that violate the rules above, or low effort issues.
## Contributing
**We encourage the community to submit patches via the issue tracker for any bug fixes or feature enhancements.** If you want to resolve any reported (or not reported) bugs, implement features, add support for new games, or fix a [known issue](https://github.com/spice2x/spice2x.github.io/wiki/Known-issues) - feel free to reach out via the Issue tracker. All submitted code patches are assumed to be GPLv3 compliant.
Baseline rules for patch submissions are as follows. Any patches violating the rules below will not be accepted.
Please see [CONTRIBUTING page](https://github.com/spice2x/spice2x.github.io/blob/main/CONTRIBUTING.md) for a full list of guidelines when submitting code.
### Adding support for games
* No BomberGirl, as long as the Free To Play service is still alive.
* No support for that one touch screen game that dispenses plushies of mouse character (`O26`).
* No support for eaCloud ("Konasute") games.
* For a new game that was never supported (not a new version of a game, but rather a new series): please wait 1 year after official AC release in Japan.
* For new version of an already supported game: proceed with caution and use generally-accepted community guidelines.
### Code quality requirements
* Test for regressions, at least in and around the component you are modifying:
* All currently supported games / versions must continue to work.
* Backwards compatibility must be preserved, unless there is a really good reason to break it. This includes (but not limited to): global/local config files, command line parameters, game patches, device interop (e.g., card readers), and SpiceAPI / Companion interop.
* Reasonable level of compatibility with the last release of original spicetools is expected. The stated goal of spice2x is to be a drop-in replacement for spicetools.
* Simply put, if someone has an existing install of spicetools/spice2x, copying over new version of spice2x should not result in different behavior or loss of functionality.
* Make sure you compile with the included Docker script and ensure you do not introduce **any** new compiler warnings or build breaks. The Docker script is the standard build environment, your custom Linux build environment or MSVC can be used during development, but you must validate the final build using Docker.
* Do not submit snippets of code as a "patch". Exceptions can be made for trivial changes (correct a typo, fix a single line of code...), but otherwise, a successfully compiled & fully tested patch file is required when submitting for review.
* Do not make code changes in unrelated areas; i.e., do not run code linters and auto-formatters for parts of the code that you didn't modify.
* Note: there are no strict rules for code formatting, but please attempt to emulate the style around the code you are modifying.