├── .github └── workflows │ ├── pr-build-test.yml │ └── release-master.yml ├── .gitignore ├── .gitmodules ├── BUILD.MD ├── LICENSE ├── README.md ├── SECURITY.md ├── icon.png ├── makefile ├── old └── TINET Client Artifacts │ ├── TINET-DEV-10.8xp │ ├── TINET-DEV-100.8xp │ ├── TINET-DEV-101.8xp │ ├── TINET-DEV-102.8xp │ ├── TINET-DEV-103.8xp │ ├── TINET-DEV-104.8xp │ ├── TINET-DEV-105.8xp │ ├── TINET-DEV-106.8xp │ ├── TINET-DEV-107.8xp │ ├── TINET-DEV-108.8xp │ ├── TINET-DEV-109.8xp │ ├── TINET-DEV-11.8xp │ ├── TINET-DEV-111.8xp │ ├── TINET-DEV-112.8xp │ ├── TINET-DEV-113.8xp │ ├── TINET-DEV-114.8xp │ ├── TINET-DEV-115.8xp │ ├── TINET-DEV-116.8xp │ ├── TINET-DEV-117.8xp │ ├── TINET-DEV-118.8xp │ ├── TINET-DEV-119.8xp │ ├── TINET-DEV-120.8xp │ ├── TINET-DEV-121.8xp │ ├── TINET-DEV-122.8xp │ ├── TINET-DEV-123.8xp │ ├── TINET-DEV-124.8xp │ ├── TINET-DEV-125.8xp │ ├── TINET-DEV-126.8xp │ ├── TINET-DEV-128.8xp │ ├── TINET-DEV-129.8xp │ ├── TINET-DEV-130.8xp │ ├── TINET-DEV-131.8xp │ ├── TINET-DEV-132.8xp │ ├── TINET-DEV-133.8xp │ ├── TINET-DEV-134.8xp │ ├── TINET-DEV-135.8xp │ ├── TINET-DEV-136.8xp │ ├── TINET-DEV-137.8xp │ ├── TINET-DEV-138.8xp │ ├── TINET-DEV-139.8xp │ ├── TINET-DEV-140.8xp │ ├── TINET-DEV-141.8xp │ ├── TINET-DEV-142.8xp │ ├── TINET-DEV-143.8xp │ ├── TINET-DEV-144.8xp │ ├── TINET-DEV-145.8xp │ ├── TINET-DEV-146.8xp │ ├── TINET-DEV-147.8xp │ ├── TINET-DEV-148.8xp │ ├── TINET-DEV-149.8xp │ ├── TINET-DEV-150.8xp │ ├── TINET-DEV-151.8xp │ ├── TINET-DEV-36.8xp │ ├── TINET-DEV-37.8xp │ ├── TINET-DEV-38.8xp │ ├── TINET-DEV-39.8xp │ ├── TINET-DEV-40.8xp │ ├── TINET-DEV-41.8xp │ ├── TINET-DEV-42.8xp │ ├── TINET-DEV-44.8xp │ ├── TINET-DEV-45.8xp │ ├── TINET-DEV-46.8xp │ ├── TINET-DEV-47.8xp │ ├── TINET-DEV-48.8xp │ ├── TINET-DEV-49.8xp │ ├── TINET-DEV-50.8xp │ ├── TINET-DEV-51.8xp │ ├── TINET-DEV-52.8xp │ ├── TINET-DEV-53.8xp │ ├── TINET-DEV-54.8xp │ ├── TINET-DEV-55.8xp │ ├── TINET-DEV-56.8xp │ ├── TINET-DEV-57.8xp │ ├── TINET-DEV-58.8xp │ ├── TINET-DEV-59.8xp │ ├── TINET-DEV-60.8xp │ ├── TINET-DEV-61.8xp │ ├── TINET-DEV-62.8xp │ ├── TINET-DEV-63.8xp │ ├── TINET-DEV-65.8xp │ ├── TINET-DEV-66.8xp │ ├── TINET-DEV-68.8xp │ ├── TINET-DEV-69.8xp │ ├── TINET-DEV-70.8xp │ ├── TINET-DEV-71.8xp │ ├── TINET-DEV-72.8xp │ ├── TINET-DEV-73.8xp │ ├── TINET-DEV-74.8xp │ ├── TINET-DEV-75.8xp │ ├── TINET-DEV-76.8xp │ ├── TINET-DEV-77.8xp │ ├── TINET-DEV-78.8xp │ ├── TINET-DEV-79.8xp │ ├── TINET-DEV-80.8xp │ ├── TINET-DEV-81.8xp │ ├── TINET-DEV-82.8xp │ ├── TINET-DEV-83.8xp │ ├── TINET-DEV-84.8xp │ ├── TINET-DEV-85.8xp │ ├── TINET-DEV-86.8xp │ ├── TINET-DEV-87.8xp │ ├── TINET-DEV-88.8xp │ ├── TINET-DEV-89.8xp │ ├── TINET-DEV-9.8xp │ ├── TINET-DEV-91.8xp │ ├── TINET-DEV-92.8xp │ ├── TINET-DEV-93.8xp │ ├── TINET-DEV-94.8xp │ ├── TINET-DEV-95.8xp │ ├── TINET-DEV-96.8xp │ ├── TINET-DEV-97.8xp │ ├── TINET-DEV-98.8xp │ ├── TINET-DEV-99.8xp │ ├── TINET-V0.0.13.8xp │ ├── TINET-V0.0.14.8xp │ ├── TINET-V0.0.15.8xp │ ├── TINET-V0.0.16.8xp │ ├── TINET-V0.0.18.8xp │ ├── TINET-V0.0.19.8xp │ ├── TINET-V0.0.20.8xp │ ├── TINET-V0.0.21.8xp │ └── TINET-V0.0.22.8xp └── src ├── asm ├── include │ └── ti84pceg.inc ├── scroll.asm └── scroll.h ├── gfx ├── convimg.yaml ├── emojis │ ├── arrow_down.png │ ├── arrow_left.png │ ├── arrow_right.png │ ├── arrow_up.png │ ├── blush.png │ ├── cry.png │ ├── dark_sunglasses.png │ ├── dizzy_face.png │ ├── eyeglasses.png │ ├── eyes.png │ ├── flushed.png │ ├── frowning2.png │ ├── grimacing.png │ ├── grin.png │ ├── grinning.png │ ├── heart_eyes.png │ ├── hushed.png │ ├── innocent.png │ ├── joy.png │ ├── kissing.png │ ├── kissing_heart.png │ ├── no_mouth.png │ ├── open_mouth.png │ ├── pensive.png │ ├── poop.png │ ├── rage.png │ ├── rofl.png │ ├── sleeping.png │ ├── slight_smile.png │ ├── smiley.png │ ├── smirk.png │ ├── sob.png │ ├── stuck_out_tongue.png │ ├── stuck_out_tongue_closed_eyes.png │ ├── stuck_out_tongue_winking_eye.png │ ├── sunglasses.png │ ├── sweat.png │ ├── wink.png │ ├── yum.png │ └── zipper_mouth.png └── misc │ └── keyboard.png ├── main.c └── utils ├── textutils ├── textutils.c └── textutils.h └── ui ├── shapes.c └── shapes.h /.github/workflows/pr-build-test.yml: -------------------------------------------------------------------------------- 1 | name: Pull Request Check 2 | 3 | on: 4 | pull_request: 5 | 6 | jobs: 7 | build: 8 | runs-on: ubuntu-latest 9 | 10 | steps: 11 | - name: Checkout code 12 | uses: actions/checkout@main 13 | 14 | - name: Fetch submodules 15 | run: git submodule update --init --recursive 16 | 17 | - name: Get repository information 18 | uses: actions/github-script@v6 19 | with: 20 | script: | 21 | const repo = context.payload.repository.full_name; 22 | console.log(`The repository is ${repo}`); 23 | - name: Install dependencies 24 | run: sudo apt-get update && sudo apt-get install -y make tar 25 | 26 | - name: Download and extract CEdev 27 | run: | 28 | curl -sL github.com/CE-Programming/toolchain/releases/download/v11.2/CEdev-Linux.tar.gz | tar xz 29 | 30 | - name: Add CEdev to PATH 31 | run: | 32 | echo "CEdev/bin" >> $GITHUB_PATH 33 | echo $GITHUB_PATH 34 | 35 | - name: Make GFX 36 | run: make gfx 37 | 38 | - name: Build NETCHAT.8xp 39 | run: make 40 | 41 | - name: Upload NETCHAT.8xp 42 | uses: actions/upload-artifact@v3 43 | with: 44 | name: NETCHAT.8xp 45 | path: bin/NETCHAT.8xp 46 | 47 | - name: Set final commit status 48 | uses: myrotvorets/set-commit-status-action@master 49 | if: always() 50 | with: 51 | sha: ${{ steps.comment-branch.outputs.head_sha }} 52 | token: ${{ secrets.GITHUB_TOKEN }} 53 | status: ${{ job.status }} 54 | -------------------------------------------------------------------------------- /.github/workflows/release-master.yml: -------------------------------------------------------------------------------- 1 | name: Release Master Stable NETCHAT Build 2 | 3 | on: 4 | push: 5 | branches: 6 | master 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - name: Checkout code 14 | uses: actions/checkout@main 15 | 16 | - name: Fetch submodules 17 | run: git submodule update --init --recursive 18 | 19 | - name: Get repository information 20 | uses: actions/github-script@v6 21 | with: 22 | script: | 23 | const repo = context.payload.repository.full_name; 24 | console.log(`The repository is ${repo}`); 25 | - name: Install dependencies 26 | run: sudo apt-get update && sudo apt-get install -y make tar 27 | 28 | - name: Download and extract CEdev 29 | run: | 30 | curl -sL github.com/CE-Programming/toolchain/releases/download/v11.2/CEdev-Linux.tar.gz | tar xz 31 | 32 | - name: Add CEdev to PATH 33 | run: | 34 | echo "CEdev/bin" >> $GITHUB_PATH 35 | echo $GITHUB_PATH 36 | 37 | - name: Make GFX 38 | run: make gfx 39 | 40 | - name: Build NETCHAT.8xp 41 | run: make 42 | 43 | - name: Upload NETCHAT.8xp 44 | uses: actions/upload-artifact@v3 45 | with: 46 | name: NETCHAT.8xp 47 | path: bin/NETCHAT.8xp 48 | 49 | - name: Set final commit status 50 | uses: myrotvorets/set-commit-status-action@master 51 | if: always() 52 | with: 53 | sha: ${{ steps.comment-branch.outputs.head_sha }} 54 | token: ${{ secrets.GITHUB_TOKEN }} 55 | status: ${{ job.status }} 56 | 57 | - name: Create Development Release 58 | id: create_release 59 | uses: actions/create-release@main 60 | env: 61 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 62 | with: 63 | tag_name: V${{ github.run_number }} 64 | release_name: V${{ github.run_number }} 65 | draft: false 66 | prerelease: false 67 | 68 | - name: Add NETCHAT.8xp to Release 69 | uses: actions/upload-release-asset@v1.0.1 70 | env: 71 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 72 | with: 73 | upload_url: ${{ steps.create_release.outputs.upload_url }} 74 | asset_path: bin/NETCHAT.8xp 75 | asset_name: NETCHAT.8xp 76 | asset_content_type: application/octet-stream 77 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .dccache 2 | .vscode 3 | bin 4 | obj 5 | src/gfx/*.c 6 | src/gfx/*.h 7 | convimg.out 8 | nul.d 9 | src/gfx/convimg.yaml.lst 10 | .idea 11 | .cache 12 | compile_commands.json -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "src/tinet-lib"] 2 | path = src/tinet-lib 3 | url = https://github.com/tkbstudios/tinet-lib 4 | -------------------------------------------------------------------------------- /BUILD.MD: -------------------------------------------------------------------------------- 1 | # NETCHAT build instructions 2 | 3 | 1. Install [TI Connect CE](https://education.ti.com/en/products/computer-software/ti-connect-ce-sw) (Or [TiLP](http://lpg.ticalc.org/prj_tilp/) if you are on Linux) 4 | 2. Install the [CE Toolchain](https://ce-programming.github.io/toolchain/static/getting-started.html) and make sure it's added to your PATH environment variable 5 | 3. Build the project: 6 | 7 | ```shell 8 | git clone https://github.com/tkbstudios/tinet-netchat.git 9 | cd tinet-netchat 10 | make gfx 11 | make 12 | ``` 13 | 14 | 4. Install the generated NETCHAT.8xp file 15 | 5. Install the [clibs.8xg](https://github.com/CE-Programming/libraries/releases/latest) libraries if you haven't already 16 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [2022] [TKB Studios] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | https://github.com/tkbstudios/netchat-client 2 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | Latest version ALWAYS supports security updates 6 | 7 | | Version | Supported | 8 | | ------- | --------- | 9 | | latest | ✅ | 10 | 11 | ## Reporting a Vulnerability 12 | 13 | Report a vulnerability using the Issues page. 14 | 15 | All reported vulnerabilities will be fixes as soon as possible! 16 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/icon.png -------------------------------------------------------------------------------- /makefile: -------------------------------------------------------------------------------- 1 | # ---------------------------- 2 | # Makefile Options 3 | # ---------------------------- 4 | 5 | NAME = NETCHAT 6 | ICON = icon.png 7 | DESCRIPTION = "NETCHAT Client" 8 | COMPRESSED = YES 9 | ARCHIVED = YES 10 | COMPRESSED_MODE = zx0 11 | OUTPUT_MAP = NO 12 | 13 | CFLAGS = -Wall -Wextra -Oz 14 | CXXFLAGS = -Wall -Wextra -Oz 15 | 16 | # ---------------------------- 17 | include $(shell cedev-config --makefile) 18 | -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-10.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-10.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-100.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-100.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-101.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-101.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-102.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-102.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-103.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-103.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-104.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-104.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-105.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-105.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-106.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-106.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-107.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-107.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-108.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-108.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-109.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-109.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-11.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-11.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-111.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-111.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-112.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-112.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-113.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-113.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-114.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-114.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-115.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-115.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-116.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-116.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-117.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-117.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-118.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-118.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-119.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-119.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-120.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-120.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-121.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-121.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-122.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-122.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-123.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-123.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-124.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-124.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-125.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-125.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-126.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-126.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-128.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-128.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-129.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-129.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-130.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-130.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-131.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-131.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-132.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-132.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-133.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-133.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-134.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-134.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-135.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-135.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-136.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-136.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-137.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-137.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-138.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-138.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-139.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-139.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-140.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-140.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-141.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-141.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-142.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-142.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-143.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-143.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-144.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-144.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-145.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-145.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-146.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-146.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-147.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-147.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-148.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-148.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-149.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-149.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-150.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-150.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-151.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-151.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-36.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-36.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-37.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-37.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-38.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-38.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-39.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-39.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-40.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-40.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-41.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-41.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-42.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-42.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-44.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-44.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-45.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-45.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-46.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-46.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-47.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-47.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-48.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-48.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-49.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-49.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-50.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-50.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-51.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-51.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-52.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-52.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-53.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-53.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-54.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-54.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-55.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-55.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-56.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-56.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-57.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-57.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-58.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-58.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-59.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-59.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-60.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-60.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-61.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-61.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-62.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-62.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-63.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-63.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-65.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-65.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-66.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-66.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-68.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-68.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-69.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-69.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-70.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-70.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-71.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-71.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-72.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-72.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-73.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-73.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-74.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-74.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-75.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-75.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-76.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-76.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-77.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-77.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-78.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-78.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-79.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-79.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-80.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-80.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-81.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-81.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-82.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-82.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-83.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-83.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-84.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-84.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-85.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-85.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-86.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-86.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-87.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-87.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-88.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-88.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-89.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-89.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-9.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-9.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-91.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-91.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-92.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-92.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-93.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-93.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-94.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-94.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-95.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-95.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-96.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-96.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-97.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-97.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-98.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-98.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-DEV-99.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-DEV-99.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-V0.0.13.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-V0.0.13.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-V0.0.14.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-V0.0.14.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-V0.0.15.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-V0.0.15.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-V0.0.16.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-V0.0.16.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-V0.0.18.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-V0.0.18.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-V0.0.19.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-V0.0.19.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-V0.0.20.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-V0.0.20.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-V0.0.21.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-V0.0.21.8xp -------------------------------------------------------------------------------- /old/TINET Client Artifacts/TINET-V0.0.22.8xp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/old/TINET Client Artifacts/TINET-V0.0.22.8xp -------------------------------------------------------------------------------- /src/asm/scroll.asm: -------------------------------------------------------------------------------- 1 | assume adl=1 2 | 3 | section .text 4 | 5 | include 'include/ti84pceg.inc' 6 | 7 | public _scrollUp 8 | 9 | _scrollUp: 10 | ld iy, 3 11 | add iy, sp 12 | ld hl, (iy + 12) 13 | ld a, h 14 | or a, l 15 | ret z 16 | ld de, (iy) 17 | ld hl, -ti.lcdWidth 18 | add hl, de 19 | ret c 20 | ld de, (iy + 3) 21 | ld hl, -ti.lcdHeight 22 | add hl, de 23 | ret c 24 | ld hl, (iy) 25 | ld de, (iy + 6) 26 | add hl, de 27 | ex de, hl 28 | ld hl, -ti.lcdWidth 29 | add hl, de 30 | jr nc, .goodXBounds 31 | ex de, hl 32 | ld hl, (iy + 6) 33 | or a, a 34 | sbc hl, de 35 | ld (iy + 6), hl 36 | 37 | .goodXBounds: 38 | ld hl, (iy + 3) 39 | ld de, (iy + 9) 40 | add hl, de 41 | ex de, hl 42 | ld hl, -ti.lcdHeight 43 | add hl, de 44 | jr nc, .goodYBounds 45 | ex de, hl 46 | ld hl, (iy + 9) 47 | or a, a 48 | sbc hl, de 49 | ld (iy + 9), hl 50 | 51 | .goodYBounds: 52 | ld hl, (iy + 6) 53 | ld a, h 54 | or a, l 55 | ret z 56 | ld hl, (iy + 9) 57 | ld a, h 58 | or a, l 59 | ret z 60 | ld a, (iy + 3) 61 | call .getVRAMaddr 62 | push hl 63 | ld hl, (iy + 12) 64 | ld de, (iy + 9) 65 | or a, a 66 | sbc hl, de 67 | pop hl 68 | ret nc 69 | push hl 70 | ld a, (iy + 12) 71 | add a, (iy + 3) 72 | call .getVRAMaddr 73 | ld bc, (iy + 6) 74 | dec bc 75 | ld a, b 76 | or a, c 77 | jr nz, $ + 8 78 | ld a, $A0 79 | ld (.smcLDI), a 80 | inc bc 81 | ld a, (iy + 9) 82 | sub a, (iy + 12) 83 | pop de 84 | 85 | .shiftScreen: 86 | push bc 87 | push hl 88 | push de 89 | ldir 90 | .smcLDI := $ - 1 91 | pop hl 92 | pop de 93 | ld bc, ti.lcdWidth 94 | add hl, bc 95 | ex de, hl 96 | add hl, bc 97 | pop bc 98 | dec a 99 | jr nz, .shiftScreen 100 | ret 101 | 102 | .getVRAMaddr: 103 | ld e, a 104 | ld bc, (iy) 105 | ld d, ti.lcdWidth / 2 106 | mlt de 107 | ld hl, (ti.mpLcdLpbase) 108 | add hl, bc 109 | add hl, de 110 | add hl, de 111 | ret 112 | -------------------------------------------------------------------------------- /src/asm/scroll.h: -------------------------------------------------------------------------------- 1 | /* This was made by RoccoLox Programs, please give him credit when using his code! */ 2 | 3 | #ifndef SCROLL_H 4 | #define SCROLL_H 5 | 6 | #include 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | void scrollUp(unsigned int x, unsigned int y, unsigned int width, unsigned int height, unsigned int amount); 13 | 14 | #ifdef __cplusplus 15 | } 16 | #endif 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /src/gfx/convimg.yaml: -------------------------------------------------------------------------------- 1 | palettes: 2 | - name: global_palette 3 | images: automatic 4 | 5 | - name: emoji_palette 6 | fixed-entries: 7 | - color: { index: 0, r: 255, g: 255, b: 255 } 8 | images: automatic 9 | 10 | converts: 11 | - name: keyboard 12 | palette: global_palette 13 | compress: zx0 14 | images: 15 | - misc/keyboard.png 16 | 17 | - name: blush 18 | palette: emoji_palette 19 | compress: zx0 20 | images: 21 | - emojis/blush.png 22 | 23 | - name: cry 24 | palette: emoji_palette 25 | compress: zx0 26 | images: 27 | - emojis/cry.png 28 | 29 | - name: dark_sunglasses 30 | palette: emoji_palette 31 | compress: zx0 32 | images: 33 | - emojis/dark_sunglasses.png 34 | 35 | - name: dizzy_face 36 | palette: emoji_palette 37 | compress: zx0 38 | images: 39 | - emojis/dizzy_face.png 40 | 41 | - name: eyeglasses 42 | palette: emoji_palette 43 | compress: zx0 44 | images: 45 | - emojis/eyeglasses.png 46 | 47 | - name: eyes 48 | palette: emoji_palette 49 | compress: zx0 50 | images: 51 | - emojis/eyes.png 52 | 53 | - name: flushed 54 | palette: emoji_palette 55 | compress: zx0 56 | images: 57 | - emojis/flushed.png 58 | 59 | - name: frowning2 60 | palette: emoji_palette 61 | compress: zx0 62 | images: 63 | - emojis/frowning2.png 64 | 65 | - name: grimacing 66 | palette: emoji_palette 67 | compress: zx0 68 | images: 69 | - emojis/grimacing.png 70 | 71 | - name: grin 72 | palette: emoji_palette 73 | compress: zx0 74 | images: 75 | - emojis/grin.png 76 | 77 | - name: grinning 78 | palette: emoji_palette 79 | compress: zx0 80 | images: 81 | - emojis/grinning.png 82 | 83 | - name: heart_eyes 84 | palette: emoji_palette 85 | compress: zx0 86 | images: 87 | - emojis/heart_eyes.png 88 | 89 | - name: hushed 90 | palette: emoji_palette 91 | compress: zx0 92 | images: 93 | - emojis/hushed.png 94 | 95 | - name: innocent 96 | palette: emoji_palette 97 | compress: zx0 98 | images: 99 | - emojis/innocent.png 100 | 101 | - name: joy 102 | palette: emoji_palette 103 | compress: zx0 104 | images: 105 | - emojis/joy.png 106 | 107 | - name: kissing 108 | palette: emoji_palette 109 | compress: zx0 110 | images: 111 | - emojis/kissing.png 112 | 113 | - name: kissing_heart 114 | palette: emoji_palette 115 | compress: zx0 116 | images: 117 | - emojis/kissing_heart.png 118 | 119 | - name: no_mouth 120 | palette: emoji_palette 121 | compress: zx0 122 | images: 123 | - emojis/no_mouth.png 124 | 125 | - name: open_mouth 126 | palette: emoji_palette 127 | compress: zx0 128 | images: 129 | - emojis/open_mouth.png 130 | 131 | - name: pensive 132 | palette: emoji_palette 133 | compress: zx0 134 | images: 135 | - emojis/pensive.png 136 | 137 | - name: poop 138 | palette: emoji_palette 139 | compress: zx0 140 | images: 141 | - emojis/poop.png 142 | 143 | - name: rage 144 | palette: emoji_palette 145 | compress: zx0 146 | images: 147 | - emojis/rage.png 148 | 149 | - name: rofl 150 | palette: emoji_palette 151 | compress: zx0 152 | images: 153 | - emojis/rofl.png 154 | 155 | - name: sleeping 156 | palette: emoji_palette 157 | compress: zx0 158 | images: 159 | - emojis/sleeping.png 160 | 161 | - name: slight_smile 162 | palette: emoji_palette 163 | compress: zx0 164 | images: 165 | - emojis/slight_smile.png 166 | 167 | - name: smiley 168 | palette: emoji_palette 169 | compress: zx0 170 | images: 171 | - emojis/smiley.png 172 | 173 | - name: smirk 174 | palette: emoji_palette 175 | compress: zx0 176 | images: 177 | - emojis/smirk.png 178 | 179 | - name: sob 180 | palette: emoji_palette 181 | compress: zx0 182 | images: 183 | - emojis/sob.png 184 | 185 | - name: stuck_out_tongue 186 | palette: emoji_palette 187 | compress: zx0 188 | images: 189 | - emojis/stuck_out_tongue.png 190 | 191 | - name: stuck_out_tongue_closed_eyes 192 | palette: emoji_palette 193 | compress: zx0 194 | images: 195 | - emojis/stuck_out_tongue_closed_eyes.png 196 | 197 | - name: stuck_out_tongue_winking_eye 198 | palette: emoji_palette 199 | compress: zx0 200 | images: 201 | - emojis/stuck_out_tongue_winking_eye.png 202 | 203 | - name: sunglasses 204 | palette: emoji_palette 205 | compress: zx0 206 | images: 207 | - emojis/sunglasses.png 208 | 209 | - name: sweat 210 | palette: emoji_palette 211 | compress: zx0 212 | images: 213 | - emojis/sweat.png 214 | 215 | - name: wink 216 | palette: emoji_palette 217 | compress: zx0 218 | images: 219 | - emojis/wink.png 220 | 221 | - name: yum 222 | palette: emoji_palette 223 | compress: zx0 224 | images: 225 | - emojis/yum.png 226 | 227 | - name: zipper_mouth 228 | palette: emoji_palette 229 | compress: zx0 230 | images: 231 | - emojis/zipper_mouth.png 232 | 233 | outputs: 234 | - type: c 235 | include-file: gfx.h 236 | palettes: 237 | - global_palette 238 | - emoji_palette 239 | converts: 240 | - keyboard 241 | - blush 242 | - cry 243 | - dark_sunglasses 244 | - dizzy_face 245 | - eyeglasses 246 | - eyes 247 | - flushed 248 | - frowning2 249 | - grimacing 250 | - grin 251 | - grinning 252 | - heart_eyes 253 | - hushed 254 | - innocent 255 | - joy 256 | - kissing 257 | - kissing_heart 258 | - no_mouth 259 | - open_mouth 260 | - pensive 261 | - poop 262 | - rage 263 | - rofl 264 | - sleeping 265 | - slight_smile 266 | - smiley 267 | - smirk 268 | - sob 269 | - stuck_out_tongue 270 | - stuck_out_tongue_closed_eyes 271 | - stuck_out_tongue_winking_eye 272 | - sunglasses 273 | - sweat 274 | - wink 275 | - yum 276 | - zipper_mouth 277 | -------------------------------------------------------------------------------- /src/gfx/emojis/arrow_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/arrow_down.png -------------------------------------------------------------------------------- /src/gfx/emojis/arrow_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/arrow_left.png -------------------------------------------------------------------------------- /src/gfx/emojis/arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/arrow_right.png -------------------------------------------------------------------------------- /src/gfx/emojis/arrow_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/arrow_up.png -------------------------------------------------------------------------------- /src/gfx/emojis/blush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/blush.png -------------------------------------------------------------------------------- /src/gfx/emojis/cry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/cry.png -------------------------------------------------------------------------------- /src/gfx/emojis/dark_sunglasses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/dark_sunglasses.png -------------------------------------------------------------------------------- /src/gfx/emojis/dizzy_face.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/dizzy_face.png -------------------------------------------------------------------------------- /src/gfx/emojis/eyeglasses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/eyeglasses.png -------------------------------------------------------------------------------- /src/gfx/emojis/eyes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/eyes.png -------------------------------------------------------------------------------- /src/gfx/emojis/flushed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/flushed.png -------------------------------------------------------------------------------- /src/gfx/emojis/frowning2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/frowning2.png -------------------------------------------------------------------------------- /src/gfx/emojis/grimacing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/grimacing.png -------------------------------------------------------------------------------- /src/gfx/emojis/grin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/grin.png -------------------------------------------------------------------------------- /src/gfx/emojis/grinning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/grinning.png -------------------------------------------------------------------------------- /src/gfx/emojis/heart_eyes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/heart_eyes.png -------------------------------------------------------------------------------- /src/gfx/emojis/hushed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/hushed.png -------------------------------------------------------------------------------- /src/gfx/emojis/innocent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/innocent.png -------------------------------------------------------------------------------- /src/gfx/emojis/joy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/joy.png -------------------------------------------------------------------------------- /src/gfx/emojis/kissing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/kissing.png -------------------------------------------------------------------------------- /src/gfx/emojis/kissing_heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/kissing_heart.png -------------------------------------------------------------------------------- /src/gfx/emojis/no_mouth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/no_mouth.png -------------------------------------------------------------------------------- /src/gfx/emojis/open_mouth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/open_mouth.png -------------------------------------------------------------------------------- /src/gfx/emojis/pensive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/pensive.png -------------------------------------------------------------------------------- /src/gfx/emojis/poop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/poop.png -------------------------------------------------------------------------------- /src/gfx/emojis/rage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/rage.png -------------------------------------------------------------------------------- /src/gfx/emojis/rofl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/rofl.png -------------------------------------------------------------------------------- /src/gfx/emojis/sleeping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/sleeping.png -------------------------------------------------------------------------------- /src/gfx/emojis/slight_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/slight_smile.png -------------------------------------------------------------------------------- /src/gfx/emojis/smiley.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/smiley.png -------------------------------------------------------------------------------- /src/gfx/emojis/smirk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/smirk.png -------------------------------------------------------------------------------- /src/gfx/emojis/sob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/sob.png -------------------------------------------------------------------------------- /src/gfx/emojis/stuck_out_tongue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/stuck_out_tongue.png -------------------------------------------------------------------------------- /src/gfx/emojis/stuck_out_tongue_closed_eyes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/stuck_out_tongue_closed_eyes.png -------------------------------------------------------------------------------- /src/gfx/emojis/stuck_out_tongue_winking_eye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/stuck_out_tongue_winking_eye.png -------------------------------------------------------------------------------- /src/gfx/emojis/sunglasses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/sunglasses.png -------------------------------------------------------------------------------- /src/gfx/emojis/sweat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/sweat.png -------------------------------------------------------------------------------- /src/gfx/emojis/wink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/wink.png -------------------------------------------------------------------------------- /src/gfx/emojis/yum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/yum.png -------------------------------------------------------------------------------- /src/gfx/emojis/zipper_mouth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/emojis/zipper_mouth.png -------------------------------------------------------------------------------- /src/gfx/misc/keyboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alessiodam/OLD-netchatclient/c3702e0d3aee74700820123393599f6489e9ef9a/src/gfx/misc/keyboard.png -------------------------------------------------------------------------------- /src/main.c: -------------------------------------------------------------------------------- 1 | /* CODE IN REWRITE */ 2 | /* 3 | *-------------------------------------- 4 | * Program Name: TINET Chat 5 | * Author: TKB Studios 6 | * License: Apache License 2.0 7 | * Description: Allows the user to chat on TINET! 8 | *-------------------------------------- 9 | */ 10 | 11 | /* When contributing, please add your username in the list here with what you made/edited */ 12 | /* 13 | * Powerbyte7 - kb_Update 14 | */ 15 | 16 | /* 17 | * Dear programmer, 18 | * when I wrote this code, only God and I 19 | * knew how it worked. 20 | * Now, only God knows it! 21 | * 22 | * Therefore, if you are trying to optimize 23 | * this code and it fails (most surely), 24 | * please increase this counter as 25 | * a warning for the next person: 26 | * 27 | * Total hours wasted here = 7 hours. 28 | */ 29 | 30 | // TODO: refactor this to use lwip-ce 31 | // TODO: let the user select the NETCHAT server. 32 | // TODO: ALWAYS show the default one (netchat.tkbstudios.com:2052) 33 | 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | 40 | #include "tice.h" 41 | #include "tinet-lib/tinet.h" 42 | #include "utils/textutils/textutils.h" 43 | #include "asm/scroll.h" 44 | 45 | #define MAX_CHAT_MESSAGES 50 46 | #define MESSAGE_Y_POS 180 47 | 48 | // tinet needed vars 49 | bool init_success = false; 50 | 51 | // key things 52 | uint8_t previous_kb_Data[8]; 53 | uint8_t debounce_delay = 10; 54 | 55 | // serial things 56 | char in_buffer[512]; 57 | 58 | // chat variables 59 | typedef struct { 60 | char recipient[19]; 61 | char timestamp[20]; 62 | char username[19]; 63 | char message[201]; 64 | } ChatMessage; 65 | 66 | ChatMessage messageList[MAX_CHAT_MESSAGES]; 67 | int messageCount = 0; 68 | 69 | char recipient[19]; 70 | char message[201]; 71 | 72 | /* UI vars */ 73 | typedef struct 74 | { 75 | const char *string; 76 | } StringList; 77 | 78 | StringList recipients[] = { 79 | {"global"}, 80 | {"tkbstudios"}, 81 | {"Log4Jake"}, 82 | }; 83 | 84 | /* Updates kb_Data and keeps track of previous keypresses, returns true if changes were detected */ 85 | bool kb_Update() 86 | { 87 | // Update previous input state 88 | for (uint8_t i = 0; i <= 7; i++) 89 | { 90 | previous_kb_Data[i] = kb_Data[i]; 91 | } 92 | 93 | kb_Scan(); 94 | 95 | // Determine whether input has changed 96 | for (uint8_t i = 0; i <= 7; i++) 97 | { 98 | if (previous_kb_Data[i] != kb_Data[i]) 99 | { 100 | return true; 101 | } 102 | } 103 | 104 | return false; 105 | } 106 | 107 | void processNewChatMessage() { 108 | char *pieces[4]; 109 | // Ignore "RTC_CHAT:" 110 | strtok(in_buffer, ":"); 111 | 112 | // Split the string into 4 pieces 113 | for (int i = 0; i < 4; i++) { 114 | char* token = strtok(NULL, ":"); 115 | if (token != NULL) { 116 | pieces[i] = token; 117 | } else { 118 | printf("Invalid message string!.\n"); 119 | } 120 | } 121 | 122 | ChatMessage new_message; 123 | 124 | strncpy(new_message.recipient, pieces[0], sizeof(new_message.recipient) - 1); 125 | strncpy(new_message.timestamp, pieces[1], sizeof(new_message.timestamp) - 1); 126 | strncpy(new_message.username, pieces[2], sizeof(new_message.username) - 1); 127 | strncpy(new_message.message, pieces[3], sizeof(new_message.message) - 1); 128 | 129 | messageList[messageCount] = new_message; 130 | messageCount++; 131 | 132 | // 15 is topbar, 35 is textbox (30) + safety value to prevent scrolling up the textbox 133 | scrollUp(0, 15, GFX_LCD_WIDTH, GFX_LCD_HEIGHT - 15 - 35, 10); 134 | gfx_SetTextFGColor(25); 135 | gfx_PrintStringXY(new_message.username, 10, MESSAGE_Y_POS); 136 | gfx_SetTextFGColor(0); 137 | gfx_PrintStringXY(": ", 10 + gfx_GetStringWidth(new_message.username), MESSAGE_Y_POS); 138 | gfx_PrintStringXY( 139 | new_message.message, 140 | 10 + gfx_GetStringWidth(new_message.username) + gfx_GetStringWidth(": "), 141 | MESSAGE_Y_POS 142 | ); 143 | } 144 | 145 | void updateCaseText(bool isUppercase) 146 | { 147 | char *boxText = isUppercase ? "UC" : "lc"; 148 | gfx_SetColor(255); 149 | gfx_SetTextFGColor(0); 150 | gfx_FillRectangle(GFX_LCD_WIDTH - gfx_GetStringWidth("UC") - 5, 15, gfx_GetStringWidth("UC") + 5, 14); 151 | gfx_PrintStringXY(boxText, GFX_LCD_WIDTH - gfx_GetStringWidth("UC") - 5, 19); 152 | } 153 | 154 | void drawHeader() { 155 | gfx_PrintStringXY("NETCHAT", 2, 2); 156 | gfx_PrintStringXY("Made with TINET", GFX_LCD_WIDTH - gfx_GetStringWidth("Made with TINET") - 2, 2); 157 | gfx_PrintStringXY(recipient, ((GFX_LCD_WIDTH / 2) - gfx_GetStringWidth(recipient)), 2); 158 | gfx_SetColor(0); 159 | gfx_HorizLine(0, 15, GFX_LCD_WIDTH); 160 | gfx_SetColor(255); 161 | } 162 | 163 | void chatScreen() { 164 | gfx_FillScreen(255); 165 | drawHeader(); 166 | bool isUppercase = false; 167 | updateCaseText(isUppercase); 168 | do { 169 | kb_Update(); 170 | if (kb_Data[6] == kb_Clear) {break;} 171 | if (kb_Data[6] == kb_Enter) { 172 | msleep(100); 173 | // TODO: prompt for a recipient and message 174 | // TODO: actually send the message 175 | message[0] = '\0'; 176 | msleep(100); 177 | } 178 | if (kb_Data[2] == kb_Alpha) { 179 | isUppercase = !isUppercase; 180 | updateCaseText(isUppercase); 181 | msleep(100); 182 | } 183 | // TODO: fetch messages and display them. 184 | /* 185 | if (read_return > 0) { 186 | if (StartsWith(in_buffer, "RTC_CHAT:")) { 187 | processNewChatMessage(); 188 | } 189 | } else if (read_return < 0) { 190 | printf("read err\n"); 191 | } 192 | */ 193 | } while (true); 194 | } 195 | 196 | int main() { 197 | os_ClrHome(); 198 | 199 | /* Setting up screen */ 200 | gfx_Begin(); 201 | gfx_SetColor(255); 202 | gfx_SetTextFGColor(0); 203 | gfx_FillScreen(255); 204 | 205 | drawHeader(); 206 | 207 | int setup_log_y_pos = 20; 208 | 209 | const TINET_ReturnCode tinet_init_success = tinet_init(); 210 | switch (tinet_init_success) { 211 | case TINET_SUCCESS: 212 | gfx_PrintStringXY("Init success", 10, setup_log_y_pos); 213 | setup_log_y_pos += 10; 214 | const char* username = tinet_get_username(); 215 | gfx_PrintStringXY("Username: ", 10, setup_log_y_pos); 216 | gfx_PrintStringXY(username, 10 + gfx_GetStringWidth("Username: "), setup_log_y_pos); 217 | setup_log_y_pos += 10; 218 | init_success = true; 219 | break; 220 | case TINET_NO_KEYFILE: 221 | gfx_PrintStringXY("No keyfile!", 10, setup_log_y_pos); 222 | setup_log_y_pos += 10; 223 | break; 224 | case TINET_INVALID_KEYFILE: 225 | gfx_PrintStringXY("Invalid keyfile!", 10, setup_log_y_pos); 226 | setup_log_y_pos += 10; 227 | break; 228 | default: 229 | gfx_PrintStringXY("init case not implemented!", 10, setup_log_y_pos); 230 | setup_log_y_pos += 10; 231 | break; 232 | } 233 | if (init_success) { 234 | if (true) { 235 | gfx_PrintStringXY("Logging in...", 10, setup_log_y_pos); 236 | setup_log_y_pos += 10; 237 | TINET_ReturnCode login_success = tinet_login(10); 238 | switch (login_success) { 239 | case TINET_SUCCESS: 240 | gfx_PrintStringXY("Logged in!", 10, setup_log_y_pos); 241 | setup_log_y_pos += 10; 242 | break; 243 | default: 244 | gfx_PrintStringXY("Unhandled login case.", 10, setup_log_y_pos); 245 | setup_log_y_pos += 10; 246 | break; 247 | } 248 | msleep(500); 249 | if (login_success != TINET_SUCCESS) {return 1;} 250 | 251 | gfx_FillScreen(255); 252 | drawHeader(); 253 | 254 | do { 255 | recipient[0] = '\0'; 256 | gfx_FillScreen(255); 257 | drawHeader(); 258 | gfx_PrintStringXY("select recipient", ((GFX_LCD_WIDTH / 2) - gfx_GetStringWidth("select recipient")), 2); 259 | int y_position = 30; 260 | gfx_SetColor(10); 261 | for (int i = 0; i < (int)(sizeof recipients); i++) { 262 | gfx_FillRectangle(50, y_position, gfx_GetStringWidth(recipients[i].string) + 2, 12); 263 | gfx_PrintStringXY(recipients[i].string, 52, y_position + 1); 264 | y_position += 15; 265 | } 266 | gfx_SetColor(255); 267 | do { 268 | kb_Update(); 269 | if (kb_Data[6] == kb_Enter) { 270 | strncpy(recipient, "global", sizeof(recipient)); 271 | recipient[sizeof(recipient) - 1] = '\0'; 272 | chatScreen(); 273 | } 274 | } while (kb_Data[6] != kb_Clear); 275 | break; 276 | } while (true); 277 | } 278 | } 279 | 280 | gfx_ZeroScreen(); 281 | gfx_SetTextScale(2, 2); 282 | gfx_PrintStringXY("EXITING..", GFX_LCD_WIDTH / 2 - gfx_GetStringWidth("EXITING.."), GFX_LCD_HEIGHT / 2); 283 | 284 | usb_Cleanup(); 285 | gfx_End(); 286 | return 0; 287 | } 288 | -------------------------------------------------------------------------------- /src/utils/textutils/textutils.c: -------------------------------------------------------------------------------- 1 | #include "textutils.h" 2 | #include 3 | 4 | // THIS WAS TAKEN FROM TIny_Hacker with permission! 5 | unsigned int spaceSearch(const char *string, const unsigned int start) { 6 | for (int k = start; k >= 0; k--) { 7 | if (string[k] == ' ') { 8 | return k + 1; 9 | } 10 | } 11 | 12 | return start; 13 | } 14 | 15 | bool StartsWith(const char *a, const char *b) 16 | { 17 | if(strncmp(a, b, strlen(b)) == 0) return true; 18 | return false; 19 | } 20 | -------------------------------------------------------------------------------- /src/utils/textutils/textutils.h: -------------------------------------------------------------------------------- 1 | /** 2 | * -------------------------------------- 3 | * 4 | * TINET source code - TEXTUTILS.H 5 | * By TKB Studios 6 | * Copyright 2022 - 2023 7 | * License: GPL-3.0 8 | * 9 | * -------------------------------------- 10 | **/ 11 | // some utils were taken from other people and will also be mentioned 12 | 13 | #ifndef TEXTUTILS_H 14 | #define TEXTUTILS_H 15 | 16 | #ifdef __cplusplus 17 | extern "C" { 18 | #endif 19 | #include 20 | 21 | /* 22 | Search for a space in a char buffer 23 | @param string: (const char) string to search the space position in. 24 | @param start: start at that string position 25 | */ 26 | unsigned int spaceSearch(const char *string, const unsigned int start); 27 | 28 | /* 29 | Check if char a starts with char b 30 | @param a: (const char) string to search the string b position in. 31 | @param start: start at that string position. 32 | @returns bool value. 33 | */ 34 | bool StartsWith(const char *a, const char *b); 35 | 36 | #ifdef __cplusplus 37 | } 38 | #endif 39 | #endif -------------------------------------------------------------------------------- /src/utils/ui/shapes.c: -------------------------------------------------------------------------------- 1 | /** 2 | * -------------------------------------- 3 | * 4 | * CEaShell Source Code - shapes.c 5 | * By RoccoLox Programs and TIny_Hacker 6 | * Copyright 2022 - 2023 7 | * License: GPL-3.0 8 | * 9 | * -------------------------------------- 10 | **/ 11 | // TKB Studios asked for permission to use this code snippet and was allowed by RoccoLox Programs. 12 | 13 | #include "shapes.h" 14 | 15 | #include 16 | 17 | void shapes_RoundRectangleFill(const uint8_t color, const uint8_t radius, const int width, const uint8_t height, const int x, const uint8_t y) { 18 | gfx_SetColor(color); 19 | gfx_FillCircle_NoClip(x + radius, y + radius, radius); 20 | gfx_FillCircle_NoClip(x + radius, y + height - radius - 1, radius); 21 | gfx_FillCircle_NoClip(x + width - radius - 1, y + radius, radius); 22 | gfx_FillCircle_NoClip(x + width - radius - 1, y + height - radius - 1, radius); 23 | gfx_FillRectangle_NoClip(x, y + radius, width, height - radius * 2); 24 | gfx_FillRectangle_NoClip(x + radius, y, width - radius * 2, height); 25 | } -------------------------------------------------------------------------------- /src/utils/ui/shapes.h: -------------------------------------------------------------------------------- 1 | /** 2 | * -------------------------------------- 3 | * 4 | * CEaShell Source Code - shapes.h 5 | * By RoccoLox Programs and TIny_Hacker 6 | * Copyright 2022 - 2023 7 | * License: GPL-3.0 8 | * 9 | * -------------------------------------- 10 | **/ 11 | // TKB Studios asked for permission to use this code snippet and was allowed by RoccoLox Programs. 12 | 13 | #ifndef SHAPES_H 14 | #define SHAPES_H 15 | 16 | #include 17 | #include 18 | #include 19 | 20 | #ifdef __cplusplus 21 | extern "C" { 22 | #endif 23 | 24 | void shapes_RoundRectangleFill(const uint8_t color, const uint8_t radius, const int width, const uint8_t height, const int x, const uint8_t y); 25 | 26 | #ifdef __cplusplus 27 | } 28 | #endif 29 | #endif --------------------------------------------------------------------------------