Worklog for Diablo

Worklog 1

Return to Worklogs

Books FTW(Posted 2006-09-15)
Um, YEA!

Should actually be able to read the books tonight, I hope. Apperently they are to massive for my lil sister to bring into college so I have to go and get them from my mums house.

Anyway I dought I'll read them for long I got some homework for graphic design which involes resreaching about 10 Graphics designers and then making my own designs based on there work.

The designers are:
Jamie Reid
Aubrey Beardsley
Bridget Riley
Tracey Emin
Michael Craig-Martin
Henri Toulouse-Lautrec
Andy Warhol <- The only one I know anything about :/
Peter Blake
Barbara Kruger
Paula Rego

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Fun in the ,um, somthing(Posted 2006-09-10)
The fun many be continuing soon as I just brought my self two new books ( yes I no about online tutorials, etc. but I hate reading text from screens + I like the smell of new books :).

anyways the book I got my self are...

Real-Time Collision Detection

and
Essential Mathematics for Games and Interactive Applications: A Programmer's Guide

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

New update(Posted 2006-09-10)
Check the thead for more details heres the run down:

Update 6a
-----------------------------

+ Added: A color incoder to textboxes , if textbox.processColors = true then you can do the following:

textbox.addtext ( "bob #c255000000the#c000000255 builder#c255255255." )

and the word "the" should apper RED and the word "builder" should apper BLUE.

+ Fixed: minor issues with comboboxes.
+ Fixed: minor issues with image buttons.
+ Fixed: minor issues with textboxes.
+ Upgrade: There might be better performance when loads of gadgets are on screen.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Resume(Posted 2006-09-03)
Though as before, not full time ( back to college 11th ).

Anyways I was working on the in-game character maker which is still only like 15% done, mainly because I keep changing the fudimentals in the character design every so often :/.

For those intrested heres the current full listen for main.bmx:

rem

	Ashmerr : Plains
	
	Fantasy ISO CRPG by diablo
	
endrem
SuperStrict

' -- Imports --
Import diablo.highge
Import diablo.highgui
Import binphx.tsconfig
Import binphx.squirrel

Import "Wisp/wisp.bmx"

' -- Includes --
Include "Functions.bmx"
Include "Types.bmx"

' -- Setup graphics --
AppTitle = "Ashmerr : Plains"
SetupGraphics ()
hi_THighGUI.Init ( "Media/GUI/" )

' -- Load the media --
TMedia.LoadMedia ()

' -- Setup the sctipt engine --
TScriptHandler.Init ()

Global game:hi_TGame
game = hi_TGame.Create ( "Ashmerr : Plains", 120, TMedia.screen_CreateCharacter )

HideMouse ()
game.Fire ()
ShowMouse ()


Good eh, eh!

Current Thoughts
I'm probally gonna have to hire an artist, etc later in developmnent, because the way the game is gonna look if I dont is POOR. Also I cant decide if I want the player to create the full party or your party members are more story based and you get to mabey choose who you have on your team.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

I'm still..(Posted 2006-08-20)
ALIVE, yes!

But a bit sidetracked.

I just joined a group of C++ programmers and having been working on a 2D engine based around Allegro. This has been fun to say the least has I has next to no expanice with allegro or really c++ ( only what lil knowagle i have gathered over the years ).

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Pause(Posted 2006-08-13)
On hold for a while again :/

I wnat to get a game finshed asap so I'm working on a vertical platformer which is currently 3 weeks in dev and almost done.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Well work continues...(Posted 2006-08-13)
Manily on the editor for that game.

I just added a spinner to change how many points a tile gives you...

erm but anyway.

I'll probally work on a tutorial soon on how to mabey create simple editor with highgui3 or mabey just a normii tutorial ( dont ask me what one of those is plz ).

Also i wanted to get my themes section open up. So if you have a theme that works with HighGUI3 then send it to me and I'll upload it to the site for download ( email in profile ).

Also in other news , I did add a donate button finally. Just got to the HighGUI3 site ( or diablogames site ( click the image in my sig ) ).

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Fixing stuff...(Posted 2006-08-10)
Just be spending what time I have on HighGUI3 on fixing bit and peices. Also added a center icon to listboxes and a spacing value. I was thinking of adding a ImageList but mabey that will be in the future a bit more.

Apart from the above, I have also been using HighGUI3 to create an editor for a game i'm working on ( which has helped me iron a few things out as usual ).Anways I created a small demo movie which shows just what I envisioned HighGUI3 to be used for.

You can view the demo movie Here

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Updated(Posted 2006-07-31)
Just uploaded the update.

Check the highgui3 site for more info. (link is in sig)

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Update nearly done(Posted 2006-07-31)
the update is nearly done and will be released for download later today (monday).

so far I have done the following
+
 Added a lock and unlock method to windows.
+ Smooth scrolling listboxes.
+ Fixed a clipping - viewport problem with listboxes.
+ Added hi_TCreate basic - which you can use just like a pannel OR set 
the alpha to 0 if you just want to group objects to gether.
+ Added a character limit to textboxes.
+ Added a max line length to textboxes.
+ Fixed a *minior* problem with hide. ( I hope )


I couldnt really Optimize the rendering as its a real time GUI (i.e. you'll call cls a lot and the gadgets will need to be redrawn anyways)

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

status update(Posted 2006-07-25)
not so much a worlog entry but just for those who want to know...

the new ISO engine is basically done and i have updated the story:



Thats just the premiss for the game not the whole story which I'll not post as then there'd be no point playing the game.

I'm still working on the premiss and will probally change/tweak it some time - for now it'll do.

I really want to get the game working soon but every time I open up the source I just get programmers block :( AND ITS REALLY ANNOYING.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Sadly...(Posted 2006-07-25)
i have not done that much latey .. im sure that'll be able to release the next update soon (next monday) as most of the stuff is prety easy.

On a side note though , i did get highgui working with mini3bd as someone emailed me asking me how. It was prety simple just chage how you startup the graphics and and a couple of functions like start_max2d and end_max2d stuff.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Update list(Posted 2006-07-16)
Seeing as i'm to sick to do anything else (code wise). I thought you might like to see whats going to be done for the next update:

Update 5 (in development)
+ Locked Flag for windows. (i.e. they will be enmovable) (TODO)
+ Smooth scrolling listboxes. (DONE)
+ Fixed a clipping - viewport problem with listboxes. (DONE)
+ Add a borderless flag to windows. (TODO)
+ Add a panel gadget. (i.e. an invisible gadget to group gadgets together) (TODO)
+ Optimize rendering / Update. (Looking into it)
+ Add a character limit to textboxes. (TODO)
+ Add a max line length to textboxes. (TODO)
+ I'm sure there was more...


Post/email suggestions and I'll get right back to you.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Go Figure(Posted 2006-07-04)
I didn't do much to wisp today (the actual name of the ISO engine the CRPG will use), acyually I didnt do anything towards this today - apart from load it up in BLide once , run it and think - 'Bloody hell why wont this work :/'. Anyway what time I did have today was spent working on a new update for HighGUI.

I'll tell you what, its really hard working on maintaing THREE projects, all for free. I cant decide if I want to add a lil bit to this one , or mabey more to that once, etc. anyways...

I'm having problems with collisions again, however this new problem has only reared its ugly head once I added Height to volume collisions. I think I told you guys already, I want it so it can automatity handle collision responses and I also want it to be possible of you to place objects on top of one-an-other so that players can 'jump about' like in a real 3D game or sumthing. its a real pain in the place where the sun dont shine.

I once I have fixed this problem - I'll probally post a movie showing what I mean by 'jumping around'. I was thinking somthing else that would be cool, if I made another response to collisions where you can push the collided object, that'd be cool if you wanted to make ISO puzzle games ;)

mmh , bit of a ramble -this is not like me, not like me at all!

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

More updates..(Posted 2006-07-04)
Update 4a

+ Fixed: Problems with IsMouseOver()
+ Fixed: Memory leak - Many thanks to Yannis Deliyannis for this.
+ Added: SetTabIndex (index%)
+ Added: GetTabIndex% ()
+ Added: Flags Param to hi_CreateWindow and hi_TWindow.Create
+ Added: Flag - hi_TWindow.FLAGS_MINIMIZEBOX ' Sets if the minimize box is visible.
+ Added: Flag - hi_TWindow.FLAGS_FLAGS_KEEPINPARENT ' Makes it so the window can not be moved 
out the bounds of its parent.
+ Added: GetItems() to listboxes and comboboxes
+ Added: ClearItems() to listboxes and comboboxes
+ Added: OnClose (window:hi_TWindow) to hi_TWindow (windows)
+ Changed: Free method no longer returns a hi_TGadget (no use for it I can think of)


Oh hum not much of a work log I think...

Anyway I'll say this - this update was only half a days work so so stuff may be broke now, but what I have tested it with works. I really like the addition of OnClose(). I've been meening to add that for a long time but couldn't think of a nice way to implement it - in the end it seems to work preaty well the ways its been done.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

fixed ;)(Posted 2006-07-03)
.. Just thought I'd say that I have now fixed the collision problems I was having.It was a simple task of updating the position of the bounding box (volume) by snycing it with the position of the sprite. Uhm I also did other stuff today like make another movie...

Pryo_Sol_Collision2.wmv ~ 3MB

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Done,(Posted 2006-07-02)
I have added Two more types two the engine.

w_TObject - This is basicaly an entity within the ISO world. It can react to collisions as long as collisions have be setup between the this objects #id and any other given #id. The idea behinde this type is to automate simple collision tasks.

w_TCollision - This is just two ids that can collided together: It also contains the response when two objects of a given ID collide.

I'm haveing some trouble with collision but I hope they wont be too much trouble to sort out - unforntaly I have wont have that much time to develop this ISO engine over the coming month - sigh :<

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

ToDo List(Posted 2006-07-01)
I thought I might write down a little to-do list for the engine so far:

+ Add: Fog Of War
+ Add: Add a height value to bounding volumes - so you can jump on stuff
+ Add: Map layers so I can possibly add texture blending ( NOT true texture blending I guess ).
+ Finshes: Tidying up my code - Put everything into types and make sure the types have nice methods that are related to them.
+ I'm sure I forgetting somthing

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Bounding Volumes(Posted 2006-06-30)
I'm working on bouding volumes now, Which was extremaly easy thanks to the two tranformation functions I came up with lower down.

Aways, heres somthing different - A MOVIE
Pryo_Sol_Collision.wmv ~ 3 MB

Oh, and if you watch that, you'll find out the kinda music I listen to ( didnt no fraps captures music too ).

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Z-Order(Posted 2006-06-30)
I got Z-Ordered Sprites working in the new engine:






I still need to implement Fog Of War (FOW). Mabey lighting to - Tho this would probaly be best pre-calucated , kinda like light maps.

The screen grabs are from a little shooter demo I'm working on to test out odds and ends in the ISO engine.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

DX(Posted 2006-06-27)
I decided to update HighGFX to allow you to draw polys while using directx. I wanted to know if it would be any faster, and it was - by about 50fps ~40. It was a stuggle tho because I really dont understand directx. First of all it wasnt drawing the polygons corretly, then the colors were all wired and screwd up. But finaly I got it working :)

On the side of the ISO engine - well not much has been done here, but this is because I spent last day up dating HighSpline editor which was a fun break.

On a slighty different note - I got a scanner (dont know if it works tho), which means I might start doing so artwork with my somewhat poor skills. I was thinking of drawing the characters, etc. then modling them in a 3D app - then taking an ISO render from the 3D model and using that in game. I really dont like the plastic effect that you normally get by doing this tho, so we'll see.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Oh the joys...(Posted 2006-06-22)
of ISO programming.

So now I have almost finshed the basic parts of the ISO engine (the drawing and point transforming) I can start of the more graphical side of things. I was thinking of adding texture blending, which shouldnt be to hard. I'm just worried about the speed cost. I think I'm going to have to try and speed up the drawing of the polygons.

Any ways below are two screenies of the new engine:




I'm find that by far the hardest part of writing an ISO engine is figuring out how to releate a realworld point with one in the ISO world. Going trough tutorials and such like on the web can be fairly misleading, esplically when they get onto the subject of point transformation, Specially when they talk about transforming the mouse position. They normally say that some sort of mouse map is required as well as normal tile mouse mapping - just to make sure that the mouse is over this tile and not the one in the NW of the current tile block. When in reailty there is a much much much more easier way of doing this (which all so happerens to be many times faster).

Heres the two functions I normaly use to transform between both real world and ISO world coords:

Function TransformToRW%[] (x%, y%)

	Local ip%[2]	
	ip[0] = x - y
	ip[1] = (x / 2) + (y / 2)
	
	ip[0]:+ (tilewidth / 2)
	
	Return ip

End Function

Function TransformToISO%[] (x%, y%)

	Local ip%[2]
	
	x:+ mx - (( myMap.pixWidth / 2 )  - (tileWidth / 2))
	y:+ my
	
	ip[1] = ((2 * y - x) / 2)
	ip[0] = (x + ip[1])
		
	ip[0]:- (tilewidth / 4)
	ip[1]:+ (tileheight / 4)
	
	Return ip

End Function


Thats all there is two it.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Updates , again(Posted 2006-06-22)
Updated:

This add to be the most annyoing update ever and it all came down to simply moving a single line up a bit into an if...endif

ARGHHH

Also I added VScrollbars to textboxes for those multiline textboxes that need to be scrolled through (much like the one i'm typing in right now).

Check the download site (link in sig _Down there, nere W.I.P)

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

I'm still on this...(Posted 2006-06-21)
YES I AM!

Started work on a new ISO engine (private use ONLY). Its
gonna use my Graphics libary (HighGFX) which means that
instead of having to draw 2D tiles in an ISO view, I can
just create some texture - apply it to a hi_TPolygon.

All in all it should look much better and be easier to
work with (from an artist point of view).

Heres what I have so far (because its useing my graphics lib I can set the color/alpha of each corner* of each tile):


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Mr Updates..(Posted 2006-06-14)
Just updated the GUI, check the download site for change log + linkto download.

Still working on fixes here and there, and adding scroll bars to textboxes (multiline).

Oh and the tutorial, erm its comming along. I dont care what anyone says, tutorial writing is very hard.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Updates(Posted 2006-06-08)
Working on a few updates, i.e.

- textboxes will have SetCaretImage(image) and GetCaretImage()
- textboxes will get toggleDrawBackframe(toggle)
- etc, requests
- Better examples (that actualy do stuff)
- mabey a message box function.
- lil tutorial

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Hey(Posted 2006-06-05)
Just to let ppl know that I havent forgottent this.

This might be heading in a different direction now tho, what direction I'm not sure of tho.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Lite Download..(Posted 2006-06-01)
Check here if you can. You should be able to download by clicking either version.
http://myweb.tiscali.co.uk/diablogames/images/HighGUI_3/Site/Download.htm

For documentation please check diablo.mod/highgui.mod/doc or http://myweb.tiscali.co.uk/diablogames/images/HighGUI_3/Site/Help.htm

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Hehe...(Posted 2006-06-01)
Just created a load of demos to show of the gadgets so far.
Click on a gadget name HERE To see a screenie of the gadget.

Listed below is the code for each gadget demo:
Windows


Buttons


Pictureboxes


Canvases


Tabgroups


Listboxes


Comboboxes


Scrollbars


Labels


Tickboxes


Radioboxes


Textboxes


Progressbars


Groupbox


Spinners


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Documentation Almost...(Posted 2006-06-01)
Documentation is almost done. Just got to do a few more functions
here and there. Also the site has change a fare amount over
the past few days, I hope it looks better now.

Anyways Direct Link To Docs So Far.

Still a fare amount to do, demos, etc, etc.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Website Underway...(Posted 2006-05-25)
Started making the website this afternoon.

HighGUI Website

I think it looks awsome!

Link can also be found in sig, under _HighGUI 3_

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Almost there(Posted 2006-05-25)
Just finshed adding progress bar (which have some better methods).

Now I think I shall begin on documenting this beast and
mabey work on a mac theme.

I'll probaly create online documents so I guess I'll
work on a mini site for HighGUI were you can download the
module, examples etc. and also see screen shots.

I was also think of hosting user themes, i.e. e-mail me
a theme and I'll host it on site and add it to a catolgue
of themes.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Two more Gadgets!(Posted 2006-05-25)
So far today I have added Two more gadgets!

The spinner control and tabs. The new engine is making it
real easy to add more gadgets its just a matter of speific
gadget coding that is troubling. Any way heres a screenie
of the two new gadgets:


I should mention that this time the tabs scroll smoothly
across the top. Just like the ones in BLIde :D

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

New Theme(Posted 2006-05-24)
Yup I tho i'd try and make a new theme to see if there were
any problems with themes. Its a good job I did as well because
there were quite a few problems, mainly with setting gadget
sizes.

I also updated the demo so the listboxes work correctly.
You can also use a combobox to choose a theme (I love my
live themes :).



> DOWNLOAD HERE <

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Better Demo(Posted 2006-05-23)
EDIT: Code For Demo>


EDIT: Fixed! Not For Download Tho

EDIT: Problems With List :(

After adding some finshing touches to the comboboxes I created
a better demo to mix HighGfx and HighGUI together. Its
prety cool so far:


Even if I do say so my self :)

Anyway I tho I'd let you ppl download the demo so you can
see if it will work. I wouldnt worry if you PC dosent
support FBO's ethier as it just wont update the texture so
it so be fail safe.

> DOWNLOAD HERE <
I wouldnt mind if you emailed (in profile) me your avarage FPS.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Got Comboboxes...(Posted 2006-05-23)
Almost, as always I need to add a few functions here and there
for maintaining items etc. This time comboboxes appere to
actually work much better, in that the listbox dosent
fight with other gadgets to get to the top.

Well heres the eye candy:


LIST OF GADGETS DO FAR:

+ Windows
+ Labels
+ Buttons
+ Canvas
+ Picturebox
+ Tickbox
+ Radiobox
+ Groupbox
+ Scrollbars (H & V)
+ Listbox
+ Combobox

^^ Lite version almost done I guess. I just need to tidy up
do some little tests here and there and soon the new HighGUI
engine will be released. YA!

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Almost endings of Listboxes...(Posted 2006-05-22)
Listboxes are almost done, I just added scrollbars to them
(which i'll make o you can show or hide). Easy stuff to do
so I've been spending the rst of the day pawning on ET and
Stuff. Any ways this wouldnt be a work log entry with out
a screenie:


Comboboxes here we come>

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Begings of Listboxes(Posted 2006-05-22)
I start work on textboxes today and so far they apper to
be working. They arent exacaly the hardest gadgets to code
but they are irritating because you have to code so many
tool methods for adding, editing, etc. for the gaget items.

I still have to add scroll bars to them and add a few more
tool functions, but heres what they look like so far. Oh
any I set the alpha of the window down just to see if that
was still working:


When the listbox is down its combo boxes next.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Testing(Posted 2006-05-21)
I really didnt do much over the weekend apart from clean up
a few things here and there (maily textbox releated , I just
love them).

So apart from cleaning up I tho I'd try and make a simple
demo with what I have got so far (no download tho). It was
basicaly to test how easy it is to use the GUI so far and
I can tell you, the results were pleasing, almost too pleasing.

The brilliant thing about the test is that I decided to try
my graphics module in conjuction with this GUI module, and
to be frank I was expecting all sorts of problems trying
to get the two to work together, however There Were NO
PROBLEMS What So Ever
.

Heres a screenie of the result (which dosent do it any justist):


Mabey i'll expand this test and throw together a exe to download and try.

I'm so happy right now!

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Textboxes(Posted 2006-05-19)
I added textbox controls to day:


I'm extremly happy with how they have come out, much easier
to code then in pervious version (i mean the control was
not that there be any easier to work with (which they are
any way)). The textboxes are fully editable but I just need
to add textwrapping mabey and also making it so you can have
single line textboxes (i.e. specify the amount of lines).
Lots of lil things like that still need to be done.

I was thinking of mabey making a rich text box in which you
can tell it to have a different font/color for any word. Tho
that will be a long way down the road.

Any way got to code this lil methods, etc.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Scrolly FTW(Posted 2006-05-18)


I admit it I got distracted this week and didnt start work
on the HighGUI till today. But finally I got scroll bars
working, and they are much bette then in previous versions
in which you couldn't set the max value of a scroll bar
greater then the pixel size of the scroll bar XD.

Just need VScrollbars and then they are basicaly done.

After this I'll work on more utitlty functions for each gadget, Mabey!

EDIT:
LOL I keep forgeting 'Import brl.FreetypeFont' Doh!

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Weekdays...(Posted 2006-05-15)
Back to working on this, tho now I realy want to try some
stuff in opengl after reading the superbible, sigh.

Well at lest the beta thingy is working so I have a SUPER
COOL IDE to program this gui in (great work ziggy). I didnt
get anything done gui worthy to day, but i'll start tuesday.

I keep meaning to mention that this time round the GUI will
be in a module format. Actually did I say that already ?).

Anyway.. Back to work

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Weekend...(Posted 2006-05-13)
I'm going to have the weekend off...

Mainly because I want to continue this when I get a certain
beta product, but also because I should be getting OpenGL
Super Bible, and I want to read it. Tho I will proly do
some more work on this over the weekend.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Got Groupboxes..(Posted 2006-05-12)
Simple to add and yet I have only just done so!?!?

meh, MEH I say.

Anyway..

There we'r a few gadgets I didnt mention that I will proly
include in the lite version. e.g. Combo boxes, They will be
added to the Lite version. Also I didnt mention about common
dialogboxes either. I will add a message box, open/save and
rez selector dialog.

Also I thought I might tell you that I'm using a different
drawing method which is acually slower(tileimage as aposed to
drawimagerect). I will get the option to use the first method,
but I'm not sure how yet, mabey in the themes or mabey as
a toggle function (i.e. SetDrawMethod(DRAWMETHOD_TILE / DRAWMETHOD_SMOOTH (subject to learing to spell correctly).

Now I have to add the harder to code gadgets, mabey i'll start
with scrollbars (they allways a pain in the ass).

Headsup on the lite version: I'm only releasing the lite
version so I can get feedback and bugreports asap, because
all the gadgets basicaly use the same methods (extended from
hi_TGadget) any bugs found will be (hopefully) easily fixed
while I work on the more tool like gadgets.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Got Tickboxes / Radioboxes...(Posted 2006-05-11)
They were easy to add in the end. The only problem I had
was when I assigned a loaded image to the wrong gadget and
it was giving me Array Index Out Of Bounds <or whatever that
error is>.

Next up I think i'll add group boxes..

Themes
Updated how the theme.ini is looking...
# Windows 3.11 Theme for HighGUI 3
# Author: Stefan J Lulham
# Email: diablo_tk@...
[GEN]
TEXT_NORMAL_FONT=arial.ttf
TEXT_NORMAL_FONT_SIZE=12
TEXT_OVER_FONT=arial.ttf
TEXT_OVER_FONT_SIZE=12
TEXT_ACTIVE_FONT=arial.ttf
TEXT_ACTIVE_FONT_SIZE=12
TEXT_DISABLED_FONT=arial.ttf
TEXT_DISABLED_FONT_SIZE=12

[WINDOWS]
WINDOW_CAPTIONTEXT_FONT=arial.ttf
WINDOW_CAPTIONTEXT_FONT_SIZE=12
WINDOW_CAPTIONTEXT_AL=1
WINDOW_CAPTIONTEXT_XOFF=0
WINDOW_CAPTIONTEXT_YOFF=3
WINDOW_CAPTIONTEXT_NORMAL_COLOR_R=0
WINDOW_CAPTIONTEXT_NORMAL_COLOR_G=0
WINDOW_CAPTIONTEXT_NORMAL_COLOR_B=0
WINDOW_CAPTIONTEXT_SELECTED_COLOR_R=255
WINDOW_CAPTIONTEXT_SELECTED_COLOR_G=255
WINDOW_CAPTIONTEXT_SELECTED_COLOR_B=255

WINDOW_CAPTIONBUTTON_CLOSE_AL=2
WINDOW_CAPTIONBUTTON_CLOSE_XOFF=0
WINDOW_CAPTIONBUTTON_CLOSE_YOFF=0
WINDOW_CAPTIONBUTTON_CLOSE_COLOR_R=255
WINDOW_CAPTIONBUTTON_CLOSE_COLOR_G=255
WINDOW_CAPTIONBUTTON_CLOSE_COLOR_B=255

WINDOW_CAPTIONBUTTON_MAX_AL=0
WINDOW_CAPTIONBUTTON_MAX_XOFF=0
WINDOW_CAPTIONBUTTON_MAX_YOFF=0
WINDOW_CAPTIONBUTTON_MAX_COLOR_R=255
WINDOW_CAPTIONBUTTON_MAX_COLOR_G=255
WINDOW_CAPTIONBUTTON_MAX_COLOR_B=255

WINDOW_CAPTIONBUTTON_MIN_AL=0
WINDOW_CAPTIONBUTTON_MIN_XOFF=0
WINDOW_CAPTIONBUTTON_MIN_YOFF=0
WINDOW_CAPTIONBUTTON_MIN_COLOR_R=255
WINDOW_CAPTIONBUTTON_MIN_COLOR_G=255
WINDOW_CAPTIONBUTTON_MIN_COLOR_B=255

WINDOW_FRAME_W=4
WINDOW_FRAME_H=4

[BUTTONS]
BUTTON_TEXT_AL=1
BUTTON_TEXT_XOFF=0
BUTTON_TEXT_YOFF=0
BUTTON_TEXT_NORMAL_COLOR_R=0
BUTTON_TEXT_NORMAL_COLOR_G=0
BUTTON_TEXT_NORMAL_COLOR_B=0
BUTTON_TEXT_OVER_COLOR_R=0
BUTTON_TEXT_OVER_COLOR_G=0
BUTTON_TEXT_OVER_COLOR_B=0
BUTTON_TEXT_ACTIVE_COLOR_R=0
BUTTON_TEXT_ACTIVE_COLOR_G=0
BUTTON_TEXT_ACTIVE_COLOR_B=0
BUTTON_TEXT_DISABLED_COLOR_R=145
BUTTON_TEXT_DISABLED_COLOR_G=145
BUTTON_TEXT_DISABLED_COLOR_B=145

[PICTUREBOX]
PICTUREBOX_FRAME_W=1
PICTUREBOX_FRAME_H=1

[TICKBOX]
TICKBOX_TEXT_NORMAL_COLOR_R=0
TICKBOX_TEXT_NORMAL_COLOR_G=0
TICKBOX_TEXT_NORMAL_COLOR_B=0
TICKBOX_TEXT_OVER_COLOR_R=0
TICKBOX_TEXT_OVER_COLOR_G=0
TICKBOX_TEXT_OVER_COLOR_B=0
TICKBOX_TEXT_ACTIVE_COLOR_R=0
TICKBOX_TEXT_ACTIVE_COLOR_G=0
TICKBOX_TEXT_ACTIVE_COLOR_B=0
TICKBOX_TEXT_DISABLED_COLOR_R=145
TICKBOX_TEXT_DISABLED_COLOR_G=145
TICKBOX_TEXT_DISABLED_COLOR_B=145

[RADIOBOX]
RADIOBOX_TEXT_NORMAL_COLOR_R=0
RADIOBOX_TEXT_NORMAL_COLOR_G=0
RADIOBOX_TEXT_NORMAL_COLOR_B=0
RADIOBOX_TEXT_OVER_COLOR_R=0
RADIOBOX_TEXT_OVER_COLOR_G=0
RADIOBOX_TEXT_OVER_COLOR_B=0
RADIOBOX_TEXT_ACTIVE_COLOR_R=0
RADIOBOX_TEXT_ACTIVE_COLOR_G=0
RADIOBOX_TEXT_ACTIVE_COLOR_B=0
RADIOBOX_TEXT_DISABLED_COLOR_R=145
RADIOBOX_TEXT_DISABLED_COLOR_G=145
RADIOBOX_TEXT_DISABLED_COLOR_B=145


As you can see at the top under the group [GEN], there is
a whole bunch of font stuff. They are basicaly just default
fonts that get used depending on the gadget state. However
I have yet to fully hardcode the use of the default fonts.
(RenderIn is a good place to put this code I think).

EDIT : OH a screenie: >


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Got Pictureboxes...(Posted 2006-05-10)
Yup , Thats right PictureBoxes. Basiclay
Used to display a static image, however there is also the
SetPictureFrame which means that you can animate them.

The picture displayed WILL be effected by the color of the
gadget so setting the gadgets color to red will mean that
the picture is displayed with red channel.

ALSO picture boxes can have the frame drawen OR not.

I might release this soon, as lite version. Basicaly
with out any advanced controls like MENUS (which are a
real pain in the ass to code).

mm..

Planned features of lite version (basicly Beta version):
Lite Version Of HighGUI Feature List:

GADGETS:
	+ Windows
	+ Push Buttons
	+ Toggle Buttons
	+ Popup Buttons
	+ Canvases
	+ Pictureboxes
	+ - TODO -
	+ H Scrollbars
	+ V Scrollbars 
	+ List boxes
	+ Tick boxes
	+ Radio boxes
	+ Groupboxes

WONT INCLUDE:
	+ Menu/Menubars
	+ Context Menus
	+ Treeviews
	+ Docking <- Might not do this FULL STOP (Because of auto arrange).

INFO:
	+ Coustomizable Themes
	  -----------------------
	  You can easily create themes  by providing the correct images for
	  each of the gadgets. The images can be any size BUT must have the same
	  number of frames X wise and Y wise.

	+ Auto arrange
	  -------------------------
	  You can easily arrange gadgets to conform  to a grid.
	  I.e ArrangeChildren(grideWidth, gridHeight).
	  The order of arrangement is based on the order of
	  hi_TGadget.ChildList.

	+ About
	  -------------------------
	  The lite version will be intended for use in a game
	  environment, rather then for creating tools. Hence not
	  includeing controls like treeviews.

DONT PANIC THO:

	I will add these controls later on, and when I do the lite
	version will be no more.


Oh and verything will still be free in case you are thinking
that i'll be realesing a PRO version that cost somthing, beacuse
I wont.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Got Canvaseseses...(Posted 2006-05-10)
I decided to Create the canvas gadget after labels
(which now have SetTextColor & SetTextAlpha). Canvaseseses
Are done using function pointers for now - this means
that what you want to render is rendered at the correct
time, in order with the gadgets z value.

Screenie:


And the sig of the render function is
OnPaint(cw%, ch%)

cw = Client Width
ch = Client Height

it uses set origion so you wont need to worry about
using gadget.x & gadget.y all the time.

You assign the function just like you would a varible
, below is some striped down code:


Its all every simple :D

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

mehh(Posted 2006-05-09)
After a day of playing et..
i got labels done. Also I tried out
making the set font etc. That works also
I just need to addsettextcolor.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Just to say...(Posted 2006-05-09)
I've got the other types
of buttons done. There is Popup
which Popups when the mose is over the
button, also toggle button which changes
bettewn up / down depending on the
toggle state. Also toggle buttons have a group
which means that if one toggle button in th
group is 'up', all the others will be
down.

Now labels - And This Will Be Easy.

Why didnt I do labels first?
Because I wanted to play around with buttons... simple.

After labels i'll do tickboxes. And then radio buttons
I guess.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Got Buttons...(Posted 2006-05-09)
Last night I did more testing on windows
and found a few more bugs that got me really
irritated. But any way, I think they work
perfectly now.

So I started work on buttons and found out I
had input problems where it wasn't detecting
if the mouse was pressed. So I changed some
code, fixed a few things here and there, and now
it works... at lest I hope it dose... I think this
might mean that you have to use hi_THighGUI.IsMouse[hit/down/pressed](button) instead of using:
Mouse[hit/down](button).

They also draw correctly with null parents as well:


I only have push buttons at the mo.. next up is popup
buttons then toggle buttons and of course group buttons.

Also I was think of adding auto arrage functions which
position children of a given gadget (including null)
in a neat list fashion. This should help for creating
visual list and like.

cya.

^^ opps

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Quick Update(Posted 2006-05-08)
Just to say I fixed the relocation problem and now I can
start adding more controls. I'll start with buttons And then labels.

Also more todo with the egine side..

I added a state type , you state.pop and state.push (thats misleading - should be push then pop :).
Just helps when you want GUI rendering to not effect
other stuff becuase there is a lot of setviewport etc.
going on.

Also I'lltry and make it so each gadget can have a diferent
font, and font size.

Oh and if your wording why it looks like windows 311, well
I just got 311 running in dosbox so I thought why not...
anyways heres what the theme.ini thingy is look like so far.
# Windows 3.11 Theme for HighGUI 3
# Author: Stefan J Lulham
# Email: diablo_tk@...
[WINDOWS]
WINDOW_CAPTIONTEXT_FONT=arial.ttf
WINDOW_CAPTIONTEXT_FONT_SIZE=12
WINDOW_CAPTIONTEXT_AL=1
WINDOW_CAPTIONTEXT_XOFF=0
WINDOW_CAPTIONTEXT_YOFF=3
WINDOW_CAPTIONTEXT_NORMAL_COLOR_R=0
WINDOW_CAPTIONTEXT_NORMAL_COLOR_G=0
WINDOW_CAPTIONTEXT_NORMAL_COLOR_B=0
WINDOW_CAPTIONTEXT_SELECTED_COLOR_R=255
WINDOW_CAPTIONTEXT_SELECTED_COLOR_G=255
WINDOW_CAPTIONTEXT_SELECTED_COLOR_B=255

WINDOW_CAPTIONBUTTON_CLOSE_AL=2
WINDOW_CAPTIONBUTTON_CLOSE_XOFF=0
WINDOW_CAPTIONBUTTON_CLOSE_YOFF=0
WINDOW_CAPTIONBUTTON_CLOSE_COLOR_R=255
WINDOW_CAPTIONBUTTON_CLOSE_COLOR_G=255
WINDOW_CAPTIONBUTTON_CLOSE_COLOR_B=255

WINDOW_CAPTIONBUTTON_MAX_AL=0
WINDOW_CAPTIONBUTTON_MAX_XOFF=0
WINDOW_CAPTIONBUTTON_MAX_YOFF=0
WINDOW_CAPTIONBUTTON_MAX_COLOR_R=255
WINDOW_CAPTIONBUTTON_MAX_COLOR_G=255
WINDOW_CAPTIONBUTTON_MAX_COLOR_B=255

WINDOW_CAPTIONBUTTON_MIN_AL=0
WINDOW_CAPTIONBUTTON_MIN_XOFF=0
WINDOW_CAPTIONBUTTON_MIN_YOFF=0
WINDOW_CAPTIONBUTTON_MIN_COLOR_R=255
WINDOW_CAPTIONBUTTON_MIN_COLOR_G=255
WINDOW_CAPTIONBUTTON_MIN_COLOR_B=255

WINDOW_FRAME_W=4
WINDOW_FRAME_H=4


With hope there should be less constraints on theme
creation.

NOTE* the font stuff at the top will be for the caption text only of the windows.. you will hopefully be able to set a font by doing somthing like gadget.SetFont("blah.ttf", 24)

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

More Windows...(Posted 2006-05-08)
Testing is so important...

After trying to do many different things with the windows, I came across a problem with my IsIn method. Basicaly it would lock up if I tried to detect if the mouse ( or any point ) was in the gadget BUT also in the parent. Found the problem was an infinit loop and so instead of doing somthing like if parent and parent.isin(x, y) = false then return false , which means calling the isin method of the parent, I just do a rect test if parent and parent.clientRect.IsIn(x, y) = false return false. Because the IsIn for a rect is different it wont lock into an infinit loop. Acually I still dont fully understand the problem :(

Any way here is an updated screen shot:


This screenie shows it being used in an MDI kinda like way. I had problems with clipping in pervious versions of HighGUI which ment this wanst possible.

Also there dosent seem to be a problem with background windows picking up mouse events when a window was on top.

There is still one tiny problem with them at the moment where it repositions a child window when you click on the parent - NOTE this only happens the first time you click on the parent but any other time afterwards its OK - so mabey this is about setting a varible incorrectly which is a pain in the ass when working in a family environment (programming wise).

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Windows(Posted 2006-05-05)
Got windows:


Took longer then expected due it being my brithday last day.

Next Buttons or mabey Labels.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Framework in Place(Posted 2006-05-03)
Got the basic framework done. Just need to test it now but it appers to work.

Heres a shot - not much to look at tho:


After testing I'll create the window gadget.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

HighGUI 3(Posted 2006-05-02)
So while I wait to get back into college doing yet more computing, I.T. and business (which it apperes i'm better at ;), I am going to update my GUI.

This time Its going to be much better, faster, easier and better - so hopefully it'll be better. Its going to be based on my GUI Base Code, which means that the basic framework is already done and I just need to consider how I want to go about coding it.

One the hardest tasks i'm finding to complete is how can I make it easily skinable (for games, etc.). I will probally stick to the way that I am already to it i.e. loads of seperate images and a theme config file.

Once thats done its a *cough*simple*cough* matter of creating the controls.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

For Your eyes only..(Posted 2006-03-14)
heres the updated back ground (only because i uploaded by mistake):


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Today...(Posted 2006-03-14)
Today I did some of the core engine coding. I have opted to have it a bit less scripted base but this is still pending...

I also create a monkup for what the classes will look like in xml:
<?xml version="1.0"?>
<a_TClass> 

	<name>Fighter</name>

	<description>
		The fighter is a born leader. He is a stong ally but a powerful~
		foe. The fighter is a warrior and an expert at melee combat with~
		any weapon. Powerful as a fighter is, his only weakness is against~
		magic. The fighter can neither cast magic, nor reisist its effects~
		as well as a spell caster might be able to.~
		~
		The primary attributes of a fighter are Strength and Dexterity.~
	</description>

	<attribute_effects>
		<maxHP>2</maxHP>
		<strength>3</strength>
		<dexterity>1</dexterity>
		<constitution>2</constitution>
	</attribute_effects>

	<level_table>
		<level>0</level>
		<level>100</level>
		<level>200</level>
		<level>300</level>
		<level>400</level>
		<level>500</level>
		<level>600</level>
		<level>700</level>
		<level>800</level>
		<level>900</level>
		<level>1000</level>
		<level>2000</level>
		<level>3000</level>
		<level>4000</level>
		<level>5000</level>
		<level>6000</level>
		<level>7000</level>
		<level>8000</level>
	</level_table>

</a_TClass>


above we have a simple fighter class in its xml state. As you can see its not that amazing and because its xml it pretty much explians its self. Tho i did have to think of a way for doing multilines so i just put a '~' and the end (because i tried other methods ~n~r ~r~n and such like to no avail) and came up with a simple function to draw it much like draw text:
rem
	Helper function to draw lines of text
endrem
Function DrawTextLines(text$, x%, y%)
	
	Local lineList:TList = CreateList()
	Local lineText$
	Local Size% = 1
	Local curLine = 1
	
	For Local i% = 0 Until text.length
		If Mid(text, i, 1) = "~~" Then
			i:+ 1
			lineList.AddLast(lineText)
			lineText = ""
			Size:+ 1
			curLine:+ 1
		Else
			lineText:+ Mid(text, i, 1)
		EndIf
	Next
	
	Local k%
	For Local j$ = EachIn lineList
		DrawText j, x, y + (GetImageFont().Height() * k)
		k:+ 1
	Next
	
End Function


Well thats it for today (well thats all the news you'll get today but thats not all the work done today)

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Got Bord...(Posted 2006-03-13)
This morning and made a title screen picture:


I have to say this is the best peice of computer artwork I have EVER done. I decided to make the background a full picture, but I have tonned done the colours a lot for the background so as not to be to much to look at. At some point i will repleace the background picture with a better hand drawen version but it will do for now. As far as the title text 'Ashmerr: Plains', that will stay as is, its the best looking title have ever done, and also a fluk too - i clicked the wrong effect to apply (fur) and i turn out like that. I tired to make the 3d effect more matted rather then shiney* because i prefer it that way :P.

BTW, I know I may of over done the sun flare a bit but it hides some ugly parts of the background :D.

And yes there has been a title change (and it will probaly change again) from Plains Of Ashmerr to just Ashmerr:Plains. The first title was way to long for my liking so there.

Excuse me while I admier my work for the next couple of hours.

UPDATE:
Not note worthy but...
I toned done the sun flare a bit and it dose look better. You can no longer see the small circles and there are less rays. Its also a bit less blue - but you probally wouldnt notice ;D

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

A4 is out (for windows) yay(Posted 2006-03-03)
Playing A4 at the mo so....

Apart from that i have made a main menu screen mockup:


also being working on gui stuff..

sorry its not much info :(

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

The story(Posted 2006-02-26)
Heres a little WIP of the story...

Plains of Ashmerr is a single player RPG set in the world of Ashmerr. The game starts 
one hundred years after a great battle took place on the plains of Ashmerr. The battle fought 
on the plains was a battle between the humans of the land and the giants of the 
mountains. The meeting of these two races on the plains was not intended to become a 
battle, in-fact it was supposed to be the start of a great treaty however an ambush 
against the humans invoked the battle and soon all signs of peace were forgotten.

Now, after one hundred years of fighting, both races have begun to speak of peace 
once more. The signing of a treaty is once more in sight, but there is one more 
message to be sent to the king of the giants and a party of hero’s is assigned to take 
the message. This is no mission for the weak of heart though, the mountain passes are 
anything but easy to navigate and even more troublesome are the recent sightings of 
monsters appearing in the land once more attacking farmers working on the outlands 
and kidnapping children while they sleep.


Please remember I only got a D in english ><.

GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Just to say...(Posted 2006-02-12)
I'm back on this project. I have to finsh off this armour moudle but i have also been think about creating a varible system so that you can create your own varibles and assign them values and then i will create a script function that can access the varibles. I'm thinking that this is going to be done by creating my own varible type that has stuff like name, type & value this will probaly be stored in a linked list or array and then you call a function like GetValue(name$) or along those lines. Any way its good to be back on this.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Yeeeeehaaaaa(Posted 2006-02-01)
WOoOoOoOoOoOoOoOoOoOoOoOoOo...

I think I finally got the vertex normals working:


The above screenie shows two sufaces. One of the sufaces was loaded in using the load milkshape loader and the other one was created at run time in code using these following lines:


From here I'll create a createcube function, etc...

mmm Let me explian what happens in the above code. Well the first line is fairly simple, we create a var of TEntity type and then create a new instance. A entity is in this code is basicaly the same as an entity in blitz3d with the following commands coded:
Move
Turn
Translate?Yet to be done?
Scale?set?
SetColor
AddVertex
AddTriangle
AddMesh(..Array of triangle indices)
...
etc

So any way,the next line creates a 2D array which we use to store the vertices (of type TVertex). and below that we create the vertices using mesh.addvertex(), see simple.

Once the vertices have been created we need to create triangles by using the mesh.addtriangle() which takes 3 vertex index's(Need to create these in the correct direction, effects the normals).

Once the triangles are created we group the triangles into a mesh using mesh.addmesh() which takes an array of triangle indexs (hence the array i create and pass to this function). I decided to have meshes within entities , um, because i wanted to (a mesh basically differs by the material that is assinged).

After this I set a few propities of the entity, color and name. Now everything is done the last thing todo is to calculate the normals of the vertices:

Yer the above code does look simple but it took me awhile to figgure out scine i didnt event know you had todo this :(. Thats how new i'm too this...

Let the fun continue.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

When normals go bad...(Posted 2006-02-01)
... this happens:


well i think i'm going to have to have a look at my create cube function and make sure everythings being created the correct way.

Asides from this I fixed a problem that I was getting from the milkshape loader... if you look a the screenie in the previous post you will notice that the cross is infact Blue when it should be wood coloured. Any guess on what caused this... Well I'll tell you, its all todo with how blitzmax was loading the bitmap(or how gimp save them) were instead of the format being RGB like in most cases it was in BGR wella quick format check on the pixmap soon sorted that one out, wont be having that problem again:
Select texturePixmap.format
Case PF_BGR888
	glTexImage2D(GL_TEXTURE_2D, 0, 3, texturePixmap.width, texturePixmap.Height, 0, GL_BGR, GL_UNSIGNED_BYTE, texturePixmap.Pixels)
Case PF_RGB888
	glTexImage2D(GL_TEXTURE_2D, 0, 3, texturePixmap.width, texturePixmap.Height, 0, GL_RGB, GL_UNSIGNED_BYTE, texturePixmap.Pixels)
End Select


Yes, I still have to create a light entity but I havent had the time to read about them yet so I'll do that mabey once i've created the create...basicshape functions.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

More 3D(Posted 2006-01-30)
Done more to the 3D thingy, you can now load ms3d files into it rotate/scale and whatever to them. I have yet todo lights tho i'm going to read more about them. I also want to make a createcube and createshpere thingy.

screenie:



GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Advanced(Posted 2006-01-29)
Well in my endover to have a bit of fun programming time I have decided to learn openGL and to that extent i have started work on a VERY simple opengl engine. I dought i'll release it publicay it just somthing for me to learn from. So far it features:
+ Entities
++ Move
++ Turn
++ Position
++ etc
+ Cameras
++ viewports
++ foging (linear/exp/exp2)
++ fog coloring


Screenie:


Sample:
Here

TODO:
Make a light entity
Make a mesh entity
Mabey try my hand at loaders

We'll see were this goes.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

A start(Posted 2006-01-26)
Well.. i have put my main project on hold for a bit because my life is getting in the way too much BUT i will be going back to it in the not to distant future*.

In the meantime I'm going to start learning some stuff that I think will be useful to me, like openGL and 3D math and things along that line.

At the moment i'm working on a lil shape/polygon editor to reenforce my knowlage of MaxGUI.. so far you can add vertices, and create polygons just like in milkshape by clicking on vertices. Each polygon is a collection of pointers to a vertex in the main programs list. This means that instead of the polygon contain the vertex it just points to a vertex in the main vertex list which means that one polygon can share a vertex with another polygon. Also each polygon has a texture and each vertex has a uv coord. I guess the next thing i'm going todo is make it so you can move a select vertex using the mouse and then make it so you can change the texture of a polygon and change the uv's of a given vertex.

This shouldnt be to hard...


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

One Module Down...(Posted 2006-01-18)
...Well kinda.

I have now basicaly done the armour module which took longer then I tho it would due to.. complications ..However its looking good so far, you can import and export armour information in a XML format (i might go custom later on). I just need to do a few finshing touches like finish the item effects dialog soyour armour can have different effects when it is equiped - these effects only work if the item is identifyed meaning that the player will have to id it first, i was thinking about haveing cursed items which you have to see a high lvl mage to have removed (or buy the spell to remove it) and i still might.

once this module is done i will upload the module tester so you can see the program working (and make some items if you want, mabey even email them to me :D) but thats for another time, for now you can admire the xml the armour module save's the armour as:
<?xml 
version="1.0"?>
<PoA_Item Name="Test Armour" Name_IDed="Test Armour of Req" IDed="0" 
Required_Lore="13" Value_(GP)="50" Armour_Class="12" Item_Kind="0" 
Armour_Kind="1" Image_Name="testarmour">
  <Description_Short>Some test armour.</Description_Short>
  <Description_Long>Some test armour of Req. This armour has been 
passed down from generation to generation and has finally found its way 
to you.</Description_Long>
  <Item_Requirements>
    <Item_Requirement ID="1" Value="12" />
    <Item_Requirement ID="4" Value="45" />
  </Item_Requirements>
</PoA_Item>



GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

More graphics + eco(Posted 2006-01-16)
well i have basically done the armour template graphics. its simple enough that it doesnt make me want to kill myself everytime i think.. gotta todo another armour graphic.. and yet it is comlex enough that you can make your wn visual styles pritty and work within the game engine itself and thier are basically no design rules for that at the moment. I could resist creating a little applet so i could see the temples in working harmourny so i did:


it does kinda look like a disco man but those colours help to see the different areas and i did say it was only a temple armour graphics.

I might extend this app into a more complex armour viewer so i can see what different combos of armour will look like when all put together, hoppfully this will help sort out any graphical glitchs.

in case you want to know what a template sheet looks like heres one:


i have layed it out so seeing the different poses is no problem. Basicaly it goes NE, NW, SW, SE and then along each row we have - no weapon, sword stance, sword hit, pole stance, pole hit. simple.

More about eco
I have decided to keep it simple here so thiers only going to be gp & pp (gold peices and platium peices) 1000gp to 1pp because i feel anything less then that and thiers no reson to have gp cause (unless i make it realy hard) you will be getting gp common place.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Some graphics(Posted 2006-01-15)
i have been working on the graphics for the game over the past two days. well i mean i have been creating template graphics which i'll use as the base for my graphics. mostly in this department i've been doing the armour graphics so i can continue work on the armour module (i.e. put in the armour image option). i have also got a name convention for this images:

[RACE]_[ARMOURTYPE]_[ARMOURNAME]

thats all for now.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Armour Module(Posted 2006-01-12)
Not much to say...

I've been workng on the armour module and at the same time thinking about the best way to handle events from these modules. The solution, well seeing as i couldnt get it to use two event hooks i simpley have the main application have the event hook (in this case a window with a menu bar) and in my armour module i have a update method which takes a event pass so it can handle all its own events meaning its a whole lot simpler and smarter. Its looking good so far and im impressed w/ it i think that all is left todo with the armour editor module is to add the ac textfield and a method to add special effects (e.g. 20% damage reduction from Orcs, etc.) some of these will be hard coded but i'll also allow the option for them to be scripted.

soo a screenshot u ask for:


as u can see i made it a bit pretty by putting a visual bing of were you pecie of armour will go.

More info about armour
well you should know before i write anymore, nothing here is final and might be changed. Some of its ideas and some i have already hardcoded.

The armour in my game is all blueprinted with the type T_PoAArmour which contains all the info required for armour. This type is etended from the T_PoAItem type which contains general info about any given item and is a based for EVERY kind of item. Items in my game can be of a centain kind, that is to say they can be any one of the following kind:
+ Common
+ Magical
+ Rare
+ Unique
+ Set Item


This is all very generic and i probally didnt need to make that list thier - but any way. Set items in this game can be a mixmass of any item and not of just ones of the same kind. For example a helm might be a set item and a sword might be part of that set (not as in one can be magical and the other the set item, they both have to be set items) Once you have a full set you gain extra effects that are pre-defined when you create the item. err but we'er talking about armour here.

Armour also has different kinds:
+ Head
+ Torso
+ Hands
+ Legs
+ Feet

Thier is no real differeance apart from they can only be equiped in the correct place (hence the man).

A Little about the ecomany
A say a little i MEAN a little.

All items have a base price. the base is used for common items and the cost of an item really depeneds on the kind of item. i havent decided upon the percentages but lets say for now:
= Common +0%
= Magical + 10%
= Rare + 20%
= Unique + 40% 
= Set Item + 80%


if you try to sell an unidentifyed(i have got to learn to spell) item you will only get its base value.

Hopes thats enough reading for now:


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Modulating(Posted 2006-01-09)
YES, i have been doing some work on this project (*cough)

Seeing as the editor is coded in such a way that adding a new editor interface is easy i have decided that i will first of all create seprate modules (not in the BMax meaning) which i will add to the editor later.

i'll start by creating modules for imediate things that i want to create to get a playable character working:
+ Armour Editor
+ Weapon Editor
+ Item Editor (for arrows and such like for now)
+ Skill Editor (grrrrr)
+ PC Editor (NO NO NO not personal computer, idiot)


For now i'll save the stuff using an XML phaser for testing purposes but when i release the game i'll have to make my own data stucture so that peeps dont cheat(if you havent got the skill then i dont want u...).

... must resist urge ... the urge its soooo strong !!!

ummm.. anyway once this is done (which WONT be anytime too soon) i'll have to face facts and get the map editor done. which is going to be a pain in the ................ < insert word here!.

....... urge is so strong now .........

errr...

mmm i could tell you that i have basicaly coded out the pc (well the varibles at lest). Its all going into one file ( PoA engine ) which i can continually update while i'm creating all these editors.

On a lest editor orienated note. I have actually been working on the story of the game however i dont want to give anything away until i have approved it ( i DO have a 'APPROVED' stamp :D)

here is an idea of how the modules are going to be coded:


as you can see the create function asks for a parent gadget which it will attach the editor mod to. so i can easily make it onto a tab page of a panel (which my editor uses) - for testing i'll just attach it to a window.

well ... err i cant resist it... l8ers for now.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

More done(Posted 2006-01-03)
Got around to doing a bit more work on the project:


above is what the editor is coming along like. As far as map painting goes it works like a dream. You can select a tile from the list on the right and then simply paint it on the terrain. Also when you click on the frill map button it will only frill the grass terrain, this is a simple method to stop your eye from chatching repeating pattens.

What else...
Well apart from work on the editor i have also started work on putting some of the types together in code, most of them however are currently empty those are just placeholders at the mo and will be filled in later. Once i have got the code structure out of the way i want to implent some handles for character movement and actual playable stuff cause i cant take much more of this blind coding its making me go nuts - luckly i have other stuff to take my time like playing guild wars and getting a job.

For those who want a bit more...
I have uploaded a win32 exe of the editor with all the said stuff in it for you to mess about with for 10 mins. Its pretty simple to use so...
Here it is.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Not exciting(Posted 2005-12-30)
just tho you might like to see a screenie of what i have so far.


Working on
I'm currently trying to figure out how to use squirrel scripting language, failing that LUA. I'm also trying to figure out how I might handle equipable items such as armour, i was thinking of just having a flag but i just dont know. One thing is for sure - its a lot of work.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

More work on the editor(Posted 2005-12-29)
I've been doing more work on the editor which is a lot harder then it might have otherwise been because i'm learing how to use maxGUI along the way. But i'm dedermand not to ask for help cause i want to learn how to use myself, and besides a lot of the questions i would need answering have already been done so and i just do a search in the fourms.

So far you can create/remove maps ethier by using the main menu or by using a context menu when you right click on the tree view. This has been easy so far apart from a have to rethink my designs every so often.

More about the editor
the editor so far is made up of two main areas on the main window. The first is the tree view which is display on the left. this tree view gives you the whole over view of everthing you can edit and has the following node structure:
+ Scenario
-+ Maps
-+ Scripts
-+ Items
-+ Characters
-+ More?

you use this menu to navigate the whole scenario.

The second section is the edit area. This is a contexted based panel which changes depeanding upon the current item you have got selected. For example, so far I have made two different contexts, one for editing the maps (which is made up of a canvas (the map view) and a tabber (one tab for the 'pallet' and one to edit the map setting (i.e. name, etc.)), the other of which is to edit scripts which is basiclay just a text area.

I'm currently working on creating the actual game engine so that i can make the editor better but i fear this will mean more design work for me. I also need to really decide what scripting language i'm going to use as well and learn that.

so much todo :/. But i dont want to let any one down with one of those exciting projects that never gets finshed :).


... and i still have to find time to read 'Thud'


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

More(Posted 2005-12-27)
I just got MaxGUI today and have basicaly been getting a simple editor up and running. so far i got the engine rendering onto a canvas and that works perfectaly and i have got a right side bar when you can dynamicaly edit things you might have selected. on the right side panel so far, i have made a tabbed group - the first tab of which is the map painting, on this tab you will be able to do all the basic stuff like place grass, walls, doors & windowes, stuff that makes maps look good. i havent decided what will be on the other tabs yet but im sure i'll think of somthing. one thing i would like to see in the editor is a simple script editor/ viewer (simple as in no syntax highlighting or debugging) so that you dont have to keep oping up a text editor.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

In-Depth Design(Posted 2005-12-22)
Done some in-depth design into the actual game and have started work on type stuctures and here is what i have got so far:



I have also come up with a (temporay?) name for the project:
Plains of Ashmerr

(one instreasting feature that I though I might try to put in is one of how to deal with effects of spells and such like I thought that making the effects script based so that while you have the effect on you the script is being run so to create a poison the script would be somthing like: hp:- 1: of course a effect will have to have init function so you can set things up like update rate and how should it update(over a time, always active))


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Long time ... etc.(Posted 2005-12-21)
I've been busy with life stuff for a while but i thought i better just inform you that I havn't forgotten about this project.

In between life stuff i have been doing some design theory for the project. I've been thnking about how I'm going to handle talking and have decided that it will be best to use a scripting language, it will be more powerfull then anything I could hardcode. The talk system will of couse be node based because this is the simplest way of doing it. I have been thinking a bit more in-depth about to handle more complex stuff like handling condidtions and basicaly what I want to achive is the abiltiy to access information from the player and other talk effecting things and use that to effect what you can say, for example a low int character will use stupid mans language and other such things.

I have also been thinking about I can handle character display and animation and what I want is to be able to see a change in look of the character as you cange you armour and such like but I want to keep this simle becuase I not a computer artist and have no money to hiire oe ehtier so I'll just do my best. Basically the character is going to be made up of four different pictures which will all have thier animation snyced (1 - head, 2 - body, 3 - legs, 4 - weapon). I also want to make it so you can change colours but i'll have to see if thiers a function which can do pixel replace & toleance* or make one my self.

well thats about it so far...


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Busy Busy Busy...(Posted 2005-11-22)
I've been hard at work trying to learn how to modle characters in 3D using GMax. I like the program so far and the tutorials that I have should hopefully help me to get better at it. At the moment I'm doing the tutorial on character modling.

In other news. I have released some documentation for the wisp engine (just download the latest version). Also I have add the FOW system to the engine. Its simple enough at the moment , I want to try and speed it up but I don't think the code slow - Just my pc - so its not at the top of my list.

latters

BTW, if you know of any good moddling tutorials on character moddling and sprite creation please [a mailto:diablo_tk@...] me, thx!


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Released Wisp (beta?)(Posted 2005-11-18)
SO FAR...
Well I have released a lite version of the Wisp engine to the blitz community which you can get from here: Download

... Back to my RPG project. Now that I have developed a simple ISO engine which supports walls and sprites the last thing I think I need to do is to develop the Fog Of War system and then I can begin on the design of the actual RPG :D

Heres a screen shot showing walls & sprites in the ISO Engine:


... It's looking good so far ... I have a good filling that it might be going someware :D


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Development Continues...(Posted 2005-11-17)
SO FAR...
Its been a short day today, but I have done more work to the project. I'm farly impressed with development so far, I have got a almost complete working modle of the HUD that I will be using and all I have todo on that front is to add the portrait support. But I Think I will stop developing the HUD for a bit now because I want to get more of the game dynamics working.

I have yet to implement walls into the system, so thats the next task that I will be trying to complete. Once I have done that I will probally add in the FOW system and once I have done that I will have to add sprites.

It shouldn't be to hard to order the sprites I dont think. because I can get a point in the actual ISO world I could Just order them by checking thier ISO position against other objects, in fact the only problem I foresee is how the hell am I going to tie the sprites in so that the render correctly against walls, because the walls will be written into the map data so they will be rendered at the same time as the floor tiles - some how I'm going to have to render the sprites at this time.

Well anyhow - Heres a screenie:


BTW - There are buttons at the top of the screen on both sides that let you hide ethier of the side pannels - they function just like in BGII.

Overall I think its coming along good, so i'm happY :D


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

HUD(Posted 2005-11-16)
SO FAR...

well today I started work on the main engine (its called Wisp Engine at the moment) and so far so good. I decided that every object todo with the ISO engine will have its own bmx file which you include into the main file. So far the system i have is somthing like this:
WispEngine_Inc.bmx
+ WispEngine.bmx
+ WispEngine_ISOPoint.bmx
+ WispEngine_ISOSprite.bmx
+ WispEngine_ISOTile.bmx
+ WispEngine_ISOMap.bmx
+ WispEngine_GUI.bmx
:P yes i'm going to include a simple GUI system - just for buttons & such like.

So far i have got the basic system working, as in you can create a map and frill the terrain.

Thanks to Scott Shaver tho :), I've also done some work on the HUD that I will be using:


The HUD is mad up of three images which means that I will make it so that you can hide the side pannels givening you more click space

Heres the one in BGII - the kind of look i'm going for (i have yet to add the buttons)


STILL TO COME...
I will be adding more source files to the Wisp engine.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

FOW(Posted 2005-11-15)
SO FAR...
Got some more work done in the ISO testing, finally got the fog of war up and running:
For Local T:Float = 1 To 90 Step 1
	For Local k% = 1 To 10
		
		Local cAngle% = T * 4
				
		Local tempx# = dofromX + 18 * K * Cos(T * 4)
		Local tempy# = dofromY + 18 * k * Sin(T * 4)
		Local ttempx# = tempx - tempx Mod 30 
		ttempx = (ttempx / 30) + 1
		Local ttempy# = tempy - tempy Mod 30 
		ttempy = (ttempy / 30) + 1
		If ttempx > -1 And ttempx < mymap.width And ttempy > -1 And ttempy < mymap.height Then
			If mymap.tile[ttempx , ttempy].blocked Then
				mymap.tile[ttempx , ttempy].explored = True
				mymap.tile[ttempx , ttempy].foged = False
				Exit
			EndIf
			mymap.tile[ttempx , ttempy].explored = True
			mymap.tile[ttempx , ttempy].foged = False
		End If
				
	Next
Next


Also i figured out a method to get the mouse tile position
Local mX% = MouseX() + (mymap.offsetx * -1)
Local mY% = MouseY() + (mymap.offsety * -1)
Local _mouseISOY% = ((2 * mY - mX) / 2)
Local _mouseISOX% = (mX + _mouseISOY%)
_mouseISOY = _mouseISOY / (TILEWIDTH / 2)
_mouseISOX = _mouseISOX / (TILEWIDTH / 2) - 1
This means that when I come to create an editor (have to get my hands on MaxGUI first) I will be able to easly do so. I also got the blocked tiles to block your fog of war which means you can explore the maps correctly.

Heres a screenie (~ can still get an FPS of around 200 - 300 ~)


(red blocks are FOW blockers & movement blockers)

Heres the code that works the magic: (you can get the tile set in the post below)


STILL TO COME...
Now that I am happy that I have a decant ISO system running the next action is to turn my messy test code into some sort of engine (with out game play elemets first), i dought that I will keep this test engine but it will help me think up a better system for when I come to actualy begin the beta engine.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

My Balls :P(Posted 2005-11-14)
SO FAR...
Well, today i've mostly been trying to get linux working on my second harddrive which I finshed at around 10:00(arg its so hard to get ATI drivers working :() so I havn't done that much but I have done somthing import and that is i've added some sort of coord system (if you can call it that). basicaly I have a type called TPoint and when you create one, at let say (10, 10), it will convert it into the correct place that it would be in the ISO world I also found out how big each of the tiles is in the ISO world and that is the Width of the tile over 2 (TILEWIDTH / 2). So what does this mean, well now I can treat the ISO world just like a 2D tile world with out having to worry about where objects are actually going to get drawen.

Heres a screenine:

Some balls on some frilled grass :P (the red blocks are a test for blocked tiles i.e. the red ones are taged blocked)

and heres the code (I might release a little ISO engine based on this, so you can see how it might end up by looking at this):


you can get the tile set Here (put the same place)

:I'm just too good :D:

Forgot to mention that its now much, much faster as well :D


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

In The Beginning(Posted 2005-11-14)
SO FAR...
I've finally decided to begin work on my Avernum style RPG. Yes its going to be ISO, but no its not going to have the same battle system and its not going to have heights like it does in Avernum. I want to go for a battle system more at home with Baldurs Gate players (i.e. turn based but takes place in real time). Started to actually to some test code last night(14th Nov 1005) and got a good ISO drawing routine setup and optimized (doesn't draw tiles that arn't on the map, 40fps -> 130fps but I do hope to make it faster still by not looping through the tiles that are off screen.

Heres a screen shot so far...

Yes, its some frilled grass - but at least you can actually see what I've done so far.

TODO:
+ Add fog of war (so you have to explore the maps)
+ Add sprite support (for characters and such like)
+ Plan a way to talk with characters (would like todo it like Baldurs Gate, but I'll just have to wait)
+ Plan script support for special encounters
+ Plan an invetory system
+ Plan the money system (PP?, GP?, SP?, EP?, CP?)
+ Plan a quest system
+ Plan a pathing system
+ Plan a light system(might not do :?)
+ Plan a whole shed load more :)

DONE:
+ Basic ISO system (with "Frill" support :P)

... This is going to be HARD

RESOURCES:
Avernum3
Geneforge3 - This is the kinda battle/movement system i'm looking for.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

now we're getting someware(Posted 2005-10-31)
finaly got a broadband connect which means I can be a tiny bit more dedicated to my projects (thats putting them online).

Got a webhost to host my new site too. check it out. You can download the latest version of HighGUI from thier.

...

been spending some time know to iron out some small but extreamly annyoing bugs and I think that it might be a whole lot more stable now.

I've also made some more changes to the editor. It's much nicer to use now because i've fixed some carry over bugs where it was setting propites for one control and then you clicked on another and it would carry them over (really annyoing when it happens while you're docking controls). Also instead on just clicking on a create control button and the editor creating the control for you, you can now drag a box and the editor will create the control in the box (which is even better because it uses snapping so you don't have to be to preice). One last thing, I added a new control, a control that isn't visable when you run you're GUI but can be used to layout you GUIs to greater effect.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Misc.(Posted 2005-06-07)
One week before i fin school so i have a lot of work todo but still work goes on for the HighGUI editor and I will try and make a very simple editor at first and then use that editor to create a better editor, but no more!

if all goes well the HighGUI project should be finshed within a week. But knowing me it won't *sigh*.

Being that this is my first real project I have learn't alot from it. For example try and documenmt while you write, it's demottavating how hard documenting somthing can be. I also lenrt that i should plan more because the source code at the moment is very untidy and could run faster still if i got rid of a few bits of code that arn't need.

But life goes on, I would have you belive.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

Misc.(Posted 2005-06-06)
fixed some texbox problem.
made scrollbars 100% cooler by using smooth scrolling, the best bit of coding i've done in a long while.

currently working on scome defualt windows i.e. realy want to get an open/save file dialog working soon.


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

New Update(Posted 2005-06-03)
New update includes
- Added Text functions e.g. multiline
- Added Spinner
- Added Combobox
- Improved scroll bars
- General bug fixes
- Uses a non-defualt font for the example.

Todo
- Documentation
- Some more defualt windows, i.e. save file, open file, etc.

Download it from here:
Download Here!


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P

HighGUI V0.0.2(Posted 2005-05-26)

The free GUI created by Diablo!



Current List of Features:
- Windows
- Menubars
-- Dashes
-- Checkables
- Checkboxes
- Textboxes *
- Pctureboxes
- Labels
- Buttons
- Skinable enviroment
- Progress bars
- Options

There is a test.bmx file include which gives an example of how to program with it.

NOTE: All user function beign with Hi<FunctionName> e.g. HiClicked

download it from here
Download Here!

Feel free to play with the source code!


GUI Base Code | HighSpline | HighGfx | HighGUI 3 | W.I.P