Page 2 of 2 FirstFirst 12
Results 21 to 34 of 34

Thread: Hi, I am stupid. What is an RDB?

  1. #21
    Hopefully not too complex a task. I had a quick look at the source, so the quick-and-dirty fix should be simple enough. I'm not sure about making it work past 2Gb, but hopefully you will be able to sort that too

    For reference:

    Before:

    Code:
        brResIdx.BaseStream.Seek(12L, SeekOrigin.Begin)
        intBlockOffset = brResIdx.ReadInt32()
        brResIdx.BaseStream.Seek(184L, SeekOrigin.Begin)
        intDataFileSize = brResIdx.ReadInt32()
        brResIdx.BaseStream.Seek(72L, SeekOrigin.Begin)
        intFirstBlock = brResIdx.ReadInt32()
        brResIdx.BaseStream.Seek(intFirstBlock, SeekOrigin.Begin)
        Do While intForwardLink > 0
            intForwardLink = brResIdx.ReadUInt32()
            ' skip BackLink
            brResIdx.ReadInt32()
            intActiveEntry = brResIdx.ReadInt16()
            ' skip 8 bytes of unknown
            brResIdx.ReadBytes(8)
            Do While intActiveEntry <> 0
                intROffset = brResIdx.ReadUInt32()
                intRType = Me.SwapEndian(brResIdx.ReadInt32())
                ' skip next
                brResIdx.ReadInt32()
                If (intRType = lngRecType) Then
                    hdr = ReadDataFile(34, intDataFileSize, intBlockOffset, intROffset)
                    intDataSize = BitConverter.ToInt32(hdr, 18) - 12
                    If intDataSize > 0 And intDataSize < 10000 Then
                        bwOutput.Write(ReadDataFile(intDataSize, intDataFileSize, intBlockOffset, intROffset + 10))
                        'swDbgOutput.WriteLine("At Offset " & CStr(intROffset + 10) & " : " & intDataSize & " bytes")
                        'swDbgOutput.Flush()
                        intNumRecords = intNumRecords + 1
                    End If
                End If
                intActiveEntry = intActiveEntry - 1
            Loop
            brResIdx.BaseStream.Seek(intForwardLink, SeekOrigin.Begin)
        Loop
    After:

    Code:
        brResIdx.BaseStream.Seek(12L, SeekOrigin.Begin)
        intBlockOffset = brResIdx.ReadInt32()
        brResIdx.BaseStream.Seek(184L, SeekOrigin.Begin)
        intDataFileSize = brResIdx.ReadInt32()
        brResIdx.BaseStream.Seek(72L, SeekOrigin.Begin)
        intFirstBlock = brResIdx.ReadInt32()
        brResIdx.BaseStream.Seek(intFirstBlock, SeekOrigin.Begin)
        Do While intForwardLink > 0
            intForwardLink = brResIdx.ReadUInt32()
            ' skip BackLink
            brResIdx.ReadInt32()
            intActiveEntry = brResIdx.ReadInt16()
            ' skip 8 bytes of unknown
            brResIdx.ReadBytes(8)
            ' *NEW* skip further 10 bytes of unknown
            brResIdx.ReadBytes(10)
            Do While intActiveEntry <> 0
                ' *NEW* read additional 4 bytes as high Long
                intROffset2 = brResIdx.ReadUInt32()
                intROffset = brResIdx.ReadUInt32()
                ' *NEW* recombine into a 64 bit offset
                intROffset64 = intROffset2 * (2 ^ 32) + intROffset
                intRType = Me.SwapEndian(brResIdx.ReadInt32())
                ' skip next
                brResIdx.ReadInt32()
                If (intRType = lngRecType) Then
                    hdr = ReadDataFile(34, intDataFileSize, intBlockOffset, intROffset)
                    intDataSize = BitConverter.ToInt32(hdr, 18) - 12
                    If intDataSize > 0 And intDataSize < 10000 Then
                        bwOutput.Write(ReadDataFile(intDataSize, intDataFileSize, intBlockOffset, intROffset + 10))
                        'swDbgOutput.WriteLine("At Offset " & CStr(intROffset + 10) & " : " & intDataSize & " bytes")
                        'swDbgOutput.Flush()
                        intNumRecords = intNumRecords + 1
                    End If
                End If
                intActiveEntry = intActiveEntry - 1
            Loop
            brResIdx.BaseStream.Seek(intForwardLink, SeekOrigin.Begin)
        Loop
    In each case, the line immediately after any *NEW* comment is what has been changed/added... also I'm not yet passing the intROffset64 value into the other functions (so this is the "quick-and-dirty" version) - the release version will hopefully do this correctly, but it'll be tricky to test until we have a bigger RDB
    "Do not try and catch the hamster... that's impossible. Instead only try to realize the truth... There is no hamster, only a deadbeat rollerat..."

    [Social] Means: I don't think we removed any bosses because of bad pathing...there wouldnt be any left if we did :P

    AO Character Skill Emulator and Character Parser and AO Implant Layout Helper

  2. #22
    Thank you very much for your input Darkbane. I haven't had chance to go over the code again myself as yet, but now my system is finally back together I'll be doing that very soon. It'll also give me the motivation to strip nano items by class and line from the DB also to add to a new nano locator module that I half wrote prior to my HD failing. And yeah, it will be hard to finalise until the new DB goes over 2GB for the acid test.
    Equilibrium may refer to: The condition of a system in which all competing influences are balanced, in a wide variety of contexts
    Infinity may refer to: The state or quality of being infinite. A number greater than any assignable quantity or countable number (symbol ∞).
    Vengeance may refer to: Vengeance (concept) or revenge, a harmful action against a person or group in response to a grievance

    AO Item Assistant+ :: https://sourceforge.net/projects/aoiaplus/::

    ~~~~~~~~~~~~ Dream ~~~~~~~~~~~~
    "Not a rant, not a flame. Just another perspective."

  3. #23
    How's AOIA coming along ? I NEEEEED IT!
    Jihnna 220/30/80 Shade
    Underworld

  4. #24
    Lots of us are already starting to twitch due to a broken AOIA!

    /shivers quietly in a corner...
    One profession to RoO them all, one profession to proc stun them, one profession to calm them all and in the darkness Exp perk them!

    Crataiken 220/30/70 General - Primal Evolution - 3rd AI 30 'Crat on RK 1 Setup
    Calms 220/30/70 General - Primal Evolution
    Medicaiken 220/30/70 General - Primal Evolution Setup
    Newen 220/30/70 President - The Galactic Milieu
    Mettagirl 220/20/** General - Primal Evolution
    Krataiken 150/18/40 General - Primal Evolution Setup

  5. #25
    I didnt update it and it still keeps tracking items just fine, as it seems. So, just dont update it.. for now

    Shadow Atlantians
    __________________________________________

    = Tikra :: 220 Advy (Inf Hater) | Inevitable :: 220 Crat (Hunting stuffz) | Gotnobuffs :: 210 MP (TS Totem) | Atlantiana :: 200 Solja (Clueless Blondie) =
    = Unabletonuke :: 160 NT (Kitehill Victim) | Aliumeater :: 150 MA (S10 Citizen) | Canhazcalms :: 100 Froob Crat (Foremans Slave) | Canhazbaffs :: 163 Froob Agent (Buffbox) =

    __________________________________________

    PVM all the way

  6. #26
    I kept a backup of the db, although it looks like aois crashes before overwriting the existing db.

    I can also confirm it works fine tracking stuff at the moment.

  7. #27
    Quote Originally Posted by Dream View Post
    It'll also give me the motivation to strip nano items by class and line from the DB also to add to a new nano locator module
    How about storing pack names in the AOIA database? Think maybe you can work that into AOIA while your breaking back into the code? I'm sure there are quite a few people that would appreciate it I know I would.

  8. #28
    Quote Originally Posted by Aiken View Post
    Lots of us are already starting to twitch due to a broken AOIA!

    /shivers quietly in a corner...
    I know i didn't play AO for a couple of weeks after the last patch that broke AOIA. Spent all my free time looking into the source code to fix the issue couldn't bear the thought of playing AO without a working AOIA behind me keeping track of everything!
    RK2 - Pimpmyride 220 Engi!

  9. #29
    Hey folks,
    I'm in the process of updating AOIA+, it should be with everybody soon(tm). Sorry for the delay, just have a busy workload on at the moment as I just started my internship etc.. but I am working on it. I expect to try and have it out this weekend.

    For now, just click "no" when it asks to update the database, it should work.
    Equilibrium may refer to: The condition of a system in which all competing influences are balanced, in a wide variety of contexts
    Infinity may refer to: The state or quality of being infinite. A number greater than any assignable quantity or countable number (symbol ∞).
    Vengeance may refer to: Vengeance (concept) or revenge, a harmful action against a person or group in response to a grievance

    AO Item Assistant+ :: https://sourceforge.net/projects/aoiaplus/::

    ~~~~~~~~~~~~ Dream ~~~~~~~~~~~~
    "Not a rant, not a flame. Just another perspective."

  10. #30
    Quote Originally Posted by Dream View Post
    Hey folks,
    I'm in the process of updating AOIA+, it should be with everybody soon(tm). Sorry for the delay, just have a busy workload on at the moment as I just started my internship etc.. but I am working on it. I expect to try and have it out this weekend.

    For now, just click "no" when it asks to update the database, it should work.
    Awesome!
    ::: My Tools & Stuff :::
    ::: Cratine Savagedheals Enfine Zoewrangle Demoder :: Solitron Demotionform :: IRC Demoder Savagedlight :::
    ::: AOItems :: Blog :: CIDB :: HelpBot :: ItemsBot :: PlanetMap Viewer :: Tower Wars :: Twitter :::

  11. #31
    Quote Originally Posted by Dream View Post
    Hey folks,
    I'm in the process of updating AOIA+, it should be with everybody soon(tm). Sorry for the delay, just have a busy workload on at the moment as I just started my internship etc.. but I am working on it. I expect to try and have it out this weekend.

    For now, just click "no" when it asks to update the database, it should work.
    You deserve many kisses!
    Thor Mastablasta Hammersmith - Level 220, AI 30, LE 70 Clan Atrox Nano Technician - Setup
    The Red Brotherhood

    I'm a Nano-Technician, don't ever expect me to fight unbuffed, alone or fair.

    Means: about f'ing time :P
    Satenia: heresy <3
    Znore: Mastablasta <3
    Kinkstaah: I have agro from many mobs ;(
    Madarab: we are aoe class, we are supose to use pistols
    Marxgorm: the NT toolset does not fit into my raiding tactics

  12. #32
    I am pleased to announce AOIA+ v1.1.6.0 is now ready for download at;

    https://sourceforge.net/projects/aoiaplus/

    Update includes:
    New parsing of Anarchy Online v18.6.9 resource database for items.
    Added functionality to view item stats on Demoders AOItems web site.

    Enjoy
    Equilibrium may refer to: The condition of a system in which all competing influences are balanced, in a wide variety of contexts
    Infinity may refer to: The state or quality of being infinite. A number greater than any assignable quantity or countable number (symbol ∞).
    Vengeance may refer to: Vengeance (concept) or revenge, a harmful action against a person or group in response to a grievance

    AO Item Assistant+ :: https://sourceforge.net/projects/aoiaplus/::

    ~~~~~~~~~~~~ Dream ~~~~~~~~~~~~
    "Not a rant, not a flame. Just another perspective."

  13. #33
    Quote Originally Posted by Dream View Post
    I am pleased to announce AOIA+ v1.1.6.0 is now ready for download at;
    When Mastablasta has finished kissing you I would like to have your baby!
    First small fat Engi on RK1 who danced ballet in Red Twil Thigh High Boots in front of an Advy and got pronounced to greatness almost instantly.


    Afreng (220/30/70 engineer) Alfora
    Keepitsimple Exploratia Malpora Osmosa Tunneleffect Eccegratia Littleboy

    Quote Originally Posted by Kintaii View Post
    Or, well, that's how it's supposed to work. ;P

  14. #34
    Just to say, the main official thread for AOIA+ is here...
    Equilibrium may refer to: The condition of a system in which all competing influences are balanced, in a wide variety of contexts
    Infinity may refer to: The state or quality of being infinite. A number greater than any assignable quantity or countable number (symbol ∞).
    Vengeance may refer to: Vengeance (concept) or revenge, a harmful action against a person or group in response to a grievance

    AO Item Assistant+ :: https://sourceforge.net/projects/aoiaplus/::

    ~~~~~~~~~~~~ Dream ~~~~~~~~~~~~
    "Not a rant, not a flame. Just another perspective."

Page 2 of 2 FirstFirst 12

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •