Ok as promised, Q&A time.
1. what are the system requirements?
Windows PC 500Mhz or greater & OpenGL support
Mac OS X 10.3 500Mhz or greater
2. How does revolution access the external?
On Mac OS X
A. The File
"iGame3D Pro external.bundle" is placed within the Revolution Application folder,
B. The File
"iGame3D Pro external.bundle" is also placed within the same directory as the stack that will access it.
On Windows
A. The File
"iGame3D Pro external.dll" is placed within the Revolution Application folder,
B. The File
"iGame3D Pro external.dll" is also placed within the same directory as the stack that will access it.
I believe there are number of other DLL's that accompany the windows version of iGame3D External,
I've put in a request to Tobi to send me an updated Windows version.
C. Inside the cardScript of the first card of the mainStack, the following
Code: Select all
on idle handler code is placed.
on idle
if the tool is "browse tool" then
try
ig3d_Idle ## iGame3D updates the 3D display at every revolution engine idle loop
end try
end if
end idle
D. Inside the script of the mainStack this code is used.
Code: Select all
global gStackDirectory ## the path to the external and stack
global gIdling ## allow iGame3D to idle or not
global gIdleRate ## the speed the idle repeats
global gExtOut ## catches and stores external feedback from Lua
global gplayState ## is the engine in edit or game mode?
on preOpenStack whatStack
## gstackDirectory is required to find the path to the external and its associated data files
set the itemdelimiter to "/"
put char 2 to -1 of word 2 of the long name of stack (the mainStack of this stack) into tPath
put itemoffset(".app",tPath) into tOS
if tOS = 0 then put item 1 to - 2 of tPath & "/" into gStackDirectory
else put item 1 to tOS - 1 of tPath & "/" into gStackDirectory
put 1 into gIdleRate
set the idleRate to gIdleRate
choose browse tool ## comment out to open in stack edit mode.
put true into gIdling ## see card script ig3d_Idle
ig3d_Init_s4i gStackDirectory, (topX),(topY),(rightX),(bottomY) -- create GL window
end preOpenStack
3. What auxillary files are necessary?
In the same path as the external there should be "/Data/Scripts/"
Within that is
"core.lua", this is loaded automatically by the
external when found, and extends iGame3D with the Lua scripting language.
Further files will be added as a project progress, these will go into that
"Data" folder as well, these files will be images, models, levels, scripts, particles, etc.
4. What engine commands and functions are available to the developer?
There are 120 commands and 48 functions currently in the external, too many to list here.
5. With the simplest set up (as shown above), what can a user do with the engine?
With the most basic code (above), the user is able to use the mouse and keyboard
to move around in a 3D environment that consists of a single grid plane.
I've uploaded a "simplest stack", for Mac OS X.
use externalCommands and externalFunctions in message box to get a list of functions and commands.
Hit me back with the first question that comes to mind.
Building a stack with the external becomes complicated quickly and this version is about the barest bones one I've come up with to date.
I'll have a Windows version as soon as I hear from the Mr. Opfermann.