R_GetDrawColumnFunc PrBoom N00b porting question

New to this forum so hopefully this is the right spot.

I am playing around with porting PrBoom for Android like in the games book. Being the developer (And the fact that the original code of the port was not well maintained) I am I just couldn't use the included binaries. So I started trying to port myself, problem is I just know enough to be dangerous with C and not enough to actually know what I am doing :-).

Anyway I digress, so I am using OpenGL, however, I am still not seeing any graphics. I am not sure but I think part of my problem has to to with this message...

"04-12 13:38:15.650: E/DJNI(17659): Sys Error: R_GetDrawColumnFunc: undefined function (0, 1, 0)"

Now I would be the first to admit it looks like I am passing an invalid parameter, however, this parameter was static and based on existing code...


if (flags & VPT_TRANS) {
colfunc = R_GetDrawColumnFunc(RDC_PIPELINE_TRANSLATED, drawvars.filterpatch, RDRAW_FILTER_NONE);
dcvars.translation = trans;
} else {
colfunc = R_GetDrawColumnFunc(RDC_PIPELINE_STANDARD, drawvars.filterpatch, RDRAW_FILTER_NONE);
}

enum draw_filter_type_e {
RDRAW_FILTER_NONE,
RDRAW_FILTER_POINT,
RDRAW_FILTER_LINEAR,
RDRAW_FILTER_ROUNDED,
RDRAW_FILTER_MAXFILTERS
};

And of course because the value being returned is null this goes bonkers...

colfunc(&dcvars);

And brings down the app, anyone able to guide me as to what I am missing here?

Share this post


Link to post

OpenGL does not use R_GetDrawColumnFunc. Check your videomode config variable. It should be "OpenGL".

And probably prboom-plus will be better, at least because it supports different aspect ratios.

Share this post


Link to post

Great advice! actually I have been struggling to find the "proper" way to enable OpenGL. I see GL_DOOM and and property for GL video mode. Being that I am not very skilled in the ways of C, I just kind of hacked a solution where I define these variables at the top of every .c file (which I know is wrong). I tried adding them to the config.h but no dice.

Any advice on a good thread for how to configure this the way you suggest? Also why is the PrBoom+ source site having cert issues?

Share this post


Link to post

Also, would I be right to assume that if I do use openGL then SDL should not be required?

Share this post


Link to post

SDL is still used for playing input (but maybe that needs changing for Android?) and for audio output.

Share this post


Link to post

Awesome, Yeah I kind of figured that out since I posted. Now it seems I am working on Converting old OpenGL to GLES and porting GLU. I will update if I have more issues Thanks for your help guys!

Share this post


Link to post

Also I changed this in prboom.cfg

videomode "OpenGL"

Does that look right?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now