the library will not be restricted to program functions, it will also contain usefull math functions that programs and the user will be able to acess (via the keyboard). those who do not think they can contribute a program can aid the cause by creating such a function.
here are the rules of the library:
the library is:
- A collection of usefull programs and functions made to expidite and aid the creation of BASIC programs.
- A self contained environment relying on no outside data.
- A reliable developement tool.
- Backwards compatible to previous versions and has all the previous versions archived for refrence and use.
- An open source community project.
the programs in the library shall be:
- bug free or as bug free as possible.
- available for editing to anyone wishing to do so.
- documented in english.
- approved by the project leader (me).
- quality programming.
- fast and efficient as possible.
- dependant on no programs or variables other than those found in the library (ex: printl uses printf).
- able to return values in one of two ways: by including in the prameter list a string of the variable to store the value in, or by storing the value in the global variable RTN, the method used shall be specified in the documentation.
- documented using the required header and in the standard library documentation.
- a self contained environment using no global variables, with the exception of those defined in the library (ex: RTN).
the functions in the library shall be:
- commonly used and usefull math functions.
- documented in english
- approved by the project leader (me).
- dependant on no programs or variables other than those found in the library. (i dont think this is a problem)
the required header for a program in the library is:
'program name 'standard BASIC library 'Version: #.## 'brief explenation 'return type: PRAM/RTN/NONE 'Parameters: 'pram 1-... 'pram n-...so the header for printf will be:
'printf 'standard BASIC library 'Version: 1.02 'prints a formatted string; _ creates a line break, [P] creates a new page with pause for keypress. 'Return type: NONE 'Parameters: 'str- a string to be displayed with formatting.
greater documentation must be included in the form of a post in this topic, the info from that post will be included in a text file included in the DEV version of the stdlib that will include documentation of all the libraries functions. this document will not be included in release versions of the library in order to save space, however it will be available on my web site.
Rules of submission:
Anyone wishing to submit a program for the library must either send me their program or post a link to in this topic. the program must be uncompressed and within the guidelines of the library to be accepted.
Any program that already exists in the library that anyone feels can be made better can be resubmitted by anyone (not just the original author) and if the new version proves better then it will replace the previous version in the next release of the library.
Some benifits of the library:
the library will allow us to combine our programming abilities and spread the capabilities of the most talented or experianced programmers down to the newer programmers, it will provide a way to make extensive and complicated programs without having to remake things others have already perfected. Due to the nature of the library folder old programs will not stop working as the library is expanded and changed, if a old program no longer works with the current version of the manager then the programmer (or anyone) can simply include the old version of what ever function they need in the folder their game is in, this will over ride the library and use the appropriate function, no changes to the programming will be required. this same tchnique will work if someone wants to alter a function of the library to better suit their program, they simply put their version in their folder and they (and people using their program) can use the library as normal, but the one function will be used diffrently for that program.
Programmers:
- CrimsonCasio
- Overlord
- Bitwhise
- XF007
- Nanard
Programs:
- printf
- printl
- waitkey
- waitpen
- isdef
- require
- retrn
- textf
- error
- polyline
- checkver
- tmenu
- lcmp
(others in various states of compleation)
Functions:
- round
- penx
- peny
Global Variables:
Misc:
- RTN
Keycodes:
- kKEYB
- kON
- kBACK
- kCLR
- kUP
- kLEFT
- kDOWN
- kRIGHT
- kEQUAL
- kX
- kY
- kZ
- kPWR
- kDEVIDE
- k0
- k1
- k2
- k3
- k4
- k5
- k6
- k7
- k8
- k9
- kLPREN
- kTIMES
- kRPREN
- kMINUS
- kCOMMA
- kPLUS
- kPERIOD
- kEXP
- kEXE
to submit a program/function simply post in this topic, I hope to see everyone participate in this project, I'm sure all of you can contribute something