Those images are 4000x2000px - too much for my internet - but they'll never be displayed to scale, as according to CSS maximum possible size of those is (1170px/2 - paddings)
How will you measure accuracy of control systems (like "no oscillations" under A1 and "perfectly level" under A3)? It is technically possible to get quantum accuracy, but time is perhaps too limited to get everything perfect
Also i'd say you should add some kind of penalty for FT compilation errors and code with incorrect bound checks - like Planaria's HUD copied without variables or Mach number becoming NaN above 45km.
@Graingy That's really basic, it accumulates energy in a variable, calculates temperature from energy and heat capacity, and adds or subtracts energy depending on difference of temperatures
Perhaps catapult force is applied to craft while it's close-enough and perhaps it doesn't considers momentum preservation
So perhaps catapult pushes craft forwards without pushing carrier backwards, craft pulls carrier, and that keeps catapult close-enough to craft
@32 There's no addressing so storing anything will be a pain.
Like if you need to use Nth piece of memory on real machine it's selected inside RAM chip, but if you want to do it in FT you need to compare N for every piece there is, that's log2(length) ternaries to get something and a setter per piece to store something in variables.
There's no way to get additional space at runtime, so you'll need to process all setters you'll ever need even if you don't need them at the moment.
Izzy's renderer uses points, not faces and it also needs a piece of label for each point you might need to render.
So even if it's possible de-jure, there's no CPU that can process that with reasonable speed.
It sounds interesting, but all such projects i heard about are dead now. People can't follow anything for too long, eventually someone will get tangled in real-life, someone will forget, someone will just fail, and then it'll fall apart.
@PhantomBoltSP VC variable, there's four setters for it (see activators):
first one sets default speed;
second one sets speed if waypoint's behind truck;
third one sets speed if waypoint is dead end and is within 15 seconds, it adds V to increase sensitivity;
fourth one is kind of brake for dead ends
You can change position of main cockpit frame-by-frame to transfer info, but there's no standard and it might be inaccurate if it's far from wright airport so you'll need some space.
Icey/Sandman/IFV are perhaps right, but i petition for some text representation of code. It just takes much more time to scroll and edit vizzy, and it's xml is pretty long too.
IDK if you're still interested, but designer menu folders are created automatically if they're not empty.
To put something in folder you need to change category of DesignerPart xml tag, that's used both for vanilla parts (AppData/LocalLow/Jundroo/SimplePlanes/DesignerParts.xml), mods (somewhere within mod file) and sub-assemblies (in sub-assembly file, in AppData/LocalLow/Jundroo/SimplePlanes/SubAssemblies folder)
You can also put description there and change icon, but AFAIK you can't use external file as icon.
Vanilla parts also use studioScale/studioRotation/studioOffset for preview, but it doesn't works for sub-assemblies.
DebugExpression tan(deltaangle(Heading,TargetHeading))*TargetDistance DebugExpression tan(deltaangle(PitchAngle+AngleOfAttack,TargetElevation))*TargetDistance
Could actually hit Tiny around 20m away from center
You've got 27 successors (at the moment, 2025-01-26 22-47UTC), but that's not a line, that's tree with 12 leaf nodes, so it mostly goes around, not further.
Nicky brewed this up in his experimental laboratory. They aren't your traditional trees, but rather an expression parser so you can write actual code that is evaluated for input controllers. Intended for XML modders, these allow you to blend inputs in any way you can imagine.
And now you wish to turn it into local variation of unityscript?
I remember on one of airplanes i coded for TVC was only enabled after 30deg AoA and that was mix of symmetric and semi-symmetric wings, so perhaps with flat-bottom wings or properly linearized lift curves it'll work without hidden mechanics or magic.
Version tree at 2024-11-17T08:01Z: https://imgur.com/a/yPjfUFw
JSON (starting at a7bta6 (here)): {"uXG6QL":{"Juqh0F":{"yUqF40":{"V7mG41":{"CAiXMf":{"rVbbR6":{"6t93Bx":{"3gzkmM":{"lK9P1j":{"Iwbo7a":{"6csf1s":{"1qS1l7":{"107i4I":{"hVNvmA":{"86gnwh":{"Wk3a92":{"yi1Fs5":{"zgO3lP":{"ReQ53F":{"BiQO9o":{"Y71Du7":{"Y03wZj":{"oKuPV3":{"HmD5Eb":{"curO5f":{"fWqxB0":{"0hE2s9":{"EEU7OU":{"d4O2lO":{}}}}},"o9Y216":{"5dGUjf":{"LVzyx7":{}}},"z07iGr":{},"vCfb0G":{}},"UChFa4":{"rY957g":{}}},"7s1zIT":{"y58pg5":{"fJvU3W":{"YA13zl":{}}}}},"YRyM8N":{},"GOVncl":{"wmONxo":{}},"74e1BJ":{}},"l15867":{},"V3d46F":{},"AVCY24":{}}},"jAffBm":{"k9nMbp":{"V9r3f3":{"iQ27gM":{}}}}}},"w2V1Jw":{"B0741s":{"DenG2i":{}}}}}}}}},"7hhqJ2":{"JMEc48":{"a9976O":{"lJ25nM":{"I83BTS":{}}}}}}},"Xd40z0":{}},"l6J2Y7":{"99Cgr1":{"ATKJa1":{"y7qaP7":{"iBz858":{}}},"250Ug3":{"zZO4s2":{}}},"JW32OA":{},"8RYxBA":{}},"66qjqO":{}}}}}}}},"P9TM0B":{}}
Version tree at 2024-11-17T08:01Z: https://imgur.com/a/yPjfUFw
JSON (starting at a7bta6): {"uXG6QL":{"Juqh0F":{"yUqF40":{"V7mG41":{"CAiXMf":{"rVbbR6":{"6t93Bx":{"3gzkmM":{"lK9P1j":{"Iwbo7a":{"6csf1s":{"1qS1l7":{"107i4I":{"hVNvmA":{"86gnwh":{"Wk3a92":{"yi1Fs5":{"zgO3lP":{"ReQ53F":{"BiQO9o":{"Y71Du7":{"Y03wZj":{"oKuPV3":{"HmD5Eb":{"curO5f":{"fWqxB0":{"0hE2s9":{"EEU7OU":{"d4O2lO":{}}}}},"o9Y216":{"5dGUjf":{"LVzyx7":{}}},"z07iGr":{},"vCfb0G":{}},"UChFa4":{"rY957g":{}}},"7s1zIT":{"y58pg5":{"fJvU3W":{"YA13zl":{}}}}},"YRyM8N":{},"GOVncl":{"wmONxo":{}},"74e1BJ":{}},"l15867":{},"V3d46F":{},"AVCY24":{}}},"jAffBm":{"k9nMbp":{"V9r3f3":{"iQ27gM":{}}}}}},"w2V1Jw":{"B0741s":{"DenG2i":{}}}}}}}}},"7hhqJ2":{"JMEc48":{"a9976O":{"lJ25nM":{"I83BTS":{}}}}}}},"Xd40z0":{}},"l6J2Y7":{"99Cgr1":{"ATKJa1":{"y7qaP7":{"iBz858":{}}},"250Ug3":{"zZO4s2":{}}},"JW32OA":{},"8RYxBA":{}},"66qjqO":{}}}}}}}},"P9TM0B":{}}
Multiplayer event isn't really something that depends on tech, it more depends on humans who plan it, and that can be someone from community.
For tech it's perhaps possible to add tooling for parametric design (that's like defining part properties with FT), and since it's build-time stuff it mustn't really affect in-level performance.
@126 some variables are lists in index=a?xa:(index=b?xb:... form. to make them shorter i omitted closing parenthesis. it works fine with ft interpreter, but variable editor widget has it's own checker that says that such code isn't correct. to pass it you need to add those parenthesis back, e.g. turn
p_tgt.i=1?6020:(p_tgt.i=2?5885:(p_tgt.i=3?5805:(p_tgt.i=4?5805:(p_tgt.i=5?5805:(p_tgt.i=6?5805:(p_tgt.i=7?5805:(p_tgt.i=8?5805:(p_tgt.i=9?5805:(p_tgt.i=10?5805:(p_tgt.i=11?5885:(p_tgt.i=12?6020:(p_tgt.i=13?6020:(p_tgt.i=14?6020:(p_tgt.i=15?6020:(p_tgt.i=16?5880:(p_tgt.i=17?5670:(p_tgt.i=18?5670:(p_tgt.i=19?5670:(p_tgt.i=20?5685:(p_tgt.i=21?5600:(p_tgt.i=22?5600:(p_tgt.i=23?5635:0
into
p_tgt.i=1?6020:(p_tgt.i=2?5885:(p_tgt.i=3?5805:(p_tgt.i=4?5805:(p_tgt.i=5?5805:(p_tgt.i=6?5805:(p_tgt.i=7?5805:(p_tgt.i=8?5805:(p_tgt.i=9?5805:(p_tgt.i=10?5805:(p_tgt.i=11?5885:(p_tgt.i=12?6020:(p_tgt.i=13?6020:(p_tgt.i=14?6020:(p_tgt.i=15?6020:(p_tgt.i=16?5880:(p_tgt.i=17?5670:(p_tgt.i=18?5670:(p_tgt.i=19?5670:(p_tgt.i=20?5685:(p_tgt.i=21?5600:(p_tgt.i=22?5600:(p_tgt.i=23?5635:0))))))))))))))))))))))
(for debug purposes)
print(re.sub(r"\<#(?:([A-F0-9])([A-F0-9])([A-F0-9])[A-F0-9]?|([A-F0-9][A-F0-9])([A-F0-9][A-F0-9])([A-F0-9][A-F0-9])(?:[A-F0-9][A-F0-9])?)>",lambda m:"\x1b[48;2;"+str(int(m[1] or m[4],16))+";"+str(int(m[2] or m[5],16))+";"+str(int(m[3] or m[6],16))+"m",s).replace("<br>","\n").replace("."," "))
Replaces color tags with ANSI ones.
Idk if you guys will answer this, but:
Q: Will you use SP xml format but with higher xmlVersion and new sections or will you make new one?
Q: Perhaps it's too early to ask, but will you keep format of DesignerParts and setting files?
Q: Not related, but how do i download crafts from SR2 with curl?
@TRS051
If code's generated but doesn't shows in SP, try to:
- increase label's width and height;
- set label's alignment to top-left;
if image's displayed but is cut off, try to decrease image's size and generate code again. apparently label's limited to 100k dots and it's not something i can change
If it doesn't generates label's code, try to:
- make sure image isn't svg;
- if you're using image link, make sure that hosting allows cross-origin resource sharing (or download image and try again);
- check browser's dev console (usually F12) to see what's wrong
@Mousewithamachinegun122 Yes, it is possible to switch frames to get animation ({T=1?"frame":""}{T=2?"frame":""}...), but the program won't do it and idk if it'll be possible to run resulting craft at reasonable fps..
@Matteosiufromfifakit
Just raise your hand
And reach out for the spell
Find the door to the promised land
Just believe in yourself
Close your eyes and your will find
The way out of the dark
...Or read the post again, there's two links to github.
Thanks, and yes, i do want to join discord server.
Those images are 4000x2000px - too much for my internet - but they'll never be displayed to scale, as according to CSS maximum possible size of those is (1170px/2 - paddings)
+5How will you measure accuracy of control systems (like "no oscillations" under A1 and "perfectly level" under A3)? It is technically possible to get quantum accuracy, but time is perhaps too limited to get everything perfect
Also i'd say you should add some kind of penalty for FT compilation errors and code with incorrect bound checks - like Planaria's HUD copied without variables or Mach number becoming NaN above 45km.
@Graingy That's really basic, it accumulates energy in a variable, calculates temperature from energy and heat capacity, and adds or subtracts energy depending on difference of temperatures
@Graingy It calculates temperature of some of parts
Perhaps catapult force is applied to craft while it's close-enough and perhaps it doesn't considers momentum preservation
+1So perhaps catapult pushes craft forwards without pushing carrier backwards, craft pulls carrier, and that keeps catapult close-enough to craft
https://www.simpleplanes.com/Forums/View/2087928
+2Someone here might be interested in this. It's somewhat opposite but he wants to squeeze whatever's possible from SP too.
https://www.simpleplanes.com/Forums/View/2088530
Someone here might be interested in this. It's somewhat opposite but he wants to squeeze whatever's possible from SP too.
@32 There's no addressing so storing anything will be a pain.
+2Like if you need to use Nth piece of memory on real machine it's selected inside RAM chip, but if you want to do it in FT you need to compare N for every piece there is, that's log2(length) ternaries to get something and a setter per piece to store something in variables.
There's no way to get additional space at runtime, so you'll need to process all setters you'll ever need even if you don't need them at the moment.
Izzy's renderer uses points, not faces and it also needs a piece of label for each point you might need to render.
So even if it's possible de-jure, there's no CPU that can process that with reasonable speed.
It sounds interesting, but all such projects i heard about are dead now. People can't follow anything for too long, eventually someone will get tangled in real-life, someone will forget, someone will just fail, and then it'll fall apart.
@PhantomBoltSP
VC
variable, there's four setters for it (see activators):first one sets default speed;
second one sets speed if waypoint's behind truck;
third one sets speed if waypoint is dead end and is within 15 seconds, it adds V to increase sensitivity;
fourth one is kind of brake for dead ends
You can change position of main cockpit frame-by-frame to transfer info, but there's no standard and it might be inaccurate if it's far from wright airport so you'll need some space.
Icey/Sandman/IFV are perhaps right, but i petition for some text representation of code. It just takes much more time to scroll and edit vizzy, and it's xml is pretty long too.
+1Discord limits link lifetime, in this case it worked until 0x67bbca15=2025-02-24T01:23:33Z
Guy puts label onto fuselage block
1:19 Is it racetrack autopilot with imported model (spawnable by player) or is it a part of map (like SP1 convoys)?
P hotkey by default
Actually just read all hotkeys (settings/controls IIRC), maybe you'll find something useful
Piston is fixed and it's oscillation period is constant, so it also allows enemy to get accurate heading of your cockpit part.
@MrCOPTY Maybe, but why?
+1Maybe you can reduce cpu load if you'll use one-two triangle blocks instead of fuselage?
IDK if you're still interested, but designer menu folders are created automatically if they're not empty.
To put something in folder you need to change
category
ofDesignerPart
xml tag, that's used both for vanilla parts (AppData/LocalLow/Jundroo/SimplePlanes/DesignerParts.xml
), mods (somewhere within mod file) and sub-assemblies (in sub-assembly file, inAppData/LocalLow/Jundroo/SimplePlanes/SubAssemblies
folder)You can also put description there and change icon, but AFAIK you can't use external file as icon.
Vanilla parts also use
studioScale
/studioRotation
/studioOffset
for preview, but it doesn't works for sub-assemblies.No brakes at all. It's okay for self-piloting, it's just that we humans need to remember about it.
+2DebugExpression tan(deltaangle(Heading,TargetHeading))*TargetDistance
DebugExpression tan(deltaangle(PitchAngle+AngleOfAttack,TargetElevation))*TargetDistance
Could actually hit Tiny around 20m away from center
You've got 27 successors (at the moment, 2025-01-26 22-47UTC), but that's not a line, that's tree with 12 leaf nodes, so it mostly goes around, not further.
Archeology is fun
It seems so ancient now
And now you wish to turn it into local variation of unityscript?
T
?But what about flight data? GS/IAS/TAS and every thing that depends on it?
+2I remember on one of airplanes i coded for TVC was only enabled after 30deg AoA and that was mix of symmetric and semi-symmetric wings, so perhaps with flat-bottom wings or properly linearized lift curves it'll work without hidden mechanics or magic.
Yes, iirc Randomusername used that.
+1Hey-hey-hey, i know there's spheres/wireframes/images, but airplane doesn't fits into block and it adds 2x more parts than there was.
High-speed part is kind of PD with
+1smooth(...)-smooth(...)
being dampener.Version tree at 2024-11-17T08:01Z: https://imgur.com/a/yPjfUFw
JSON (starting at a7bta6 (here)): {"uXG6QL":{"Juqh0F":{"yUqF40":{"V7mG41":{"CAiXMf":{"rVbbR6":{"6t93Bx":{"3gzkmM":{"lK9P1j":{"Iwbo7a":{"6csf1s":{"1qS1l7":{"107i4I":{"hVNvmA":{"86gnwh":{"Wk3a92":{"yi1Fs5":{"zgO3lP":{"ReQ53F":{"BiQO9o":{"Y71Du7":{"Y03wZj":{"oKuPV3":{"HmD5Eb":{"curO5f":{"fWqxB0":{"0hE2s9":{"EEU7OU":{"d4O2lO":{}}}}},"o9Y216":{"5dGUjf":{"LVzyx7":{}}},"z07iGr":{},"vCfb0G":{}},"UChFa4":{"rY957g":{}}},"7s1zIT":{"y58pg5":{"fJvU3W":{"YA13zl":{}}}}},"YRyM8N":{},"GOVncl":{"wmONxo":{}},"74e1BJ":{}},"l15867":{},"V3d46F":{},"AVCY24":{}}},"jAffBm":{"k9nMbp":{"V9r3f3":{"iQ27gM":{}}}}}},"w2V1Jw":{"B0741s":{"DenG2i":{}}}}}}}}},"7hhqJ2":{"JMEc48":{"a9976O":{"lJ25nM":{"I83BTS":{}}}}}}},"Xd40z0":{}},"l6J2Y7":{"99Cgr1":{"ATKJa1":{"y7qaP7":{"iBz858":{}}},"250Ug3":{"zZO4s2":{}}},"JW32OA":{},"8RYxBA":{}},"66qjqO":{}}}}}}}},"P9TM0B":{}}
Version tree at 2024-11-17T08:01Z: https://imgur.com/a/yPjfUFw
+1JSON (starting at a7bta6): {"uXG6QL":{"Juqh0F":{"yUqF40":{"V7mG41":{"CAiXMf":{"rVbbR6":{"6t93Bx":{"3gzkmM":{"lK9P1j":{"Iwbo7a":{"6csf1s":{"1qS1l7":{"107i4I":{"hVNvmA":{"86gnwh":{"Wk3a92":{"yi1Fs5":{"zgO3lP":{"ReQ53F":{"BiQO9o":{"Y71Du7":{"Y03wZj":{"oKuPV3":{"HmD5Eb":{"curO5f":{"fWqxB0":{"0hE2s9":{"EEU7OU":{"d4O2lO":{}}}}},"o9Y216":{"5dGUjf":{"LVzyx7":{}}},"z07iGr":{},"vCfb0G":{}},"UChFa4":{"rY957g":{}}},"7s1zIT":{"y58pg5":{"fJvU3W":{"YA13zl":{}}}}},"YRyM8N":{},"GOVncl":{"wmONxo":{}},"74e1BJ":{}},"l15867":{},"V3d46F":{},"AVCY24":{}}},"jAffBm":{"k9nMbp":{"V9r3f3":{"iQ27gM":{}}}}}},"w2V1Jw":{"B0741s":{"DenG2i":{}}}}}}}}},"7hhqJ2":{"JMEc48":{"a9976O":{"lJ25nM":{"I83BTS":{}}}}}}},"Xd40z0":{}},"l6J2Y7":{"99Cgr1":{"ATKJa1":{"y7qaP7":{"iBz858":{}}},"250Ug3":{"zZO4s2":{}}},"JW32OA":{},"8RYxBA":{}},"66qjqO":{}}}}}}}},"P9TM0B":{}}
Multiplayer event isn't really something that depends on tech, it more depends on humans who plan it, and that can be someone from community.
For tech it's perhaps possible to add tooling for parametric design (that's like defining part properties with FT), and since it's build-time stuff it mustn't really affect in-level performance.
Some of these are just bots.
That must be a ton of labels. XML file weights ~2mb, and that's usual weight of 2000-2500-part build.
+1@RMZSPFan [un]fortunately she is the one with tentacles here.
+1@126 some variables are lists in
index=a?xa:(index=b?xb:...
form. to make them shorter i omitted closing parenthesis. it works fine with ft interpreter, but variable editor widget has it's own checker that says that such code isn't correct. to pass it you need to add those parenthesis back, e.g. turnp_tgt.i=1?6020:(p_tgt.i=2?5885:(p_tgt.i=3?5805:(p_tgt.i=4?5805:(p_tgt.i=5?5805:(p_tgt.i=6?5805:(p_tgt.i=7?5805:(p_tgt.i=8?5805:(p_tgt.i=9?5805:(p_tgt.i=10?5805:(p_tgt.i=11?5885:(p_tgt.i=12?6020:(p_tgt.i=13?6020:(p_tgt.i=14?6020:(p_tgt.i=15?6020:(p_tgt.i=16?5880:(p_tgt.i=17?5670:(p_tgt.i=18?5670:(p_tgt.i=19?5670:(p_tgt.i=20?5685:(p_tgt.i=21?5600:(p_tgt.i=22?5600:(p_tgt.i=23?5635:0
into
p_tgt.i=1?6020:(p_tgt.i=2?5885:(p_tgt.i=3?5805:(p_tgt.i=4?5805:(p_tgt.i=5?5805:(p_tgt.i=6?5805:(p_tgt.i=7?5805:(p_tgt.i=8?5805:(p_tgt.i=9?5805:(p_tgt.i=10?5805:(p_tgt.i=11?5885:(p_tgt.i=12?6020:(p_tgt.i=13?6020:(p_tgt.i=14?6020:(p_tgt.i=15?6020:(p_tgt.i=16?5880:(p_tgt.i=17?5670:(p_tgt.i=18?5670:(p_tgt.i=19?5670:(p_tgt.i=20?5685:(p_tgt.i=21?5600:(p_tgt.i=22?5600:(p_tgt.i=23?5635:0))))))))))))))))))))))
Well, history tends to repeat itself.
It's sale again and i ask again: Who's this girl on banner?
(for debug purposes)
print(re.sub(r"\<#(?:([A-F0-9])([A-F0-9])([A-F0-9])[A-F0-9]?|([A-F0-9][A-F0-9])([A-F0-9][A-F0-9])([A-F0-9][A-F0-9])(?:[A-F0-9][A-F0-9])?)>",lambda m:"\x1b[48;2;"+str(int(m[1] or m[4],16))+";"+str(int(m[2] or m[5],16))+";"+str(int(m[3] or m[6],16))+"m",s).replace("<br>","\n").replace("."," "))
Replaces color tags with ANSI ones.
Idk if you guys will answer this, but:
Q: Will you use SP xml format but with higher xmlVersion and new sections or will you make new one?
Q: Perhaps it's too early to ask, but will you keep format of DesignerParts and setting files?
Q: Not related, but how do i download crafts from SR2 with curl?
+1@TRS051
If code's generated but doesn't shows in SP, try to:
- increase label's width and height;
- set label's alignment to top-left;
if image's displayed but is cut off, try to decrease image's size and generate code again. apparently label's limited to 100k dots and it's not something i can change
If it doesn't generates label's code, try to:
- make sure image isn't svg;
- if you're using image link, make sure that hosting allows cross-origin resource sharing (or download image and try again);
- check browser's dev console (usually F12) to see what's wrong
@Mousewithamachinegun122 Yes, it is possible to switch frames to get animation (
+1{T=1?"frame":""}{T=2?"frame":""}
...), but the program won't do it and idk if it'll be possible to run resulting craft at reasonable fps..@TheAviator77 Can you please send image you used and result you got?
@Mousewithamachinegun123 IDK. Try to increase size of label and set it's alignment to top-left.
+1I remember spectrogram of jet engine, it was very wide and noisy, so it's a wonder you can play music with it.
@Matteosiufromfifakit
Just raise your hand
And reach out for the spell
Find the door to the promised land
Just believe in yourself
Close your eyes and your will find
The way out of the dark
...Or read the post again, there's two links to github.
@UnidentifiedStapler that's sad, but i can't (and i don't wish to) fix GBoard, so perhaps it's not my business.