ManaGunZ

PS3 ManaGunZ - PS3 Backup Manager by Zar v1.41

Personally i think this new app should be frontpaged, because is the first app that allows to create those PS2 CONFIG files

I agree @STLcardsWS Can write an article about it ?

I agree, a bit tired right now :( . At best i wont be able to get this up until i get home from work tomorrow Maybe one of the other guys can give this a go or someone else, as we do have a writing contest going on currently :) If no one has attempted anything, i will b sure it gets up.

Looks like a great utility nice work
 
  • Like
Reactions: Zar
@Zar what you do to fix this compilation error ? (it comes from the rcomage inside managunz)
Code:
c:/PSDK3v2/project/ManaGunZ/MGZ/source/RCO/xmlread.c:13:27: fatal error: libxml/parser.h: No such file or directory
Im guessing adding the libxml2 library to mingw ? or you are doing other changes ?
 
I have to fix it properly but you can do this ugly "trick", rename :
- PSDK3v2\ps3dev\portlibs\ppu\include\libxml2 to PSDK3v2\ps3dev\portlibs\ppu\include\libxml
&
- PSDK3v2\ps3dev\portlibs\ppu\lib\libxml2.a to PSDK3v2\ps3dev\portlibs\ppu\lib\libxml.a

this is what i did.
 
@sandungas
Obviously a straight folder & file renaming in portlibs would mess the sdk up for other projects.... Unless you duplicate the folder & lib file to have one libxml & one libxml2 for each....

If you prefer to keep the sdk as is, the only 2 occurrences to change in the code should be:

1. in MGZ/source/RCO/xmlread.c.
Code:
#include <libxml/parser.h>
to be changed to
Code:
#include <libxml2/libxml/parser.h>
2. In MGZ/makefile
Code:
LIBS	:= -lxml ../lib/libiconv.a ../lib/libntfs_ext.a ../lib/libcobra.a ../lib/libgtfconv.a ../lib/libapputil.a
\ 			../lib/libMagickWand.a ../lib/libMagickCore.a
\ 			-ltiny3d -lsysmodule -lgcm_sys -lrsx -lsysutil -lio -lm -lfreetype -lz -lhttputil
\ 			-lhttp -lssl -lnet -lpng -lpngdec -ljpgdec -lsysfs
to be changed to
Code:
LIBS	:= -lxml2 ../lib/libiconv.a ../lib/libntfs_ext.a ../lib/libcobra.a ../lib/libgtfconv.a ../lib/libapputil.a
\ 			../lib/libMagickWand.a ../lib/libMagickCore.a
\ 			-ltiny3d -lsysmodule -lgcm_sys -lrsx -lsysutil -lio -lm -lfreetype -lz -lhttputil
\ 			-lhttp -lssl -lnet -lpng -lpngdec -ljpgdec -lsysfs
 
Last edited:
I have to fix it properly but you can do this ugly "trick", rename :
- PSDK3v2\ps3dev\portlibs\ppu\include\libxml2 to PSDK3v2\ps3dev\portlibs\ppu\include\libxml
&
- PSDK3v2\ps3dev\portlibs\ppu\lib\libxml2.a to PSDK3v2\ps3dev\portlibs\ppu\lib\libxml.a

this is what i did.
Thx, now it works, elf, self, eboot, pkg, all ok

Just for the record, about PSDK3v2, when compiling in windows xp (in a virtual machine or old pcs) could appear a problem with python
Code:
/usr/bin/env: python: Bad file number
Can be solved by installing this:
http://www.microsoft.com/en-us/download/details.aspx?id=29
 
Last edited:
@sandungas
Obviously a straight folder & file renaming in portlibs would mess the sdk up for other projects.... Unless you duplicate the folder & lib file to have one libxml & one libxml2 for each....
Yep, i was trying to avoid doing that, this is why i prefered to ask before trying to mess with mingw or other libraries myself

But now that zar has explained exactlly what he did is good enought for me by now, i stored a .txt note about the changes i made to PSDK3v2... this way i can revert it back later

No hurry in fixing that, i know rcomage is tricky to compile under mingw/mysys, i tryed time ago and had a good amount of problems, specially when using the makefile.am kakaroto prepared for linux, i could fix a few but still the compiler throws some hundreds of warnings, is a mess for a noob like me is overwhelming, lol

I think zar didnt wanted to spend much time with the integration of rcomage, by now is not important and trying to remove from it the features that are not needed in managunz or that are duplicated is too much work
But is ok by now, is the case of... "if it works dont touch it"

Your message solves it i think (not tryed), but i think the path should be
Code:
#include <libxml2/libxml/parser.h>
 
Last edited:
Your message solves it i think (not tryed), but i think the path should be
Code:
#include <libxml2/libxml/parser.h>
That is correct. I posted the information from memory without double checking. I modified my previous post...

I know it works because I remember making those changes for MGZ to compile properly many months ago..

If you only use psl1ght for MGZ then you don't really care, the way you fixed the issue will work fine. However if you also use the psl1ght sdk with other projects, any call to libxml will be broken. For compatibility reasons & good practice, changes like this should always be made at code level, never at sdk level.
 
Last edited:
I think zar didnt wanted to spend much time with the integration of rcomage, by now is not important and trying to remove from it the features that are not needed in managunz or that are duplicated is too much work
But is ok by now, is the case of... "if it works dont touch it"

Exactly !
 
That is correct. I posted the information from memory without double checking. I modified my previous post...

I know it works because I remember making those changes for MGZ to compile properly many months ago..

If you only use psl1ght for MGZ then you don't really care, the way you fixed the issue will work fine. However if you also use the psl1ght sdk with other projects, any call to libxml will be broken. For compatibility reasons & good practice, changes like this should always be made at code level, never at sdk level.
Agreed, my first message was mostlly to know what zar was doing to keep my files synced with the git

Im testing your suggestions with the double folder path libxml2/libxml i mentioned and it works, but that is not enought, the next problem is the includes in parser.h fails (because inside parser.h the includes doesnt uses the double folder path), all this ones are not connected
Code:
#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/dict.h>
#include <libxml/hash.h>
#include <libxml/valid.h>
#include <libxml/entities.h>
#include <libxml/xmlerror.h>
#include <libxml/xmlstring.h>
I dont know how to fix it without modifying the parser.h file or any other file from PSDK3v2, do you remember what you did with this problem ?


Edit:
A dirty way to fix it could be to include all parser.h dependencies at top of xmlread.c before the "include parser.h". This way when the parser.h is compiled all its dependencies are ready
Not sure how many are, but probably a lot because includes sub dependencies, i hope there is a better way because this could look a bit ugly
 
Last edited:
my bad. I just checked and I did these copy :

- PSDK3v2\ps3dev\portlibs\ppu\include\libxml2\libxml to PSDK3v2\ps3dev\portlibs\ppu\include\libxml
- PSDK3v2\ps3dev\portlibs\ppu\lib\libxml2.a to PSDK3v2\ps3dev\portlibs\ppu\lib\libxml.a

I'll fix all of this in the next update. sry for the trouble.
 
Agreed, my first message was mostlly to know what zar was doing to keep my files synced with the git

Im testing your suggestions with the double folder path libxml2/libxml i mentioned and it works, but that is not enought, the next problem is the includes in parser.h fails (because inside parser.h the includes doesnt uses the double folder path), all this ones are not connected
Code:
#include <libxml/xmlversion.h>
#include <libxml/tree.h>
#include <libxml/dict.h>
#include <libxml/hash.h>
#include <libxml/valid.h>
#include <libxml/entities.h>
#include <libxml/xmlerror.h>
#include <libxml/xmlstring.h>
I dont know how to fix it without modifying the parser.h file or any other file from PSDK3v2, do you remember what you did with this problem ?


Edit:
A dirty way to fix it could be to include all parser.h dependencies at top of xmlread.c before the "include parser.h". This way when the parser.h is compiled all its dependencies are ready
Not sure how many are, but probably a lot because includes sub dependencies, i hope there is a better way because this could look a bit ugly
Easily fixed by adding "libxml2/' in front of every" libxml/...h" entries in use so it looks like "libxml2/libxml/....h". That requires changes we don't really wanna make though.

The easiest way (dirty fix also) might be to keep libxml duplicated in the sdk so you have both libxml2 & libxml.

However I think it might actually be better & smarter to add the ps3dev/portlibs/ppu/include/libxml2 path as include in the makefile... This way you would not have to modify those sdk headers or the RCO source code, only the project makefile would have 2 changes, one in LIBS where -lxml would still need to be changed to -lxml2 & the other in INCLUDES where something like ../$(PSL1GHT)/portlibs/ppu/include/libxml2 should be added.
 
Last edited:
However I think it might actually be better & smarter to add the libxml2 path as include in the makefile... This way you would not have to modify those headers or the MGZ source code, only the makefile.
I was thinking in this, didnt mentioned because i dont know if is posible or how to do it, but looks like the best way

Anyway, what i explained in my previous message seems to work (in xmlread.c adding all dependencies of parser.h before including it... all them with the double folder path), not sure if this is a good idea thought, but if no other better fix is used this could be used temporally as a "dirty fix"
I dont know how many includes are needed thought, not made the list yet, was waiting to see if some of you had a better idea

Edit:
Bad idea, i just tryed it and doesnt works, this is the list of includes related with libxml2 i used in xmlread.c:
Code:
#include <libxml2/libxml/xmlexports.h>
#include <libxml2/libxml/xmlversion.h>
#include <libxml2/libxml/xmlstring.h>
#include <libxml2/libxml/tree.h>
#include <libxml2/libxml/dict.h>
#include <libxml2/libxml/hash.h>
#include <libxml2/libxml/xmlerror.h>
#include <libxml2/libxml/list.h>
#include <libxml2/libxml/xmlregexp.h>
#include <libxml2/libxml/xmlautomata.h>
#include <libxml2/libxml/valid.h>
#include <libxml2/libxml/entities.h>
#include <libxml2/libxml/parser.h>
The problem is only works with "1 level" down
The "include xmlversion.h" fixes an error of parser.h but xmlversion.h includes xmlexports.h and that "sub dependency" doesnt works
Now it fails with:
Code:
c:/PSDK3v2/ps3dev/portlibs/ppu/include/libxml2/libxml/xmlversion.h:13:31: fatal error: libxml/xmlexports.h: No such file or directory
 
Last edited:
@sandungas Can you tell me if it compile without issue now ? I think fixed the libxml issue. https://github.com/Zarh/ManaGunZ/commit/483aaaa9418cb5eda40c518a84ee3cf88ae26696

But I don't remember if I did an other ugly modification like this one. I'll try to not do this again !
Yes, that changes fixed it, i was making a lot of small changes to them the other day so i deleted/reinstalled PSDK3v2 and downloaded the latest ManaGunZ-master.zip to be sure all my files was "original", then run 'make' and 'make pkg'... and all works fine, .elf .self and .pkg compiled without problems

Im not much used to makefiles and this one is specially complex. Actually there are 2 makefiles... one of them calls the other, right ?


----------
There are a couple of problems with the "make clean" btw
Code:
F:\PSDK3v2\project\ManaGunZ>make clean
clean ...
clean ...
make: *** MGZ/lib/cobralib: No such file or directory.  Stop.
make: *** [clean] Error 2
After deleting line 133 of F:\PSDK3v2\project\ManaGunZ\Makefile (because 'cobralib' doesnt exists anyway, looks like a reminiscent from a previous managunz version)
Code:
@$(MAKE) clean -C MGZ/lib/cobralib --no-print-directory
The result is:
Code:
F:\PSDK3v2\project\ManaGunZ>make clean
clean ...
clean ...
make[1]: *** No rule to make target `clean'.  Stop.
make: *** [clean] Error 2
Though it stops, the cleanup works overall... but there is a renegade file that survives the cleanup

After decompressing ManaGunZ-master.zip -----> files 983 / folders 100
After 'make' and 'make pkg' --------------------> files 1573 / folders 127
After 'make clean' -----------------------------> files 984 / folders 100

The renegade file is
Code:
F:\PSDK3v2\project\ManaGunZ\pkgfiles\USRDIR\ManaGunZ.self
 
  • Like
Reactions: Zar
kozarovv updated ManaGunZ with a new update entry:

ManaGunZ v1.27

_ Add : Support CFW 481 DEX.
_ Add : Mamba v3 is ported to every supported fw.
_ Add : PS2emu patcher is updated with the new payload to support PS2 CONFIG. See note (1).
_ Add : PS2 CONFIG files from psdevwiki are included. It will be added automatically if there isn't any CONFIG used.
_ Add : PS2 Menu. See note (3).
_ Add : To have a faster loading, ICON0s and covers are loaded in a background task, a progress bar is displayed.
_ Fix : Navigation with L joystick is less sensible.
_ Fix :...

Read the rest of this update entry...
 
kozarovv updated ManaGunZ with a new update entry:

ManaGunZ v1.28

Add : PS2 CONFIG creator.
Add : Re-write code to be more 'flexible' (almost nothing change for the user).
Add : Filter.
Add : "Use game sidemenu".
Fix Mamba : offset PSP_savedata.
Fix : error libxml when compile the project.
Fix : No more 'browsing freeze' when PIC1 was loading.
Add : A progress bar will be displayed, when the PIC1 is loading.
Add : PS2 WideScreen option. See note (1).
Add : local DB of hash to check games integrity. See note (2).
Add : Plugin manager. See note(3).
Add...

Read the rest of this update entry...
 
Great !
PS2 patch support and plugin manager worths an special mention, but the other unexpected features are nice too

How works this ones btw ?
-------------------------
Add : Filter.
Add : "Use game sidemenu".

P.S.
Someone with a youtube account and viceocapture card could record a new video to replace the one in the first message of the thread, lot of chages since that version
 
Last edited:
Back
Top