Page 3 of 13 FirstFirst 123456789101112 ... LastLast
Results 41 to 60 of 247

Thread: Zeus v0.99 - the Omnipotent RTW Validator - It smite thy bugs.

  1. #41
    AqD's Avatar 。◕‿◕。
    Join Date
    Dec 2007
    Location
    🏡🐰🐿️🐴🌳
    Posts
    10,932

    Default Re: Zeus v0.75 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    Thanks!

  2. #42

    Default Re: Zeus v0.75 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    Excellent. Again, many thanks, RedFox. If I think of any other features, I'll let you know.

    Expand your borders, a mod based on XGM 5.

  3. #43
    Squid's Avatar Opifex
    Patrician Artifex Technical Staff

    Join Date
    Feb 2007
    Location
    Frozen waste lands of the north
    Posts
    17,760
    Blog Entries
    3

    Default Re: Zeus v0.75 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    If you don't mind could I get the code for reading from the pak files. That would be really important to a couple of RTW tool projects I'm working on, when RL lets me.
    Under the patronage of Roman_Man#3, Patron of Ishan
    Click for my tools and tutorials
    "Two things are infinite: the universe and human stupidity; and I'm not sure about the universe." -----Albert Einstein

  4. #44
    RedFox's Avatar When it's done.™
    Join Date
    Nov 2006
    Location
    Estonia
    Posts
    3,027

    Default Re: Zeus v0.75 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    You're also using C#, right? I tried to comment it enough to make it understandable. Have fun with the code.

    Spoiler Alert, click show to read: 

    Code:
            #region opPak
            void readPak()
            {
                // Gets the number of characters of the first two lines in the pak.
                StreamReader str = new StreamReader(pakDir);
                int length = str.ReadLine().Length;
                length += str.ReadLine().Length;
                str.Close();
                // Reads as many bytes as read for length
                FileStream fs = File.OpenRead(pakDir);
                byte[] data = new byte[length];
                fs.Read(data, 0, length);
                // Create a stringbuilder to store it all
                pak = new StringBuilder();
                int zCnt = 0; int sCnt = 0;
                // Convert the bytes into chars and append them, excluding zero bytes
                // Also convert \\ into /   
                // if there are 3 zero bytes in a row, it ends the line in the stringbuilder
                // k is 12 because the first 12 bytes contain a null value that closes the List<string>, so we need to skip that
                for (int k=12; k < length; k++)
                {
                    if (Convert.ToChar(data[k]).ToString().Contains("\0")) { zCnt+=1; }
                    if (zCnt==2) { pak.AppendLine(""); }
                    if (Convert.ToChar(data[k]).ToString().Contains("\\")) { sCnt+=1; }
                    if (sCnt==1) { pak.Append("/"); sCnt=0; zCnt=0; }
                    if (!Convert.ToChar(data[k]).ToString().Contains("\0")&!Convert.ToChar(data[k]).ToString().Contains("\\"))
                    { pak.Append(Convert.ToChar(data[k]).ToString()); zCnt=0; }
                }
                // Use a stringreader to read stuff that we really need from the packs
                // and sort them into different List<string> lists
                sr = new StringReader(pak.ToString());
                while ((line=sr.ReadLine()) != null)
                {
                // For unit cards
                    if (line.StartsWith("DATA/UI/U", StringComparison.Ordinal))
                    { pakUnits.Add(line.ToLower()); }
                // Building cards
                    if (line.StartsWith("DATA/UI/BARBARIAN/BU", StringComparison.Ordinal))
                    { pakBuild.Add(line); }
                    if (line.StartsWith("DATA/UI/CARTHAGINIAN/BU", StringComparison.Ordinal))
                    { pakBuild.Add(line); }
                    if (line.StartsWith("DATA/UI/EASTERN/BU", StringComparison.Ordinal))
                    { pakBuild.Add(line); }
                    if (line.StartsWith("DATA/UI/EGYPTIAN/BU", StringComparison.Ordinal))
                    { pakBuild.Add(line); }
                    if (line.StartsWith("DATA/UI/GREEK/BU", StringComparison.Ordinal))
                    { pakBuild.Add(line); }
                    if (line.StartsWith("DATA/UI/ROMAN/BU", StringComparison.Ordinal))
                    { pakBuild.Add(line); }
                // Textures
                    if (line.StartsWith("DATA/MODELS_U", StringComparison.Ordinal))
                    { pakTex.Add(line.ToLower()); }
                // Sprites
                    if (line.StartsWith("DATA/SPR", StringComparison.Ordinal))
                    { pakSpr.Add(line.ToLower()); }
                }
                /* Not sure if this is needed anymore. It used to remove the trailing ¤%#"/<(¤/%)"# lines, but 
                since it creates new lists for the files now, it doesn't have any use. If you work on a different kind
                of program, you might need all the lines, so this cleans up the mess without wasting cpu on 
                line.StartsWith() */
                //if (pakFiles.Count > 0)
                //{ pakFiles.RemoveAt(pakFiles.Count-1); }
            }
    
    
            void opPak()
            {
                write("Zeus © by RedFox\r\n");
                // This section returns curWorkDir. Usually it's '../', meaning RTW folder is one dir up
                detectDir();
                write("Retrieving file list...");
                // Open our textfiles
               // This used to cache all the text files, but now only caches descr_sm_factions and exceptions if not found
                retrieve_text();
                write(" OK\r\n");
                write("Retrieving factions table...");
                // Get the factions
               // Builds two List<string> lists that contain faction, culture
                 retrieve_factions();
                write(" OK\r\n");
                #region packs
                // "../data/packs/ui_1.pak"
                pakDir = curWorkDir+"data/packs/ui_1.pak"; curPak = "ui_1.pak";
                if (File.Exists(pakDir))
                {
                    write("Reading pak "+curPak+"...");
                    readPak();
                    write(" OK\r\n");
                }
                pakDir = curWorkDir+"data/packs/models_unit_textures.pak"; curPak = "models_unit_textures.pak";
                if (File.Exists(pakDir))
                {
                    write("Reading pak "+curPak+"...");
                    readPak();
                    write(" OK\r\n");
                }
                pakDir = curWorkDir+"data/packs/sprites_0.pak"; curPak = "sprites_0.pak";
                if (File.Exists(pakDir))
                {
                    write("Reading pak "+curPak+"...");
                    readPak();
                    write(" OK\r\n");
                }
                pakDir = curWorkDir+"data/packs/sprites_1.pak"; curPak = "sprites_1.pak";
                if (File.Exists(pakDir))
                {
                    write("Reading pak "+curPak+"...");
                    readPak();
                    write(" OK\r\n");
                }
                pakDir = curWorkDir+"data/packs/patch_0.pak"; curPak = "patch_0.pak";
                if (File.Exists(pakDir))
                {
                    write("Reading pak "+curPak+"...");
                    readPak();
                    write(" OK\r\n");
                }
                pakDir = curWorkDir+"data/packs/patch_1.pak"; curPak = "patch_1.pak";
                if (File.Exists(pakDir))
                {
                    write("Reading pak "+curPak+"...");
                    readPak();
                    write(" OK\r\n");
                }
                #endregion
                write("Please select an item from the list -->\r\n");
            }
            #endregion
    //(+rep?)
    Last edited by RedFox; September 10, 2009 at 06:23 AM.

  5. #45
    Squid's Avatar Opifex
    Patrician Artifex Technical Staff

    Join Date
    Feb 2007
    Location
    Frozen waste lands of the north
    Posts
    17,760
    Blog Entries
    3

    Default Re: Zeus v0.75 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    Sweet, I'd figured out how to read the idx files from vercintigorix's code for it (translating from c++ to c# was a pain though), but the pak files, I hadn't looked at.
    Under the patronage of Roman_Man#3, Patron of Ishan
    Click for my tools and tutorials
    "Two things are infinite: the universe and human stupidity; and I'm not sure about the universe." -----Albert Einstein

  6. #46
    RedFox's Avatar When it's done.™
    Join Date
    Nov 2006
    Location
    Estonia
    Posts
    3,027

    Default Re: Zeus v0.75 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    Well, the idx an dat files are a completely different deal, though the format used in the pak files is quite common. You can find some code snippets for unpacking pak's in C# with some hassle. I never needed to unpack them though, as that would be unpractical.

  7. #47

    Default Re: Zeus v0.75 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    Thank you a lot for this tool.
    It detected some missing textures/sprites in the DMB, and 3 important unit ownership bugs in the EDB.

    Keep the good work!

  8. #48
    RedFox's Avatar When it's done.™
    Join Date
    Nov 2006
    Location
    Estonia
    Posts
    3,027

    Default Re: Zeus v0.75 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    Any feedback or ideas on new error checking modules? I can happily create something really really complex, so don't be shy on ideas. I'll ignore requests regarding the Traits though, because squid's Ancillary/Trait Validator already does that very well.

  9. #49

    Default Re: Zeus v0.75 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    Perhaps it could count DMB and EDU entry numbers. And EDB tree numbers for that matter.

    Expand your borders, a mod based on XGM 5.

  10. #50
    RedFox's Avatar When it's done.™
    Join Date
    Nov 2006
    Location
    Estonia
    Posts
    3,027

    Default Re: Zeus v0.75 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    >>Perhaps it could count DMB and EDU entry numbers.
    It already does that:
    Code:
    Starting export_descr_buildings...
    Unit Table consists of 301 unique Types... (this is the # of EDU entries)
    ...
    Starting descr_model_battle...
    Model Table consists of 226 unique Types... (this is the # of DMB entries)
    As for EDB tree numbers; Since I'm just starting to work on the building card checker, I figure that will come along the way too.

  11. #51
    Ramashan's Avatar Artifex
    Join Date
    Apr 2007
    Location
    Los Angeles, CA
    Posts
    4,991

    Default Re: Zeus v0.75 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    Seems to be a bad link to download the program.
    Under the Patronage of Lord Condormanius

  12. #52
    RedFox's Avatar When it's done.™
    Join Date
    Nov 2006
    Location
    Estonia
    Posts
    3,027

    Default Re: Zeus v0.75 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    A HDD on the hosting server failed. Unfortunately my files were on that HDD, so that's that.

    For now you can get the file from: http://www.filefront.com/14521309/Zeus_Tool_v0.8.exe

    Adding Building Card checking was a real to be honest. Managing a 5-dimensional table that also has a 3-dimensional list AND forcing all of them through For-loops was epic to say the least. I probably got my first grey hair. For now it's about 2000 lines of code.

    Changelog:
    To do: ???
    v0.8 Beta
    - Added Building card checking (really complex stuff here)

    Oh, and incase you're wondering wtf I'm talking about, here it is:
    Spoiler Alert, click show to read: 

    Code:
    Zeus © by RedFox
    -----------------------------------------------
    Starting UI Card check...
    Building Table consists of 51 unique Buildings...
    Starting building scan...
    core_building: 5 levels: No Errors
    defenses: 6 levels
        Building        EGYPTIAN    defenses
        Constructed    EGYPTIAN    defenses
        Construction    EGYPTIAN    defenses
    barracks: 5 levels
        Building        BARBARIAN    barracks
        Constructed    BARBARIAN    barracks
        Construction    BARBARIAN    barracks
    barracks_roman: 5 levels
        Building        ROMAN    barracks_roman
        Constructed    ROMAN    barracks_roman
        Construction    ROMAN    barracks_roman
    barracks_greek: 5 levels
        Building        EGYPTIAN    barracks_greek
        Constructed    EGYPTIAN    barracks_greek
        Construction    EGYPTIAN    barracks_greek
    barracks_eastern: 5 levels
        Building        EGYPTIAN    barracks_eastern
        Constructed    EGYPTIAN    barracks_eastern
        Construction    EGYPTIAN    barracks_eastern
    barracks_barbarian: 5 levels
        Building        BARBARIAN    barracks_barbarian
        Constructed    BARBARIAN    barracks_barbarian
        Construction    BARBARIAN    barracks_barbarian
    equestrian: 4 levels
        Building        ROMAN    equestrian
        Constructed    ROMAN    equestrian
        Construction    ROMAN    equestrian
    training_field: 3 levels
        Building        EASTERN    drill_field
        Building        ROMAN    training_field
        Constructed    ROMAN    training_field
        Construction    ROMAN    training_field
    missiles: 4 levels
        Building        EGYPTIAN    missiles
        Constructed    EGYPTIAN    missiles
        Construction    EGYPTIAN    missiles
    market: 5 levels: No Errors
    smith: 3 levels
        Building        EGYPTIAN    smith
        Constructed    EGYPTIAN    smith
        Construction    EGYPTIAN    smith
    port_buildings: 3 levels
        Building        BARBARIAN    port_buildings
        Constructed    BARBARIAN    port_buildings
        Construction    BARBARIAN    port_buildings
    health: 4 levels
        Building        ROMAN    health
        Constructed    ROMAN    health
        Construction    ROMAN    health
    hinterland_farms: 5 levels
        Building        EASTERN    farms+4
        Constructed    EASTERN    farms+4
        Building        EGYPTIAN    hinterland_farms
        Constructed    EGYPTIAN    hinterland_farms
        Construction    EGYPTIAN    hinterland_farms
    hinterland_roads: 3 levels
        Building        ROMAN    hinterland_roads
        Constructed    ROMAN    hinterland_roads
        Construction    ROMAN    hinterland_roads
    hinterland_mines: 2 levels
        Building        EGYPTIAN    hinterland_mines
        Constructed    EGYPTIAN    hinterland_mines
        Construction    EGYPTIAN    hinterland_mines
    academic: 3 levels
        Building        EGYPTIAN    academic
        Constructed    EGYPTIAN    academic
        Construction    EGYPTIAN    academic
    amphitheatres: 3 levels
        Building        ROMAN    amphitheatres
        Constructed    ROMAN    amphitheatres
        Construction    ROMAN    amphitheatres
    theatres: 3 levels
        Building        ROMAN    theatres
        Constructed    ROMAN    theatres
        Construction    ROMAN    theatres
    despotic_law: 3 levels
        Building        EGYPTIAN    despotic_law
        Constructed    EGYPTIAN    despotic_law
        Construction    EGYPTIAN    despotic_law
    caravans: 3 levels
        Building        EGYPTIAN    caravans
        Constructed    EGYPTIAN    caravans
        Construction    EGYPTIAN    caravans
    taverns: 2 levels
        Building        ROMAN    taverns
        Constructed    ROMAN    taverns
        Construction    ROMAN    taverns
    temple_of_battle: 5 levels
        Building        ROMAN    temple_of_battle
        Constructed    ROMAN    temple_of_battle
        Construction    ROMAN    temple_of_battle
    temple_of_battleforge: 4 levels
        Building        EGYPTIAN    temple_of_battleforge
        Constructed    EGYPTIAN    temple_of_battleforge
        Construction    EGYPTIAN    temple_of_battleforge
    temple_of_farming: 5 levels
        Building        EGYPTIAN    temple_of_farming
        Constructed    EGYPTIAN    temple_of_farming
        Construction    EGYPTIAN    temple_of_farming
    temple_of_fertility: 5 levels
        Building        EGYPTIAN    temple_of_fertility
        Constructed    EGYPTIAN    temple_of_fertility
        Construction    EGYPTIAN    temple_of_fertility
    temple_of_forge: 5 levels
        Building        EGYPTIAN    temple_of_forge
        Constructed    EGYPTIAN    temple_of_forge
        Construction    EGYPTIAN    temple_of_forge
    temple_of_fun: 5 levels
        Building        ROMAN    temple_of_fun
        Constructed    ROMAN    temple_of_fun
        Construction    ROMAN    temple_of_fun
    temple_of_governors: 5 levels
        Building        ROMAN    temple_of_governors
        Constructed    ROMAN    temple_of_governors
        Construction    ROMAN    temple_of_governors
    temple_of_healing: 5 levels
        Building        EGYPTIAN    temple_of_healing
        Constructed    EGYPTIAN    temple_of_healing
        Construction    EGYPTIAN    temple_of_healing
    temple_of_horse: 5 levels
        Building        EGYPTIAN    temple_of_horse
        Constructed    EGYPTIAN    temple_of_horse
        Construction    EGYPTIAN    temple_of_horse
    temple_of_hunting: 5 levels
        Building        ROMAN    temple_of_hunting
        Constructed    ROMAN    temple_of_hunting
        Construction    ROMAN    temple_of_hunting
    temple_of_justice: 5 levels
        Building        EGYPTIAN    temple_of_justice
        Construction    EGYPTIAN    temple_of_justice
    temple_of_law: 5 levels
        Building        EGYPTIAN    temple_of_law
        Constructed    EGYPTIAN    temple_of_law
        Construction    EGYPTIAN    temple_of_law
    temple_of_leadership: 5 levels
        Building        EGYPTIAN    temple_of_leadership
        Constructed    EGYPTIAN    temple_of_leadership
        Construction    EGYPTIAN    temple_of_leadership
    temple_of_love: 5 levels
        Building        EGYPTIAN    temple_of_love
        Constructed    EGYPTIAN    temple_of_love
        Construction    EGYPTIAN    temple_of_love
    temple_of_naval: 5 levels
        Building        EGYPTIAN    temple_of_naval
        Constructed    EGYPTIAN    temple_of_naval
        Construction    EGYPTIAN    temple_of_naval
    temple_of_one_god: 5 levels
        Building        EGYPTIAN    temple_of_one_god
        Constructed    EGYPTIAN    temple_of_one_god
        Construction    EGYPTIAN    temple_of_one_god
    temple_of_trade: 5 levels
        Building        EGYPTIAN    temple_of_trade
        Constructed    EGYPTIAN    temple_of_trade
        Construction    EGYPTIAN    temple_of_trade
    temple_of_victory: 5 levels
        Building        ROMAN    temple_of_victory
        Constructed    ROMAN    temple_of_victory
        Construction    ROMAN    temple_of_victory
    temple_of_violence: 5 levels
        Building        ROMAN    temple_of_violence
        Constructed    ROMAN    temple_of_violence
        Construction    ROMAN    temple_of_violence
    temple_of_viking: 3 levels
        Building        BARBARIAN    temple_of_viking
        Constructed    BARBARIAN    temple_of_viking
        Construction    BARBARIAN    temple_of_viking
    temple_of_horse_2: 3 levels
        Building        BARBARIAN    temple_of_horse_2
        Constructed    BARBARIAN    temple_of_horse_2
        Construction    BARBARIAN    temple_of_horse_2
    hinterland_monuments_one: 8 levels
        Building        BARBARIAN    hinterland_monuments_one
        Constructed    BARBARIAN    hinterland_monuments_one
        Construction    BARBARIAN    hinterland_monuments_one
    hinterland_monuments_two: 8 levels
        Building        BARBARIAN    hinterland_monuments_two
        Constructed    BARBARIAN    hinterland_monuments_two
        Construction    BARBARIAN    hinterland_monuments_two
    hinterland_monuments_three: 5 levels
        Building        BARBARIAN    hinterland_monuments_three
        Constructed    BARBARIAN    hinterland_monuments_three
        Construction    BARBARIAN    hinterland_monuments_three
    grain_imports: 3 levels
        Building        EGYPTIAN    grain_imports
        Constructed    EGYPTIAN    grain_imports
        Construction    EGYPTIAN    grain_imports
    hinterland_culture_west: 5 levels
        Building        EGYPTIAN    hinterland_culture_west
        Constructed    EGYPTIAN    hinterland_culture_west
        Construction    EGYPTIAN    hinterland_culture_west
    hinterland_culture_east: 5 levels
        Building        EGYPTIAN    hinterland_culture_east
        Constructed    EGYPTIAN    hinterland_culture_east
        Construction    EGYPTIAN    hinterland_culture_east
    hinterland_culture_barb: 5 levels
        Building        ROMAN    hinterland_culture_barb
        Constructed    ROMAN    hinterland_culture_barb
        Construction    ROMAN    hinterland_culture_barb
    -----------------------------------------------
    Operation Complete!
    Please select an item from the list -->
    Last edited by RedFox; September 12, 2009 at 08:09 PM.

  13. #53

    Default Re: Zeus v0.8 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    Now Zeus needs to take descr_ui_buildings.txt into account.

    Expand your borders, a mod based on XGM 5.

  14. #54
    RedFox's Avatar When it's done.™
    Join Date
    Nov 2006
    Location
    Estonia
    Posts
    3,027

    Default Re: Zeus v0.8 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    CV: It does, otherwise you would get an error for half the cards from RTW. That's the point where the 3d table became 5d and where my frustration began.
    Last edited by RedFox; September 13, 2009 at 01:19 PM.

  15. #55
    Ramashan's Avatar Artifex
    Join Date
    Apr 2007
    Location
    Los Angeles, CA
    Posts
    4,991

    Default Re: Zeus v0.8 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    Great tool Red Fox!

    One question though. It simply lists all the Units/Buildings and their cards in one long string. I take it this means that everything is fine. It would give an error if something were amiss, correct?
    Under the Patronage of Lord Condormanius

  16. #56
    RedFox's Avatar When it's done.™
    Join Date
    Nov 2006
    Location
    Estonia
    Posts
    3,027

    Default Re: Zeus v0.8 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    If it writes "No errors found" in the end, then you're clean!

  17. #57
    Ramashan's Avatar Artifex
    Join Date
    Apr 2007
    Location
    Los Angeles, CA
    Posts
    4,991

    Default Re: Zeus v0.8 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    OK, great. Actually, great and not so great. I have no errors but still get a CTD around turn 8 of my mod. But, now i know where the error is not!
    Under the Patronage of Lord Condormanius

  18. #58
    RedFox's Avatar When it's done.™
    Join Date
    Nov 2006
    Location
    Estonia
    Posts
    3,027

    Default Re: Zeus v0.8 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    Are you using BI or ALX? I know BI has several plain 'weird' errors. For example DiadochiTW is rock-solid on ALX, but crashes quite often on BI.

    A lot of these invisible errors are caused by Traits. I don't think I should write trait validation for Zeus, because squid already has a tool for that, but it can always be considered.

    Another thing that can cause crashes is a corrupt descr_names.txt (don't know why it happens, maybe a hard-coded limit); If your mods' campaign always crashes after you hit end-turn, but no end-turn crash if you disable auto-saves, then your descr_names.txt is corrupt. Took me ages to hunt down that bug.

    EDIT: There is a bug in building card checker. If you don't do the building card checking as the very first thing, it will display a bunch of errors for some reason. Going to update it asap.
    Last edited by RedFox; September 13, 2009 at 05:05 PM.

  19. #59
    RedFox's Avatar When it's done.™
    Join Date
    Nov 2006
    Location
    Estonia
    Posts
    3,027

    Default Re: Zeus v0.8 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    Here's a small fix: Zeus v0.81

    Changelog:
    To do: ???
    v0.81 Beta
    - Fixed a logic error in Building card checker
    - Fixed a rare start-up fail (cross-thread call before object created)

  20. #60
    Squid's Avatar Opifex
    Patrician Artifex Technical Staff

    Join Date
    Feb 2007
    Location
    Frozen waste lands of the north
    Posts
    17,760
    Blog Entries
    3

    Default Re: Zeus v0.8 - the Omnipotent EDB, DMB, DS Validator - It smite thy bugs.

    Quote Originally Posted by RedFox View Post
    Are you using BI or ALX? I know BI has several plain 'weird' errors. For example DiadochiTW is rock-solid on ALX, but crashes quite often on BI.

    A lot of these invisible errors are caused by Traits. I don't think I should write trait validation for Zeus, because squid already has a tool for that, but it can always be considered.
    What errors caused by trait? If there are errors I'm not checking for I'd like to know about them, so any information you can provide would be appreciated.

    Quote Originally Posted by RedFox View Post
    - Fixed a rare start-up fail (cross-thread call before object created)
    What are you using multiple threads for, if you don't mind my asking?
    Under the patronage of Roman_Man#3, Patron of Ishan
    Click for my tools and tutorials
    "Two things are infinite: the universe and human stupidity; and I'm not sure about the universe." -----Albert Einstein

Tags for this Thread

Posting Permissions

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