Author Topic: Pop ups in axe  (Read 12660 times)

0 Members and 1 Guest are viewing this topic.

Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Pop ups in axe
« on: June 30, 2010, 12:02:09 pm »
how does one make a pop up? as in you have a screen on-calc, the user presses a key and a little window pops up with something to display, then goes away and the same screen before the pop up comes back.

i can think of a way to do it with StorePic, but that'd corrupt my data in L3.
this is for my tilemapper. basically, i have tiles in L3. i want to make a pop-up menu to decide which tile you want to place. i need to save the buffer data to a temporary area, draw the pop up menu to the buffer, let the user choose a tile, then recall the data in my temporary area that holds the buffer data before the menu. is there any way without using StorePic or RAM areas L1-L4?


Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Pop ups in axe
« Reply #1 on: June 30, 2010, 12:52:16 pm »
you would need to use a combination of both line(), sprites and pixels to draw them from a sub-routine. In the future, there will most likely be geometry drawing making this easier, though.

SirCmpwn

  • Guest
Re: Pop ups in axe
« Reply #2 on: June 30, 2010, 01:07:59 pm »
What I would use is StorePic to save the current screen, then draw your window on top of it with some lines and text and such, loop through the window code, and use RecallPic to bring the old screen back.

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Pop ups in axe
« Reply #3 on: June 30, 2010, 01:11:02 pm »
Except for the part where he said he can't use StorePic.  Well the easiest way to backup the screen would be to add on 768 bytes to your program and store it there.  You could also create an appvar of 768 bytes and store it there.  Also, if your popup does not take up the entire screen, you can backup only the part that you overwrite to save memory

SirCmpwn

  • Guest
Re: Pop ups in axe
« Reply #4 on: June 30, 2010, 01:15:54 pm »
If he does that, he can't package it as an application, and I personally think that this kind of program would work well as an app.  Maybe he can use the backbuffer?  Or create a 768 byte AppVar and temporarily dump the data in there?

Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: Pop ups in axe
« Reply #5 on: June 30, 2010, 01:16:06 pm »
Sir, I have tile data in L3. Writing to the back buffer corrupts the data in L3. StorePic transfers the buffer to the back buffer. do you see my problem? if i us StorePic, my tile data in L3 will be corrupted.

new idea. make a large, white bitmap and display that where i'll put my menu. then make bitmaps of all the tiles, display those and have the user select from there. also have a bitmap for a cursor the user to move around and select the tile. then display the white bitmap again, and DispGraph. unless Bitmap() updates the buffer... then i can't do that idea.


SirCmpwn

  • Guest
Re: Pop ups in axe
« Reply #6 on: June 30, 2010, 01:18:20 pm »
Well, I think you can have Bitmap update the LCD, not the buffer, but it will be slow as hell.  My opinion is not to use SMC, because it will make it so you cannot use it in an App, which would be very nice.

Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: Pop ups in axe
« Reply #7 on: June 30, 2010, 01:24:37 pm »
i don't think it'll be very slow.. considering all i'd be doing in the loop is checking for four keypresses, and drawing a bitmap cursor to the LCD. i'll probably use builderboy's idea of just adding 768 bytes to the program and storing it there. also, i don't think i'm going to make this an app. it's only ~2300 bytes right now, and although there's a lot of features to implement some seem relatively easy.


Offline 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!
    • View Profile
    • dmuckerman.tumblr.com
Re: Pop ups in axe
« Reply #8 on: June 30, 2010, 01:53:57 pm »
When he said it would be slow, I think he meant when the bitmap was drawn, because drawing directly to the LCD is extremely slow when compared to drawing to the buffer.


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.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Pop ups in axe
« Reply #9 on: June 30, 2010, 01:55:48 pm »
I think bitmaps can be set to be stored the buffer, though (Fix 8 or 9, I think, right? And not forget to revert the change on program exit).

Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: Pop ups in axe
« Reply #10 on: June 30, 2010, 02:00:37 pm »
DJ, they can. but drawing to the buffer is what i was trying to avoid in that scenario. anyway, i've figured it out. it added 1400+ bytes to my program size though  :-\ i'm not completely sure it's worth it.


SirCmpwn

  • Guest
Re: Pop ups in axe
« Reply #11 on: June 30, 2010, 02:02:25 pm »
* SirCmpwn shrugs
If it gets too large, I still say package it as an app.

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Pop ups in axe
« Reply #12 on: June 30, 2010, 03:39:17 pm »
Is is not possible to just redraw the screen after the pop-up appears?  Especially becasue you say this is for a tile mapper, I would think it would be easy to call a "Redraw" subroutine that clears the screen and redraws all the tiles.  Then you don't need to worry about extra buffers.  Speed wouldn't be an issue becasue the redraw would only be needed when exiting the pop-up.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: Pop ups in axe
« Reply #13 on: June 30, 2010, 03:41:30 pm »
wow. i feel really stupid right now. thanks quigibo. thing is, i already had such a routine in my program too, for navigating between editing tiles and editing the map.


Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: Pop ups in axe
« Reply #14 on: June 30, 2010, 05:06:11 pm »
glad to see the problems solved. if you ever have to do this kind of thing again and cant just draw back over everything with tiles it's easy enough to split the data amongst the smaller Ls using the copy function and just avoid text drawing/archiving or whatever