NG Pub and Brl

BlitzMax Forums/Brucey's Modules/NG Pub and Brl

LT(Posted 2016) [#1]
Are they supposed to be backwards compatible? Or are they to be used with NG only?

Sorry if this has been asked before. Can't seem to find the answer.


Brucey(Posted 2016) [#2]
They are NG only, since they incorporate a lot of low-level modifications required for the new object structure/GC/etc.
.. amongst other things - like 64-bit stream support, a new low-level joystick API, etc, etc.


LT(Posted 2016) [#3]
Ah, I see. Now I understand the term "fork" better. I've been trying to keep my project compatible with both, but that is seeming more difficult.

TheoraPlayer uses bah.oggvorbis, but brl.oggloader relies on pub.oggvorbis. Can't use both at the same time, but the newer oggloader requires a new brl.stream, which only compiles in NG... Hrmm.


Derron(Posted 2016) [#4]
the new oggloader should play fine with vanilla-brl.stream.

Only noticeable differences are the return types and param types (long versus integer).

Did you try to replace the requirements for "bah.oggvorbis" with "pub.oggvorbis" ?

I somehow assume that bah.oggvorbis is kind of obsolete with maxmods/pub.mod being available.


bye
Ron


LT(Posted 2016) [#5]
I tried it, it doesn't because one of the methods in vanilla stream takes a different param count. Maybe I could change that, but...

But yeah, I think TheoraPlayer might work with the new pub.oggvorbis. Don't know for sure.

EDIT: There was one unreferenced function (in TheoraPlayer) when I replace bah.oggvorbis with pub.oggvorbis, but probably an easy fix.


LT(Posted 2016) [#6]
Confirmed that TheoraPlayer works with the new pub.oggvorbis if you change the .h imports in source.bmx.

However, old brl.oggloader doesn't work with new pub.oggvorbis and the new brl.oggloader won't compile without the new (NG-only) brl.stream and who knows what else...


Derron(Posted 2016) [#7]
github.com/maxmods/brl.mod/oggloader.mod compiles with vanilla - this is for sure, as I patched it (and pub.oggvorbis) and ... it works here.

It is important to use https://github.com/maxmods for brl.mod and pub.mod when compiler is "vanilla bcc".


If you want to use NG, then use github.com/bmx-ng/... .
As you seem to exactly do this (use NG): why do you use "old brl.oggloader"?
I assume "new brl.oggloader" (think you talk about bmx-ng/brl.mod/oggloader.mod then) should work with NG - if not, this is a bug to report (it works here on linux though).


bye
Ron


LT(Posted 2016) [#8]
I wasn't aware that maxmods had newer versions of brl and pub for vanilla. Sorry, just didn't occur to me to look there (always just click on the bah link). :)

I'm using vanilla, mostly. But I went through the process not long ago of getting things to work in NG and was confused about sources. Thanks for the help!

EDIT: And...everything works again! Yay!