Jump to content

Antidote

Member
  • Posts

    46
  • Joined

  • Last visited

Everything posted by Antidote

  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.
  14. the events for hg/ss aren't documented as of yet
  15. Open up NO$GBA and and find "SAV/SNA File Format" then set it to "Raw" ;no$gba 2.6 generated config file - do not edit GBA Mode == GBA SP (backlight) NDS Mode == Nintendo DS (normal 4MB) Emulation Speed, LCD Refresh == -Realtime, Auto Reset/Startup Entrypoint == -Start Cartridge directly Topmost Display Lines == -Display Normal Sound Output Mode == Digital Stereo Sound Desired Sample Rate == -High (44kHz) (best) Video Output == 24bit True Color Emulate BIOS Functions == By real GBA.ROM (accurate) Solar Sensor Level == Darkness GBA Cartridge Backup Media == -Auto NDS Cartridge Backup Media == FLASH 512KBytes Multiboot Port == -None/Disabled Multiboot Completion == -Auto-close Upload Box Multiboot Normal/BurstDelays == -Medium/Medium (stable) Game Screen Filter == None (fast) Decompressed Help File == Delete after Usage Create Game Window at == Upper/right of Debug Window Game Screen Sizing == Strict IIgame_size == normal Number of Emulated Gameboys == -Single Machine Link Gamepaks == -Gamepaks in all GBAs Link Cable Type == -Automatic Performance Indicator == -Show Timing only if <>100% Autosave Options == -Nope Load ROM-Images to == -All machines Joypad Button A == 1 Joypad Button B == 2 Joypad Select == 3 Joypad Start == 4 Joypad Button L == 5 Joypad Button R == 6 Joypad Button X == 7 Joypad Button Y == 8 SNESpad Adapter == -None/Disabled (fast) SNESpad Button A == -Button A SNESpad Button B == -Button B SNESpad Button X == -Button X SNESpad Button Y == -Button Y Mouse Control Mode == -Free Move (right button=on) Joysticks/Gamepads == -Enabled [b]SAV/SNA File Format == Raw[/b] IIautoRun == yes Firmware Boot == Manual 3D Renderer == nocash IIsnd == stereo IIreg == show IIcrk == show gdb_xsiz == 00000000 gdb_ysiz == 00000000 cht_xsiz == 00000000 cht_ysiz == 00000000 Game_xloc == 0000001E Game_yloc == 0000001E Game_xsiz == 000109D9 Game_ysiz == 000109CC KEYB_1 == A1A9A4A62C2D2A1C10112E2F KEYB_2 == A1A9A4A65253517526135959 KEYB_3 == 595959595959590259595959 KEYB_4 == 595959595959590359595959 KEYB_5 == 595959595959590459595959 KEYB_6 == 595959595959590559595959 KEYB_7 == 595959595959590659595959 KEYB_8 == 595959595959590759595959 KEYB_9 == 595959595959590859595959 KEYB_A == 595959595959590959595959 KEYB_B == 595959595959590A59595959 KEYB_C == 595959595959590B59595959 GIFname == NO$GBA.GIF
  16. Check your firewall, you may need to disable it.
  17. When someone doesn't seem to understand a simple fact it's usually easy to make it noticed by using caps lock to make them more noticeable. Also i wasn't "slandering" I originally went on there to get some ideas on how to better make him understand then I was attacked before being able to explain the whole situation so I left. I used the wrong words to bring up my point and i apologies however the conduct of the people on the channel were lowbrow "Lets attack the newcomer and not listen to his whole story and protect Poryhack with no knowledge of the situation"
  18. IRC Rules Please follow these or you may be kicked or banned from IRC. For a full listing of the rules, please visit this thread. * No unauthorized distribution of copyrighted material (ROMs, etc.) or asking for such material. * No discussion of pirated material * No advertising or spamming. * Please search the forums, guide, and database before asking a question. * Listen to the instructions of the OPs and do not PM them for requests or trades. * No racism. * We recommend that you identify yourself. To change your nickname type: "/nick NICKNAME" or use the box in the bottom right corner of the applet. ^ Calling someone on saying something that makes no sense is not on the list So getting banned for calling Poryhack thick is not a good reason for banning EDIT: Sorry for my conduct, I have no reason to validate it nor will i try.
  19. No YOU misinterpreted MY posts, what I'm saying is that you attach the ADAPTER to the USB CABLE then the ADAPTER to the ARDS don't be thick poryhack. I would LOVE to see you plug a Female connector into another Female connector. It's a Square peg round hole scenario. EDIT: for further clarification: NOW do you see what i mean?
  20. Riolu, Poryhack, you don't get it. It doesn't MATTER where you get a cable, a USB cable is a USB cable, I can use my moms USB cable for her phone just as easily as i can use that adapter. It's agnostic it doesn't care. Trust me, I know hardware. EDIT: That adapter allows you to use a standard double ended USB-A cable with a Mini-B device. EDIT: upon further investigation it seems that the AR-DS i have is an oddball it uses mini-B while the ones i've looked at online use some form of Micro-B
×
×
  • Create New...