Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

_Random_

Suggestions for next PR version

This topic is 6227 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I would like to discuss a few suggestions I''ve had while evaluating the engine. First, the large number of global variables with C linkage makes it awkward for C++ programmers. I don''t care that PR is written in C, in fact I prefer function libraries like this to architectures like Performer, etc. But I would like to propose that ALL global variables used by PR be encapsulated in structs like the existing PR_Globals and Terrain_Globals. This would limit the number of undocumented and unscoped globals, making scoping and usage clearer and the engine easier to use (at the expense of a little extra typing). I would also propose that even new code that is not yet part of the official API also be encapsulated (ie kbdon, mouse, etc) in a struct - in this case Input_Globals or somesuch. I beleive this would help both C and C++ programmers. I would also like to propose an optional preprocessor #ifdef USE_PR_NAMESPACE or something similar that would place all of the PR include files in a C++ namespace. This would help reduce naming conflicts - especially if globals are not placed in structs like proposed above. If you had variables called "camera" or "mouse" that happened to hide global variables of the same name this leads to confusing errors. I think you could add this optional #define where the include files already have the #ifdef _cplusplus lines with little or no breaking of existing code. Next is not a code suggestion, but a usage suggestion - For the next revision of the help files, please reindex them for better searching - I''m not sure what tools you''re using for this, but the keyword set is too small. You can''t find all the terrain stuff by searching for the word "terrain". If you search for FindEntityName, it doesn''t find anything - I have to know the exact name and prefix.. But sometimes I forget if it''s PR_ or LS_ or OM_ - the search function should help me out when I haven''t slept enough Lastly and least directly related to PR coding Please take out the script on your homepage that maximizes the browser window - this is fantastically irritating. Does your homepage _really_ need to be 1600x1200? I already have my browser window the shape and size that I prefer. I do other things while reading web pages, and maximizing the browser hinders this. The viewer of your page should decide, not the author. I have stopped going to the homepage completely because of this. I don''t want to end on a sour note, I would like to say that PR is nice to use and I love having access to pixel/vertex shaders (no other libs provide this to my knowledge). Plus, you can''t beat the price I''m just trying to make it a little better if I can Thanks for reading - comments?? Cheers, Random

Share this post


Link to post
Share on other sites
Advertisement
Guest Anonymous Poster
YES!! Take out the script that maximizes the browser window!!! "Fantastically irritating" is an understatement!! Its downright rude!
You''re not the only one that has stopped going to the homepage completely...

Share this post


Link to post
Share on other sites
No, the only thing that will be changing between now and the final release is documentation. All of the examples and utilities have been precompiled and tested and are ready to go.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Is there a way to load multiple BSPs at runtime?

Share this post


Link to post
Share on other sites
Yes. If you''re using the high level engine do this:

PR_GoStartPath ();
chdir (Terrain_Globals.InitializationParameters.PackagePath);
LS_LoadPackage ("file.pbs");

You can then use OM_FindObject and OM_AddInstance to create instances of the BSP in the world.

If you know the BSP''s are going to be needed for a particular level, place them in the package list and they will be loaded when the level starts.




Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!