[QUOTE=Map in a box;49154065][URL]https://msdn.microsoft.com/en-us/library/windows/desktop/ms681400(v=vs.85).aspx[/URL]
[editline]20th November 2015[/editline]
and undname[/QUOTE]
I am using the SymEnumSymbols and UnDecorateSymbolName functions, the hard part is actually making sense out of all this C++ and spitting out valid C# code. I plan on generating valid function wrappers too.
Implemented my own Anonymous functions because Callable was being a straight bitch. Can now store Anonymous functions in arrays and thus can now search them by string, so I can now implement builtin functions to my interpreter
[QUOTE=Rocket;49149406]He seems to have a problem with understanding XML so I think he might be in a little too much over his head.[/QUOTE]
I'm trying to familiarize myself with what's even going on with android studio, this UI stuff reminds me of VB
this program should basically be a single tabbed activity that reads files and plays them back, basically all I can do at this point is watch udacity videos until it's all drawn out in crayon for me
I haven't programmed anything other than microcontrollers in years
I finally added a lock-on system! (and a couple other things)
[vid]http://puu.sh/lsQGE/33c63d40b2.webm[/vid]
Also does anyone have any idea what this is all about? >>[img]http://puu.sh/lsQRI/522cb7daee.png[/img]
I tried looking it up but google won't search for special characters
[QUOTE=Tovip;49154959][...]
Also does anyone have any idea what this is all about? >>[img]http://puu.sh/lsQRI/522cb7daee.png[/img]
I tried looking it up but google won't search for special characters[/QUOTE]
It works if you put it in quotes. Still, it may be too unspecific as-is.
Taking a look at VSCode's extension stuff, maybe I'll try making Rant language support for it as well. Hopefully its package publishing tool isn't as shitty as Atom's.
The C++ code looks like this
[img]http://i.imgur.com/DutI5BU.png[/img]
And after i compile the program into CppTest.dll and squeeze it trough my wrapper generator i get the following output
[img]http://i.imgur.com/aI2ov96.png[/img]
and the result when you run it, is this
[img]http://i.imgur.com/1mCa186.png[/img]
[editline]21st November 2015[/editline]
On to classes! But time to rest now.
Okay, I got it working. Not a bad editor you have there, Microsoft.
[img]http://i.imgur.com/FNKzjSR.png[/img]
[editline]21st November 2015[/editline]
It's published now. Get the extension here:
[url]https://marketplace.visualstudio.com/items/TheBerkin.language-rant[/url]
(Finally) managed to reduce the loading times for my terrain generator to just a few seconds, also added some neat digging effects, random caves, terrain height and resources.
(Btw in case the music bothers you, sorry for that, stopped noticing it while programming/recording)
[vid]http://s1.webmshare.com/qoWnr.webm[/vid]
So I've run into a weird issue. I'm creating a programming language called Carbon. This is an example test file:
[code]
require Carbon;
require Carbon::String;
require Carbon::Console;
module Program
do
:[Carbon::Entry]
class Main
do
defn self.main(args: String[]): void
do
Carbon::Console.print-line("Hello, world!");
end
end
end
[/code]
Assume for just a moment that "String" is meant to resolve to "Carbon::String". So, the full signature of that method is "Program::Main.main(args: Carbon::String[]): void)". Also assume for a moment that "Carbon::String" is not provided by the core library. The issue I'm running into is this: how do I resolve the name of "String" given that file (assuming another file somewhere else declares "Carbon::String")? There are a few ways I can think of resolving it, and most of them will require 2+ passes over all source files. The first one is to "mark" it as an undefined class, and process the file that way; the problem with that is that when attempting to mangle the name, it uses the incorrect class name - it would use "String" as the class instead of "Carbon::String", resulting in an incorrectly mangled name. This is not fun. The second option is to pass over every file in the "project," and keep a list of defined classes from other libraries handy, list all of the defined classes in each file, and all of the classes that are missing from each file, and then play mix and match with the classes. The problem here being that I would need a way to get a list of all of the files to process before hand, and each file would need to be processed twice - once for the class list, and second for the code generation (this isn't too much of a big deal). I would either need the developer to define a "project" of sorts that lists the files, or something else. The third is to say fuck it, and give up, and I don't like that option.
So, I'm looking for input on how to handle this. Pls?
Having some fun with a new function I wrote.
[img]http://i.imgur.com/fMI38D6.png[/img]
[editline]21st November 2015[/editline]
A few more:
[img]http://i.imgur.com/XOduWZL.png[/img]
[QUOTE=Berkin;49157188]Having some fun with a new function I wrote.
[img]http://i.imgur.com/fMI38D6.png[/img]
[editline]21st November 2015[/editline]
A few more:
[img]http://i.imgur.com/XOduWZL.png[/img][/QUOTE]
[code][pl:hobbit]
'hobbitses'[/code]
[vid]http://i.imgur.com/4Al3aTk.webm[/vid]
Was playing around with AI, ended up making Syrian Border Simulator 2015 by accident
Anonymous function lookup for my Parser
[img]http://i.imgur.com/gQHDpPL.png[/img]
Not a sophisticated design. I'm going to redo it later, i just wanted to make sure I've got the syntax down pat.
currently there's two arrays: One with identifier strings, the other with the Anonymous functions. It searches the first array for the string you want to find. if it matches something, it returns the anonymous function from the 2nd table at the corresponding index. The parser later passes a value then calls the required method.
Still need to figure out how I'm doing multiple arguments. Maybe I can reparse a csv argument.
[QUOTE=proboardslol;49158092]Anonymous function lookup for my Parser
[img]http://i.imgur.com/gQHDpPL.png[/img]
Not a sophisticated design. I'm going to redo it later, i just wanted to make sure I've got the syntax down pat.
currently there's two arrays: One with identifier strings, the other with the Anonymous functions. It searches the first array for the string you want to find. if it matches something, it returns the anonymous function from the 2nd table at the corresponding index. The parser later passes a value then calls the required method.
Still need to figure out how I'm doing multiple arguments. Maybe I can reparse a csv argument.[/QUOTE]
How about using a [URL="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html"]Map[/URL] instead?
I made some kind of layer based lighting/darkening system. Notice how the light "bleeds" over the walls in front, but it doesn't affect the sky. I can also hand place lamps and stuff over all this, but that will come later.
There are more pics and info on my blog:
[url]http://antonior-software.blogspot.hr/2015/11/light-and-magic.html[/url]
[quote]
No light
[img]http://i.imgur.com/5qcRsuZ.png[/img]
White light in building on left, orange/yellow outside area, ground and walls are dark
[img]http://i.imgur.com/ZJjepnY.png[/img]
[/quote]
[QUOTE=Rocket;49159625]What does [pl:octopus] produce?[/QUOTE]
It produces "octopuses", which is, as far as I know, just as acceptable as "octopi".
Finally bought an SSD. Atom works like a charm :) Not a hickup.
Learning HTML5 and CSS3. If i lose interest this time, i'll just accept it.
SSDs are god like.
[QUOTE=Darwin226;49158211]How about using a [URL="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html"]Map[/URL] instead?[/QUOTE]
Yeah I was gonna do something like that. This was just me proving to myself that I know what I'm doing. Do maps take generic types?
[QUOTE=proboardslol;49160357]Yeah I was gonna do something like that. This was just me proving to myself that I know what I'm doing. Do maps take generic types?[/QUOTE]
Yeah. That's kind of their jam.
[QUOTE=Winner;49160296]tumblr reported my username checker to AWS and this exchange happened:
[t]http://i.imgur.com/UwZJRnD.png[/t]
[t]http://i.imgur.com/YbFcV52.png[/t]
[t]http://i.imgur.com/fsouBv1.png[/t][/QUOTE]
I'm surprised they actually did anything at all.
I suppose the people working there are better at back-end tech and keeping their service online than at UX design.
[QUOTE=MatheusMCardoso;49160156]Finally bought an SSD. Atom works like a charm :) Not a hickup.
Learning HTML5 and CSS3. If i lose interest this time, i'll just accept it.[/QUOTE]
You guys must work with a shitton of tiny files at the same time. I've worked with virtual machines in data centers and didn't really see a major difference with 10k RPM and SSDs during normal workloads. The only real issue I've ever had with read and write speed has been using a MicroSD card with a slow host interface. That was painful though.
[QUOTE=mastersrp;49160767]You guys must work with a shitton of tiny files at the same time. I've worked with virtual machines in data centers and didn't really see a major difference with 10k RPM and SSDs during normal workloads. The only real issue I've ever had with read and write speed has been using a MicroSD card with a slow host interface. That was painful though.[/QUOTE]
10K RPM HDDs are very fast though. Most people have 5.9K or 7.2K RPM if they're lucky.
I'm not surprised you didn't see much difference.
[QUOTE=mastersrp;49160767]You guys must work with a shitton of tiny files at the same time. I've worked with virtual machines in data centers and didn't really see a major difference with 10k RPM and SSDs during normal workloads. The only real issue I've ever had with read and write speed has been using a MicroSD card with a slow host interface. That was painful though.[/QUOTE]
It mostly reflects in OS/Application boot/load times. Reflects very clearly in Virtual Machines in my experience, at least in an workstation setup, although i don't have 10k RPM drives to compare it too.
Generally the VPS people consider the SSDs crucial, especially on the low end stuff where you're running a large amount of systems on single machine, you can very quickly run into IO issues.
Ever have those days where you wake up and say "I'm going to get shit done today," and then proceed to binge Netflix for six hours? Today was that day.
Did manage to squeeze in a little fun though, took a little project of mine from using XML to using protobuf and optionally XML for manual editing. Only took a few lines of code and it worked on the first try! Now I want to change from XML to JSON, but I can't think of a way to do inherited types in JSON. Also, how can I tell JSON to differentiate a float and decimal, or an int/long/byte? I've seen non-standard JSON that uses postfixes on values like 'd', 'f', 'b' etc, but I don't think that's in the standard. Any thoughts?
Started working on my racing game again this weekend.
Found some sprites from a different game I was making that were to the same scale, so I threw them in :v:
[IMG]https://i.imgur.com/He6E3pG.png[/IMG]
And also put them in some other games, because tanks make everything more fun.
[vid]http://zippy.gfycat.com/DeficientGloriousIchidna.webm[/vid]
[QUOTE=laserpanda;49161426]Started working on my racing game again this weekend.
Found some sprites from a different game I was making that were to the same scale, so I threw them in :v:
[IMG]https://i.imgur.com/He6E3pG.png[/IMG]
And also put them in some other games, because tanks make everything more fun.
[vid]http://zippy.gfycat.com/DeficientGloriousIchidna.webm[/vid][/QUOTE]
Hockey Tanks :v:
[QUOTE=nomad1;49162699]Hockey Tanks :v:[/QUOTE]
Please, someone make this a thing.
I need some geometry in various fields for a project of mine.
[URL="https://gist.github.com/Tamschi/52ff257862318297c8a9"][editline]edit[/editline] :snip: old code[/URL]
For now this should be enough. The final form of this class (if I ever need it) is likely going to be quite a bit worse, but I'm definitely not going to write it by hand.
(I'm fully aware this would by a lot nicer using a functional language.
However, I'd like it to be available in most of .NET so there'd be a messy interface somewhere else instead.)
[editline]22nd November 2015[/editline]
I could collapse that really wide block by using plain public properties (which would get rid of the interface names)...
[editline]22nd November 2015[/editline]
This seems less messy: [code]namespace Kalkuel.Structures
{
//TODO: Generate code for heterogeneous field types.
public struct Matrix_3_3<TFieldValue> : IMatrix_3_3<TFieldValue>
where TFieldValue : IFieldValue<TFieldValue>
{
public Row<TFieldValue, TFieldValue, TFieldValue> Row0;
public Row<TFieldValue, TFieldValue, TFieldValue> Row1;
public Row<TFieldValue, TFieldValue, TFieldValue> Row2;
public Matrix_3_3(
TFieldValue a00, TFieldValue a01, TFieldValue a02,
TFieldValue a10, TFieldValue a11, TFieldValue a12,
TFieldValue a20, TFieldValue a21, TFieldValue a22)
{
Row0 = new Row<TFieldValue, TFieldValue, TFieldValue>(a00, a01, a02);
Row1 = new Row<TFieldValue, TFieldValue, TFieldValue>(a10, a11, a12);
Row2 = new Row<TFieldValue, TFieldValue, TFieldValue>(a20, a21, a22);
}
public TFieldValue A00 => Row0.Column0;
public TFieldValue A01 => Row0.Column1;
public TFieldValue A02 => Row0.Column2;
public TFieldValue A10 => Row1.Column0;
public TFieldValue A11 => Row1.Column1;
public TFieldValue A12 => Row1.Column2;
public TFieldValue A20 => Row2.Column0;
public TFieldValue A21 => Row2.Column1;
public TFieldValue A22 => Row2.Column2;
IReadOnlyColumn<TFieldValue, TFieldValue, TFieldValue> IReadOnlyRow<IReadOnlyColumn<TFieldValue, TFieldValue, TFieldValue>>.Column0 => Column0;
public IColumn<TFieldValue, TFieldValue, TFieldValue> Column0 => new Column<TFieldValue, TFieldValue, TFieldValue>(Row0.Column0, Row1.Column0, Row2.Column2);
IReadOnlyColumn<TFieldValue, TFieldValue, TFieldValue> IReadOnlyRow<IReadOnlyColumn<TFieldValue, TFieldValue, TFieldValue>, IReadOnlyColumn<TFieldValue, TFieldValue, TFieldValue>>.Column1 => Column1;
public IColumn<TFieldValue, TFieldValue, TFieldValue> Column1 => new Column<TFieldValue, TFieldValue, TFieldValue>(Row0.Column1, Row1.Column1, Row2.Column1);
IReadOnlyColumn<TFieldValue, TFieldValue, TFieldValue> IReadOnlyRow<IReadOnlyColumn<TFieldValue, TFieldValue, TFieldValue>, IReadOnlyColumn<TFieldValue, TFieldValue, TFieldValue>, IReadOnlyColumn<TFieldValue, TFieldValue, TFieldValue>>.Column2 => Column2;
public IColumn<TFieldValue, TFieldValue, TFieldValue> Column2 => new Column<TFieldValue, TFieldValue, TFieldValue>(Row0.Column2, Row1.Column2, Row2.Column2);
IReadOnlyRow<TFieldValue, TFieldValue, TFieldValue> IReadOnlyColumn<IReadOnlyRow<TFieldValue, TFieldValue, TFieldValue>>.Row0 => Row0;
IRow<TFieldValue, TFieldValue, TFieldValue> IReadOnlyColumn<IRow<TFieldValue, TFieldValue, TFieldValue>>.Row0 => Row0;
IReadOnlyRow<TFieldValue, TFieldValue, TFieldValue> IReadOnlyColumn<IReadOnlyRow<TFieldValue, TFieldValue, TFieldValue>, IReadOnlyRow<TFieldValue, TFieldValue, TFieldValue>>.Row1 => Row1;
IRow<TFieldValue, TFieldValue, TFieldValue> IReadOnlyColumn<IRow<TFieldValue, TFieldValue, TFieldValue>, IRow<TFieldValue, TFieldValue, TFieldValue>>.Row1 => Row1;
IReadOnlyRow<TFieldValue, TFieldValue, TFieldValue> IReadOnlyColumn<IReadOnlyRow<TFieldValue, TFieldValue, TFieldValue>, IReadOnlyRow<TFieldValue, TFieldValue, TFieldValue>, IReadOnlyRow<TFieldValue, TFieldValue, TFieldValue>>.Row2 => Row2;
IRow<TFieldValue, TFieldValue, TFieldValue> IReadOnlyColumn<IRow<TFieldValue, TFieldValue, TFieldValue>, IRow<TFieldValue, TFieldValue, TFieldValue>, IRow<TFieldValue, TFieldValue, TFieldValue>>.Row2 => Row2;
public void Set00(TFieldValue a00) => Row0.Column0 = a00;
public void Set01(TFieldValue a01) => Row0.Column1 = a01;
public void Set02(TFieldValue a02) => Row0.Column2 = a02;
public void Set10(TFieldValue a10) => Row1.Column0 = a10;
public void Set11(TFieldValue a11) => Row1.Column1 = a11;
public void Set12(TFieldValue a12) => Row1.Column2 = a12;
public void Set20(TFieldValue a20) => Row2.Column0 = a20;
public void Set21(TFieldValue a21) => Row2.Column1 = a21;
public void Set22(TFieldValue a22) => Row2.Column2 = a22;
public void SetColumn0(IColumn<TFieldValue, TFieldValue, TFieldValue> column0)
{
Row0.Column0 = column0.Row0;
Row1.Column0 = column0.Row1;
Row2.Column0 = column0.Row2;
}
public void SetColumn1(IColumn<TFieldValue, TFieldValue, TFieldValue> column1)
{
Row0.Column1 = column1.Row0;
Row1.Column1 = column1.Row1;
Row2.Column1 = column1.Row2;
}
public void SetColumn2(IColumn<TFieldValue, TFieldValue, TFieldValue> column2)
{
Row0.Column2 = column2.Row0;
Row1.Column2 = column2.Row1;
Row2.Column2 = column2.Row2;
}
public void SetRow0(IRow<TFieldValue, TFieldValue, TFieldValue> row0) => Row0 = new Row<TFieldValue, TFieldValue, TFieldValue>(row0);
public void SetRow1(IRow<TFieldValue, TFieldValue, TFieldValue> row1) => Row1 = new Row<TFieldValue, TFieldValue, TFieldValue>(row1);
public void SetRow2(IRow<TFieldValue, TFieldValue, TFieldValue> row2) => Row2 = new Row<TFieldValue, TFieldValue, TFieldValue>(row2);
}
}[/code]
Sorry, you need to Log In to post a reply to this thread.