14:20 < MertenNor> what is up with 0.7 anyways ? 14:20 < MertenNor> heinrich5991: ^ :P 14:20 <@heinrich5991> "ask Oy" 14:21 < MertenNor> do you have a link to that progress site ? 14:25 < MertenNor> heinrich5991: or did it move to a different place ? 14:26 <@heinrich5991> what progress site? 14:26 <@heinrich5991> do you mean https://github.com/teeworlds/teeworlds? 14:27 < MertenNor> na.. there was this site a loong time ago that had some progress bars and stuff.. and diferent bug reports 14:29 < AndreasGan> Yo 14:31 <@minus> trac had milestones, so has github 14:31 < MertenNor> yeah it was that trac site I remember 14:33 < MertenNor> https://www.teeworlds.com/trac/teeworlds/timeline 404 14:33 < AndreasGan> Is this ModAPI recommended? 14:33 < AndreasGan> https://www.teeworlds.com/forum/viewtopic.php?id=11710 14:35 <@heinrich5991> dunno what you mean with recommended 14:35 < AndreasGan> or does anyone know if it is backwards compatible with 0.6.3? 14:35 <@heinrich5991> mods are fun, so sure, try it out 14:36 < AndreasGan> Well, if it works well or if its better to work without it 14:37 <@heinrich5991> I haven't tried it. what are you trying to do? 14:37 < MertenNor> is that site with all the latest builds still up? 14:37 <@heinrich5991> I don' think so 14:38 < AndreasGan> I'm gonna rewrite a mod I made a long time ago 14:38 < AndreasGan> https://www.teeworlds.com/forum/viewtopic.php?pid=101886 14:39 <@heinrich5991> AndreasGan: I would probably try to do it without ModAPI, it's probably (?) not backwards compatible and does a lot of things you don't need :) 14:39 < AndreasGan> Okay, thanks :) 14:40 < AndreasGan> Yea I was wondering about backwards compatibility for it too 14:41 < AndreasGan> When 0.7 comes out do I have to rewrite the mod? @heinrich5991 14:43 <@heinrich5991> essentially yes 14:43 <@heinrich5991> you could look at the patch you produced for 0.6, and apply something similar to 0.7 14:43 <@heinrich5991> that shouldn't take too much time 14:44 < AndreasGan> right 14:44 < MertenNor> Teeworlds 0.7 -> 2020 ! 14:44 < MertenNor> :P 14:47 < MertenNor> heinrich5991: will race be official in 0.7 ? 14:47 <@heinrich5991> not likely 14:47 < MertenNor> ah ok remember people were saying that back in the day 14:48 < MertenNor> g2g cya in like 5months 14:52 < AndreasGan> Can I make VS Community 15 work with bam on windows? 14:54 <@heinrich5991> I don't know. have you tried compiling bam? 14:55 < AndreasGan> Honestly I don't know how I would do that 14:56 < AndreasGan> Because I've never used lua and I barely use C/C++ 14:57 <@heinrich5991> download http://github.com/downloads/matricks/bam/bam-0.4.0.zip 14:57 <@heinrich5991> extract it, run build_msvc.bat (or similar) 14:58 < AndreasGan> Oh right I did that 14:58 < AndreasGan> But I get an error 14:58 < AndreasGan> 2 sec 14:58 < AndreasGan> you need visual studio 8, 9 or 10 installed :/ 15:00 < AndreasGan> I'll see if theres a way to get the visual 10 tools or whatever into the 2015 version 15:00 < AndreasGan> after dinner :p 15:32 < AndreasGan> Anyone know where I can find express 2010? :/ 15:32 < AndreasGan> visual studio 15:37 <@heinrich5991> mh 15:37 <@heinrich5991> matricks maybe knows what to do 15:45 < AndreasGan> I cloned the bam git instead of downloading from https://matricks.github.io/bam/ 15:46 < AndreasGan> and now it says "you need vs 8,9,10,11,12 or 14" 15:47 < AndreasGan> so I think its gonna work, I just gotta intall visual studio first on this PC haha 15:59 < AndreasGan> Is this the main repo? https://github.com/teeworlds/teeworlds 16:00 <@minus> yes 16:24 < AndreasGan> https://www.teeworlds.com/?page=docs&wiki=compiling_everything 16:24 < AndreasGan> ..\bam\bam doesnt work 16:25 < AndreasGan> (windows) There's no bam folder in the teeworlds src 16:29 < AndreasGan> nvm im stupid 16:30 < AndreasGan> But the wiki is a bit confusing 16:36 < AndreasGan> teeworlds build fails: http://pastie.org/10790991 16:36 < AndreasGan> 0.6.3 16:43 < AndreasGan> Any ideas how I would fix that? 16:51 < AndreasGan> could I change the function name? 16:52 <@minus> you can probably just rename that function 16:52 <@minus> how come this is still broken anyway, we've seen that before 17:01 < AndreasGan> gosh so many problems - layer_tiles.cpp(251): error C2296: '%': illegal, left operand has type 'double' 17:02 < AndreasGan> I dont even need all this, I just need to compile a server mod, and doing C:\bam\bam release server doesnt work - target not found 17:03 < EastByte> AndreasGan: try bam server 17:05 < AndreasGan> It was actually server_release 17:05 < AndreasGan> Thanks though 17:05 < EastByte> depends on 0.6 or 0.7 18:57 < AndreasGan> Wer 18:57 <@heinrich5991> ? 18:58 < AndreasGan> Sorry x) I meant to say, where is the clan tag set? 18:58 < AndreasGan> Like how can I set a custom tag 18:58 < AndreasGan> is it player.cpp? 19:00 < AndreasGan> heinrich5991: do you know? 19:00 <@heinrich5991> player.cpp sounds good. is there a Snap function somewhere around there? 19:01 < AndreasGan> Yeah, I was also wondering about that. What does snap do? 19:02 <@heinrich5991> the snap function packages up information of the player to be sent to the client 19:04 < AndreasGan> Oh, hmm 19:04 < AndreasGan> Is it ran on an interval or something 19:05 <@heinrich5991> 50 times a seconds 19:05 <@heinrich5991> *a second 19:08 < AndreasGan> So I have to add my code to the snap function inside player.cpp - or is there a better way? 19:09 < AndreasGan> tStrToInts 19:09 < AndreasGan> wops, ignore ^ 19:10 <@minus> make an interface for your stuff, make an implementation class of it, create a factory class and use that (statically) inside the snap function 19:10 <@heinrich5991> that sounds enterprisey 19:10 * minus hides 19:10 <@heinrich5991> just make a function that mangles the clan name in a way you want, and call that inside snap 19:11 <@minus> heinrich5991: it's not even enterprisy. if you write java you'll have to do that sooner or later 19:15 < AndreasGan> Just found theres a setclientclan in server.cpp 19:17 <@heinrich5991> AndreasGan: but that only sets it "temporarily" 19:19 <@heinrich5991> AndreasGan: if the player changes their clan name, then your custom name will be gone 19:20 < AndreasGan> heinrich5991: Oh, thanks! was about to use it :p 21:14 < AndreasGan> Guys how do I access functions in my mods GameController class? 21:15 < AndreasGan> because the GameServer()->m_pController is of type IGameController 21:16 < AndreasGan> So when I use m_pController->MyFunction() i obviously get error: "is not a member of 'IGameController'" 21:16 < AndreasGan> heinrich5991, minus? 21:17 <@heinrich5991> well, how do you know that the current game controller is of your type? 21:17 <@heinrich5991> it might be ctf or dm or .. 21:18 < AndreasGan> wait, cant I just cast? 21:18 <@heinrich5991> what kind of function are you trying to call? 21:18 <@minus> dynamic_cast should do the job 21:18 < AndreasGan> well I am checking what gametype it is dont worry 21:18 <@minus> all hail RTTI 21:18 <@heinrich5991> you can, but what will happen if it's CGameControllerCTF? 21:18 < AndreasGan> its not, I check that its my gametype 21:18 <@heinrich5991> minus: that's totally backwards though 21:19 <@minus> will give a nullpointer on dynamic_cast if the wrong type 21:19 < AndreasGan> if(str_comp(GameServer()->m_pController->m_pGameType, "MOD")==0){ 21:19 <@heinrich5991> AndreasGan: what about adding a function to IGameController that does your thing in your mod, but does nothing on all other mods? 21:19 < AndreasGan> difference between dynamic_cast and casting with parentheses? 21:20 <@heinrich5991> one difference: casting with parantheses is C-style, casting with dynamic_cast is C++ style 21:20 < AndreasGan> heinrich5991: I like to keep all my functions in the same place if possible 21:21 < AndreasGan> Ok, thanks guys 21:22 <@heinrich5991> I think the paranthesis cast might not work here 21:24 <@heinrich5991> eh 21:24 <@heinrich5991> it'll probably work 21:24 < AndreasGan> dynamic_cast worked fine 21:25 <@minus> dynamic cast will give you nullptr if you cast to the wrong type, so careful there 21:25 <@heinrich5991> what 21:25 <@heinrich5991> c-style cast will fuck up your program if you cast it to the wrong type 21:25 <@heinrich5991> that's even worse 21:30 <@minus> of course 21:35 < AndreasGan> Guys I mustve made some newbie mistake, because my mod isnt working 21:35 < AndreasGan> in teeworlds its listed as "DM" 21:35 < AndreasGan> but I do sv_gametype MOD 21:35 < AndreasGan> in autoexec.cfg 21:36 <@minus> uhm, i don't think the server executes autoexec.cfg 21:36 <@minus> not sure tho 21:36 < AndreasGan> console says "executing autoexec" 21:37 <@matricks> can you do dynamic cast in tw code? 21:38 < AndreasGan> Can you check out the gamemode file? if I did something wrong: https://github.com/andreasgan/Juggernaut/tree/master/src/game/server/gamemodes 21:39 <@minus> matricks: unless there's not -fno-rtti, sure, why not 21:40 <@matricks> minus: I usually disable RTTI, but maybe I didn't do it in tw 21:40 <@matricks> to the person who did a dynamic cast, if you do it you need to check for null as well 21:40 <@minus> i said that already 21:40 <@matricks> okey :) 21:41 < AndreasGan> matricks: I will thanks 21:41 <@matricks> heinrich5991: dynamic_cast != c-style cast 21:41 <@matricks> heinrich5991: reintepret_cast == c-style cast 21:41 <@heinrich5991> neither nor 21:41 <@heinrich5991> e.g. float to int 21:44 <@matricks> huh? 21:44 <@minus> i don't think reinterpret cast allows changing constness 21:45 <@heinrich5991> float a = 5.0; 21:45 <@heinrich5991> reinterpret_cast(a) does not compile or does not give the same result as (int)a, I think 21:46 <@matricks> heh 21:46 <@matricks> g++ doesn't even allow that 21:47 <@matricks> test.cpp:5:40: error: invalid cast from type ‘float’ to type ‘int’ printf("%d\n", reinterpret_cast(a)); 21:47 <@matricks> because the reinterpret cast is not allowed to yield instructions I think 21:47 <@matricks> so you need a static_cast to do that 21:48 <@matricks> but static_cast can't throw away constness or volatile 21:48 <@matricks> which you need a const_cast for 21:49 <@matricks> so the c-style cast is a static+reinterpret cast in on 21:49 <@matricks> TIL 21:50 <@minus> c-style is i-know-what-im-doing 21:52 <@heinrich5991> what about reinterpret_cast from a derived class with two base classes to the second bass class? 21:52 <@heinrich5991> that should incur an addiition 21:55 <@heinrich5991> or is that a static cast? 21:56 <@matricks> reinterpret will only change the type 21:56 < AndreasGan> lol I did "sv_gametype = jug;" 21:56 <@matricks> not move the pounter 21:56 <@matricks> pinter 21:56 <@matricks> pointer 21:56 <@matricks> as no code should be generated from it 21:57 <@heinrich5991> ok 21:59 <@minus> i recently found out that you can make DSLs with Lua. ever considered making bam's build scripts more DSL-like? 21:59 <@minus> ^ matricks 22:00 <@heinrich5991> in what way can you build DSLs? 22:00 <@minus> http://leafo.net/guides/dsl-in-lua.html 22:00 <@minus> like that 22:00 <@minus> it's still lua code 22:03 <@heinrich5991> the good thing about not doing that is that it's readable, and error messages will make sense 22:08 <@matricks> minus: minus not really 22:10 <@matricks> minus: more documentation :) 22:11 <@minus> heh