No announcement yet.

Radiant build menu re re re re revisited

  • Filter
  • Time
  • Show
Clear All
new posts

  • Radiant build menu re re re re revisited

    I'm tellin ya, I'm stuck in an infinite loop with many nested loops and conditions.

    A while back I spent a bunch of time making the radiant build menu work for q1 mapping (because it didn't). I even took it further and started exploiting the build menu in order to introduce more features (like my 32 point compass for sunlight).

    Well, now I am building a thing that will eliminate that build menu. Let's follow my logic for a second.

    in the beginning:
    I wanted the radiant build menu to work because it is supposed to

    I want to make a way way better build menu then the one radiant provides us with.

    Let's face it. The radiant build menu is total junk. It isn't user friendly in the least and it only knows as much about a quake compile as you tell it. The current alternative to this is a .bat file... BOOOOO! That is garbage too. I have a better way and I have figured out some things as well as remembered some things.

    1) I remembered how to make standalone exe's in flash that do not need any form of installation of anything. Completely portable. This is important for a bunch of reasons. the alternative to my method is to use air but everyone that uses my build menus would have to install that, no good. If I went the straight flash method everyone that uses my build menu would have to have flash installed, they would also have to have a standalone player on their system because I can't invoke an swf in the way I need to without it. Browser flash will not work. None of that is any good. By remembering the lil projector trick though, there is no dependencies on anything.

    Now here comes the real cool part. Flash is my thing. AS3 is my language and I've programming in it for a very long time. So now we get a radiant build menu in standalone exe form, with all of the visual and functional power of flash, programmed by a no-bullshit AS3 programmer.

    Can you wait? I barely can.

    I intend to use the exact same system for my QC editor compile menu. Then I intend other things but I've already told you way too much.

    EDIT: hah, I never got to 2) lol...whatever I got shit to do. I've said plenty.

    Quick quiz:

    a) Do you think I am going to make you remember and type a bunch of stuff


    b) Do you think I am going to organize every single possibility for every included compiler into an array of checkbox selections which, appear dynamically based on the support of the compiler while also providing features to save build profiles, open corresponding docs, and of course, build?
    Last edited by MadGypsy; 05-12-2014, 04:43 AM.

  • #2
    But does it come with the hideous memory usage that happens with 99% of flash objects these days

    the worst offender being the league of legends client, which can use over a gig of ram doing nothing

    I'm not trying to say that you're a bad developer and don't optimize, I'm actually more curious as to how you get around it, or if it's just the effect of a mistake people often make.

    Either way, I like the idea of making radiant more user friendly, even though there's documentation it sounds like you're going around the need for the documentation by making it do what a user would expect it to do on sight.
    wew lad


    • #3
      There wont be any hideous memory usage. All that hideous memory usage comes from a number of things

      1) Mounds of listeners that are turned on and never managed. If I can't even see a button it shouldn't be listening for an event
      2) accelerated graphics
      3) more

      I don't really need any of the memory crushing stuff and the build menu will only run when you need it so the majority of your map time wil be spent without the build menu even being in use.

      There is one problem though. I've already hit a really nasty wall and it might cost me 156.99 to overcome it. Flash did one thing to the projector that is really fucking me. I can execute external files but I can't send them any command line switches. as a matter of fact the dash (-) is not even an allowed character in the exec command. There are ways around this and they are expensive. I dont think 157$ is a lot of money but its an lot of money to pay just to overcome 1 limitation. In all honesty, I have a free work-around but I don't like it. It relies on the user saving a file in the right place by the right name. I don't really think any of you are straight up stupid but I always try to treat my applications like the user is a complete moron incapable of anything. By treating it this way, I eliminate many of the possible mistakes a user could make. Having the user save an application asset is not a very good model.

      Another possibility is using SharedObjects but I also do not like this way. For the most part this is the equivalent of a cookie. It is also stored far outside my application and I have no control over that. I don't like my apps to spread info out over the users machine. Nor do I like having to access files outside of my application namespace. THe whole point is to be portable and unassuming.

      The last time I used darkplaces it injected itself into my Games folder and fucked me up for many hours while I tried to figure out why none of my code was doing anything. I decided never to use it again. Actually I basically quit Quake modding after that and went back to languages and systems that dont rearrange themself on my system without permission and some notification. I HATE that shit. If I wanted dp in my games folder I would have put it there myself. So I don't intend to be using any method that is similar.

      One way or another I will figure this shit out. I'm not willing to admit the solution is 157$ just yet though. A Java socket could potentially hold some answers for me but I'm not willing to bring in a 3rd party just yet either.
      Last edited by MadGypsy; 05-12-2014, 12:53 PM.


      • #4
        I think I am going to switch gears. I really wanted to use flash for this but no matter what the commandline switch restriction is incredibly crippling. So now I believe i will use hta to exe. Creating the vbscripts for the menu will be a breeze because it's just gonna be one thing that can take an assload of switches. The rest is some Jscript and HTML, not really my preferred method, but I can get the job done with it. Convert all that to an exe so it doesn't invoke IE and (hopefully) voila.. same results I want with no work around bullshit.

        So now I guess I am essentially building a web page it just wont be that obvious in appearance or functionality.


        • #5
          Fair enough, good luck with that
          wew lad


          • #6
            @good luck with that

            I need it, this project turned from something I wanted to do into something I don't really want to do anymore. I hate vbscript, hta, jscript and all that nonsense. I just wanted to make some menus with an environment I am really comfortable with. Thanks to the first flash virus ever from like 15 years ago, I can't send command line switches from a flash projector and that is like the backbone of the entire process.

            I have done exhaustive searches for free swf to exe alternatives. There are none that I can find. The closest I can get is Zinc and that's 157 bucks. I'm not willing to spend that for the 4 people that are gonna use my stuff.

            There seems to be more bullshit though because exporting an hta to exe doesn't seem to retain any of the imports (like JQuery) in my header. The version I found that will do this is not making a real exe. It's just wrapping my stuff in an exe and that is completely useless. I might as well just use the hta.

            See? This went from fun to incredibly fucking annoying really fast. It went from one language that I know and enjoy to like 3 languages that I know and hate and I'm still not getting the results I want.

            If I get much more frustrated I am simply going to go back to the flash way and utilize the method where the user has to save a build profile with the proper name in the proper place. It's not ideal but the profile only needs to be made one time. So everything after that will still be better than what radiant already provides.

            Actually, that's just it. That's what Imma do, fuck some hta bullsquat. I've basically wasted my entire day reading a bunch of stuff that isn't helping me at all. It's time to fly through this shit and get er done.


            • #7
              Well, never got around to asking, do you have a centralized place online for your projects for people to take a look at?

              Since I'm pretty interested to see a general list of things you've done.
              wew lad


              • #8
                @centralized list

                no. At one point in life I did, but it was a free host. The site went like a year or something without a visit. I got an email telling me if I wanted to keep the site open I needed to click a link. I thought about it, over a year with not one visit...I didn't click the link. I just let the site die.

                It had some interesting stuff on it but I wouldn't say that any of it was particularly useful. Mostly "mad scientist" style experiments, some unfinished ideas, a few really silly games, maybe some other stuff, I honestly don't remember.


                • #9
                  This project just died. I'm sorry. I am not proud of it and I have actually never (to my memory) called a project dead. But fuck this stupid project. What should have been a day or two to complete the entire damn thing has turned into almost 2 whole days of figuring out how to even proceed.

                  If I can't get the results that I expect then it isn't worth doing. If I ever come across a reason that is feasible to purchase zinc then i will revisit this project but I'm not buying that shit just to make a build menu.

                  If anyone is real sad and doesn't want this project to die there is only one thing you need to do. Find me a way to make a flash projector that can pass switches. It's that simple. I have spent WAY too much time trying to find something. I'd even be willing to pay for a small app if it's cheap. Im not paying 157 (and up) though. If you are some awesome C programmer you are even welcome to make the app and I'll pay you (a whopping $20) - yeah I know that's bullshit, the point is this project isn't worth any more than that to me. However if you made such an app you could probably make that $20 about a zillion times cause I'm not the only person that wants this.

                  To any of my good buddies that would surprise me with a purchased copy of Zinc...DONT. I could buy 50 zincs, it isn't worth it.


                  • #10
                    Sorry to hear this :/
                    wew lad


                    • #11
                      Me TOO! I was looking forward to making this extravagant build menu. 100% graphical interface. I was thinking I would make bsp / light and vis tabs. Let's say for example purposes you picked light. there would be a drop down menu just under the tab that let you select which light compiler to use. Depending on your selection, the rest of the visible area would fill up with all the possible switches for that compiler. You would then tick the switches you want to use. In the case of a switch that accepts values, once ticked, a text field would slide out to the side of it (or maybe multiple text fields depending on the switch) allowing you to input the data you want. There would also be a profile button next to a compile button. If you click the profile button, first my program would check all user input for the proper data type, then it would build one of those objects I am always parsing and save it as Bytes. Every time the menu is loaded it would automatically load the last used profile but there would be another drop down menu above the tabs that allows you to choose an existing profile or make a new one. when you hit compile my app would parse the proper object data into switches and basically create a string that gets concatenated to the compiler exec.

                      Technically, I could still make exactly this with one exception, instead of saving an object profile it would simple write out a whole bat to be saved, that bat would then need to be placed in the proper directory for things like relative paths to be correct. This completely eliminates the need for flash to send switches but it makes it to where the user has to do the exact right thing or it wont work. I don't like that. One of the biggest problems with setting up things like radiant is users (noobs) have to do stuff like proper directory structure and other settings that should be automated. I'm defeating one of my biggest purposes if I follow that system.

                      The only way I could really see doing this with a shit system that isn't automated is if I just remove radiant from the equation entirely. Basically don't cal it a radiant build menu and don't couple it to radiant either. Make it a standalone system that is solely used to spit out bats and you can decide what to plug that bat into on your own OR don't plug it into anything, just dump it with some compilers and run it direct. I'm not opposed to this but it fucks me on what I was ultimately going to make.

                      My actual 100% goal was this

                      Hell Knight SDK

                      Radiant + awesome flash driven build menu complementing my Virtuoso gamepack
                      Notepad++ with awesome flash driven menu and some updates to my previous work (like my syntax hilighter and a handful of new ideas I had)

                      The bottom line was that you just drop Hell Knight SDK in ID1 or Mod equivalent folder and you are ready to go with mapping and QC editing. Maybe like one or 2 spots in one or 2 files would have needed a custom edit by the user but primarily it was going to be drop and go, and actually if the user is using darkplaces.exe, the ID1 folder and only wanted to use 1 thread to compile, there would be nothing to configure cause that's my default. If they only wanted to change the engine and/or thread count it can all be done at the top of entities.ent and it is very clearly marked, it's basically impossible to fuck up. If they wanted to change the game folder I believe there are 3 files that need to be edited and it is a hair more complicated cause it isn't necessarily clearly marked because these files don't accept comments but, it's not einstein stuff, you just need to search through a fairly long list of vars for the proper one to change. Find feature in any editor could shorten that search dramatically.

                      Anyway, I'm sad about it. I believe this version was going to nail the simplest possible route to modding quake maps/qc. Something I could have really been proud about instead I wound up ditching the entire thing because that no switch thing is the biggest deal ever. I even bought 10$ of scratch off lottery tickets today with the regard that If I won at least 125$ I would go buy zinc and consider it no loss. I won $15 and actually only $5 cause I paid $10 for the tickets.

                      I was disappointed. I thought the tickets were a sign cause I have never seen a lottery game called 777's and I was in clan 777 and arguably one of the largest figures ever in that clan for many years. I even changed my sig to some 777 stuff last night and I thought it was weird a money game named 777 appeared at the same time. The game works by matching numbers but if you reveal a 7, 77 or 777 you automatically, double or triple win the corresponding prize. I scratched and revealed a 777 my heart stopped (please be $50), the corresponding prize was $5 (tripled). The X from the price is right with the buzz went off in my head, I threw the ticket on my dash and drove home.

                      @please be $50 - you know I'm kind of a moron cause the top prize is $7,777 (actually $23,331) and I'm just hoping for $150 so zinc is free. Actually if I would have won the big one I probably would have been pissed cause I would have had to drive to Baton Rouge to cash the damn thing. I could have cashed $150 right there at the gas station.
                      Last edited by MadGypsy; 05-14-2014, 03:26 PM.


                      • #12
                        This made me think of a popular DOOM editing tool; Slade

                        SLADE - It's a Doom editor

                        It is the all in one gift from the gods to all doom modders.
                        wew lad