What do you mean, 'use it with FreeBASIC'?Lemon-Man wrote:I really like Tile Studio. But I can't use it with freeBasic...
Is there a way to use it with freeBasic?
List of *FREE* game programming resources
-
- Posts: 5494
- Joined: Sep 12, 2005 20:06
- Location: California
Just wanted to point out that the link to Blender is incorrect.
The actual link is: http://www.blender.org/
The actual link is: http://www.blender.org/
The DeleD 3d Editor is easy enough for a lazy noob like me to use. Don't know if it exports in a useful format for FB but it has a lot of plugins and SDK for writing more.
http://www.delgine.com
http://www.delgine.com
Actually my friend and fellow Ragnarok Games member Mr_T has written some code that makes you run your TileStudio maps without any problems at all. As far as I know the code's finished. I shall ask him and then if it is finished it'll end up on our homepage.Lemon-Man wrote:Well I don't know exactly how it works but you make the stuff and then it spits out code for various languages (not including freebasic...)
Kinda like a .bi file.
Here's a link you might want to add to the list:
http://www.lostgarden.com/index.html
It's a blog from a professional game programmer/artist, if you click on the "Directory of all Essays" link he's got a number of interesting articles up about game design.
http://www.lostgarden.com/index.html
It's a blog from a professional game programmer/artist, if you click on the "Directory of all Essays" link he's got a number of interesting articles up about game design.
-
- Posts: 8586
- Joined: May 28, 2005 3:28
- Contact:
here are the plugin framework for FreeBASICy offs et wrote:...Don't know if it exports in a useful format for FB but it has a lot of plugins and SDK for writing more.
"plugin.def"
Code: Select all
LIBRARY test01.dll
EXPORTS
PluginName
PluginDescription
PluginDeleDVersion
PluginVersion
PluginAuthor
PluginEmail
PluginSetCallback
PluginExecute
Code: Select all
' DelEd FreeBASIC plugin framework
' fbc -Wl plugin.def -dll yourplugin.bas
#include "windows.bi" ' only for MessageBox
enum Requests
PR_GETMEM = 0
PR_GETDATA = 1
PR_SETDATA = 2
end enum
type TCallBackRecord
as Requests RequestID ' reason for executing callback (0,1 or 2)
as zstring ptr RequestXML ' XML data send by the plugin to DeleD
as zstring ptr ResponseXML ' XML data send by DeleD to the plugin
as integer ResponseSize ' size of the response XML data in bytes
end type
' header items are passed to know what kind of data you want to use
#define HI_SCENEPROPERTIES 0 ' used for setting or getting scene properties
#define HI_OBJECTS 1 ' used for setting or getting all objects
#define HI_LIGHTS 2 ' used for setting or getting all lights
#define HI_MATERIALS 3 ' used for setting or getting materials
#define HI_SELECTEDOBJECTS 10 ' used for setting or getting only selected objects
#define HI_SELECTEDLIGHTS 11 ' used for setting or getting only selected lights
#define HI_SELECTEDMATERIALS 12 ' used for setting or getting only selected materials
' plugin errors returned by callback function
enum plugin_errors
PE_NOERROR = 0 ' no errors in callback
PE_NODATA = 1 ' no data to set or get
PE_INVALIDVERSION = 2 ' invalid version
PE_INVALIDMEM = 3 ' invalid memory size
PE_INVALIDGET = 4 ' invalid get operation
PE_INVALIDSET = 5 ' invalid set operation
PE_INVALIDHEADER = 6 ' invalid header
PE_INVALIDDATASTRING = 7 ' invalid data string
PE_INVALIDDATAPROPERTY = 8 ' invalid data property
PE_OBJECTDATA =11 ' invalid object data
PE_LIGHTDATA =12 ' invalid light data
PE_MATERIALDATA =13 ' invalid material data
PE_UNKNOWNREASON =98 ' callback reason unknown
PE_UNKNOWNERROR =99 ' unknown error
end enum
type TCallBackProc as function (ACallBackRecord as TCallBackRecord ptr) as plugin_errors
dim shared as TCallBackProc gCallback
function ErrorMessage(e as plugin_errors) as string
select case as const e
case PE_NODATA :return "No Data present."
case PE_INVALIDVERSION :return "Invalid Version."
case PE_INVALIDMEM :return "Invalid GetMem Command."
case PE_INVALIDGET :return "Invalid GetData Command."
case PE_INVALIDSET :return "Invalid SetData Command."
case PE_INVALIDHEADER :return "Invalid Header."
case PE_INVALIDDATASTRING :return "Invalid Data String."
case PE_INVALIDDATAPROPERTY:return "Invalid Data Property."
case PE_OBJECTDATA :return "Error in Object Data."
case PE_LIGHTDATA :return "Error in Light Data."
case PE_MATERIALDATA :return "Error in Material Data."
case PE_UNKNOWNREASON :return "Unknown Callback Reason."
case PE_UNKNOWNERROR :return "Unknown Error."
case else :return "Unknown Error Code."
end select
end function
' This function returns a pointer to a character string containing
' the name of the plugin as being displayed in the Plugin menu with DeleD.
' Typically, this character string is between 10 and 20 characters in size.
function PluginName Alias "PluginName" as zstring ptr
return @"the name"
end function
' This function returns a pointer to a character string containing
' the description of the plugin. This description is displayed in the
' Plugin window within DeleD.
function PluginDescription Alias "PluginDescription" as zstring ptr
return @"the description"
end function
' This function returns a pointer to a character string showing the minimal
' version of DeleD needed to execute this plugin. DeleD uses this version
' number to determine if the plugin can be run and thus, if it should be
' listed in the Plugin menu.
function PluginDeleDVersion alias "PluginDeleDVersion" as zstring ptr
return @"1.6"
end function
' This function returns a pointer to a character string showing the current
' version of the plugin itself.
function PluginVersion alias "PluginVersion" as zstring ptr
return @"2.0"
end function
' This function returns a pointer to a character string showing
' the name of the author of the plugin.
function PluginAuthor alias "PluginAuthor" as zstring ptr
return @"the author"
end function
' This function returns a pointer to a character string
' showing the emailaddress of the author of the plugin.
function PluginEmail alias "PluginEmail" as zstring ptr
return @"the_mail@xyz.com"
end function
' At startup, DeleD initializes all available plugins and calls the
' PluginSetCallback routine automatically for each plugin.
' This procedure saves a pointer to DeleD's callback routine
' (as provided in the TCallBack parameter) into a parameter local to the plugin.
' The plugin then uses that local parameter to issue a callback to DeleD.
sub PluginSetCallback alias "PluginSetCallback" (aCallBackProc as TCallBackProc)
gCallback=aCallBackProc
end sub
' This procedure is executed when the user executes a plugin
' from the Plugin menu within DeleD.
sub PluginExecute alias "PluginExecute"
' do the job here
dim as TCallBackRecord rec
dim as string Test
dim as plugin_errors ret
test=!"<request>\r\n" & _
" <installdirectory />\r\n" & _
" <primitives subset=""all"" retrieveID=""true"" />\r\n" & _
" <materials subset=""all"" />\r\n" & _
" <lights subset=""all"" retrieveID=""true"" />\r\n" & _
"</request>"
' find out how much memory we need for the specific request
rec.RequestID = PR_GETMEM
rec.RequestXML = strptr(test)
rec.ResponseSize= 0
rec.ResponseXML = 0
ret=gCallback(@rec)
if ret=PE_NOERROR then
' now get the string
rec.RequestID=PR_GETDATA
rec.ResponseXML=callocate(rec.ResponseSize)
ret=gCallback(@rec)
if ret=PE_NOERROR then
MessageBox(0,rec.ResponseXML,"got data from DelDe",mb_ok)
else
beep
MessageBox(0,ErrorMessage(ret) & ret,"error: PE_GETDATA !",mb_ok)
end if
else
beep
MessageBox(0,ErrorMessage(ret) & ret,"error: PE_GETMEM !",mb_ok)
end if
if rec.ResponseXML<>0 then deallocate(rec.ResponseXML)
end sub
put the new created *.dll in the DelEd\plugin folder start DelEd.exe and select from plugin menu "the name" in this case.
Joshy
I don't think I saw an AOI link -- the 3D software created with Java. Here it is:
http://aoi.sourceforge.net
(delete this post if it was already added) :P
EDIT: and oh, some of the links doesn't seem to exist anymore.
http://aoi.sourceforge.net
(delete this post if it was already added) :P
EDIT: and oh, some of the links doesn't seem to exist anymore.
I just came across a site with free game music, they've even got a board where you can make requests for custom music:
http://www.sakari-infinity.net/index.php
http://www.sakari-infinity.net/index.php
-
- Posts: 612
- Joined: Jun 15, 2005 13:22
- Location: Upstate NY
- Contact:
Her'es one for those beginning to develop games
Game Design Novice
http://gamedesign.wikicomplete.info/getting-started
Even not so newbies might find something good there ;-).
Game Design Novice
http://gamedesign.wikicomplete.info/getting-started
Even not so newbies might find something good there ;-).