- Homepage: http://svjatoslav.eu
- Email: mailto://svjatoslav@svjatoslav.eu
-- [[http://www.svjatoslav.eu/projects/][Other software projects hosted at svjatoslav.eu]]
+- [[https://www.svjatoslav.eu/projects/][Other software projects hosted at svjatoslav.eu]]
** Source code
-- [[http://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=snapshot;h=HEAD;sf=tgz][Download latest snapshot in TAR GZ format]]
+- [[https://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=snapshot;h=HEAD;sf=tgz][Download latest snapshot in TAR GZ format]]
-- [[http://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=summary][Browse Git repository online]]
+- [[https://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=summary][Browse Git repository online]]
- Clone Git repository using command:
- : git clone http://www2.svjatoslav.eu/git/qbasicapps.git
+ : git clone https://www2.svjatoslav.eu/git/qbasicapps.git
* Operating principle
to minimize file access.
* System requirements
-| software | preferred version |
-|----------+-------------------|
-| DOS | 6.22 |
-| QBasic | 4.5 |
+| software | tested version |
+|----------+----------------|
+| DOS | 6.22 |
+| QBasic | 4.5 |
* Installation
+ Unpack ZIP file in any folder.
+ update include path inside bin/3dparse.bas
+ include - 3D objects used to compose the scene
* Scene description language
(read examples...)
-
-
-: here
-defines new segment
-
-: p x y z
-defines new point
-
-: f p1 p2 p3 p4
-defines new polygon, p4 may be unused
-
-
-: warn <message>
-displays warning message, and wait for key
-
-: end
-terminates parser
-
-: mtl material
-selects material
-
-: mtlrnd material ...
-selects random material from list
-
-: obj object xz45 xy20 x+3 y*2
-includes sub object, can be rotated moved or resized, across X Y Z. If
-object name begin vith ~ then it will be loaded from current
-directory. if object name ends with ~ then object will be parsed
-directly from file, and not chached, to allow loading of greater than
-500 lines files.
-
-[[file:rotation.png]]
-
-
-: rnd p^1^2^3 p^7^2^1
-select random command to execute, ^ will be converted to spaces.
-
-: # whatever text
-comment
-
-: out file
-specify output file name, must be first command
-
-: set variable contents
-set variable contents, variable must be number, contents can be
-string. max variables is 100. first is 0.
-
-: anycommand %1 anything
-inserts variable 1 contents info line
-
-: cmp flag string1 string2
-compares strings, and inserts TRUE to flag, if they are equal, else inserts FALSE. max 9 falgs, 0 first. Each subobject has its own flags.
-
-: ?flag anycommand
-executes command if flag is true.
-
-exapmle: ?3 obj car z*2 xy45
-
-: dum
-dummy function, does notheing
+** here
+ : here
+ defines new segment
+** p
+ : p x y z
+ defines new point
+** f
+ : f p1 p2 p3 p4
+ defines new polygon, p4 may be unused
+** warn
+ : warn <message>
+ displays warning message, and wait for key
+** end
+ : end
+ terminates parser
+** mtl
+ : mtl material
+ selects material
+** mtlrnd
+ : mtlrnd material ...
+ selects random material from list
+** obj
+ : obj object xz45 xy20 x+3 y*2
+ includes sub object, can be rotated moved or resized, across X Y Z. If
+ object name begin vith ~ then it will be loaded from current
+ directory. if object name ends with ~ then object will be parsed
+ directly from file, and not chached, to allow loading of greater than
+ 500 lines files.
+
+ [[file:rotation.png]]
+** rnd
+ : rnd p^1^2^3 p^7^2^1
+ select random command to execute, ^ will be converted to spaces.
+** #
+ : # whatever text
+ comment
+** out
+ : out file
+ specify output file name, must be first command
+** set
+ : set variable contents
+ set variable contents, variable must be number, contents can be
+ string. max variables is 100. first is 0.
+** variables usage
+ : anycommand %1 anything
+ inserts variable 1 contents info line
+** cmp
+ : cmp flag string1 string2
+ compares strings, and inserts TRUE to flag, if they are equal, else inserts FALSE. max 9 falgs, 0 first. Each subobject has its own flags.
+** ?
+ : ?flag anycommand
+ executes command if flag is true.
+
+ exapmle: ?3 obj car z*2 xy45
+** dum
+ : dum
+ dummy function, does notheing
* Usage
Make sure you have QB binaries in your PATH. Execute