|
Few update suggestions
#483723
07/17/21 13:33
07/17/21 13:33
|
Joined: May 2009
Posts: 5,370 Caucasus
3run
OP
Senior Expert
|
OP
Senior Expert
Joined: May 2009
Posts: 5,370
Caucasus
|
Hey @jcl! I wanted to suggest two things, which (in my mind) would significantly improve gamestudio user experience yet with minimal effort. 1) - Official Lite-C extension for VSCode. Is it possible to get one from conitec? I started making my own one, but when it came to Lite-C grammar specific things (.tmLanguage.json) I gave up. It doesn't seems to be too hard for a person, who knows all ins and outs of Lite-C to be able to create extension. This would improve coding experience dramatically, since VSCode is featuring all the things (autocompletion, autoformatting instead of indenting, intellisense, etc) that SED is missing. At the end it also could be uploaded to VSCcode marketplace, so all newcomers would be able to set it up within few clicks! Atm, I was able to get Lite-C working with VSCode, but it's not fully working (supported), since I'm using official C extension which doesn't recognize Lite-C specific syntax. It's a bit tricky to get it up and running, and might be difficult for those, who may wanna try acknex out. 2) - Yesterday I've found out, that WED can open quake .map files. After googling for a while, I've came across TrenchBroom which seems to be the best (and modern) mapping tool atm for quake 1. I was able to create a level with it, which then was successfully opened in WED and compiled with the Map Compiler. Player's position was recognized as a camera position, light was recognized correctly as a static light. Even texture alignment worked correctly! Also it turns out that TrenchBroom's source is available on github under GNU General Public License v3.0. Aside from being an open source, TrenchBroom has a powerful manual + dozens of tutorials over the web. It can do anything level designer could only wish for. I think it would be a great replacement for WED and would take minimal effort forking it and adapting to GameStudio needs. Trailer that shows TrenchBroom features: TrenchBroom 2 TrailerSource code: TrenchBroom GitImported level showing working texture alignment. Best regards!
|
|
|
Re: Few update suggestions
[Re: 3run]
#483744
07/20/21 10:11
07/20/21 10:11
|
Joined: Jul 2007
Posts: 619 Turkey, Izmir
Emre
User
|
User
Joined: Jul 2007
Posts: 619
Turkey, Izmir
|
One more suggestion: If there is going to be an update, it would be great if there was a change to make the engine work with 4GB of memory on 64-bit systems. Although this can be done with external tool, it would be good to take care of this while the update is going to be done. I guess it doesn't take much effort to do that either. It also increases the attractiveness of the engine.
|
|
|
Re: Few update suggestions
[Re: 3run]
#483770
07/22/21 14:37
07/22/21 14:37
|
Joined: May 2009
Posts: 5,370 Caucasus
3run
OP
Senior Expert
|
OP
Senior Expert
Joined: May 2009
Posts: 5,370
Caucasus
|
It took me about 8 hours to get all the keywords (with params, etc) working. So now I have a working notepad++ alternative to SED. But at the end this is not even comparable to VSCode. The main reason is, that you have to type all those keywords by hand, which is a very bad idea. If Zorro or GameStudio will get new features (or old features are going to get removed) this will constantly require the keywords to be added/removed, which is (pardon) a huge pain in the ass. While with VSCode you can simply include the header file (in case with GameStudio it's acknex.h) and everything will work out of the box (autocomplition, highlighting) + it will be easier to maintain future updates. It also helps to navigate your project, because 'include' does indeed include the script file and all of it's variables, functions, etc are becoming available (same reason why it doesn't require any keywords to be added by hand). I'm really sad that I couldn't create an extension for VSCode myself, so I do hope, that you will give it a try. It would work for Zorro and Gamestudio almost without any changes (the only differences it will have will be in compiling the code, means running the script with acknex.exe or zorro.exe). Screenshots: Best regards.
|
|
|
Re: Few update suggestions
[Re: 3run]
#483772
07/23/21 08:47
07/23/21 08:47
|
Joined: May 2009
Posts: 5,370 Caucasus
3run
OP
Senior Expert
|
OP
Senior Expert
Joined: May 2009
Posts: 5,370
Caucasus
|
VSCode doesn't fully support LiteC syntax. What I'm doing atm is: -Use official C extension from Microsoft
-Define 'include path' to match GameStudio's 'include' folder
-Create 'launch.json' in order to compile the script (acknex.exe and args (filename, -diag, etc)) But this doesn't help with syntax, so I'm getting this kind of issues: This happens with all 'alike' PANEL, TEXT, VIEW, MATERIAL, etc. It can't auto-format the thing, because it expects ';' at the end of the line (like in C). This also messes up the reset of the script file, so intellisence won't work correctly. If you could create official LiteC syntax extension to VSCode, it would work out of the box.
|
|
|
Re: Few update suggestions
[Re: 3run]
#483797
07/28/21 09:47
07/28/21 09:47
|
Joined: May 2009
Posts: 5,370 Caucasus
3run
OP
Senior Expert
|
OP
Senior Expert
Joined: May 2009
Posts: 5,370
Caucasus
|
type name = value; type name = { ... }
; Semicolon terminates each instruction or logical line. {...} Winged brackets enclose structs or instruction lists. Is there any way to force compiler to accept ';' at the end of the instruction lists? So it would be: instead of: This would fix a lot of issues that LiteC has with all C/C++ IDE's. Because all C parsers in this case expect the end of the line (;). Code examples: ENTITY *ent =
{
layer = 1;
};
PANEL *pan =
{
layer = 1;
};
VECTOR *vSpeed =
{
x = 10;
y = 20;
z = 30;
};
ANGLE *aSpeed =
{
pan = 10;
tilt = 20;
roll = 30;
}; Instead of weird ENTITY *ent =
{
layer = 1;
}
PANEL *pan =
{
layer = 1;
}
VECTOR *vSpeed =
{
x = 10;
y = 20;
z = 30;
}
ANGLE *aSpeed =
{
pan = 10;
tilt = 20;
roll = 30;
} EDIT: I've faced this syntax problem with VSCode in the past, now I'm facing it while getting Geany to work with LiteC. C parser can't parse this... it goes all the way down till ';' is found at the end of ENTITY* ent_ptr ! But it works correctly when everything is closed with ';' Best regards
Last edited by 3run; 07/28/21 10:16.
|
|
|
Re: Few update suggestions
[Re: jcl]
#483804
07/28/21 15:33
07/28/21 15:33
|
Joined: May 2009
Posts: 5,370 Caucasus
3run
OP
Senior Expert
|
OP
Senior Expert
Joined: May 2009
Posts: 5,370
Caucasus
|
I'll add the ending semicolon to the change list for the next Gamstufio update. This is a great news! Any ideas when new update will be out (at least approximately)? Thank you!
|
|
|
|