• What are you working on? v67 - March 2017
    3,527 replies, posted
[QUOTE=JWki;52501408]What kind of issue are you having? EDIT: As in, how exactly does it seem to fail?[/QUOTE] I filed an issue [URL="https://github.com/ocornut/imgui/issues/1248"]here[/URL] I always get nervous filing these, wondering if its just me being dumb. But this one has me stymied and I [I]do[/I] have a thing for breaking libraries (including robust ones) in new ways :V
I made a tiling window manager helper for MacOS today :) I couldn't find a nice simple one so I just made my own. I wrote it in c and nim for the sake of learning the language. It's an okay language :~) github: [url]http://github.com/simply-jos/darwintiler[/url] [img]http://i.imgur.com/VwHaUpZ.png[/img]
Haven't worked on much but I discovered ccache, distcc, and lld for improving compile and link times, thus improving iteration time and allowing me to be more productive on larger projects. Linking is my biggest bottleneck, as object files from previous compilations get reused anyways, but ccache and distcc still have their uses.
Still struggling with my database. I know the code is right, my tables are intact, the connector is fine, I've used this statement before in other projects. Is it time to submit an issue?
[QUOTE=Adelle Zhu;52503662]Still struggling with my database. I know the code is right, my tables are intact, the connector is fine, I've used this statement before in other projects. Is it time to submit an issue?[/QUOTE] There's no harm in doing so, especially if the repo in question is fairly active and the devs seem friendly. knowing how nice ocornut is made it less scary to submit an issue for imgui. SPEAKING OF the bug was of my own doing, [I]goddamnit[/I]! its not something simple and it took me ages to find, but the gist is that in my renderer I was compiling the submodule version of imgui - v1.51. The headers that my renderer was using though were for 1.49. ImGui lets you set your own free/alloc function pointers, and it was these that were failing so I tried to set the free function to be std::free. When this failed I decided to inspect the ImGuiIO struct in more detail to see what's going wrong: [t]https://user-images.githubusercontent.com/11087615/28545104-86c3898a-707a-11e7-8793-5c132aea8c4f.PNG[/t] Trying to call the MemFreeFn caused an access violation executing location exception, which was actually the hint that got me checking for this sort of thing in particular. In v1.51 the ClipboardUserData was added: in v1.49, there simply isn't a ClipboardUserData field. Which explains why things were exploding. The bitterly ironic part of this is that I was moving to submodules for external libraries and using my own libraries to avoid such issues: but I was defeated by a past mistake that I failed to clean up. Mostly just glad I found this - and more surprised that things didn't explode harder than they did, given the error in question.
Turns out the orange pi zero allows for odd baudrates, so I decided to use it to generate DMX signals! Code written in Python, I will put it on my github later today. [media]https://www.youtube.com/watch?v=ytwSPgyWoqM[/media]
[QUOTE=paindoc;52505436]There's no harm in doing so, especially if the repo in question is fairly active and the devs seem friendly. knowing how nice ocornut is made it less scary to submit an issue for imgui. SPEAKING OF the bug was of my own doing, [I]goddamnit[/I]! its not something simple and it took me ages to find, but the gist is that in my renderer I was compiling the submodule version of imgui - v1.51. The headers that my renderer was using though were for 1.49. ImGui lets you set your own free/alloc function pointers, and it was these that were failing so I tried to set the free function to be std::free. When this failed I decided to inspect the ImGuiIO struct in more detail to see what's going wrong: [t]https://user-images.githubusercontent.com/11087615/28545104-86c3898a-707a-11e7-8793-5c132aea8c4f.PNG[/t] Trying to call the MemFreeFn caused an access violation executing location exception, which was actually the hint that got me checking for this sort of thing in particular. In v1.51 the ClipboardUserData was added: in v1.49, there simply isn't a ClipboardUserData field. Which explains why things were exploding. The bitterly ironic part of this is that I was moving to submodules for external libraries and using my own libraries to avoid such issues: but I was defeated by a past mistake that I failed to clean up. Mostly just glad I found this - and more surprised that things didn't explode harder than they did, given the error in question.[/QUOTE] I fucking hate submodules. To qualify, they're probably fine to manage external libraries. They start to be a real pain once someone decides to split the whole project up so when you have to upgrade an api that concerns all parts, suddenly instead of creating a branch and merging the changes, you have to branch All of them.
[QUOTE=JWki;52505817]I fucking hate submodules.[/QUOTE] what? I love them. It has made so much of my life so much easier, along with using CMake's ExternalProject_Add. It makes it loads easier to disregard packaging dependencies with my projects, and in the case of submodules especially it means fixing bugs or issues in the submodule copy of a repo can be propagated easily. Without the possible issues of just copy-pasting code around.
[QUOTE=paindoc;52505894]what? I love them. It has made so much of my life so much easier, along with using CMake's ExternalProject_Add. It makes it loads easier to disregard packaging dependencies with my projects, and in the case of submodules especially it means fixing bugs or issues in the submodule copy of a repo can be propagated easily. Without the possible issues of just copy-pasting code around.[/QUOTE] I guess my specific experience with them has been in a project where they were not the right choice. As I already outlined, a project I have at work uses them excessively and so far all programmers on the project have been complaining about it for various reasons. I specifically am in the process of switching the internal scripting engine from QTs deprecated QTScript to use the QJS stuff and this means having to touch a whole lot of the submodules - not a very nice workflow. It's probably fine when the different submodules are independent from each other so you don't get the issue with having to branch and merge multiple repositories at once for a single feature. I'm probably just pretty biased because of my negative experiences.
Submodules are great for managing dependencies, be they 3rd party, or your own stand alone libraries. They are also good if you have multiple projects in one, but with the api comment it sounds like that is just an erroneous use of them
[QUOTE=JWki;52505817]I fucking hate submodules. To qualify, they're probably fine to manage external libraries. They start to be a real pain once someone decides to split the whole project up so when you have to upgrade an api that concerns all parts, suddenly instead of creating a branch and merging the changes, you have to branch All of them.[/QUOTE] One should only use submodules when the submodules are completely standalone. If you have to branch all of them, you are using them incorrectly.
[QUOTE=DrDevil;52507810]One should only use submodules when the submodules are completely standalone. If you have to branch all of them, you are using them incorrectly.[/QUOTE] Yeah it's incorrect use, as I said my distaste of them is due to experience bias. In my own projects I never had any use for them, I tend to handle dependencies differently.
I've chained two el-cheapo chinesium dmx controllers in series, and they do actually work! DMX is fantastic, it's the kind of bus I've been looking for in years. [media]https://www.youtube.com/watch?v=R-Dcrj56tbg[/media] [editline]26th July 2017[/editline] Also, as promised, here's the DMX code: [url]https://github.com/DrLuke/ozoradmx/blob/master/dmx.py[/url] Works on Orange Pi Zero, and should work on any other embedded platform that supports arbitrary baudrates. As far as I know Raspberry Pis can't do this. There you need to detune the UART clock to achieve the correct baudrate.
I totally forgot to consider a driver bug at work today, and it cost me 2 hours of work. I'm using a K1200 card in my work computer and hadn't updated the drivers in ages: turns out that all my vertex coordinate Y data being "2.6" and all my index data being invalid was a just a driver bug all along. Driver bugs are weird. I'm surprised it didn't crash harder. What's weirder is that I could draw ImGui elements just fine, but any mesh elements I generated wouldn't draw.
[QUOTE=DrDevil;52509393]I've chained two el-cheapo chinesium dmx controllers in series, and they do actually work! DMX is fantastic, it's the kind of bus I've been looking for in years. [media]https://www.youtube.com/watch?v=R-Dcrj56tbg[/media] [editline]26th July 2017[/editline] Also, as promised, here's the DMX code: [url]https://github.com/DrLuke/ozoradmx/blob/master/dmx.py[/url] Works on Orange Pi Zero, and should work on any other embedded platform that supports arbitrary baudrates. As far as I know Raspberry Pis can't do this. There you need to detune the UART clock to achieve the correct baudrate.[/QUOTE] Might be simple to do on a Beaglebone Black as well, with the PRUs and what-not I understand you can use them to essentially make any communications protocol you want. Though last I checked they only have a C compiler for them, and they're not very well supported. :/
So I'm continuing to work on my 2D turn based .. brawl em up... thing... and I got bored so I added a grappling hook >:) I connected the player's Rigidbody2D to a series of HingeJoint2Ds, then finally to a top static Rigidbody, letting unity take care of all the work. This was a bit of a pain to get to work with the current system, as I had previously calculated movement on a Kinematic Rigidbody, however, in order to use Unity's physics system a Dynamic Rigidbody is needed. My solution was just to swap the body types every time the user holds down and releases rmb, swapping velocities between the systems when needed... which seems to work! I then joined all the nodes with a line renderer, and it turned out pretty alright :) [vid]https://i.gyazo.com/623cc1f0488095d8bc7ec05c6e903c43.mp4[/vid]
Still working on the Wii settings menu for dolphin Qt, feeling more motivated after my first PR for some view settings got merged the other day :D
[QUOTE=PhoenixPiggy;52510657]So I'm continuing to work on my 2D turn based .. brawl em up... thing... and I got bored so I added a grappling hook >:) I connected the player's Rigidbody2D to a series of HingeJoint2Ds, then finally to a top static Rigidbody, letting unity take care of all the work. This was a bit of a pain to get to work with the current system, as I had previously calculated movement on a Kinematic Rigidbody, however, in order to use Unity's physics system a Dynamic Rigidbody is needed. My solution was just to swap the body types every time the user holds down and releases rmb, swapping velocities between the systems when needed... which seems to work! I then joined all the nodes with a line renderer, and it turned out pretty alright :) [vid]https://i.gyazo.com/623cc1f0488095d8bc7ec05c6e903c43.mp4[/vid][/QUOTE] I was just reminded of the rope physics in [I]Half-life: Opposing Force[/I]. Yours is way better though
Spotted in some code today [cpp]#define true '+'+'+' #define false '-'-'-'[/cpp]
[QUOTE=r0b0tsquid;52512310]Spotted in some code today [cpp]#define true '+'+'+' #define false '-'-'-'[/cpp][/QUOTE] I mean, it works, but why?
[QUOTE=Ac!dL3ak;52513021]I mean, it works, but why?[/QUOTE] '+' + '+' 43 + 43 > 0 '-' - '-' 45 - 45 = 0
[QUOTE=horsedrowner;52513196]'+' + '+' 43 + 43 > 0 '-' - '-' 45 - 45 = 0[/QUOTE] The question isn't "why does this work", it's "why would you do this"
its neat
[QUOTE=proboardslol;52513308]its neat[/QUOTE] It's actually terrible, pointless, and confusing to anyone with a weak grasp on the language. It is like a worse version of the people in school I knew who would insist on doing while (1 == 1) instead of while (true).
[QUOTE=horsedrowner;52513196]'+' + '+' 43 + 43 > 0 '-' - '-' 45 - 45 = 0[/QUOTE] the values don't matter, as long as it's `x + x` or `x - x`, where `x` is less than `(2 << (sizeof(x) - 1)) - 1)` (for unsigned) or `2 << (sizeof(x) - 2)) - 1)` (for signed). [editline]what[/editline] The point was, why would anyone think that would be a good idea? [editline]what v.2[/editline] oh shit page king uhhhhhhh [img]https://puu.sh/n2SwL/1fec1fb54c.png[/img] warning: huge image: [url=https://puu.sh/q0wfl/660bb17a74.png]https://puu.sh/q0wfl/660bb17a74.png[/url]
[IMG]http://i.imgur.com/qCg8uzE.gif[/IMG] [I]soon[/I]
[QUOTE=Radical_ed;52513772][IMG]http://i.imgur.com/qCg8uzE.gif[/IMG] [I]soon[/I][/QUOTE] That grapple mechanic looks satisfying to use.
[QUOTE=Ac!dL3ak;52513566]the values don't matter, as long as it's `x + x` or `x - x`, where `x` is less than `(2 << (sizeof(x) - 1)) - 1)` (for unsigned) or `2 << (sizeof(x) - 2)) - 1)` (for signed). [editline]what[/editline] The point was, why would anyone think that would be a good idea? [editline]what v.2[/editline] oh shit page king uhhhhhhh -img- warning: huge image: -img-[/QUOTE] What font is that?
[QUOTE=marvincmarvin;52514272]What font is that?[/QUOTE] PT Mono or Fira Mono, I think
This is going to be finished in some capacity soon as well- eventually going to be a RTS path finding engine for Unity. [IMG]https://my.mixtape.moe/owijav.gif[/IMG]
Sorry, you need to Log In to post a reply to this thread.