• Welcome to SC4 Devotion Forum Archives.

SC4Reader Tool

Started by Tropod, February 05, 2014, 01:32:52 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Tropod

an update has been done. see my first post for link.

summary of this update;
Changes to option settings.
File Listings view filter added.
virtual dats added.
Separate search functions for TGIs & data.
TGI/scanner improvements.
Sorting for effect dir columns.
Exemplar/Cohort; edit/save validation & add/delete property.
Exemplar/Cohort; Text based files will get auto transfered into binary on item edit/save.
Various other improvements, fixes & adjustments.


On a side note; some aspects of this version have been rewritten from ground up, so will be curious to see if everything works ok  %BUd%.

NCGAIO

Quote from: Tropod on June 22, 2014, 04:14:10 AM
an update has been done. see my first post for link.

.....
Sorting for effect dir columns.
.....




Thankss a lot! :thumbsup:

Tropod

just a minor update has been done, link updated.

Exemplar/cohort bug edit/save fix/adjustment.
Font type/size option added.

Tropod

#43
an update has been done. see my first post for link.

summary of this update;
FSH view improvements.
FSH->BMP Colour/Alpha export function. Works similar to standard export function.
RUL Tile viewing: Currently only handles/displays FSH type items. Excludes Bridge RULs & Intersection Ordering RUL. S3D viewing at this stage will probably be awhile off.
And some bug fixes.

EDIT: rul tile viewing.
First selection of valid RUL line item plugin/install files will be loaded & scanned & image retrieved if one exists/valid (2nd+ selection image will just be retrieved). The image should be displayed as per RUL code rotation/flip.



Tropod

#44
minor update. see first post for link.

summary of this update;

Search data sync bug fix.
Display Type added to tree. ie default, hex, text.
Path Tile viewing added.

memo

#45
Tropod, this update looks very promising! :thumbsup:

I've just tested it. There were still a number of random crashes – I hope you can get on top of those. Sometimes, a popup message said an error occurred and I should check logging.txt – however, logging.txt is always empty. (I assume some of the crashes occured when the program failed to parse path files correctly. Parsing path files like that is quite a hard problem, since it is a text format that has a lot more freedom than a binary format, I guess.)

Also, the RUL tile display seems to display flipped tiles incorrectly. They are flipped vertically, while they should be flipped horizontally.

Tropod

#46
@memo;
thanks for feedback  :thumbsup:. I've fixed the RUL tile viewing image. And there was a bug in path viewer. As for logging.txt; it can take a minute to save info for this, otherwise not sure at this stage - I'll have to take closer look or rewrite file reading  &mmm. I wasn't planning on another release for a few weeks, but your post has prompted me to try & implement crash reporting of some sort, which may help. So.....


update done. see first post for link.

update summary;
AVP & HLS adjustments.
config editing added.
LEV editing added.
LogicObject editing added.
TRK editing added.
some bug fixes.
(limited) Crash Reporting added.


For Crash reporting:

You'll need to click on link in the 1st window to display 2nd;



Export function will save contents of dump, xml & screenshot to zip file. Feel free to upload that here (provided file is not to big). This should help me pinpoint any issues with crashing/hanging.

Tropod

#47
update done. see first post for link.

update summary v1.3.4 & notes;
Auto Fill List option added - under options settings.
Default Hex column width option added - can also be overriden in hex view itself.
File List load bug, Path Tile overhead bug, other fixes & improvements.
XA playing added.
S3D viewing added.
RUL Tile viewing: S3D viewing added - S3Ds are shown "as is" ie are not rotated like FSHs are. You can also select "Load Pref" S3D or FSH, if it can't find first preference it'll load 2nd if it exists.
Path Tile viewing: FSH/S3D viewing added - FSH/S3D related file are shown "as is" & loaded according to path file GID.


EDIT:
RUL Tile viewing should now look like this;



Tropod

#48
just a really minor update;

1.3.4b summary;
Filter added for Tree.
Improvements to Exemplar/Cohort - improvements made around editing/adding of properties. Any new properties added should now save in ascending order, & for lotconfigs these should now save in sequential order. Better save validation & save/error message also added.
Save bug fix.
And minor update of TGIs.ini.

HappyDays

A feature request. I apologize in advance if you are no longer taking them.

Is it possible for you to add a "Unused TGI" scan to let the user know what is entirely unused in their plugins folder?

For example, I have tens of thousands of props floating around. A high percentage of them are used by nothing. DataNode allows me to find and get rid of many of them. However this method is rigorous, time consuming, and prone to error. Further, sometimes it's a bit hard finding the unused props in a file used by 1000+ lots. While, obviously, I would find this feature useful, I believe many other OCD SC4 players would find it useful as well.

That said, don't feel bad about declining. You have your own vision for the program, and it's your time spent implementing features and working out bugs. Thank you for your consideration in any case.

Tropod

Quote from: HappyDays on September 03, 2014, 06:02:39 PM
A feature request. I apologize in advance if you are no longer taking them.

Is it possible for you to add a "Unused TGI" scan to let the user know what is entirely unused in their plugins folder?
...

I'm more than happy to hear/take any requests people may have. My programming experience/skill however to be honest is not great  $%Grinno$%. Many things I've been learing as I go along, hence why ilives reader should probably be serious modders first point of call  :thumbsup:. As for the request; one of the biggest problems with checking what TGI's aren't used is the fact that save game files, not to mention some install type files, aren't fully deciphered. And until these are I can't imagine any software reliably filtering what TGIs aren't in use. I could probably do something that cross-checks plugin TGIs with city save game files to some degree, and it has been something on my to do list, so I'll see what if anything I can come up with :thumbsup:.

HappyDays

#51
Ah, no, not save games. That's not what I meant. What I mean is do an analysis of your plugins to determine if a texture is used by a building, or a building is used by a lot. Whether a UI file is used by a train station plop, and whether the train station plop is set to appear ingame.

If a texture is not used by anything, nor is it overwriting a pre-existing texture, its presence is unneeded. If a building exemplar or prop isn't attached to a lot, they too are doing nothing useful and their graphical information might just be taking up space as well. In general, most things end up on a lot and if there if no lot for them to be on then they're simply there.

Example: BSC BAT Props - T1 Vol6 is about 2.5 megs and contains a couple dozen props and their graphical information. How much of that is actually being used by something in my plugins, according to tests with DataNode? .2 megs, the S3Ds and FSHs for 1 little house.

Another example: LBT Mega Prop Pack v.01. The full package takes up 21 megs, contains over a thousand props, and has 44,000+ TGI. The amount of that my lots use? 2.4 megs, a hundred props, and 5,000 TGI.

Having a program that can identify what is not used would make the process of culling all that excess much easier. Using DataNode to identify what is not being used by identifying what IS being used works, but only on a small scale. And in any case, it is not an elegant solution to the problem - merely the only available one.

Does that explain my idea better? Sorry for the confusion! And, by the way, having better tools for examining the save data would be extremely useful! Knowing what information SC4 save files keep/puke up on and don't would really advance knowledge on what should and shouldn't be done. Perhaps is will even explain many of the save corruption issues seen over the years.

By the way, it's a very nice little house. I just don't need its friends.

Tropod

Quote from: HappyDays on September 03, 2014, 10:21:57 PM
Ah, no, not save games. That's not what I meant. What I mean is do an analysis of your plugins to determine if a texture is used by a building, or a building is used by a lot. Whether a UI file is used by a train station plop, and whether the train station plop is set to appear ingame.....


oh ok. So if I understand right; basically if a TGI item is referenced by another TGI item in some way, but only for install/plugin files (ie as you say, whether a texture is referenced by an Exemplar). I'll put that on my to do list, as for a timeframe though not sure. It's no simple task, as it would potentially require full parsing of many files not just header/index, but I do like a challenge  %BUd%. It should go hand in hand with something else I'm wanting to do, & that is load/display objects for a given TGI item property (ie Exemplar file property).


on side note; what is DataNode ? I've not heard it before & google wasn't much help.

APSMS

Quote from: Tropod on September 04, 2014, 03:13:43 PM
on side note; what is DataNode ? I've not heard it before & google wasn't much help.
LOL. A STEX search would've been more helpful. It's a program by Rivit designed to expose the hierarchy of the SC4 Plugin loading. As well as identify conflicts and overrides.
Experience is something you don't get until just after you need it.

My Mayor Diary San Diego: A Reinterpretation

Tropod

Quote from: APSMS on September 04, 2014, 03:31:40 PM
Quote from: Tropod on September 04, 2014, 03:13:43 PM
on side note; what is DataNode ? I've not heard it before & google wasn't much help.
LOL. A STEX search would've been more helpful. It's a program by Rivit designed to expose the hierarchy of the SC4 Plugin loading. As well as identify conflicts and overrides.


aaahhhh thank you  :thumbsup:. Found it after some fiddly searching; http://community.simtropolis.com/files/file/27675-sc4datanode/
Yes I find google becoming more & more useless when trying to search some things.

NCGAIO

#55

Well ...  think this is a bit unfair since the google search brings exactly this link as the first result when placed "SC4datanode" as search element or as the fifth result when used "Simcity DataNode".


Everything is a matter of how one performs the search! In simtropolis eg you can not access some old content by the search engine page, but can access by doing a google search on the site or specific domain using the advanced search.


I'm an addict google but what can i do ... everyone has their flaws its not ! :)

HappyDays

Datanode is probably tied for most important utility that's come out for SC4 along with Reader and PIM-X. It gives you the ability to finely examine and test your plugins, cull the waste and duplicates. It's what told me just how very sick most buildings/prop packs are. Missing dependencies, dependencies that no longer exist, dependencies that never have existed, even one lot that pointed to two buildings! No, not props. Two different building exemplars. Thankfully the game seems to ignore one of them.

Really, had the tool existed back in 2004 things would've never been allowed to get as bad as they are now. Knowledge is power, but alas, unless the tool exists how could we be anything but blissfully ignorant?

Tropod

#57
update time ;D

see first post for link.

1.3.5 update summary & notes:
Exemplar property object viewing & option added.
Exemplar property help info added.
Exemplar/Cohort grouping by property type on tree.
Intersection Ordering RUL added to RUL Tile Viewing.
Bridge RULs added to RUL Tile Viewing.
Auto Display Edit option added.
Data Type Property Searching added.
Virutal dat remove file bug fix.
TGI.ini updated.


Exemplar property object viewing
Any property of type UINT32 (& ParentCohort) that points to any other type of file should display that particular object/item. As there's quite a few some may of been missed &/or incorrectly handled. Please let me know of any issues.

Exemplar/Cohort grouping by property type on tree
Extra layer has been added on Tree for property type. Improvements have also been made to Tree & TGI.ini also updated. This should now provide for much better filtering of files.

RUL Tile Viewing: Intersection Ordering RUL / Bridge RULs
-IntersectionOrdering RUL: once "AutoTileBase = 0xIID" is selected it will (attemp to) load S3D file(s) (all 256). You can select drop down box to view relevant IID of tile grid ie across/down.
-Bridge RULs: on ""piece <0xIID, 1>" select similar as per above (similar for dual network bridges).

Data Type Searching
Located on Tree as a drop box for different file types. This allows for searching/locating of set properties. Currently added is property searching for Exemplar/Cohort, ATC, TRK, HLS files.


Other:
Some aspects have had implementation changed, so hopefully it hasn't broken anything  ()testing().
I'll be including some pictures covering the above & also including a (permanent) link for sourcecode on first page for this soon. As usual any feedback more than welcomed.


Edit: below are some sample pictures of the above recent additions;

Exemplar object viewer;
Selecting given property; Exemplar->FSH


will load following



And so forth.....

example 2 Exemplar->Image





example 3 Exemplar->Exemplar->S3D







Intersection Ordering RUL



Bridge RULs




Data Type searching is accessible from Tree.



memo

This seems to be a great update! I had hoped for a way of navigating to parent cohort files – apparently, my hopes have been more than fulfilled by this. :thumbsup: Though, I haven't had a chance to try it, yet.

Tropod

Quote from: memo on October 15, 2014, 11:59:37 PM
This seems to be a great update! I had hoped for a way of navigating to parent cohort files – apparently, my hopes have been more than fulfilled by this. :thumbsup: Though, I haven't had a chance to try it, yet.


Thanks for the feedback  :thumbsup:. The Exemplar/Cohort object viewer is similar to ilives Readers "Navigator" in some ways, which also loads/shows parentcohorts, but only if it's in present *.dat. Whereas this will (should) load parentcohort regardless (provided options are set correctly). In saying this, another update here due to few bugs.....


1.3.5b update summary & notes (link on first page).
Lot Data dependancy list bug fix.
Tree node bug fix.
Data Type Data Searching added: located on Tree.
Data Type Property searching: LotData type files added. ParentCohort also added as an item that can be searched (under Exemplar/Cohort).

Other fixes, adjustments & improvements.


Enjoy  :thumbsup: