⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 !bestlib.doc

📁 supplementary source file 1 for The BESTLibrary
💻 DOC
📖 第 1 页 / 共 5 页
字号:
================================================================================
=------------                THE BEST LIBRARY 2.32                 ------------=
=------------   THE FASTEST AND MOST EFFICIENT LIBRARY AVAILABLE   ------------=
=------------------------------------------------------------------------------=
=----------------------  292 PURE ASSEMBLER FUNCTIONS   -----------------------=
=----------------------       68 C CODED ROUTINES       -----------------------=
=----------------------                                 -----------------------=
=----------------------      TOTAL: 360 FUNCTIONS       -----------------------=
================================================================================

                    DOCUMENT LAST UPDATED  94/09/11   Sunday, September 11, 1994
                INDEPENDENTLY AUTHORED BY  GEORGE VANOUS                23:31.39


If you find this library useful, please let me know.  I like hearing that my
efforts are appreciated.

You can contact me via email: vanous@helix.net
or call me at (604)589-2675 or write to me:  George Vanous
                                             8930 Watson Court
                                             Delta, BC
                                             V4C 4T6

NOTE  This library will no longer be updated, since C is quickly being
      replaced by C++.  The BESTLibrary++ 1.0 will soon be released, an
      object version of The BESTLibrary 2.32.  As of today, it contains full
      support for 2D AND 3D rotation/scaling, timing classes, and text mode
      windowing classes, to mention a few.  Let me know if you are interested
      in obtaining the demo .EXE of what it can currently do.


This library covers the following categories:

      FILE           8 functions             TEXT          33 functions
        INI FILE     9 functions               ANIMATION    0 functions
      KEYBOARD      42 functions               ATTRIBUTE    8 functions
      LINKED LIST    4 functions               CHARACTER   16 functions
      MATH          13 functions               CURSOR      23 functions
        MATRIX      18 functions               GET          5 functions
        2D VECTORS  17 functions               STRING       8 functions
        3D VECTORS  17 functions               WINDOW       4 functions
      MISCELLANEOUS  9 functions             VGA                3 functions
      MOUSE         13 functions             VGA16             17 functions
      STRING        73 functions               ANIMATION        4 functions
        CHARACTER   15 functions               IMAGE            1 function
        CONVERSION   4 functions               COMPRESS IMAGE  10 functions
                                               PIXEL IMAGE      7 functions
                                               PLANE IMAGE      8 functions
                                             VGA256             2 functions

                         TOTAL:  360 ROUTINES

--------------------------------------------------------------------------------

B - changes in other functions have made this function unusable (temporary)
X - still under development

  ----------------------------------------------------------------------------
------------------------------------ FILE --------------------------------------

fil_count...........display the number of executions and some message
fil_count_reg.......same as "counter" except this is used for registered copies
fil_len.............return the length of a file, in bytes
fil_next_str........return the next string from a file
fil_next_word.......return the next word from a file
fil_read_to.........return the contents of a file upto and including a string
fil_read_to_strip...return the contents of a file upto and including a string
fil_skip_past.......skip past a string in a file
fil_skip_to.........skip to a string in a file

- - - - - - - - - - - - - - - - -  INI FILE  - - - - - - - - - - - - - - - - - -
ini_get_boolean.....read in a boolean parameter
ini_get_color.......read in a color
ini_get_number......read in a number
ini_get_position....read in and translate a screen position into a row number
ini_get_rows........read in the number of rows per screen
ini_get_state.......read in the keyboard state
ini_get_text........read in a text string
ini_get_yesno.......read in a YES or NO response
ini_read_section....read in the releveant text of a section

  ----------------------------------------------------------------------------
---------------------------------  KEYBOARD  -----------------------------------

kbd_all_off.............disable all of the three LOCKS and turns off light
kbd_all_on..............enable  all of the three LOCKS and turns on  light
kbd_caps_off............disable the CAPS LOCK key and turns off the light
kbd_caps_on.............enable  the CAPS LOCK key and turns on  the light
kbd_clear...............clear the keyboard buffer of all keystrokes
kbd_give................give control back to the original keyboard interrupt
kbd_hit.................check keyboard buffer to see if a key has been pressed
kbd_insert_off..........disable the INSERT mode
kbd_insert_on...........enable  the INSERT mode
kbd_is_all_on...........report if all three LOCKS are active
kbd_is_alt..............report if either alt is depressed
kbd_is_alt_left.........report if the left alt is depressed
kbd_is_alt_left_only....report if only the left alt is depressed
kbd_is_alt_right........report if the right alt is depressed
kbd_is_alt_right_only...report if only the right alt is depressed
kbd_is_alt_only.........report if only an alt is depressed (not ctrl or shift)
kbd_is_caps_on..........report if CAPS LOCK is active
kbd_is_ctrl.............report if either ctrl is depressed
kbd_is_ctrl_left........report if the left ctrl is depressed
kbd_is_ctrl_left_only...report if only the left ctrl is depressed
kbd_is_ctrl_right.......report if the left ctrl is depressed
kbd_is_ctrl_right_only..report if only the right ctrl is depressed
kbd_is_ctrl_only........report if only ctrl is depressed (and not alt or shift)
kbd_is_insert_on........report if INSERT is active
kbd_is_num_on.. ........report if NUM LOCK is active
kbd_is_scroll_on........report if SCROLL LOCK is active
kbd_is_shift............report if either shift is depressed
kbd_is_shift_left.......report if the left shift is depressed
kbd_is_shift_left_only..report if only the left shift is depressed
kbd_is_shift_right......report if the right shift is depressed
kbd_is_shift_right_only.report if only the right shift is depressed
kbd_is_shift_only.......report if only shift is depressed (and not alt or ctrl)
kbd_num_off.............disable the NUM LOCK key and turns off the light
kbd_num_on..............enable  the NUM LOCK key and turns on  the light
kbd_rate................set typematic rate and delay for repeat-key action
kbd_scroll_off..........disable the SCROLL LOCK key and turns off the light
kbd_scroll_on...........enable  the SCROLL LOCK key and turns on  the light
kbd_status_load.........restore the previously saved keyboard status
kbd_status_save.........save the keyboard status of insert, caps/num/scroll lock
kbd_take................take control of the keyboard interrupt
getchr..................get a character from the keyboard buffer
getchre.................same as getchr, but also echoes character to the screen

  ----------------------------------------------------------------------------
--------------------------------  LINKED LIST  ---------------------------------

lst_find............search for a node of a linked list
lst_free_double.....deallocate each node of a doubly linked list
lst_free_single.....deallocate each node of a singly linked list
lst_tail............return the tail of a linked list
lst_unlink_double...unlink a node from a doubly linked list
lst_unlink_single...unlink a node from a singly linked list

  ----------------------------------------------------------------------------
-----------------------------------  MATH  -------------------------------------

max_byte............return the maximum of a list of byte
max_int.............return the maximum of a list of integers
max_shortint........return the maximum of a list of short integers
max_word............return the maximum of a list of words
min_byte............return the minimum of a list of bytes
min_int.............return the minimum of a list of integers
min_shortint........return the minimum of a list of short integers
min_word............return the minimum of a list of words

- - - - - - - - - - - - - - - - - - MATRIX - - - - - - - - - - - - - - - - - - -
m3_add..............add two 3x3 matrices
m3_copy.............return a copy of a 3x3 matrix
m3_det............X.return the determinant of a 3x3 matrix
m3_div............X.divide two 3x3 matrices
m3_inv............X.return the inverse of a 3x3 matrix
m3_mul..............multiply two 3x3 matrices
m3_new..............create and initialize a new 3x3 matrix
m3_sub..............subtract two 3x3 matrices
m3_transpose........transpose a 3x3 matrix
m4_add..............add two 4x4 matrices
m4_copy.............return a copy of a 4x4 matrix
m4_det............X.return the determinant of a 4x4 matrix
m4_div............X.divide two 4x4 matrices
m4_inv............X.return the inverse of a 4x4 matrix
m4_mul..............multiply two 4x4 matrices
m4_new..............create and initialize a new 4x4 matrix
m4_sub..............subtract two 4x4 matrices
m4_transpose........transpose a 4x4 matrix

- - - - - - - - - - - - - - - - - 2D VECTORS - - - - - - - - - - - - - - - - - -
v2_add..............add two 2D vector
v2_combine..........return the linear combination of two 2D vectors
v2_copy.............return a copy of a 2D vector
v2_dot..............return the dot product of two 2D vectors
v2_len..............return the magnitude (length) of 2D vector
v2_len_sqr..........return the magnitude (length) of 2D vector squared
v2_lerp.............linearly interpolate between two 2D vectors by some amount
v2_mul..............multiply two 2D vectors component-wise
v2_mul_by_matrix..X.multiply a 2D point by a matrix
v2_mul_by_proj......multiply a 2D point by a projection matrix
v2_neg..............negate a 2D vector
v2_new..............create and initialize a new 2D vector
v2_norm.............normalize a 2D vector (becomes unit length)
v2_ortho............return some orthogonal 2D vector to a 2D vector
v2_scale............scale a 2D vector to some new length
v2_seg_len..........return distance (line segment length) between two 2D points
v2_sub..............subtract two 2D vectors

- - - - - - - - - - - - - - - - - 3D VECTORS - - - - - - - - - - - - - - - - - -
v3_add..............add two 3D vector
v3_combine..........return the linear combination of two 3D vectors
v3_copy.............return a copy of a 3D vector
v3_cross............return the cross product of two 3D vectors
v3_dot..............return the dot product of two 3D vectors
v3_len..............return the magnitude (length) of 3D vector
v3_len_sqr..........return the magnitude (length) of 3D vector squared
v3_lerp.............linearly interpolate between two 3D vectors by some amount
v3_mul..............multiply two 3D vectors component-wise
v3_mul_by_matrix....multiply a 3D point by a matrix
v3_mul_by_proj......multiply a 3D point by a projection matrix
v3_neg..............negate a 3D vector
v3_new..............create and initialize a new 3D vector
v3_norm.............normalize a 3D vector (becomes unit length)
v3_ortho..........X.return some orthogonal 3D vector to a 3D vector
v3_scale............scale a 3D vector to some new length
v3_seg_len..........return distance (line segment length) between two 3D points
v3_sub..............subtract two 3D vectors

  ----------------------------------------------------------------------------
-------------------------------  MISCELLANEOUS	--------------------------------

beep................beeps the speaker
bestlib_init........initialize THE BEST LIBRARY and set default values
boot................either warm of cold boot the system
dos_shell...........shells to DOS, returning upon the user typing "EXIT"
msec................delays the computer for a specific number of milliseconds
sound_off...........stops any sound coming from the speaker
stopw...............set a delay stopwatch to a specific clock-tick delay
video_get...........read the current video mode
video_set...........change the video mode

  ----------------------------------------------------------------------------
-----------------------------------  MOUSE  ------------------------------------

ms_get..............store the location of the mouse cursor
ms_getx.............return the mouse cursor abscissa
ms_gety.............return the mouse cursor ordinate
ms_hide.............hides the mouse cursor
ms_init.............initialize the mouse and set "mousedata" values to default
ms_kill.............completely disable the mouse driver
ms_range............set the mouse cursor's minimum and maximum range of movement
ms_set..............set the mouse cursor's abscissa and ordinate
ms_setx.............set the mouse cursor's abscissa
ms_sety.............set the mouse cursor's ordinate
ms_shape............change the mouse character in text mode
ms_show.............display the mouse cursor
ms_stat.............store detailed information about the mouse's status

  ----------------------------------------------------------------------------
----------------------------------  STRING  ------------------------------------

case_down...........return an UPPERCASE letter as lowercase
case_down_ptr.......convert an UPPERCASE letter to lowercase
case_flip...........return the opposite case of a letter
case_flip_ptr.......convert a letter to the opposite case
case_up.............return a lowercase letter as UPPERCASE
case_up_ptr.........convert a lowercase letter to UPPERCASE
is_number_dec.......check if a string is a decimal number
is_number_hex.......check if a string is a hexadecimal number
mem_copy............makes a copy of a memory location
scan_byte...........search for a one-byte value
scan_byte_not.......search for any other one-byte value
scan_bytes..........search for one of several one-byte values
scan_bytes_not......search for any other one-byte values
scan_str............search for a string of characters

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -