Currently Online

Latest Posts

Topic: Cannot open saved map

toptopple
Avatar
Joined: 2013-10-30, 08:11
Posts: 156
Ranking
At home in WL-forums
Posted at: 2013-12-03, 16:25

Looks like creating a map is very difficult, for technical reasons! I'm using version 17. Just noticed that the editor does not open my new map creation. It says ".. in "" section [player_2] not found". There was no protest of the editor when I saved the map. Also, I remember I tried to place player 2 but it wouldn't work for an unknown reason. Any comments?


Top Quote
fk
Avatar
Joined: 2013-07-30, 22:58
Posts: 150
Ranking
At home in WL-forums
Posted at: 2013-12-03, 19:50

It says ".. in "" section [player_2] not found".

Sounds as if the map was saved and then a new player was added to the map and saved again. If the map is unpacked, you should check the file "player_names" (and eventually "player_position") for any suspected data.


Top Quote
toptopple
Avatar
Joined: 2013-10-30, 08:11
Posts: 156
Ranking
At home in WL-forums
Posted at: 2013-12-03, 21:33

Unluckiily there is only a single map file with ending ".wmf". Doesn't look good. I'd say this is a bug that should be treated, your description was right, btw.

Edited: 2013-12-03, 21:38
Top Quote
fk
Avatar
Joined: 2013-07-30, 22:58
Posts: 150
Ranking
At home in WL-forums
Posted at: 2013-12-03, 23:09

"a single map file with ending ".wmf""

That's okay. So it is packed. The map file is actually a zip file. It is enough to change the extension from .wmf to .zip and unzip the file.

The result should be a directory with the map name that contains the mentioned file and others, and one or more directories. Otherwise, move all unpacked files/directories into a new directory with the map's name.

You can take the info for player 1 as example and add more entries for the other players.

What I forgot to mention is that the file "elemental" holds the number of players, which you may have to correct as well.

To open the map with the editor the folder name should end with .wmf (just like the map file did), or you should zip the map back into a file and set back the extension to .wmf.

"I'd say this is a bug that should be treated"

It is a known bug and someone has already repaired it for the new build version. The circumvention is to add all players before saving the map.


Top Quote
toptopple
Avatar
Joined: 2013-10-30, 08:11
Posts: 156
Ranking
At home in WL-forums
Posted at: 2013-12-04, 10:48

Thank you very much for your support, but it seems that it wasn't mendable. I found nothing suspicious in the text files and everything looked good there. The problem vanished when I opened the map (unpacked version) in the editor of version 6820. And my initial problem with not being able to place player 2 was some superfluous condition that players' HQ must observe a minimum distance. Or so I surmise.

Situation now: The newly saved map can be loaded by the 6820 but not with 17. When trying to open it with 17, it crashes.


Top Quote
fk
Avatar
Joined: 2013-07-30, 22:58
Posts: 150
Ranking
At home in WL-forums
Posted at: 2013-12-04, 15:34

It is very strange that one version loads the map and another one crashes on it.

The problem can most likely be fixed but it is a bit hard to diagnose the problem from a distance. There are three files related to players and they should all be set up for the same number of players. If you would still want to fix it, then you can compare their contents with another map with the desired number of players. But this doesn't seem necessary anymore. face-smile.png

You are right about the HQ's.


Top Quote
Nasenbaer
Avatar
Joined: 2009-02-21, 18:17
Posts: 829
Ranking
One Elder of Players
Location: Germany
Posted at: 2013-12-04, 17:52

Hi toptopple,

we do not take care about forward compatibility with our game data and actually it wouldn't make a lot of sense in out current state of development as new features are implemented every new release.

This basically means, that you won't be able to open a map created by the current development version in Build17 or even older.

However we give our best regarding backward compatibility, which means, in Build17 or Build18 you should still be able to open up a map created e.g. with Build13.


Top Quote
Adamant
Joined: 2012-10-11, 16:21
Posts: 180
Ranking
Widelands-Forum-Junkie
Location: Alemania
Posted at: 2013-12-26, 12:38

I did also several Times experienced Trouble with MapFiles both due to unknown Reason and due to self made Changes to essntial Configs like renamed Trees their FileName according to their SpeciesName: tree5 eg perhaps changed into Oak_large. I was able to apply that Changes to Map I was working at with much Trouble getting Friend with BitMap-Editor. Due to I had to change Things manually resp by relative simple Replace-Tool I was able to make it in a Day.

However, found two Points worth to improve MapDataStructure. Terrain-Section has first Kind of TerrainTypeDefSection which map Index-Keys from Order in List to TerrainFields. For MapObject that analog TypeDefSection misses but that Def itself gets applied to dfin where eg a Tree is set.

Would do same for MapObjects like Trees and Stones and Critter, while those MOBs should get seperated into two Classes resp Files for Immovables and Moveables.
This concers afaics to Issue that both Types have diff Needs for Position: You can not place two Trees on same Position while Critters can pass simultan same Pos. Trees thought as immobil Critter are Critters which only never move but for fictional Animal that always stay on Place don't using its Ability to move we won't take another MOB-Class as well. Point is that not Attribute Movability but Requirements for Position are different (Map can place Dozen on Elephants on same Position but not more than one Tree) why both DataSections need different Checks for Parsing and have lesser Constraints for Organization if that Section is Entity-centric and not Terrain-centric. That means for Entity-centric it does not Matter when Entity#5 gets listed at last while map-centric Approach does lesser pay off when Entities got dumped/read in numerical Order of their Entity-ID.

That would it make much easier to upgrade (modify) exisiting Maps and SavGames to upgraded World-CFGs. Without Maps, SavGames and Wordls cause Kind of bidrectional Depency resp BackWardCompatiblity which make it hard to improve Worlds. Another ROI is that SaveGames would get somewhat smaller.

Term here is Method called Normalization of DataBase (guess 1st or 2nd, know about 3 resp found 4th anytime but forgot meanwhile) and is about Reduction of Redundance and Performance. Performance means here also when I take BitMap-Editor to adapt Changes manually.

When touching Code for DB-Files I advice to do Generalization for Config-Files of Tribes, Worker, Sites, FOO, BAR before on Paper, then same for DB-Files for Maps, to avoid to programm same Stuff multiple Times for each another Dialect of CFG/DB but use same single Code for all ... as much as can. That means good Word does not mean another 100kb more Code but perhaps 500kb lesser due to Generalization and Simplification.

Sounds stupid but anytime I did figure out that most effective Approach to reduce WorkLoad and Code and Data for a specific Task is safe that Work, Code and Data what does not implicate to resign for aimed Feature. Kind of how reduce WorkLoad from counting Bits? Don't count them! Did that Way multiple Times reduce Code in Steps down to Zero .. after Hours of Investigation thought anywa: .. well, CodeSize of Zero is by Number surely a Success, I am not sure why it feels so curious.

Most effective Optimation is to omit it totally but curiously it takes often Hours to figure that out and writte successfully nothing.

As tryed to generalize CFG-File-Syntax, I figured out several Things, which did at first resist against getting sorted in into plain Scheme. These were mostly the Specials like Carriers, Geologists, Builders but also FrontierFlags. Some Point was rather Tricky and that was Stuff concerning to GUI. EG Wares were listed as Entries for WareHouse. For those special Workers above I would prefer if that Workers could get defined like ordinary Workers (they are effectively) and their special Abilties open to CFG to get utlized same like Lumberer works out to lumber what means technically that the Knowledge of that special Workers in Presence of C++-Code gets available via CFG-PRG callable Functions. Technical Problem is that their special Abilties get offered differently than that of others: For Geologists, these get called by clicking on Map for Context-Menu while Builder gets called automatically when ConstructionSite gets connected to Econmy. I would like to see that Features available for CFG that it's possible to write Code in CFG for Ships, to take Order via clicking Map Context to call for Explorer like for Geologists manually or automatically, that eg Workers could switch into Extinct-the-Fire-Mode like Builder moves out to CSite. Instead using special WorkerIDs for special Tasks use special Assignments like Carrier={Horse, Donkey, Cart} to get Freedom to name Worker carrier as Carrier or DeiveryBoy. Primary Aim here is not about new Features even these offer large Opportunities for CFG but Generalization to handle special Units (Ship is not Worker, isn't it) in generic Fassion and only link them to special Tasks. EG Carrier could get also Builder by Assignment. Please don't try to think that Example is Reason for but just plain Demonstration of new Behavior from changed Approach, which does not really means new Code resp Knowledge but different Way to do same and more. That's different from Suggestion make Carrier able to get Builder as well and add some other exceptiional Code for that special Use.

Point is Code does not call simply Carrier to apply at new Road but look at CarrrierType(List?) to figure out first which Type(s) are suited and pick one available RePresentant.

I figured out Relation between Geologist-Search and Scout-Search which are rather similar. I would like to make Scout able to do some Geologist-Seach resp do arbitrary Actions like peeking Minerals or hunt for Prey or something other inside Scope of Scout's Business. Point here is that there exist several special Abilties in Shape of BuiltIn-Functions which are well suited to get abstracted resp splitted into more special Parts resp could get additional Parameters to enable more Possibilities. To explain in Unix-Terms think of Tool which is Hybrid of Pager less and Filter grep and now Suggestion is to split it into less and grep. Code is almost same resp doubled OverHead and adding Keys to call them from CFG.

Btw failed to make Critters fertile: found they can almost do nothing but get hunted resp can die and idle which means they run around and then rest to eat, look or any other Standard-Idle-Animation in Sequence. Did not try out but guess even Stones as Representants of same MOB-Class Immovable can do more as they can seed and grow, what Critters can do not. If Immovable marries the Movables and Setting dfin if MOB can move or not and other DFIN tells what Kind of Space it needs (Corner,Edge,Center), same Class could deal Critter and Plants and thus would make Critter able to .. seed and grow.

Edited: 2013-12-26, 13:27

Ivan the Terrible is dead .. Genghis Khan is dead .. and I do not feel well, too.

Top Quote