Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bbbbbr/gbdk_dictionary
A simple GBDK / C based dictionary lookup for validating words with banking support
https://github.com/bbbbbr/gbdk_dictionary
dictionary gameboy gbdk gbstudio
Last synced: about 1 month ago
JSON representation
A simple GBDK / C based dictionary lookup for validating words with banking support
- Host: GitHub
- URL: https://github.com/bbbbbr/gbdk_dictionary
- Owner: bbbbbr
- License: unlicense
- Created: 2024-08-12T09:23:44.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-09T07:27:18.000Z (4 months ago)
- Last Synced: 2024-09-09T09:07:27.971Z (4 months ago)
- Topics: dictionary, gameboy, gbdk, gbstudio
- Language: C
- Homepage:
- Size: 896 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
A simple dictionary word validator for use with GBDK / ZGB / GBStudio which supports ROM banking.
At present it's a quick and simple implementation with support for words 3-6 letters long.
While not as fast and size efficient as the [GB-wordyl](https://github.com/bbbbbr/gb-wordyl)
dictionary, it's far less complicated and should be easier to understand, modify and use in other projects.There is lookup function code duplication in the banked sources as a result of trying to use as little
Bank 0 space as possible, since that space is sometimes in short very supply in GBStudio projects using
plugins.### Usage in a Game
The dictionary was originally built for use in [Word Forward](https://thalamusdigital.itch.io/word-forward-game-boy) by [Shane McCafferty / EGVroom](https://x.com/EGVroom).Screenshot courtesy of the Game's itch io page.
### GB Studio example project
[Shane McCafferty / EGVroom](https://x.com/EGVroom) provided an example GBStudio project (under [GBStudioLookUpDemo](GBStudioLookUpDemo) showing how to interface with and use the dictionary. A pre-built example ROM is included in the project under [GBStudioLookUpDemo/build/rom](GBStudioLookUpDemo/build/rom).In this project there are variables $Selection1 .. $Selection6 which store numbers (1-26) representing alphabet letters (a-z).
### Plugin
[Pautomas](https://github.com/pau-tomas) packaged the dictionary as a plugin so it's easier to integrate with GBStudio:
[GBStudioLookUpDemo/plugins/Dictionary](GBStudioLookUpDemo/plugins/Dictionary)Use the `If is valid word` event to check a word. It calls `isThisAWord()` in [native_testfunc.c](GBStudioLookUpDemo/plugins/Dictionary/engine/src/data/native_testfunc.c)
To install the plugin copy the contents of the [plugins directory](GBStudioLookUpDemo/plugins) to the plugins top level folder in your GBStudio project.
### License
All code is released under the Unlicense into the public domain, this includes the dictionary and the example GBStudio project.If used in a project attirbution is welcome but not required.
### Size
The whole thing takes about 9 ROM banks.There is a matching test dictionary for validation in the example program which takes ~12 ROM banks. The test data is not meant to be included in user programs.
### Copying dictionary source files
If the dictionary source files are changed then the updated ones can be copied from the [src/data/](src/data/) directory into the GBStudio `plugins/Dictionary/engine/src/data/` directory.