A new Yuri's Revenge INI editor (update 05/27/11) - Printable Version +- Renegade Projects Network Forums (https://forums.renegadeprojects.com) +-- Forum: Modding (https://forums.renegadeprojects.com/forumdisplay.php?fid=3) +--- Forum: Red Alert 2 & Yuri's Revenge Editing (https://forums.renegadeprojects.com/forumdisplay.php?fid=8) +--- Thread: A new Yuri's Revenge INI editor (update 05/27/11) (/showthread.php?tid=1872) |
A new Yuri's Revenge INI editor (update 05/27/11) - linq2js - 24.05.2011 I develop a modding tool "Yuri's Revenge INI Editor". Some program screenshots: List of sections and child sections or section properties, can jump to section with a button on editing grid. Advanced find section tool with wildcard supporting (startwith / endwith), default search any section name contains a keyword. Edit property easily with auto complete popup dialog (customizable by config.ini) Predifined template supporting for quick creating a new section Main program commands: Filter -> filter property / section displayed in editing grid Goto section -> goto current editing section Auto Complete -> popup available values of selected property Find Section -> find section with wildcards Clone Section -> copy all properties of current to new section Copy Properties -> copy selected properties to other section Merge Properties -> copy all properties to other section Copy INI Code -> copy ini code of selected / all properties to clipboard Show INI source Insert INI code -> insert ini snippet to current source and reload Clear Property Value -> clear selected / all propertie values of current section config.ini A program customization data, some snippets: [rulesmd] -> define a schema for rulesmd.ini @General=node -> indicate General section show in left panel @BuildingTypes=list -> indicate BuildingTypes show in left panel and auto reorder child sections, display "jump to section" button in a editing grid (*)/Owner=multiple(@Countries) -> indicate Owner property of any section has popup dialog showing all values in Countries section (*)/ToProtect=boolean -> indicate a boolean (yes/no) (*)/FreeUnit=single(@VehicleTypes) (*)/Primary=single(@All) -> @All token mean "All section names" (*)/Prerequisite=multiple(@BuildingTypes) syntax: multiple(@SectionName1, value1, value2, @SectionName2) => popup multiple values selecting dialog syntax: single(@SectionName1, value1, value2, @SectionName2) => popup single value selecting dialog Section or property matching can be regular expression. Ex: (*)/Weapon\d+= => match Weapon1, Weapon2, WeaponX... General/AICaptureWounded=number -> AICaptureWounded property of General section is number [rulesmd.template] -> define a templates for rulesmd.ini #Title=Building Type -> Text display in menu UIName= Name= BuildCat= Prerequisite= Strength= Armor= TechLevel= [rulesmd.template] -> define a templates for rulesmd.ini #Title=InfantryType -> Text display in menu UIName= Name= Image Prerequisite= Strength= Cost= Armor= Primary= Seconday= TechLevel= ... and more ... In order, the template menu item has shortcutkeys is Ctrl+1 -> Ctrl+0 and Ctrl+Shift+1 -> Ctrl+Shift+0 (total 20 items), >21th item has no shortcutkeys Update 05/25/2011: Now, the editor can validate INI code. Validation conditions store in config.ini. Download link changed. [rulesmd.validation] => define a validation Warheads/(*)=exist => all items in Warheads section must be existed (*)/Primary=exist => all values of Primary property in any section must be existed (*)/Seconday=exist (*)/Projectile=exist (*)/Prerequisite=exist (*)/Owner=exist (*)/Warhead=exist(Warheads) => all values of Wardhead property must be existed in Warheads section Screenshots: Update 05/27/11 (Download link changed): + New menu INI, move some items from Edit menu to the INI. + New command Fill Series + Add color selector dialog config.ini code: (*)/PropertyName = color + Section groupping / filtering Some examples: @(*)=filter(mode=Basic & prerequisite=GACNST & title=Allied Buildings) => filter with basic mode, section must has prerequisite=GACNST, show title in list of sections @(*)=filter(mode=Basic & prerequisite=GAPILE & category=Soldier & title=Allied Infantry) @(*)=filter(mode=Basic & prerequisite=GAWEAP & category=AFV & title=Allied Units) @(*)=filter(mode=Basic & prerequisite=GAYARD & title=Allied Naval) @(*)=filter(title=All Weapons & projectile) => any section has projectile (no property value restriction) @(*)=filter(title=Used Weapons & mode=Collect & property=Primary & property=Secondary) => collection all sections in indicated properties General syntax: filter(paramName1 = paramValue1 & paramName2 = paramValue2) - Preversed parameter names: title, mode, test, property - Other parameters are filter conditions, parameter has only name means value is optional. - Parameter name can duplicate in some case. + Fix INI validation errors, config.ini code: [rulesmd.validation] Warheads/(*)=exist (*)/Primary=exist(!NONE) (*)/Seconday=exist(!NONE) (*)/Projectile=exist => section of this property must be existed (*)/Prerequisite=exist(!BARRACKS,!RADAR,!TECH,!PROC,!POWER,!FACTORY,!BASE) => check existing and ignore some ALIAS (*)/Owner=exist (*)/Warhead=exist(Warheads) => must be exist in Warheads section + INI comparision Next features: Replace property value. Install / Requirements: - No installation required - Program run on Microsoft .NET Framework 3.5, download here - Download link Notes: Program is still developing, please backup your ini file before edit by program. Please report bugs / questions in this thread. Thanks for your reading RE: A new Yuri's Revenge INI editor - DCoder - 24.05.2011 Looks useful, keep up the good work! Just mind that there are several thousand tags in the engine, your configuration file will end up quite large. RE: A new Yuri's Revenge INI editor - linq2js - 24.05.2011 (24.05.2011, 21:34:28)DCoder Wrote: Looks useful, keep up the good work! Thank you, I think every modder only use small set of tags for themselves . Program can load a <100k config file quickly. RE: A new Yuri's Revenge INI editor - AlexB - 24.05.2011 Good work so far. RE: A new Yuri's Revenge INI editor - Steel Mirage - 24.05.2011 Thats really handy, nice work! RE: A new Yuri's Revenge INI editor - Orac - 25.05.2011 Inpressive. That looks like a very effective interface. Lovely work, I'll use it. RE: A new Yuri's Revenge INI editor - ¥R M0dd€r - 25.05.2011 I always used wordpad to edit my ini files, but this tool looks awesome, I think I will use it. RE: A new Yuri's Revenge INI editor - Graion Dilach - 25.05.2011 Crap, of course these pops up after my GPU fries! When I get a new PC, I'll check this one. Looks nice but TBH... an AI editor with this awesomity would be much more helpful. RE: A new Yuri's Revenge INI editor (update 05/25/11) - linq2js - 26.05.2011 Thanks all, new features will update soon, some screenshots: Fixed PROC, BASE, FACTORY error messages when validate INI code Can define section filters for quickly access Color selector RE: A new Yuri's Revenge INI editor (update 05/25/11) - hogo - 27.05.2011 (26.05.2011, 15:44:03)linq2js Wrote: Thanks all, new features will update soon, some screenshots:Good update RE: A new Yuri's Revenge INI editor (update 05/27/11) - linq2js - 30.05.2011 Preview a AI Editor: Features: AI Editor is a part of Yuri'Revenge INI Editor, at Tools -> AI Editor (in the future: Art Editor etc.) Main screen is very simple, no buttons. All commands will execute by shortcuts (Ctrl+A select all, Ctrl+D deselect all ..). Available single keys: Del, Enter, Insert ... for editing. Other commands: Clone - ID is readonly and auto generation - 1, 2, 3, 4: list of object type - 5: predefined filter - 6: quick filter: can input text for basic searching or advanced syntax for property value searching Ex: search trigger: TechType = NAMISL & Side = 1 & (ProbDef = 10 | ProbDef = 20) Operators supported: =, <> for string / number comparision >, <, >=, <= for number comparision & (and), | (or) logic (, ) grouping Property name only means "property is not empty" !Property name only means "property is empty" - 7, 8: multi editing with previous, next buttons and dropdown list - 9: can reset one / all editing object to origin values Download link will update soon RE: A new Yuri's Revenge INI editor (update 05/27/11) - Graion Dilach - 30.05.2011 Howe are your Sides defined there? DCoder's AI Editor couldn't accept new sides only new countries, that's why I ask. RE: A new Yuri's Revenge INI editor (update 05/27/11) - hogo - 31.05.2011 (30.05.2011, 21:09:43)Graion Dilach Wrote: Howe are your Sides defined there? DCoder's AI Editor couldn't accept new sides only new countries, that's why I ask. That's a good question, having it be able to be used for new Sides would greatly increase the chance of it being used. RE: A new Yuri's Revenge INI editor (update 05/27/11) - linq2js - 31.05.2011 (31.05.2011, 00:08:01)hogo Wrote:(30.05.2011, 21:09:43)Graion Dilach Wrote: Howe are your Sides defined there? DCoder's AI Editor couldn't accept new sides only new countries, that's why I ask. Sides and Countries read from rulesmd in order (1 = GDI, 2 = NOD, 3 = ThirdSide, 4 = FourthSide and so on) |