### Author Topic: Axe GUI Library  (Read 9006 times)

0 Members and 1 Guest are viewing this topic.

#### Munchor

• LV13 Extreme Addict (Next: 9001)
• Posts: 6199
• Rating: +295/-121
• Code Recycler
##### Re: Axe GUI Library
« Reply #45 on: May 22, 2011, 05:48:05 am »
Deep, I don't think anybody ever used or will use it =P I guess we should invest more on the DCS Axiom one.

#### alberthrocks

• Moderator
• Posts: 876
• Rating: +103/-10
##### Re: Axe GUI Library
« Reply #46 on: May 30, 2011, 07:16:25 pm »
Super late reply... I think people will use it. I've been playing around with menu code today and realized why people might use it, and am planning to implement some things (including the menu). However, some parts of it will have to be redesigned/rewritten for such uses, like for games and such
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/

Proud member of ClrHome!

Miss my old signature? Here it is!
Spoiler For Signature:
Alternate "New" IRC post notification bot (Newy) down? Go here to reset it! http://withg.org/albert/cpuhero/

Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/

Activity remains limited due to busyness from school et al. Sorry! Feel free to PM, email, or if you know me well enough, FB me if you have a question/concern.

Don't expect me to be online 24/7 until summer. Contact me via FB if you feel it's urgent.

Proud member of ClrHome!

Spoiler For "My Projects! :D":
Projects:

Computer/Web/IRC Projects:
C______c: 0% done (Doing planning and trying to not forget it )
A_____m: 40% done (Need to develop a sophisticated process queue, and a pretty web GUI)
AtomBot v3.0: 0% done (Planning stage, may do a litmus test of developer wants in the future)
IdeaFrenzy: 0% done (Planning and trying to not forget it )
wxWabbitemu: 40% done (NEED MOAR FEATURES )

Calculator Projects:
M__ C_____ (an A____ _____ clone): 0% done (Need to figure out physics and Axe)
C2I: 0% done (planning, checking the demand for it, and dreaming )

#### FinaleTI

• Believe in the pony that believes in you!
• CoT Emeritus
• LV10 31337 u53r (Next: 2000)
• Posts: 1830
• Rating: +121/-2
• Believe in the pony that believes in you!
##### Re: Axe GUI Library
« Reply #47 on: May 30, 2011, 08:48:17 pm »
Can't believe I didn't post here before...

I really think you guys should keep working on this. I'm playing around with an idea right now, and this would work perfectly with it. I'd also be interested in collaborating on this, if that's ok with you guys.

Spoiler For Projects:

My projects haven't been worked on in a while, so they're all on hiatus for the time being. I do hope to eventually return to them in some form or another...

Spoiler For Pokemon TI:
Axe port of Pokemon Red/Blue to the 83+/84+ family. On hold.

Spoiler For Nostalgia:
My big personal project, an original RPG about dimensional travel and a few heroes tasked with saving the world.
Coding-wise, on hold, but I am re-working the story.

Spoiler For Finale's Super Insane Tunnel Pack of Doom:
I will be combining Blur and Collision Course into a single gamepack. On hold.

Spoiler For Nostalgia Origins: Sky's Story:
Prequel to Nostalgia. On hold, especially while the story is re-worked.

#### alberthrocks

• Moderator
• Posts: 876
• Rating: +103/-10
##### Re: Axe GUI Library
« Reply #48 on: June 01, 2011, 11:22:30 am »
Can't believe I didn't post here before...

I really think you guys should keep working on this. I'm playing around with an idea right now, and this would work perfectly with it. I'd also be interested in collaborating on this, if that's ok with you guys.
Oh, no problem! PM me your email. We have a google code site up for code hosting, but don't try to use any of the files yet... the tokenizer is broken! Once I get some time, I will pull down the old tokenizer and use Michael_Lee's tokenizer for the project.

Just curious - what are you planning to do?
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/

Proud member of ClrHome!

Miss my old signature? Here it is!
Spoiler For Signature:
Alternate "New" IRC post notification bot (Newy) down? Go here to reset it! http://withg.org/albert/cpuhero/

Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/

Activity remains limited due to busyness from school et al. Sorry! Feel free to PM, email, or if you know me well enough, FB me if you have a question/concern.

Don't expect me to be online 24/7 until summer. Contact me via FB if you feel it's urgent.

Proud member of ClrHome!

Spoiler For "My Projects! :D":
Projects:

Computer/Web/IRC Projects:
C______c: 0% done (Doing planning and trying to not forget it )
A_____m: 40% done (Need to develop a sophisticated process queue, and a pretty web GUI)
AtomBot v3.0: 0% done (Planning stage, may do a litmus test of developer wants in the future)
IdeaFrenzy: 0% done (Planning and trying to not forget it )
wxWabbitemu: 40% done (NEED MOAR FEATURES )

Calculator Projects:
M__ C_____ (an A____ _____ clone): 0% done (Need to figure out physics and Axe)
C2I: 0% done (planning, checking the demand for it, and dreaming )

#### Munchor

• LV13 Extreme Addict (Next: 9001)
• Posts: 6199
• Rating: +295/-121
• Code Recycler
##### Re: Axe GUI Library
« Reply #49 on: June 01, 2011, 12:56:34 pm »
Can't believe I didn't post here before...

I really think you guys should keep working on this. I'm playing around with an idea right now, and this would work perfectly with it. I'd also be interested in collaborating on this, if that's ok with you guys.
Oh, no problem! PM me your email. We have a google code site up for code hosting, but don't try to use any of the files yet... the tokenizer is broken! Once I get some time, I will pull down the old tokenizer and use Michael_Lee's tokenizer for the project.

Just curious - what are you planning to do?

What about waiting until Wabbitemu can have files extracted? Oh wait, that's Windows only, yeah use Michael Lee's. I would rather compile with Axe and sending file to computer

#### alberthrocks

• Moderator
• Posts: 876
• Rating: +103/-10
##### Re: Axe GUI Library
« Reply #50 on: June 01, 2011, 07:11:33 pm »
What about waiting until Wabbitemu can have files extracted? Oh wait, that's Windows only, yeah use Michael Lee's. I would rather compile with Axe and sending file to computer
I'm starting to wonder if you still can recall what you wrote...

There's no point in compiling the library itself since... well, no program is using it! It isn't exactly like an Axiom, in which you compile and then use it. In pure Axe, you include the library in the program and then compile it, which will automatically include the library. (Technically speaking, our library is more like a collection of (sub)routines, but I'll leave that up to the developer to decide.)

Since we're not exactly compiling it, but rather just converting the regular text source to 8Xp, a tokenizer/detokenizer is used. That's when Michael_Lee's program enters. See where I'm going here?

Although I'm hoping to get something like that done soon (this summer! ), you're only going to see that in say, wxWabbitemu v1.5 or v2.0. There's plenty of Wabbitemu features that need to get implemented first! (GIF screencapping and debugging, for instance)

====
NOTE FOR OTHER PEOPLE PLAYING WITH THIS LIBRARY - do NOT use the one on the Google Code website unless it's the one in the Downloads section. SVN's copy is broken.

Also, if you don't see a mouse at all (like I did), you may need to set X and Y to some non-zero number. Add this on the top of the GUI demo program (below the header, of course!):
Code: [Select]
10->X10->Y
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/

Proud member of ClrHome!

Miss my old signature? Here it is!
Spoiler For Signature:
Alternate "New" IRC post notification bot (Newy) down? Go here to reset it! http://withg.org/albert/cpuhero/

Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/

Activity remains limited due to busyness from school et al. Sorry! Feel free to PM, email, or if you know me well enough, FB me if you have a question/concern.

Don't expect me to be online 24/7 until summer. Contact me via FB if you feel it's urgent.

Proud member of ClrHome!

Spoiler For "My Projects! :D":
Projects:

Computer/Web/IRC Projects:
C______c: 0% done (Doing planning and trying to not forget it )
A_____m: 40% done (Need to develop a sophisticated process queue, and a pretty web GUI)
AtomBot v3.0: 0% done (Planning stage, may do a litmus test of developer wants in the future)
IdeaFrenzy: 0% done (Planning and trying to not forget it )
wxWabbitemu: 40% done (NEED MOAR FEATURES )

Calculator Projects:
M__ C_____ (an A____ _____ clone): 0% done (Need to figure out physics and Axe)
C2I: 0% done (planning, checking the demand for it, and dreaming )

#### FinaleTI

• Believe in the pony that believes in you!
• CoT Emeritus
• LV10 31337 u53r (Next: 2000)
• Posts: 1830
• Rating: +121/-2
• Believe in the pony that believes in you!
##### Re: Axe GUI Library
« Reply #51 on: June 02, 2011, 03:16:31 pm »
I was able to add a simple scroll bar today.
It's simply:
Code: [Select]
sub(SCR, Y-Offset, Height of scroll-box)
Here's a screenie using it.

Spoiler For Projects:

My projects haven't been worked on in a while, so they're all on hiatus for the time being. I do hope to eventually return to them in some form or another...

Spoiler For Pokemon TI:
Axe port of Pokemon Red/Blue to the 83+/84+ family. On hold.

Spoiler For Nostalgia:
My big personal project, an original RPG about dimensional travel and a few heroes tasked with saving the world.
Coding-wise, on hold, but I am re-working the story.

Spoiler For Finale's Super Insane Tunnel Pack of Doom:
I will be combining Blur and Collision Course into a single gamepack. On hold.

Spoiler For Nostalgia Origins: Sky's Story:
Prequel to Nostalgia. On hold, especially while the story is re-worked.

• Guest
##### Re: Axe GUI Library
« Reply #52 on: June 02, 2011, 03:33:25 pm »
interesting I personally lost all the source for my incarnation, but the best method of going about handling separate objects on-screen would be to use an object-queue.  That way, you can go in order in a buffer in memory and draw things within a simple For( statement.  I suggest that if you go that way, make the size of the object queue and the size of all objects somewhat static.  That way, the speed of rendering stays a bit more constant.

Also, for scrolling, that's a cool way to do that, but I don't suggest it to be the finalized method of doing so.  That way requires picture data to be processed, and that's a lot larger in size than queue objects.  However, you could simply just scroll, changing an X and Y values for window offset on moving, and only draw objects within the window

#### Munchor

• LV13 Extreme Addict (Next: 9001)
• Posts: 6199
• Rating: +295/-121
• Code Recycler
##### Re: Axe GUI Library
« Reply #53 on: June 02, 2011, 04:08:52 pm »
I was able to add a simple scroll bar today.
It's simply:
Code: [Select]
sub(SCR, Y-Offset, Height of scroll-box)
Here's a screenie using it.

FinaleTI, that's looking great, nice to hear you're keeping the SubRoutine Arguments Simple like for the frame, status bar and buttons and other stuff. Thanks.

Is text input too hard? I'm afraid it is.

#### FinaleTI

• Believe in the pony that believes in you!
• CoT Emeritus
• LV10 31337 u53r (Next: 2000)
• Posts: 1830
• Rating: +121/-2
• Believe in the pony that believes in you!
##### Re: Axe GUI Library
« Reply #54 on: June 02, 2011, 04:08:55 pm »
I only used the pic data thing for a quick demonstration, I had intended to do something more memory efficient later.
I'll probably get to the object queue/stack after I finish up my text entering routine.

I also figured that rendering your initial GUI, then storing it to the back-buffer, and copying it to the front instead of re-drawing the whole thing again was much more efficient, and you can just update the back-buffer whenever something needs to be changed. I also masked the mouse, simply because I think it looks better that way, and I could afford to with the speed update from not re-drawing the thing every frame.

Spoiler For Projects:

My projects haven't been worked on in a while, so they're all on hiatus for the time being. I do hope to eventually return to them in some form or another...

Spoiler For Pokemon TI:
Axe port of Pokemon Red/Blue to the 83+/84+ family. On hold.

Spoiler For Nostalgia:
My big personal project, an original RPG about dimensional travel and a few heroes tasked with saving the world.
Coding-wise, on hold, but I am re-working the story.

Spoiler For Finale's Super Insane Tunnel Pack of Doom:
I will be combining Blur and Collision Course into a single gamepack. On hold.

Spoiler For Nostalgia Origins: Sky's Story:
Prequel to Nostalgia. On hold, especially while the story is re-worked.

#### Munchor

• LV13 Extreme Addict (Next: 9001)
• Posts: 6199
• Rating: +295/-121
• Code Recycler
##### Re: Axe GUI Library
« Reply #55 on: June 02, 2011, 04:11:01 pm »
Even though I'm not familiar with Masking and some other stuff you did, it looks better. Will you upload source to Repository? I'd like you to

#### FinaleTI

• Believe in the pony that believes in you!
• CoT Emeritus
• LV10 31337 u53r (Next: 2000)
• Posts: 1830
• Rating: +121/-2
• Believe in the pony that believes in you!
##### Re: Axe GUI Library
« Reply #56 on: June 02, 2011, 04:24:47 pm »
Uploaded. It pulls in a Pic file, but that's just for testing, assign anything you want to it, or remove all references to it if you want.

Also, if my text input routine doesn't quite pan out, I believe squidgetx posted the one he originally used for name input in Ash: Phoenix, and that could probably be modified to what we need.

Spoiler For Projects:

My projects haven't been worked on in a while, so they're all on hiatus for the time being. I do hope to eventually return to them in some form or another...

Spoiler For Pokemon TI:
Axe port of Pokemon Red/Blue to the 83+/84+ family. On hold.

Spoiler For Nostalgia:
My big personal project, an original RPG about dimensional travel and a few heroes tasked with saving the world.
Coding-wise, on hold, but I am re-working the story.

Spoiler For Finale's Super Insane Tunnel Pack of Doom:
I will be combining Blur and Collision Course into a single gamepack. On hold.

Spoiler For Nostalgia Origins: Sky's Story:
Prequel to Nostalgia. On hold, especially while the story is re-worked.

#### FinaleTI

• Believe in the pony that believes in you!
• CoT Emeritus
• LV10 31337 u53r (Next: 2000)
• Posts: 1830
• Rating: +121/-2
• Believe in the pony that believes in you!
##### Re: Axe GUI Library
« Reply #57 on: June 03, 2011, 03:00:28 pm »
I accomplished a basic implementation of the GUI stack today.

In order to do so, I slightly modified the button routine.
Code: [Select]
sub(DB,30,30,30,10)the code for drawing a button is
Code: [Select]
sub(DB,30,30,30,10,"5Hello")All you do is simply add a 5th argument as a string of 1-9 characters, with the length prepended to it. So, since there are 5 characters in "Hello", it would become "5Hello".
The button is drawn, and the string is centered in the middle of the button.

I got the code for detecting a string's length from Nemo's dropdown menu routine.

If you want to utilize the GUI stack, simply change the subroutine you call from DB to ADB.
Code: [Select]
sub(ADB,30,30,30,10,"5Hello")sub(ADB,12,50,30,10,"8Omnimaga")This creates the button object in the stack.

To render the GUI stack, simply call
Code: [Select]
sub(RND)
The code should be up on the repository soon.

Spoiler For Projects:

My projects haven't been worked on in a while, so they're all on hiatus for the time being. I do hope to eventually return to them in some form or another...

Spoiler For Pokemon TI:
Axe port of Pokemon Red/Blue to the 83+/84+ family. On hold.

Spoiler For Nostalgia:
My big personal project, an original RPG about dimensional travel and a few heroes tasked with saving the world.
Coding-wise, on hold, but I am re-working the story.

Spoiler For Finale's Super Insane Tunnel Pack of Doom:
I will be combining Blur and Collision Course into a single gamepack. On hold.

Spoiler For Nostalgia Origins: Sky's Story:
Prequel to Nostalgia. On hold, especially while the story is re-worked.

#### Munchor

• LV13 Extreme Addict (Next: 9001)
• Posts: 6199
• Rating: +295/-121
• Code Recycler
##### Re: Axe GUI Library
« Reply #58 on: June 03, 2011, 03:05:18 pm »
Wooo! That's looking awesome FinaleTI, mainly the button drawing part, great

#### FinaleTI

• Believe in the pony that believes in you!
• CoT Emeritus
• LV10 31337 u53r (Next: 2000)
• Posts: 1830
• Rating: +121/-2
• Believe in the pony that believes in you!
##### Re: Axe GUI Library
« Reply #59 on: June 03, 2011, 03:18:20 pm »
Thanks. The GUI stack took a while to make, since I accidentally lost the first build of it. The second one, the one you see now, ended up much better, and I figured an appvar would be better than rampaging all over safeRAM. I really need to optimize the library, so I'm gonna look into that for the time being. I know I can sub-routinize some of the code, but I might need to rewrite other bits.

Just in cause something goes horribly wrong, at least the code is backed up on the repository.

Spoiler For Projects:

My projects haven't been worked on in a while, so they're all on hiatus for the time being. I do hope to eventually return to them in some form or another...

Spoiler For Pokemon TI:
Axe port of Pokemon Red/Blue to the 83+/84+ family. On hold.

Spoiler For Nostalgia:
My big personal project, an original RPG about dimensional travel and a few heroes tasked with saving the world.
Coding-wise, on hold, but I am re-working the story.

Spoiler For Finale's Super Insane Tunnel Pack of Doom:
I will be combining Blur and Collision Course into a single gamepack. On hold.

Spoiler For Nostalgia Origins: Sky's Story:
Prequel to Nostalgia. On hold, especially while the story is re-worked.