No announcement yet.

QuakeEd - MacOS port

  • Filter
  • Time
  • Show
Clear All
new posts

  • QuakeEd - MacOS port

    Hello, ladies and gentlemen!

    I wasn't sure where to post this; there doesn't seem to be a place to talk about mapping tools.

    In the interest of learning a bit more about the MacOS desktop platform, and because sometimes I simply don't know when to stop , I've being getting myself busy working on a port of the original Quake mapping tool, QuakeEd. It's in a *very* early stage of development, but somehow I've been able to successfully port most of the C core code, and also most of the purported UI design of the original tool (as indicated by the screenshots that Carmack left on the source code repository). Here is an early look of the application:

    There is still a loooong way to go. The actual rendering code for the project, maps and entities will need to be created from scratch, and it might take a while since I still need to understand how these PS**** rendering functions are supposed to work. And that's only one part of the puzzle: the compiler, BSP command line tools and all other utils need to be ported as well.

    Once the tool becomes usable, however, I would like to ask you guys for your valuable help as testers of the app. Of course, I'll make sure first that the tool is able to create at least one map before asking you to use the app.

    Look, I don't even know if this port is going to be useful, valuable or important for anyone else at this point in time. But I really want to learn properly about both 1) MacOS desktop development and 2) Quake mapping tech & tools, and I think this is my opportunity to do so.

    Wish me luck in this endeavour!

    EDIT: Forgot to mention - the app is currently available at , and is part of the same project that contains Quake For OSX and Slip & Frag.

  • #2
    There are very few Mac users of Quake. Many of the most active people are modders, which tend to be almost exclusively Windows users because of the lack of editing tools on a Mac.

    If you made a Pakscape (a .pak editor) for the Mac or a TexMex (a .wad editor) for the Mac, you might be able to drum up interest for those as the Mac lacks any equivalent for those.

    Tex Mex looks like this:
    Pakscape looks like this:

    And about everything you'd need to make one of those tools is already available in the engine source, like wad.c and I think common.h has the pak file format.

    And there are specs like:
    WAD specs:
    PAK specs:

    Anyway, I'm just giving you ideas as a map editor tends to be a multi-year project and it may be of some difficulty locating Mac users -- let alone for a map editor.

    A pak editor or WAD editor would be easier, and it would be easier to get test subjects. But probably not here, most of the Mac users with mapping interests are lurkers at func. They may be excited to GUI tools for the Mac, since the Quake tools for the Mac is a barren wasteland.

    /End of random idea thought
    Last edited by Baker; 08-08-2016, 03:59 AM. - Being exactly one-half good and one-half evil has advantages. When a portal opens to the antimatter universe, my opposite is just me with a goatee.

    So while you guys all have to fight your anti-matter counterparts, me and my evil twin will be drinking a beer laughing at you guys ...


    • #3
      I don't have a Mac but, I think it's awesome that you are making all this stuff. Good luck in your endeavors.


      • #4
        I would be happy to assist in testing. I have a Mac laptop. Sometimes I don't feel like cranking up the PC at my desk to quake. so this sounds pretty cool. good luck man
        'Replacement Player Models' Project


        • #5
          Good luck with your project.


          • #6
            I do

            Izhido, I use MacOS exclusively for playing Quake and editing. I'm looking for a full featured editor. Right now I QuakeSpasm engine and TrenchBroom editor.

            I am interested in trying your engine and editor, though I'm mostly just interested in the editor because I think QuakeSpasm is probably going to be much better than the original engine, though it has some bugs. I didn't see any binaries and didn't see how to build the binaries.


            • #7
              @aftershock: you might be in for a surprise... and not the good kind, I'm afraid. What I'm trying to do here is to port the mapping tools that id created for Quake. While those should suffice for Quake, I'm getting a hunch, deep inside, that these are far from the full featured editor you actually need. Guess only time will tell .


              • #8
                Izhido, yes I was thinking about that point, especially after I posted. I think the reason for using the original QuakeEd editor would be for:
                -Curiosity and historical purposes
                -Examine it so see if there is anything we can observe from it that could be added into editors like TrenchBroom or JACK.


                • #9
                  Wow. It's been literally years since I last talked about this.

                  Due to an unexpected illness that took the best of me for a few months, I essentially stopped doing work on the tool. It was only until a few weeks ago (also, 3 years later ) that I finally had the state of mind required to continue with it.

                  One thing I did was to discard entirely the previous code, since it felt like I was modifying way too much of the original code and, as a consequence, altering the way the original editing tool was supposed to look and function. My current objective, thus, is to introduce as little changes as possible to the original source, by creating surrogates for the original NeXTStep UI view classes, using the most basic application template available for OSX / MacOS, using methods currently marked as deprecated (that still work), allowing a few compilation warnings into the code, and so on.

                  While there is still a lot of work to do, the application is now at a level where I feel satisfied with my work on it, with no radical changes to the UX and / or functionality. Maps can now be opened, the Camera / XY / Z views of the map are now fully visible, (most) mouse and key interactions work as expected, and while I had to make some tough decisions in the way things are rendered in the app, for the most part, the code still respects the original rendering mechanism established by Carmack et al.

                  Attached is a screenshot of the app in Dark mode in the latest version of Mac OS.



                  • #10
                    Here is a larger version of the image, since I suspect it is too small to notice any detail (sorry about that):


                    • #11
                      Here is an early preview of the tool:


                      Your Mac, no doubt, will complain about the unsigned, unnotarized app, and will deny, then ask for permission to open the app. Just a heads up.

                      (If you prefer to run the application directly from source code, the Xcode project containing QuakeEd can be found here: ).

                      Before running the app, please open Terminal and run:

                      cd /
                      sudo mkdir /qcache
                      sudo chmod 777 /qcache
                      When you open the app for the first time, it will ask for the location of a .qpr file. Included in the zip is a folder containing roughly the structure of a QuakeEd project, with the example quake.qpr and that came with the original Quake-Tools package as released by id.

                      Once you specify the location of the .qpr file in your machine, please go to Preferences, press the [current] button next to the "Startup project" textbox, and then *close the app* and *open it again*. Only then you will be able to open the that appears in the Maps inspector tool in the app.

                      Other than that, you should be able to open any .map file you want in the application.

                      Instructions to use QuakeEd are provided in the Help inspector tool, also accessible via "Help" in the menu.

                      Have fun, and let me know what did you find out!
                      Last edited by Izhido; 05-20-2019, 08:42 PM. Reason: Including URL for source code of the app