(Formerly Z3D) This is a simple toolkit that adds a easy to use functions that simplify certain tasks. It can even do MODE 7 stuff! (Thanks to Trinitro21 for the original basecode) This makes it easier to learn and use for newcomers and speeds up time spent coding. Originally, I made this toolkit mostly for my own use but decided it would make some sense to make it available here with extensive documentation and extra bits to make everything nice and user friendly.
I try not to change formatting and syntax where I can help it. This means that for the most part, updating the version of eZSB you use is as simple as replacing the file. Update logs will generally list any changes if at all. Once this project is past v1.0, future updates will use a disambiguation for most changes.
CURRENT FEATURES:
- MODE 7 support
- Ability to scale sprites and change the 3D perspective (the 3DS 3D effect) at the same time (smoothly)
- Typing/Speaking Text Effect (for NPC text and other such things)
- Pause feature + optional reset while paused
- Create 2 color bars (specifically health bars) to represent a percent out of 100
- Parse the Time and Date (EX: DAY() returns the current day as an integer)
- Real time updating clock
- Text Effects with real time updating(color and depth)
- Convert fractions into percents (for use with bars or to display a number for the user)
- And MORE!
PLANNED FEATURES:
- More MODE 7 features
- Background Scaling
- Sprite Transparency Controller
- Sprite Animation Controller
- Credit Sequence (for easily adding credits into your game)
- Title Screen (for quick implementation of a title screen)
- More Graphic Scaling
- Basic Wireless Multiplayer Support
- Sprite Rotation
- Sprite Trail (to leave an imprint/copy of a sprite that fades out, appearance of fast movement)
- Probably More
PLANNED FOR v0.7
- MODE7 (Full Sprite Support, faster render times, improved audio displacement, proper working shadows, lower screen support, functioning pause button for the mode)
- Sprite Scaler based on Y position
- 2D (top-down)maps with no bounding limit
- Other Surprises
KNOWN BUGS (in v0.693)
-Sprite Position Scaling is still broken
-MODE7 lags near map edges
-Empty space on MODE7 maps render slowly
Instructions:
Simply copy and paste the initialization code at the top of your program and that's it, you installed it!
Initialization Code (found at top of Demo file and commented at top of Kit file):
LOAD"PRG1:EZSB.KIT",FALSE
USE 1
GOSUB "1:@BOOTEZSB"
'eZSB always sets XSCREEN 2 on boot, change it here
For instructions of use for each function, read the comments at the top of the EZSB.KIT file. If you wish to see an example of some of the functions, check out the included demo file EZSBDEMO. There is also a second demo that mainly shows off MODE7 called EZSBDEMO2.
For an example of a game made using eZSB, see PONG 3D
http://smilebasicsource.com/page?pid=303
ZID is a special ID provided for use with some eZSB functions/objects. ID ranges from 0-99.
ZID is subject to be reworked in the near future. This should not greatly effect most projects but will change how they run internally
Notes:
Created by Richard Gordonson (AKA MYCRAFTisbest)
CHANGELOG:
0.693:
Fixed a Major oversight in sprite and sound positioning
Improved the sprite positioning
Added sound panning (one speaker louder than the other based on the location of the sound source to the camera)
Improved speed slightly
Changed syntax for MODE7 (not yet updated in the documentation, sorry :()
(03/18/2016)
0.691:
Improved MODE7 render speeds by nearly double
Added partial implementation of positioned sprites
Running EZSB.KIT as a standalone now loads a program telling you how to load it properly
New 3DS now draws frames before displaying them (nicer look, Original 3DS does not do this)
Experimental bottom screen support added
Changed M7SET syntax
Fixed a bug in the PAUSE function
Updated documentation (located in comments of EZSB.KIT)
Other minor changes and improvements to better user experience
(03/04/2016)
0.69:
Improved MODE7 Render Speeds on New 3DS
Added Multi-GRP Map Stitching for Endless Worlds
Added Proper Original 3DS Support and Locked Some HD Options
Drew Some Awful Map Tilles
(02/23/2016)
0.689:
Added first implementation of MODE 7 (Thanks to Trinitro21 for base code)
Added new demo to demo MODE 7 (EZSBDEMO2)
Minor bug fixing and improved user experience
(02/19/2016)
0.686:
Maintains full compatibility with 0.684, just update the KIT file, no other changes required
Splashscreen can now be skipped by pressing any button while it is running (by request)
Fixed a bug in Pause Function that prevented the Reset from working
Added missing documentation for ZBAR and ZPCT
(02/15/2016)
0.684:
Added Pause Function
Added way to retrieve DIR
Changed the Syntax for ZSPSM (just the default one)
Bugfixes
(02/14/2016)
0.68:
Added Text Typing/Speaking Effect
Added Demo Dialog to show Text Typing/Speaking Effect
Added more Colors to ZBAR for a total of 15 (Plus all RGB colors)
(02/10/2016)
0.65:
Renamed from Z3D to eZSB
Added Time and Date Functions
Added Bar (Health) Function
Added Percent Functions
Added more Sprite Functions
Improved Existing Functions
Bug Fixes and Minor Improvements
Improved Documentation in Comments
(02/09/2016)
0.50:
Added ZIDs.
Added ZIDDEL.
Added ZDIR.
Added ZTXTS for a text shake effect.
Added ZTXTW for a text color/z depth wave.
Replaced Z3DRTS(A,B) with ZSPSM(A,B).
Split into two files, Z3D.KIT and Z3DDEMO.
Hardcoded spashscreen into KIT file (You may remove it if you want)
Bugfixes & Improvements.
(02/06/16)
0.31: Added Z3DRTSB call for simplest implementation. Added more scale features ((X)(Y)EXP, ZMIN, ZMAX). Removed Frame Option, please add your own VSYNC. Added data printout on bottom screen of demo. Added another sprite being scalled with Z3DRTSA (controllable one uses Z3DRTSB) (02/03/16)
0.25: Added function calls. Z3DRTS and Z3DRTSA (02/03/16)
0.10: RELEASE (02/02/16)