Anyone want to try to make a prBoom for IRIX mipspro port?
#1
Anyone want to try to make a prBoom for IRIX mipspro port?
so I've been playing with prboom/prboom-plus - I can get both to compile using gcc and MIPSpro, but the MIPSpro build doesn't launch - both prboom and prboom-plus MIPSpro builds have the same error message when I try to launch "R_TextureNumForName: AV3 not found" 

prboom 2.5.0 :

Code:
-bash-4.3$ src/prboom

prboom v2.5.0 (http://prboom.sourceforge.net/)
M_LoadDefaults: Load system defaults.
default file: /usr/people/develop/.prboom/prboom.cfg
found /usr/local/share/games/doom/doom2.wad
IWAD found: /usr/local/share/games/doom/doom2.wad
PrBoom (built Mar  5 2019), playing: DOOM 2: Hell on Earth
PrBoom is released under the GNU General Public license v2.0.
You are welcome to redistribute it under certain conditions.
It comes with ABSOLUTELY NO WARRANTY. See the file COPYING for details.
V_Init: allocate screens.
Failed to autoload prboom.wad
D_InitNetGame: Checking for network game.
W_Init: Init WADfiles.
adding /usr/local/share/games/doom/doom2.wad
W_InitCache

W_GetNumForName: CRBRICK not found
-bash-4.3$

-bash-4.3$ src/prboom

prboom v2.5.0 (http://prboom.sourceforge.net/)
M_LoadDefaults: Load system defaults.
default file: /usr/people/develop/.prboom/prboom.cfg
found /usr/local/share/games/doom/doom.wad
IWAD found: /usr/local/share/games/doom/doom.wad
PrBoom (built Mar  5 2019), playing: The Ultimate DOOM
PrBoom is released under the GNU General Public license v2.0.
You are welcome to redistribute it under certain conditions.
It comes with ABSOLUTELY NO WARRANTY. See the file COPYING for details.
V_Init: allocate screens.
found /usr/local/share/games/doom/prboom.wad
D_InitNetGame: Checking for network game.
W_Init: Init WADfiles.
adding /usr/local/share/games/doom/doom.wad
adding /usr/local/share/games/doom/prboom.wad
W_InitCache

M_Init: Init miscellaneous info.
R_Init: Init DOOM refresh daemon -
R_LoadTrigTables: Endianness...corrected.
R_InitData: Textures Flats Sprites Tranmap build [........]
R_Init: R_InitPlanes R_InitLightTables R_InitSkyMap R_InitTranslationsTables R_InitPatches
P_Init: Init Playloop state.
R_TextureNumForName: AV3 not found
-bash-4.3$


I was able to compile prboom 2.5.0 with no issues using nekowares gcc 4.7.1, but I found it crashes a lot, I found it to be basically unplayable - so I took a closer look at prboom-plus 2.5.1.4. 

It seems to me that prboom-plus 2.5.1.4 run very well and super fast on my o2.

 Here are my notes on building it using nekowares gcc 4.7.1 (sorry I'll learn how to make a patch soon!):

Code:
#############
# gcc 4.7.1
#############
# note - add :-v" to CFLAGS to see internal command lines

export CC=/usr/nekoware/gcc-4.7/bin/gcc
export CXX=/usr/nekoware/gcc-4.7/bin/g++
export CFLAGS="-std=gnu99 -g -O2 -mips4"
export CXXFLAGS="-g -O2 -mips4"
export CPPFLAGS="-I/usr/local/include -I/usr/nekoware/include -I/usr/nekoware/include/SDL"
export LDFLAGS=" -L/usr/local/lib -L/usr/local/lib32 -L/usr/nekoware/lib -lSDL"
export AR=ar
export ARFLAGS=cr
export AR_FLAGS=cr
export MAKE=gmake
export PKG_CONFIG_PATH=/usr/nekoware/lib/pkgconfig
export PKG_CONFIG_LIBDIR=/usr/nekoware/lib
export DOOMWADDIR=/usr/local/share/games/doom

./configure --prefix=/usr/local
gmake

 GEN      prboom-plus.wad
Cannot open sprites/pls2e0.ppm
gmake[2]: *** [Makefile:950: prboom-plus.wad] Error 1
gmake[2]: Leaving directory '/usr/people/develop/dev/prboom/prboom-plus-2.5.1.4_gcc4/data'
gmake[1]: *** [Makefile:447: all-recursive] Error 1
gmake[1]: Leaving directory '/usr/people/develop/dev/prboom/prboom-plus-2.5.1.4_gcc4'
gmake: *** [Makefile:365: all] Error 2
-bash-4.3$

> forgot what I did, copied over prboom-plus.wad to data dir
> if its still failing after putting in data/prboom-plus.wad
> edit data/Makfile ~401, remove ";" after "$@"
am__v_GEN_0 = @echo "  GEN     " $@

In file included from am_map.c:42:0:
gl_opengl.h:120:1: error: unknown type name 'PFNGLACTIVETEXTUREARBPROC'
gl_opengl.h:121:1: error: unknown type name 'PFNGLCLIENTACTIVETEXTUREARBPROC'
gl_opengl.h:122:1: error: unknown type name 'PFNGLMULTITEXCOORD2FARBPROC'
gl_opengl.h:123:1: error: unknown type name 'PFNGLMULTITEXCOORD2FVARBPROC'
gl_opengl.h:125:1: error: unknown type name 'PFNGLBLENDCOLOREXTPROC'
gl_opengl.h:128:1: error: unknown type name 'PFNGLCOMPRESSEDTEXIMAGE2DARBPROC'
am_map.c: In function 'AM_setFrameVariables':
am_map.c:2241:17: warning: cast from function call of type 'double' to non-matching type 'int' [-Wbad-function-cast]
gmake[3]: *** [Makefile:665: am_map.o] Error 1
gmake[3]: Leaving directory '/usr/people/develop/dev/prboom/prboom-plus-2.5.1.4_gcc4/src'
gmake[2]: *** [Makefile:685: all-recursive] Error 1
gmake[2]: Leaving directory '/usr/people/develop/dev/prboom/prboom-plus-2.5.1.4_gcc4/src'
gmake[1]: *** [Makefile:447: all-recursive] Error 1
gmake[1]: Leaving directory '/usr/people/develop/dev/prboom/prboom-plus-2.5.1.4_gcc4'
gmake: *** [Makefile:365: all] Error 2
-bash-4.3$

> add these to top-ish of src/gl_opengl.h after #defines

typedef void (APIENTRYP PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
typedef void (APIENTRYP PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
typedef void (APIENTRYP PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);

> success!  works - works much better than prboom

-bash-4.3$ cd /usr/people/develop/dev/prboom/prboom-plus-2.5.1.4_gcc4
-bash-4.3$ ldd src/prboom-plus
       libSDL-1.2.so.1  =>      /usr/nekoware/lib/libSDL-1.2.so.1      
       libSDL_net-1.2.so.1  =>  /usr/nekoware/lib/libSDL_net-1.2.so.1  
       libpthread.so  =>        /usr/lib32/libpthread.so      
       libGL.so  =>     /usr/lib32/libGL.so    
       libGLU.so  =>    /usr/lib32/libGLU.so  
       libpng16.so.16  =>       /usr/local/lib/libpng16.so.16  
       libSDL_image-1.2.so.1  =>        /usr/nekoware/lib/libSDL_image-1.2.so.1        
       libvorbisfile.so.4  =>   /usr/nekoware/lib/libvorbisfile.so.4  
       libdumb-0.9.3.so  =>     /usr/local/lib/libdumb-0.9.3.so        
       libmad.so.1  =>  /usr/nekoware/lib/libmad.so.1  
       libSDL_mixer-1.2.so.1  =>        /usr/nekoware/lib/libSDL_mixer-1.2.so.1        
       libm.so  =>      /usr/lib32/libm.so    
       libc.so.1  =>    /usr/lib32/libc.so.1  
       libiconv.so.3  =>        /usr/nekoware/lib/libiconv.so.3        
       libaudio.so  =>  /usr/lib32/libaudio.so
       libX11.so.1  =>  /usr/lib32/libX11.so.1
       libXext.so  =>   /usr/lib32/libXext.so  
       libGLcore.so  =>         /usr/lib32/libGLcore.so        
       libXsgivc.so  =>         /usr/lib32/libXsgivc.so        
       libC.so.2  =>    /usr/lib32/libC.so.2  
       libz.so.1  =>    /usr/nekoware/lib/libz.so.1    
       libpng.so.3  =>  /usr/nekoware/lib/libpng.so.3  
       libjpeg.so  =>   /usr/nekoware/lib/libjpeg.so  
       libtiff.so.3  =>         /usr/nekoware/lib/libtiff.so.3
       libz.so  =>      /usr/nekoware/lib/libz.so      
       libvorbis.so.1  =>       /usr/nekoware/lib/libvorbis.so.1      
       libogg.so.1  =>  /usr/nekoware/lib/libogg.so.1  
       libvice.so  =>   /usr/lib32/libvice.so  
       libdmedia.so  =>         /usr/lib32/libdmedia.so        
       libz.so  =>      /usr/nekoware/lib/libz.so      
       libfastm.so  =>  /usr/lib32/libfastm.so
       libjbig.so.1.0  =>       /usr/nekoware/lib/libjbig.so.1.0      
       libz.so  =>      /usr/nekoware/lib/libz.so      
       libmutex.so  =>  /usr/lib32/libmutex.so
-bash-4.3$

I really can't remember what I did to get the prboom-plus.wad to generate, so I attached it
get the source here https://sourceforge.net/projects/prboom-...s/2.5.1.4/

the doom1.wad shareware file that comes with IRIX works fine, just do a 
Code:
cp /usr/demos/General_Demos/doom/doom1.wad /usr/local/share/games/doom/

make sure the $DOOMWADDIR is set to "/usr/local/share/games/doom"

just note I think it only does one wad file at a time from what I could figure out (apart from the prboom-plus.wad), so if you want to play doom2.wad, remove doom.wad or doom1.wad and put in doom2.wad.  I suppose all of this could be controlled by changing the $DOOMWADDIR variable, but whatever

I'm still trying to figure out how to build a static binary, so maybe someone with a better skillset can do that (turns out I have not been building any static libs this entire time also)

you can launch it fullscreen or windowed, I like using this commandline:

Code:
prboom-plus -window -geom 800x600



BTW here are my build notes for the non-working prboom-plus MIPSpro build:

Code:
#############
# MIPSpro
#############
# note - add "-show" in CFLAGS to see internal command lines

export CC=cc
export CXX=CC
export F77=f77
export FC=f90
export CFLAGS="-c99 -g0 -O2 -mips4"
export CXXFLAGS="-g0 -woff all -O2 -mips4"
export CPPFLAGS="-I/usr/local/include -I/usr/nekoware/include -I/usr/nekoware/include/SDL -I/usr/freeware/include"
export LDFLAGS="-mips4 -L/usr/local/lib -L/usr/local/lib32 -L/usr/nekoware/lib -L/usr/freeware/lib32 -L/usr/lib32"
export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib32:/usr/nekoware/lib:/usr/freeware/lib32
export LD_LIBRARYN32_PATH=/usr/local/lib:/usr/local/lib32:/usr/nekoware/lib:/usr/freeware/lib32
#export PKG_CONFIG_PATH=/usr/nekoware/lib/pkgconfig
#export PKG_CONFIG_LIBDIR=/usr/nekoware/lib
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export PKG_CONFIG_LIBDIR=/usr/local/lib
#GNOME2_DIR=/usr/nekoware
# set libtool to verbose V=1
#export V=1
export GNUMAKE=gmake
export MAKE=gmake
export AR="CC -ar -o"
export ARFLAGS=""
export AR_FLAGS=""
export AS="as -n32"
export PERL=/usr/local/bin/perl
export FREETYPE_CFLAGS="-I/usr/local/include/freetype2"
export FREETYPE_LIBS="-L/usr/local/lib -lfreetype"
export FONTCONFIG_PATH=/usr/local/etc/fonts/conf.d
export FONTCONFIG_FILE=/usr/local/etc/fonts/fonts.conf
export DOOMWADDIR=/usr/local/share/games/doom

./configure --prefix=/usr/local
gmake


 GEN      prboom-plus.wad
Cannot open sprites/pls2e0.ppm
gmake[2]: *** [Makefile:950: prboom-plus.wad] Error 1
gmake[2]: Leaving directory '/usr/people/develop/dev/prboom/prboom-plus-2.5.1.4_cc/data'
gmake[1]: *** [Makefile:447: all-recursive] Error 1
gmake[1]: Leaving directory '/usr/people/develop/dev/prboom/prboom-plus-2.5.1.4_cc'
gmake: *** [Makefile:365: all] Error 2
-bash-4.3$

> forgot what I did, copied over prboom-plus.wad to data dir
> if its still failing after putting in data/prboom-plus.wad
> edit data/Makfile ~401, remove ";" after "$@"
am__v_GEN_0 = @echo "  GEN     " $@



 CC       am_map.o
cc-1020 cc: ERROR File = gl_opengl.h, Line = 117
 The identifier "PFNGLACTIVETEXTUREARBPROC" is undefined.

 extern PFNGLACTIVETEXTUREARBPROC           GLEXT_glActiveTextureARB;
        ^

cc-1020 cc: ERROR File = gl_opengl.h, Line = 118
 The identifier "PFNGLCLIENTACTIVETEXTUREARBPROC" is undefined.

 extern PFNGLCLIENTACTIVETEXTUREARBPROC     GLEXT_glClientActiveTextureARB;
        ^

cc-1020 cc: ERROR File = gl_opengl.h, Line = 119
 The identifier "PFNGLMULTITEXCOORD2FARBPROC" is undefined.

 extern PFNGLMULTITEXCOORD2FARBPROC         GLEXT_glMultiTexCoord2fARB;
        ^

cc-1020 cc: ERROR File = gl_opengl.h, Line = 120
 The identifier "PFNGLMULTITEXCOORD2FVARBPROC" is undefined.

 extern PFNGLMULTITEXCOORD2FVARBPROC        GLEXT_glMultiTexCoord2fvARB;
        ^

cc-1020 cc: ERROR File = gl_opengl.h, Line = 122
 The identifier "PFNGLBLENDCOLOREXTPROC" is undefined.

 extern PFNGLBLENDCOLOREXTPROC              GLEXT_glBlendColorEXT;
        ^

cc-1020 cc: ERROR File = gl_opengl.h, Line = 125
 The identifier "PFNGLCOMPRESSEDTEXIMAGE2DARBPROC" is undefined.

 extern PFNGLCOMPRESSEDTEXIMAGE2DARBPROC    GLEXT_glCompressedTexImage2DARB;
        ^

> copy/paste the missing entriess from SDL/SDL_opengl.h to top-ish of gl_opengl.h after #defines
typedef void (APIENTRYP PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
typedef void (APIENTRYP PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
typedef void (APIENTRYP PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);



cc-1094 cc: ERROR File = z_bmalloc.c, Line = 46
  The constant array dimension size is not a positive integral type.

    byte               used[0];
                            ^

1 error detected in the compilation of "z_bmalloc.c".
gmake[3]: *** [Makefile:667: z_bmalloc.o] Error 2
gmake[3]: Leaving directory '/usr/people/develop/dev/prboom/prboom-plus-2.5.1.4_cc/src'
gmake[2]: *** [Makefile:685: all-recursive] Error 1
gmake[2]: Leaving directory '/usr/people/develop/dev/prboom/prboom-plus-2.5.1.4_cc/src'
gmake[1]: *** [Makefile:447: all-recursive] Error 1
gmake[1]: Leaving directory '/usr/people/develop/dev/prboom/prboom-plus-2.5.1.4_cc'
gmake: *** [Makefile:365: all] Error 2
-bash-4.3$ 

> gcc variable length array, edit src/z_bmalloc.c and remove the "0", that makes it c99 compliant

  byte               used[];


> success!

gmake install-strip



-bash-4.3$ /usr/local/games/prboom-plus
M_LoadDefaults: Load system defaults.
default file: /usr/people/develop/.prboom-plus/prboom-plus.cfg
found /usr/local/share/games/doom/prboom-plus.wad

prboom-plus v2.5.1.0 (http://prboom-plus.sourceforge.net/)
found doom.wad
IWAD found: doom.wad
PrBoom-Plus (built Mar  7 2019 13:00:47), playing: The Ultimate DOOM
PrBoom-Plus is released under the GNU General Public license v2.0.
You are welcome to redistribute it under certain conditions.
It comes with ABSOLUTELY NO WARRANTY. See the file COPYING for details.
V_Init: allocate screens.
V_InitMode: using 8 bit video mode
I_CalculateRes: trying to optimize screen pitch
test case for pitch=640 is processed 2246 times for 100 msec
test case for pitch=672 is processed 4167 times for 100 msec
optimized screen pitch is 672
I_InitScreenResolution: Using resolution 640x480
found /usr/local/share/games/doom/prboom-plus.wad
D_InitNetGame: Checking for network game.
W_Init: Init WADfiles.
adding doom.wad
adding /usr/local/share/games/doom/prboom-plus.wad
W_InitCache

M_Init: Init miscellaneous info.
R_Init: Init DOOM refresh daemon -
R_LoadTrigTables: Endianness...corrected.
R_InitData: Textures Flats Sprites Tranmap build [........]
R_Init: R_InitPlanes R_InitLightTables R_InitSkyMap R_InitTranslationsTables R_InitPatches
P_Init: Init Playloop state.
R_TextureNumForName: AV3 not found
-bash-4.3$


Attached Files Thumbnail(s)
   
.gz prboom-plus.wad.gz Size: 129.8 KB  Downloads: 30
gijoe77
Tezro

Posts: 603
Threads: 33
Joined: Jun 2018
Find Reply
03-09-2019, 08:59 PM


Messages In This Thread
Anyone want to try to make a prBoom for IRIX mipspro port? - by gijoe77 - 03-09-2019, 08:59 PM
RE: Anyone want to try to make a prBoom for IRIX mipspro port? - by Axatax - 03-10-2019, 03:08 AM

Forum Jump:


Users browsing this thread: 1 Guest(s)