- Joined
- Jan 8, 2023
Real talk... is there any plans to create a "-Kikes" license? I know "nigger" is a funnier word, but "minus kikes"... you know.No, fuck them. Keep learning it just to spite them and put +Nigger in all your software licenses.

Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Real talk... is there any plans to create a "-Kikes" license? I know "nigger" is a funnier word, but "minus kikes"... you know.No, fuck them. Keep learning it just to spite them and put +Nigger in all your software licenses.
I get the joke, but wouldn't it be "+Kikes" and not "-Kikes"?Real talk... is there any plans to create a "-Kikes" license? I know "nigger" is a funnier word, but "minus kikes"... you know.![]()
I guess it would be, I don't know if a licence requires the plus before. If that's the case, then yeah.I get the joke, but wouldn't it be "+Kikes" and not "-Kikes"?
MIT license?
/**
* Structure that performs broadphase collision detection
* @param U index data type
*/
interface Broadphase<U> {
/**
* Adds an item
* @param item item to add
*/
function add(item: Collider<U>): Void;
/**
* Updates an item that's already added
* @param item item to update
* @param data old index data
*/
function update(item: Collider<U>): Void;
/**
* Removes an item that's already added
* @param item item to update
* @param data old index data
*/
function remove(item: Collider<U>): Void;
/**
* Gets pairs of pottentially colliding items
* @return array of pairs
*/
function getPairs(): Array<Pair<Collider<U>>>;
}
if(itmID == 0){
Vector2I Size = new Vector2I(640, 360);
DisplayServer.WindowSetSize(Size);
} else if(itmID == 1){
Vector2I Size = new Vector2I(1280, 720);
DisplayServer.WindowSetSize(Size);
} else if(itmID == 2){
Vector2I Size = new Vector2I(1920, 1080);
DisplayServer.WindowSetSize(Size);
}
int[] x = [640, 1280, 1920];
int[] y = [360, 720, 1080];
Vector2I Size = new Vector2I(x[itmID], y[itmID]);
DisplayServer.WindowSetSize(Size);
C#:if(itmID == 0){ Vector2I Size = new Vector2I(640, 360); DisplayServer.WindowSetSize(Size); } else if(itmID == 1){ Vector2I Size = new Vector2I(1280, 720); DisplayServer.WindowSetSize(Size); } else if(itmID == 2){ Vector2I Size = new Vector2I(1920, 1080); DisplayServer.WindowSetSize(Size); }
View attachment 6529529
View attachment 6529586C#:int[] x = [640, 1280, 1920]; int[] y = [360, 720, 1080]; Vector2I Size = new Vector2I(x[itmID], y[itmID]); DisplayServer.WindowSetSize(Size);
int[] y = [360, 480, 720, 1080];
Vector2I Size = new Vector2I(y[itmID] / 9 * 16, y[itmID]);
DisplayServer.WindowSetSize(Size);
Annoy your coworkers with this one weird trick.C#:int[] y = [360, 480, 720, 1080]; Vector2I Size = new Vector2I(y[itmID] / 9 * 16, y[itmID]); DisplayServer.WindowSetSize(Size);
int y=60*itmID*itmID+60*itmID+360;
Vector2I Size = new Vector2I(y / 9 * 16, y);
DisplayServer.WindowSetSize(Size);
@y a t s, too:Annoy your coworkers with this one weird trick.
I agree about the readability; I was just being a smartass.@y a t s, too:
math is fun, but not easily readable and ill-suited to different window proportions.
What if you need to display or otherwise use a list of existing options, would you be recalculating x for that every time?
@${Sandy} 's variant is the best. (Or an array of 2-tuples, to ensure collections of widths and heights of equal length.)
NoBut I was wondering, for a project of this nature is it a good practice to have a cs file for every component in a given scene?
In gdscript you simply do $node/node.function_call() arbitrarily if you're traversing down the tree, should be the same concept in c# but I've never used c# with godot, apparently it's GetNode<Node3D>("node/node").When I attach a script to the root node of the scene and I try to tell other nodes such as an option box or check button or label node to do something in that script it doesn't work but doesn't throw any errors.
That seems to work for most things and I do that as much as I can. But for example, I have an option box and it saves its current selection to a config file.In gdscript you simply do $node/node.function_call() arbitrarily if you're traversing down the tree, should be the same concept in c# but I've never used c# with godot, apparently it's GetNode<Node3D>("node/node").
int current = (int)config.GetValue("Resolution", "Selection")
GetNode<OptionButton>("nodepath here").Select(config)
int current = (int)config.GetValue("Resolution", "Selection")
this.Select(config)
Idk your node path is probably wrong? add some printlns or use a debuggerThat seems to work for most things and I do that as much as I can. But for example, I have an option box and it saves its current selection to a config file.
But when you reopen the options menu
C#:int current = (int)config.GetValue("Resolution", "Selection") GetNode<OptionButton>("nodepath here").Select(config)
Simply just does not work and it wont even throw an error.
But when attach a script to the options box node and type in
C#:int current = (int)config.GetValue("Resolution", "Selection") this.Select(config)
It works exactly as intended.
I did actually make that mistake originally and fixed it.Idk your node path is probably wrong? add some printlns or use a debugger
No you can put the script anywhere in the tree but the root can address any node, nodes below the root cant address the root. I'm gonna guess you're addressing the wrong node but think you're addressing another one, that's why it only works when your script is attached to it but fails silently otherwise. Use % unique names in the tree for your node and address using thatI did actually make that mistake originally and fixed it.
Could the issue be that I need to attach the root nodes script to the other nodes as well?