From 533e1bb076066d99a9fb8d36d67585083f91c058 Mon Sep 17 00:00:00 2001 From: Tony Bark <35226681+tonytins@users.noreply.github.com> Date: Wed, 4 Feb 2026 15:04:51 -0500 Subject: [PATCH] Separated bits and add on selection (cyberware, etc.) - Moved json files to /data directory - Added Getting Started section in README - JSON Serialization can now be globally accessed --- ASSET-LICENSE | 119 ++++++++++++++++++++++++ CyberBits/Addon.cs | 6 ++ CyberBits/Bits.cs | 8 +- CyberBits/GlobalUsing.cs | 4 +- CyberBits/Program.cs | 18 ++-- CyberBits/project/data/addons.json | 3 + CyberBits/project/{ => data}/cock.json | 2 +- CyberBits/project/{ => data}/pussy.json | 3 +- README.md | 9 +- 9 files changed, 153 insertions(+), 19 deletions(-) create mode 100644 ASSET-LICENSE create mode 100644 CyberBits/Addon.cs create mode 100644 CyberBits/project/data/addons.json rename CyberBits/project/{ => data}/cock.json (77%) rename CyberBits/project/{ => data}/pussy.json (62%) diff --git a/ASSET-LICENSE b/ASSET-LICENSE new file mode 100644 index 0000000..a343ccd --- /dev/null +++ b/ASSET-LICENSE @@ -0,0 +1,119 @@ +Creative Commons Legal Code + +CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES +NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE +AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION +ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE +OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS +LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION +OR WORKS PROVIDED HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer exclusive +Copyright and Related Rights (defined below) upon the creator and subsequent +owner(s) (each and all, an "owner") of an original work of authorship and/or +a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for the +purpose of contributing to a commons of creative, cultural and scientific +works ("Commons") that the public can reliably and without fear of later claims +of infringement build upon, modify, incorporate in other works, reuse and +redistribute as freely as possible in any form whatsoever and for any purposes, +including without limitation commercial purposes. These owners may contribute +to the Commons to promote the ideal of a free culture and the further production +of creative, cultural and scientific works, or to gain reputation or greater +distribution for their Work in part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any expectation +of additional consideration or compensation, the person associating CC0 with +a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright +and Related Rights in the Work, voluntarily elects to apply CC0 to the Work +and publicly distribute the Work under its terms, with knowledge of his or +her Copyright and Related Rights in the Work and the meaning and intended +legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be protected +by copyright and related or neighboring rights ("Copyright and Related Rights"). +Copyright and Related Rights include, but are not limited to, the following: + +i. the right to reproduce, adapt, distribute, perform, display, communicate, +and translate a Work; + + ii. moral rights retained by the original author(s) and/or performer(s); + +iii. publicity and privacy rights pertaining to a person's image or likeness +depicted in a Work; + +iv. rights protecting against unfair competition in regards to a Work, subject +to the limitations in paragraph 4(a), below; + +v. rights protecting the extraction, dissemination, use and reuse of data +in a Work; + +vi. database rights (such as those arising under Directive 96/9/EC of the +European Parliament and of the Council of 11 March 1996 on the legal protection +of databases, and under any national implementation thereof, including any +amended or successor version of such directive); and + +vii. other similar, equivalent or corresponding rights throughout the world +based on applicable law or treaty, and any national implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention of, +applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and +unconditionally waives, abandons, and surrenders all of Affirmer's Copyright +and Related Rights and associated claims and causes of action, whether now +known or unknown (including existing as well as future claims and causes of +action), in the Work (i) in all territories worldwide, (ii) for the maximum +duration provided by applicable law or treaty (including future time extensions), +(iii) in any current or future medium and for any number of copies, and (iv) +for any purpose whatsoever, including without limitation commercial, advertising +or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the +benefit of each member of the public at large and to the detriment of Affirmer's +heirs and successors, fully intending that such Waiver shall not be subject +to revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason be +judged legally invalid or ineffective under applicable law, then the Waiver +shall be preserved to the maximum extent permitted taking into account Affirmer's +express Statement of Purpose. In addition, to the extent the Waiver is so +judged Affirmer hereby grants to each affected person a royalty-free, non +transferable, non sublicensable, non exclusive, irrevocable and unconditional +license to exercise Affirmer's Copyright and Related Rights in the Work (i) +in all territories worldwide, (ii) for the maximum duration provided by applicable +law or treaty (including future time extensions), (iii) in any current or +future medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional purposes +(the "License"). The License shall be deemed effective as of the date CC0 +was applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder of +the License, and in such case Affirmer hereby affirms that he or she will +not (i) exercise any of his or her remaining Copyright and Related Rights +in the Work or (ii) assert any associated claims and causes of action with +respect to the Work, in either case contrary to Affirmer's express Statement +of Purpose. + + 4. Limitations and Disclaimers. + +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, +licensed or otherwise affected by this document. + +b. Affirmer offers the Work as-is and makes no representations or warranties +of any kind concerning the Work, express, implied, statutory or otherwise, +including without limitation warranties of title, merchantability, fitness +for a particular purpose, non infringement, or the absence of latent or other +defects, accuracy, or the present or absence of errors, whether or not discoverable, +all to the greatest extent permissible under applicable law. + +c. Affirmer disclaims responsibility for clearing rights of other persons +that may apply to the Work or any use thereof, including without limitation +any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims +responsibility for obtaining any necessary consents, permissions or other +rights required for any use of the Work. + +d. Affirmer understands and acknowledges that Creative Commons is not a party +to this document and has no duty or obligation with respect to this CC0 or +use of the Work. diff --git a/CyberBits/Addon.cs b/CyberBits/Addon.cs new file mode 100644 index 0000000..0f758e4 --- /dev/null +++ b/CyberBits/Addon.cs @@ -0,0 +1,6 @@ +namespace Cyberbits; + +public record Addon( + [property: JsonPropertyName("cyberware")] + string[] Cyberware + ); diff --git a/CyberBits/Bits.cs b/CyberBits/Bits.cs index a158ca2..aeba4e8 100644 --- a/CyberBits/Bits.cs +++ b/CyberBits/Bits.cs @@ -1,7 +1,5 @@ namespace Cyberbits; -using System.Text.Json.Serialization; - public record Bits( [property: JsonPropertyName("image")] string Image, @@ -10,7 +8,5 @@ public record Bits( [property: JsonPropertyName("base")] string[] Base, [property: JsonPropertyName("style")] - string[] Style, - [property: JsonPropertyName("cyberware")] - string[] Cyberware -); + string[] Style + ); diff --git a/CyberBits/GlobalUsing.cs b/CyberBits/GlobalUsing.cs index 313f61a..5de1e39 100644 --- a/CyberBits/GlobalUsing.cs +++ b/CyberBits/GlobalUsing.cs @@ -1,3 +1,5 @@ global using System; +global using System.Text.Json; +global using System.Text.Json.Serialization; global using Godot; -global using Engine = twodog.Engine; \ No newline at end of file +global using Engine = twodog.Engine; diff --git a/CyberBits/Program.cs b/CyberBits/Program.cs index 6460a2a..14bd6df 100644 --- a/CyberBits/Program.cs +++ b/CyberBits/Program.cs @@ -1,5 +1,4 @@ -using System.Text.Json; -using Cyberbits; +using Cyberbits; using var engine = new Engine("Cyberbits", Engine.ResolveProjectDir()); using var godot = engine.Start(); @@ -13,20 +12,23 @@ var bitsSelection = engine.Tree.CurrentScene.GetNode("BitsSelectio var unlockedFeat = engine.Tree.CurrentScene.GetNode