Jump to content

Antidote

Member
  • Posts

    46
  • Joined

  • Last visited

Reputation

10 Good

About Antidote

  • Birthday 06/01/1988
  1. I'm nearly done patching all the holes that memory is leaking out of. That screenshot I posted originally had over 200 leaks, it's now down to around 10. After I finish patching these holes I'll clean up the code and give you a much better framework to work with. The code as it sits right now is pretty good, but it's very confusing to work with.
  2. I can understand the reasoning behind using the external SQLite sources, I myself have my own external library that I use extensively (libzelda) I've created an issue ticket plugging a few of the holes I found, still have quite a ways to go until I'm done though. EDIT: Ah, VB.NET will do that to you even more so than C# which is why I advise against it as a first language, it's great for prototyping stuff out, but it teaches very poor programming paradigms that people mistakenly take into other languages, it also doesn't provide a way to explicitly delete objects like C# does. In C/C++ freeing memory is simple, but you have to keep two things in mind: One is malloc/free, new/delete The other is to use the memory management functions provided by the library, sqlite3 has sqlite3_free, I'm still attempting to figure out it's use case, but once I do i'll be cleaning up the code. Also in C++, global variables are highly frowned upon, it leads to confusing code, I notated this in my first patch.
  3. Sorry for the double post, but i can't seem to edit my post (it just keeps trying to load) I ran PKMDS through valgrind, and my fears were confirmed:
  4. I've been looking through your frmBoxes.cpp, and I can tell that your used to C# It's looking pretty good but I have several concerns: in frmBoxes.cpp, you're using new but never deleting objects, which makes me believe you're doing it else where as well, while this is fine with C#, it's not fine with C++, you're leaking memory at a rate i've not seen in a long time. Also, you're not taking advantage of Qt's features, Qt has a builtin SQLite implementation that you should be using to take advantage of signals and slots. If you don't mind I'll be making improvements to your code and supplying patches. please check my own Qt project as a reference: https://github.com/Antidote/SakuraSuite
  5. I agree with Codr, he didn't really even NEED to create this thread, he did so to get input, not be harassed because he won't agree with you. Ultimately it's his program, and if you were a Dev you would understand that. User input is important, but only he knows what his codebase looks like. Maybe it would take more effort to add a toolstrip than it would to add something else entirely. Toolbars tend to have alot of complexities and adding them to a program that doesn't really have need for one is just plain stupid and inefficient.
  6. that C# code is a poor implementation, don't use it. you should be calculating ALL bytes not just until it's equal to 0, that's not a valid checksum. here is a valid function (easily translated to C# by changing const char* buf to byte[] buf) int GetChecksum8(const char* buf, int pos, int len) { int sum = 0; for (int i = pos; i < pos + len; ++i) sum += buf[i]; return (sum & 0xFF) ^ 0xFF; } EDIT: I've taken another look, and it seems as though it IS calculating all the bytes, but it's using unnecessary code to do so, a simple check of: if (bc <= 0) break; is plenty no OR'ing required. and a for loop is optimal. My code gets the same thing done with less CPU cycles and less thrashing of the VM if ported to C# therefore it's much faster.
  7. Make sure you have the ini file in the same directory or it won't work (needs to be fixed so that it only requires it for FTP mode)
  8. Pedro, that link you provided has C# code, if you want VB.NET code it's a simple matter of popping that into a C# project, compile, pop the resulting executable into Reflector and change the language to VB.NET For your convenience I've converted it to VB.NET for you Public Shared SeedTable As Integer() Public Function GetCheckSum(ByVal data As Byte()) As UInt16 Dim sum As Integer = &HFFFF Dim i As Integer For i = 0 To data.Length - 1 sum = ((sum << 8) Xor SeedTable(CByte((data(i) Xor CByte((sum >> 8)))))) Next i Return CUShort(sum) End Function Public Shared Sub GetSeeds() SeedTable = New Integer(&H100 - 1) {} Dim index As Integer = 0 Dim result As Integer = 0 Do result = (index << 8) Do If ((CByte((result >> 8)) And &H80) <> 0) Then result = ((2 * result) Xor &H1021) Else result = (result * 2) End If Loop While (++index < 8) index = index + 1 SeedTable(index) = result Loop While (index <= &HFF) End Sub
  9. I believe the logo is separate from the background checker pattern, other than that you need to insert the logo into the appropriate narc file in the ROM (not a clue what it is)
  10. There are a few reasons why this is going faster than what GF is doing: 1) All you guys are doing is romanizing the Pokemon and Trainer names (which is perfectly alright) while GF needs to create official english names for Pokemon and think up western names for a few hundred trainers 2) They need to rework some of the features in the games to get them to pass Western QC standards (Americans are tight wads about games at times) 3) They need to change the artwork on some things (Which you guys are doing but i can guarantee GF is going to do it differently) All things considered i believe everyone is doing a great job and if you were to be hired on as localization staff i can say that any game would be in good hands.
  11. ... 90% of the time a WAP IS a router. However if you don't have access to the settings of the router you may very well have to talk to the people who do, if that's not the problem then.. well it's no big deal right?
  12. Either completely made up or your just extremely lucky as i don't see how this can actually happen.
  13. I located the offset for the signature which is 0x4538 and 0x44538 the data is 0x600 bytes long following the same rules as D/P/PL Following that is the score, and all the relevant link data follows (times linked, wins, losses, trades) I also noticed that Ethan/Lyra's name is stored at offset 0x3FB0 in the save however editing it does nothing.
×
×
  • Create New...