No announcement yet.

QC: What do I need to run reacc without crashes?

  • Filter
  • Time
  • Show
Clear All
new posts

  • QC: What do I need to run reacc without crashes?

    I tried even to use MS-DOS 6.22 in VMware Workstation 9.0 (1 processor, 1 core, 16 or 64 mb of RAM) and it's still not working (runtime error 200 at 0002:0095).
    (even the original ID-Software's doom2.exe from 1994 runs good on windows 98 virtual machine!!!) What computer or what configuration does REACC need, I wonder?
    I also tried to use fteqcc with command-line arguments -facc -fcaseinsens -flax
    but there are many errors, below (there is mustn't be any errors, the source code is not changed!):

    E:\QuakeC_laboratory\neh_devkit>fteqcc.exe -facc -fcaseinsens -flax
    Compiling without case insensativity
    outputfile: progs.dat
    compiling !DATASYS.QC
    compiling !GLOBALS.QC
    compiling !OBJDATA.QC
    compiling AI.QC
    in function movetarget_f (line 13)
    AI.QC:15: error: Unknown value "objerror".
    AI.QC:18: error: Unknown value "setsize".
    AI.QC:20: error: Unknown value "ex_movetarget".
    AI.QC:20: warning: type mismatch for = (pointer and __variant)
    AI.QC:24: error: Unknown value "x_movetarget".
    AI.QC:24: warning: type mismatch for = (pointer and __variant)
    AI.QC:27: error: Unknown value "t_movetarget".
    AI.QC:27: warning: type mismatch for = (pointer and __variant)
    in function ex_movetarget (line 51)
    AI.QC:63: error: Unknown value "find".
    AI.QC:63: warning: type mismatch for = (pointer and __variant)
    AI.QC:63: warning: type mismatch for = (pointer and __variant)
    AI.QC:64: error: Unknown value "vectoyaw".
    AI.QC:64: warning: type mismatch for = (pointer and __variant)
    AI.QC:65: warning: type mismatch for = (pointer and __variant)
    in function t_movetarget (line 84)
    AI.QC:97: error: not a function
    !DATASYS.QC:190:    sound  is defined here
    at global scope
    AI.QC:124: error: "{" - not a name
    AI.QC:145: error: "{" - not a name
    AI.QC:163: error: "{" - not a name
    ************ ERROR ************
    Errors have occured
    Error in AI.QC on line 163
    It seems that it's impossible to compile Nehahra QC-Pascal on my computer from 2007 using its compiler reacc.

    Maybe anyone here is able to compile Nehahra QC?
    Last edited by AlexQuaker; 03-01-2014, 12:36 AM.

  • #2
    Hello AlexQuaker,

    I also tried to compile the Nehahra source, but had similar errors.
    Also Spike said some days ago, that the reacc compiler is crashing, so I guess there is not much you can do about it...

    The readme.txt mentiones the name of the author of the compilers.
    But that was 2002... so contact might get difficult.

    Anyway, hopefully some brave user will join and send a fix one day...

    Best of luck,


    • #3
      I had a hack at FTEQCC earlier.
      Index of /moodles/fteqcc
      use these arguments: -facc -fcaseinsens -flax -fautoproto

      you'll need to make 3 fixes (fteqcc is more fussy than reacc).
      1: remove the sound field (not the sound builtin). reacc might not notice that there's both defined, but fteqcc does.
      2: kguard_shoot is used as a think function via an op_state thingie. fteqcc bitches about it not matching the syntax expected of a think function. just find the function and strip away the arguments. they're not used anyway. yay copypasta bugs.
      3: Sub_NormalizeAngles is completely fucked. SUB_NormalizeAngles is fine. Yes, two functions with names that differ only in case within a case-insensitive language. reacc is evil. handilly they're apparently meant to do the same thing by the looks of it, so kill the buggy one and let the one stolen from hipnotic do all the work.

      It should work after those 3 deletions...

      You'll still have a boatload of warnings though, mostly about functions returning floats when they're stated to return void, and bits of code using the resulting voids in various formulas in a really buggy way... This is what the -flax argument is about. Its an evil one.
      If you're actually going to do anything significant with nehahra's code, please consider fixing the warnings because they're really quite spammy...

      additionally, the gui should also understand the -facc argument again, so will no longer throw a fit and demand to know where your progs.src is - when reacc never used one.
      Some Game Thing


      • #4
        Hurray! I got it! But... Nehahra exe makefile problem.

        Game works good with my compiled progs.dat , but I tested only 2 levels and on the 3rd level!
        Thank you, Spike and Seven, very much, i'm very grateful to you!
        In addition, you also ought to delete duplicate bigger function "coffee_move" in NEHAH.QC and leave one smaller in file ai4.qc, or the game will throw a program error about NULL coffee_move function in game near the boiler in NEH1M2.

        I should recompile nehahra exe, too, because it displays only 1 byte of ammo and armor.

        There is only 1 sources available that Spirit found for me (thanks him): - but there is no VC++ 6.0 project as I expected, only makefile.

        What's wrong with this makefile?
        GNU Make.exe version 3.81 says that there is separator missing on the first line.
        Even if I delete first 3 lines, there is an error about multiple target patterns.
        Here it is, from the beginning to the end, and in original condition.

        !include <win32.mak>
        #!include <winopt.mak>
        LIBS=dxguid.lib mgllt.lib winmm.lib wsock32.lib opengl32.lib glu32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comctl32.lib libc.lib zlib.lib fmod/fmod.lib
        NCFLAGS=/nologo /W2 /Ob2gi /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "GLQUAKE" /c /I "include" /MT /G5As
        PORTABLE_OBJS= \
         console.obj \
         keys.obj \
         cl_demo.obj \
         cl_input.obj \
         cl_main.obj \
         cl_parse.obj \
         cl_tent.obj \
         pr_cmds.obj \
         pr_edict.obj \
         pr_exec.obj \
         sv_main.obj \
         sv_move.obj \
         sv_phys.obj \
         sv_user.obj \
         snd_mem.obj \
         snd_mix.obj \
         snd_dma.obj \
         host.obj \
         host_cmd.obj \
         menu.obj \
         net_main.obj \
         net_vcr.obj \
         r_vars.obj \
         r_part.obj \
         chase.obj \
         cmd.obj \
         common.obj \
         crc.obj \
         cvar.obj \
         d_vars.obj \
         mathlib.obj \
         sbar.obj \
         view.obj \
         wad.obj \
         world.obj \
        WIN_OBJS = \
         neh.obj \
         snd_win.obj \
         net_loop.obj \
         net_win.obj \
         net_dgrm.obj \
         net_wins.obj \
         net_wipx.obj \
         net_wipx.obj \
         sys_win.obj \
         in_win.obj \
         cd_win.obj \
         conproc.obj \
         gl_rmain.obj \
         gl_rmisc.obj \
         gl_vidnt.obj \
         gl_draw.obj \
         gl_mesh.obj \
         gl_model.obj \
         gl_refrag.obj \
         gl_rlight.obj \
         gl_warp.obj \
         gl_screen.obj \
         gl_rsurf.obj \
         snd_mixa.obj \
         math.obj \
         worlda.obj \
        DZIP_OBJS = \
         dzipcrc.obj \
         dzipdecode.obj \
         dzipun.obj \
        nehahra.exe:     $(OBJS)
                $(link) /nologo /subsystem:windows /incremental:no /machine:I386 -out:nehahra.exe *.obj $(LIBS) /nodefaultlib:libc
            $(cc) $(NCFLAGS) -DGLQUAKE $*.c
        I hope You will help me to fix this makefile or find another download link if it exists.
        (May be I needed the proper make compiler...)
        P.S. The only mod (of 32 in my Quake folder) that I could not decompile even if using meqcc - is TAEDEMO (this alien earth). There is no new source for progs.dat sized 814 Kbytes, the sources in the folder are old and I got progs.dat that has size only 457 Kbytes.
        Last edited by AlexQuaker; 03-01-2014, 11:01 PM.


        • #5
          Thank you very much Spike for 'hacking' your compiler to work with Nehahra source.
          That is very much appreciated.

          AlexQuaker, now that you edited the source to be compatible with fteqcc, it would be nice if you could upload the 'clean' source. So that we have a new base to work on.

          Thank you to both of you.


          • #6
            alex, that makefile looks like its written for nmake, which is microsoft's version of make.
            it should be possible to make a 'makefile project' in msvc that can use it, you'll probably need to specify the nmake commandline though.
            or just make your own project with all the libs+defines specified.
            Some Game Thing


            • #7
              Thank you, Spike.
              Spike, I did as You say, but I still didn't find an appropriate version of FMOD libraries and headers and get a whole bunch of errors about undeclared FMOD identifiers (FMOD Studio and FMOD Ex are inappropriate). I think, Nehahra used an evil old version of FMOD which had these identifiers declared. But it's hard to find the old version of FMOD, FMOD | FMOD Studio – Digital Audio Workstation for games has only new versions. To me, Darkplaces is better for me to play Nehahra in spite of Darkplaces does not support oldsky and water_ripple features (commands) in Nehahra.

              Seven, here is my edited sources of Nehahra, I've just uploaded it:
              Last edited by AlexQuaker; 03-03-2014, 02:38 AM.


              • #8
                Originally posted by AlexQuaker View Post
                [...] To me, Darkplaces is better for me to play Nehahra in spite of Darkplaces does not support oldsky and water_ripple features (commands) in Nehahra.
                Hello AlexQuaker,
                I also use DarkPlaces for Nehahra, knowing of the no longer supported features.
                There are several more though, but none of them is a real gamebreaker.
                Regarding your 2 mentioned ones:
                You can make use of the more recent DP features to compensate the no longer supported ones. Like support for replacement skies (not skyboxes) or the "water ripples" by Urre, known as "DP Pretty water". Urre´s last version can be found here. I am a big fan of it and made small edits over the time to also keep it compatible with new DP builds here. It uses DP´s r_water family shaders, is a little performance hungry but looks nice. There is a small video clip that shows it (to get a first impression), so you do not need to download and test it yourself.

                Originally posted by AlexQuaker View Post
                Seven, here is my edited sources of Nehahra, I've just uploaded it:
                Thank you very much AlexQuaker !
                I also received your pm. If you made some changes according gameplay, it would maybe be better if you posted the source prior to your changes. To keep the new source as 'original' as possible so to speak

                Thank you too Spike to make this all possible !


                • #9
                  Yes, I compiled Nehahra.exe with grief in half and there was 1 unresolved external (_FMUSIC_LoadSongMemory) in fmod.lib (library from qrack 1.90 source) so I had to comment this line in neh.c:

                  // mod = FMUSIC_LoadSongMemory(buffer, com_filesize);

                  After I compiled it, Nehahra.exe crashed with unknown unhandled exception, even menu doesn't appear.
                  This basically means that nehahra 2.54 source is bad. Maybe anyone has newer source of Nehahra.exe (3.0 ? If not, i will still use Darkplaces.
                  Last edited by AlexQuaker; 03-04-2014, 12:55 PM.


                  • #10
                    Originally posted by AlexQuaker View Post
                    Seven, here is my edited sources of Nehahra, I've just uploaded it:

                    vegetous, you do not have permission to access this page. This could be due to one of several reasons:

                    Your user account may not have sufficient privileges to access this page. Are you trying to edit someone else's post, access administrative features or some other privileged system?
                    If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation.
                    Fórum QuakeBrasil

                    Lots of Quake related stuff


                    • #11
                      Nehahra QC source download link here.

                      Vegetous, I have uploaded it on Quaketastic.
                      The file on Quakeone haven't been approved yet and isn't yet available for download.


                      • #12
                        Hello AlexQuaker,

                        I am not sure if it will ever gets "approved". That is a forum feature which is new to me...
                        That was one of the reasons for my pm.
                        Maybe it is better to post your quaketastic link (which you now did)


                        • #13
                          Much obliged!
                          Fórum QuakeBrasil

                          Lots of Quake related stuff


                          • #14
                            fmod is not a system/compiler component and thus cannot be used in a GPL program.
                            Distributing such a binary is a gpl violation.

                            fmod doesn't understand pak files. nor gamedirs.
                            Some Game Thing


                            • #15
                              REACC will run properly via vDos. If vDos throws a message "vDos should not run elevated", then add the line admin=on to config.txt and everything will run ok. This topic may be closed.