Well, I've gotten all of the primitives written. iPset and iPoint are about 15 times faster than their gfxlib2 equivalents, even though they are RGBA. iLine should run fairly quickly, about the same speed as LINE and it supports stippling, antialiasing, and transparency. iRectangle runs really nicely, about at the same speed as LINE...BF and can have blurry sides and transparency. The rectangles also support stippling as does iCircle. iCircle has a number of settings that makes it beautifully antialiased and you can set how fast it gets drawn.
All of the buffer creating and environment setting routines are written.
I'd say all in all, so far about 40% of the library is inline assembly code and that number's going to increases as I get into the buffer manipulation, which I will probably start on Tuesday. Tomorrow and maybe a little bit tonight I will work on multivertexed polygons. This will be more difficult because I am setting it up because each vertex can have it's own colour and alpha level and then those colours are smoothly interpolated over the entire object, kind of like this.
Oh my god, it's an update!
That's right, I'm updating my website. I've been without Windows for some time now and will never go back, however I do have Linux as well as my Mac. I just loaded FreeBASIC on it and started to look at my old projects again. Finishing Inspiration is at the top of my list, but got trumped by the fact that Inspiration needs a library that can handle advanced sprite operations. Since there are none out there I am officially announcing the startup of iGL. It should be simple to build and be out there in less than a month. Here is some specs on it:
All commands work faster than gfxlib2 (most of which are already written for Inspiration.) iPset runs 20x faster than PSET .
All primitives are included (pset, line, circle, box)
All buffers are RGBA mode (each pixel can have a different alpha value)
In addition to primitives there is a polygon creator (iBegin and iEnd commands)
Each vertex can be differently colour and the polygon bilinearly interpolated
Uses triple buffering
How things are drawn can be effected by environment variables by either forcing them or using iHint
Buffers can be flipped, rotated, pinched, skewed, scaled, blurred
Support for motion blurring in any direction
More than twenty iPut routines, plus ability to add custom ones
All lines / polygons can be antialiased
All buffer manipulations can be antialiased and smoothed
Environment variables control all smoothing so it can be done fast or nice or in the middle
Use of an invention called "Jittering" - explained in the documentation, just know it allows REALLY fast smoothing.
Full documentation that I'm calling the iGL Red Book
The philosophy of it is "It does what you tell it," that means that it's flexible as hell, but it won't question you. If you tell it to do something that it shouldn't it will.
Cool OpenGL GUI 2/18/07
I've added some really cool effects to the window engine, take a look:
Requires Quicktime (80KB)
Rewriting 2/17/07
I finished a scientific calculator and found out that it doesn't run. I'm not sure if the flaw is in the program or Dove so I'm using it as an excuse to rebuild it and add some really cools stuff and make it more streamlines. I want help though, if anyone thinks they could help me build Dove then give me an email at ninja9578@yahoo.com.
I'm going to be using OpenGL for the windowing engine. The windows themselves are make out of complex grids that can be stretched and warped so I'm going to have lot and lots on effects. Minimizing a window will crumple it up and throw it on the desktop, rolling it up will literally roll it into a tube, throwing the window will make it bounce and warp like rubber, but it will still be translucent. I even have an idea to incorporate something like "Spaces" in Dove. The windowing engine will get the rewrite first, then the desktop engine, then the program engine. I'm going from most difficult to easiest.
I will also be adding an expose function, I haven't decided to use the OSX/Linux style or the Vista style yet, but it will be cool none the less.
Making a new drawing program 2/9/07
I think that Dove is nearing completion so I'm just writing applications for it now. The Draw program that came with the pre-alpha demo is being re-written, this time it is designed to be a functioning application with a whole load of tools It has the most common tools from MS Paint and GIMP and I think it will be able to write bitmaps and load bmp, png, and jpeg.
Window engine speedup 2/5/07
I had originally done the windowing engine in a single thread. It will remain that way, but will spawn threads dynamically. When the windows moved the refreshing of that window used to stall, the same for resizing, so now they are in their own threads. I'm not sure if this actually makes it faster, but it makes it much smoother.
A great idea! 2/4/07
Okay, I'm stealing the idea for Apple, but I still think it's good. Most Mac programs have very few system buttons and most of the buttons are in a file within the program package in the form of png images. Firefox does this too. I thought that would bring the complexity of programming Dove way down and allow me to start writing apps for it. Dove is essentially finished, but it lacks real programs. I am going to have a default set of buttons and checkboxes and stuff, but let the program decide how the buttons and stuff should look. It will also cut the amount of RAM that Dove needs to run way down.
On top of making programming for Dove easier, I think it will make programming apps easier too. We aren't used to writing code for buttons and checkboxes and stuff.
new button(x,y,x2,y2,"Button") if buttonpressed then ...
Yuck! Now you just load the images, place them on the screen using PUT or by using Dove Header's functions.
Sponsors
Programming for Dove 2/3/07
A small tutorial for programming Dove programs in Freebasic has been uploaded to the Dove OS page. I'm working on hard on making Dove more stable and certain things seem to be working. I hope to have a Dove that doesn't crash really soon, I'd added a shitload of debugging features in Dove. Now Dove logs everything that it does and prints it out to a file.
I'm going to be upgrading my PC to Vista soon, hopefully Vista will have a driver for my old Acer, then I won't have to relay stuff from the Acer to my USB drive to my Mac and back. That will help me get stuff out there faster.
A day of debugging 2/2/07
I was annoyed that Dove was so unstable so I threw in a better error handler, built right into the GUI. Currently is shuts down Dove, which is a step backwards, but it tells me everything I need to know about the error. With it I was able to boost Dove's stability greatly, in fact it hasn't crashed since a few little fixes.
Dove OS Pre-Alpha released! 1/31/07
That's right, after one four days of programming the pre-alpha release of Dove is ready to show itself off. It's buggy and I know, but fast as hell and full of eye candy. Go ahead and download it from the Dove OS page on this site. Please email me feedback, I will take all suggestions seriously, I want this to one day replace Gnome as my usual Linux GUI. (This release requires Windows.)
Wow it's been a long time since I've updated 1/29/07
I went back to Macintosh and Freewebs doesn't support Safari. I downloaded Firefox and will now be updating more regularly. Even though I've gone back to the Mac, I still have my old laptop and am still coding in FreeBasic. Inspiration is still on hold until a final release of FreeBasic, which I'd think would be coming soon. Anyway, I've started on something else so that I don't loose my FB skills in that time. It's called Dove and it's the post-ceder to Cardinal GUI. I rewrote the Cardinal page and it is now dedicated to Dove instead. There is an early screenshot and some specs on it. Absolutely nothing in the shot has been alters other than being scaled down.
Ugh 9/29/06
The new FreeBasic version has some changes that are forcing me to go through and fix most of Inspiration's files. It shouldn't be too hard, but I'm going to wait to fix it until the stable new release comes out. I'll work on the files that don't need fixing.
Sponsors
New progress
I'm been teaching myself assembly to really speed up everything that I do. I'm going through a few older things now and optimizing the shit out of everything.
Working hard 8/18/06
...not in FreeBasic. The summer tourists are starting to kill me and I've had no time for anything else. Going back to school in a week in a half and then after I get settled in and back in the flow of classes I'll start programming some again. Also, if anyone emails me about anything, please specify what it is you are emailing me about in the title. Yahoo!'s spam blocker has been slipping recently and anything labeled "Hi" or "Hey" I immediately flag as spam.
Back 7/26/06
No updates for a while because I was doing some more programming for somebody else, but I'm back working on the map editor and it looks great. I'd post some screenshots but I can't get them to compress small enough because of the brushed background.
Working hard 07/04/06
Happy 4th of July! I've doing some fine tuning on the weapon file format again. I think that I can compress it slightly more, which would be useful since they are some of the larger files. The map files are actually going to be fairly small and as soon I have a test map I will loadi t and start working on the actual Inspiration engine again. The first thing I will do is translate my raycaster to work on the new map format.
Map Editor chugging alone 06/30/06
I've decided because of the complexity of the sprite portion of the maps that I will be splitting the map editor into two programs. One will edit the static parts of the map like the walls and floors and stuff, while I will have another editor for the sprite map. I have also decided that the main map, light map, and sprite map will be three different files, that way I can use the same wall set for multiple levels of the game and change the lighting arrangements of them without making whole new maps. I will soon start working on the engine.
Been busy 06/29/06
I've been doing some graphics work for some other people and haven't actually done any coding in Inspiration. I'm still debating with myself how I'm going to make this map editor work, but I've begun building it in WVE. I'll start work on it again tomorrow and hopefully have a gui for it by then.
WVE Progress 06/26/06
I've rewritten some of the code for the menus and actions in all of my builders so that now many common functions have both a menu command and a keyboard shortcut. After I did this I went into the compiler for WVE and set it up to automatically associate keyboard shortcuts to common commands. A short list include Quit, New, Open, Save, Cut, Copy as well as a few others. The shortcuts appear in the menus like they do in Windows and are the same shortcuts you are used to: Ctrl+Z, Ctrl+S, Ctrl+Q...
Working on the map editor 06/25/06
I've just been doing some drawing right now. There are going to be a LOT of features in this map editor and it's going to have to be able to load every type of file I've created thus far and I have to make it all fit neatly onto one screen. I have an idea of how its going to go, but I want to make sure that I can get everything all figured out before I start up WVE. All of the bugs in the weapon editor have been figured out and its looks fantastic, so far I've created a double barrel shotgun and a sword.
I'm building guns 06/23/06
I've finished the weapon builder and it looks great. I'm just fine-tuning a few things and doing a little bit of bug repair. I've also figured out 2 bugs that have plagued WVE generated code since the beginning. The Open/Save boxes now open in the front of the window and the red X button will close the program. Expect WVE 1.3 out soon. I'm not sure what I am going to do next, right now I have most of the builders done, just a few very very simple ones are left to do and then I can build the map editor and the cinematics editor and then I'm done! I just hope that I can get the engine done before I go back to school, because my work really slows down there due to other programming projects.
Inspiration's builder gets a facelift 6/22/06
I've cleaned up the builder's design from that dull grey thing and added a few little things that spruce up the look of it. Some of the features are a cross between what you would see on the Macintosh and AIM Triton. I've given the whole background a brushed look like iTunes used to have and some other glassy effects. Of course I also changed them in WVE and the next release will have these new graphical bits. I've also done a lot of work on the weapon editor. I anticipate starting work on the actual engine again by August, keep your fingers crossed.
MP3 Problems 06/09/06
I've tried adding features that allow you to preview your mp3s within the Editors. for some reason I found it easy to put it in certain editors, but in others it crashes. I'm looking into why, so far I've go nothing but will keep working. Things may slow down a little bitbecause I start working full time soon and will be watching the World Cup all month. Go USA, the world no longer looks forwards to playing you.
I forgot to release WVE 06/08/06
I've been using Wallace Visual Editor 1.2 for months, but I realized today that I completely forgot to release it. I thought I had, but I looked and I didn't. I am so sorry to anyone who was waiting for it. It is now FB .16 compatible and comes with a tutorial of how to fix your old files to work in the newest FreeBasic. It's on the Other's page, or download it here.
I've started beta testing 06/07/06
I finally figured out an acceptable file format for my sprites. It's really complicated and has a decend amount of encoding and buffering, but because of that it is really small and fairly fast loading. With that last bit finished on the sprite editor I have sent it out to some people to get some feedback on it. I'm not going to start a new editor until I receive a reply, and I'm not quite sure which editor to work on yet, but it will probably be the weapon editor. I'm getting into the fun stuff now :-) Fairly soon I will be able to start actually recoding the engine to take advantage of all the new file formats and run them at blistering speeds.
I've also decided for the summer at least this website will remain the way that it is. It would be too much trouble to keep updating it on iWeb and then moving it from my Mac to my PC and upload it. Maybe when I'm back at school with a high speed connection I will.
Light Map Editing 06/06/06
Happy Satan Day! I figured out that I need to have some way of editing blocks of light for later use. I recently created a whole new program for that. I can now easily make 16x16x8 bit blocks of light. This should help add to the realism of the game. Also I have recently started playing around with iWeb. I may change this website around a little bit using that, however I haven't decided yet, if I do it won't be for a while.
Back working! :-) 06/01/06
So I'm home, got everything settled down and back from my vactaion. I got my old Windows laptop to run just enough to run FreeBasic and FBIde. I've gotten back to working on Inspiration's builders. I forgot how hard it is to come back to a project that was sitting for a few weeks with poor commenting. I've decided to comment a bit more for the builders however I may or may not make the builders open source. I'm still hoping that a cross FreeBasic will go cross platform so that I can test it on my main computer, but the Acer is very fast. I'm making my Virtual PC on my iMac the standard for speed since it is fairly slow going there. I think on my Acer Inspiration will blister around 250 FPS so I'll have a LOT of room for advanced effects.
Here's the deal 05/04/06
Wow, its been a long time since my last update. I've been swamped with school work, but as of next week I am done with school for the summer so I will be working heavily on Inspiration. I've been doing some work recently, and meant to put up an update but for some reason FreeWebs doesn't support the Safari browser, so I simply downloaded Firefox. Over the summer I'll try to get a nice demo of Inspiration set up and running.
I've been around 04/04/06
First my Acer piece of crap crashes and forced me to get a new computer. I just got my new computer and got FreeBasic on it so I'll be starting up again with Inspiration. I'm working on figuring out a good way to save the sprites that is memory efficient and fast. I have multiple programming projects due this week that will take up most of my time so don't expect any updates until the end of the week.
Platform Clearification 3/22/06
I've gotten a few emails regarding what platforms Inspiration and it's
software is going to be running on. I guess some people got
nervous due to my screenshots. Inspiration and all of it's
associated software will run on WINDOWS. The screenshots were
taken from a computer using Windows Blinds. There is no OS X
version, you will have to use your virtual PC if you want to run in on
a Mac. Inspiration's code should be DOS compatible, but the
building tools require Windows dialogue boxes.
Sprite Editor Working! 3/21/06
I have finished working on probably the most complicated project dealing with the builder other than the actual map editor. It looks great and has a whole host of useful features. Take a look at this screeny.
I am currently working on adding a double buffering option of Wallace Visual Editor, but the code that it delivers keeps giving me a pointer error. As soon as I isolate and get rid of the problem I will release WVE 1.2 and a tutorial on how to fix your code to be compatible with the latest version of FreeBasic. Meanwhile you can continue to use WVE if you save your work as a WVE project, the new version will still be able to read these files.
WVE fixed, release delayed 3/10/06
I have figured out how to fix code that has been made with Wallace Visual Editor and fixed WVE to produce FreeBasic 0.16b compatible code. However, I have taken my computer in for service today and I may not get it back for a week or so. The damn thing crashed and created a whole mess of problems. Don't worry, FreeBasic and all of my Inspiration and other files are just fine on my secondary hard drive.