Fixed submenu icons? Wow, just about this close to messing with the xmb icons now. I suppose I can wait a bit longer for the rest of the customizations though. Good job with everything that's been done so far. ^^
Printable View
Fixed submenu icons? Wow, just about this close to messing with the xmb icons now. I suppose I can wait a bit longer for the rest of the customizations though. Good job with everything that's been done so far. ^^
fack! i flashed my icons and it worked but now some other icons are gone. for instance my camera icon, pretty much all the new firmware icons are gone. wtf did i mess up on.
It depends where you got the package.
If you got it from my guide its really outdated.
I'm in the middle of updating it.
yeah i got it from your guide. will your new release fix it?Zitat:
Zitat von |-Anubis-|
Yea it includes the .dat files that zmatheu fixed up a couple of posts back so it should look fine.Zitat:
Zitat von gmansixfo
I was busy writing the bash scripts to automate the process of making a topmenu_plugin.rco on Linux
NICE! i feel good now thx :tup:Zitat:
Zitat von |-Anubis-|
what is the latest version of the top menu generator and can someone link me to the download
thx
y don't u read b4 asking 1 clue between pages 90 - 100.
Hi there!
Can someone upload an ORIGINAL 2.5 topmenu_plugin.rco with the 3.03 icons & french texte fix please except that I wanna the USB icon instead of the Key one..?
I wanna edit my 3.03 menu labels but I wanna keep the original icons because I don't want semi-perfect drawed icons.
the first file *and possibly others* were bigger than the other files you replaced.Zitat:
Zitat von gmansixfo
make sure the next file still starts at the same offset as originally. you have to add or remove some FF to make sure the next file starts the same as before.
this doesnt work on 3.03 OE-C
it just bricked my psp
but recovery works and i am reflashing!
lol i have just changed them through recovery -> toggle flash0 thingie ;) :)
For those of you needing a little more help, here is a list of the offsets. Some of the inspiration/information came from MofW's asd.jpg with the offsets, you know where the start address came from, and the rest is good old trial and error.
Start End Picture Function
0c20c 0cebf Settings Main
0cec0 0d963 Photo Main
0d964 0e317 Music Main
0e318 0ed9f Video Main
0eda0 0fa4f Game Main
0fa50 10527 Network Settings Main
10528 10dff Camera Main
10e00 11d5b RSS Settings Main
11d5c 12e9f RSS Channel Main
12ea0 1386b Online Instruction Manuals Main
1386c 1468f Remote Play Main
14690 14c41 - Maybe 15453 Certificate Main
15453 1836f ????? ?????
18e70 19673 UMD Main
19674 19ce7 Memory Stick Main
19ce8 1a69b UMD Shadow
1a69c 1ac23 Memory Stick Shadow
1ac24 1b8d3 UMD Hover
1b8d4 1c1af Memory Stick Hover
1c1b0 1cad7 Network Update Main
1cad8 1d2cf USB Connection Main
1d2d0 1de4b Video Settings Main
1de4c 1e9a3 Photo Settings Main
1e9a4 1f477 System Settings Main
1f478 1fed7 Theme Settings Main
1fed8 20a47 Date & Time Settings Main
20a48 215e7 Power Save Settings Main
215e8 220df Sound Settings Main
220e0 22b2f Security Settings Main
22b30 2369b Network Settings Main
2369c 23fe3 Network Update Shadow
23fe4 24693 USB Connection Shadow
24694 2510f Video Settings Shadow
25110 25b23 Photo Settings Shadow
25b24 264e7 System Settings Shadow
264e8 26ea7 Theme Settings Shadow
26ea8 278df Date & Time Settings Shadow
278e0 283fb Power Save Settings Shadow
283fc 28e07 Sound Settings Shadow
28e08 2988f Security Settings Shadow
29890 2a38f Network Settings Shadow
2a390 2af03 Network Update Hover
2af04 2b9f3 USB Connection Hover
2b9f4 2c9d7 Video Settings Hover
2c9d8 2d6c3 Photo Settings Hover
2d6c4 2e42b System Settings Hover
2e42c 2f0cb Theme Settings Hover
2f0cc 2fe57 Date & Time Settings Hover
2fe58 30ccb Power Save Settings Hover
30ccc 319e3 Sound Settings Hover
319e4 32857 Security Settings Hover
32858 33797 Network Settings Hover
33798 34227 Game Sharing Main
34228 34743 Saved Data Main
34744 34f93 PSP Update Main
34f94 359cb Game Sharing Shadow
359cc 3602f Saved Data Shadow
36030 36a63 PSP Update Shadow
36a64 378fb Game Sharing Hover
378fc 38247 Saved Data Hover
38248 38fef PSP Update Hover
38ff0 399b7 Location Free Main
399b8 3a223 Internet Browser Main
3a224 3aae7 Location Free Shadow
3aae8 3b257 Internet Browser Shadow
3b258 3bcdb Location Free Hover
3bcdc 3c8b3 Internet Browser Hover
-= Double Post =-
By the way, any help with the unknown range is greatly appreciated.
I all ready have sky blue fade icons and i have been trying to hex edit it so my camera icon and a few others in sky blue but when i edit the file there a black box around my icon and i dont no how to solve using transparency.
could someone please sort my icons out for me
all you people asking for topmenu_plugin.rco's should already know that you can't ask for that here, even you right above me asking people to pm it to you is the same deal. It is a wholly owned sony file, ergo illegal to share.
Exactly, either instant message it or... Qj could get shut down for having illegal file download links on it.
UM yes it does, I am enjoying my custom icons on the new 3.03oec so ha. no brick for me, you must have had to many modules flashed and ran out of room.Zitat:
Zitat von HeaD_ShOt
um that topmenu is not illegal to share there is no copywrite code in it, all it is is some pointers,linkers,and zlib compresed bmp files(which sony doesnt have copywrite on)Zitat:
Zitat von soopergooman
zmathue: hows the Sub-menu icon app going?
I dont have time to work on it till monday but i have all the gui and basic functions but still no icon creatingZitat:
Zitat von delirumhappy
Dude i can not send a pm back because your box is full buth send your msn to me. Grtzz
its empty now
somebody want sources
i lost code for 3.02 joiner :(Code:// bmp2mig by kgsws
//
#include <iostream>
#include <windows.h>
#include <winbase.h>
#include <string>
using namespace std ;
//128
char mighead[]="\x4D\x49\x47\x2E\x30\x30\x2E\x31\x50\x53\x50\x00\x00\x00\x00\x00\x02\x00\x10\x00\xC0\x14\x00\x00\x10\x00\x00\x00\x10\x00\x00\x00\x03\x00\x10\x00\xB0\x14\x00\x00\x10\x00\x00\x00\x10\x00\x00\x00\x05\x00\x10\x00\x50\x04\x00\x00\x50\x04\x00\x00\x10\x00\x00\x00\x30\x00\x00\x00\x03\x00\x00\x00\x00\x01\x01\x00\x20\x00\x10\x00\x01\x00\x02\x00\x00\x00\x00\x00\x30\x00\x00\x00\x40\x00\x00\x00\x40\x04\x00\x00\x00\x00\x00\x00\x02\x00\x01\x00\x03\x00\x01\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
//80
char migdata[]="\x04\x00\x10\x00\x50\x10\x00\x00\x50\x10\x00\x00\x10\x00\x00\x00\x30\x00\x00\x00\x05\x00\x01\x00\x3D\x00\x3D\x00\x08\x00\x10\x00\x08\x00\x02\x00\x00\x00\x00\x00\x30\x00\x00\x00\x40\x00\x00\x00\x40\x10\x00\x00\x00\x00\x00\x00\x01\x00\x01\x00\x03\x00\x01\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
FILE *f1;
FILE *f2;
int p1,p2,p3,p4,x,rx,ry,rb;
char hlava[54];
char paleta[1024];
char palet5[1024];
char obraz[4096];
char obra5[4096];
char obray[4096];
int main(int argc, char* argv[])
{
if(argc<3) {
printf("Prevod BMP do MIG (64x64x8) by kgsws\nPouziti: %s *.bmp *.mig\n",argv[0]);
return 0;
}
f1=fopen(argv[1],"rb");
x=0;
while(x!=54){
x++;
hlava[x-1]=fgetc(f1);
}
x=0;
p1=0;
while(x!=1024){
x++;
p1++;
palet5[x-1]=fgetc(f1);
if(p1==4) {
palet5[x-1]=255;
p1=0;
}
}
palet5[3]=0;
x=0;
while(x!=4096){
x++;
obra5[4096-x]=fgetc(f1);
}
fclose(f1);
x=0;
rx=hlava[18]+hlava[19]*256+hlava[20]*256*256+hlava[21]*256*256*256;
ry=hlava[22]+hlava[23]*256+hlava[24]*256*256+hlava[25]*256*256*256;
rb=hlava[28];
printf("%s\nX : %d\nY : %d\nBPP : %d\n",argv[1],rx,ry,rb);
if(rx!=64){
printf("Spatny rozliseni X, musi byt 64\n");
x=1;
}
if(ry!=64){
printf("Spatny rozliseni Y, musi byt 64\n");
x=1;
}
if(rb!=8){
printf("Spatnej pocet barev, musi byt 256 (8 bpp)\n");
x=1;
}
if(x==1) return 0;
printf("Prevod ... ");
p1=0;
while(p1!=64){
p1++;
p2=0;
while(p2!=64){
p2++;
obraz[(p1-1)*64+(p2-1)]=obra5[(p1-1)*64+(64-(p2-1))];
}
}
p1=0;
while(p1!=256){
p1++;
p2=p1*4;
paleta[p2-4]=palet5[p2-2];
paleta[p2-3]=palet5[p2-3];
paleta[p2-2]=palet5[p2-4];
paleta[p2-1]=palet5[p2-1];
}
f2=fopen(argv[2],"wb");
x=0;
while(x!=128){
x++;
fputc(mighead[x-1],f2);
}
x=0;
while(x!=1024){
x++;
fputc(paleta[x-1],f2);
}
x=0;
while(x!=80){
x++;
fputc(migdata[x-1],f2);
}
p1=0;
p2=0;
while(p3!=8){
p3++;
// (1) 8*16
x=0;//1
while(x!=16){
x++;
obray[x+(16*(0+p1))-1]=obraz[x+(0*16)+(64*(0+p2))-1];
}
x=0;//2
while(x!=16){
x++;
obray[x+(16*(1+p1))-1]=obraz[x+(0*16)+(64*(1+p2))-1];
}
x=0;//3
while(x!=16){
x++;
obray[x+(16*(2+p1))-1]=obraz[x+(0*16)+(64*(2+p2))-1];
}
x=0;//4
while(x!=16){
x++;
obray[x+(16*(3+p1))-1]=obraz[x+(0*16)+(64*(3+p2))-1];
}
x=0;//5
while(x!=16){
x++;
obray[x+(16*(4+p1))-1]=obraz[x+(0*16)+(64*(4+p2))-1];
}
x=0;//6
while(x!=16){
x++;
obray[x+(16*(5+p1))-1]=obraz[x+(0*16)+(64*(5+p2))-1];
}
x=0;//7
while(x!=16){
x++;
obray[x+(16*(6+p1))-1]=obraz[x+(0*16)+(64*(6+p2))-1];
}
x=0;//8
while(x!=16){
x++;
obray[x+(16*(7+p1))-1]=obraz[x+(0*16)+(64*(7+p2))-1];
}
// konec (1)
// (2) 8*16
x=0;//1
while(x!=16){
x++;
obray[x+(16*(8+p1))-1]=obraz[x+(1*16)+(64*(0+p2))-1];
}
x=0;//2
while(x!=16){
x++;
obray[x+(16*(9+p1))-1]=obraz[x+(1*16)+(64*(1+p2))-1];
}
x=0;//3
while(x!=16){
x++;
obray[x+(16*(10+p1))-1]=obraz[x+(1*16)+(64*(2+p2))-1];
}
x=0;//4
while(x!=16){
x++;
obray[x+(16*(11+p1))-1]=obraz[x+(1*16)+(64*(3+p2))-1];
}
x=0;//5
while(x!=16){
x++;
obray[x+(16*(12+p1))-1]=obraz[x+(1*16)+(64*(4+p2))-1];
}
x=0;//6
while(x!=16){
x++;
obray[x+(16*(13+p1))-1]=obraz[x+(1*16)+(64*(5+p2))-1];
}
x=0;//7
while(x!=16){
x++;
obray[x+(16*(14+p1))-1]=obraz[x+(1*16)+(64*(6+p2))-1];
}
x=0;//8
while(x!=16){
x++;
obray[x+(16*(15+p1))-1]=obraz[x+(1*16)+(64*(7+p2))-1];
}
// konec (2)
// (3) 8*16
x=0;//1
while(x!=16){
x++;
obray[x+(16*(16+p1))-1]=obraz[x+(2*16)+(64*(0+p2))-1];
}
x=0;//2
while(x!=16){
x++;
obray[x+(16*(17+p1))-1]=obraz[x+(2*16)+(64*(1+p2))-1];
}
x=0;//3
while(x!=16){
x++;
obray[x+(16*(18+p1))-1]=obraz[x+(2*16)+(64*(2+p2))-1];
}
x=0;//4
while(x!=16){
x++;
obray[x+(16*(19+p1))-1]=obraz[x+(2*16)+(64*(3+p2))-1];
}
x=0;//5
while(x!=16){
x++;
obray[x+(16*(20+p1))-1]=obraz[x+(2*16)+(64*(4+p2))-1];
}
x=0;//6
while(x!=16){
x++;
obray[x+(16*(21+p1))-1]=obraz[x+(2*16)+(64*(5+p2))-1];
}
x=0;//7
while(x!=16){
x++;
obray[x+(16*(22+p1))-1]=obraz[x+(2*16)+(64*(6+p2))-1];
}
x=0;//8
while(x!=16){
x++;
obray[x+(16*(23+p1))-1]=obraz[x+(2*16)+(64*(7+p2))-1];
}
// konec (3)
// (4) 8*16
x=0;//1
while(x!=16){
x++;
obray[x+(16*(24+p1))-1]=obraz[x+(3*16)+(64*(0+p2))-1];
}
x=0;//2
while(x!=16){
x++;
obray[x+(16*(25+p1))-1]=obraz[x+(3*16)+(64*(1+p2))-1];
}
x=0;//3
while(x!=16){
x++;
obray[x+(16*(26+p1))-1]=obraz[x+(3*16)+(64*(2+p2))-1];
}
x=0;//4
while(x!=16){
x++;
obray[x+(16*(27+p1))-1]=obraz[x+(3*16)+(64*(3+p2))-1];
}
x=0;//5
while(x!=16){
x++;
obray[x+(16*(28+p1))-1]=obraz[x+(3*16)+(64*(4+p2))-1];
}
x=0;//6
while(x!=16){
x++;
obray[x+(16*(29+p1))-1]=obraz[x+(3*16)+(64*(5+p2))-1];
}
x=0;//7
while(x!=16){
x++;
obray[x+(16*(30+p1))-1]=obraz[x+(3*16)+(64*(6+p2))-1];
}
x=0;//8
while(x!=16){
x++;
obray[x+(16*(31+p1))-1]=obraz[x+(3*16)+(64*(7+p2))-1];
}
// konec (4)
p1=p1+32;
p2=p2+8;
}
x=0;
while(x!=4096){
x++;
fputc(obray[x-1],f2);
}
fclose(f2);
printf("hotovo\n");
return 0;
}
icon-coder is just zpipe and source you can find on zlib homepageCode:// icon joiner for 1.50
//
#include <iostream>
#include <windows.h>
#include <winbase.h>
#include <string>
#define vel1 3252
#define vel2 2724
#define vel3 2484
#define vel4 2696
#define vel5 3248
#define zacvel 38092
#define konvel 178360
FILE *f1;
FILE *f2;
FILE *f3;
FILE *f4;
FILE *f5;
FILE *f6;
FILE *f7;
FILE *f8;
int x;
char zac[zacvel];
char kon[konvel];
char ikona[4096];
int main(int argc,char *argv[])
{
f1=fopen("zac.dat","rb");
if(!f1) {
printf("chybi zac.dat\n");
return 1;
}
f2=fopen("kon.dat","rb");
if(!f2) {
fclose(f1);
printf("chybi kon.dat\n");
return 1;
}
f3=fopen("system.dat","rb");
if(!f3) {
fclose(f1);
fclose(f2);
printf("chybi system.dat\n");
return 1;
}
f4=fopen("photo.dat","rb");
if(!f4) {
fclose(f1);
fclose(f2);
fclose(f3);
printf("chybi photo.dat\n");
return 1;
}
f5=fopen("music.dat","rb");
if(!f5) {
fclose(f1);
fclose(f2);
fclose(f3);
fclose(f4);
printf("chybi music.dat\n");
return 1;
}
f6=fopen("video.dat","rb");
if(!f6) {
fclose(f1);
fclose(f2);
fclose(f3);
fclose(f4);
fclose(f5);
printf("chybi video.dat\n");
return 1;
}
f7=fopen("game.dat","rb");
if(!f7) {
printf("chybi game.dat\n");
return 1;
}
printf("soubory nalezeny\nKontrola velikosti ikon ... ");
fseek(f3,vel1+1,SEEK_SET);
if(fgetc(f3)!=-1){
fclose(f1);
fclose(f2);
fclose(f3);
fclose(f4);
fclose(f5);
fclose(f6);
fclose(f7);
printf("\n1. ikona je moc velka\n");
return 1;
}
fseek(f3,0,SEEK_SET);
fseek(f4,vel2+1,SEEK_SET);
if(fgetc(f4)!=-1){
fclose(f1);
fclose(f2);
fclose(f3);
fclose(f4);
fclose(f5);
fclose(f6);
fclose(f7);
printf("\n2. ikona je moc velka\n");
return 1;
}
fseek(f4,0,SEEK_SET);
fseek(f5,vel3+1,SEEK_SET);
if(fgetc(f5)!=-1){
fclose(f1);
fclose(f2);
fclose(f3);
fclose(f4);
fclose(f5);
fclose(f6);
fclose(f7);
printf("\n3. ikona je moc velka\n");
return 1;
}
fseek(f5,0,SEEK_SET);
fseek(f6,vel4+1,SEEK_SET);
if(fgetc(f6)!=-1){
fclose(f1);
fclose(f2);
fclose(f3);
fclose(f4);
fclose(f5);
fclose(f6);
fclose(f7);
printf("\n4. ikona je moc velka\n");
return 1;
}
fseek(f6,0,SEEK_SET);
fseek(f7,vel5+1,SEEK_SET);
if(fgetc(f7)!=-1){
fclose(f1);
fclose(f2);
fclose(f3);
fclose(f4);
fclose(f5);
fclose(f6);
fclose(f7);
printf("\n5. ikona je moc velka\n");
return 1;
}
fseek(f7,0,SEEK_SET);
printf("hotovo\nPrevod ... ");
f8=fopen("topmenu_plugin.rco","wb");
x=0;
while(x!=zacvel){
x++;
zac[x-1]=fgetc(f1);
}
fclose(f1);
x=0;
while(x!=konvel){
x++;
kon[x-1]=fgetc(f2);
}
fclose(f2);
x=0;
while(x!=zacvel){
x++;
fputc(zac[x-1],f8);
}
x=0;
while(x!=vel1){
x++;
ikona[x-1]=fgetc(f3);
}
x=0;
while(x!=vel1){
x++;
fputc(ikona[x-1],f8);
}
fclose(f3);
x=0;
while(x!=vel2){
x++;
ikona[x-1]=fgetc(f4);
}
x=0;
while(x!=vel2){
x++;
fputc(ikona[x-1],f8);
}
fclose(f4);
x=0;
while(x!=vel3){
x++;
ikona[x-1]=fgetc(f5);
}
x=0;
while(x!=vel3){
x++;
fputc(ikona[x-1],f8);
}
x=0;
while(x!=vel4){
x++;
ikona[x-1]=fgetc(f6);
}
x=0;
while(x!=vel4){
x++;
fputc(ikona[x-1],f8);
}
fclose(f6);
x=0;
while(x!=vel5){
x++;
ikona[x-1]=fgetc(f7);
}
x=0;
while(x!=vel5){
x++;
fputc(ikona[x-1],f8);
}
fclose(f7);
x=0;
while(x!=konvel){
x++;
fputc(kon[x-1],f8);
}
fclose(f8);
printf("hotovo\n");
return 0;
}
Thanks again kgsws.
I'm sure that alot of people will find this useful
thanks, you are teh pwner
ok so i replaced my network update icon with a new image and im pretty sure its appearing at the right offset (not sure if thats the correct word for this)because i see all the icons, but im not seeing my icon... only its shadow (which looks kinda cool:) ) Any idea what i did wrong? icon was black and white so the white should show up but nothing....
Oh I feel so happy!
I was able to use kgsws's source code as a template to remake the 3.xx icon joiner
I was also able to get the source code to compile for the joiner and the bmp2mig.
Just comment out the windows headers and you're set.
Now I just need to find out how difficult it will be to code the icon-coder.
Then no more Wine!
Hey zmathue, I'm sure you will also benefit from the source code as well.
I'm still looking forward to your program!
nope i dont the bmp to mig program doesnt need to be edited you can use the origional because the 64 pixel one also works with the other sizeZitat:
Zitat von |-Anubis-|
icon loiners not neded because im not padding
can n e 1 tell me wat to edit so ALL my icons are shadows only? k thx
ill be happy with the main icons being shadow only aswell
-= Double Post =-
or making ALL icons + shadow/glow disapear just tell me what to hex, im using 3.03 oec
Ok.Zitat:
Zitat von zmathue
Sounds good.
yeah it works for those that want to be forced to use 64x64 sized icons, and absolutely nothing else. Nevermind the fact that the code doesn't compensate at all and requires a lot from the user as far as how their BMP is formatted. Though this is not to say that your program needs to deal with any of these issues at all, just that there is more room for improvement than you think.Zitat:
Zitat von zmathue
i can't wait for the relese of this.
you guys are legends
lol does your psp really have to be edited that badZitat:
Zitat von mafia1ft
is needed at the moment or something :p
Yes it does!
now all we need is a windows/linux/macos-esque type of xmb with drag and drop icons with a mouse! :)
this app will make making a 'nice' xmb SO much easier!! So, any more updates on it? :icon_cool
Working on it?
at 3:00 I will ,and I know how much your hopeing for this Ive been waiting for some development onb icon hacking from almost the day i got my psp
just asking, can we use the topmenu_plugin.rco for custom xmb from 303 now since there is a 303 dumper ?
Theres only 2 types, 1.5 and 2.x-3.x
that means no then ?