Skip to content

RSA000/New3DSLibrary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 

Repository files navigation

(New) Online Library for 3DS

  • A live hosting of the site can be found here

Features Include :

  • GUI compatibility for desktop and 3DS systems
  • Dual screen compatibility:
    • Reading page can be top, bottom, or both screens.
    • Menus are on the bottom screen while the top screen displays additional information.
  • Touchless navigation:
    • A - Select.
    • B - Navigate to previous page.
    • D-pad - Navigate elements and flip/scroll on read page.
  • Public Domain literature.
  • Bookmarking (Page number and book are saved as cookies).
  • Page Indexing.
  • Font size settings.
  • Themes.
  • Feedback forms.

JavaScript Libraries.

  • jQuery 4.0.0

Changes

0.0.0
* Updated README From original
* Adjusted Resolutions slightly (400x220 -> 400x215) top screen.
* Updated photos.
* Updated JavaScript to display .jpg instead of .mpo.
    * NOTE - Should be capable of both.
        * I copy-pasted the code and changed it back to .mpo. This works, but is sloppy.
* Updated lower menu to be a vertical scrollable menu instead of grid system.
* Updated HTML meta to include "initial-scale=1". This ensures that the screen
  loads at the correct scale. 
* Updated JavaScript to include comments. 
* Added "Texts" files to store utf-8 formatted books from project 
  Gutenberg.org. An example text of 
  "Ten Days in the Madhouse"
  by Nelly Bly as a future sample text. 

0.0.1

* Updated README to include verbose control descriptions.
* Included site design pdf to demos folder and placed early demos in their own seperate folder.

0.0.2 

* Updated README.
* Updated and added comments to JavaScript code.
* Tweaked CSS.
* Updated HTML class names ("top" --> "upperScreen", "bottom" --> "lowerScreen")
* Added new credit, wolfyxon.

0.1.0

* Home page is functioning, is centered, doesn't zoom, and the upper and lower screens have appropriate margins.
* Most changes invloved general tweaking to the css and JavaScript format. 
* The main menu selection scroll-menu elements each have an additional "description" 
  attribute the points to a 
  picture with the site description; 
  this is used to display a description of the currently selected menu option. Currently,
  only the library has a corresponding information sheet that simply
  says "Text" in the centre.

0.2.0

* Home menu was tweaked to have more exact proportions.
* HTML adjusted so lower screen scrollable menu is nested in bottom div.
* Redundant JavaScript was removed.
* Cleaner CSS.
* Scrollable menu functions completely.
* Verbose commenting added to main menu HTML. 

0.3.0

* All main menu site links now navigate to a page except for the Bookmark 
  option, which will be added later.
* Site background image added. The new structure was designed to be updated and 
  changed easily. 
* Major tweaks to general CSS and HTML structure. 
  This included nesting some dividers and elements, such as the upper screen text.
* Javascript code implemented for displaying title and description of each menu link.
* File structure updated according to GeeksforGeeks best practices tutorial.
* Added new credits for art assets
* CSS file for "about.html" is created for custom elements.

0.3.1

* Updated README; reduced line length of some entries and clarified some entries.

0.3.2

* Updated READ; removed redundant elements and reduced README entry line lengths again.

0.4.0

* Updated Javascript to change display depending of whether user accessed 
  site via a desktop browser or 3DS system.
* Updated HTML and CSS styles.

0.5.0

* Added functionality to contacts page form.
* Added limited functionality to reading page.
  * Currently, 5000 words are buffered from text before they are 
    inserted into a single paragraph.
  * Future updates will include finer granularity for formatting text when 
    buffering and displaying.
    (For example, starting a new paragraph tag to fille when an empty line is parsed, detecting titles, etc...). 
* Updated credits page.
* Overall major changes where implementing Javascript functionalities to contacts and reading.
  * Note - adding a functioning, free, contact form was surprisingly easy.
  * Note - Formatting text was difficult, especially because I had to discover the 3DS browser 
           does not support fetch() through trial and error
           and required some digging into XMLHTTPRequests to
           accomodate this limitation. 
           
0.6.0

Overview of Update:

* Full functionality for reading text.
* Menu UI improvements.
* Improved commenting and layout of code. 


* Updated Javascript file structure: Common functionalities used across all 
  pages are placed in "common.js." Similarly, the "read.js" provides 
  functionalities specific to the "read.html" page, and the "menu.js" provides
  functionality for any menu-type pages; previous Javascript file have been removed.

* Javascript syntax and  has been significantly improved; several redundant elements and
functions where removed, scoping problems addressed. Several sections were started from
code snippets taken from wolfyxon's 3ds-web-stuff (labeled in comments) and required some research/trial and error to properly modify for this sites purposes. Some functionalities include:
        
        * A function for canceling default event actions that occur with button presses.
          * This was especially useful in stopping the screen from "shaking" where pressing the 
            D-Pad would attempt to scroll the screen if no elements could be focused on, causing a
            small amount of moving before being reset by the "center" function interval. 
        
        * A function for setting a different action when a button is pressed. 
        
        * A function for detecting if a user is accessing site from 3DS system. 
        
        * A function for adding a warning for non-3DS compatible site links (not implemented yet).
        
* The functionality for the reading page has improved significantly with:
        
        * Better formatted text.
        
        * Better text size for each "page"
        
        * Ability to scroll via up and down D-Pad buttons.
        
        * Ability to change page with left and right D-Pad buttons.
        

* NOTES - Things I learned about the 3DS browser at this stage:
  * The "let" keyword for block-scoped variables is not available on 3DS systems.
  * How callbacks in Javascript can be used for sequence control for ansynchronous events.
    (This was important for requesting a text file via XMLHTTPRequests.)
  * Scoping in Javascript.

  
0.7.0

Overview of update:

  * File structure changes. (including removing redundant files and folders from this repo due to bad merging practices)
  * Cookie implmentations for current book page saving and theme setting.
  * Added books and images (mostly from Canadian Project Gutenberg).
  * Added additional credits.
  * Themes implemented and added (themes can now be changed in settings).
  * Improved formatting for reading (using .html files instead of .txt), photos are now available for texts.
  * CSV file system implemented for populating book catalogue.
  * general improvements to HTML, CSS and Javascript.

At this point I see myself only needing to implement a few tweaks before the site is fully functioning:
  
  * Heading and subtitle tweaks (place-holders, empty scenarios)
  * Make theme buttons selectable via d-pad on 3DS.
  * Arrange CSV by alphabetical order and add better descriptions/titles.
  * Add a table (potentially a credits table for specific Pixabay contributers).
  
0.7.1

Overview of update:

  * Updated commenting for all Javascript files.
  * Added unit 4 Javascript proposal pdf.
  * Removed some literature and left one example book (all books are
    still available on testing site).
    
    
0.8.0

Overview of update:

  * Updated JavaScript. menu.js and settings.js removed; script functionalities 
    transferred to common.js
  * New Script structure removes redundancies.
  * Functionalities for button selection needed to be redone.
  * Functionalities for overiding default controls implemented for read.js and 
    gallery.js.
  * The first stage of development is completed, next updated will see additional
    features implemented.
    
    
0.8.5

Update Overview

  * Applied new functions for page indexing, screen view changing, and font size settings.
  * Updated CSV catalogue for books catalogue.
  * CSS changes and updates. 
  
  
0.9.0

Update Overview

  * Updated README. 
  * Updated CSS structure:
      * Base CSS for desktop and DS systems created.
      * Updated JavaScript to updated base CSS file instead of changing attributes in codes.
  * Implemented JQuery library across all JavaScript files. All code significantly refactored:
      * Plans can be found in Unit_6 documentation.
  * Updated catalogue to use JSON instead of CSV file.
  * Updated getText to "get" function that takes arguement specifying datatype to increase utility.
  * Overloaded Strings default "includes" method using Wolfyxon's fix. 


1.0.0!

Update Overview:
  
  * Updated several JavaScript, CSS, and HTMl elements.
    * "get" function has been changed to 3DSFetch to avoid confusion.
    * Additional credits added to site and README. 

Credits

About

A repo for a new online 3DS Library

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages