LoginLogin

Dev/Bugreports for SKKBAUI

Root / Talk About Programs / [.]

CyberYoshi64Created:
Poll will close on 20th July.
oof
Oops. Forgot to close it. Oh well. [poll=p730][/poll] Alright. You decided that the Switch edition will run exclusively in direct mode. It will hide and pause itself when going in the editor or running a program (in the main interpreter). I may let it be changable, for further customization, but it will be done later, if I think of it again. BTW IDK exactly how to do layers, so I just stuck 2 sprites on top of each other. They do act like layers though. That way, the taskbar and the Whisker menu (XFCE4's start menu) are always on top. Also, I can pull off nice animations for the session close dialog or other interrupts with sprite commands instead.
Thats nice. oof I didn't read the thing you said bc I was just too busy and replied fast so uh... If you dont know how to do layers, that might be a problem. Try getting sample codes from built-in games or something.

My Twitter post ーーーーーーーーーーー I released the base with minor API from ミドリOS (It's not compatible with existing apps, since I changed the base a lot, such as function names and the method to draw apps.) I still have a long way to go.

(This applies to the Switch edition) I've modified the UI basement to chamge the way, apps are drawn.
How does it work?Basically, when an app is initializzed with AppInit(), it gets assigned its own playfield on the GRPs since there's a lot of room I don't need. The function GetNewWinPos() searches for empty space in the GRP to give to the app. Then, when the app gets to use the space I gave to it, I use 2 sprites to form the visible window on the screen. Sprite 1 is the window border which can be used to interact with the mouse and make collisions easier. Sprite 2 is the window canvas, basically the playfield of the app, which is displayed "inside" of sprite 1.
Wouldn't it be slow as a snail?No, by looking for spaces in chunk sizes, it will be much faster. This may be a mistake when very small apps are involved but I only bother to fix or mitigate this when the API is good enough for people to make their own apps.
What are the advantages?Transparent effects are possible. The apps can be optimized by letting them only render things they needs static, only once rather than constantly. (Of course they can still render everything constantly like the 3DS version.)
What are the disadvantages?When initializing or throwing away app processes, it will stop responsiveness of サカキバラUI for almost a second. Apps will be more likely given loading times, depending on internal or external resources they need, e.g. LOADV arrays, GCOPY data from GRP4, ... If all apps are taking more than 16ms total, they may be starting to flicker due to lack of double-buffer. (If I'd use double buffers, it'd cut the number of active apps at least in half)
About the double buffers from previous spoiler... If I add these and apps take a full screen size, only 2 apps would be able to open. With a small size of 64x64, it is theoratically possible to get ~24 apps open. I kinda refuse to add a doublebuffer to apps, unless I get huge pushback or suggestions to add them. Also, poll time yet again. [poll=p733][/poll]

Bad news (yet again): My 3DS SD card has been corrupted by my PC's own SD reader and thus, I lost all progress I had from the 0.3.7 update. (Switch version is okay since it's stored on the Switch itself.) I may not be able to bring out any updates to the 3DS version sadly, if it continues to happen. I bought a new SD reader but who knows what will go wrong in the future. RIP 3DS version foe now I guess

Bad news (yet again): My 3DS SD card has been corrupted by my PC's own SD reader and thus, I lost all progress I had from the 0.3.7 update. (Switch version is okay since it's stored on the Switch itself.) I may not be able to bring out any updates to the 3DS version sadly, if it continues to happen. I bought a new SD reader but who knows what will go wrong in the future. RIP 3DS version foe now I guess
NOOOOOOOOOOOOOOOOOOOOOOOOOOOO (1 billion years later) OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

Bad news (yet again): My 3DS SD card has been corrupted by my PC's own SD reader and thus, I lost all progress I had from the 0.3.7 update. (Switch version is okay since it's stored on the Switch itself.) I may not be able to bring out any updates to the 3DS version sadly, if it continues to happen. I bought a new SD reader but who knows what will go wrong in the future. RIP 3DS version foe now I guess
Before you ran the test and formatted your SD yesterday, did you make a backup of the files on the SD?

...
Before you ran the test and formatted your SD yesterday, did you make a backup of the files on the SD?
I already told you but for those who werent there: Yes, I tried to back up my Sd card contents but unfortunately, my PC's SD reader corrupted most of the stuff before I had a chance basically.

Oh man, it's been a month without activity on neither the Switch or the 3DS. I'll promise that I am going to revive the project. It's just that I'm currently working on quite a few projects
Listed - サカキバラUI (3DS, Switch and Python) - Mr0H's jump'n'run adventure (Switch) - SB Download Station (3DS homebrew) - My website
↑ I have to temporarily discontinue some. EDIT: Those projects that have bold text will be kept in dev. The other 2 are discontinued until further notice.

Oh man, it's been a month without activity on neither the Switch or the 3DS. I'll promise that I am going to revive the project. It's just that I'm currently working on quite a few projects
Listed - サカキバラUI (3DS, Switch and Python) - Mr0H's jump'n'run adventure (Switch) - SB Download Station (3DS homebrew) - My website
↑ I have to temporarily discontinue some. EDIT: Those projects that have bold text will be kept in dev. The other 2 are discontinued until further notice.
Wait, is there a Python version of Sakakibara UI? If youre struggling a bit on the homebrew project, you can take a break anytime you want.

Wait, is there a Python version of Sakakibara UI? If youre struggling a bit on the homebrew project, you can take a break anytime you want.
1. Yes, I have an unreleased build of "サカキバラUI: Python edition" which I developed during July, when I didn't have my Switch to develop the Switch edition instead.
Details Uses: Python 2.7+ with Pygame Can: Spawn windows, close them, and change resolution of its viewport. Extra requirements (for now): nintendo_NTLG-DB font, M 1p+ font,
2. Okay, thanks.

Development was terminated? What does that mean?

Development was terminated? What does that mean?
It's basically project discontinuation (as I announced before) but now I actually drop support for it and revival is quiet unlikely (or in this case never happening whatsoever). (My definition of discontinuation and termination are a bit misleading but that's how I'd say it) This thread can now be locked. (I would have appreciated to get to 30 pages, rather than 28, but that's how it is, unfortunately.)

So you stopped development on it? That sucks.

Well, the thing is: - 3DS: I kinda reached the limit of what I can let it do without it being unusable or too gimmicky. - Switch: Having a mock OS being re-made into just a window environment which could break its boundaries to help a user with programming his own games/tools is not a good idea. Ofc I could've began from scratch to only have this specific purpose but I ran out of possible solutions to actually do it. (Sounds dumb but I'm retarded anyway) I will make a full mock OS before coming back to this project (for just the Switch) and revive it by taking the new "kernel" I implemented into CYMOS (my new project), since it is potentially suited better for use as a subprogram than the 3DS port was. EDIT: I changed my mind about locking this thread. Don't do it yet. If I really feel like never working on mock OSs or サカキバラUI, ever again, then this thread can be locked. EDIT 2: Now I see why you didn't understand my terminology at first: I'm a native german speaker and the words "discontinue" and "terminate" have different meanings and/or translations: discontinue - abbrechen (beenden) - abort (stop, discontinue) terminate - beenden (vernichten) - stop (kill, terminate)

Hmm ok

I'll be reviving this project but not in the current state. I'm thinking about remaking it entirely once again. Sure, it will not be compatible with Midori OS anymore but it will be improving performance, API and theme customizability (i.e. bring back fancy glassy themes with next to no bottlenecks) Although that project will be renamed to CYMOS as well. It will also be compatible with SB BIG, although I may not try to make a Switch version.

Just in time to tell ya I'm fake. I can't stand it anymore. See my profile description for detail. - Greetings, CyberYoshi64

"Some screenshots"
CYMOS on the way, am working on the setup, which also runs inside a window manager. That also includes the unpacker, I managed to make it unpack the files in the background, whereas: - On 3DS, it will wait until you click on the bottom status bar or you finished entering your initial settings. - On Wii U, it caches the files in memory (as it has 128MiB user memory, instead of just 8) and will make you spam the A button when the initial settings were entered. Speaking of code patches, I managed to patch SmileBASIC 3 to allow Luma LayeredFS to work, as it actually doesn't without my patch. That will allow new files to be added to the SYS folder or also a theme for the top menu. Will be quite awesome (with some limitations, as other things in the menu are hardcoded, sadly.)

images Showing off my taskbar, it's barebones ik but it works for now. Security options; yes, I got a LogonUI-like application working properly. Showing off the HSV color picker here, alongside window spam ^^'
alr I got a taskbar and it's still pretty light; as I implemented sprites into the WM. That actually allowed me to make a HSV color picker
Spoilernot that it matters too much, in that apps made for CYMOS will actually use it, besides maybe just the themes' settings... lmao. Talk about adding unnecessary features XD

Updated the task manager; now has some statistics, such as how much memory I'm wasting. Also: API logs! For whatever reason! Note, it's not written to a slot or anything (I used up all of them already). Tho this is reserved for debug mode (besides the test mode for packages like Midori OS did). Now to add settings and fine-tune other things and then I can publish another beta.