GithubHelp home page GithubHelp logo

tempar-vita's People

Contributors

wangtao03 avatar yohoki avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tempar-vita's Issues

PreRelease v2.5p Issues

I'll put a list of issues here for PreRelease v2.5p. If I have the issue here, I already plan to fix it, so no need to tell me about it again. If it's not on the list, I would love to know about it so I can fix it before release.

  • Leaving blank Memory Dump fields causes "upgrading" colors to not work.
    - Possible fix: Lock memory dumps unless the previous one has been filled.
  • Color "upgrading" section of code is ugly.
    - Possible fix: Don't be so ugly.
  • The mic has yet to be dropped.
    - Possible fix: Finish coding, drop mic.

Adding VitaCheat removed AR code generation

When I added VitaCheat as an option for code generation, I removed AR code generation. This was because I knew 0 C# and wasn't able to make a new button. When I WAS able to make a new button, I realized the code behind the radial buttons wasn't a "What button is selected" kind of code, but a "Is CWCheat selected or not" kind of code. That meant only 2 options could be picked, not 3.

From FrmMain, line 338:

            this.txtPointerSearcherCode.Text = (!this.rdbPointerSearcherCodeTypeCWCheat.Checked ? this.getARPointerCode(pointers, bittype, num) : this.getCWCheatPointerCode(pointers, bittype, num)).Replace("\n", "\r\n");

Possible solutions:
Remove this line in favor of a switch... Will have to study how to use.

      switch (this.rdbPointerSearcherCodeType)
      {
                case 0:
                    this.txtPointerSearcherCode.Text = this.getARPointerCode(pointers, bittype, num).Replace("\n", "\r\n");
                    break;
                case 1:
                    this.txtPointerSearcherCode.Text = this.getCWCheatPointerCode(pointers, bittype, num).Replace("\n", "\r\n");
                    break;
               case 2:
                    this.txtPointerSearcherCode.Text = this.getVitaCheatPointerCode(pointers, bittype, num).Replace("\n", "\r\n");
                    break;
      }

Wrong Bittype When Using Negatives

Bit type is not persistent when using "Include Negatives". Only affects 2nd level and greater. 1st level pointers seem to work fine.

image

Cause: Str2's code generation is not working right. Needs formatting to include Bittype Object during check for negative offset.

From FrmMain.cs:

string str1 = "";
            string str2 = "";
            string str3 = string.Format("$3300 00000000 {0:X08}\n", (object)value);
            for (int index = 1; index < pointers.Count; ++index)
                str1 = !pointers[index].Negative ? str1 + string.Format("$3{0}00 00000000 {1:X08}\n", (object)bittype, (object)pointers[index].Offset) : str1 + string.Format("$3200 00000000 {0:X08}\n", (object)(4294967296L - (long)pointers[index].Offset));
            if (pointers.Count > 1)
                str1 += string.Format("");
            str2 = !pointers[0].Negative ? str2 + string.Format("$3{0:X01}{1:X02} {2:X08} {3:X08}\n", (object)bittype, (object)pointers.Count, (object)pointers[0].Address, (object)pointers[0].Offset) + str1 : str2 + string.Format("$3{0:X01}{1:X02} {2:X08} {3:X08}\n", (object)bittype, (object)pointers.Count, (object)pointers[0].Address, (object)(4294967296L - (long)pointers[0].Offset)) + str1;
return (this.chkPointerSearcherRAWCode.Checked ? "" : "_V0 Generated Code\n") + str2 + str3;

Will be applied to next update.

Todo List

Things that I want to add but have not yet or don't know how.

Todo:

  • Migrate from using set (old-style) input boxes to a scroll-able list for MemDump files.
    This would allow unlimited numbers of dumps/address pairs to be added.
  • Add support for Pointer Searching up to 64-bit addresses and Endianess for future consoles to be added.
  • Run the Pointer Searcher on a separate / multiple threads.
    The searcher runs on initial search, but also any time a pointer is opened to a new level.
    This can result in HEAPS of lag if using a macro to mass-open pointers.
    It doesn't crash to blue screen when using too much RAM afaik, but it might take all night.
  • Add option to ignore non-4byte aligned offsets to reduce search time and process time.
  • Add a way to import a code list and export it with the new pointers added.
  • Add a "Code Viewer" for imported codes to allow easy editing of .PSV file
  • Add a debugger option to view .bin files directly in app and possibly show what the codes will do when active.
  • Add a way to search for pointers rooted in Seg0/Seg1 by using an offset and starting addresses.
  • Add a way to add Localization options.
  • Maybe an easy way to swap the language in-app
  • Maybe a simple way to swap the languages out in Visual Studio to upload separate apps.
  • Make locating higher accuracy pointers easier.
  • Maybe auto open pointers to X levels?
  • Maybe collect all Orange/Red pointers and put in new list?
  • Maybe find a way to search for or scroll to orange/red pointers that are already in the list
  • Read the C# code and give better names
  • Some of the code has no commenting or naming after the reverse engineering of original TempAR
  • It would be a LOT easier to understand the code if these things were labeled better.

In Progress:

  • Add boxes for specifying Modules' Segments.
  • Check Segment ranges and make a clear mark on pointers that are within seg0/1
  • Automatically add b200 to autogenerated codes that fall within seg0/1

Completed:

  • Add b200, Joker ($C) and conditional codes as optional additions to code gen tab.
  • Find or make a better font so that 8/B and 0/D are not easy to mistake.
  • Add a dropdown menu for future Code types, as adding many more will clutter the page.
  • Add a new "VitaCheat" tab for generating ALL code types for VitaCheat (Write, MOV, Compress, PtrMov, etc)
  • Addd more Memory Dumps for better accuracy

Anyone with C# experience is more than welcome to help out or give a pointer.

small visual bug in the list of pointers

something that happens with the current applications is that they are designed for resolutions higher than 1080, some elements are too big... but in this software you can still visualize it in a resolution of 1366x768.
the question is if there is a search and the list comes to exceed the white box sometimes the list is incomplete and the scrollbar does not appear, this is solved by double clicking on a code and it will expand and the scrollbar will appear and then minimize that code again and you will see the complete list.

[Suggestion] Resize App

Suggest being able to resize the App, so Users can see more of the Paths. Lost my place a couple times last Night.

Unix newline on input text box

When you paste code into the text box that comes from unix environment it will paste as a single line, since Environment.NewLine is obviously "\r\n".
Solutions include a custom textbox that catches the paste event and changes text, handling the text change event if it exists and change text, or simply make the textbox work with newline as "\n".

Given the fact that most cheat codes are made with tools from consoles etc and predominantly, "\n" as newline, wouldn't it make sense to just use that and skip windows newlines (aka this issue would become "when you paste code into the text box that comes from windows environment...".

e.g CWCheat POPs database files have unix newlines.

Pointer+MOV and Pointer+Compress do not generate correctly

Pointer+Mov generates Bit-Type incorrectly for address 2 when using pointer level of 2 or higher.

$8202 88A03E12 0000001C
$8200 00000000 00000028
$8800 00000000 00000000
$8602 8160081C 0000001C
$3600 00000000 00000028 # Should be $8600
$8900 00000000 00000000

Pointer+Compress defaults to using last level of pointer tree to add compression. There is no way in app to change which level is compressed. Example:

$7203 81000000 00000010
$7200 00000000 00000200
$7200 00000000 00003000
$7703 00000000 00000063 # $7703 applies compression to 3rd offset
$0003 00000100 00000000

This code makes the following codes:

$3203 81000000 00000010
$3200 00000000 00000200
$3200 00000000 00003000 #Compression Applied Here
$3303 00000000 00000063

$3203 81000000 00000010
$3200 00000000 00000200
$3200 00000000 00003100 #Compression Applied Here
$3303 00000000 00000063

$3203 81000000 00000010
$3200 00000000 00000200
$3200 00000000 00003200 #Compression Applied Here
$3303 00000000 00000063

It's possible to compress OTHER levels of the pointer, but the TempAR UI does not allow it. Example:

$7203 81000000 00000010
$7200 00000000 00000200
$7200 00000000 00003000
$7702 00000000 00000063 # $7702 - Compression level Changed to 2
$0003 00000100 00000000
$3203 81000000 00000010
$3200 00000000 00000200 #Compression Applied Here
$3200 00000000 00003000
$3303 00000000 00000063

$3203 81000000 00000010
$3200 00000000 00000300 #Compression Applied Here
$3200 00000000 00003000
$3303 00000000 00000063

$3203 81000000 00000010
$3200 00000000 00000400 #Compression Applied Here
$3200 00000000 00003000
$3303 00000000 00000063

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.