Load Prc File Data

It works in python, however, does the C ++ format get corrupted due to line breaks or is it done differently?

char confauto[] = "load-file-type egg pandaegg \
load-audio-type * p3ffmpeg \
load-video-type * p3ffmpeg \
egg-object-type-portal          <Scalar> portal { 1 } \
egg-object-type-polylight       <Scalar> polylight { 1 } \
egg-object-type-seq24           <Switch> { 1 } <Scalar> fps { 24 } \
egg-object-type-seq12           <Switch> { 1 } <Scalar> fps { 12 } \
egg-object-type-indexed         <Scalar> indexed { 1 } \
egg-object-type-seq10           <Switch> { 1 } <Scalar> fps { 10 } \
egg-object-type-seq8            <Switch> { 1 } <Scalar> fps { 8 } \
egg-object-type-seq6            <Switch> { 1 } <Scalar>  fps { 6 } \
egg-object-type-seq4            <Switch> { 1 } <Scalar>  fps { 4 } \
egg-object-type-seq2            <Switch> { 1 } <Scalar>  fps { 2 } \
egg-object-type-binary          <Scalar> alpha { binary } \
egg-object-type-dual            <Scalar> alpha { dual } \
egg-object-type-glass           <Scalar> alpha { blend_no_occlude } \
egg-object-type-model           <Model> { 1 } \
egg-object-type-dcs             <DCS> { 1 } \
egg-object-type-notouch         <DCS> { no_touch } \
egg-object-type-barrier         <Collide> { Polyset descend } \
egg-object-type-sphere          <Collide> { Sphere descend } \
egg-object-type-invsphere       <Collide> { InvSphere descend } \
egg-object-type-tube            <Collide> { Tube descend }\
egg-object-type-trigger         <Collide> { Polyset descend intangible } \
egg-object-type-trigger-sphere  <Collide> { Sphere descend intangible } \
egg-object-type-floor           <Collide> { Polyset descend level } \
egg-object-type-dupefloor       <Collide> { Polyset keep descend level } \
egg-object-type-bubble          <Collide> { Sphere keep descend } \
egg-object-type-ghost           <Scalar> collide-mask { 0 } \
egg-object-type-glow            <Scalar> blend { add } \
egg-object-type-direct-widget   <Scalar> collide-mask { 0x80000000 } <Collide> { Polyset descend } \
cull-bin gui-popup 60 unsorted \
default-model-extension .egg";
load_prc_file_data("internal", confauto);

Console output:

:loader(warning): Unable to load lib.egg.dll: Path not found
:loader(error): Extension of file ../models/environment.egg is unrecognized; can
not load.
Currently known scene file types are:
  Bam                             .bam
  Also available: .* .0 .0x80000000 .1 .10 .12 .2 .24 .4 .6 .60 .8 .<collide> .<
dcs> .<model> .<scalar> .<switch> .add .alpha .binary .blend .blend_no_occlude .
collide-mask .cull-bin .default-model-extension .descend .dual .egg-object-type-
barrier .egg-object-type-binary .egg-object-type-bubble .egg-object-type-dcs .eg
g-object-type-direct-widget .egg-object-type-dual .egg-object-type-dupefloor .eg
g-object-type-floor .egg-object-type-ghost .egg-object-type-glass .egg-object-ty
pe-glow .egg-object-type-indexed .egg-object-type-invsphere .egg-object-type-mod
el .egg-object-type-notouch .egg-object-type-polylight .egg-object-type-portal .
egg-object-type-seq10 .egg-object-type-seq12 .egg-object-type-seq2 .egg-object-t
ype-seq24 .egg-object-type-seq4 .egg-object-type-seq6 .egg-object-type-seq8 .egg
-object-type-sphere .egg-object-type-trigger-sphere .egg-object-type-tube .fps .
gui-popup .indexed .intangible .invsphere .keep .level .load-audio-type .load-vi
deo-type .no_touch .p3ffmpeg .pandaegg .polylight .polyset .portal .sphere .tube
 .unsorted .{ .} .}egg-object-type-trigger

I had a similar problem: Egg model loader doesn't work?
maybe this will help

These two lines:

default-model-extension .egg
and
Unable to load lib.egg.dll

made me think that probably you should write it like this:
default-model-extension egg

The lib loader expects dll to be named lib.egg.dll (with a dot after “lib”, which seems to be the wrong name)

The problem is that you didn’t add newlines. If you use \ you escape the newline and you end up with a string with no newlines. You need to add \n, or use C++11 raw string literals.

In C ++, it will look like this:

char confauto[] = R"(load-file-type egg pandaegg
load-audio-type * p3ffmpeg
load-video-type * p3ffmpeg
egg-object-type-portal          <Scalar> portal { 1 }
egg-object-type-polylight       <Scalar> polylight { 1 }
egg-object-type-seq24           <Switch> { 1 } <Scalar> fps { 24 }
egg-object-type-seq12           <Switch> { 1 } <Scalar> fps { 12 }
egg-object-type-indexed         <Scalar> indexed { 1 }
egg-object-type-seq10           <Switch> { 1 } <Scalar> fps { 10 }
egg-object-type-seq8            <Switch> { 1 } <Scalar> fps { 8 }
egg-object-type-seq6            <Switch> { 1 } <Scalar>  fps { 6 }
egg-object-type-seq4            <Switch> { 1 } <Scalar>  fps { 4 }
egg-object-type-seq2            <Switch> { 1 } <Scalar>  fps { 2 }
egg-object-type-binary          <Scalar> alpha { binary }
egg-object-type-dual            <Scalar> alpha { dual }
egg-object-type-glass           <Scalar> alpha { blend_no_occlude }
egg-object-type-model           <Model> { 1 }
egg-object-type-dcs             <DCS> { 1 }
egg-object-type-notouch         <DCS> { no_touch }
egg-object-type-barrier         <Collide> { Polyset descend }
egg-object-type-sphere          <Collide> { Sphere descend }
egg-object-type-invsphere       <Collide> { InvSphere descend }
egg-object-type-tube            <Collide> { Tube descend }
egg-object-type-trigger         <Collide> { Polyset descend intangible }
egg-object-type-trigger-sphere  <Collide> { Sphere descend intangible }
egg-object-type-floor           <Collide> { Polyset descend level }
egg-object-type-dupefloor       <Collide> { Polyset keep descend level }
egg-object-type-bubble          <Collide> { Sphere keep descend }
egg-object-type-ghost           <Scalar> collide-mask { 0 }
egg-object-type-glow            <Scalar> blend { add }
egg-object-type-direct-widget   <Scalar> collide-mask { 0x80000000 } <Collide> { Polyset descend }
cull-bin gui-popup 60 unsorted
default-model-extension .egg)";

load_prc_file_data("internal", confauto);

Adding a line break character does not change anything; the data format is corrupted.