mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-05 06:27:37 +00:00
New port: games/OpenTomb
OpenTomb is an open-source engine reimplementation project intended to play levels from all classic-era Tomb Raider games (TR 1-5) and custom TRLE levels. The project does not use any old Tomb Raider source code, because all attempts to retrieve sources from Eidos / Core were in vain. WWW: https://opentomb.github.io/ PR: 218883 Submitted by: Piotr Kubaj <pkubaj@anongoth.pl> Approved by: lme (mentor) Differential Revision: https://reviews.freebsd.org/D10664
This commit is contained in:
parent
42150d1a49
commit
554fb9dad6
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=442987
@ -17,6 +17,7 @@
|
||||
SUBDIR += CaribbeanStud
|
||||
SUBDIR += HeroesOfMightAndMagic
|
||||
SUBDIR += KnightCap
|
||||
SUBDIR += OpenTomb
|
||||
SUBDIR += abbayedesmorts
|
||||
SUBDIR += abe
|
||||
SUBDIR += abuse_sdl
|
||||
|
37
games/OpenTomb/Makefile
Normal file
37
games/OpenTomb/Makefile
Normal file
@ -0,0 +1,37 @@
|
||||
# Created by: Piotr Kubaj <pkubaj@anongoth.pl>
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= OpenTomb
|
||||
DISTVERSIONPREFIX= win32-
|
||||
DISTVERSION= 2017-04-24_alpha
|
||||
CATEGORIES= games
|
||||
|
||||
MAINTAINER= pkubaj@anongoth.pl
|
||||
COMMENT= Open-source Tomb Raider 1-5 engine remake
|
||||
|
||||
LICENSE= LGPL3
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
LIB_DEPENDS= libpng.so:graphics/png
|
||||
|
||||
USE_GITHUB= yes
|
||||
|
||||
USES= cmake lua openal
|
||||
USE_SDL= sdl2
|
||||
SUB_FILES= OpenTomb
|
||||
|
||||
post-patch:
|
||||
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/src/render/shader_manager.cpp
|
||||
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/scripts/entity/entity_functions.lua
|
||||
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/scripts/trigger/trigger_functions.lua
|
||||
|
||||
do-install:
|
||||
@${MKDIR} ${STAGEDIR}${DATADIR}
|
||||
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${DATADIR}
|
||||
${INSTALL_SCRIPT} ${WRKSRC}/autoexec.lua ${STAGEDIR}${DATADIR}
|
||||
@cd ${WRKSRC}/scripts && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/scripts "! -name *\.bak"
|
||||
@cd ${WRKSRC}/shaders && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/shaders
|
||||
@cd ${WRKSRC}/resource && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/resource
|
||||
${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
|
||||
|
||||
.include <bsd.port.mk>
|
3
games/OpenTomb/distinfo
Normal file
3
games/OpenTomb/distinfo
Normal file
@ -0,0 +1,3 @@
|
||||
TIMESTAMP = 1493300613
|
||||
SHA256 (OpenTomb-OpenTomb-win32-2017-04-24_alpha_GH0.tar.gz) = 48627b18f7d6f7a6675e66b12e26f6a4edbd1dbf4a0152eeca28eac86c9fd18d
|
||||
SIZE (OpenTomb-OpenTomb-win32-2017-04-24_alpha_GH0.tar.gz) = 9268426
|
3
games/OpenTomb/files/OpenTomb.in
Normal file
3
games/OpenTomb/files/OpenTomb.in
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
exec %%PREFIX%%/share/OpenTomb/OpenTomb -base_path %%PREFIX%%/share/OpenTomb -autoexec %%PREFIX%%/share/OpenTomb/autoexec.lua -config ~/.config.lua
|
18
games/OpenTomb/files/patch-src_world.cpp
Normal file
18
games/OpenTomb/files/patch-src_world.cpp
Normal file
@ -0,0 +1,18 @@
|
||||
Fix compiling with libc++ and Clang
|
||||
|
||||
src/world.cpp:689:53: error: no viable conversion from '__map_iterator<__tree_iterator<__value_type<unsigned int, [...]>, class std::__1::__tree_node<union
|
||||
std::__1::__value_type<unsigned int, struct base_item_s *>, void *> *, [...]>>' to '__map_iterator<__tree_iterator<__value_type<const unsigned int, [...]>, class std::__1::__tree_node<union std::__1::__value_type<const unsigned int, struct base_item_s *>, void
|
||||
*> *, [...]>>'
|
||||
std::map<const uint32_t, base_item_p>::iterator it = global_world.items_tree.find(item_id);
|
||||
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
--- src/world.cpp.orig 2017-04-23 13:39:54 UTC
|
||||
+++ src/world.cpp
|
||||
@@ -686,7 +686,7 @@ int World_CreateItem(uint32_t item_id, u
|
||||
|
||||
int World_DeleteItem(uint32_t item_id)
|
||||
{
|
||||
- std::map<const uint32_t, base_item_p>::iterator it = global_world.items_tree.find(item_id);
|
||||
+ std::map<uint32_t, base_item_p>::iterator it = global_world.items_tree.find(item_id);
|
||||
|
||||
if(it != global_world.items_tree.end())
|
||||
{
|
7
games/OpenTomb/pkg-descr
Normal file
7
games/OpenTomb/pkg-descr
Normal file
@ -0,0 +1,7 @@
|
||||
OpenTomb is an open-source engine reimplementation project intended to
|
||||
play levels from all classic-era Tomb Raider games (TR 1-5) and custom
|
||||
TRLE levels. The project does not use any old Tomb Raider source
|
||||
code, because all attempts to retrieve sources from Eidos / Core were
|
||||
in vain.
|
||||
|
||||
WWW: https://opentomb.github.io/
|
14
games/OpenTomb/pkg-message
Normal file
14
games/OpenTomb/pkg-message
Normal file
@ -0,0 +1,14 @@
|
||||
You need the following files to play OpenTomb:
|
||||
* Data folders from each game. Get them from your retail game CDs or
|
||||
Steam/GOG bundles.
|
||||
* CD audio tracks. OpenTomb only supports OGG audiotracks for a
|
||||
moment, so you should convert original soundtracks by yourself, or
|
||||
just download whole TR1-5 music package here:
|
||||
http://trep.trlevel.de/opentomb/files/tr_soundtracks_for_opentomb.zip
|
||||
|
||||
PLEASE NOTE: script file bundled in this archive is outdated, so
|
||||
don't overwrite existing soundtrack.lua file with one provided in
|
||||
archive.
|
||||
* Loading screens for TR1-3 and TR5. For TR3, get them from pix
|
||||
directory of your installed official game. For other versions
|
||||
download them from http://trep.trlevel.de/temp/loading_screens.zip
|
212
games/OpenTomb/pkg-plist
Normal file
212
games/OpenTomb/pkg-plist
Normal file
@ -0,0 +1,212 @@
|
||||
bin/OpenTomb
|
||||
%%DATADIR%%/OpenTomb
|
||||
%%DATADIR%%/autoexec.lua
|
||||
%%DATADIR%%/resource/fonts/DroidSansMono.ttf
|
||||
%%DATADIR%%/resource/fonts/LICENSE
|
||||
%%DATADIR%%/resource/fonts/Roboto-Regular.ttf
|
||||
%%DATADIR%%/resource/fonts/RobotoCondensed-Regular.ttf
|
||||
%%DATADIR%%/resource/fonts/VeraMoBd.ttf
|
||||
%%DATADIR%%/resource/fonts/VeraMono.ttf
|
||||
%%DATADIR%%/resource/fonts/Verdana.ttf
|
||||
%%DATADIR%%/resource/graphics/legal.png
|
||||
%%DATADIR%%/resource/icon/opentomb.ico
|
||||
%%DATADIR%%/resource/icon/opentomb.rc
|
||||
%%DATADIR%%/resource/mac/Images.xcassets/AppIcon.appiconset/Contents.json
|
||||
%%DATADIR%%/resource/mac/Info.plist
|
||||
%%DATADIR%%/scripts/audio/common_sounds.lua
|
||||
%%DATADIR%%/scripts/audio/sample_override.lua
|
||||
%%DATADIR%%/scripts/audio/soundtrack.lua
|
||||
%%DATADIR%%/scripts/autoexec.lua
|
||||
%%DATADIR%%/scripts/character/character.lua
|
||||
%%DATADIR%%/scripts/character/hair.lua
|
||||
%%DATADIR%%/scripts/character/ragdoll.lua
|
||||
%%DATADIR%%/scripts/config/control_constants.lua
|
||||
%%DATADIR%%/scripts/entity/entity_functions.lua
|
||||
%%DATADIR%%/scripts/entity/entity_functions_common.lua
|
||||
%%DATADIR%%/scripts/entity/entity_functions_enemies.lua
|
||||
%%DATADIR%%/scripts/entity/entity_functions_platforms.lua
|
||||
%%DATADIR%%/scripts/entity/entity_functions_switch.lua
|
||||
%%DATADIR%%/scripts/entity/entity_functions_traps.lua
|
||||
%%DATADIR%%/scripts/entity/entity_functions_unique.lua
|
||||
%%DATADIR%%/scripts/entity/entity_model_ID_override.lua
|
||||
%%DATADIR%%/scripts/entity/entity_properties.lua
|
||||
%%DATADIR%%/scripts/gameflow/TR1.lua
|
||||
%%DATADIR%%/scripts/gameflow/TR1_gold.lua
|
||||
%%DATADIR%%/scripts/gameflow/TR2.lua
|
||||
%%DATADIR%%/scripts/gameflow/TR2_gold.lua
|
||||
%%DATADIR%%/scripts/gameflow/TR3.lua
|
||||
%%DATADIR%%/scripts/gameflow/TR3_gold.lua
|
||||
%%DATADIR%%/scripts/gameflow/TR4.lua
|
||||
%%DATADIR%%/scripts/gameflow/TR5.lua
|
||||
%%DATADIR%%/scripts/gameflow/gameflow.lua
|
||||
%%DATADIR%%/scripts/gui/fonts.lua
|
||||
%%DATADIR%%/scripts/inventory/item_combine.lua
|
||||
%%DATADIR%%/scripts/inventory/item_list.lua
|
||||
%%DATADIR%%/scripts/inventory/items.lua
|
||||
%%DATADIR%%/scripts/level/tr1/CAT.lua
|
||||
%%DATADIR%%/scripts/level/tr1/CUT1.lua
|
||||
%%DATADIR%%/scripts/level/tr1/CUT2.lua
|
||||
%%DATADIR%%/scripts/level/tr1/CUT3.lua
|
||||
%%DATADIR%%/scripts/level/tr1/CUT4.lua
|
||||
%%DATADIR%%/scripts/level/tr1/EGYPT.lua
|
||||
%%DATADIR%%/scripts/level/tr1/END.lua
|
||||
%%DATADIR%%/scripts/level/tr1/END2.lua
|
||||
%%DATADIR%%/scripts/level/tr1/GYM.lua
|
||||
%%DATADIR%%/scripts/level/tr1/LEVEL1.lua
|
||||
%%DATADIR%%/scripts/level/tr1/LEVEL10A.lua
|
||||
%%DATADIR%%/scripts/level/tr1/LEVEL10B.lua
|
||||
%%DATADIR%%/scripts/level/tr1/LEVEL10C.lua
|
||||
%%DATADIR%%/scripts/level/tr1/LEVEL2.lua
|
||||
%%DATADIR%%/scripts/level/tr1/LEVEL3A.lua
|
||||
%%DATADIR%%/scripts/level/tr1/LEVEL3B.lua
|
||||
%%DATADIR%%/scripts/level/tr1/LEVEL4.lua
|
||||
%%DATADIR%%/scripts/level/tr1/LEVEL5.lua
|
||||
%%DATADIR%%/scripts/level/tr1/LEVEL6.lua
|
||||
%%DATADIR%%/scripts/level/tr1/LEVEL7A.lua
|
||||
%%DATADIR%%/scripts/level/tr1/LEVEL7B.lua
|
||||
%%DATADIR%%/scripts/level/tr1/LEVEL8A.lua
|
||||
%%DATADIR%%/scripts/level/tr1/LEVEL8B.lua
|
||||
%%DATADIR%%/scripts/level/tr1/LEVEL8C.lua
|
||||
%%DATADIR%%/scripts/level/tr1/TITLE.lua
|
||||
%%DATADIR%%/scripts/level/tr2/ASSAULT.lua
|
||||
%%DATADIR%%/scripts/level/tr2/BOAT.lua
|
||||
%%DATADIR%%/scripts/level/tr2/CATACOMB.lua
|
||||
%%DATADIR%%/scripts/level/tr2/CUT1.lua
|
||||
%%DATADIR%%/scripts/level/tr2/CUT2.lua
|
||||
%%DATADIR%%/scripts/level/tr2/CUT3.lua
|
||||
%%DATADIR%%/scripts/level/tr2/CUT4.lua
|
||||
%%DATADIR%%/scripts/level/tr2/DECK.lua
|
||||
%%DATADIR%%/scripts/level/tr2/EMPRTOMB.lua
|
||||
%%DATADIR%%/scripts/level/tr2/FLOATING.lua
|
||||
%%DATADIR%%/scripts/level/tr2/HOUSE.lua
|
||||
%%DATADIR%%/scripts/level/tr2/ICECAVE.lua
|
||||
%%DATADIR%%/scripts/level/tr2/KEEL.lua
|
||||
%%DATADIR%%/scripts/level/tr2/LEVEL1.lua
|
||||
%%DATADIR%%/scripts/level/tr2/LEVEL2.lua
|
||||
%%DATADIR%%/scripts/level/tr2/LEVEL3.lua
|
||||
%%DATADIR%%/scripts/level/tr2/LEVEL4.lua
|
||||
%%DATADIR%%/scripts/level/tr2/LEVEL5.lua
|
||||
%%DATADIR%%/scripts/level/tr2/LIVING.lua
|
||||
%%DATADIR%%/scripts/level/tr2/MONASTRY.lua
|
||||
%%DATADIR%%/scripts/level/tr2/OPERA.lua
|
||||
%%DATADIR%%/scripts/level/tr2/PLATFORM.lua
|
||||
%%DATADIR%%/scripts/level/tr2/RIG.lua
|
||||
%%DATADIR%%/scripts/level/tr2/SKIDOO.lua
|
||||
%%DATADIR%%/scripts/level/tr2/TITLE.lua
|
||||
%%DATADIR%%/scripts/level/tr2/UNWATER.lua
|
||||
%%DATADIR%%/scripts/level/tr2/VENICE.lua
|
||||
%%DATADIR%%/scripts/level/tr2/WALL.lua
|
||||
%%DATADIR%%/scripts/level/tr2/XIAN.lua
|
||||
%%DATADIR%%/scripts/level/tr3/ANTARC.lua
|
||||
%%DATADIR%%/scripts/level/tr3/AREA51.lua
|
||||
%%DATADIR%%/scripts/level/tr3/CHAMBER.lua
|
||||
%%DATADIR%%/scripts/level/tr3/CHUNNEL.lua
|
||||
%%DATADIR%%/scripts/level/tr3/CITY.lua
|
||||
%%DATADIR%%/scripts/level/tr3/COMPOUND.lua
|
||||
%%DATADIR%%/scripts/level/tr3/CRASH.lua
|
||||
%%DATADIR%%/scripts/level/tr3/HOUSE.lua
|
||||
%%DATADIR%%/scripts/level/tr3/JUNGLE.lua
|
||||
%%DATADIR%%/scripts/level/tr3/MINES.lua
|
||||
%%DATADIR%%/scripts/level/tr3/NEVADA.lua
|
||||
%%DATADIR%%/scripts/level/tr3/OFFICE.lua
|
||||
%%DATADIR%%/scripts/level/tr3/QUADCHAS.lua
|
||||
%%DATADIR%%/scripts/level/tr3/RAPIDS.lua
|
||||
%%DATADIR%%/scripts/level/tr3/ROOFS.lua
|
||||
%%DATADIR%%/scripts/level/tr3/SCOTLAND.lua
|
||||
%%DATADIR%%/scripts/level/tr3/SEWER.lua
|
||||
%%DATADIR%%/scripts/level/tr3/SHORE.lua
|
||||
%%DATADIR%%/scripts/level/tr3/SLINC.lua
|
||||
%%DATADIR%%/scripts/level/tr3/STPAUL.lua
|
||||
%%DATADIR%%/scripts/level/tr3/TEMPLE.lua
|
||||
%%DATADIR%%/scripts/level/tr3/TITLE.lua
|
||||
%%DATADIR%%/scripts/level/tr3/TONYBOSS.lua
|
||||
%%DATADIR%%/scripts/level/tr3/TOWER.lua
|
||||
%%DATADIR%%/scripts/level/tr3/TRIBOSS.lua
|
||||
%%DATADIR%%/scripts/level/tr3/TRTLA.lua
|
||||
%%DATADIR%%/scripts/level/tr3/UNDERSEA.lua
|
||||
%%DATADIR%%/scripts/level/tr3/VICT.lua
|
||||
%%DATADIR%%/scripts/level/tr3/WILLSDEN.lua
|
||||
%%DATADIR%%/scripts/level/tr3/ZOO.lua
|
||||
%%DATADIR%%/scripts/level/tr4/ALEXHUB.lua
|
||||
%%DATADIR%%/scripts/level/tr4/ALEXHUB2.lua
|
||||
%%DATADIR%%/scripts/level/tr4/ANGKOR1.lua
|
||||
%%DATADIR%%/scripts/level/tr4/ANG_RACE.lua
|
||||
%%DATADIR%%/scripts/level/tr4/BIKEBIT.lua
|
||||
%%DATADIR%%/scripts/level/tr4/CITNEW.lua
|
||||
%%DATADIR%%/scripts/level/tr4/CORTYARD.lua
|
||||
%%DATADIR%%/scripts/level/tr4/CSPLIT1.lua
|
||||
%%DATADIR%%/scripts/level/tr4/CSPLIT2.lua
|
||||
%%DATADIR%%/scripts/level/tr4/HALL.lua
|
||||
%%DATADIR%%/scripts/level/tr4/HIGHSTRT.lua
|
||||
%%DATADIR%%/scripts/level/tr4/JEEPCHAS.lua
|
||||
%%DATADIR%%/scripts/level/tr4/JEEPCHS2.lua
|
||||
%%DATADIR%%/scripts/level/tr4/JOBY1A.lua
|
||||
%%DATADIR%%/scripts/level/tr4/JOBY1B.lua
|
||||
%%DATADIR%%/scripts/level/tr4/JOBY2.lua
|
||||
%%DATADIR%%/scripts/level/tr4/JOBY3A.lua
|
||||
%%DATADIR%%/scripts/level/tr4/JOBY3B.lua
|
||||
%%DATADIR%%/scripts/level/tr4/JOBY4A.lua
|
||||
%%DATADIR%%/scripts/level/tr4/JOBY4B.lua
|
||||
%%DATADIR%%/scripts/level/tr4/JOBY4C.lua
|
||||
%%DATADIR%%/scripts/level/tr4/JOBY5A.lua
|
||||
%%DATADIR%%/scripts/level/tr4/JOBY5B.lua
|
||||
%%DATADIR%%/scripts/level/tr4/JOBY5C.lua
|
||||
%%DATADIR%%/scripts/level/tr4/KARNAK1.lua
|
||||
%%DATADIR%%/scripts/level/tr4/LAKE.lua
|
||||
%%DATADIR%%/scripts/level/tr4/LIBEND.lua
|
||||
%%DATADIR%%/scripts/level/tr4/LIBRARY.lua
|
||||
%%DATADIR%%/scripts/level/tr4/LOWSTRT.lua
|
||||
%%DATADIR%%/scripts/level/tr4/NUTRENCH.lua
|
||||
%%DATADIR%%/scripts/level/tr4/PALACES.lua
|
||||
%%DATADIR%%/scripts/level/tr4/PALACES2.lua
|
||||
%%DATADIR%%/scripts/level/tr4/SEMER.lua
|
||||
%%DATADIR%%/scripts/level/tr4/SEMER2.lua
|
||||
%%DATADIR%%/scripts/level/tr4/SETTOMB1.lua
|
||||
%%DATADIR%%/scripts/level/tr4/SETTOMB2.lua
|
||||
%%DATADIR%%/scripts/level/tr4/TITLE.lua
|
||||
%%DATADIR%%/scripts/level/tr4/TRAIN.lua
|
||||
%%DATADIR%%/scripts/level/tr5/ANDREA1.lua
|
||||
%%DATADIR%%/scripts/level/tr5/ANDREA2.lua
|
||||
%%DATADIR%%/scripts/level/tr5/ANDREA3.lua
|
||||
%%DATADIR%%/scripts/level/tr5/ANDY1.lua
|
||||
%%DATADIR%%/scripts/level/tr5/ANDY2.lua
|
||||
%%DATADIR%%/scripts/level/tr5/ANDY3.lua
|
||||
%%DATADIR%%/scripts/level/tr5/DEL.lua
|
||||
%%DATADIR%%/scripts/level/tr5/JOBY2.lua
|
||||
%%DATADIR%%/scripts/level/tr5/JOBY3.lua
|
||||
%%DATADIR%%/scripts/level/tr5/JOBY4.lua
|
||||
%%DATADIR%%/scripts/level/tr5/JOBY5.lua
|
||||
%%DATADIR%%/scripts/level/tr5/RICH1.lua
|
||||
%%DATADIR%%/scripts/level/tr5/RICH2.lua
|
||||
%%DATADIR%%/scripts/level/tr5/RICH3.lua
|
||||
%%DATADIR%%/scripts/level/tr5/RICHCUT2.lua
|
||||
%%DATADIR%%/scripts/level/tr5/TITLE.lua
|
||||
%%DATADIR%%/scripts/level_preload.lua
|
||||
%%DATADIR%%/scripts/loadscript.lua
|
||||
%%DATADIR%%/scripts/strings/english/generic.lua
|
||||
%%DATADIR%%/scripts/strings/english/global_items.lua
|
||||
%%DATADIR%%/scripts/strings/english/sys_notify.lua
|
||||
%%DATADIR%%/scripts/strings/french/generic.lua
|
||||
%%DATADIR%%/scripts/strings/french/global_items.lua
|
||||
%%DATADIR%%/scripts/strings/french/sys_notify.lua
|
||||
%%DATADIR%%/scripts/strings/getstring.lua
|
||||
%%DATADIR%%/scripts/strings/italian/generic.lua
|
||||
%%DATADIR%%/scripts/strings/italian/global_items.lua
|
||||
%%DATADIR%%/scripts/strings/russian/generic.lua
|
||||
%%DATADIR%%/scripts/strings/russian/global_items.lua
|
||||
%%DATADIR%%/scripts/strings/russian/sys_notify.lua
|
||||
%%DATADIR%%/scripts/strings/spanish/generic.lua
|
||||
%%DATADIR%%/scripts/strings/spanish/global_items.lua
|
||||
%%DATADIR%%/scripts/system/debug.lua
|
||||
%%DATADIR%%/scripts/system/sys_scripts.lua
|
||||
%%DATADIR%%/scripts/trigger/flipeffects.lua
|
||||
%%DATADIR%%/scripts/trigger/helper_functions.lua
|
||||
%%DATADIR%%/scripts/trigger/trigger_functions.lua
|
||||
%%DATADIR%%/shaders/entity.fsh
|
||||
%%DATADIR%%/shaders/entity.vsh
|
||||
%%DATADIR%%/shaders/room.fsh
|
||||
%%DATADIR%%/shaders/room.vsh
|
||||
%%DATADIR%%/shaders/static_mesh.fsh
|
||||
%%DATADIR%%/shaders/static_mesh.vsh
|
||||
%%DATADIR%%/shaders/text.fsh
|
||||
%%DATADIR%%/shaders/text.vsh
|
Loading…
Reference in New Issue
Block a user