OPL (Open PS2 Loader)

PS2 Open PS2 Loader v1.1.0

Please test this elf for multi devices, if that doesn't work I'll have it stop checking devices after finding language files.

Now OPL is not freezing at boot.
I can select lang from multiple devices.
I mean I've e.g. 1x English (Internal), 3x Polish.

The only downside of that is I don't know from what device lang was loaded.
The same thing is with themes or even config.

Currently OPL do not have any "pop up system".
E.g. Translation was loaded from mass:/LNG.
Config was loaded from hdd0:/+OPL. Config was saved on hdd0:/+OPL.
Theme was loaded from smb0:/THM.

Or simple:
Translation was loaded from USB
Config was loaded from HDD. Config was saved on HDD.
Theme was loaded from ETH.

It might be useful, but I don't know what others thinks about it.
Font for languages from smb was never in OPL but should be doable.

As you predicted, font from SMB is not working.
Only translation (*.lng) can be loaded.

Thank you (Krah) & Tupakaveli for recent fixes.
Best regards.
 
You mean something like when WebMAN-MOD or CC or etc. is loaded on the PS3's XMB?
That little message: 'xyz got loaded'?

Yes, that would be nice and quite doable.
I think part of the code which is used for message-screens can be reused, but it shouldn't fill the whole screen, but only a certain small field and if this is gonna be implemented I suppose it is better if a theme could change the position of the 'Pop-up'.
 
You mean something like when WebMAN-MOD or CC or etc. is loaded on the PS3's XMB?
That little message: 'xyz got loaded'?

It can be pop up like in multiMAN or webMAM MOD:
newver.png


pop-up.png


It can be message like in FMCB\FHDB configurator:
settings-fhdb-small.png


As long as it shows the basic information (loading\saving localization).

Yes, that would be nice and quite doable.
I think part of the code which is used for message-screens can be reused, but it shouldn't fill the whole screen, but only a certain small field and if this is gonna be implemented I suppose it is better if a theme could change the position of the 'Pop-up'.

Yes, there is no point to "attack" the whole screen.
Small & simple.
 
  • Like
Reactions: TnA
I meant the small Pop-up!

Have you ever used Artemis on the PS3?
When you 'attach' it via the In-game-XMB, it shows a small pop-up 'Artemis attached' or similar!
...and WebMAN-MOD and some others like Control-API can also show this kind of pop-up-message, for example when they are started (during booting the PS3).


But yes, your examples are similar!

Beside not using the whole screen, it should also 'vanish' after a certain amount of time!
 
Ooooh... I forgot we have those black-box-pop-ups in the GUI!!!

I think it could show this kind of info(-box) and it 'vanishes' after a set time...
 
@jolek
https://www.sendspace.com/file/5r7nn6

This should be the last test build for languages, previously OPL would search devices in order MC->USB->HDD(if set to AUTO) in order to find font files... now it will look for font files in the same place it has just loaded your .lng files from.. so SMB should work fine now whether set to AUTO or MANUAL...so long as your ttf files are next to your lng files for any device you should be good :)

Let me know if there are any issues.
Thanks for taking the time to test.

Best regards
 
@Krah I've made quick test through ETH.
Everything seems to be fine, no matter if ETH is set to Auto\Manual\Off,
after initializing device I was able to load translation and its font.
No other device was on, translation and font was loaded only through ETH.
Of course I also deleted translation and font from HDD\USB to be 100% sure that everything has been loaded only through ETH.

Currently I've very limited time for tests,
so I'll edit my post and see what will happens if I put translation and font on all devices.
I will try to post (after editing this post) my results in 2-3 hours.

Thanks for support.
 
It might sound stupid, but the easiest change also is one of the things I like the most about the awaiting PR... That the language-files are all collected in the 'LNG'-Folder, instead of scattered around the root of the drive/folder...!

Great work on the font-support and loading it all off/from other devices!
 
Last edited:
I wanted to edit my post and give a little feedback, but since TnA added some additional info.
I will add it into new post.


I've checked few things.
  1. Does OPL will load translation and font through ETH (Off\Manual\Auto) after the device has been initialized?
    Yes, it will.

  2. Does OPL will load translation and font through HDD (Off\Manual\Auto) after the device has been initialized?
    Yes, it will.

  3. Does OPL will load translation and font through USB (Off\Manual\Auto) after the device has been initialized?
    Yes, it will.

  4. Does OPL will crash when translation and font are on few devices?
    No, currently everything works fine. No more freezing at boot.

  5. Can I select through many translation from few devices?
    Yes I can, unfortunately I'm not entirely sure from what device translation has been loaded from.
    The same thing as I mentioned before is with config and themes.
 
Great that it all works now (as it seems)!

THX for the tests @jolek!
THX for the implementation @KrahJohlito @Tupakaveli @Maximus32 / @rickgaiser !


Regarding a notification:

I think these small info-pop-ups (black box with text) - when someone scrolls over an option and these pop-ups explain what a function does - would be the best choice, because the code is already present and it only has to be called + a timer needs to be used, to let it vanish after some seconds.
 
I think these small info-pop-ups (black box with text) - when someone scrolls over an option and these pop-ups explain what a function does - would be the best choice, because the code is already present and it only has to be called + a timer needs to be used, to let it vanish after some seconds.

We've been spitballing a few ideas :)
 
I wrote a looong reply before I remembered these message-boxes, but I completely scrapped it, because these info-boxes seem to be the easiest to implement without causing redundancy (doubled code, etc.) + they also can be extended to fade in/out fast/slow.

It only needs:
  • A call to the function which shows these info-boxes
  • an argument/parameter passed to it, so it knows which message it should load (depending on where it is loaded from). The part which calls it has to pass the correct argument.
  • A timer, so it knows when to pop-away/fade out.
  • Not needed but visually better (IMO): Adding the Fade-transition to these boxes... (but IMO faster fade in/out)

Did I miss something?


The appearance of these info-boxes can be changed as well (technically). For example it could be partially transparent or show a texture.
 
Oh... I indeed missed something!

Of course it needs either one (Config/Files loaded from x) or three (Config/Files loaded from USB/SMB/HDD) new strings (depending on the implementation) within the language-files (also the internal one)!

Edit:...and a 'termination clause', which reacts upon the timer of course, which closes the pop up.


Edit: Regarding the non-necessary fading for it: If fading is wanted I think the easier way (implenting partially copied off code) is fast to accomplish, but quite static and non-reusable.

If the Fade-transition-code is changed a bit, it is possible to fade in/out almost all rendered elements and predifine the fading-speed as well! If the theme-engine (the stuff handling the scripts) would have some additions to it, fading can be used for various elements on themes as well. :)

But that scenario needs more work than copying of parts of the fading-transition-code (+ some changes) to the supposed 'pop-up-function'.
 
Last edited:
There is bug at github reported by @Krah & @Tupakaveli:
https://github.com/ifcaro/Open-PS2-Loader/issues/214.

So I've checked again test build (https://www.sendspace.com/file/5r7nn6) and OPL 1368.
It turns out that font is really missing!

I mean, in my previous tests I haven't saved setting with changed language at exit and re-run OPL.
All my devices were set to AUTO, but not language,
so everything was fine when I select manually language from list and load it.
When language is different and it is saved in settings it looks like that:
OPL-bug.png


EDIT: Found another bug.
If I only have theme on ETH, save settings with e.g. Neon Red HI-RES,
ETH - Auto, re-run OPL everything will be fine.

When I've ETH - Manual, after re-run and start device OPL will freeze.
The same thing is for USB & HDD:
OPL-bug2.png
 
Last edited:
  • Like
Reactions: TnA
@jolek
https://www.sendspace.com/file/sl4ci9

This should fix first issue, I'm having trouble replicating the 2nd issue with themes (I only have pcsx2 and usb plugin to test with) it keeps switching USB to AUTO and loading the theme anyway without freezing or showing any kind of TLB miss error...but then that could just be cause its loading cfg from USB which would also switch it to AUTO...

Anyway this build has some popup notifications also if you wanna have a play around... Runtime option..ON by default for the test build ;) I'm still trying to make sure the way its coded is reasonable and not hackish..(I am just a hobbyist after all)

Best regards
 

Try to set e.g. HDD - Manual.
Load translation from HDD, save settings, reboot.
Launch OPL, start device, once again font is missing:
OPL-bug.png


When device is set - AUTO, everything should be fine, even after reboot.
I've only tested one device (HDD).

I'm having trouble replicating the 2nd issue with themes (I only have pcsx2 and usb plugin to test with) it keeps switching USB to AUTO and loading the theme anyway without freezing or showing any kind of TLB miss error...but then that could just be cause its loading cfg from USB which would also switch it to AUTO...

You need to set e.g. USB - Manual, load theme from it, save settings, reboot.
Launch OPL, start device (e.g. USB), OPL will freeze:
OPL-bug2.png


Anyway this build has some popup notifications also if you wanna have a play around... Runtime option..ON by default for the test build ;) I'm still trying to make sure the way its coded is reasonable and not hackish..(I am just a hobbyist after all)

Currently I've notice notification:
Setting saved to mc?
BTW this string doesn't work when translation is loaded,
so there is missing string in translation that is needed to be added\update.

What about when you've two memory cards?
Setting saved to mc0
Setting saved to mc1

Unfortunately when there is no MC inside, OPL should save setting into HDD,
but I'm getting "Setting saved to mc?" notification.

On the other hand I'm getting notification that:
LNG Loaded from pfs0:
THM Loaded from pfs0:

I can even get 2 notification at the same time!

There is no notification at start that "CFG Loaded from pfs0:" at boot.

I'll need more time for tests, so thanks for current progress.
 
Last edited:
There is still a small thing regarding sound, which is kind of weird.

If you decrease or increase a number in a setting, it plays 'louder' when you hold a button instead of pushing it again for every value.
 
BTW this string doesn't work when translation is loaded,
yea translation strings wont work until the language files have been updated.

What about when you've two memory cards?
Setting saved to mc0
Setting saved to mc1

Unfortunately when there is no MC inside, OPL should save setting into HDD,
but I'm getting "Setting saved to mc?" notification.

On the other hand I'm getting notification that:
LNG Loaded from pfs0:
THM Loaded from pfs0:

I can even get 2 notification at the same time!

There is no notification at start that "CFG Loaded from pfs0:" at boot.
Thanks for testing, LNG & THM notifications should be all good.. it is much easier to get the "loaded from" device since it is already stored in memory a-la the filePath but CFG is a bit trickier since it just looks for one and loads so the information is not stored anywhere to access it, it needs to be done at the time of loading/saving.. i'll try to continue working on it.

For now I'm hoping to get these LNG/THM/Device init bugs sorted, I have 2 ELFs to test this time around as I'm not sure if both THM & LNG are affected by the same thing...

Test 1 = https://www.sendspace.com/file/hy8ut0
Test 2 = https://www.sendspace.com/file/89caea

I am hoping 1 or both of these fix all the issues with freezing and font rendering you have experienced above when initialising devices.
If you don't get a chance to test, that's cool.. I do appreciate you've been taking time out to do it.. at some point I might need to get a ps2 set back up :P

Cheers mate
 
For now I'm hoping to get these LNG/THM/Device init bugs sorted, I have 2 ELFs to test this time around as I'm not sure if both THM & LNG are affected by the same thing...

Test 1 = https://www.sendspace.com/file/hy8ut0
Test 2 = https://www.sendspace.com/file/89caea

Languages support theatrically should be fixed in both test versions.
I mean:
when I set device - manual -> select different translation -> save settings -> reboot -> start device ->
LNG will be loaded, OPL will not crash.

BTW when I start device, Internal English language will be change into one that I saved (Polish).
BTW 2 I will get notification when device will be set AUTO, but not when Manual.
E.g. LNG Loaded From mass0:

Unfortunately none of these versions seems to help THM when device is set to manual.
When the device is set to auto there shouldn't be any problems.

Thanks for your time taken in sorting to fix these bugs.
 

Similar threads

Back
Top