Project Perfect Mod Forums
:: Home :: Get Hosted :: PPM FAQ :: Forum FAQ :: Privacy Policy :: Search :: Memberlist :: Usergroups :: Register :: Profile :: Log in to check your private messages :: Log in ::


The time now is Thu Mar 28, 2024 2:11 pm
All times are UTC + 0
Need help to create definitions for Ares / TS / Yuri Revenge
Moderators: Global Moderators, Red Alert 2 Moderators
Post new topic   Reply to topic Page 1 of 1 [24 Posts] Mark the topic unread ::  View previous topic :: View next topic
Author Message
linq2js
Light Infantry


Joined: 26 May 2011

PostPosted: Fri May 04, 2018 6:15 am    Post subject:  Need help to create definitions for Ares / TS / Yuri Revenge Reply with quote  Mark this post and the followings unread

I developed INI Editor, it has cool autocomplete/intellisense feature
In order to make autocomplete feature works better, I need to provide some definitions for Ares, TS, Yuri Revenge
The definitions look like attached image

Any one can help me ?



2018-05-04 13.14.33.png
 Description:
 Filesize:  30.71 KB
 Viewed:  2242 Time(s)

2018-05-04 13.14.33.png



2018-05-04 13.08.13.png
 Description:
 Filesize:  51.86 KB
 Viewed:  2242 Time(s)

2018-05-04 13.08.13.png



Back to top
View user's profile Send private message
kenosis
Commander


Joined: 19 Aug 2009
Location: Moscow State University

PostPosted: Fri May 04, 2018 9:45 pm    Post subject: Reply with quote  Mark this post and the followings unread

The actual problem with editors is that they don't really save much time, simply because people just copy&paste from the manual, which quite explains everything. The biggest pain in INI editing is creating(also copy&paste)  INI blocks and linking them, not putting in some key flags. Usually it's a scrolling up/down work, and when the whole system is complicated it becomes a great pain. The few seconds saved by auto completing is meaningless.

And if you ever checked Ares manual you'd find
[TechnoType]?AlternateTheaterArt= (boolean)
[TechnoType]?InitialPayload.Nums= (list of integers)
[Weapon]?ProjectileRange= (float - cell range)

These are what you mean by "yesno" "number" etc.

_________________
Tired of grabbing my random SHP conversions? Why not learn to create SHPs for yourself?

Back to top
View user's profile Send private message Send e-mail Visit poster's website Skype Account Yahoo Messenger Account
linq2js
Light Infantry


Joined: 26 May 2011

PostPosted: Sat May 05, 2018 1:44 am    Post subject: Reply with quote  Mark this post and the followings unread

kenosis wrote:
The actual problem with editors is that they don't really save much time, simply because people just copy&paste from the manual, which quite explains everything. The biggest pain in INI editing is creating(also copy&paste)  INI blocks and linking them, not putting in some key flags. Usually it's a scrolling up/down work, and when the whole system is complicated it becomes a great pain. The few seconds saved by auto completing is meaningless.

And if you ever checked Ares manual you'd find
[TechnoType]?AlternateTheaterArt= (boolean)
[TechnoType]?InitialPayload.Nums= (list of integers)
[Weapon]?ProjectileRange= (float - cell range)

These are what you mean by "yesno" "number" etc.


Firstly, I want to thank for your opinion, that help me to think about new feature, and I just added immediately
Let me describe how my editor can save much time

1. In actual, I can display help tip for each autocomplete item (Ares, TS, Yuri etc.), but I cannot bring all Ares into definition file, that is limitation. For expert modders, I think they can remember almost tag purposes, may be showing small tip help them

2. Regarding to creating and modifying, I provided a lot of features for this case.
- You can type faster with tag autocomplete
- I suppose we have definition file like this
Code:

[InfantryType]
Type=Class
ItemOf=InfantryTypes

[InfantryType.Name]
Optional=false

[InfantryType.UIName]
Optional=false
Value=Default UI Name



Once you type @Type=InfantryType, app will fill down all required tags and their default values of InfantryType. and your Techno name will be appended
at the end of InfantryTypes section automatically. Even you can add more than on Type, for sample @Type=InfantryType,BountyLogic, that means you can define prototype and reuse it many time

- Besides, I provided simple templates feature, if you define
Code:

[Templates]
Transport = xxxx ... alot tags here and you can include newline char
VeterantAbilities = yyyy

Once you press Ctrl+T, the avail template list will be shown (with 2 items: Transport, VeteranAbilities), pick one and app will fill out template

3. For linking, referencing and fast moving/scrolling. I provided click to go to section, you can jump to exact section name from any where (cross file jumping). I also provide Quick Search feature, for sample, you are editing your techno, you want to copy some tags from another techno, or you want to look at some tag values of another techno, it is very simple, press Ctrl+Q to go quick search mode, and type the techno name to lookup, if you type technoName.tagName, the caret will be set at the techno's tag line, it very fast for referencing, of course, matching algorithm is starting match, you can type only GACN.Ow => the result will be GACNT.Owner
After you look up another techno, want to back previous position for continue editing, just press Ctrl+Back . So you save a lot of time for scrolling up/down

4. Working with multiple files (a project), app can find/replace any text in any opened files / project files

Conclusion, I think at least the app is better than notepad++, why dont you try it and give me more ideas #Tongue

Back to top
View user's profile Send private message
kenosis
Commander


Joined: 19 Aug 2009
Location: Moscow State University

PostPosted: Sat May 05, 2018 7:02 am    Post subject: Reply with quote  Mark this post and the followings unread


_________________
Tired of grabbing my random SHP conversions? Why not learn to create SHPs for yourself?

Back to top
View user's profile Send private message Send e-mail Visit poster's website Skype Account Yahoo Messenger Account
linq2js
Light Infantry


Joined: 26 May 2011

PostPosted: Sat May 05, 2018 7:56 am    Post subject: Reply with quote  Mark this post and the followings unread


Yeah this is really ultimate idea
I think this can be implement by using HTML/CSS for blocks/connections rendering, but I cannot imagine how modder manage hundred of blocks (techno). If the UI only render single Techno, I think manual editing is faster than clicking/selecting/drag and drop blocks/connections

Back to top
View user's profile Send private message
kenosis
Commander


Joined: 19 Aug 2009
Location: Moscow State University

PostPosted: Sat May 05, 2018 8:20 am    Post subject: Reply with quote  Mark this post and the followings unread

modders don't manage hundreds of blocks. This thing should only create a separate txt file that can be easily copy&pasted into main ini file. Or at most help to add the entries in the [warheads] [animations] list, etc.

_________________
Tired of grabbing my random SHP conversions? Why not learn to create SHPs for yourself?

Back to top
View user's profile Send private message Send e-mail Visit poster's website Skype Account Yahoo Messenger Account
linq2js
Light Infantry


Joined: 26 May 2011

PostPosted: Sat May 05, 2018 12:03 pm    Post subject: Reply with quote  Mark this post and the followings unread

kenosis wrote:
modders don't manage hundreds of blocks. This thing should only create a separate txt file that can be easily copy&pasted into main ini file. Or at most help to add the entries in the [warheads] [animations] list, etc.

Why dont put all in one file ?

Back to top
View user's profile Send private message
kenosis
Commander


Joined: 19 Aug 2009
Location: Moscow State University

PostPosted: Sat May 05, 2018 1:07 pm    Post subject: Reply with quote  Mark this post and the followings unread

You don't get the point? creating a new unit and other related things can have nothing to do with most of the ini file. There is no meaning in reading and showing all that unrelated stuff.  It is just like making stuff in special editor and import into main ini. Besides Ares can use #include, you don't even need to put all in one file

_________________
Tired of grabbing my random SHP conversions? Why not learn to create SHPs for yourself?

Back to top
View user's profile Send private message Send e-mail Visit poster's website Skype Account Yahoo Messenger Account
kenosis
Commander


Joined: 19 Aug 2009
Location: Moscow State University

PostPosted: Sun May 06, 2018 8:50 am    Post subject: Reply with quote  Mark this post and the followings unread

https://ppmforums.com/viewtopic.php?t=45074

A good sample of "complicated INI coding".
Lots of related stuff. Have to scroll up/down to find first templates (zep, v3, etc) then paste all templates, then scroll up/down to find and edit tags that link things (spawns=, primary=, etc). Most annoying work.

_________________
Tired of grabbing my random SHP conversions? Why not learn to create SHPs for yourself?

Back to top
View user's profile Send private message Send e-mail Visit poster's website Skype Account Yahoo Messenger Account
linq2js
Light Infantry


Joined: 26 May 2011

PostPosted: Sun May 06, 2018 9:30 am    Post subject: Reply with quote  Mark this post and the followings unread

look at this https://ppmforums.com/files/2018_05_06_102133_147.png
This is new combo i just added today
you even dont need to know where section is, just jump/edit linked sections

may be I think i will define special comment for long body section
; ### Galting logic

; ### Open topped logic

Then we can navigate up/down by pageup/pagedown keys. or press a hot key to pull down section heading list and jump to exactly heading faster
Is this ok ?

Back to top
View user's profile Send private message
kenosis
Commander


Joined: 19 Aug 2009
Location: Moscow State University

PostPosted: Sun May 06, 2018 10:08 am    Post subject: Reply with quote  Mark this post and the followings unread

The point of the visual block thing is that I can always see ALL sections in the project and see a clear relationship between them.

_________________
Tired of grabbing my random SHP conversions? Why not learn to create SHPs for yourself?

Back to top
View user's profile Send private message Send e-mail Visit poster's website Skype Account Yahoo Messenger Account
linq2js
Light Infantry


Joined: 26 May 2011

PostPosted: Sun May 06, 2018 10:18 am    Post subject: Reply with quote  Mark this post and the followings unread

kenosis wrote:
The point of the visual block thing is that I can always see ALL sections in the project and see a clear relationship between them.


Yeah you give more idea again
I will implement the shortcut show up the graph which shows relationships / related sections, of course the graph is readonly, just for viewing and navigation
Thanks

Back to top
View user's profile Send private message
kenosis
Commander


Joined: 19 Aug 2009
Location: Moscow State University

PostPosted: Sun May 06, 2018 10:20 am    Post subject: Reply with quote  Mark this post and the followings unread

And to see ALL blocks will save me from scrolling up/down or search for entries. Clicking something right there is far better than first finding it

_________________
Tired of grabbing my random SHP conversions? Why not learn to create SHPs for yourself?

Back to top
View user's profile Send private message Send e-mail Visit poster's website Skype Account Yahoo Messenger Account
linq2js
Light Infantry


Joined: 26 May 2011

PostPosted: Sun May 06, 2018 10:27 am    Post subject: Reply with quote  Mark this post and the followings unread

kenosis wrote:
And to see ALL blocks will save me from scrolling up/down or search for entries. Clicking something right there is far better than first finding it


The graph only shows all properties/tags which is connected to one/more section/techno

there are 2 behaviors for clicking on blocks in the graph
1. left click -> re-draw the graph with main block is clicked block
2. right click -> goto the line in code editor
Im thinking how to render the graph or embed 3rd lib

Back to top
View user's profile Send private message
kenosis
Commander


Joined: 19 Aug 2009
Location: Moscow State University

PostPosted: Sun May 06, 2018 10:35 am    Post subject: Reply with quote  Mark this post and the followings unread

And I think you should add some ready-to-go library.

Like
Moving.  A set of finished INI blocks including jumpjet, amphibious, normal, etc.
Build. All tags concerns the requirements of build something. cost, owner, prerequisite, etc
Audio.  VoiceSelect, VoiceMove, etc
Gattling. Whole set of gattling tags.
etc.

So you just select and put these modules together to make a unit.

And templates that can be easily used
Normal infantry, E2
Normal tank, HTNK
Normal Jumpjet, ZEP
Normal weapon, 120mm
etc.

Also mark tags that create association with other sections with special color.

_________________
Tired of grabbing my random SHP conversions? Why not learn to create SHPs for yourself?

Back to top
View user's profile Send private message Send e-mail Visit poster's website Skype Account Yahoo Messenger Account
linq2js
Light Infantry


Joined: 26 May 2011

PostPosted: Sun May 06, 2018 10:45 am    Post subject: Reply with quote  Mark this post and the followings unread

kenosis wrote:
And I think you should add some ready-to-go library.

Like
Moving.  A set of finished INI blocks including jumpjet, amphibious, normal, etc.
Build. All tags concerns the requirements of build something. cost, owner, prerequisite, etc
Audio.  VoiceSelect, VoiceMove, etc
Gattling. Whole set of gattling tags.
etc.

So you just select and put these modules together to make a unit.

And templates that can be easily used
Normal infantry, E2
Normal tank, HTNK
Normal Jumpjet, ZEP
Normal weapon, 120mm
etc.

Also mark tags that create association with other sections with special color.


I think I can implement the graph for VIEWING/NAVIGATING only.



2018-05-06 17.39.30.png
 Description:
 Filesize:  122.21 KB
 Viewed:  2012 Time(s)

2018-05-06 17.39.30.png



Back to top
View user's profile Send private message
kenosis
Commander


Joined: 19 Aug 2009
Location: Moscow State University

PostPosted: Sun May 06, 2018 10:47 am    Post subject: Reply with quote  Mark this post and the followings unread

That is already enough. linear navigation in INI file makes most of the pain.

_________________
Tired of grabbing my random SHP conversions? Why not learn to create SHPs for yourself?

Back to top
View user's profile Send private message Send e-mail Visit poster's website Skype Account Yahoo Messenger Account
linq2js
Light Infantry


Joined: 26 May 2011

PostPosted: Sun May 06, 2018 2:30 pm    Post subject: Reply with quote  Mark this post and the followings unread

Thinking about block connection, I think connections are not needed, we are one main block, and many related blocks, only 1 connection from main to related, so that is not necessary

think so ?

Back to top
View user's profile Send private message
kenosis
Commander


Joined: 19 Aug 2009
Location: Moscow State University

PostPosted: Sun May 06, 2018 2:47 pm    Post subject: Reply with quote  Mark this post and the followings unread

That's for only one simple unit.

You can see the example of "complicated INI coding" above and see how many stuff are used.



1.png
 Description:
should be like this
 Filesize:  14.21 KB
 Viewed:  1977 Time(s)

1.png



_________________
Tired of grabbing my random SHP conversions? Why not learn to create SHPs for yourself?

Back to top
View user's profile Send private message Send e-mail Visit poster's website Skype Account Yahoo Messenger Account
linq2js
Light Infantry


Joined: 26 May 2011

PostPosted: Sun May 06, 2018 4:14 pm    Post subject: Reply with quote  Mark this post and the followings unread

This is my idea, so we dont need to show tags of related section
Once user click on related section, it becomes main section



2018-05-06 23.12.54.png
 Description:
 Filesize:  67.14 KB
 Viewed:  1969 Time(s)

2018-05-06 23.12.54.png



Back to top
View user's profile Send private message
kenosis
Commander


Joined: 19 Aug 2009
Location: Moscow State University

PostPosted: Sun May 06, 2018 6:00 pm    Post subject: Reply with quote  Mark this post and the followings unread

No, this is just like make a visible block for each flag. This seems already too messy.
Should show no flags on the blocks. Show only modules and flags that can associate other "useful" sections. Voice part are not significant for any new features so they should be ignored mostly. Can be left on the E1 main block. Same for owner and others. Significant blocks are weapons, projectiles, warheads, anims, spawns, etc.

_________________
Tired of grabbing my random SHP conversions? Why not learn to create SHPs for yourself?

Back to top
View user's profile Send private message Send e-mail Visit poster's website Skype Account Yahoo Messenger Account
linq2js
Light Infantry


Joined: 26 May 2011

PostPosted: Sun May 06, 2018 6:09 pm    Post subject: Reply with quote  Mark this post and the followings unread

kenosis wrote:
No, this is just like make a visible block for each flag. This seems already too messy.
Should show no flags on the blocks. Show only modules and flags that can associate other "useful" sections. Voice part are not significant for any new features so they should be ignored mostly. Can be left on the E1 main block. Same for owner and others. Significant blocks are weapons, projectiles, warheads, anims, spawns, etc.


Actually, we can combine simple links into one block
for sample
We have MAIN block contains value tags, LINKS block contains CrushSound, Primary, Secondary, UndeploySound ... and other multiple link blocks: Owner, Prerequisite... , we have more one USAGES block which contains InfantryTypes or another sections which links to this section

Back to top
View user's profile Send private message
linq2js
Light Infantry


Joined: 26 May 2011

PostPosted: Mon May 07, 2018 5:30 am    Post subject: Reply with quote  Mark this post and the followings unread

Added section diagram feature
locates on section name and press F4
on the diagram, single click to set caret at the section position, ctrl+click to view diagram of selected section



2018-05-07 12.27.21.png
 Description:
 Filesize:  64.06 KB
 Viewed:  1902 Time(s)

2018-05-07 12.27.21.png



Back to top
View user's profile Send private message
linq2js
Light Infantry


Joined: 26 May 2011

PostPosted: Mon May 07, 2018 4:40 pm    Post subject: Reply with quote  Mark this post and the followings unread

I just re-design UI for section details, and improve loading performance



2018-05-07 23.35.00.png
 Description:
 Filesize:  109.53 KB
 Viewed:  1874 Time(s)

2018-05-07 23.35.00.png



Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic Page 1 of 1 [24 Posts] Mark the topic unread ::  View previous topic :: View next topic
 
Share on TwitterShare on FacebookShare on Google+Share on DiggShare on RedditShare on PInterestShare on Del.icio.usShare on Stumble Upon
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © phpBB Group

[ Time: 0.1943s ][ Queries: 20 (0.0161s) ][ Debug on ]