This repository has been archived on 2023-10-31. You can view files and clone it, but cannot push or open issues or pull requests.
fuckpsse/IL/dump/AppMain.cs

145 lines
3.6 KiB
C#

using System;
using Sce.PlayStation.Core;
using Sce.PlayStation.Core.Environment;
using Sce.PlayStation.Core.Graphics;
using System.IO;
namespace dump
{
public class AppMain
{
public static void Copy(string inputFilePath, string outputFilePath)
{
SystemEvents.CheckEvents();
graphics.SetClearColor(1.0f, 0.0f, 0.0f, 0.0f);
graphics.Clear();
graphics.SwapBuffers();
FileStream fileStream = File.Open(@outputFilePath,FileMode.CreateNew,FileAccess.Write);
FileStream fs = File.Open(@inputFilePath,FileMode.Open,FileAccess.Read);
long i = 0;
while(i < fs.Length) {
int toRead = (int)fs.Length - (int)i;
if(toRead > 1*(1000 * 1000))
toRead = 1*(1000 * 1000);
byte[] buf = new byte[toRead];
i += fs.Read(buf,0,toRead );
fileStream.Write(buf,0,toRead );
}
fs.Close();
fileStream.Close();
}
static void SaveMemoryCopy(string sDir)
{
SystemEvents.CheckEvents();
graphics.SetClearColor(1.0f, 0.0f, 0.0f, 0.0f);
graphics.Clear();
graphics.SwapBuffers();
foreach (string d in Directory.GetDirectories(sDir))
{
if(!Directory.Exists(d.Replace("Application","Temp")))
{
Console.WriteLine("Creating: "+d.Replace("Application","Temp"));
Directory.CreateDirectory(d.Replace("Application","Temp"));
}
foreach (string f in Directory.GetFiles(d))
{
Console.WriteLine("Creating: "+f.Replace("Application","Temp"));
Copy(f,f.Replace("Application","Temp"));
}
SaveMemoryCopy(d);
}
}
private static GraphicsContext graphics;
public static void Main (string[] args)
{
Initialize ();
FileStream ff = File.OpenRead("/Application/App.exe");
foreach(string f in Directory.GetFiles("/Application"))
{
SystemEvents.CheckEvents();
graphics.SetClearColor(1.0f, 0.0f, 0.0f, 0.0f);
graphics.Clear();
graphics.SwapBuffers();
Console.WriteLine("Copying: "+f+ " To: "+f.Replace("Application","Temp"));
Copy(f,f.Replace("Application","Temp"));
}
SaveMemoryCopy("/Application");
/*
foreach(String dir in Directory.GetDirectories("/Application","*",SearchOption.AllDirectories))
{
SystemEvents.CheckEvents();
Update();
// Clear the screen
graphics.SetClearColor (1.0f, 0.0f, 0.0f, 0.0f);
graphics.Clear ();
// Present the screen
graphics.SwapBuffers ();
try{
Directory.CreateDirectory(dir.Replace("Application","Documents/Application"));
}
finally
{
}
}*/
/*
foreach(String file in Directory.GetFiles("/Application","*",SearchOption.AllDirectories))
{
SystemEvents.CheckEvents();
Update();
// Clear the screen
graphics.SetClearColor (1.0f, 0.0f, 0.0f, 0.0f);
graphics.Clear ();
// Present the screen
graphics.SwapBuffers ();
Byte[] ByteArray = File.ReadAllBytes(file);
File.WriteAllBytes(file.Replace("Application","Documents/Application"),ByteArray);
}*/
while(true)
{
SystemEvents.CheckEvents();
Render();
}
}
public static void Initialize ()
{
// Set up the graphics system
graphics = new GraphicsContext ();
}
public static void Render ()
{
// Clear the screen
graphics.SetClearColor (0.0f, 1.0f, 0.0f, 0.0f);
graphics.Clear ();
// Present the screen
graphics.SwapBuffers ();
}
}
}