00:00:03 | dom96 | BitPuffin: huh? |
00:00:10 | BitPuffin | dom96: way back in the day xD |
00:00:20 | flaviu | Varriount: Sure, it should be a piece of cake |
00:00:20 | * | DAddYE joined #nimrod |
00:02:09 | flaviu | On the JVM boxing and the like made it impossible to get decent performance without hacks |
00:02:17 | Demos | but how often do you go above 3D |
00:02:27 | Demos | still faster but meh |
00:04:46 | * | DAddYE quit (Ping timeout: 258 seconds) |
00:05:23 | * | Jesin quit (Quit: Leaving) |
00:06:47 | flaviu | Demos: If you want seamless 2d noise, you need 4D base noise. If you want 3d seamless noise, I think you need (I think) 6d noise. 3d seamless noise isn't unlikely, the third dimension would typically be mapped to time |
00:07:13 | Demos | right, but that is for tileing correct? |
00:07:59 | flaviu | Yes |
00:09:46 | dom96 | good night |
00:10:06 | flaviu | night |
00:26:36 | EXetoC | the VM fails way before this macro has processed this list of 2817 proc declarations :> |
00:27:38 | * | bjz joined #nimrod |
00:27:48 | * | bjz_ quit (Ping timeout: 245 seconds) |
00:28:44 | * | Demos quit (Read error: Connection reset by peer) |
00:32:18 | * | Demos joined #nimrod |
00:35:16 | BitPuffin | dom96: we gotta play the hidden in the vnug or something with the folks |
00:46:08 | flaviu | I can't have a range of floats? |
00:49:00 | EXetoC | ok it fails because of a proc named `end` |
00:49:45 | EXetoC | flaviu: no. I got it working by removing one of the branches from some if-statement |
00:50:36 | EXetoC | but it might fail for complex code |
00:51:06 | flaviu | EXetoC: I'm not sure what you're replying to. I'm talking about my own attempts to do `type Foo = range[0.0..1.0]` |
00:52:40 | EXetoC | the last question. I modified the compiler |
00:52:48 | EXetoC | but I never tried defining a type aliases |
00:54:36 | * | q66 quit (Quit: Leaving) |
00:55:14 | * | Jesin joined #nimrod |
01:00:59 | * | DAddYE joined #nimrod |
01:05:11 | * | DAddYE quit (Ping timeout: 250 seconds) |
01:16:20 | EXetoC | Araq: It does indeed work, and 'immediate' is not needed |
01:17:45 | fowl | Demos, whats middlewar? |
01:17:47 | EXetoC | no wait |
01:17:52 | fowl | Demos, oh, duh, i see it now |
01:18:23 | Demos | sorry :D |
01:19:00 | fowl | Demos, we have ODE for 3d physics btw |
01:19:13 | fowl | and bullet, but the C API is limited |
01:22:28 | flaviu | fowl: When you're making a game in a new language, it is best to re-implement everything so that you can brag about how productive the said language is. |
01:22:33 | * | DAddYE joined #nimrod |
01:22:40 | flaviu | or anything, not just a game |
01:29:38 | EXetoC | Araq: yes, that's correct. |
01:30:47 | fowl | physics is like the least fun part of game development >_> |
01:31:13 | Demos | well I have basic mesh rendering and lighting (point and directional) as well as a quick hacky way to render primitives (for editor handles and debugging). And some elementary GUI code |
01:31:30 | flaviu | fowl: Really? I find it fun. Granted, my first time making physics was n^4. |
01:32:38 | Demos | I nearly failed my university physics class :D |
01:43:42 | * | nande joined #nimrod |
01:53:15 | BitPuffin | fowl: now that's where you are horribly incorrect |
01:56:38 | * | flaviu quit (Ping timeout: 246 seconds) |
02:15:26 | fowl | Varriount, do a pr for the windows changes plz and what nil were you hitting? |
03:17:01 | Varriount | fowl: You still there? |
03:17:54 | fowl | ya |
03:18:44 | fowl | brb in 15, going to the store |
03:20:33 | Varriount | fowl: To be blunt, I trust c2nim to get argument types right. |
03:34:40 | * | xenagi quit (Quit: Leaving) |
03:38:46 | fowl | thats painful. you hurt me Varriount |
03:39:14 | Varriount | fowl: Sorry, but you did ask. |
03:39:50 | Varriount | Anyway, I'll submit the PR in about 10 minutes. I accidentally deleted the new code. |
03:40:14 | fowl | Varriount, that you dont trust me to get types right makes me :( |
03:40:34 | Varriount | fowl: It's not *you* personally, its the human race. |
03:40:39 | fowl | Varriount, did yo have issue with something in particular? |
03:41:02 | Varriount | Besides the crash? Not really |
03:41:09 | fowl | well i will say this: i used to think c's enums were always "int" but apparently according to the standard, they can be any size up to int |
03:41:15 | fowl | all of my wrappers which use |
03:41:43 | fowl | {.size:sizeof(cint).} for enum types need to be fixed, but we need a new pragma for it |
03:42:12 | fowl | i tested GCC, an enum{A,B,C} is 4 bytes but that is probably not the case on other compilers |
03:50:47 | Varriount | fowl: PR sent. |
03:53:23 | Varriount | fowl: And when I try to run the test you gave, I get an error. |
03:53:24 | Varriount | Traceback (most recent call last) |
03:53:24 | Varriount | al.nim(1370) nello |
03:53:24 | Varriount | nello.nim(45) :anonymous |
03:53:24 | Varriount | nello.nim(31) reDraw |
03:53:24 | Varriount | SIGSEGV: Illegal storage access. (Attempt to read from nil?) |
03:58:13 | * | brson quit (Ping timeout: 245 seconds) |
04:01:08 | fowl | is that the one in examples/? |
04:01:27 | fowl | Varriount, ah i see that means the font didnt load |
04:01:50 | * | BitPuffin quit (Ping timeout: 276 seconds) |
04:04:07 | Varriount | fowl: You couldn't have used something a bit more ubiquitus? Like Times New Roman or Arial? |
04:06:24 | Varriount | fowl: Ok, it works. |
04:07:41 | fowl | i dont have times new roman or arial |
04:07:59 | fowl | those are monopoly fonts |
04:08:53 | Varriount | -_- |
04:10:13 | fowl | yep i dont even have comic sans ms |
04:10:30 | fowl | i wonder if there a package for all these proprietary fonts |
04:11:01 | Varriount | fowl: How complete is the allegro wrapper? |
04:12:15 | fowl | Varriount, id say 92%, missing some audio functions and all of allegros thread management stuff, i probably wont wrap that though unless its requested |
04:17:07 | Varriount | fowl: Your missing create_path |
04:22:00 | fowl | oh yeah |
04:22:08 | fowl | # path.h |
04:22:08 | fowl | ## TODO this is an ugly module |
04:22:16 | Varriount | And the al_store_state |
04:22:39 | fowl | thats thread stuff |
04:24:37 | Varriount | fowl: And the file management stuff? |
04:25:39 | fowl | alright jeez |
04:25:43 | fowl | we'll call it 85% |
04:25:58 | Varriount | I'll stop nitpicking now. |
04:28:09 | Varriount | fowl: You know, one of the things that would put nimrod on the map is easy iOS/Android integration. |
04:28:21 | Varriount | That's what all the cool kids are doing these days. |
04:28:42 | * | darkf_ joined #nimrod |
04:29:28 | Varriount | Hey darkf, long time no see |
04:29:58 | fowl | Varriount, yea but wiht android dev you still have to write most of your app in java |
04:30:23 | fowl | ios is probably better but i dont own an apple computer so i cant |
04:30:37 | Varriount | fowl: Not true. The NDK has an interface to the base application hooks |
04:31:23 | Varriount | fowl: The main problem is documentation. The NDK's documentation is.. insubstantial. |
04:32:07 | * | darkf quit (Ping timeout: 265 seconds) |
04:33:52 | * | darkf_ is now known as darkf |
04:42:17 | * | renesac quit (Ping timeout: 250 seconds) |
04:45:41 | * | Jesin quit (Quit: Leaving) |
04:45:48 | fowl | Varriount, are you on windows? |
04:48:12 | Varriount | fowl: Yes. |
04:48:52 | fowl | can you run this through msvc and see what it says |
04:49:05 | * | darkf_ joined #nimrod |
04:49:09 | Varriount | "This" being...? |
04:50:21 | fowl | #include<stdio.h> |
04:50:21 | fowl | enum{A,B,C} foo; |
04:50:21 | fowl | int main(void){ printf("%d\n", sizeof(A)); return 0; } |
04:52:25 | * | darkf quit (Ping timeout: 265 seconds) |
04:53:31 | Varriount | fowl: 4 |
04:53:57 | * | darkf_ is now known as darkf |
04:54:05 | Varriount | Also, that's with the 64 bit compiler |
04:54:13 | fowl | cool thank you |
04:54:45 | Varriount | I get the same with the 32 bit compiler |
04:55:51 | * | renesac joined #nimrod |
04:57:55 | Varriount | fowl: And both 64 and 32 bit gcc report 4 |
04:58:15 | fowl | yea |
04:58:30 | fowl | i just tried it with clang and tcc they said 4 also |
04:58:45 | Varriount | fowl: Have you tried pelles c compiler? |
04:59:11 | Varriount | And I think Demos has a copy of the icc (Intel Compiler) |
04:59:57 | fowl | i dont see pelles or icc in my packages |
05:00:06 | Demos | I dont think pelles works at all |
05:00:23 | Demos | icc is not in a package manager (the comercial version costs a whole lot of cash) |
05:00:54 | Varriount | Demos: It's surprising Intel makes any money off of it, being so expensive and all. |
05:01:06 | fowl | Demos, can you try the code i pasted above |
05:01:17 | Demos | not now, in a bit |
05:03:33 | fowl | sure |
05:04:01 | * | isenmann joined #nimrod |
05:04:35 | Varriount | fowl: My guess is that 4 is the "unofficial standard" of enum size. |
05:08:27 | Varriount | A great way to fall asleep: Read through the entire list of optimizations that GCC can use. |
05:16:41 | * | Mordecai joined #nimrod |
05:16:59 | * | Mordecai is now known as Guest6461 |
05:17:23 | * | psquid quit (Ping timeout: 245 seconds) |
05:27:17 | Demos | fowl: I do not have icc installed any more |
05:27:36 | Demos | I can perhaps do it tomorrow(ish) when I am on a university workstation |
05:27:40 | Varriount | Demos: ?! |
05:28:05 | Demos | I nuked my windows partition to get rid of adobe products |
05:28:21 | Varriount | :/ |
05:28:22 | fowl | Demos, no rush, i bet the only platform enums are < 4 bytes is embedded stuff |
05:28:53 | * | bjz quit (Ping timeout: 240 seconds) |
05:28:56 | * | bjz_ joined #nimrod |
05:29:01 | Varriount | Demos: Perhaps you didn't know this, but Windows has this great feature called "Uninstalling Programs" |
05:29:31 | fowl | Varriount, it also has a critical mass at which point you have to nuke it or it will nuke you |
05:30:09 | fowl | open IE, see 15 toolbars, you have two options: run away and never look back or kill it |
05:30:47 | * | DAddYE_ joined #nimrod |
05:33:51 | * | DAddYE quit (Ping timeout: 250 seconds) |
05:44:04 | Varriount | fowl: Whereas some *cough* *cough* may use explosives, I go in for delicate surgery. |
06:19:56 | * | vendethiel quit (Read error: Connection reset by peer) |
06:27:19 | * | gXen joined #nimrod |
06:27:46 | * | darkf_ joined #nimrod |
06:30:57 | * | darkf quit (Ping timeout: 252 seconds) |
06:32:50 | * | darkf_ is now known as darkf |
06:35:18 | * | vendethiel joined #nimrod |
06:42:57 | * | Demos quit (Read error: Connection reset by peer) |
06:49:50 | * | Simplygood joined #nimrod |
06:51:24 | Simplygood | how can I join lines in nimrod like python does with the \ ? |
06:55:26 | fowl | Simplygood, you can put the operator before the newline |
06:55:37 | fowl | Simplygood, cant use \ though, its available to use as an operator |
06:59:14 | Simplygood | Thanks |
07:12:20 | * | Simplygood quit (Ping timeout: 276 seconds) |
07:21:05 | * | Simplygood joined #nimrod |
07:22:50 | Simplygood | calculation() proc calculation() = compiler output: undeclared identifier: 'calculation' Is there a way for the nimrod compiler automatically add the declarations from the definitions so they don't have to be manually at at the top of each module? |
07:24:46 | Simplygood | auto declarations from the function definitions |
07:26:32 | fowl | Simplygood, i think there is an option to turn it off but it is beta |
07:27:02 | fowl | Simplygood, heres some info on whats happening http://build.nimrod-lang.org/docs/tut1.html#forward-declarations |
07:30:29 | fowl | im not finding the option, it might have been removed |
07:31:12 | Simplygood | I'm guessing that in future releases of nimrod the need to declare forward declarations may not be required, from the tutorial 1, "Later versions of the language may get rid of the need for forward declarations. |
07:32:10 | fowl | yea |
07:32:16 | fowl | welcome to #nimrod btw |
07:37:49 | Simplygood | Thanks |
07:39:49 | Araq | hi Simplygood welcome. check out our roadmap |
07:40:42 | Araq | which says "we have 2 ways to deal with the problem, 1 conservative and thus will work plus 1 hexperimental idea" |
07:40:54 | Araq | *experimental |
07:43:50 | Araq | unfortunately the experimental way has been implemented :P causes crashes and thus was disabled again |
07:47:10 | * | nande quit (Remote host closed the connection) |
08:12:53 | * | zahary_ quit (Read error: Connection reset by peer) |
08:16:32 | Simplygood | can this c++ function example be implemented in nimrod? drawbox(box<int>(10,10,10,10), true, true, 1); |
08:18:24 | Simplygood | particularly the box<int>(10,10,10,10) |
08:24:18 | fowl | nimrod has generics |
08:29:18 | Simplygood | how would drawbox(box<int>(10,10,10,10), true, true, 1); be written in nimrod? |
08:29:50 | fowl | drawBox box[int](10,10,10,10),true,true,1 |
08:33:27 | Simplygood | Thanks! |
08:41:18 | fowl | you likely wouldn't need the [box] as int would be inferred |
08:55:40 | Araq | fowl: since you're patching 'add' already, can add the check for the shallowBit as well please? |
08:55:58 | Araq | and perhaps we should rename 'shallow' to 'freeze' |
08:56:12 | Araq | even though it only freezes the length of a seq/string |
08:56:16 | fowl | i ran into problems with newstringofcap |
09:01:18 | * | runvnc joined #nimrod |
09:01:32 | runvnc | dom96: thanks for look at the redis pull again |
09:01:52 | runvnc | going to do those fixes tomorrow. bedtime now |
09:02:01 | * | runvnc left #nimrod (#nimrod) |
09:02:53 | fowl | Araq, some of the functions in system.nim can be shortened like the string functions which use the same magic func adding string/char can now take string|char |
09:03:03 | fowl | shallow() can take string|seq |
09:03:46 | Araq | sure |
09:30:47 | fowl | Araq, i think we need a new pragma for enums |
09:31:05 | dom96 | 'morning |
09:31:24 | fowl | good morning |
09:32:40 | Simplygood | good morning |
09:36:54 | fowl | wow.. in c11 "void f(double x[const], const double y[const]);" is the same as "void f(double * const x, const double * const y);" |
10:03:29 | Araq | fowl: yeah I got the memo |
10:14:58 | Simplygood | var x = 1 case x of 1: echo "1 is an integer" In this example if else is not included "Error: not all cases are covered", but here: var text1="hi" case text1 of "hi": echo "hello" else is not needed. Any particular reason? |
10:15:21 | Araq | argh not again |
10:15:35 | Araq | ok ok we'll change the spec |
10:16:42 | fowl | Simplygood, the reason is there is a finite number of integers but potentially infinite combinations of characters for strings, so it wouldnt be possible to cover every case with strings |
10:22:28 | Simplygood | if nothing is going to be placed in else is it recommended to write: else dispose? |
10:22:58 | Araq | else: discard, yes |
11:02:24 | Simplygood | I know seqvar.add(1) adds a sequence value, but don't know how to remove it. Is a function available to remove a value from any position in a sequence? |
11:09:34 | fowl | Simplygood, del and delete |
11:10:17 | fowl | one of them is O(1) the other is O(n) |
11:10:22 | fowl | both are in the system module |
11:14:09 | Simplygood | Thanks |
11:15:02 | fowl | np |
11:25:10 | * | Simplygood says goodbye to C++. |
11:25:42 | fowl | (: |
12:25:36 | * | BitPuffin joined #nimrod |
12:30:00 | fowl | can this be improved? https://github.com/fowlmouth/allegro5/blob/master/src/al.nim#L1374 |
12:38:40 | Araq | fowl: "block:" should not be necessary |
12:39:44 | Araq | and you should file a bug report about the necessity to wrap main for allegro. |
12:39:58 | Araq | that pisses me off like nothing else really |
12:40:14 | Araq | it's like the devs have never written a wrapper in their entire lifetime |
12:40:33 | fowl | i didnt want to pollute with TBlah and hax |
12:40:46 | Araq | templates are hygienic now |
12:40:54 | Araq | they don't pollute |
12:41:18 | fowl | Araq, its not like sdl where it tries to hijack main |
12:43:01 | Araq | yeah file a bug report for SDL too |
12:43:17 | Araq | I'm tired that we're the only ones who get bug reports for broken designs |
12:51:12 | NimBot | Araq/Nimrod devel 21d0cc8 Dominik Picheta [+0 ±7 -0]: Add checks for invalid socket when creating sockets. |
12:51:12 | NimBot | Araq/Nimrod devel 9e7c0fd Dominik Picheta [+0 ±2 -0]: Fixes #1005 |
12:52:19 | fowl | ah |
12:53:44 | fowl | just like SDL, allegro's run_main is only needed for OSX |
12:57:21 | * | Simplygood quit (Remote host closed the connection) |
13:00:34 | EXetoC | glEnable(37824732) -> no error :E |
13:00:38 | EXetoC | gotta be a driver issue or something |
13:01:07 | BitPuffin | EXetoC: 38924732 is GL_DEPTH_TEST didn't you know? |
13:02:16 | EXetoC | lul sure |
13:08:48 | * | [1]Endy joined #nimrod |
13:28:25 | * | [2]Endy joined #nimrod |
13:32:04 | * | [1]Endy quit (Ping timeout: 258 seconds) |
13:37:41 | EXetoC | so, I can remove gl.nim, right? |
13:43:22 | Araq | right |
13:43:23 | fowl | i dont think it should be deleted |
13:43:27 | fowl | it has a lot of history |
13:43:36 | EXetoC | eh ok |
13:44:32 | fowl | nvm i just realized i dont care about history |
13:45:37 | fowl | good nigh |
13:48:17 | EXetoC | ok.. :p |
13:48:20 | EXetoC | bye |
13:48:55 | * | [1]Endy joined #nimrod |
13:49:37 | * | darkf quit (Quit: Leaving) |
13:51:40 | * | [2]Endy quit (Ping timeout: 240 seconds) |
14:09:25 | * | [2]Endy joined #nimrod |
14:12:07 | * | [1]Endy quit (Ping timeout: 250 seconds) |
14:22:45 | EXetoC | I have been highly productive this week: +8,088, -11,269 |
14:25:24 | * | gXen quit () |
14:29:56 | * | [1]Endy joined #nimrod |
14:32:48 | * | [2]Endy quit (Ping timeout: 245 seconds) |
14:39:19 | BitPuffin | okay so apparently replacing TMat4 with TMatrix[float32, 4, 4] din't help with my problem |
14:39:22 | BitPuffin | god cuk |
14:40:38 | BitPuffin | Araq, zahary: Do you guys know of a possible workaround for https://github.com/Araq/Nimrod/issues/1082 ? |
14:44:24 | BitPuffin | damn showstoppers |
14:44:49 | BitPuffin | meh, who needs matrix multiplication for rendering anyway :P |
14:50:26 | * | [2]Endy joined #nimrod |
14:52:37 | * | nande joined #nimrod |
14:52:52 | * | [1]Endy quit (Ping timeout: 240 seconds) |
14:57:18 | BitPuffin | Araq: it's not Allegro or SDLs fault, it is operating systems such as Mac OS X |
15:05:38 | BitPuffin | no google I don't want to show results for naked nimrod rather than nake nimrod thank you very much |
15:06:07 | BitPuffin | did you mean naked? NO |
15:10:57 | * | [1]Endy joined #nimrod |
15:13:38 | * | [2]Endy quit (Ping timeout: 245 seconds) |
15:25:47 | EXetoC | fowl: so, what should be used for rendering? |
15:30:26 | * | [2]Endy joined #nimrod |
15:31:12 | EXetoC | dom96: you fixeded a compiler bug? awesome |
15:33:09 | * | [1]Endy quit (Ping timeout: 252 seconds) |
15:35:47 | * | [1]Endy joined #nimrod |
15:36:02 | dom96 | yeah, it was a pretty simple bug though. |
15:39:07 | * | [2]Endy quit (Ping timeout: 265 seconds) |
15:46:52 | BitPuffin | dom96: ermagerd grats :D |
15:56:18 | reactormonk | dom96, now keep going ;-) |
15:56:19 | * | [2]Endy joined #nimrod |
16:00:01 | * | [1]Endy quit (Ping timeout: 250 seconds) |
16:06:39 | BitPuffin | dom96: could you fix my bugs now? :) |
16:06:54 | * | Demos joined #nimrod |
16:09:15 | EXetoC | he does indeed not have enough things to do I think :> so yeah that'd be great |
16:10:05 | BitPuffin | exactly |
16:10:15 | BitPuffin | dom96: no time to waste! |
16:10:26 | dom96 | yeah, it's not like I have exams in a couple of weeks... |
16:11:08 | Demos | Ever have one of those weeks where git says you changed like 300,000 lines.... dem line endings |
16:14:02 | EXetoC | dom96: is that important? |
16:14:31 | dom96 | oh not at all. They only determine whether I will get into Uni or not. |
16:14:58 | EXetoC | that's pretty important |
16:15:53 | EXetoC | Demos: in the log or when viewing the diff? |
16:16:15 | Demos | dun know, just when pulling down on another computer |
16:16:54 | * | [1]Endy joined #nimrod |
16:17:51 | EXetoC | you should set up git so that any different newlines are converted when committing |
16:18:20 | Demos | I have it set to keep whatever I have on my local repo and commit unix |
16:18:31 | dom96 | yeah bbl |
16:19:43 | EXetoC | Demos: core.autocrlf=input? |
16:19:50 | Demos | yeah I think so |
16:20:28 | * | [2]Endy quit (Ping timeout: 240 seconds) |
16:22:26 | BitPuffin | dom96: pff, not important |
16:29:56 | * | DAddYE_ quit (Remote host closed the connection) |
16:30:22 | * | DAddYE joined #nimrod |
16:34:55 | * | DAddYE quit (Ping timeout: 258 seconds) |
16:37:31 | * | [2]Endy joined #nimrod |
16:37:40 | * | Matthias247 joined #nimrod |
16:40:52 | * | [1]Endy quit (Ping timeout: 240 seconds) |
16:41:56 | * | q66 joined #nimrod |
16:41:56 | * | q66 quit (Changing host) |
16:41:56 | * | q66 joined #nimrod |
16:48:03 | * | Demos quit (Quit: Textual IRC Client: www.textualapp.com) |
16:50:14 | * | q66 quit (Ping timeout: 252 seconds) |
16:52:12 | * | q66 joined #nimrod |
16:52:12 | * | q66 quit (Changing host) |
16:52:12 | * | q66 joined #nimrod |
16:57:56 | * | [1]Endy joined #nimrod |
17:01:11 | * | [2]Endy quit (Ping timeout: 276 seconds) |
17:01:56 | * | brson joined #nimrod |
17:05:12 | * | io2 joined #nimrod |
17:13:07 | * | DAddYE joined #nimrod |
17:18:29 | * | [2]Endy joined #nimrod |
17:21:03 | * | [1]Endy quit (Ping timeout: 250 seconds) |
17:28:43 | * | Jesin joined #nimrod |
17:30:11 | * | shodan45 joined #nimrod |
17:32:18 | BitPuffin | dom96: err, is #1096 really a "showstopper"? |
17:33:07 | BitPuffin | considering you can just ack for those |
17:33:10 | BitPuffin | right EXetoC? |
17:34:05 | EXetoC | ack, grep, FINDSTR |
17:35:28 | OrionPK | fowl you around? |
17:35:37 | OrionPK | the sdl2 babel package has a dependency on include fowltek/sdl2/private/keycodes ? |
17:38:23 | * | vendethiel quit (Ping timeout: 250 seconds) |
17:38:53 | * | vendethiel joined #nimrod |
17:38:57 | * | [1]Endy joined #nimrod |
17:41:40 | * | [2]Endy quit (Ping timeout: 240 seconds) |
17:46:47 | BitPuffin | al.nim(503, 15) Error: undeclared identifier: 'dllMain' |
17:46:49 | BitPuffin | hm |
17:47:04 | BitPuffin | ah |
17:50:57 | BitPuffin | damn it fowl, why are you linking to such specific versions of allegro |
17:51:31 | BitPuffin | it is 5.1 you should be wrapping anyway |
17:55:27 | BitPuffin | in fact the version of the babel package is 5.1 but the library you are linking against is 5.0 |
17:59:28 | * | [2]Endy joined #nimrod |
18:01:58 | * | [1]Endy quit (Ping timeout: 245 seconds) |
18:06:20 | BitPuffin | fowl: you have a PR, however for some reason al.init() fails for me with nimrudd, maybe it's because I need to use the main thing perhaps |
18:07:45 | BitPuffin | hmm, tried to use the al_runmain template but didn't wurk |
18:07:48 | BitPuffin | I'll check later |
18:07:50 | BitPuffin | brb |
18:17:06 | * | bjz_ quit (Read error: Connection reset by peer) |
18:17:59 | * | bjz joined #nimrod |
18:20:01 | * | [1]Endy joined #nimrod |
18:22:58 | * | [2]Endy quit (Ping timeout: 265 seconds) |
18:40:29 | * | [2]Endy joined #nimrod |
18:43:16 | * | [1]Endy quit (Ping timeout: 240 seconds) |
18:58:55 | reactormonk | any `Option` or `Maybe` implemented yet? |
19:01:00 | * | [1]Endy joined #nimrod |
19:04:03 | * | [2]Endy quit (Ping timeout: 265 seconds) |
19:04:03 | reactormonk | how would you cache values? |
19:06:53 | reactormonk | I'm basically looking for a lazy val from scala. |
19:21:30 | * | [2]Endy joined #nimrod |
19:24:03 | * | [1]Endy quit (Ping timeout: 245 seconds) |
19:39:53 | * | [2]Endy quit (Ping timeout: 245 seconds) |
19:41:44 | reactormonk | Araq, IIRC you wouldn't like a `msg` that outputs to stderr, similar to echo? |
19:42:02 | Araq | yeah, stderr sucks |
19:42:33 | reactormonk | I treat it as message stream. |
19:42:48 | Araq | I pretend it doesn't exit |
19:42:51 | Araq | *exist |
19:42:54 | reactormonk | stdout is data stream. |
19:43:05 | Araq | bli bla blub |
19:43:09 | reactormonk | aka stdout -> programs, stderr -> humans |
19:43:17 | reactormonk | Araq, ok, so I'll define msg :-P |
19:43:23 | Araq | I've heard that before |
19:43:37 | reactormonk | you still don't like it. |
19:45:17 | reactormonk | btw, better way to write: http://lpaste.net/102743 |
19:48:30 | NimBot | Araq/Nimrod devel 6baedfe Grzegorz Adam Hankiewicz [+0 ±1 -0]: Fixes typo to be able to use debugger. |
19:48:30 | NimBot | Araq/Nimrod devel 3670fe2 Simon Hafner [+0 ±1 -0]: Merge pull request #1098 from gradha/pr_fixes_debugger_typo... 2 more lines |
19:57:01 | Araq | reactormonk: dunno. it's fine |
20:03:05 | * | nande quit (Remote host closed the connection) |
20:03:14 | * | DAddYE_ joined #nimrod |
20:03:57 | reactormonk | Araq, ok |
20:04:34 | * | DAddYE_ quit (Remote host closed the connection) |
20:06:55 | reactormonk | echo("$1% done\r" % [current/total]) # gives me (string, Array constructor[0..0, float]), but expected strutils.%(formatstr: string, a: openarray[string]) |
20:07:05 | * | DAddYE quit (Ping timeout: 276 seconds) |
20:08:28 | Araq | well yes |
20:08:38 | reactormonk | oh, it wants strings. |
20:08:42 | Araq | use strutils.format for a varargs[`$`] version |
20:13:13 | reactormonk | is cs partial or cs none default? |
20:13:37 | reactormonk | I got a type Model and a var model, and it complained about redef |
20:14:08 | * | DAddYE joined #nimrod |
20:14:15 | Araq | none is still the default |
20:14:33 | reactormonk | :-( |
20:14:55 | reactormonk | does the compiler compiled with cs:partial? |
20:15:48 | Araq | you need to change your config to enable it |
20:16:13 | reactormonk | there's a few libs that don't |
20:17:50 | reactormonk | Araq, the idea is to make the compiler compile with cs:partial, as well as the libs? |
20:18:40 | Araq | the compiler bootstraps with cs:partial since months already |
20:18:58 | Araq | various libs work with it, various do not |
20:19:12 | Araq | fix them with "nimrod pretty" |
20:20:03 | BitPuffin | however with some flags it doesn't do it with partial |
20:20:16 | BitPuffin | as we discovered when trying to fix the template issue thing |
20:22:06 | Araq | ? |
20:22:14 | Araq | no idea what you mean |
20:23:08 | BitPuffin | Araq: well when you were playing starcraft with dom and I was poking around with stuff that you told me there was some case stuff that I had to change in order to get the compiler to build when you told me to use certain flags |
20:23:27 | Araq | ah now I remember |
20:23:48 | Araq | that's gone though |
20:58:55 | Araq | ping zahary |
21:04:24 | * | Jesin quit (Remote host closed the connection) |
21:06:27 | * | flaviu joined #nimrod |
21:06:54 | NimBot | Araq/Nimrod devel 941cc93 Dominik Picheta [+0 ±3 -0]: Fixes docgen. |
21:07:02 | Araq | :O |
21:07:13 | flaviu | Is that the when false bug? |
21:07:15 | Araq | did you fix the missing index entries? |
21:07:48 | dom96 | no |
21:07:59 | Araq | aww |
21:08:04 | dom96 | lol |
21:08:29 | dom96 | Araq: You agree with me that that is a showstopper? |
21:08:57 | Araq | no. |
21:09:13 | dom96 | aww |
21:09:14 | Araq | flaviu: what's the "when false" bug? |
21:10:18 | flaviu | The missing index entries. I think its because the docgen isn't being run with the correct flags for the `when`s to be true, so constant folding removes them from the docs |
21:10:26 | flaviu | or not index entries |
21:10:30 | flaviu | sorry, doc entries |
21:10:48 | Araq | flaviu: yeah that's what I thought too |
21:15:04 | dom96 | but they are only missing from the index not from the actual module docs |
21:15:49 | flaviu | dom96: <C-f> atomic in http://build.nimrod-lang.org/docs/system.html |
21:15:49 | flaviu | There should be a lot more than 4 entries |
21:15:52 | EXetoC | showstopper? hm |
21:16:03 | dom96 | flaviu: That's a different issue |
21:16:23 | dom96 | osError is missing from the index |
21:16:29 | dom96 | and yet it exists in os.html |
21:16:51 | flaviu | Ok, so different bugs |
21:17:05 | Araq | http://nimrod-lang.org/theindex.html has both osError and shallow |
21:17:19 | Araq | so it seems to be a regression |
21:17:25 | dom96 | indeed. |
21:17:37 | dom96 | Could have been caused by gradha's patch |
21:17:44 | Araq | yeah |
21:18:20 | dom96 | how should the when doc gen issues be handled? |
21:18:27 | flaviu | about the json pr: IMO, the ideal solution is to have a pragma that requires checking for nil, sort of like the exception pragma. |
21:19:20 | dom96 | Ideally the docgen should show the whens. |
21:20:13 | flaviu | Does constant folding have its own compiler pass? |
21:20:21 | * | brson quit (Ping timeout: 265 seconds) |
21:20:34 | dom96 | unless it can prove that the other branches of the when export the same symbols |
21:21:00 | dom96 | Then it should check which branch has the most docs and use it :P |
21:21:05 | flaviu | What if the docs on the other branches are diffrent? |
21:21:40 | dom96 | Current convention is to document only one branch. |
21:21:47 | flaviu | I think that the whens should be reflected in the structure of the docs, literally spelling out the condition and giving the user the choice on what to use |
21:23:08 | dom96 | In most cases the when is used when writing code for different OS'. |
21:23:35 | dom96 | The docs contain information about the different OS' supported in the one branch. |
21:24:02 | flaviu | The user should know from the docs that certain code is only available on certain OSes, and what those OSes are |
21:25:10 | dom96 | Oh well. That can be implemented in the next release. |
21:26:01 | flaviu | dom96: Check out the scala docs: http://www.scala-lang.org/api/current/#scala.Array |
21:26:01 | flaviu | Other than the loading performance, they are perfect in terms of layout |
21:27:42 | dom96 | How do Scala docs handle OS differences? |
21:30:25 | flaviu | It doesn't really, the JVM does that for it. But when it does, it just throws a runtime exception if the method isn't supported |
21:44:31 | * | brson joined #nimrod |
21:54:19 | EXetoC | there are aliases both with and without the T prefix in opengl.nim. kinda ugly |
21:59:28 | EXetoC | I'll deprecate those that has it assuming that the plan still is to get rid of them |
22:06:51 | Skrylar | meep |
22:07:45 | EXetoC | boink |
22:07:57 | dom96 | glipglop |
22:17:56 | flaviu | Ok, http://i.imgur.com/ZFsGOcB.png |
22:19:31 | fowl | BitPuffin, 5.1 will not be binary compatible |
22:20:12 | BitPuffin | fowl: yeah but I'm the only one who uses allegro here and I use allegro 5.1 xD, plus you don't wanna have to spend a bunch of time updating for 5.1 right? |
22:21:19 | fowl | BitPuffin, you wont have to, it will be source compatible meaning they'll replace some functions with macros |
22:22:28 | Skrylar | Allegro :3 |
22:22:39 | BitPuffin | fowl: it is currently source compatible but they state that everything is subject of change |
22:22:56 | Skrylar | Sadly I opted for SDL when I started moduling, mostly because if you're doing 3D then there isn't much allegro does for you :( |
22:23:04 | EXetoC | can I have write access to the OpenGL repository? I'll wait for a review either way |
22:23:08 | flaviu | That's the layout I would find ideal for the docs, it would allow for the user to decide what when statements should be enabled and it looks a bit nicer. |
22:23:24 | fowl | Skrylar, al5 uses opengl |
22:23:38 | Skrylar | fowl: I'm aware, however AL is primarily a 2d game library |
22:23:51 | fowl | Skrylar, you can say the same about sdl |
22:24:09 | Skrylar | meh. |
22:24:22 | BitPuffin | Skrylar: allegro does do 3d |
22:24:32 | Skrylar | as I said, I liked allegro; i've just been using SDL because half the serious people i talk to outside of IRC wretch when you go "hey its allegro" o_O |
22:24:35 | BitPuffin | Skrylar: it's basically equivalent to SDL except it isn't as shitty |
22:24:43 | Skrylar | how is sdl2 shitty |
22:24:47 | BitPuffin | Skrylar: yeah that's true |
22:24:52 | fowl | Skrylar, thats because they remember AL3/4 |
22:24:57 | EXetoC | BitPuffin: more than allowing you to create a window and call OpenGL functions? |
22:25:12 | Skrylar | AL4 was also GL-based, but yeah.. earlier ones were really bad in some ways |
22:25:12 | EXetoC | that's the first thing that came up before when I googled "allegro 3d" |
22:25:45 | BitPuffin | EXetoC: stopid fucken api |
22:25:54 | BitPuffin | I mean Skrylar |
22:26:10 | BitPuffin | EXetoC: loading textures playing sounds etc |
22:26:26 | fowl | EXetoC, well it does some functions for transformations too |
22:26:36 | EXetoC | right |
22:26:45 | BitPuffin | EXetoC: now be quiet and let the men talk |
22:26:47 | BitPuffin | just kidding |
22:26:49 | BitPuffin | hugs? |
22:26:51 | BitPuffin | hugs. |
22:26:57 | fowl | lol |
22:27:03 | fowl | EXetoC, ill get you permissions in a sec |
22:27:12 | BitPuffin | SDL: |
22:27:14 | BitPuffin | window = SDL_CreateWindow( "SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN ); |
22:27:15 | Skrylar | now that sdl2 is bsd'd .. well, thats neat. |
22:27:28 | BitPuffin | Allegro: al_create_window(800, 600) |
22:27:32 | BitPuffin | ; |
22:27:49 | fowl | BitPuffin, you should include the calls to set_new_window for the same options that sdl_createwindow has |
22:27:58 | Skrylar | don't forget to bind the window's event handler to an event sink :P |
22:28:13 | BitPuffin | fowl: yeah true, I really didn't even read how to do it because it's so fucking stupid xD |
22:28:37 | BitPuffin | Skrylar: you do that in allegro as well, well you don't have to |
22:28:39 | Skrylar | ( though i'm not sure why there is fighting over libs; allegro is great if you want loads of 2D stuff, sdl is great when all you want is a GL window ) |
22:29:03 | BitPuffin | Skrylar: no, GLFW is great when all you want is a GL window |
22:29:21 | Skrylar | i seem to recall SDL was used on game consoles |
22:29:35 | Skrylar | anyhow |
22:29:57 | BitPuffin | Allegro is nice when you either wanna do 2d, or have a GL or D3D window and also have support for loading images, audio files etc and sound playback |
22:30:09 | BitPuffin | SDL is nice when you want Allegro but also enjoy paper cutting your peehole |
22:30:38 | Skrylar | disregarding the massive number of games that use neither and have fmod bolted on for sound :P |
22:30:48 | fowl | EXetoC, opengl could use some examples (: |
22:31:11 | BitPuffin | fowl, EXetoC: Yup, especially since I do my opengl stuff BEHIND CLOSED DOORS |
22:31:17 | BitPuffin | I build in NSA backdoors and shit |
22:31:58 | BitPuffin | well I failed with my allegro example |
22:32:07 | BitPuffin | it is actually window = al_create_display(800, 600); |
22:32:10 | BitPuffin | but whatever |
22:32:39 | BitPuffin | fowl: al.init fails in nimrod, waii |
22:32:42 | BitPuffin | kawaiii |
22:33:33 | EXetoC | fowl: with GLFW? |
22:33:35 | fowl | BitPuffin, u mean the original al_init or the wrapped function |
22:33:40 | EXetoC | I could also patch something together with wgl and glx |
22:34:07 | BitPuffin | fowl: there is a wrapped one? |
22:34:23 | EXetoC | assuming that those modules work. I guess so. I don't have any of that in the newly generated opengl.nim |
22:34:34 | Skrylar | I have had a bad taste in my mouth from GLFW |
22:34:42 | Skrylar | Conceptually its great, I've had too many inexplicable bugs |
22:34:45 | fowl | EXetoC, yea use something that lets you skip the window management part, glfw is fine |
22:34:46 | BitPuffin | ah there is an example |
22:34:51 | BitPuffin | EXetoC: I basically do what you do |
22:36:12 | fowl | EXetoC, i made you a contributor btw |
22:36:47 | fowl | EXetoC, why did you change src to lib |
22:37:00 | BitPuffin | al_main: |
22:37:02 | BitPuffin | echo al.init() |
22:37:05 | BitPuffin | false |
22:37:25 | * | BitPuffin glances over to C |
22:38:06 | fowl | BitPuffin, i know what the problem is |
22:38:11 | BitPuffin | fowl: macosx? |
22:38:19 | fowl | version_int referes to 5.0.10 |
22:38:29 | BitPuffin | seeeeeeeeee |
22:38:44 | BitPuffin | it should be 5.1 |
22:38:52 | BitPuffin | 5.1 has android support |
22:38:55 | fowl | 5.1 isnt stable, why wrap it |
22:38:56 | BitPuffin | or was it ios |
22:39:01 | BitPuffin | fowl: stable enuf |
22:39:03 | fowl | it will be out in a couple weeks |
22:39:23 | BitPuffin | woa what an overreaction |
22:39:48 | BitPuffin | fowl: exactly, so why not just wrap it instead of going and changing it then? |
22:39:53 | BitPuffin | I prefer to use it now |
22:40:01 | BitPuffin | they need all the testing they can get anyway |
22:40:03 | EXetoC | fowl: dunno. OCD? |
22:40:23 | fowl | BitPuffin, because i'll have a complete changelog i can look at and only have to do it once |
22:40:51 | fowl | BitPuffin, plus i havent decided if i should use tags for versions or -d:define |
22:41:31 | BitPuffin | that did fix it |
22:41:35 | fowl | EXetoC, all the other official packages are in src/ examples/ >_> |
22:41:49 | BitPuffin | fowl: branches |
22:42:21 | BitPuffin | well |
22:42:26 | BitPuffin | tags might be fine actually |
22:42:31 | BitPuffin | I dunno |
22:42:44 | BitPuffin | I wouldn't do -d:define |
22:42:50 | BitPuffin | because that makes the code a mess |
22:42:53 | BitPuffin | use the source |
22:42:55 | BitPuffin | (control) |
22:43:19 | Araq | uh oh mingw now has a pckage manager ... |
22:43:28 | BitPuffin | Araq: nice |
22:43:33 | EXetoC | fowl: >.< |
22:43:46 | EXetoC | fowl: didn't babel hardcode it before? |
22:43:49 | EXetoC | I'll revert |
22:45:31 | BitPuffin | fowl: well looks like al_main works at least |
22:46:36 | EXetoC | *hardcoded |
22:47:15 | BitPuffin | fowl: good work fine sir |
22:48:57 | BitPuffin | not even sure why I'm working on my game when I won't be able to do math lol |
22:49:04 | fowl | now plz just get the binaries for 5.0.10 from #allegro |
22:49:18 | fowl | i think its pretty hilarious they dont compile for os x |
22:49:30 | fowl | suck it, apple |
22:50:06 | BitPuffin | fowl: do you only have vector math in fowltek? |
22:50:30 | BitPuffin | fowl: lol, I compiled 5.1 from source anyway |
22:50:46 | BitPuffin | and having my own local version of your allegro thing isn't that painful |
22:50:46 | * | Matthias247 quit (Read error: Connection reset by peer) |
22:51:11 | BitPuffin | fowl: I'll change my pull request for ya |
22:51:38 | BitPuffin | fowl: at least link to 5.0 instead of 5.0.10 |
22:51:56 | BitPuffin | otherwise you will break if you use tags and they release 5.0.11 |
22:53:09 | fowl | ok |
22:54:10 | BitPuffin | fowl: I'll do it for you |
22:54:32 | fowl | ty |
22:56:33 | BitPuffin | also making it easier to change |
22:57:36 | fowl | i didnt know what the dlls would be called on the other platforms so i just went with what mine were |
22:57:43 | fowl | but i see now i do have 5.0 links |
22:57:47 | fowl | :x |
22:58:04 | fowl | brb taco bell |
22:58:24 | BitPuffin | yep |
22:58:26 | BitPuffin | :) |
22:58:34 | fowl | i added you as collab |
23:01:36 | BitPuffin | fowl: okay ready to mergo |
23:01:38 | BitPuffin | oh |
23:01:40 | BitPuffin | I see |
23:01:47 | BitPuffin | well I still want you to review it and test it before merging |
23:02:04 | BitPuffin | since I don't have 5.0 :P |
23:02:38 | BitPuffin | enjoy the taco bell ! |
23:03:44 | reactormonk | Araq, when will cs:partial go default? |
23:05:04 | BitPuffin | reactormonk: in compiler builds or everywhere? |
23:05:16 | BitPuffin | because I don't think it will ever be default everywhere, but I believe it already is in the compiler |
23:06:05 | Skrylar | :\ |
23:06:13 | BitPuffin | ? |
23:06:15 | Skrylar | he already said there won't be any massive syntax changes any time soon |
23:06:22 | Skrylar | waiting one week and asking again won't change that |
23:09:39 | EXetoC | GLhandle is an alias for GLuint is an alias for uint32, but it's still not possible to implicitly convert from GLhandle to GLuint |
23:11:05 | reactormonk | BitPuffin, nimrod c default |
23:12:12 | Skrylar | i kind of wonder sometimes who is really wanting oO = o_o(Oo) to be compilable |
23:12:24 | EXetoC | and this is not an actual OpenGL type I think, so I think it should be removed. some high level module can deal with this sort of stuff |
23:14:38 | EXetoC | ok some other parameter is causing a problem. it might be a regression |
23:16:28 | * | Guest6461 quit (Ping timeout: 240 seconds) |
23:16:31 | * | darkf joined #nimrod |
23:16:36 | EXetoC | nevermind |
23:16:39 | * | Guest6461 joined #nimrod |
23:16:46 | EXetoC | I should get myself a rubber duck |
23:18:14 | * | Rubber_Duck joined #nimrod |
23:18:18 | * | Rubber_Duck quit (Client Quit) |
23:18:43 | * | Rubber5Duck joined #nimrod |
23:19:33 | EXetoC | the problem is that the current opengl.nim uses cstring for these parameters. so many corner cases.. |
23:19:42 | Rubber5Duck | Quack |
23:19:59 | EXetoC | :p |
23:21:55 | dom96 | 'night |
23:25:27 | * | Rubber5Duck left #nimrod (#nimrod) |
23:25:44 | BitPuffin | night dom96 |
23:25:54 | BitPuffin | reactormonk: I don't think that will or should happen |
23:31:41 | reactormonk | BitPuffin, how so? |
23:31:45 | reactormonk | I think it's a good idea |
23:32:06 | reactormonk | hmm, just wanted to ask dom96 how to dump my TTable[string, TTable[string, float]] into json |
23:32:21 | flaviu | I'm also in favor of it, as well as of spaces |
23:32:37 | flaviu | reactormonk: Have you tried marshal? |
23:32:39 | BitPuffin | reactormonk: why? |
23:33:26 | reactormonk | flaviu, ah cool |
23:34:22 | * | darkf_ joined #nimrod |
23:36:12 | * | darkf quit (Ping timeout: 258 seconds) |
23:36:15 | * | darkf_ is now known as darkf |
23:41:08 | Skrylar | bitpuffin's argument earlier about createwindow reminded me |
23:41:24 | Skrylar | i once spoke to a dev for an indie mmo, who complained he had login issues from poorly using gdbm |
23:41:36 | Skrylar | people logging in and out was bottlenecking in it |
23:42:15 | Skrylar | so we suggested he use tokyocabinet, showed him how it had compatability interfaces for these different things so it would literally be a one line swapout and recompile.. get 10x the performance |
23:42:52 | Skrylar | he complained that when he ran `strings x | wc` the tokyocabinet file had "more symbols" than gdbm and thus was "worse", despite the symbols being the aforementioned compatability interface for one-line speedups |
23:43:57 | Skrylar | makes me think of how some progreammers have very strange metrics for deciding when something is too unsuitable |
23:46:28 | reactormonk | flaviu, hm, marshal fails with OOM |
23:48:22 | flaviu | reactormonk: I'm not sure of the specifics of marshel, but do you have loops in your structure? |
23:48:37 | EXetoC | fowl: I'll wait for a review. No hurry |
23:49:36 | reactormonk | flaviu, nope, it's TTable[string, TTable[string, float]] |
23:50:39 | reactormonk | just quite big. |
23:51:45 | flaviu | What is the typical table size? Try choosing an initial capacity that is reasonable for your application. |
23:52:10 | reactormonk | flaviu, it's ~ 1GB |
23:52:24 | reactormonk | flaviu, but the table creation is fine, the marshalling is what goes OOM |
23:52:39 | reactormonk | hmmm, maybe I shouldn't echo but got the pstream route |
23:52:52 | flaviu | I mean the subtables, are they smaller than 32 elements? |
23:53:05 | reactormonk | I have no idea, some are |
23:53:13 | * | io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist) |
23:53:46 | flaviu | My reasoning is that the empty spaces might be part of the problem |
23:58:09 | reactormonk | as mentioned, it's the marshalling. not the table creation. |
23:58:33 | flaviu | https://gist.github.com/flaviut/52144045c45b3a4834ef is a marshaled empty table |
23:58:45 | flaviu | of string to string |
23:59:42 | reactormonk | uh |
23:59:44 | reactormonk | ok |