Quick Links: Download Gideros Studio | Gideros Documentation | Gideros Development Center | Gideros community chat | DONATE
Gideros 2022.3 Released - Page 2 — Gideros Forum

Gideros 2022.3 Released

2

Comments

  • MoKaLuxMoKaLux Member
    edited March 2022
    hito9 said:

    MoKaLux Can you edit G3DFormat.lua line 157 and 176, you should replace with cross-platform path separator like below. I don't know there may be better solution.

    local mtlfile = mtl.normalMapFile:gsub("\\", "/")
    mtl.normalMap=Texture.new(path..mtlfile,true,{ wrap=TextureBase.REPEAT, extend=false})
    Thank you for a lots of contributions 3D Gideros features :)

    There are some little platform-based issues. I will keep testing.
    In the latest commit I proposed (https://github.com/gideros/gideros/pull/528/files) the code is slightly different, you pass the folder path with separator at the end like so:
    -- load the animated model
    local m2=buildGdx("models/theBoss/theBoss_mesh.json",
    { modelpath="models/theBoss/", } -- ps: I should've called it modelfolder :-(
    )

    And now in G3DFormat.lua this is:
    if mtl.textureFile and not mtl.texture then
    local path = mtl.modelpath or ""
    mtl.texture=Texture.new(path..mtl.textureFile,true,{ wrap=TextureBase.REPEAT, extend=false})
    end
    (same for normal map).

    What do you think?
    - is it better to pass the folder path with the separator at the end?
    - will it work for any os?
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • MoKaLuxMoKaLux Member
    edited March 2022
    hgy29 said:

    Ok, I’ll merge them. Btw I saw you added assets to the 3D Anim sample code: are they compatible with Gideros license ?

    I 99.99% of the time only use cc0 assets, some assets come with the license, others don't.
    For the plants and the mushrooms:
    --------------------------------------------------------------------------
    Thank you for downloading "Cartoon forest grass and mushrooms " by toman.kirilov
    Released under Creative Commons Zero (Public Domain)
    Downloaded from http://www.blendswap.com/blends/view/4127
    ###################################################################
    VERY IMPORTANT LICENSE INFORMATION:
    This blend has been released under Creative Commons Zero (Public Domain)
    This means that you can use it for any purpose you see fit, even commercially,
    as long as you respect these requirements:
    --There are no requirements for CC-0 licensed blends.
    ###################################################################

    The bench and the tree are cc0 but no license attached (and I don't remember where I got those, I have like thousands cc0 models and didn't think of keeping track of each websites).

    The man and the animation are from mixamo.com
    What type of projects can I create with Mixamo? https://helpx.adobe.com/creative-cloud/faq/mixamo-faq.html
    You can use both characters and animations royalty free for personal, commercial, and non-profit projects including: Incorporate characters into illustrations and graphic art. 3D print characters Create films Create video games


    PS: I am sorry for the .gproj file I messed up, I did the same mistake in the latest pull request :( I indeed linked the project to the Library/folders BUT the project was not located in the Examples\Graphics3D thus the wrong number of ../../...
    I can redo the commit if you want Program Files is read only I cannot modify the 3d-anim sample directly in Program Files, even with read only disabled for files and folders :#

    PS2: do you want me to include the cc0 license in the project and change the models which I don't have the license?
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • MoKaLuxMoKaLux Member
    edited March 2022
    hgy29 said:
    I built gideros with the latest commit and can confirm it is working :) , thank you hgy29 o:)
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • hito9hito9 Member
    edited March 2022
    MoKaLux said:

    What do you think?
    - is it better to pass the folder path with the separator at the end?
    - will it work for any os?

    In any case we have to convert the path that Blender produced.

    Linux, Macosx, Android, Posix accept / separator. Using / as the path separator will work with Lua API on Windows too. We should add file:gsub("\\", "/") method.

    @hgy29, editing "/3DDemo1/assets/3dbase/3DObjLoader2.lua" file produces different backtrace outputs. Interesting but it seems hard to find the cause of the problem.
    Thread 15 "OutlineWorkerTh" received signal SIGILL, Illegal instruction.
    [Switching to Thread 0x7fffc6a3b640 (LWP 14202)]
    0x000055555589bbc2 in Luau::get > (tv=0x0) at ../luau/Analysis/include/Luau/TypeVar.h:551
    551 LUAU_ASSERT(tv);
    (gdb) bt
    #0 0x000055555589bbc2 in Luau::get > (tv=0x0)
    at ../luau/Analysis/include/Luau/TypeVar.h:551
    #1 0x0000555555961f45 in operator() (__closure=0x7fffc6a39ab8, ty=0x0)
    at ../luau/Analysis/src/TypeVar.cpp:46
    #2 0x000055555596223e in Luau::follow(Luau::TypeVar const*, std::function) (t=0x0, mapper=...) at ../luau/Analysis/src/TypeVar.cpp:76
    #3 0x0000555555961ebf in Luau::follow (t=0x7fffb4041ec0) at ../luau/Analysis/src/TypeVar.cpp:38
    #4 0x0000555555973240 in Luau::Unifier::tryUnify_ (this=0x7fffc6a39ec0, subTy=0x7fffb405edc0,
    superTy=0x7fffb4041ec0, isFunctionCall=false, isIntersection=false)
    at ../luau/Analysis/src/Unifier.cpp:373
    #5 0x000055555597305f in Luau::Unifier::tryUnify (this=0x7fffc6a39ec0, subTy=0x7fffb405edc0,
    superTy=0x7fffb4041ec0, isFunctionCall=false, isIntersection=false)
    at ../luau/Analysis/src/Unifier.cpp:351
    #6 0x0000555555923bec in Luau::TypeChecker::unify (this=0x555555f7a6d8, subTy=0x7fffb405edc0,
    superTy=0x7fffb4041ec0, location=..., options=...) at ../luau/Analysis/src/TypeInfer.cpp:4324
    #7 0x0000555555923b48 in Luau::TypeChecker::unify (this=0x555555f7a6d8, subTy=0x7fffb405edc0,
    superTy=0x7fffb4041ec0, location=...) at ../luau/Analysis/src/TypeInfer.cpp:4318
    #8 0x0000555555908f7f in Luau::TypeChecker::check (this=0x555555f7a6d8,
    scope=std::shared_ptr (use count 8, weak count 0) = {...}, ty=0x7fffb405edc0,
    funScope=std::shared_ptr (use count 4, weak count 0) = {...}, function=...)
    at ../luau/Analysis/src/TypeInfer.cpp:1148
    #9 0x00005555559033a0 in operator() (__closure=0x7fffc6a3a400, stat=0x7fffb40265d0)
    at ../luau/Analysis/src/TypeInfer.cpp:404
    #10 0x0000555555903cb0 in Luau::TypeChecker::checkBlock (this=0x555555f7a6d8,
    scope=std::shared_ptr (use count 8, weak count 0) = {...}, block=...)
    at ../luau/Analysis/src/TypeInfer.cpp:487
    #11 0x00005555559022ee in Luau::TypeChecker::check (this=0x555555f7a6d8, module=...,
    mode=Luau::Mode::Nonstrict,
    environmentScope=std::optional> containing std::shared_ptr for more, q to quit, c to continue without paging--c
    ope> (use count 6, weak count 0) = {...}) at ../luau/Analysis/src/TypeInfer.cpp:268
    #12 0x000055555581a9d6 in Luau::Frontend::check (this=0x555555f7a5d0, name="/home/me/Gideros Yeniler2/MOKALUX Examples/GIDEROS_LUAU_SAMPLES-main/3D-Anim/assets/3dbase/3DObjLoader.lua", optionOverride=std::optional [no contained value]) at ../luau/Analysis/src/Frontend.cpp:411
    #13 0x0000555555601f3a in OutlineWorkerThread::run (this=0x5555561964a0) at outlinewidget.cpp:412
    #14 0x00007ffff65cec6d in ?? () from /home/me/gideros/Build.Linux/libQt6Core.so.6
    #15 0x00007ffff5d9c5c2 in start_thread () from /usr/lib/libc.so.6
    #16 0x00007ffff5e21584 in clone () from /usr/lib/libc.so.6
    (gdb)
    Another one:
    Thread 25 "OutlineWorkerTh" received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7ffff09fa640 (LWP 15096)]
    0x00005555558d4d89 in Luau::visit, Luau::Unifiable::Generic, Luau::Unifiable::Error, Luau::TypePack, Luau::VariadicTypePack>(Luau::TypePackStringifier::stringify(Luau::TypePackVar const*)::{lambda(auto:1&&)#1}&&, Luau::Variant, Luau::Unifiable::Generic, Luau::Unifiable::Error, Luau::TypePack, Luau::VariadicTypePack> const&) (vis=..., var=...) at ../luau/Analysis/include/Luau/Variant.h:260
    260 tableVisit[var.typeId](vis, &var.storage);
    (gdb) bt
    #0 0x00005555558d4d89 in Luau::visit, Luau::Unifiable::Generic, Luau::Unifiable::Error, Luau::TypePack, Luau::VariadicTypePack>(Luau::TypePackStringifier::stringify(Luau::TypePackVar const*)::{lambda(auto:1&&)#1}&&, Luau::Variant, Luau::Unifiable::Generic, Luau::Unifiable::Error, Luau::TypePack, Luau::VariadicTypePack> const&) (
    vis=..., var=...) at ../luau/Analysis/include/Luau/Variant.h:260
    #1 0x00005555558d4ee7 in Luau::TypePackStringifier::stringify (this=0x7ffff09f92a0, tp=0x7fffcc117e30)
    at ../luau/Analysis/src/ToString.cpp:747
    #2 0x00005555558ca667 in Luau::TypeVarStringifier::stringify (this=0x7ffff09f9440, tp=0x7fffcc117e30)
    at ../luau/Analysis/src/ToString.cpp:850
    #3 0x00005555558d35cb in Luau::TypeVarStringifier::operator() (this=0x7ffff09f9440, ftv=...)
    at ../luau/Analysis/src/ToString.cpp:426
    #4 0x00005555558d601e in Luau::TypeVarStringifier::stringify(Luau::TypeVar const*)::{lambda(auto:1&&)#1}::operator()(Luau::FunctionTypeVar const&) const (__closure=0x7ffff09f93d0, t=...)
    at ../luau/Analysis/src/ToString.cpp:250
    #5 0x00005555558cc744 in Luau::fnVisitV, const Luau::FunctionTypeVar>(struct {...} &, std::conditional_t *) (vis=..., src=0x7fffcc064e18)
    at ../luau/Analysis/include/Luau/Variant.h:245
    #6 0x00005555558d2834 in Luau::visit, Luau::Unifiable::Generic, Luau::Unifiable::Error, Luau::PrimitiveTypeVar, Luau::SingletonTypeVar, Luau::FunctionTypeVar, Luau::TableTypeVar, Luau::MetatableTypeVar, Luau::ClassTypeVar, Luau::AnyTypeVar, Luau::UnionTypeVar, Luau::IntersectionTypeVar, Luau::LazyTypeVar>(Luau::TypeVarStringifier::stringify(Luau::TypeVar const*)::{lambda(auto:1&&)#1}&&, Luau::Variant, Luau::Unifiable::Generic, Luau::Unifiable::Error, Luau::PrimitiveTypeVar, Luau::SingletonTypeVar, Luau::FunctionTypeVar, Luau::TableTypeVar, Luau::MetatableTypeVar, Luau::ClassTypeVar, Luau::AnyTypeVar, Luau::UnionTypeVar, Luau::IntersectionTypeVar, Luau::LazyTypeVar> const&) (vis=...,
    var=...) at ../luau/Analysis/include/Luau/Variant.h:260
    #7 0x00005555558d297b in Luau::TypeVarStringifier::stringify (this=0x7ffff09f9440, tv=0x7fffcc064e10)
    at ../luau/Analysis/src/ToString.cpp:248
    #8 0x00005555558cb238 in Luau::toStringDetailed (ty=0x7fffcc064e10, opts=...)
    at ../luau/Analysis/src/ToString.cpp:965
    #9 0x00005555558cbb61 in Luau::toString[abi:cxx11](Luau::TypeVar const*, Luau::ToStringOptions const&) (
    ty=0x7fffcc064e10, opts=...) at ../luau/Analysis/src/ToString.cpp:1075
    #10 0x00005555557c4093 in Luau::toString[abi:cxx11](Luau::TypeVar const*) (ty=0x7fffcc064e10)
    at ../luau/Analysis/include/Luau/ToString.h:58
    #11 0x000055555580fbdf in Luau::ErrorConverter::operator()[abi:cxx11](Luau::TypeMismatch const&) const (
    this=0x7ffff09f9a57, tm=...) at ../luau/Analysis/src/Error.cpp:54
    #12 0x000055555580cf5e in Luau::fnVisitR, Luau::TypeMismatch const> (vis=..., dst="", src=0x7fffcc0dfeb8) at ../luau/Analysis/include/Luau/Variant.h:239
    #13 0x0000555555813620 in Luau::visit (vis=...,
    var=...) at ../luau/Analysis/include/Luau/Variant.h:268
    #14 0x000055555580c032 in Luau::toString[abi:cxx11](Luau::TypeError const&) (error=...)
    --Type for more, q to quit, c to continue without paging--c
    at ../luau/Analysis/src/Error.cpp:674
    #15 0x000055555560202a in OutlineWorkerThread::run (this=0x55555647bda0) at outlinewidget.cpp:416
    #16 0x00007ffff65cec6d in ?? () from /home/me/gideros/Build.Linux/libQt6Core.so.6
    #17 0x00007ffff5d9c5c2 in start_thread () from /usr/lib/libc.so.6
    #18 0x00007ffff5e21584 in clone () from /usr/lib/libc.so.6
    (gdb)

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • MoKaLuxMoKaLux Member
    edited March 2022
    hito9 said:

    In any case we have to convert the path that Blender produced.


    Linux, Macosx, Android, Posix accept / separator. Using / as the path separator will work with Lua API on Windows too. We should add file:gsub("\\", "/") method.
    Good point, I will add this
    Sorry but I am confused, I need to check where we pick the actual textures from :/
    I believe it is from this function:
    local function parsemtl(mtls,path,file,prefix,textureFolder,textureMap)
    	if not io.open(path.."/"..file) then
    		print("Material file not found:"..path.."/"..file)
    		return 
    	end
    	local mtl={ texturew=0, textureh=0 }
    	for line in io.lines(path.."/"..file) do
    		line=line:gsub("  ", " ") -- fix for new blender 3.1 inserting 2 spaces instead of 1
    		fld=Split(line," ",10)
    ...
    		elseif fld[1]=="map_Kd" then
    			table.remove(fld,1)
    			local f=table.concat(fld," ")
    			if textureMap then f=textureMap[f] or f end
    			mtl.textureFile=(textureFolder or path).."/"..f
    		elseif fld[1]=="map_Bump" then
    			table.remove(fld,1)
    			if fld[1]=="-bm" then
    				table.remove(fld,1)
    				table.remove(fld,1)
    			end
    			local f=table.concat(fld," ")
    			if textureMap then f=textureMap[f] or f end
    			mtl.normalMapFile=(textureFolder or path).."/"..f
    		end
    	end
    end
    I will come back soon :)

    Likes: hito9

    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
    +1 -1 (+1 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    hito9 said:


    @hgy29, editing "/3DDemo1/assets/3dbase/3DObjLoader2.lua" file produces different backtrace outputs. Interesting but it seems hard to find the cause of the problem.

    Thread 15 "OutlineWorkerTh" received signal SIGILL, Illegal instruction.
    [Switching to Thread 0x7fffc6a3b640 (LWP 14202)]
    0x000055555589bbc2 in Luau::get > (tv=0x0) at ../luau/Analysis/include/Luau/TypeVar.h:551
    551 LUAU_ASSERT(tv);
    (gdb) bt
    #0 0x000055555589bbc2 in Luau::get > (tv=0x0)
    at ../luau/Analysis/include/Luau/TypeVar.h:551
    #1 0x0000555555961f45 in operator() (__closure=0x7fffc6a39ab8, ty=0x0)
    at ../luau/Analysis/src/TypeVar.cpp:46
    #2 0x000055555596223e in Luau::follow(Luau::TypeVar const*, std::function) (t=0x0, mapper=...) at ../luau/Analysis/src/TypeVar.cpp:76
    #3 0x0000555555961ebf in Luau::follow (t=0x7fffb4041ec0) at ../luau/Analysis/src/TypeVar.cpp:38
    #4 0x0000555555973240 in Luau::Unifier::tryUnify_ (this=0x7fffc6a39ec0, subTy=0x7fffb405edc0,
    superTy=0x7fffb4041ec0, isFunctionCall=false, isIntersection=false)
    at ../luau/Analysis/src/Unifier.cpp:373
    #5 0x000055555597305f in Luau::Unifier::tryUnify (this=0x7fffc6a39ec0, subTy=0x7fffb405edc0,
    superTy=0x7fffb4041ec0, isFunctionCall=false, isIntersection=false)
    at ../luau/Analysis/src/Unifier.cpp:351
    #6 0x0000555555923bec in Luau::TypeChecker::unify (this=0x555555f7a6d8, subTy=0x7fffb405edc0,
    superTy=0x7fffb4041ec0, location=..., options=...) at ../luau/Analysis/src/TypeInfer.cpp:4324
    #7 0x0000555555923b48 in Luau::TypeChecker::unify (this=0x555555f7a6d8, subTy=0x7fffb405edc0,
    superTy=0x7fffb4041ec0, location=...) at ../luau/Analysis/src/TypeInfer.cpp:4318
    #8 0x0000555555908f7f in Luau::TypeChecker::check (this=0x555555f7a6d8,
    scope=std::shared_ptr (use count 8, weak count 0) = {...}, ty=0x7fffb405edc0,
    funScope=std::shared_ptr (use count 4, weak count 0) = {...}, function=...)
    at ../luau/Analysis/src/TypeInfer.cpp:1148
    #9 0x00005555559033a0 in operator() (__closure=0x7fffc6a3a400, stat=0x7fffb40265d0)
    at ../luau/Analysis/src/TypeInfer.cpp:404
    #10 0x0000555555903cb0 in Luau::TypeChecker::checkBlock (this=0x555555f7a6d8,
    scope=std::shared_ptr (use count 8, weak count 0) = {...}, block=...)
    at ../luau/Analysis/src/TypeInfer.cpp:487
    #11 0x00005555559022ee in Luau::TypeChecker::check (this=0x555555f7a6d8, module=...,
    mode=Luau::Mode::Nonstrict,
    environmentScope=std::optional> containing std::shared_ptr for more, q to quit, c to continue without paging--c
    ope> (use count 6, weak count 0) = {...}) at ../luau/Analysis/src/TypeInfer.cpp:268
    #12 0x000055555581a9d6 in Luau::Frontend::check (this=0x555555f7a5d0, name="/home/me/Gideros Yeniler2/MOKALUX Examples/GIDEROS_LUAU_SAMPLES-main/3D-Anim/assets/3dbase/3DObjLoader.lua", optionOverride=std::optional [no contained value]) at ../luau/Analysis/src/Frontend.cpp:411
    #13 0x0000555555601f3a in OutlineWorkerThread::run (this=0x5555561964a0) at outlinewidget.cpp:412
    #14 0x00007ffff65cec6d in ?? () from /home/me/gideros/Build.Linux/libQt6Core.so.6
    #15 0x00007ffff5d9c5c2 in start_thread () from /usr/lib/libc.so.6
    #16 0x00007ffff5e21584 in clone () from /usr/lib/libc.so.6
    (gdb)
    Another one:
    Thread 25 "OutlineWorkerTh" received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7ffff09fa640 (LWP 15096)]
    0x00005555558d4d89 in Luau::visit, Luau::Unifiable::Generic, Luau::Unifiable::Error, Luau::TypePack, Luau::VariadicTypePack>(Luau::TypePackStringifier::stringify(Luau::TypePackVar const*)::{lambda(auto:1&&)#1}&&, Luau::Variant, Luau::Unifiable::Generic, Luau::Unifiable::Error, Luau::TypePack, Luau::VariadicTypePack> const&) (vis=..., var=...) at ../luau/Analysis/include/Luau/Variant.h:260
    260 tableVisit[var.typeId](vis, &var.storage);
    (gdb) bt
    #0 0x00005555558d4d89 in Luau::visit, Luau::Unifiable::Generic, Luau::Unifiable::Error, Luau::TypePack, Luau::VariadicTypePack>(Luau::TypePackStringifier::stringify(Luau::TypePackVar const*)::{lambda(auto:1&&)#1}&&, Luau::Variant, Luau::Unifiable::Generic, Luau::Unifiable::Error, Luau::TypePack, Luau::VariadicTypePack> const&) (
    vis=..., var=...) at ../luau/Analysis/include/Luau/Variant.h:260
    #1 0x00005555558d4ee7 in Luau::TypePackStringifier::stringify (this=0x7ffff09f92a0, tp=0x7fffcc117e30)
    at ../luau/Analysis/src/ToString.cpp:747
    #2 0x00005555558ca667 in Luau::TypeVarStringifier::stringify (this=0x7ffff09f9440, tp=0x7fffcc117e30)
    at ../luau/Analysis/src/ToString.cpp:850
    #3 0x00005555558d35cb in Luau::TypeVarStringifier::operator() (this=0x7ffff09f9440, ftv=...)
    at ../luau/Analysis/src/ToString.cpp:426
    #4 0x00005555558d601e in Luau::TypeVarStringifier::stringify(Luau::TypeVar const*)::{lambda(auto:1&&)#1}::operator()(Luau::FunctionTypeVar const&) const (__closure=0x7ffff09f93d0, t=...)
    at ../luau/Analysis/src/ToString.cpp:250
    #5 0x00005555558cc744 in Luau::fnVisitV, const Luau::FunctionTypeVar>(struct {...} &, std::conditional_t *) (vis=..., src=0x7fffcc064e18)
    at ../luau/Analysis/include/Luau/Variant.h:245
    #6 0x00005555558d2834 in Luau::visit, Luau::Unifiable::Generic, Luau::Unifiable::Error, Luau::PrimitiveTypeVar, Luau::SingletonTypeVar, Luau::FunctionTypeVar, Luau::TableTypeVar, Luau::MetatableTypeVar, Luau::ClassTypeVar, Luau::AnyTypeVar, Luau::UnionTypeVar, Luau::IntersectionTypeVar, Luau::LazyTypeVar>(Luau::TypeVarStringifier::stringify(Luau::TypeVar const*)::{lambda(auto:1&&)#1}&&, Luau::Variant, Luau::Unifiable::Generic, Luau::Unifiable::Error, Luau::PrimitiveTypeVar, Luau::SingletonTypeVar, Luau::FunctionTypeVar, Luau::TableTypeVar, Luau::MetatableTypeVar, Luau::ClassTypeVar, Luau::AnyTypeVar, Luau::UnionTypeVar, Luau::IntersectionTypeVar, Luau::LazyTypeVar> const&) (vis=...,
    var=...) at ../luau/Analysis/include/Luau/Variant.h:260
    #7 0x00005555558d297b in Luau::TypeVarStringifier::stringify (this=0x7ffff09f9440, tv=0x7fffcc064e10)
    at ../luau/Analysis/src/ToString.cpp:248
    #8 0x00005555558cb238 in Luau::toStringDetailed (ty=0x7fffcc064e10, opts=...)
    at ../luau/Analysis/src/ToString.cpp:965
    #9 0x00005555558cbb61 in Luau::toString[abi:cxx11](Luau::TypeVar const*, Luau::ToStringOptions const&) (
    ty=0x7fffcc064e10, opts=...) at ../luau/Analysis/src/ToString.cpp:1075
    #10 0x00005555557c4093 in Luau::toString[abi:cxx11](Luau::TypeVar const*) (ty=0x7fffcc064e10)
    at ../luau/Analysis/include/Luau/ToString.h:58
    #11 0x000055555580fbdf in Luau::ErrorConverter::operator()[abi:cxx11](Luau::TypeMismatch const&) const (
    this=0x7ffff09f9a57, tm=...) at ../luau/Analysis/src/Error.cpp:54
    #12 0x000055555580cf5e in Luau::fnVisitR, Luau::TypeMismatch const> (vis=..., dst="", src=0x7fffcc0dfeb8) at ../luau/Analysis/include/Luau/Variant.h:239
    #13 0x0000555555813620 in Luau::visit (vis=...,
    var=...) at ../luau/Analysis/include/Luau/Variant.h:268
    #14 0x000055555580c032 in Luau::toString[abi:cxx11](Luau::TypeError const&) (error=...)
    --Type for more, q to quit, c to continue without paging--c
    at ../luau/Analysis/src/Error.cpp:674
    #15 0x000055555560202a in OutlineWorkerThread::run (this=0x55555647bda0) at outlinewidget.cpp:416
    #16 0x00007ffff65cec6d in ?? () from /home/me/gideros/Build.Linux/libQt6Core.so.6
    #17 0x00007ffff5d9c5c2 in start_thread () from /usr/lib/libc.so.6
    #18 0x00007ffff5e21584 in clone () from /usr/lib/libc.so.6
    (gdb)

    It is always due to luau type checking. I think their code has trouble parsing the same file again in some cases. If you disable type checking, those crashes should disappear.
    On the other hand, their code is so complex that I am reluctant to 'debug' it.

    Likes: MoKaLux, hito9

    +1 -1 (+2 / -0 )Share on Facebook
  • MoKaLuxMoKaLux Member
    edited March 2022
    MoKaLux said:

    hito9 said:

    In any case we have to convert the path that Blender produced.


    Linux, Macosx, Android, Posix accept / separator. Using / as the path separator will work with Lua API on Windows too. We should add file:gsub("\\", "/") method.
    Good point, I will add this

    I will come back soon :)
    Ok, after checking, I can tell that we retrieve the information from the .mtl file in the parsemtl function from 3DObjLoader.lua:
    local function parsemtl(mtls,path,file,prefix,textureFolder,textureMap)
    	if not io.open(path.."/"..file) then
    		print("Material file not found:"..path.."/"..file)
    		return 
    	end
    	local mtl={}
    	for line in io.lines(path.."/"..file) do
    ...
    		elseif fld[1]=="map_Kd" then
    			table.remove(fld,1)
    			local f=table.concat(fld," ")
    			if textureMap then f=textureMap[f] or f end
    			mtl.textureFile=(textureFolder or path).."/"..f
    			print("*", mtl.textureFile)
    		elseif fld[1]=="map_Bump" then
    			table.remove(fld,1)
    ...
    			local f=table.concat(fld," ")
    			if textureMap then f=textureMap[f] or f end
    			mtl.normalMapFile=(textureFolder or path).."/"..f
    			print("**", mtl.normalMapFile)
    		end
    	end
    end
    And the output has a mix of / and \ :
    - print("*", mtl.textureFile) => "* models/player1/tex\StarSparrow_Orange.png"
    - print("**", mtl.normalMapFile) => "** models/player1/tex\StarSparrow_Normal.png"

    And that works for me on windows 10 without changing the code :o
    Doesn't this work on mac/linux?
    Lua may be doing some magic trick behind the scene? :|
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • hito9hito9 Member
    edited March 2022
    MoKaLux said:

    Doesn't this work on mac/linux?Lua may be doing some magic trick behind the scene? :|

    Unfortunately it doesn't work for me :/ Edit: Can you test Android export if your android setup is ready?

  • MoKaLuxMoKaLux Member
    edited March 2022
    I haven't built android apk with new luau, I will do it later today and try to fix the code if that doesn't work on android.
    @hito9 your fix worked for animated models and .obj models :) :
    	if mtl.textureFile and not mtl.texture then
    		local path = mtl.modelpath or ""
    		mtl.textureFile = string.gsub(mtl.textureFile, "\\", "/")
    		mtl.texture=Texture.new(path..mtl.textureFile,true,{ wrap=TextureBase.REPEAT, extend=false})
    ...
    	end
    The problem is with .glb files and their embedded textures (problem with file path). I am trying to fix it.
    Can you test on linux without the .glb models and your fix to G3DFormat.lua?

    PS: on my android (J6) the demo is lagging a bit (one should remove the skybox and use low poly models)

    Likes: hito9

    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
    +1 -1 (+1 / -0 )Share on Facebook
  • MoKaLuxMoKaLux Member
    edited March 2022
    android apk for latest Gideros (mygiderosplayer2-debug.apk): https://github.com/mokalux/gideros-player-for-android

    I should put it on google play one day ;)

    Likes: keszegh, hito9

    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
    +1 -1 (+2 / -0 )Share on Facebook
  • MoKaLuxMoKaLux Member
    edited March 2022
    MoKaLux said:

    The problem is with .glb files and their embedded textures (problem with file path). I am trying to fix it.

    Ok, let's continue this here https://forum.gideros.rocks/discussion/8551/gideros-3d-file-formats :)
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • hito9hito9 Member
    edited March 2022
    @hgy29 as i said before i have been studying C++ and Scintilla, i made some imporvements like
    * auto paste the selection to findDialog and replaceDialog search line
    * add word wrap icon to Toolbar (per page functional)
    * add long line indicator checkbox, colordialog, position layout to preferencesDialog
    * add whitepace checkbox, colordialog, size layout
    * add Texture Packer and Font Creator menu entries to Tools menu
    * gotoLine fix with setting visible line in available range (also for Find/Replace Dialogs)
    * add "add Toolbar to Menu" checkbox
    * (ImageMagick) command - mogrified -strip examples images avoiding many useless warnings during build/debuggins times
    * add Gtween pic for example projects(StartPage Widget)
    * fix style for txt files
    * edit: changed "Replace all" words from top line to bottom line with one click

    TODO: cross platform icons, set color word with color-picker from Toolbar button, QDark Theme first line invasion, lexers() keywords for colorizing(default values) , F3/Shift+F3 stored search pattern improvements, ShortCuts editor, playing media files on tree widgets, change indic box style for braces(hey you @rrraptor , where are you:)), fix a few bugs

    Should we add obj,tmx,mtl,plist extensions?

    Unfortunately, I am not qualified for some features for now. I don't promise that I can complete it. :) There are some annoying compatibility issues(deprecated qt5 methods). I don't know how to handle em.

    +1 -1 (+2 / -0 )Share on Facebook
  • MoKaLuxMoKaLux Member
    edited April 2022
    Woaw, those look awesome :o
    please note there is a little bug with search/replace, it doesn't replace words in the very first line. For example if you find/replace the class name, it won't replace the class name in the very first line.

    Likes: hito9

    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
    +1 -1 (+1 / -0 )Share on Facebook
  • MobAmuseMobAmuse Member
    edited April 2022
    Found a strange new crash bug which affects Android target 32 .aab exported app with ads (both AppLovin & Unity) onboard. If I export as .apk and run on BlueStacks emulator all is OK. If I export as .aab and run on real device it crashes on boot.

    I suspect AppLovin and Unity ads libs support needs updating but that is just my best guess at this stage?

    --- Logcat ---

    2022-04-08 17:29:31.520 32504-608/? E/AndroidRuntime: FATAL EXCEPTION: ConnectivityThread
    Process: com.mobileamusements.AquaSlots2TreasureIslandFREE, PID: 32504
    java.lang.SecurityException: getDataNetworkTypeForSubscriber
    at android.os.Parcel.createExceptionOrNull(Parcel.java:2437)
    at android.os.Parcel.createException(Parcel.java:2421)
    at android.os.Parcel.readException(Parcel.java:2404)
    at android.os.Parcel.readException(Parcel.java:2346)
    at com.android.internal.telephony.ITelephony$Stub$Proxy.getNetworkTypeForSubscriber(ITelephony.java:9300)
    at android.telephony.TelephonyManager.getNetworkType(TelephonyManager.java:3550)
    at android.telephony.TelephonyManager.getNetworkType(TelephonyManager.java:3514)
    at com.unity3d.services.core.connectivity.ConnectivityMonitor.connectionStatusChanged(ConnectivityMonitor.java:162)
    at com.unity3d.services.core.connectivity.ConnectivityNetworkCallback.onCapabilitiesChanged(ConnectivityNetworkCallback.java:48)
  • MobAmuseMobAmuse Member
    edited April 2022
    OK so tried updating Gideros ads.plugin to latest Unity Ads SDK to 4.1.0 and put that SDK in the Gideros cache too. Gideros export then complains min SDK should be 19 not 16, so I updated the Gideros build gradle template so min SDK = 19. I then get this on export (see below)...

    --- .APK export test output @ min SDK=19 and target SDK=32 using Unity Ads 4.1.0 ---

    > Task :app:compileReleaseJavaWithJavac FAILED
    C:\Temp\AquaSlots2\tmp\app\src\main\java\com\giderosmobile\android\plugins\ads\frameworks\AdsUnity.java:12: error: cannot find symbol
    public class AdsUnity implements AdsInterface, IUnityAdsListener {
    ^
    symbol: class IUnityAdsListener
    C:\Temp\AquaSlots2\tmp\app\src\main\java\com\giderosmobile\android\plugins\ads\frameworks\AdsUnity.java:128: error: cannot find symbol
    public void onUnityAdsFinish(String s, UnityAds.FinishState finishState) {
    ^
    symbol: class FinishState
    location: class UnityAds
    C:\Temp\AquaSlots2\tmp\app\src\main\java\com\giderosmobile\android\plugins\ads\frameworks\AdsUnity.java:138: error: cannot find symbol
    public void onUnityAdsError(UnityAds.UnityAdsError unityAdsError, String s) {
    ^
    symbol: class UnityAdsError
    location: class UnityAds
    C:\Temp\AquaSlots2\tmp\app\src\main\java\com\giderosmobile\android\plugins\ads\frameworks\AdsUnity.java:63: error: no suitable method found for initialize(Activity,String,AdsUnity)
    UnityAds.initialize(sActivity.get(), param.get(0), this);
    ^
    method UnityAds.initialize(Context,String,IUnityAdsInitializationListener) is not applicable
    (argument mismatch; AdsUnity cannot be converted to IUnityAdsInitializationListener)
    method UnityAds.initialize(Context,String,boolean) is not applicable
    (argument mismatch; AdsUnity cannot be converted to boolean)
    C:\Temp\AquaSlots2\tmp\app\src\main\java\com\giderosmobile\android\plugins\ads\frameworks\AdsUnity.java:117: error: method does not override or implement a method from a supertype
    @Override
    ^
    C:\Temp\AquaSlots2\tmp\app\src\main\java\com\giderosmobile\android\plugins\ads\frameworks\AdsUnity.java:122: error: method does not override or implement a method from a supertype
    @Override
    ^
    C:\Temp\AquaSlots2\tmp\app\src\main\java\com\giderosmobile\android\plugins\ads\frameworks\AdsUnity.java:127: error: method does not override or implement a method from a supertype
    @Override
    ^
    C:\Temp\AquaSlots2\tmp\app\src\main\java\com\giderosmobile\android\plugins\ads\frameworks\AdsUnity.java:129: error: cannot find symbol
    if (finishState== UnityAds.FinishState.COMPLETED)
    ^
    symbol: variable FinishState
    location: class UnityAds
    C:\Temp\AquaSlots2\tmp\app\src\main\java\com\giderosmobile\android\plugins\ads\frameworks\AdsUnity.java:131: error: cannot find symbol
    else if (finishState== UnityAds.FinishState.SKIPPED)
    ^
    symbol: variable FinishState
    location: class UnityAds
    C:\Temp\AquaSlots2\tmp\app\src\main\java\com\giderosmobile\android\plugins\ads\frameworks\AdsUnity.java:133: error: cannot find symbol
    else if (finishState== UnityAds.FinishState.ERROR)
    ^
    symbol: variable FinishState
    location: class UnityAds
    C:\Temp\AquaSlots2\tmp\app\src\main\java\com\giderosmobile\android\plugins\ads\frameworks\AdsUnity.java:137: error: method does not override or implement a method from a supertype
    @Override
    ^
    Note: Some input files use or override a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
    11 errors
  • MobAmuseMobAmuse Member
    edited April 2022
    Conclusion: I also went on to test a fully updated app that only uses AppLovin Max Ads and it all worked fine. It may mean then that I drop Unity Ads altogether from my ads waterfall/rotator in the run up to November 2022 to keep them all alive perhaps.

    Likes: MoKaLux, hito9

    +1 -1 (+2 / -0 )Share on Facebook
  • hito9 said:

    @hgy29 as i said before i have been studying C++ and Scintilla, i made some imporvements like
    * auto paste the selection to findDialog and replaceDialog search line
    * add word wrap icon to Toolbar (per page functional)
    * add long line indicator checkbox, colordialog, position layout to preferencesDialog
    * add whitepace checkbox, colordialog, size layout
    * add Texture Packer and Font Creator menu entries to Tools menu
    * gotoLine fix with setting visible line in available range (also for Find/Replace Dialogs)
    * add "add Toolbar to Menu" checkbox
    * (ImageMagick) command - mogrified -strip examples images avoiding many useless warnings during build/debuggins times
    * add Gtween pic for example projects(StartPage Widget)
    * fix style for txt files
    * edit: changed "Replace all" words from top line to bottom line with one click
    ...

    Hi hito9 hope you are doing fine and other gideros people too, I wish all the best for you all and humanity in general o:)
    hito9 could you push your commits to gideros GH? I am trying to "play" with it but I need some guidance and I believe your commit could help :p

    hello world! o:)

    Likes: hito9

    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
    +1 -1 (+1 / -0 )Share on Facebook
  • hito9hito9 Member
    MoKaLux said:

    please note there is a little bug with search/replace, it doesn't replace words in the very first line. For example if you find/replace the class name, it won't replace the class name in the very first line.

    Fixed

    But i'm so busy these days. I may ask a pull request for some of the commits 3-4 days later. See you
    +1 -1 (+2 / -0 )Share on Facebook
  • YanYan Member
    Please fix also
    ctrl+g
    should jump to line, but not it just select editior from beginning to line, but not jumping.
    vk.com/yan_alex
  • hito9hito9 Member
    Yan said:

    Please fix also ctrl+g should jump to line, but not it just select editior from beginning to line, but not jumping.

    Fixed

    Likes: hgy29, Yan

    +1 -1 (+2 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    Great to see that you guys are improving Gideros Studio, I am on holidays this week but I have been working on (and yet to finish) two new graphic features: Sprite cloning and 3D particles. I am eager to see what you will do with them.
    +1 -1 (+7 / -0 )Share on Facebook
  • hito9hito9 Member
    @hgy29 I made a pull request for some changes. The other improvements is WIP. (Syntax Color Editor, Keymap Editor, media(assets) playing feature) @MoKaLux I am the noob :) Some changes take time. i hope it helps, Sorry if I reply late.
    +1 -1 (+2 / -0 )Share on Facebook
  • MoKaLuxMoKaLux Member
    edited April 2022
    @hito9 I built your gideros and it seems to work fine :)
    your color panel addition is awesome.

    One minor issue I have on my side is Highlighter doesn't work (please note it was working with gideros 2022.1.3 but not after that). I tried with different themes, options, ...

    If you build hito9 gideros don't forget to change this line in ui.pro
    https://github.com/hitonn/gideros/blob/1c4583c4e024d8b4925e65cc7b31b39676aa69a9/ui/ui.pro#L8
    CONFIG += silent c++17 debug
    CONFIG += silent c++17

    Thanks a lot for your contributions <3

    Likes: hito9

    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
    +1 -1 (+1 / -0 )Share on Facebook
  • hito9hito9 Member
    edited April 2022
    MoKaLux said:

    @hito9 I built your gideros and it seems to work fine :) your color panel addition is awesome.

    glad to see working well :) But the all user themes are not compatible with Qt6 widgets like the color dialog. Mumble and QMC2 themes are relatively good. QDark theme causes the following issue that @rrraptor had mentioned before

    MoKaLux said:

    One minor issue I have on my side is Highlighter doesn't work (please note it was working with gideros 2022.1.3 but not after that). I tried with different themes, options, ...


    Yes and the code folding doesn't work , we need to review @rrraptor contributions. Thank you too, for your time and feedbacks

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    hito9 said:

    Yes and the code folding doesn't work

    Just to be sure I experience the same thing: for me code folding does work, but symbols in the folding margin aren't drawn correctly. Is this what you see too ?
  • hito9hito9 Member
    edited April 2022
    hgy29 said:

    hito9 said:

    Yes and the code folding doesn't work

    Just to be sure I experience the same thing: for me code folding does work, but symbols in the folding margin aren't drawn correctly. Is this what you see too ?
    If the page consists of simple functions, there is no problem. However, if the page consists of complex blocks, some blocks do not fold or unfold. I am offering to revert LexLua.cxx with the upstream LexLua.cxx for now. After we fix the problem, we can take back the changes.
    I'm not sure line 216 in LexLua.cxx invalidate the next block. Experienced coder should check it out.
    		} else if (sc.state == SCE_LUA_COMMENTLINE) {
    			if (sc.Match("!Region") || sc.Match("!EndRegion")) {
    				sc.ForwardSetState(SCE_LUA_WORD5);
    			}
    			if (sc.atLineEnd) {
    				sc.ForwardSetState(SCE_LUA_DEFAULT);
    			}
    		} else if (sc.state == SCE_LUA_COMMENTLINE || sc.state == SCE_LUA_PREPROCESSOR || sc.state == SCE_LUA_WORD5) {
    			if (sc.atLineEnd) {
    				sc.ForwardSetState(SCE_LUA_DEFAULT);
    			}
    Edit:Yes, the folding margin aren't drawn correctly. This may be different issue.
  • hgy29hgy29 Maintainer
    hito9 said:


    I'm not sure line 216 in LexLua.cxx invalidate the next block.

    It shouldn't, although it would be best to remove the 'COMMENTLINE' case on the condition of the next block.
    Since I made some changes to LexLua myself to deal with Luau ternary operators, I will try to fix it. Could you share a test case of something that doesn't work as it should ? I didn't spot anything wrong with my codes, but maybe I am not understand what is wrong.


  • hito9hito9 Member
    edited April 2022
    hgy29 said:

    hito9 said:


    I'm not sure line 216 in LexLua.cxx invalidate the next block.

    Could you share a test case of something that doesn't work as it should ?
    You can test with luashader.lua from VR Oculus example. The first blocks look ok but if you scroll down you can see mixed folded/unfolded blocks. Ctrl + Shift + Mouse_Click on the margin symbols for quick tests.

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    edited April 2022
    I think I understood and fixed the problem, it has due to the code I added to support ternary operators, which was causing functions declared as expressions to break folding. The lack of vertical bars in the margin was actually a consequence of the folding problem.
    I fixed it by assuming that functions would never be used in ternary operators, which is unlikely but may happen since it is perfectly legal in luau. A better way would be to keep a stack of ternay/not ternary context, but that would make the parsing code much more complex.

    Commit: https://github.com/gideros/lexilla/commit/7cf1f43ee02ca449a4cae4eab9a97c6daf4ca068

    Likes: MoKaLux, hito9

    +1 -1 (+2 / -0 )Share on Facebook
  • FYI fold/unfold all/top doesn't work for me, it only folds the first one (a function). We are getting there thanks to your hard work guys o:)
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
Sign In or Register to comment.