Re: Irrlicht Port

#271
01010100 01101000 01101001 01110011 00100000 01110100 01101000 01110010 01100101 01100001 01100100 00100000 01110011 01101000 01101111 01110101 01101100 01100100 00100000 01100010 01100101 00100000 01110010 01100101 01101110 01100001 01101101 01100101 01100100 00100000 01110100 01101111 00100000 00100111 01001000 01100101 01101100 01110000 00100000 01100111 01110101 01101001 01100100 01100101 00100000 01100110 01101111 01110010 00100000 01110100 01101000 01100101 00100000 01001001 01110010 01110010 01101100 01101001 01100011 01101000 01110100 00100000 01110000 01101111 01110010 01110100 00100111
har har I'm so funny

Anyway, a video of a working 096 is scheduled to be released soon.
Source: juanjpro
𝙱𝚕𝚒𝚝𝚣𝟹𝙳 𝙴𝚛𝚛𝚘𝚛(!): 𝙿𝚛𝚎𝚜𝚜𝚒𝚗𝚐 𝚝𝚑𝚎 𝚋𝚞𝚝𝚝𝚘𝚗 𝚛𝚊𝚙𝚒𝚍𝚕𝚢 𝚒𝚜𝚗'𝚝 𝚐𝚘𝚒𝚗𝚐 𝚝𝚘 𝚖𝚊𝚔𝚎 𝚝𝚑𝚎 𝚎𝚕𝚎𝚟𝚊𝚝𝚘𝚛 𝚖𝚘𝚟𝚎 𝚏𝚊𝚜𝚝𝚎𝚛.

Re: Irrlicht Port

#272
Did you rebuild the whole project, or did you just hit compile in Code::Blocks? I'm assuming that your previous compiler built some object files successfully, but failed to link them. Now the new compiler can't link them because the object files are incompatible.

Re: Irrlicht Port

#273
juanjpro wrote:Did you rebuild the whole project, or did you just hit compile in Code::Blocks? I'm assuming that your previous compiler built some object files successfully, but failed to link them. Now the new compiler can't link them because the object files are incompatible.
I tried Rebuild, but now in addition to spewing out the previous problems, it has an issue with:

Code: Select all

irrlicht\irrlichtvanilla - Copy\3dworld\3dworld.cpp|364|undefined reference to `btRigidBody::setDamping(float, float)'|
SCP - Box of Horrors v0.8.0b
Twitter
Github Profile

Re: Irrlicht Port

#275
juanjpro wrote:
InnocentSam wrote:

Code: Select all

irrlicht\irrlichtvanilla - Copy\3dworld\3dworld.cpp|364|undefined reference to `btRigidBody::setDamping(float, float)'|
Is that issue only in 3dworld.cpp?

You might want to reinstall your compiler and start over, I have no idea else you could do.
If you link me to the exact version of MinGW you use, that'd minimize chances of failure.
SCP - Box of Horrors v0.8.0b
Twitter
Github Profile

Re: Irrlicht Port

#277
juanjpro wrote:I used a MinGW-builds toolchain: http://sourceforge.net/projects/mingwbuilds/

I selected SJLJ for the exceptions, as it works better than Dwarf AFAIK. I also use posix threads because the win32 threads don't work.
Alright, I've installed it per your specs, changed the compiler, and am starting from square one. Here's what I've got so far (simplified):
  • 1) Download and install Codeblocks and MinGW 4.8.0 or higher
  • 2) Download Irrlicht and extract to it's own directory.
  • 3) Copy-paste the Irrlicht folder into it's own folder; it will be the start of your dev environment.
  • 4) Merge the SCPCBIrrlicht files in the Irrlicht folder with the Irrlicht environment.
  • 5) Move "leakHunter" and the other cpp file into the Irrlicht folder in the same directory
  • 6) Edit the CBP file to include leakHunter.cpp
  • 7) Open the CBP file.
  • 8) Configure Codeblocks to compile using the MinGW installed earlier
  • 9) Make a coffee while you build Irrlicht. Ensure the build target is the right one. It's 1:30am so I forgot which one.
  • 10) Once done, organize your directories so that your main development folder contains an "Irrlicht" folder that contains the compiled version.
  • 11) Move the rest of the contents of SCPCBIrrlicht into the dev environment.
  • 12) Setup dependencies (more detail will be added here as it can be confusing)
  • 13) Edit the SCPCBIrrlicht.cbp so that the OpenAL directory is a folder shorter
  • 14) Also edit it so that there are 2 FreeType directories, one that is left the same but the other goes a folder deeper to "freetype2"
  • 15) Open SCPCBIrrlicht.cbp and compile.
And this seemed to be working up until it ran the following to compile the full thing:

Code: Select all

x86_64-w64-mingw32-g++.exe  -o bin\Debug\SCPCBIrrlicht.exe obj\Debug\3dworld\3dworld.o obj\Debug\3dworld\items\item18vbat\item18vbat.o obj\Debug\3dworld\items\item18vradio\item18vradio.o obj\Debug\3dworld\items\item420\item420.o obj\Debug\3dworld\items\item420s\item420s.o obj\Debug\3dworld\items\itemBat\itemBat.o obj\Debug\3dworld\items\itemCigarette\itemCigarette.o obj\Debug\3dworld\items\itemCup\itemCup.o obj\Debug\3dworld\items\itemEmptycup\itemEmptycup.o obj\Debug\3dworld\items\itemEyedrops\itemEyedrops.o obj\Debug\3dworld\items\itemFineeyedrops\itemFineeyedrops.o obj\Debug\3dworld\items\itemFinefirstaid\itemFinefirstaid.o obj\Debug\3dworld\items\itemFineradio\itemFineradio.o obj\Debug\3dworld\items\itemFinevest\itemFinevest.o obj\Debug\3dworld\items\itemFirstaid2\itemFirstaid2.o obj\Debug\3dworld\items\itemFirstaid\itemFirstaid.o obj\Debug\3dworld\items\itemGasmask3\itemGasmask3.o obj\Debug\3dworld\items\itemGasmask\itemGasmask.o obj\Debug\3dworld\items\itemHand2\itemHand2.o obj\Debug\3dworld\items\itemHand\itemHand.o obj\Debug\3dworld\items\itemHazmatsuit2\itemHazmatsuit2.o obj\Debug\3dworld\items\itemHazmatsuit3\itemHazmatsuit3.o obj\Debug\3dworld\items\itemHazmatsuit\itemHazmatsuit.o obj\Debug\3dworld\items\itemKey1\itemKey1.o obj\Debug\3dworld\items\itemKey2\itemKey2.o obj\Debug\3dworld\items\itemKey3\itemKey3.o obj\Debug\3dworld\items\itemKey4\itemKey4.o obj\Debug\3dworld\items\itemKey5\itemKey5.o obj\Debug\3dworld\items\itemKey6\itemKey6.o obj\Debug\3dworld\items\itemKillbat\itemKillbat.o obj\Debug\3dworld\items\itemMisc\itemMisc.o obj\Debug\3dworld\items\itemNav\itemNav.o obj\Debug\3dworld\items\itemPaper\itemPaper.o obj\Debug\3dworld\items\itemRadio\itemRadio.o obj\Debug\3dworld\items\items.o obj\Debug\3dworld\items\itemScp1025\itemScp1025.o obj\Debug\3dworld\items\itemScp148\itemScp148.o obj\Debug\3dworld\items\itemScp148ingot\itemScp148ingot.o obj\Debug\3dworld\items\itemScp500\itemScp500.o obj\Debug\3dworld\items\itemScp513\itemScp513.o obj\Debug\3dworld\items\itemScp714\itemScp714.o obj\Debug\3dworld\items\itemScp860\itemScp860.o obj\Debug\3dworld\items\itemSupereyedrops\itemSupereyedrops.o obj\Debug\3dworld\items\itemSupergasmask\itemSupergasmask.o obj\Debug\3dworld\items\itemVeryfinefirstaid\itemVeryfinefirstaid.o obj\Debug\3dworld\items\itemVeryfineradio\itemVeryfineradio.o obj\Debug\3dworld\items\itemVeryfinevest\itemVeryfinevest.o obj\Debug\3dworld\items\itemVest\itemVest.o obj\Debug\3dworld\mapGen.o obj\Debug\3dworld\npcs\npc.o obj\Debug\3dworld\npcs\npc096.o obj\Debug\3dworld\player.o obj\Debug\3dworld\rooms\EZ\exit1.o obj\Debug\3dworld\rooms\EZ\gateaentrance.o obj\Debug\3dworld\rooms\EZ\lockroom2.o obj\Debug\3dworld\rooms\EZ\room079.o obj\Debug\3dworld\rooms\EZ\room2cafeteria.o obj\Debug\3dworld\rooms\EZ\room2ccont.o obj\Debug\3dworld\rooms\EZ\room2cz3.o obj\Debug\3dworld\rooms\EZ\room2offices.o obj\Debug\3dworld\rooms\EZ\room2offices2.o obj\Debug\3dworld\rooms\EZ\room2offices3.o obj\Debug\3dworld\rooms\EZ\room2poffices.o obj\Debug\3dworld\rooms\EZ\room2poffices2.o obj\Debug\3dworld\rooms\EZ\room2sroom.o obj\Debug\3dworld\rooms\EZ\room2tesla.o obj\Debug\3dworld\rooms\EZ\room2toilets.o obj\Debug\3dworld\rooms\EZ\room2z3.o obj\Debug\3dworld\rooms\EZ\room3servers.o obj\Debug\3dworld\rooms\EZ\room3servers2.o obj\Debug\3dworld\rooms\EZ\room3z3.o obj\Debug\3dworld\rooms\EZ\room4z3.o obj\Debug\3dworld\rooms\EZ\room860.o obj\Debug\3dworld\rooms\HCZ\coffin.o obj\Debug\3dworld\rooms\HCZ\endroom2.o obj\Debug\3dworld\rooms\HCZ\r_008.o obj\Debug\3dworld\rooms\HCZ\room035.o obj\Debug\3dworld\rooms\HCZ\room049.o obj\Debug\3dworld\rooms\HCZ\room106.o obj\Debug\3dworld\rooms\HCZ\room2ctunnel.o obj\Debug\3dworld\rooms\HCZ\room2nuke.o obj\Debug\3dworld\rooms\HCZ\room2pipes.o obj\Debug\3dworld\rooms\HCZ\room2pit.o obj\Debug\3dworld\rooms\HCZ\room2servers.o obj\Debug\3dworld\rooms\HCZ\room2tunnel.o obj\Debug\3dworld\rooms\HCZ\room3pit.o obj\Debug\3dworld\rooms\HCZ\room3tunnel.o obj\Debug\3dworld\rooms\HCZ\room4tunnels.o obj\Debug\3dworld\rooms\HCZ\room513.o obj\Debug\3dworld\rooms\HCZ\testroom.o obj\Debug\3dworld\rooms\HCZ\tunnel.o obj\Debug\3dworld\rooms\HCZ\tunnel2.o obj\Debug\3dworld\rooms\LCZ\endroom.o obj\Debug\3dworld\rooms\LCZ\lockroom.o obj\Debug\3dworld\rooms\LCZ\r_914.o obj\Debug\3dworld\rooms\LCZ\room012.o obj\Debug\3dworld\rooms\LCZ\room2.o obj\Debug\3dworld\rooms\LCZ\room2_2.o obj\Debug\3dworld\rooms\LCZ\room2c.o obj\Debug\3dworld\rooms\LCZ\room2closets.o obj\Debug\3dworld\rooms\LCZ\room2doors.o obj\Debug\3dworld\rooms\LCZ\room2elevator.o obj\Debug\3dworld\rooms\LCZ\room2scps.o obj\Debug\3dworld\rooms\LCZ\room2storage.o obj\Debug\3dworld\rooms\LCZ\room2testroom2.o obj\Debug\3dworld\rooms\LCZ\room3.o obj\Debug\3dworld\rooms\LCZ\room3_2.o obj\Debug\3dworld\rooms\LCZ\room3storage.o obj\Debug\3dworld\rooms\LCZ\room4.o obj\Debug\3dworld\rooms\LCZ\roompj.o obj\Debug\3dworld\rooms\LCZ\start.o obj\Debug\3dworld\rooms\Misc\checkpoint1.o obj\Debug\3dworld\rooms\Misc\checkpoint2.o obj\Debug\3dworld\rooms\Misc\gatea.o obj\Debug\3dworld\rooms\Misc\pocketdimension.o obj\Debug\3dworld\rooms\Misc\r_173.o obj\Debug\3dworld\rooms\rmesh.o obj\Debug\3dworld\rooms\room.o obj\Debug\3dworld\shadercallbacks.o obj\Debug\3dworld\sharedAI.o obj\Debug\Irrlicht\CGUITTFont.o obj\Debug\Irrlicht\irrDynamics.o obj\Debug\main.o obj\Debug\sound\soundWrapper.o   Irrlicht\lib\Win32-gcc\libIrrlicht.a FreeType\lib\libfreetype.dll.a Bullet\lib\libBullet.a OpenAL-Soft\libOpenAL32.dll.a oggVorbis\libogg.dll.a oggVorbis\libvorbis.dll.a oggVorbis\libvorbisfile.dll.a
All the error codes point towards a problem with OpenAL:

Code: Select all

thisbetterwork\sound\soundWrapper.cpp|23|undefined reference to `__imp_alcOpenDevice'|

sound::device = alcOpenDevice(nullptr);
Infact now I look at it, all the undefined reference errors point towards one of the dependencies; I assume bt means bullet, al is OpenAL, FT is FreeType. No mention of oggvorbis or Irrlicht issues.
SCP - Box of Horrors v0.8.0b
Twitter
Github Profile

Re: Irrlicht Port

#279
InnocentSam wrote:

Code: Select all

thisbetterwork\sound\soundWrapper.cpp|23|undefined reference to `__imp_alcOpenDevice'|

sound::device = alcOpenDevice(nullptr);
libOpenAL32.dll.a is not linking, otherwise the process would be successful. I'm not sure why it wouldn't work, assuming that you set it up correctly.