User talk:Hunterm

From WiiBrew
Jump to: navigation, search

talk

Hello!(i talked, be happy :P )--pbsds 22:38, 30 December 2009 (UTC)

Hey Hunter, I love your Card Manager app, much better than Windows 7 trying to open the pictures in there automagically! If you want, I can help teach you some things, namely C/C++, if you're willing to learn. Drop me a message sometime. Paril 14:22, 1 January 2010 (UTC)

Wii SD apps Manager source

Here is the source for my SD card manager.(i made it in autoit before i learned Python):

;===============================================================
;                     Wii SD apps Manager
;
;                          By Pbsds
;===============================================================
#NoTrayIcon
#Include <GuiButton.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIListBox.au3>
#include <GuiListView.au3>
#include <File.au3>
#include <GDIPlus.au3>
#include <ComboConstants.au3>
#include <GuiMenu.au3>
FileInstall("C:\Users\peder\Desktop\skrivebord\programmer\Ny mappe\mitt program\Wii SD apps Manager\splash.bmp",@TempDir & "\splash.bmp")
SplashImageOn ("Splash",@TempDir & "\splash.bmp",225,160,-1,-1,BitOR(1,2))
global $list, $listarray , $listarrayAviable
$SDcardRes = "Non"

Opt("GuiResizeMode", 930)

$MainGUI = GUICreate("Wii SD apps Manager",500,420,-1,-1,BitOr($GUI_SS_DEFAULT_GUI,$WS_SIZEBOX,$WS_MAXIMIZEBOX))
GUISetBkColor(0xCCE9FF)

;menu
$FileMenu = GUICtrlCreateMenu("File")
$FileMenuAdd = GUICtrlCreateMenuItem("Add an application",$FileMenu)
$FileMenuUpdate = GUICtrlCreateMenuItem("Update list",$FileMenu)
GUICtrlCreateMenuItem("",$FileMenu)
$FileMenuExit = GUICtrlCreateMenuItem("Exit",$FileMenu)

;ControlPanel:
$appinfo_button = GUICtrlCreateButton("App Info",1,1,50,30)
GUICtrlSetTip(-1, "Show the content of the selected app's meta.xml")
_GUICtrlButton_Enable($appinfo_button,False)
$appdelete_button = GUICtrlCreateButton("Delete",51,1,50,30)
GUICtrlSetTip(-1, "Remove the selected application from the drive")
_GUICtrlButton_Enable($appdelete_button,False)

GUICtrlCreateLabel("Drive:",203,8,30,16)
$DrivesAviable = GUICtrlCreateCombo("",235,4,70,21,$CBS_DROPDOWNLIST)
$GoToDrive = GUICtrlCreateButton("Go!",307,2,40,27)

$InfoPanel = GUICtrlCreateLabel("No app Selected...",350,0,@DesktopWidth - 350,32)
GUICtrlSetBkColor(-1,0xA3D8FF)

;The List
$list = GUICtrlCreateList("", 0, 32, 500, 368, BitOR($WS_VSCROLL,0x0100))
GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)

sleep(200)
SplashOff()
;show gui
GUISetState(@SW_SHOW)

;~ AddAppsFromSD($SDcardRes)
$oldselect = ""
SetDriveCombo("Non")

;gui loop
While 1
	$msg = GUIGetMsg()
	Select
		Case $msg = $appdelete_button
			if MsgBox(0,"Wii SD apps Manager","Do you really want to delete this file?") == 4 Then
				deleteApp($SDcardRes & ":\apps\" & $listarray[_GUICtrlListBox_GetCurSel($list) + 1])
			EndIf
		Case $msg = $appinfo_button
			AppProp($SDcardRes & ":\apps\" & $listarray[_GUICtrlListBox_GetCurSel($list) + 1])
		Case $msg = $FileMenuUpdate
			_GUICtrlButton_Enable($appinfo_button,False)
			_GUICtrlButton_Enable($appdelete_button,False)
			GUICtrlSetData($InfoPanel,"No app Selected...")
			AddAppsFromSD($SDcardRes)
		Case $msg = $FileMenuAdd
			If $SDcardRes <> "Non" Then
				AddApp($SDcardRes)
				_GUICtrlButton_Enable($appinfo_button,False)
				_GUICtrlButton_Enable($appdelete_button,False)
				AddAppsFromSD($SDcardRes)
			Else
				MsgBox(0,"ERROR!","You Need to select a drive first!")
			EndIf
		Case $msg = $GoToDrive
			If (not (FileExists(GUICtrlRead($DrivesAviable) & ":\apps\"))) or GUICtrlRead($DrivesAviable) == "None" Then
				_GUICtrlButton_Enable($appinfo_button,False)
				_GUICtrlButton_Enable($appdelete_button,False)
				$SDcardRes = StringTrimRight(GUICtrlRead($DrivesAviable),1)
				SetDriveCombo(string($SDcardRes))
				AddAppsFromSD($SDcardRes)
			Else
			EndIf
		Case $msg = $GUI_EVENT_CLOSE or $msg = $FileMenuExit
			FileDelete(@TempDir & "\splash.bmp")
			Exit
	EndSelect
	#Region update buttons
	If _GUICtrlListBox_GetText($list, _GUICtrlListBox_GetCurSel($list)) <> $oldselect Then
		
		If FileExists($SDcardRes & ":\apps\" & $listarray[_GUICtrlListBox_GetCurSel($list) + 1]) == 1 Then
			_GUICtrlButton_Enable($appinfo_button,True)
			_GUICtrlButton_Enable($appdelete_button,True)
			GUICtrlSetData($InfoPanel,"Path:" & @CRLF & $SDcardRes & ":\apps\" & $listarray[_GUICtrlListBox_GetCurSel($list) + 1])
		Else
			_GUICtrlButton_Enable($appinfo_button,False)
			_GUICtrlButton_Enable($appdelete_button,False)
			GUICtrlSetData($InfoPanel,"No app Selected...")
		EndIf
		
		$oldselect = _GUICtrlListBox_GetText($list, _GUICtrlListBox_GetCurSel($list))
		
	EndIf
	#EndRegion
WEnd

Func deleteApp($Dir)
	DirRemove($Dir,1)
	_GUICtrlButton_Enable($appinfo_button,False)
	_GUICtrlButton_Enable($appdelete_button,False)
	GUICtrlSetData($InfoPanel,"No app Selected...")
	AddAppsFromSD($SDcardRes)
EndFunc

Func AddApp($dsres)
	$AddAppGUI = GUICreate("Add an Application",300,400,-1,-1,BitOR($WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER,$WS_CLIPSIBLINGS))
	
	GUICtrlCreateGroup("Boot.dol",2,2,296,59)
		GUICtrlCreateLabel("Boot.dol file path:",5,16,290,16)
		$dolPath = GUICtrlCreateInput("",5,31,250,21)
		$dolPathSet = GUICtrlCreateButton("...",256,31,40,21)
	
	
	GUICtrlCreateGroup("Icon.png (Optional)",2,61,296,59)
		GUICtrlCreateLabel("Icon.bin file path:",5,16+59,290,16)
		$iconPath = GUICtrlCreateInput("",5,31+59,250,21)
		$iconPathSet = GUICtrlCreateButton("...",256,31+59,40,21)
	
	
	GUICtrlCreateGroup("Meta.xml (Optional)",2,60 + 59,296,245)
		GUICtrlCreateLabel("Name:",5,15+59+59,290,16)
		$XML_name = GUICtrlCreateInput("",5,30+59+59,290,21)
		
		GUICtrlCreateLabel("Creator:",5,15+59+59 +37,290,16)
		$XML_coder = GUICtrlCreateInput("",5,30+59+59 +37,290,21)
		
		GUICtrlCreateLabel("Version:",5,15+59+59 +37+37,290,16)
		$XML_version = GUICtrlCreateInput("",5,30+59+59 +37+37,290,21)
		
		GUICtrlCreateLabel("Short description:",5,15+59+59 +37+37+37,290,16)
		$XML_ShortDesc = GUICtrlCreateInput("",5,30+59+59 +37+37+37,290,21)
		
		GUICtrlCreateLabel("Long description:",5,15+59+59 +37+37+37+37,290,16)
		$XML_LongDesc = GUICtrlCreateEdit("",5,30+59+59 +37+37+37+37,290,66)

	
	$OKButton = GUICtrlCreateButton("Create",118,367,90,31)
	$CloseButton = GUICtrlCreateButton("Close",208,367,90,31)
	GUISetState(@SW_SHOW)
	while 1
		$msg = GUIGetMsg()
		Select
			Case $msg = $dolPathSet
				GUICtrlSetData($dolPath, FileOpenDialog("Select DOL", @WorkingDir, "Wii Executables (*.dol)", 1))
			Case $msg = $iconPathSet
				GUICtrlSetData($iconPath, FileOpenDialog("Select PNG image", @WorkingDir, "PNG image files (*.png)", 1))
			;==================================================
			Case $msg = $OKButton
				If GUICtrlRead($dolPath) <> "" Then
				do
					$FolderName = InputBox("Folder name","Name of the folder:",GUICtrlRead($XML_name))
				Until $FolderName <> ""
				
				$XML = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' & @CRLF & '<app version="1">' & @CRLF & '<name>'
				$XML &= GUICtrlRead($XML_name)
				$XML &= '</name>' & @CRLF & '  <coder>'
				$XML &= GUICtrlRead($XML_coder)
				$XML &= '</coder>' & @CRLF & '  <version>'
				$XML &= GUICtrlRead($XML_version)
				$XML &= '</version>' & @CRLF & '  <release_date>00000000000000</release_date>' & @CRLF & '  <short_description>'
				$XML &= GUICtrlRead($XML_ShortDesc)
				$XML &= '</short_description>' & @CRLF & '  <long_description>'
				$XML &= GUICtrlRead($XML_LongDesc)
				$XML &= '</long_description> ' & @CRLF & '</app>'
				
				DirCreate($dsres & ":\apps\" & $FolderName)
				FileWrite($dsres & ":\apps\" & $FolderName & "\meta.xml",$XML)
				FileCopy(GUICtrlRead($iconPath),$dsres & ":\apps\" & $FolderName & "\icon.png")
				FileCopy(GUICtrlRead($dolPath),$dsres & ":\apps\" & $FolderName & "\boot.dol")
				ExitLoop
				Else
					MsgBox(0,"ERROR!","You MUST select a boot.dol!")
				EndIf
			Case $msg = $GUI_EVENT_CLOSE or $msg = $CloseButton
				ExitLoop
		EndSelect
	wend
	GUIDelete($AddAppGUI)
EndFunc

Func AppProp($Dir)
	SplashImageOn ("Splash",@TempDir & "\splash.bmp",225,160,-1,-1,BitOR(1,2))
	_GDIPlus_Startup ()
	$release_date = XMLread($Dir & "\meta.xml","release_date")
	
	$PropGUI = GUICreate(_GUICtrlListBox_GetText($list, _GUICtrlListBox_GetCurSel($list)) & "'s Properties",300,400,-1,-1,BitOR($WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER,$WS_CLIPSIBLINGS))
	GUICtrlCreateGroup("Meta.xml",2,2,296,363)
	
	
	GUICtrlCreateLabel(	"Name: " & XMLread($Dir & "\meta.xml","name") & @CRLF & "Version: " & XMLread($Dir & "\meta.xml","version") & @CRLF & "Release date: " & stringright(StringLeft($release_date,8),2) & "/" & stringright(StringLeft($release_date,6),2) & "-" & StringLeft($release_date,4) & @CRLF & "Short description: " & XMLread($Dir & "\meta.xml","short_description") & @CRLF & "Long description:",5,21 + 68,290,70)
	
	$Text = GUICtrlCreateEdit("",5,157,290,204, BitOR($GUI_SS_DEFAULT_LIST,0x0100,0x0800))
	
	$img = _GDIPlus_BitmapCreateFromFile($Dir & "\icon.png")
	$CloseButton = GUICtrlCreateButton("Close",208,367,90,31)
	SplashOff()
	GUISetState(@SW_SHOW)
	GUICtrlSetData($Text,XMLread($Dir & "\meta.xml","long_description"))
	$graphic = _GDIPlus_GraphicsCreateFromHWND($PropGUI)
    _GDIPlus_GraphicsDrawImage($graphic, $img, 5, 21)
	while 1
		$msg = GUIGetMsg()
		Select
			Case $msg = $GUI_EVENT_CLOSE or $msg = $CloseButton
				ExitLoop
		EndSelect
	wend
	_GDIPlus_ImageDispose($img)
	_WinAPI_DeleteObject($img)
	_GDIPlus_ShutDown()
	GUIDelete($PropGUI)
EndFunc

Func AddAppsFromSD($Drive)
	
	SplashImageOn ("Splash",@TempDir & "\splash.bmp",225,160,-1,-1,BitOR(1,2))
	GUICtrlSetData($list,"")
	$listarray = ""
;~ 	_GUICtrlListBox_BeginUpdate($list)
	$search = FileFindFirstFile($Drive & ":\apps\*")
	While 1
		If $Search = -1 Then
			ExitLoop
		EndIf
		$File = FileFindNextFile($Search)
		If @error Then ExitLoop
		$FullFilePath = $Drive & ":\apps\" & $File
		$FileAttributes = FileGetAttrib($FullFilePath)
		If StringInStr($FileAttributes,"D") Then
			If FileExists($FullFilePath & "\meta.xml") <> 0 And (FileExists($FullFilePath & "\boot.dol") == 1 or FileExists($FullFilePath & "\boot.elf") == 1) Then
				_GUICtrlListBox_AddString($list,XMLread($FullFilePath & "\meta.xml","name"))
				$listarray &= "\" & StringRight($FullFilePath, StringLen($FullFilePath)-StringInStr($FullFilePath, "\", 0, -1))
			ElseIf FileExists($FullFilePath & "\boot.dol") == 1 or FileExists($FullFilePath & "\boot.elf") == 1 Then
				_GUICtrlListBox_AddString($list,StringRight($FullFilePath, StringLen($FullFilePath)-StringInStr($FullFilePath, "\", 0, -1)))
				$listarray &= "\" & StringRight($FullFilePath, StringLen($FullFilePath)-StringInStr($FullFilePath, "\", 0, -1))
			EndIf
		EndIf
	WEnd
	FileClose($search)
	$listarray = StringSplit(StringTrimLeft($listarray,1),"\")
	RemoveEmptyStringsFromList()
	_GUICtrlListBox_UpdateHScroll($list)
;~ 	_GUICtrlListBox_EndUpdate($list)
	SplashOff()
EndFunc

Func SetDriveCombo($set)
	$array = DriveGetDrive("ALL")
	$string = "None|"
	For $i = 1 to $array[0]
		$string &= $array[$i] & "|"
	Next
	GUICtrlSetData($DrivesAviable, "" , "")
	If $set <> "Non" Then 
		$set &= ":"
	Else
		$set &= "e"
	EndIf
	GUICtrlSetData($DrivesAviable, stringtrimright($string,1) , $set)
EndFunc

Func RemoveEmptyStringsFromList()
	For $i = 0 to _GUICtrlListBox_GetCount($list)
		$temp = _GUICtrlListBox_GetText($list,$i)
		If $temp == "" or $temp == " " Then
			_GUICtrlListBox_DeleteString($list, $i)
		EndIf
	Next
EndFunc

Func XMLread($meta,$section)
	$meta = FileRead($meta)
	$temp = StringLeft($meta,StringInStr($meta,"</" & $section & ">",0,-1)-1)
	return StringRight($temp,StringLen($temp)-StringInStr($temp,"<" & $section & ">",0,-1)-StringLen($section)-1)
EndFunc

If it helps, here is a list of the funtions of you are going to translate it ;): [1] --pbsds 12:49, 2 January 2010 (UTC)

Thanks, I can probably study this code a little, and find out how to make it a little nicer lookin! :D--HUN73R /\/\. 20:56, 2 January 2010 (UTC)
Looks as though it is having trouble building:
>C:\Program Files (x86)\AutoIt3\SciTE\..\au3check.exe "C:\Users\Hunter\Desktop\edited appmgr.au3"
AutoIt3 Syntax Checker v1.54.8  Copyright (c) Tylo 2007

C:\Users\Hunter\Desktop\edited appmgr.au3(59,20) : ERROR: SetDriveCombo(): undefined function.
SetDriveCombo("non")
~~~~~~~~~~~~~~~~~~~^
C:\Users\Hunter\Desktop\edited appmgr.au3(75,28) : ERROR: AddAppsFromSD(): undefined function.
			AddAppsFromSD($SDcardRes)
			~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\Hunter\Desktop\edited appmgr.au3(204,59) : ERROR: XMLread(): undefined function.
	$release_date = XMLread($Dir & "\meta.xml","release_date")
	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\Hunter\Desktop\edited appmgr.au3 - 3 error(s), 0 warning(s)
>Exit code: 2    Time: 0.536--

Hmm... thats weird... they sould be defined where the "Func" and "EndFunc" part is at the end :/ but i see you added it to the app! :)--pbsds 23:47, 2 January 2010 (UTC)

Signing your posts

Hi there. In case you didn't know, when you add content to talk pages and WiiBrew pages that have open discussion, you should sign your posts by typing four tildes ( ~~~~ ) at the end of your comment. If you can't type the tilde character, you should click on the signature button Signature icon.png located above the edit window. This will automatically insert a signature with your name and the time you posted the comment. This information is useful because other editors will be able to tell who said what, and when. Thank you! LoganA (talkcontribs) 19:39, 17 January 2010 (UTC)

Other

Hi, if you are able to make channels I need one for Syobon Action...I've all the images needed, drop me a message to $mynick @gmail Thanks! --Scognito 11:14, 9 March 2010 (UTC)

Hunterm, with your permission I would like to make small edit to your HBC beer theme. If the answer is no I'll just make my own beer theme. BTW I'm the one who created the matrix theme. --Abeckring 04:52, 15 August 2010 (UTC)

You can edit it, it's just fine. :) HUN73R /\/\. 07:43, 16 August 2010 (UTC)