Announcement

Collapse
No announcement yet.

Trying to compile quake

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Trying to compile quake

    I'll gather all my stupid questions about darkplaces here, until I'll be able to compile and maybe modify darkplaces engine. Or any other engine.

    What's the purpose of crypto-keygen-standalone.c and crypto-keygen-standalone-brute.sh ?

    In FTE, which folders mean what? I'm looking here Index of /moodles , not sure what any of those folders mean.
    Last edited by vibok; 05-22-2017, 09:56 AM.

  • #2
    Darkplaces, not quite understand how the very first line of makefile works:

    Code:
    # Win32
    ifdef WINDIR
    	DP_MAKE_TARGET=mingw
    else
    I never knew that WINDIR is defined for mingw only. Strange that he didn't use __MINGW32__ instead.

    Comment


    • #3
      I'll need to turn the makefile into the bat file, and throw away all linux stuff, sdl, bsd, darvin, sunos, etc. Just to simplify code.


      Not sure what's those lines are for:

      Code:
      # Win32 configuration
      ifeq ($(WIN32RELEASE), 1)
      Why is there WIN32RELEASE now instead of WINDIR? Is this even defined? I guess I could check it out by compiling... Is this in the docs somewhere?

      Comment


      • #4
        Is it possible to compile Open Dynamics Engine with msys2 on windows?

        Open Dynamics Engine - home

        https://www.ode-wiki.org/wiki/index....&printable=yes

        the second link only describes

        sh autogen.sh
        ./configure
        make
        sudo make install

        Is msys2 smart enough to compile those? Where will msys2 install it even, after "make install"?

        I just recently installed msys2, have very little idea how it works.

        Comment


        • #5
          officially, fte is cross-compiled from a linux box.

          unofficially, the msvc2005 project is the one I personally use the most. unfortunately 2005 has some issues with more recent versions, and thanks to unofficial stuff I have lots of extra dependancies all over the place (the makefiles assume linux or cygwin where all that messy stuff is provided by debian/cygwin packages).

          so yeah, screw batch files. spend you time trying to get the msvc projects working, whichever quake engine you're trying to compile (dp/fte/etc). gcc is great for lots of weird targets, but msvc is better for actually debugging (its just a shame that its only available on windows for windows).
          Some Game Thing

          Comment


          • #6
            Tried installing visual studio 2015, 2010 and 6.0, all failed. Too lazy to try again.

            Here is a short summary of my tries, in case it matters to anyone https://forum.openmw.org/viewtopic.php?p=47324#p47324

            I can more or less use only the mingw c compiler and bat files, but c++, makefiles, visual studio project files, cmake are black magic for me. Currently learning msys2, installed it only yesterday, after asking here https://forum.openmw.org/viewtopic.php?f=4&t=4330 (Learning is too strong of a word, more like annoying people with questions about)

            Maybe I'll install msvs2005 next.

            Comment


            • #7
              Btw, where to download FTE source code? The sourceforge said that all files there are outdated.

              Comment


              • #8
                if you have cygwin installed, with svn+mingw(including gcc, binutils, zlib, etc)+make packages, then you should be able to use the following commands from a cygwin bash prompt:
                svn checkout https://svn.code.sf.net/p/fteqw/code/trunk fteqw-code
                cd fteqw-code/engine
                make FTE_TARGET=win32 makelibs #this will actually download+compile zlib+libpng+libjpeg+libvorbis as static libraries. only needs to be done once, and can be skipped if you already have usable versions of everything from cygwin/whatever.
                make FTE_TARGET=win32 gl-rel #builds the gl version, as a release build.
                release/fteglqw -basedir c:\games\quake #runs the engine without bothering to copy it anywhere.

                https://sourceforge.net/p/fteqw/code/HEAD/tarball if you want a snapshot.

                there's some engine/dotnet20XX subdir that should contain a few msvc project files. probably you won't get them to work without lots of tweaks though - stuff like the android/emscripten targets will likely have system paths throughout them, while the native msvc2005 project probably has too many workarounds for stuff that doesn't come with msvc2005. the other solution files are not really maintained (the msvc6 one was the other one that was most recently updated, so you might find that updating the engine/ftequake/ftequake.dsw file+project to be the most successful, if you get linker errors then state them and I can figure out which files need to be added).
                You're unlikely to find FTE any easier to compile than DP though, such is the problem with windows and external dependencies.

                If you're in linux or cygwin then there's a build_setup.sh script that can be used to install compilers for the android and emscripten ports (the build_wip.sh script will rebuild EVERYTHING, and can take a while).


                msys is like a poor-man's cygwin, essentially just a bash environment that you can use for (g)make. unfortunately its not identical (and thus some things only work with msys and some only with cygwin), but msys is probably used more often nowadays. personally I like cygwin's more extensive other stuff, not just for its ability to invoke gcc.
                Some Game Thing

                Comment


                • #9
                  In FTE, where is the code for collision of player with walls? FTE doesn't use third party libraries for physics?

                  Comment


                  • #10
                    Kind of interesting thing, in map e1m1, above the entrance here:



                    you can get "stuck" on this edge:



                    This happens in darkplaces and quakespasm, but not in fteqw.

                    Comment


                    • #11
                      Hello vibok,

                      Then you now know on which engine you should focus

                      Happy coding,
                      Seven

                      Comment


                      • #12
                        Originally posted by vibok View Post
                        In FTE, where is the code for collision of player with walls?
                        You need to be able to do a text search of the code you are supposedly going to work with.

                        A guy who cannot do the simple task of doing a text search ...
                        And thinks he is going to code.

                        Is like a guy who can't read, thinking he is going to write a book.

                        And the fact you are trying to compile from the command line, suggests you have never coded in a real language before. There's nothing wrong with compiling from a command line, but that is what a user does --- not what a developer would do.

                        An actual developer working with C or C++ is going to use an IDE like Visual Studio (which is free by the way -- It also can also do a text search.)

                        By extension, this implies you have never worked with C or C++. Low-level languages are unforgiving and very difficult. Experienced developers who are pretty decent in more forgiving language like Java or such, often crash on the rocks in a language like C. C is rather code to the machine and does not work on your terms, you work on it's terms.

                        Then you have collision code. Collision involves 3D math (dot products, point/plane calculations, matrix calculations) and then all kinds of decision points as to how the movement has to react/rollback/block/slide/drop.
                        Quakeone.com - 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 ...

                        Comment


                        • #13
                          @Baker

                          Yeah, I could search for "colli" i guess. Wouldn't answer the question, but narrow the search field at least.

                          Visual Studio wouldn't install here, always some kind of errors, I don't know why it happens.

                          How exactly having an IDE will help me? I'm curious what features you use more often when you are trying to understand an infamiliar code.

                          Comment


                          • #14
                            Trying to compile ODE. Everything moved quite smoothly actually, all the pre-configure tasks and configure itself finished successfully.

                            There is one error in file ode/demo/demo_collision.cpp

                            https://bitbucket.org/odedevs/ode/sr...lision.cpp-621


                            demo_collision.cpp: In function 'int test_ray_and_box()':
                            demo_collision.cpp:621:5: internal compiler error: Segmentation fault
                            int test_ray_and_box()



                            I'll try to look in configure options and maybe disable all demo compilation, I'm sure it's not necessary. And maybe annoy people on ode and msys forums. I wonder where msys forums are.


                            I'm slightly annoyed that darkplaces uses third party library instead of just having it's own physics code. It's a bit more painful to compile. I'm sure that original quake did all physics by itself.

                            Comment


                            • #15
                              It seems to work. Did ./configure --disable-demos instead of just ./configure, this line is also one of the first lines in ./configure --help. I may return to compiling darkplaces now.

                              This went surprisingly smoothly, I'm really happy with the result.

                              Comment

                              Working...
                              X