Korzystając z okazji chciałbym podzielić się z forumowiczami pewnym sekretem który stoi za moją wiedzą na temat działania silnika gry Gothic. Mianowicie dawno temu, kiedy zaczynałem "przygodę" z moddingiem, natrafiłem na prywatną stronę pewnej osoby związanej z Piranha Bytes, która była w posiadaniu bogatych informacji na temat procesu jej tworzenia i samych plików źródłowych. Jest tam między innymi bardzo pożyteczna dla zwykłych modderów lista wszystkich funkcji zewnętrznych. Jednak przypadkiem udało mi się odkryć że znajduje się tam także ukryty folder, zawierający pewne bardzo interesujące pliki. Listę i archiwum je zawierające zamieszczam poniżej.
Spoiler
C:\modding\gothic_engine\current_work\Gothic\_Andre\oCSManager.cpp
C:\modding\gothic_engine\current_work\Gothic\_Andre\oCSPlayer.cpp
C:\modding\gothic_engine\current_work\Gothic\_Andre\oCSProps.cpp
C:\modding\gothic_engine\current_work\Gothic\_Andre\oCSTigger.cpp
C:\modding\gothic_engine\current_work\Gothic\_Bert\obinkplayer.cpp
C:\modding\gothic_engine\current_work\Gothic\_Bert\oGameManager.cpp
C:\modding\gothic_engine\current_work\Gothic\_Bert\oMagic.cpp
C:\modding\gothic_engine\current_work\Gothic\_Bert\omenusavegame.cpp
C:\modding\gothic_engine\current_work\Gothic\_Bert\omenu_tools.cpp
C:\modding\gothic_engine\current_work\Gothic\_Bert\oobert.cpp
C:\modding\gothic_engine\current_work\Gothic\_Bert\oplayerinfo.cpp
C:\modding\gothic_engine\current_work\Gothic\_Bert\osavegame.cpp
C:\modding\gothic_engine\current_work\Gothic\_Bert\osysinfo.cpp
C:\modding\gothic_engine\current_work\Gothic\_Bert\oTrigger.cpp
C:\modding\gothic_engine\current_work\Gothic\_Bert\oviewprogressbar.cpp
C:\modding\gothic_engine\current_work\Gothic\_Bert\oviewstatusbar.cpp
C:\modding\gothic_engine\current_work\Gothic\_Carsten\oAIHuman_Magic.cpp
C:\modding\gothic_engine\current_work\Gothic\_Carsten\oMagFrontier.cpp
C:\modding\gothic_engine\current_work\Gothic\_Carsten\oMenu_Status.cpp
C:\modding\gothic_engine\current_work\Gothic\_Carsten\ooCarsten.cpp
C:\modding\gothic_engine\current_work\Gothic\_Carsten\oSpell.cpp
C:\modding\gothic_engine\current_work\Gothic\_Carsten\oVisFX.cpp
C:\modding\gothic_engine\current_work\Gothic\_Carsten\oVisFX.h
C:\modding\gothic_engine\current_work\Gothic\_Carsten\oVisFX_Edit.cpp
C:\modding\gothic_engine\current_work\Gothic\_Carsten\oVisFX_Lightning.cpp
C:\modding\gothic_engine\current_work\Gothic\_Carsten\oVisFX_MultiTarget.cpp
C:\modding\gothic_engine\current_work\Gothic\_Kurt\oMusicZone.cpp
C:\modding\gothic_engine\current_work\Gothic\_Roman\oDamage.cpp
C:\modding\gothic_engine\current_work\Gothic\_Roman\oDocumentManager.cpp
C:\modding\gothic_engine\current_work\Gothic\_Roman\oInformationManager.cpp
C:\modding\gothic_engine\current_work\Gothic\_Roman\ologmanager.h
C:\modding\gothic_engine\current_work\Gothic\_Roman\oNpc_Damage.cpp
C:\modding\gothic_engine\current_work\Gothic\_Roman\oNpc_Fight.cpp
C:\modding\gothic_engine\current_work\Gothic\_Roman\oNpc_Move.cpp
C:\modding\gothic_engine\current_work\Gothic\_Roman\oViewDialogInventory.cpp
C:\modding\gothic_engine\current_work\Gothic\_Roman\oViewDialogItem.cpp
C:\modding\gothic_engine\current_work\Gothic\_Roman\oViewDialogItemContainer.cpp
C:\modding\gothic_engine\current_work\Gothic\_Roman\oViewDialogStealContainer.cpp
C:\modding\gothic_engine\current_work\Gothic\_Roman\oViewDialogTrade.cpp
C:\modding\gothic_engine\current_work\Gothic\_Roman\oViewDocument.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oAIHuman.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oAIShoot.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oAniCtrl.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oBarrier.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oDialog.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oDoc.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oFocus.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oGame.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oGameExternal.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oGameKeys.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oGuilds.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oHelp.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oInfo.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oInventory.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oItem.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oItemReact.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\ologmanager.h
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oMission.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oMobInter.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oNews.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oNpc.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oNpcInv.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oNpcMessages.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oNpcStates.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oobjfactory.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oParticleControl.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oPortals.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oRoutine.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oSpawn.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oSVM.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\Ovob.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oWaynet.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\oWorld.cpp
C:\modding\gothic_engine\current_work\Gothic\_Ulf\Phoenix.cpp
C:\modding\gothic_engine\current_work\ZenGin\_andre\zCCSContext.cpp
C:\modding\gothic_engine\current_work\ZenGin\_andre\zCCSCutscene.cpp
C:\modding\gothic_engine\current_work\ZenGin\_andre\zCCSLib.cpp
C:\modding\gothic_engine\current_work\ZenGin\_andre\zCCSManager.cpp
C:\modding\gothic_engine\current_work\ZenGin\_andre\zCCSPlayer.cpp
C:\modding\gothic_engine\current_work\ZenGin\_andre\zCCSPool.cpp
C:\modding\gothic_engine\current_work\ZenGin\_andre\zCCSProps.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\zbinkplayer.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\zbuffer.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\Zdisk.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\Zdisk_vdfs.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\zError.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\znet.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\znetEventMan.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\znethost.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\znetmanager.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\znetmessage.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\znetversion.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\znetvobcontrol.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\zNet_Win32.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\zoption.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\zplayergroup.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\zplayerinfo.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\zqueue.h
C:\modding\gothic_engine\current_work\ZenGin\_bert\zscandir.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\zstring.h
C:\modding\gothic_engine\current_work\ZenGin\_bert\zsysinfo.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\zvideoplayer.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\zviewprogressbar.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\zworldinfo.cpp
C:\modding\gothic_engine\current_work\ZenGin\_bert\zzBert.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zAICamera.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zAICamera_Core.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zAICamera_Dialog.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zAICamera_Movement.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zAICamera_Util.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zCSCamera.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zFlash.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zInput.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zInput_Win32.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zKBSplines.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zMathTools.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zMathTools.h
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zMenu.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zmenu_item.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zMusic_Dm.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zSndMSS.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zWin32.cpp
C:\modding\gothic_engine\current_work\ZenGin\_carsten\zzCarsten.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\z3d.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zAIPlayer.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zAlgebra.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zArchive2container.h
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zArchiver.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zArchiver2.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zArchiverGeneric.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zBsp.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zBsp.h
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zBSPBuild.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zBSPIndoor.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zBVolume.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zCamera.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zCollisionDetector.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zCollisionObject.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zCollisionObjectMisc.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zCollisionObjectMiscChar.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zContainer.h
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zConvexCollision.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zDecal.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zEigen.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zEngine.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zFile3d.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zFileQBSP.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zLensflare.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zMaterial.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zMemPool.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zMesh.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zModel.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zModel.h
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zModelProto.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zMorphMesh.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zMusic.h
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zObject.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zParticle.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zPolygon.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zPolyStrip.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zProgMeshBuild.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zProgMeshProto.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zQuadMark.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zRayCache.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zRenderManager.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zSession.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zSky.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zSound.h
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zSoundMan.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zSparseArray.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zSparseArray.h
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zTexFile.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zTexture.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zThread.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zTools.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zVertexBuffer.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zVob.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zVobLight.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zVobMisc.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zWorld.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zWorldLight.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zzDieter.cpp
C:\modding\gothic_engine\current_work\ZenGin\_dieter\zZone.cpp
C:\modding\gothic_engine\current_work\ZenGin\_kurt\zMusicCtrl.cpp
C:\modding\gothic_engine\current_work\ZenGin\_kurt\zRndD3D.h
C:\modding\gothic_engine\current_work\ZenGin\_kurt\zRndD3D_DxtcCache.cpp
C:\modding\gothic_engine\current_work\ZenGin\_kurt\zRndD3D_Init.cpp
C:\modding\gothic_engine\current_work\ZenGin\_kurt\zRndD3D_Render.cpp
C:\modding\gothic_engine\current_work\ZenGin\_kurt\zRndD3D_SurfaceCache.cpp
C:\modding\gothic_engine\current_work\ZenGin\_kurt\zRndD3D_Texture.cpp
C:\modding\gothic_engine\current_work\ZenGin\_kurt\zRndD3D_Vertexbuffer.cpp
C:\modding\gothic_engine\current_work\ZenGin\_kurt\zRndD3D_Vid.cpp
C:\modding\gothic_engine\current_work\ZenGin\_kurt\zTexConvert.cpp
C:\modding\gothic_engine\current_work\ZenGin\_kurt\zTexConvPalette.cpp
C:\modding\gothic_engine\current_work\ZenGin\_manuel\oCollisionObjectMiscChar.cpp
C:\modding\gothic_engine\current_work\ZenGin\_manuel\zAccount.cpp
C:\modding\gothic_engine\current_work\ZenGin\_roman\zViewDialog.cpp
C:\modding\gothic_engine\current_work\ZenGin\_roman\zViewDialogChoice.cpp
C:\modding\gothic_engine\current_work\ZenGin\_roman\zViewDraw.cpp
C:\modding\gothic_engine\current_work\ZenGin\_roman\zViewFX.cpp
C:\modding\gothic_engine\current_work\ZenGin\_roman\zViewObject.cpp
C:\modding\gothic_engine\current_work\ZenGin\_roman\zViewPrint.cpp
C:\modding\gothic_engine\current_work\ZenGin\_ulf\zConsole.cpp
C:\modding\gothic_engine\current_work\ZenGin\_ulf\zEventMan.cpp
C:\modding\gothic_engine\current_work\ZenGin\_ulf\zFonts.cpp
C:\modding\gothic_engine\current_work\ZenGin\_ulf\Zgrafix.cpp
C:\modding\gothic_engine\current_work\ZenGin\_ulf\zList.h
C:\modding\gothic_engine\current_work\ZenGin\_ulf\zParser.cpp
C:\modding\gothic_engine\current_work\ZenGin\_ulf\zParser_Lexer.cpp
C:\modding\gothic_engine\current_work\ZenGin\_ulf\zParser_Symbol.cpp
C:\modding\gothic_engine\current_work\ZenGin\_ulf\zView.cpp
C:\modding\gothic_engine\current_work\ZenGin\_ulf\zWaynet.cpp
C:\modding\gothic_engine\current_work\ZenGin\_ulf\ZzUlfi.cpp
Proszę jednak o bardzo ostrożne obchodzenie się z tymi plikami i nie kopiowanie ich na żaden inny serwer. W żadnym wypadku nie należy też rozpowszechniać informacji o ich wycieku, gdyż mogłoby się to wiązać z krokami prawnymi ze strony Piranha Bytes czy developera. Z tego też względu cały folder jest zaszyfrowany, bez hasła można jednak swobodnie uzyskać dostęp do listy plików. Proszę nie zwracać uwagi na nietypowe rozmiary, wynika to z tego ze ze względów bezpieczeństwa dla wyrównania na końcu każdego została dodana wyrównująca ilość pustych linii. Po hasło zapraszam tylko i wyłącznie na pw. Warunek jest jeden: tylko dla osób z forum, tylko na własny użytek, bez podawania go innym czy rozpowszechniania plików. Zapraszam do komentowania.
//edit: link usunięty, osoby które otrzymały hasło i pobrały pliki źródłowe proszę o nierozprowadzanie ich dalej ; D