Page 2 of 17 FirstFirst 123412 ... LastLast
Results 26 to 50 of 422

Thread: Smart-Overhaul

  1. #26
    Join Date
    Feb 2007
    Location
    PA, USA
    Posts
    5,240
    Mentioned
    36 Post(s)
    Quoted
    496 Post(s)

    Default

    new benland?

  2. #27
    Join Date
    Feb 2012
    Posts
    30
    Mentioned
    0 Post(s)
    Quoted
    17 Post(s)

    Default

    Quote Originally Posted by Brandon View Post
    Ahh don't say that.. Perhaps the JVM part is true but that doesn't stop anything. I can destroy tabs just fine and dispose of them. I'm running this in a 2GB-Ram Hyper-V vm (don't mind the ugly looking tabs.. I didn't add a look and feel to them).. I'm considering adding Tabs to smart or finishing the overhaul but seriously.. its a lot to re-write and its pretty difficult to just addTabs.. how would pairing work? :S Its not just the Java side I'd have to deal with.. I can see why Ben either didn't want to add it or just doesn't like overhauling smart without necessary need. These aren't really needs but just "wants". I can attach the source or the jar if you actually want to see that these screenies aren't faked.

    Attachment 21164Attachment 21165

    And the code for that is:

    Java Code:
    public static void main(String[] args) { //This main is just for testing.. removed args from Simba to test the tabs.
            //Test args..
            exec_args = new String[]{
                "C:/Simba/Plugins/libsmartjni64.dll", "http://world4.runescape.com/", ",f2352222102415942500",
                "765", "553", "s", "", "", ""
            };
            Frame F = new Frame(100);
            ByteBuffer img = ByteBuffer.allocateDirect(765 * 553 * 4);
            ByteBuffer dbg = ByteBuffer.allocateDirect(765 * 553 * 4);
            addTab(F, new Client(root, params, initseq, useragent, img, dbg, width, height));
            addTab(F, new Client(root, params, initseq, useragent, img, dbg, width, height));
        }

        public static void addTab(final Frame frame, final Client client) {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    frame.addClient(client);
                    client.start();
                    client.setDebug(false);
                    client.setGraphics(true);
                    client.setKeyInput(false);
                    client.setMouseInput(false);
                    frame.updateUI();
                }
            }).start();
        }

        //Inside the Frame class..
        private void addListeners() {
            TabCloseButton.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    if (((ClientApplet) component).getApplet().getComponentCount() > 0) {
                        Frame.this.removeClient((ClientApplet) component);
                    }
                }
            });

            this.addWindowListener(new WindowAdapter() {
                @Override
                public void windowClosing(WindowEvent e) {
                    Frame.this.removeAllClients();
                    Main.destruct();
                }
            });
        }

        private void removeClient(final ClientApplet loader) {
            if (loader == null || loader.getApplet() == null || loader.getApplet().getComponentCount() < 1) {
                return;
            }

            synchronized (this.TabPane) {
                this.TabPane.remove(loader);
            }

            try {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        if (loader.getApplet() != null && loader.getApplet().getComponentCount() > 0) {
                            EventHandler.remove(loader.getApplet().getComponent(0));
                            clients.remove(loader.getApplet().getComponent(0).getClass().getClassLoader().hashCode());
                        }
                       
                        loader.remove(loader.getApplet());
                        loader.getApplet().destroy();
                    }
                }).start();
            } catch (Exception Ex) {
                System.out.println(Ex.getMessage());
            }
        }

        private void removeAllClients() {
            synchronized (this.TabPane) {
                this.TabPane.removeAll();
            }

            synchronized (clients) {            
                for (Client client : clients.values()) {
                    if (client != null && client.getLoader() != null && client.getCanvas() != null) {
                        EventHandler.remove(client.getCanvas());
                        clients.remove(client.getCanvas());
                        client.getLoader().remove(client.getApplet());
                        client.getApplet().destroy();
                    }
                }
                clients.clear();
            }
            System.gc();
        }



    Uhh gimmie some time and I'll fix it if I can find it. I can't seem to reproduce the access violation but perhaps I missed something.
    Good job. Never took the time to do some work. But I don't need the source. I would start using the final modifier.

  3. #28
    Join Date
    Nov 2011
    Location
    England
    Posts
    3,072
    Mentioned
    296 Post(s)
    Quoted
    1094 Post(s)

    Default

    Mhmmm, like Brandon said nothing of this is needed, Ben still does a great job of keeping up to date with SMART but.. if your willing to put some effort into SMART it would be nice to know if Ben would like/accept the features (providing up to scratch etc.).

    So yeah at the end of day (official wise) its down to @BenLand100

  4. #29
    Join Date
    Aug 2007
    Location
    Colorado
    Posts
    7,421
    Mentioned
    268 Post(s)
    Quoted
    1442 Post(s)

    Default

    Quote Originally Posted by Brandon View Post
    Uhh gimmie some time and I'll fix it if I can find it. I can't seem to reproduce the access violation but perhaps I missed something.
    Great great I'll of course keep an eye on this thread. I just thought maybe it's something simple I over-looked and you'd be able to point it out immediately.

    Oh yes, do you have plans on making AcidBot into a plugin to communicate with Simba?
    Last edited by Flight; 05-10-2013 at 12:52 AM.

    Current projects:
    [ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]

    "I won't fall in your gravity. Open your eyes,
    you're the Earth and I'm the sky..."


  5. #30
    Join Date
    Mar 2012
    Location
    127.0.0.1
    Posts
    3,383
    Mentioned
    95 Post(s)
    Quoted
    717 Post(s)

    Default

    Brandon, if you have any desire to add like, hooks or w/e, you should let me see how you do it. :P I'd like to learn how other people program.

    @Brandon

  6. #31
    Join Date
    Feb 2012
    Posts
    30
    Mentioned
    0 Post(s)
    Quoted
    17 Post(s)

    Default

    Quote Originally Posted by NKN View Post
    Brandon, if you have any desire to add like, hooks or w/e, you should let me see how you do it. :P I'd like to learn how other people program.

    @Brandon
    This is for Java.You need to either learn bcel or asm. They are both bytecode api's. You should really get a good understanding of bytecode then move on to learning the api. For hooks they won't last forever so you need to make a updater which will allow the hooks to be automatically updated. I do like asm more than bcel so i'll give you the link for the api docs and a pdf of it. Sorry, i don't know Pascal
    Api Docs: Here
    Asm Book: Here
    Last edited by Fox; 05-10-2013 at 02:31 AM.

  7. #32
    Join Date
    Mar 2012
    Location
    127.0.0.1
    Posts
    3,383
    Mentioned
    95 Post(s)
    Quoted
    717 Post(s)

    Default

    Quote Originally Posted by Frostie View Post
    This is for Java.You need to either learn bcel or asm. They are both bytecode api's. You should really get a good understanding of bytecode then move on to learning the api. For hooks they won't last forever so you need to make a updater which will allow the hooks to be automatically updated. I do like asm more than bcel so i'll give you the link for the api docs and a pdf of it. Sorry, i don't know Pascal
    Api Docs: Here
    Asm Book: Here
    http://github.com/nknscripts/nknbot

    I have my own bot lol I know how it works

  8. #33
    Join Date
    Feb 2012
    Posts
    30
    Mentioned
    0 Post(s)
    Quoted
    17 Post(s)

    Default

    Quote Originally Posted by NKN View Post
    http://github.com/nknscripts/nknbot

    I have my own bot lol I know how it works
    Didn't seem like it btw i checked your source you should use final modifiers.

  9. #34
    Join Date
    Mar 2012
    Location
    127.0.0.1
    Posts
    3,383
    Mentioned
    95 Post(s)
    Quoted
    717 Post(s)

    Default

    Quote Originally Posted by Frostie View Post
    Didn't seem like it btw i checked your source you should use final modifiers.
    -shrug- yolo

  10. #35
    Join Date
    Feb 2012
    Posts
    30
    Mentioned
    0 Post(s)
    Quoted
    17 Post(s)

    Default

    Quote Originally Posted by NKN View Post
    -shrug- yolo
    But hey good job.

  11. #36
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    Quote Originally Posted by Frostie View Post
    Didn't seem like it btw i checked your source you should use final modifiers.
    LOL.. what is with you and final? -_- There's not really "benefits" to it other than to help someone else reading your code realize that things don't change.. It doesn't provide any speed increases or anything.

    @Flight; Uhh I'm not sure if I'd add acidbot to simba but I'm actually re-writing all of Smart's pairing to see if I can get tabs working and to remove that stupid cannot spawn clients as well as the left over Smart.pid files that it leaves all over the place..

    Just started on the JNI. Hopefully it goes well.. if not, well then I guess there's no changing smart other than Benland doing it himself.

  12. #37
    Join Date
    Feb 2012
    Posts
    30
    Mentioned
    0 Post(s)
    Quoted
    17 Post(s)

    Default

    Quote Originally Posted by Brandon View Post
    LOL.. what is with you and final? -_- There's not really "benefits" to it other than to help someone else reading your code realize that things don't change.. It doesn't provide any speed increases or anything.

    @Flight; Uhh I'm not sure if I'd add acidbot to simba but I'm actually re-writing all of Smart's pairing to see if I can get tabs working and to remove that stupid cannot spawn clients as well as the left over Smart.pid files that it leaves all over the place..

    Just started on the JNI. Hopefully it goes well.. if not, well then I guess there's no changing smart other than Benland doing it himself.
    I doesn't really do anything. But pyroryan said you look like a beginner programmer.

  13. #38
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    Quote Originally Posted by Frostie View Post
    I doesn't really do anything. But pyroryan said you look like a beginner programmer.
    :S and you believe that? Think about it. What about the guys that know multiple languages and instead don't initialize variables via initializer lists and rather initialize via constructor?

    Such guys would be C/C++ programmers. I tend to initialize everything to null and then set my variables in the constructor or a function that sets them for me. Initializing them all at the start for me looks pretty dirty unless its static or something :S.

    Yeah java has standards but some of them are really stupid standards. As well as stupid ways of doing things. Aka "Layouts".. Pfft.. every other language uses a location on screen to place buttons not some extremely long layout with padding.. or adding "public" before every single function..

    But then again, to each their own. LOL I remember when Ben changed my code from using "SomeMethodName" to "someMethodName" with lowercase beginning letter :S.

    Making it all final is like the difference between doing:

    Java Code:
    public void foo() { //bracket on init line.
    }

    //and

    public void foo()
    { //bracket on following line. Java guys will complain for this :S
    }
    Last edited by Brandon; 05-10-2013 at 03:46 AM.

  14. #39
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    Quote Originally Posted by Brandon View Post
    :S and you believe that? Think about it. What about the guys that know multiple languages and instead don't initialize variables via initializer lists and rather initialize via constructor?

    Such guys would be C/C++ programmers. I tend to initialize everything to null and then set my variables in the constructor or a function that sets them for me. Initializing them all at the start for me looks pretty dirty unless its static or something :S.

    Yeah java has standards but some of them are really stupid standards. As well as stupid ways of doing things. Aka "Layouts".. Pfft.. every other language uses a location on screen to place buttons not some extremely long layout with padding.. or adding "public" before every single function..

    But then again, to each their own. LOL I remember when Ben changed my code from using "SomeMethodName" to "someMethodName" with lowercase beginning letter :S.

    Making it all final is like the difference between doing:

    Java Code:
    public void foo() { //bracket on init line.
    }

    //and

    public void foo()
    { //bracket on following line. Java guys will complain for this :S
    }
    Is lowcasing procedure names some java standard? I noticed that see like in a RSPS the code to send a message to the whole server was "sM(String)" or "sendMessage(String)" or how on Powerbot I think its "walkTile"


    It actually looks neat to me

  15. #40
    Join Date
    Oct 2006
    Location
    ithurtsithurtsithurtsithurts
    Posts
    2,930
    Mentioned
    7 Post(s)
    Quoted
    135 Post(s)

    Default

    Quote Originally Posted by Officer Barbrady View Post
    Is lowcasing procedure names some java standard? I noticed that see like in a RSPS the code to send a message to the whole server was "sM(String)" or "sendMessage(String)" or how on Powerbot I think its "walkTile"


    It actually looks neat to me
    Yup. Camel case is the Java standard.

  16. #41
    Join Date
    Aug 2007
    Location
    Colorado
    Posts
    7,421
    Mentioned
    268 Post(s)
    Quoted
    1442 Post(s)

    Default

    Quote Originally Posted by Brandon View Post
    @Flight; Uhh I'm not sure if I'd add acidbot to simba but I'm actually re-writing all of Smart's pairing to see if I can get tabs working and to remove that stupid cannot spawn clients as well as the left over Smart.pid files that it leaves all over the place..
    Ah right I figured you'd want to keep AcidBot separate but just making sure. I sure like the layout and I'd love to use it in line with Simba so of course I was curious to know. I'm only interested in reflection for an OSR client, not so much for the normal EoC RS.

    This is a bit off-topic and I apologize if it seems like spam, but is it normal for SMART to "freeze" when the mode is changed from Safemode to OpenGL via the dropbox? Ever since that option was added to SMART it's not worked for me (and everyone else I assume?), even Ben's current 8.1. If it matters I have 8.1 load up the OpenGL plugin on start up, which is great; now I just need SMART to switch to OGL mode.

    Keep up the good work Brandon, I for one am rooting for you.

    Current projects:
    [ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]

    "I won't fall in your gravity. Open your eyes,
    you're the Earth and I'm the sky..."


  17. #42
    Join Date
    Feb 2012
    Posts
    30
    Mentioned
    0 Post(s)
    Quoted
    17 Post(s)

    Default

    Quote Originally Posted by Brandon View Post
    :S and you believe that? Think about it. What about the guys that know multiple languages and instead don't initialize variables via initializer lists and rather initialize via constructor?

    Such guys would be C/C++ programmers. I tend to initialize everything to null and then set my variables in the constructor or a function that sets them for me. Initializing them all at the start for me looks pretty dirty unless its static or something :S.
    Yes i do believe that. PryoRyan is one of the top java programming out there.
    Yeah java has standards but some of them are really stupid standards. As well as stupid ways of doing things. Aka "Layouts".. Pfft.. every other language uses a location on screen to place buttons not some extremely long layout with padding.. or adding "public" before every single function..

    But then again, to each their own. LOL I remember when Ben changed my code from using "SomeMethodName" to "someMethodName" with lowercase beginning letter :S.

    Making it all final is like the difference between doing:

    Java Code:
    public void foo() { //bracket on init line.
    }

    //and

    public void foo()
    { //bracket on following line. Java guys will complain for this :S
    }
    Yes i do believe that pyroryan is one of the best java programmers out there.
    Here are some reasons to use it.
    Just ensures the variable won't be accidentally reinitialized. It's conventional to use for global fields (at the top of a class.) It doesn't have much effect on performance, but it's conventional. It isn't particularly necessary to do with local fields (within a method, or similar, because it has no effect on the bytecode produced), but I still do it anyways to keep a consistent flow and ensure I don't accidentally reinitialize fields.

  18. #43
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    Quote Originally Posted by Frostie View Post
    Yes i do believe that pyroryan is one of the best java programmers out there.
    Here are some reasons to use it.
    Just ensures the variable won't be accidentally reinitialized. It's conventional to use for global fields (at the top of a class.) It doesn't have much effect on performance, but it's conventional. It isn't particularly necessary to do with local fields (within a method, or similar, because it has no effect on the bytecode produced), but I still do it anyways to keep a consistent flow and ensure I don't accidentally reinitialize fields.

    I know he is. Himself, Drags, and Trilez are good. I'm only saying, there are some "conventions" you can ignore. For me, I personally only make a variable final or atomic when I need to pass it to a thread or wrap it in a synchronized block, and I make things static when I want them to live in memory or all instances to access them. I also use final in replacement for the keyword "const" in C. Other than that, photographic memory helps. Its why I learn so fast I'm not saying you should use final. I'm saying, you don't need to over do it.

    Also note that in Assembly, C, C++: Constant values create LARGER executables. Not sure if Java somehow gets rid of this with the final keyword. If its the same then its not something I want. Also final doesn't have a large effect on non-primitve variables.


    @Flight; The Smart overhaul has the same layout.. Well I'm hoping to get it working and approved by Ben.
    For OGL: That's because you need to be in OpenGL mode first before you load up Smart. If you can't get smart into OGL mode, does it have an error or stacktrace? If it does, your drivers need updating. Hmm I got it working in OGL mode :S.
    Last edited by Brandon; 05-10-2013 at 04:47 AM.

  19. #44
    Join Date
    Aug 2007
    Location
    Colorado
    Posts
    7,421
    Mentioned
    268 Post(s)
    Quoted
    1442 Post(s)

    Default

    Quote Originally Posted by Brandon View Post
    @Flight; The Smart overhaul has the same layout.. Well I'm hoping to get it working and approved by Ben.
    For OGL: That's because you need to be in OpenGL mode first before you load up Smart. If you can't get smart into OGL mode, does it have an error or stacktrace? If it does, your drivers need updating. Hmm I got it working in OGL mode :S.
    Regarding my graphics card & drivers: I just downloaded and installed the most up-to-date driver for my graphics card (ATI Radeon 3000) and now my OpenGL version is 6.14.10.11672. Furthermore, I once again loaded up RS in the normal browser in default, lowest OGL graphic settings. I even updated my Runescape Launcher to the newest and loaded/logged in with OGL settings, just incase I needed their extra files on my computer for it to work. It didn't.

    I changed Ben's current SMART to load OpenGL on default in the Client class:
    Code:
    private OperatingMode operatingMode = OperatingMode.OpenGL;
    Still when SMART loads it constantly reads < 0.35 fps and freezes like I said before. Switching the mode-selector to SafeMode unfreezes it and when I try to change the GFX settings to OGL via the graphics settings on the login page I get an error in SMART and Runescape says something like "Unable to use these settings".



    Here's the part in the Client class that's defined for OpenGL mode:

    Code:
    case OpenGL: {
      int c = 0;
      long time = System.currentTimeMillis();
      //JFrame img = new JFrame("Teh Buffar");
      //ImageIcon icon = new ImageIcon(buffer);
      //img.add(new JLabel(icon));
      //img.setVisible(true);
      while (operatingMode == OperatingMode.OpenGL) {
          sleep(refresh);
          c++;
          if (c % 100 == 0) {
              Main.debug((1.0/((System.currentTimeMillis()-time)/1000.0)) + " fps");
              time = System.currentTimeMillis();
          }
          //Main.copyGLBuffer(0,0,width,height,nativeBuff);
          //nativeBuff.rewind();
          //for (int i = 0; i < len; ++i) {
          //    bufferData[i] = nativeDebug.get() >> 8;
          //}
      }
      //img.setVisible(false);
    } break;
    And the last bit, here's my SmartSpawnClient line in SmartParams:
    Simba Code:
    Result := SmartSpawnClient(ReplaceWrap(PluginPath, '\', '/', [rfReplaceAll]), Params[0], ',' + Params[1], 765, 553, '', '', '', 'OpenGL32.dll');

    Again, this is the standard SMART v8.1 compile directly from Ben's GitHub; it's not your overhauled SMART since I've an access violation error with that one. I hope you have better news about your overhauled SMART 8.1 because I'm going no where fast with Ben's.

    Current projects:
    [ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]

    "I won't fall in your gravity. Open your eyes,
    you're the Earth and I'm the sky..."


  20. #45
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    Quote Originally Posted by Flight View Post
    Regarding my graphics card & drivers..

    https://github.com/BenLand100/SMART/pulls
    Specifically this one: https://github.com/BenLand100/SMART/pull/13

    See that 7-month old pull ? That is the pull that supports OpenGL. I think he's really busy these days. Current Smart on Ben's github doesn't do anything with OpenGL.. Technically, it should "Render" OpenGL and DirectX properly, except that Ben's BlitThread does all the drawing and since there is no drawing under the OpenGL/DirectX switch cases, you will just see black with an FPS counter that hovers near 0 :l

    That exception you got.. I used to get when my drivers were outdated but seeing as you have the latest OpenGL drivers, that can't possibly be.

    Meh I'm still trying to figure out a way to properly pair tabs without breaking any of the current methods and at the same time extending the functionality.
    Last edited by Brandon; 05-10-2013 at 07:30 AM.

  21. #46
    Join Date
    Aug 2007
    Location
    Colorado
    Posts
    7,421
    Mentioned
    268 Post(s)
    Quoted
    1442 Post(s)

    Default

    Quote Originally Posted by Brandon View Post
    https://github.com/BenLand100/SMART/pulls
    Specifically this one: https://github.com/BenLand100/SMART/pull/13

    See that 7-month old pull ? That is the pull that supports OpenGL. I think he's really busy these days. Current Smart on Ben's github doesn't do anything with OpenGL.. Technically, it should "Render" OpenGL and DirectX properly, except that Ben's BlitThread does all the drawing and since there is no drawing under the OpenGL/DirectX switch cases, you will just see black with an FPS counter that hovers near 0 :l

    That exception you got.. I used to get when my drivers were outdated but seeing as you have the latest OpenGL drivers, that can't possibly be.

    Meh I'm still trying to figure out a way to properly pair tabs without breaking any of the current methods and at the same time extending the functionality.
    Thanks for the quick replies Brandon. I added all of you commits to SMART and I'm still at the same place. A few successful compiles after those edit my Makefile stopped producing a smart.jar, just simply stopped compiling all .java files. I honestly have no idea why, I compiled once, received all 3 files (2 .dlls & 1 jar), cut those and placed them in Simba's plugins, compiled SMART again (with no edits to anything) and since then it no longer produces a jar. I even went all the way back to a fresh copy of 8.1, re-did all your OpenGL commits, edited the Makefile to compile your SharedLibrary classes, and the same problem occurs: only the .dlls are produced, no jar. Is there something wrong with my Makefile/compiler? :/

    I think I'm going to give up on this, I'm just out of luck here, no matter which way I go about it. Thanks for all of your help Brandon and I apologize if I've wasted time.

    Current projects:
    [ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]

    "I won't fall in your gravity. Open your eyes,
    you're the Earth and I'm the sky..."


  22. #47
    Join Date
    Feb 2008
    Posts
    748
    Mentioned
    1 Post(s)
    Quoted
    14 Post(s)

    Default

    Quote Originally Posted by Frostie View Post
    I doesn't really do anything. But pyroryan said you look like a beginner programmer.
    I don't recall ever saying that Brandon looked like a beginning programmer. In fact, I think this is the first time I've even talked about a Brandon from villavu/SRL within the past year.

  23. #48
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    @BenLand100;

    Smart v8.1 Rev-2 anyone? I must admit.. took a lot of re-writing and work but I got most suggested Smart features completed.. Well almost all. I just have to add back all Ben's copyrights and documentations (though the over use of comments annoy me and do some more extensive testing). Iunno though.. I think I've had enough but here's the source if anyone wants to continue. I did a lot already and its useable..

    SOURCE:
    Source.zip


    Pictures:



    Features so far:

    • Simba can now spawn Smart Tabs.
    • Smart now has its own built in console so you don't get that stupid black cmd looking thing for each smart client.
    • Each tab can have different input methods. Ex: Tab one can have mouse disabled, tab two can have it enabled, etc..
    • Closing a tab cleans the resources the tab used. IE: CPU and Memory usage goes down. Ex: 4 Tabs at 100% CPU each using 25%. One tab closes, CPU will go down to 75%. Close another and it'll be at 50% etc.. Close the client OR all the tabs and the CPU drops to 0.
    • Each Simba tab can be paired to one smart tab. IE: One Tab running a mining script will interact with a unique tab in smart. The other tab can then run whatever it wants at the same time.
    • The built in console can be hidden or shown. Ex: It's that console looking button.. It'll hide the Text area at the bottom.
    • Console popup menu allows you to clear it, select all, or copy.
    • Deletes all Smart.TabID and Smart.PID files that are not in use when Simba closes. This cleans up all those left over files from the old smart.



    Smart itself works perfectly. Either myself, or Ben or whoever decides to continue on this would only have to do testing and test the pairing with the tabs. I'm pretty sure I got it all though but just in case I missed something or messed up something.

    The new functions look like:

    • int PID = SmartSpawnProcess(RemotePath, JavaArguments, ListOfPlugins);
    • SmartSpawnClient(PID, Root, Params, Width, Height, InitSequence, UserAgent);
    • SmartSetMouseInput(Enabled);
    • SmartSetKeyboardInput(Enabled);
    • SmartSetDebug(Enabled);
    • SmartSetGraphic(Enabled);
    • SmartSetConsole(Visible);
    • SmartClientCount(UnPaired);
    • SmartProcessCount();
    • SmartClientCount(PID);



    etc..
    Last edited by Brandon; 05-15-2013 at 03:37 AM.
    I am Ggzz..
    Hackintosher

  24. #49
    Join Date
    Aug 2007
    Location
    Colorado
    Posts
    7,421
    Mentioned
    268 Post(s)
    Quoted
    1442 Post(s)

    Default

    Quote Originally Posted by Brandon View Post
    Smart v8.1 Rev-2 anyone?
    Great stuff, I'm gonna to play a bit with this now. By the way, have you added your OpenGL commits to this version of SMART already?

    Edit:
    Oh yeah, do you have the Makefile for this?
    Last edited by Flight; 05-15-2013 at 04:02 AM.

    Current projects:
    [ AeroGuardians (GotR minigame), Motherlode Miner, Blast furnace ]

    "I won't fall in your gravity. Open your eyes,
    you're the Earth and I'm the sky..."


  25. #50
    Join Date
    Nov 2011
    Location
    England
    Posts
    3,072
    Mentioned
    296 Post(s)
    Quoted
    1094 Post(s)

    Default

    @Brandon

    Impressive.. impressive...

    I suppose the debug box can be filled with debug() from simba?
    Last edited by Olly; 05-15-2013 at 03:59 AM.

Page 2 of 17 FirstFirst 123412 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

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