Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
160 user(s) are online (124 user(s) are browsing Forums)

Members: 0
Guests: 160

more...

Headlines

 
  Register To Post  

porting of Quakespasm
Quite a regular
Quite a regular


See User information
As I understand it, this is a source port with extended map support, which isn't yet available on OS4. This looks like it wouldn't be too difficult, just that I ran into stuff I haven't had to deal with before but thought it's obvious for somebody else. I had to disable some multitexturing modes to get it to compile fully. Only linking left:


gcc strlcat.o strlcpy.o gl_refrag.o gl_rlight.o gl_rmain.o gl_fog.o gl_rmisc.o r_part.o r_world.o gl_screen.o gl_sky.o gl_warp.o gl_vidsdl.o gl_draw.o image.o gl_texmgr.o gl_mesh.o r_sprite.o r_alias.o r_brush.o gl_model.o in_sdl.o snd_dma.o snd_mix.o snd_mem.o bgmusic.o snd_codec.o snd_wave.o snd_vorbis.o snd_mp3.o snd_sdl.o cd_sdl.o net_bsd.o net_udp.o net_dgrm.o net_loop.o net_main.o chase.o cl_demo.o cl_input.o cl_main.o cl_parse.o cl_tent.o console.o keys.o menu.o sbar.o view.o wad.o cmd.o common.o crc.o cvar.o cfgfile.o host.o host_cmd.o mathlib.o pr_cmds.o pr_edict.o pr_exec.o sv_main.o sv_move.o sv_phys.o sv_user.o world.o conback.o zone.o pl_linux.o sys_sdl_unix.o main_sdl.o -lm -lGL -lauto -ltheora -logg -lmad -L/SDK/local/newlib/lib -use-dynld -lSDL -lauto -lm -lSDL_mixer -lsmpeg -lm -lvorbisfile -lvorbis -logg -lmikmod -lstdc++ -o quakespasm
r_world.o: In function `R_DrawTextureChains_Multitexture':
r_world.c:(.text+0xc18): undefined reference to `GL_MTexCoord2fFunc'
r_world.c:(.text+0xc2c): undefined reference to `GL_MTexCoord2fFunc'
gl_sky.o: In function `Sky_DrawFaceQuad':
gl_sky.c:(.text+0x1eb8): undefined reference to `GL_MTexCoord2fFunc'
gl_sky.c:(.text+0x1ee0): undefined reference to `GL_MTexCoord2fFunc'
gl_texmgr.o: In function `GL_SelectTexture':
gl_texmgr.c:(.text+0x62c): undefined reference to `GL_SelectTextureFunc'
r_alias.o: In function `GL_DrawAliasFrame':
r_alias.c:(.text+0xa60): undefined reference to `GL_MTexCoord2fFunc'
r_alias.c:(.text+0xa74): undefined reference to `GL_MTexCoord2fFunc'
r_brush.o: In function `R_DrawSequentialPoly':
r_brush.c:(.text+0x2994): undefined reference to `GL_MTexCoord2fFunc'
r_brush.c:(.text+0x29a8): undefined reference to `GL_MTexCoord2fFunc'
r_brush.c:(.text+0x2b70): undefined reference to `GL_MTexCoord2fFunc'
r_brush.o:r_brush.c:(.text+0x2b84): more undefined references to `GL_MTexCoord2fFunc' follow
net_udp.o: In function `UDP_Write':
net_udp.c:(.text+0x470): undefined reference to `Errno'
net_udp.o: In function `UDP_Broadcast':
net_udp.c:(.text+0x568): undefined reference to `Errno'
net_udp.o: In function `UDP_Read':
net_udp.c:(.text+0x5e8): undefined reference to `Errno'
net_udp.o: In function `UDP_CheckNewConnections':
net_udp.c:(.text+0x6c0): undefined reference to `Errno'
net_udp.o: In function `UDP_CloseSocket':
net_udp.c:(.text+0x708): undefined reference to `CloseSocket'
net_udp.o: In function `UDP_OpenSocket':
net_udp.c:(.text+0x768): undefined reference to `IoctlSocket'
net_udp.c:(.text+0x7ac): undefined reference to `Errno'
net_udp.c:(.text+0x7f0): undefined reference to `Errno'
net_udp.o: In function `UDP_Init':
net_udp.c:(.text+0x944): undefined reference to `Errno'
gmake: *** [quakespasm] Error 1

Go to top
Re: porting of Quakespasm
Home away from home
Home away from home


See User information
@Thematic

CloseSocket(), IoctlSocket() and Errno() its bsdsocket, just #include <proto/socket.h>, but there you should be carefull about that

As for GL missed funcs, if they undefined, then 99% our minigl not have them at all, and need to rewrite them on analogs, or write one from scratct and implent to minigl.

Back in past when something was missing in minigl, i ask Hans and he add it, but now i think he busy with all the other stuff to worry about minigl (which already abandoned).

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: porting of Quakespasm
Just popping in
Just popping in


See User information

Go to top
Re: porting of Quakespasm
Quite a regular
Quite a regular


See User information
@kas1e

Adding the include had almost no effect.

@gtc

FitzQuake SDL, I'll see if it's more straightforward. Later that is.

Go to top
Re: porting of Quakespasm
Home away from home
Home away from home


See User information
@Thematic
Try then <proto/bsdsocket.h>. That all for sure about soket, just need right proto (i have the same problems back in past). If you will not sort it in next days, then i can check all the stuff deeply to see how it should be fixed.

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: porting of Quakespasm
Quite a regular
Quite a regular


See User information
With "gmake SDLNET=1" it actually skips all that, so I'll use it as a stopgap measure at least. Now to complete the multitexture crippling.

edit: It's running now, no immediate crashes or anything but not quite ready.


Edited by Thematic on 2012/1/5 0:48:29
Go to top
Re: porting of Quakespasm
Not too shy to talk
Not too shy to talk


See User information
Hello

I dont know what is/mean GL_MTexCoord2fFunc
but glTexCoord2f() exists in minigl

Certainly there is a problem in the defines/includes...

Alain

Go to top
Re: porting of Quakespasm
Quite a regular
Quite a regular


See User information
glTexCoord2f() is being used in several source files, but here is one example of code I deactivated:
Quote:

GL_MTexCoord2fFunc = (PFNGLMULTITEXCOORD2FARBPROC) SDL_GL_GetProcAddress("glMultiTexCoord2fARB");
GL_SelectTextureFunc = (PFNGLACTIVETEXTUREARBPROC) SDL_GL_GetProcAddress("glActiveTextureARB");
(GL_MTexCoord2fFunc && GL_SelectTextureFunc)
{
Con_Printf("FOUND: ARB_multitexture\n");
TEXTURE0 = GL_TEXTURE0_ARB;
TEXTURE1 = GL_TEXTURE1_ARB;
gl_mtexable = true;
}
else
{
Con_Warning ("Couldn't link to multitexture functions\n");
}

Go to top
Re: porting of Quakespasm
Not too shy to talk
Not too shy to talk


See User information
OK i see

Just try with glMultiTexCoord2f (builtin GL function) not glMultiTexCoord2fARB (function available in GL extensions)

remove all ARB in function names that cause problems

or directly use
glMultiTexCoord2f (builtin GL function)
instead of
GL_MTexCoord2fFunc(pointer to GL function)

Alain

BTW Warp3D v5 & MiniGL-os4 got multitexturing so dont disable it too much

Go to top
Re: porting of Quakespasm
Quite a regular
Quite a regular


See User information
Thanks, I will try this.

Go to top
Re: porting of Quakespasm
Quite a regular
Quite a regular


See User information
I have this working without multitexturing. Last build goes with multitexturing by default, but it will draw garbage to most textures and soon crashes because I didn't know how to "select" between texture 0 and texture 1.

The line with GL_SelectTextureFunc is at least getting in the way at this point (commenting it out is not enough).

gl_vidsdl.c excerpt,
Quote:


{
SDL_GL_GetProcAddress("glMultiTexCoord2f");
GL_SelectTextureFunc = (PFNGLACTIVETEXTUREARBPROC) SDL_GL_GetProcAddress("glActiveTextureARB");
if (glMultiTexCoord2f && GL_SelectTextureFunc)
{
Con_Printf("FOUND: ARB_multitexture\n");
TEXTURE0 = GL_TEXTURE0_ARB;
TEXTURE1 = GL_TEXTURE1_ARB;
gl_mtexable = true;
}
else
{
Con_Warning ("Couldn't link to multitexture functions\n");
}
}

(Indention didn't carry over)

Go to top
Re: porting of Quakespasm
Not too shy to talk
Not too shy to talk


See User information
Hello

MiniGL have a GLActiveTexture() function

BTW i think u should remove all "ARB"
I mean glmyfunctionARB() is a function only available as a GL extension
But minigl got glmyfunction() as a builtin function
(like recent OpenGL versions)

GL_SelectTextureFunc = (PFNGLACTIVETEXTUREARBPROC)glActiveTexture;
GL_MTexCoord2fFunc = (PFNGLMULTITEXCOORD2FARBPROC) glMultiTexCoord2f;

TEXTURE0 = GL_TEXTURE0;
TEXTURE1 = GL_TEXTURE1;


Alain

Go to top

  Register To Post

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project