Post: Windows 8.1/Windows phone/tablet Real Time Editing APP and Tutorial + Source
06-28-2014, 05:12 AM #1
(adsbygoogle = window.adsbygoogle || []).push({});
Windows 8 MetroAPP RTE Tool: Black Ops 2

INSTALLATION TUT and Preview:


#Description#
-) No need to put "PS3Lib" or "CCAPI" libraries into either directory as it's within the app itself.
-) This is the first ever OFFICIAL release of WINDOWS APP RTEing as well as Tablet/phone RTEing.
-) THIS WILL WORK ON YOUR WINDOWS 8.1 Desktop/Laptop! I can confirm it working on my Windows 8.1 laptop AND my Windows 8.1 Desktop, as for windows tablet/phone its unconfirmed *Nudge *Nudge.
-) First of its kind, no RTE programs built for MetroApps.
-) Programmed in C# + XAML. (Visual Studio 2013)
#Description#

Real Time Editing Windows App [BO2] Download: You must login or register to view this content.

TESTER APP:


This is an app you can use to work on your device to work with ControlConsole Version 2.50. This will run tests to see if it's working properly.
Download: You must login or register to view this content.

*NOTE* You might have to be on WINDOWS 8.1, i don't think this works on Windows 8.

[SPECIAL THANKS]
    
Thanks to [B]JimmyTM[/B] for verifying the [B]WORKING on WINDOWS 8.1[/B].
Thanks to [B]Absolute Zero[/B] for verifiying it [B]NOT WORKING[/B] on Windows [B]8[/B], and for support.
Thanks to [B]Eddie Mac[/B] for support.
Thanks to [B]FarsideX[/B] for support + trying to help.


How to install:

Right click on Add-AppDevPackage
You must login or register to view this content.
Run with Powershell
You must login or register to view this content.
It will ask a few questions, choose Y (if asked) to accept the certification, and hit enter when asked.

You may be ask to complete install as administrator, do so to install.

After installation, navigate to your apps area and search for "RTE".
Or WinKey + S "RTE".

You must login or register to view this content.
You must login or register to view this content.

APP Preview:

You must login or register to view this content.
You must login or register to view this content.
You must login or register to view this content.
You must login or register to view this content.
You must login or register to view this content.
You must login or register to view this content.


------APP Development TUTORIAL------


Part 1 (Setting up):


1) You MUST have windows 8.1 to program applications for Windows 8/Windows Tablet/Windows Phone APPs. Also you will need to get a developers license, don't worry it free and pretty straightforward how to get one.
If not... In Visual Studio Navigate to: Project>Store>Acquire Developers license...

2) You need Microsoft Visual Studio (2013).

3) UPDATE* for CCAPI.dll 2.50 Download this library i made and put it in your app: You must login or register to view this content.

3.x) You need these files in your project (Do this if your using CCAPI Version 2.00 until i make a 2.00 library):

BO2.cs
TMAPI.cs
CCAPI.cs
PS3API.cs
SelectAPI.cs
EndianType.cs
Extension.cs
Lang.cs

Download Here: You must login or register to view this content.


4) Open Visual Studio:
You must login or register to view this content.

Create new project:
You must login or register to view this content.

Choose C# Blank App XAML:
You must login or register to view this content.

5)Right click on your App project in the solution explorer and click 'Add', and 'existing item'.

You must login or register to view this content.

6) Add the files i provided to your project. (the classes for PS3Lib(.cs files))

*Note* In the developing of the app, it will only be able to connect to your PS3 Console through CCAPI [ONLY]. The libraries i have provided have removed all calls for TMAPI( TMAPI.cs and tmapi_net.dll).

7) Just like the last step, just this time add CCAPI.dll to your project (or drag n drop the file if you prefer).

*?* Explanation: What this does is allows the APP use the PS3Lib files i provided to P-Invoke the CCAPI.dll. Without CCAPI.dll it will say CCAPI.dll is not found.

*NOTE* Make sure that the build action on CCAPI.dll is "Content".

7a) This is optional, but recommended. If you would like you could make a folder and name it to PS3Lib to tidy your class files up as well as the CCAPI.dll.

You must login or register to view this content.



Part 2 (Developing your application)

1) One of the first things you should notice is your XAML Source View.

You must login or register to view this content.

This is how you will be designing the Graphical User Interface of your Application.
It won't be too hard if your wanting to make something basic.

2) Just like C#/VB/.net applications, theirs a toolbar for you to add controls to your APP. Add a button to your APP.

You must login or register to view this content.

3) Click on the button. You will see the properties for it popup on the rightside of Visual Studio. Navigate to "Common" tab and change the 'Content' to "Connect and attach".
You must login or register to view this content.

Also, change the button name to ConnectButton, this is so XAML has a name for this control.
You must login or register to view this content.

(If it doesn't show up, right click in solution explorer and click "Properties")
You must login or register to view this content.

3.1) Add a toggleswitch and name it "VSATtoggle". Also change the header to "VSAT".

3.2) Add a textbox and name it "ipaddresstextbox", and put the Content as your PS3IP or blank.
*Note: you can change the tooltip and placeholder text.

You must login or register to view this content.

4) Double click on your Connect & Attach button (or right click>"View Code"). C#! Smile Look familiar.

5) Time to code!

*Put this as all your imports for the current C# classview*
    
using System;
using System.Text;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
using Windows.UI.Popups;
using System.Runtime.InteropServices;
using Windows.System;


Put the following code inside your button:

    
try
{
var dialog1 = new MessageDialog("Connect IP: " + ipaddresstextbox.Text + "?" + Environment.NewLine + "CEX ONLY!", "Connect to PS3");
dialog1.Commands.Add(new UICommand("CEX", new UICommandInvokedHandler(CommandHandler)));
dialog1.Commands.Add(new UICommand("DEX", new UICommandInvokedHandler(CommandHandler)));
dialog1.Commands.Add(new UICommand("Cancel", new UICommandInvokedHandler(CommandHandler)));
dialog1.DefaultCommandIndex = 3;
dialog1.CancelCommandIndex = 1;
attachbutton.IsEnabled = true;
await dialog1.ShowAsync();
}
catch
{
var Mesg = new MessageDialog("Failure Connecting!", "Error!");
await Mesg.ShowAsync();
}


You should get an error "The 'await' operator can only be used within an async method. Consider marking this method with the 'async' modifier and changing its return type to 'Task'.", add 'async' to your button like so:

    
private async void Button_Click(object sender, RoutedEventArgs e)//...ETC
//(Inbetween 'private' & 'void' of your button, put "async").


6) Add these constructors somewhere in your code (Within the form boundaries).

    
public PS3Lib.CCAPI CEX = new PS3Lib.CCAPI();
public PS3Lib.Extension EXT = new PS3Lib.Extension();
public PS3Lib.PS3API ps3api = new PS3Lib.PS3API(PS3Lib.SelectAPI.ControlConsole);

private void CommandHandler(IUICommand command)//added async
{
var commandLabel = command.Label;
switch (commandLabel)
{
case "CEX":
if (Convert.ToBoolean(CEX.ConnectTarget(ipaddresstext box.Text)))
{
CEX.RingBuzzer(PS3Lib.CCAPI.BuzzerMode.Single);
CEX.Notify(PS3Lib.CCAPI.NotifyIcon.FRIEND, "Connected!");
MessageDialog CEXConnect = new MessageDialog("SUCCESS!", "Connected to CEX!");
// await CEXConnect.ShowAsync(); <- This doesn't work. Try to find a way around this.
}
else
{
MessageDialog CEXConnect = new MessageDialog("Error!", "Failure Connecting to CEX!");
// await CEXConnect.ShowAsync(); <- This doesn't work. Try to find a way around this.
}
break;
case "DEX":
//Nothing
break;
case "Cancel":
//Nothing
break;
}
}


7) Add "async" to your switch just like the button & add this code to your switch:

async:
    
private async void ToggleSwitch_Toggled(object sender, RoutedEventArgs e)


    
ToggleSwitch toggleswitch = sender as ToggleSwitch;
if (toggleswitch.IsOn == true)
{
MessageDialog MyMessage = new MessageDialog("Activated", "VSAT");
//MessageDialog MyMessage = new MessageDialog(Description text, TITLE TEXT);
byte[] buffer = new byte[4];
buffer[0] = 0x60;
xmain.CEX.SetMemory(0x33c60, buffer);
await MyMessage.ShowAsync();
}
else
{
MessageDialog MyMessage = new MessageDialog("Deactivated", "VSAT");
xmain.CEX.SetMemory(0x33c60, new byte[] { 0x40, 0x81, 0, 0x44 });
await MyMessage.ShowAsync();
}


Cool Man (aka Tustin) Run your APP *and look keep an eye on the debugger for any errors!*

You must login or register to view this content.

You must login or register to view this content.

You must login or register to view this content.

9) Put your PS3 Ipaddress in, Click connect and attach. *You should hear your PS3 beep, and show a notification

9.1) Click on the switch, and see if it turned VSAT on! Smile

10) That's it! Smile

#) When developing your program for RELEASE*, Navigate to: Project>Store>Create App Packages.
Afterwords, run the certificate checks (You should get failed on CCAPI.dll because its native C++)


Tutorial made by: BaSs_HaXoR
Removal of TMAPI and PS3Lib source tweaks: BaSs_HaXoR

My App [OPEN SOURCE] Download: You must login or register to view this content.

My PS3Lib for Windows App: You must login or register to view this content.

Credits: Whoever made the BO2.cs classlibrary... let me know and i will add your name here.
IMCSx for PS3Lib
Enstone for CCAPI.dll
Last edited by BaSs_HaXoR ; 09-09-2014 at 07:36 AM. Reason: PS3LibWApp download

The following 21 users say thank you to BaSs_HaXoR for this useful post:

::iAmDemoN::, One, Eddie Mac, Diamond-TFL, Geo, GFM, iAmRishi, Im Not Boobdidas, iTпDM, KL9, M7B, MORPHEUS__2142, Mx444, John, Notorious, Obris, Smooth, Ciri, Turk_Warrior, zJordanModz, zRayz-
06-28-2014, 06:37 PM #29
Originally posted by ludacus View Post
Im sure its an error on my part but if you could help me figure it out i would really appreciate it.
You must login or register to view this content.
Thats the error i get and it quickly closes out after showing it.

And your on Windows 8.1?
If so give this one a try: You must login or register to view this content.
06-28-2014, 06:49 PM #30
Tried it and still nothing. Hers a screenshot of my computer specs. Maybe it will help
You must login or register to view this content.
And heres the error report again but with the first two lines as well
You must login or register to view this content.
06-28-2014, 07:05 PM #31
Originally posted by ludacus View Post
Tried it and still nothing. Hers a screenshot of my computer specs. Maybe it will help
You must login or register to view this content.
And heres the error report again but with the first two lines as well
You must login or register to view this content.

MAKE SURE YOU UNZIP IT FIRST! *Just a note, i wanted to make that clear in case you didn't... continuing on if you did unzip it.

I have talked with someone else as well that said they have had this problem too. I don't think its the program, it has to do with something with the installation part of the APP.

Certutil.exe is a command-line program that is installed as part of Certificate Services. You can use Certutil.exe to dump and display certification authority (CA) configuration information, configure Certificate Services, backup and restore CA components, and verify certificates, key pairs, and certificate chains.
06-28-2014, 07:12 PM #32
I do have it unzipped from the .rar file. Dont really know what else to do.
06-28-2014, 07:34 PM #33
Geo
Don't Believe The Title
Originally posted by ludacus View Post
I do have it unzipped from the .rar file. Dont really know what else to do.


if you dont have windows 8.1 it cant be used, if you do there is a tutorial above
06-28-2014, 08:19 PM #34
ByteSource
League Champion
Originally posted by HaXoR View Post
Windows 8 MetroAPP RTE Tool: Black Ops 2

INSTALLATION TUT and Preview:


#Description#
-) No need to put "PS3Lib" or "CCAPI" libraries into either directory as it's within the app itself.
-) This is a more than Beta that of a release.
-) THIS WILL WORK ON YOUR WINDOWS 8.1 Desktop/Laptop! I can confirm it working on my Windows 8.1 laptop AND my Windows 8.1 Desktop, as for windows tablet/phone its unconfirmed *Nudge *Nudge.
-) First of its kind, no RTE programs built for MetroApps.
-) Programmed in C# + XAML. (Visual Studio 2013)
#Description#

Real Time Editing Windows App [BO2] Download: You must login or register to view this content.

TESTER APP:


This is an app you can use to work on your device to work with ControlConsole Version 2.50. This will run tests to see if it's working properly.
Download: You must login or register to view this content.

*NOTE* You might have to be on WINDOWS 8.1, i don't think this works on Windows 8.

How to install:

Right click on Add-AppDevPackage
You must login or register to view this content.
Run with Powershell
You must login or register to view this content.
It will ask a few questions, choose Y (if asked) to accept the certification, and hit enter when asked.

You may be ask to complete install as administrator, do so to install.

After installation, navigate to your apps area and search for "RTE".
Or WinKey + S "RTE".

You must login or register to view this content.
You must login or register to view this content.

APP Preview:

You must login or register to view this content.
You must login or register to view this content.
You must login or register to view this content.
You must login or register to view this content.
You must login or register to view this content.
You must login or register to view this content.


------APP Development TUTORIAL------


Part 1 (Setting up):


1) You MUST have windows 8.1 to program applications for Windows 8/Windows Tablet/Windows Phone APPs. Also you will need to get a developers license, don't worry it free and pretty straightforward how to get one.
If not... In Visual Studio Navigate to: Project>Store>Acquire Developers license...

2) You need Microsoft Visual Studio (2013).

3) UPDATE* for CCAPI.dll 2.50 Download this library i made and put it in your app: You must login or register to view this content.

3.x) You need these files in your project (Do this if your using CCAPI Version 2.00 until i make a 2.00 library):

BO2.cs
TMAPI.cs
CCAPI.cs
PS3API.cs
SelectAPI.cs
EndianType.cs
Extension.cs
Lang.cs

Download Here: You must login or register to view this content.


4) Open Visual Studio:
You must login or register to view this content.

Create new project:
You must login or register to view this content.

Choose C# Blank App XAML:
You must login or register to view this content.

5)Right click on your App project in the solution explorer and click 'Add', and 'existing item'.

You must login or register to view this content.

6) Add the files i provided to your project. (the classes for PS3Lib(.cs files))

*Note* In the developing of the app, it will only be able to connect to your PS3 Console through CCAPI [ONLY]. The libraries i have provided have removed all calls for TMAPI( TMAPI.cs and tmapi_net.dll).

7) Just like the last step, just this time add CCAPI.dll to your project (or drag n drop the file if you prefer).

*?* Explanation: What this does is allows the APP use the PS3Lib files i provided to P-Invoke the CCAPI.dll. Without CCAPI.dll it will say CCAPI.dll is not found.

*NOTE* Make sure that the build action on CCAPI.dll is "Content".

7a) This is optional, but recommended. If you would like you could make a folder and name it to PS3Lib to tidy your class files up as well as the CCAPI.dll.

You must login or register to view this content.



Part 2 (Developing your application)

1) One of the first things you should notice is your XAML Source View.

You must login or register to view this content.

This is how you will be designing the Graphical User Interface of your Application.
It won't be too hard if your wanting to make something basic.

2) Just like C#/VB/.net applications, theirs a toolbar for you to add controls to your APP. Add a button to your APP.

You must login or register to view this content.

3) Click on the button. You will see the properties for it popup on the rightside of Visual Studio. Navigate to "Common" tab and change the 'Content' to "Connect and attach".
You must login or register to view this content.

Also, change the button name to ConnectButton, this is so XAML has a name for this control.
You must login or register to view this content.

(If it doesn't show up, right click in solution explorer and click "Properties")
You must login or register to view this content.

3.1) Add a toggleswitch and name it "VSATtoggle". Also change the header to "VSAT".

3.2) Add a textbox and name it "ipaddresstextbox", and put the Content as your PS3IP or blank.
*Note: you can change the tooltip and placeholder text.

You must login or register to view this content.

4) Double click on your Connect & Attach button (or right click>"View Code"). C#! Smile Look familiar.

5) Time to code!

*Put this as all your imports for the current C# classview*
    
using System;
using System.Text;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
using Windows.UI.Popups;
using System.Runtime.InteropServices;
using Windows.System;


Put the following code inside your button:

    
try
{
var dialog1 = new MessageDialog("Connect IP: " + ipaddresstextbox.Text + "?" + Environment.NewLine + "CEX ONLY!", "Connect to PS3");
dialog1.Commands.Add(new UICommand("CEX", new UICommandInvokedHandler(CommandHandler)));
dialog1.Commands.Add(new UICommand("DEX", new UICommandInvokedHandler(CommandHandler)));
dialog1.Commands.Add(new UICommand("Cancel", new UICommandInvokedHandler(CommandHandler)));
dialog1.DefaultCommandIndex = 3;
dialog1.CancelCommandIndex = 1;
attachbutton.IsEnabled = true;
await dialog1.ShowAsync();
}
catch
{
var Mesg = new MessageDialog("Failure Connecting!", "Error!");
await Mesg.ShowAsync();
}


You should get an error "The 'await' operator can only be used within an async method. Consider marking this method with the 'async' modifier and changing its return type to 'Task'.", add 'async' to your button like so:

    
private async void Button_Click(object sender, RoutedEventArgs e)//...ETC
//(Inbetween 'private' & 'void' of your button, put "async").


6) Add these constructors somewhere in your code (Within the form boundaries).

    
public PS3Lib.CCAPI CEX = new PS3Lib.CCAPI();
public PS3Lib.Extension EXT = new PS3Lib.Extension();
public PS3Lib.PS3API ps3api = new PS3Lib.PS3API(PS3Lib.SelectAPI.ControlConsole);

private void CommandHandler(IUICommand command)//added async
{
var commandLabel = command.Label;
switch (commandLabel)
{
case "CEX":
if (Convert.ToBoolean(CEX.ConnectTarget(ipaddresstext box.Text)))
{
CEX.RingBuzzer(PS3Lib.CCAPI.BuzzerMode.Single);
CEX.Notify(PS3Lib.CCAPI.NotifyIcon.FRIEND, "Connected!");
MessageDialog CEXConnect = new MessageDialog("SUCCESS!", "Connected to CEX!");
// await CEXConnect.ShowAsync(); <- This doesn't work. Try to find a way around this.
}
else
{
MessageDialog CEXConnect = new MessageDialog("Error!", "Failure Connecting to CEX!");
// await CEXConnect.ShowAsync(); <- This doesn't work. Try to find a way around this.
}
break;
case "DEX":
//Nothing
break;
case "Cancel":
//Nothing
break;
}
}


7) Add "async" to your switch just like the button & add this code to your switch:

async:
    
private async void ToggleSwitch_Toggled(object sender, RoutedEventArgs e)


    
ToggleSwitch toggleswitch = sender as ToggleSwitch;
if (toggleswitch.IsOn == true)
{
MessageDialog MyMessage = new MessageDialog("Activated", "VSAT");
//MessageDialog MyMessage = new MessageDialog(Description text, TITLE TEXT);
byte[] buffer = new byte[4];
buffer[0] = 0x60;
xmain.CEX.SetMemory(0x33c60, buffer);
await MyMessage.ShowAsync();
}
else
{
MessageDialog MyMessage = new MessageDialog("Deactivated", "VSAT");
xmain.CEX.SetMemory(0x33c60, new byte[] { 0x40, 0x81, 0, 0x44 });
await MyMessage.ShowAsync();
}


Cool Man (aka Tustin) Run your APP *and look keep an eye on the debugger for any errors!*

You must login or register to view this content.

You must login or register to view this content.

You must login or register to view this content.

9) Put your PS3 Ipaddress in, Click connect and attach. *You should hear your PS3 beep, and show a notification

9.1) Click on the switch, and see if it turned VSAT on! Smile

10) That's it! Smile

#) When developing your program for RELEASE*, Navigate to: Project>Store>Create App Packages.
Afterwords, run the certificate checks (You should get failed on CCAPI.dll because its native C++)


Tutorial made by: BaSs_HaXoR
Removal of TMAPI and PS3Lib source tweaks: BaSs_HaXoR

My App [OPEN SOURCE] Download: You must login or register to view this content.


Credits: Whoever made the BO2.cs classlibrary... let me know and i will add your name here.
IMCSx for PS3Lib
Enstone for CCAPI.dll


This is noice man!, but now people are going to focus more on GUI(tool) then they are coding
06-28-2014, 09:02 PM #35
Geo
Don't Believe The Title
Originally posted by TehK9
This is noice man!, but now people are going to focus more on GUI(tool) then they are coding


idk, if they are making a metro app then yes :P I'm gonna play around with it a lot design wise, however it may look fancy but its useless if it can't to anything half decent. I think general C# or whatever win forms will stay roughly the same except the more frequent MetroForm designs
06-29-2014, 03:54 AM #36
ByteSource
League Champion
Originally posted by GeoSe7enModding View Post
idk, if they are making a metro app then yes :P I'm gonna play around with it a lot design wise, however it may look fancy but its useless if it can't to anything half decent. I think general C# or whatever win forms will stay roughly the same except the more frequent MetroForm designs


Project windows 8.1 tool? lel! Enzo
06-29-2014, 08:56 PM #37
Im Not Boobdidas
Do a barrel roll!
Looks great Happy

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo