paulwedeck / settlers-remake

A Remake of "The Settlers III" for Windows, Linux, Mac and Android
MIT License
116 stars 18 forks source link

Invisible Amazon's #31

Open HiranChaudhuri opened 2 years ago

HiranChaudhuri commented 2 years ago

I was wondering why sometimes buildings are invisible until I realized I had installed the Settlers original collection - no Amazon people in there. So the game cannot actually pick up the graphics. Yet it allows Amazon culture to be played and has it's quirks.

Is it possible to detect missing Amazons and either

HiranChaudhuri commented 2 years ago

Somehow I believe the information about which people's resources are available could be checked in https://github.com/paulwedeck/settlers-remake/blob/master/jsettlers.common/src/main/java/jsettlers/common/resources/SettlersFolderChecker.java

although right now I have no clue what needs to be present for Amazons. Do make it easier, I will list the files of my installation folder:

$ find
.
./MSVCIRT.DLL
./DeIsL1.isu
./Tips
./Tips/MAPINFOS.HTM
./Tips/L_MAP.HTM
./Tips/MAP_INDX.HTM
./Tips/T_MAP.HTM
./Tips/TC_JPG32.DLL
./Tips/TC_GIF32.DLL
./Tips/IVIEWP32.INI
./Tips/MAIN.HTM
./Tips/IMAGES
./Tips/IMAGES/22.GIF
./Tips/IMAGES/LINIE450.GIF
./Tips/IMAGES/12.GIF
./Tips/IMAGES/C3.GIF
./Tips/IMAGES/SIEDLER.GIF
./Tips/IMAGES/STEGHAF.GIF
./Tips/IMAGES/4.GIF
./Tips/IMAGES/TITEL_KL.GIF
./Tips/IMAGES/15.GIF
./Tips/IMAGES/SHIPWR.GIF
./Tips/IMAGES/23.GIF
./Tips/IMAGES/3.GIF
./Tips/IMAGES/10.GIF
./Tips/IMAGES/GRAVES.GIF
./Tips/IMAGES/20BLIND.GIF
./Tips/IMAGES/8.GIF
./Tips/IMAGES/B17_SM.GIF
./Tips/IMAGES/17.GIF
./Tips/IMAGES/STEGWER.GIF
./Tips/IMAGES/9.GIF
./Tips/IMAGES/7.GIF
./Tips/IMAGES/14.GIF
./Tips/IMAGES/BACKMAIN.GIF
./Tips/IMAGES/C1.GIF
./Tips/IMAGES/6.GIF
./Tips/IMAGES/2.GIF
./Tips/IMAGES/20.GIF
./Tips/IMAGES/19.GIF
./Tips/IMAGES/1.GIF
./Tips/IMAGES/21.GIF
./Tips/IMAGES/13.GIF
./Tips/IMAGES/11.GIF
./Tips/IMAGES/SHIP1.GIF
./Tips/IMAGES/5.GIF
./Tips/IMAGES/18.GIF
./Tips/IMAGES/16.GIF
./Tips/IVIEWP32.EXE
./FileConvert.exe
./SETUPS3.EXE
./Manual
./Manual/E_TAST
./Manual/E_TAST/INDEX.HTM
./Manual/E_TAST/EINLEI_3.HTM
./Manual/E_TAST/TOP.HTM
./Manual/E_TAST/PRIM.HTM
./Manual/AENDER
./Manual/AENDER/INDEX.HTM
./Manual/AENDER/AENDERN.HTM
./Manual/AENDER/TOP.HTM
./Manual/AENDER/PRIM.HTM
./Manual/W_GEB
./Manual/W_GEB/INDEX.HTM
./Manual/W_GEB/GEBAEUDE.HTM
./Manual/W_GEB/TOP.HTM
./Manual/W_GEB/PRIM.HTM
./Manual/W_GRUNDL
./Manual/W_GRUNDL/GRUNDLAG.HTM
./Manual/W_GRUNDL/INDEX.HTM
./Manual/W_GRUNDL/TOP.HTM
./Manual/W_GRUNDL/PRIM.HTM
./Manual/W_HANDEL
./Manual/W_HANDEL/INDEX.HTM
./Manual/W_HANDEL/TOP.HTM
./Manual/W_HANDEL/HANDEL.HTM
./Manual/W_HANDEL/PRIM.HTM
./Manual/E_ALLG
./Manual/E_ALLG/INDEX.HTM
./Manual/E_ALLG/VORBER.HTM
./Manual/E_ALLG/TOP.HTM
./Manual/E_ALLG/PRIM.HTM
./Manual/FR_START.HTM
./Manual/W_BERUF
./Manual/W_BERUF/BERUFE.HTM
./Manual/W_BERUF/INDEX.HTM
./Manual/W_BERUF/TOP.HTM
./Manual/W_BERUF/PRIM.HTM
./Manual/MAIN.HTM
./Manual/IMAGES
./Manual/IMAGES/GRAPHS
./Manual/IMAGES/GRAPHS/PFEIL.GIF
./Manual/IMAGES/GRAPHS/AENDER.GIF
./Manual/IMAGES/GRAPHS/BACKTOP.GIF
./Manual/IMAGES/GRAPHS/TABBACK.GIF
./Manual/IMAGES/GRAPHS/LINIE450.GIF
./Manual/IMAGES/GRAPHS/TITELGER.GIF
./Manual/IMAGES/GRAPHS/BACKBL.GIF
./Manual/IMAGES/GRAPHS/TITEL_KL.GIF
./Manual/IMAGES/GRAPHS/S3_TITEL.GIF
./Manual/IMAGES/GRAPHS/UNTITL~1.GIF
./Manual/IMAGES/GRAPHS/BACKMAIN.GIF
./Manual/IMAGES/GRAPHS/BACKTBL.GIF
./Manual/IMAGES/GRAPHS/R_BULLET.GIF
./Manual/IMAGES/GRAPHS/S3KL.GIF
./Manual/IMAGES/SCREENS
./Manual/IMAGES/SCREENS/BUILDUP
./Manual/IMAGES/SCREENS/BUILDUP/RECRUIT.GIF
./Manual/IMAGES/SCREENS/BUILDUP/PFEIL.GIF
./Manual/IMAGES/SCREENS/BUILDUP/INFO.GIF
./Manual/IMAGES/SCREENS/BUILDUP/LOBBY2.GIF
./Manual/IMAGES/SCREENS/BUILDUP/AREA1.GIF
./Manual/IMAGES/SCREENS/BUILDUP/IRONSM.GIF
./Manual/IMAGES/SCREENS/BUILDUP/CRUSH.GIF
./Manual/IMAGES/SCREENS/BUILDUP/LOB_O_D.GIF
./Manual/IMAGES/SCREENS/BUILDUP/WAREN.GIF
./Manual/IMAGES/SCREENS/BUILDUP/SETTINGS.GIF
./Manual/IMAGES/SCREENS/BUILDUP/STRENGTH.GIF
./Manual/IMAGES/SCREENS/BUILDUP/MARK2.GIF
./Manual/IMAGES/SCREENS/BUILDUP/GOLD.GIF
./Manual/IMAGES/SCREENS/BUILDUP/ASSERT.JPG
./Manual/IMAGES/SCREENS/BUILDUP/PIONEER.GIF
./Manual/IMAGES/SCREENS/BUILDUP/FOOD.GIF
./Manual/IMAGES/SCREENS/BUILDUP/LOB_M_D.GIF
./Manual/IMAGES/SCREENS/BUILDUP/TOOLSMAK.GIF
./Manual/IMAGES/SCREENS/BUILDUP/LOBBY0.GIF
./Manual/IMAGES/SCREENS/BUILDUP/SAWMILL.GIF
./Manual/IMAGES/SCREENS/BUILDUP/MENU1.GIF
./Manual/IMAGES/SCREENS/BUILDUP/GROUP2.GIF
./Manual/IMAGES/SCREENS/BUILDUP/PRIEST.GIF
./Manual/IMAGES/SCREENS/BUILDUP/GROUP1.GIF
./Manual/IMAGES/SCREENS/BUILDUP/PRIOR.GIF
./Manual/IMAGES/SCREENS/BUILDUP/PRODUC~1.GIF
./Manual/IMAGES/SCREENS/BUILDUP/PRODUCT.GIF
./Manual/IMAGES/SCREENS/BUILDUP/LOBBY1.GIF
./Manual/IMAGES/SCREENS/BUILDUP/CASTLE.GIF
./Manual/IMAGES/SCREENS/BUILDUP/CRUSH_1.GIF
./Manual/IMAGES/SCREENS/BUILDUP/MARK.GIF
./Manual/IMAGES/SCREENS/BUILDUP/WEAPOMAK.GIF
./Manual/IMAGES/SCREENS/BUILDUP/FISHER.GIF
./Manual/IMAGES/SCREENS/BUILDUP/GEOLOG.GIF
./Manual/IMAGES/SCREENS/BUILDUP/LOB_Z_D.GIF
./Manual/IMAGES/SCREENS/BUILDUP/MENU2.GIF
./Manual/IMAGES/SCREENS/BUILDUP/PRIEST2.GIF
./Manual/IMAGES/SCREENS/BUILDUP/AMAZ_W.GIF
./Manual/IMAGES/SCREENS/BUILDUP/STOP.GIF
./Manual/IMAGES/SCREENS/BUILDUP/AREA2.GIF
./Manual/IMAGES/SCREENS/BUILDUP/TOWER.GIF
./Manual/IMAGES/SCREENS/TRADE
./Manual/IMAGES/SCREENS/TRADE/T04.GIF
./Manual/IMAGES/SCREENS/TRADE/T01.GIF
./Manual/IMAGES/SCREENS/TRADE/T02.GIF
./Manual/IMAGES/SCREENS/TRADE/T05.GIF
./Manual/IMAGES/SCREENS/TRADE/T03.GIF
./Manual/IMAGES/LOGOS
./Manual/IMAGES/LOGOS/WWWS3.GIF
./Manual/IMAGES/LOGOS/BB_LOGO2.GIF
./Manual/IMAGES/LOGOS/BB_LOGB.GIF
./Manual/IMAGES/LOGOS/BB_LOG.GIF
./Manual/IMAGES/LOGOS/S3_GER.GIF
./Manual/IMAGES/LOGOS/S3LOGKL.GIF
./Manual/IMAGES/LOGOS/BB_LOGO.GIF
./Manual/IMAGES/BUILDING
./Manual/IMAGES/BUILDING/ASIAN
./Manual/IMAGES/BUILDING/ASIAN/STONE.GIF
./Manual/IMAGES/BUILDING/ASIAN/FORESTER.GIF
./Manual/IMAGES/BUILDING/ASIAN/MILLER.GIF
./Manual/IMAGES/BUILDING/ASIAN/SAWMILL.GIF
./Manual/IMAGES/BUILDING/ASIAN/WOODCUT.GIF
./Manual/IMAGES/C1.GIF
./Manual/IMAGES/C2.GIF
./Manual/IMAGES/MENU
./Manual/IMAGES/MENU/SCREENS
./Manual/IMAGES/MENU/SCREENS/EMPLOY1.GIF
./Manual/IMAGES/MENU/SCREENS/TOTAL.JPG
./Manual/IMAGES/MENU/SCREENS/EMPLOY.GIF
./Manual/IMAGES/MENU/BLINDS
./Manual/IMAGES/MENU/BLINDS/20.GIF
./Manual/IMAGES/BUTTONS
./Manual/IMAGES/BUTTONS/SETTLERS
./Manual/IMAGES/BUTTONS/SETTLERS/A2.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R17.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A5.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A25.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R28.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E25.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A6.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A23.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A10.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R13.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E24.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E19.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E18.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A17.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R5.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R7.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R19.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A26.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E16.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R20.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E2.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A28.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E11.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R23.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E14.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R4.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E20.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A11.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A4.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E1.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E13.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A29.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R22.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E3.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A13.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R3.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/31.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R24.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E9.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A27.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A24.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A3.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E22.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E12.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A14.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E21.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R10.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E10.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E6.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R27.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R25.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R21.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E4.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R12.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R26.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R2.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A9.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R6.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A1.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E23.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R8.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E26.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A12.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/A30.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R11.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R1.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/R9.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E5.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E15.GIF
./Manual/IMAGES/BUTTONS/SETTLERS/E8.GIF
./Manual/IMAGES/BUTTONS/TOOLS
./Manual/IMAGES/BUTTONS/TOOLS/T6.GIF
./Manual/IMAGES/BUTTONS/TOOLS/A32.GIF
./Manual/IMAGES/BUTTONS/TOOLS/E30.GIF
./Manual/IMAGES/BUTTONS/TOOLS/E28.GIF
./Manual/IMAGES/BUTTONS/TOOLS/A35.GIF
./Manual/IMAGES/BUTTONS/TOOLS/E27.GIF
./Manual/IMAGES/BUTTONS/TOOLS/A33.GIF
./Manual/IMAGES/BUTTONS/TOOLS/A37.GIF
./Manual/IMAGES/BUTTONS/TOOLS/R33.GIF
./Manual/IMAGES/BUTTONS/TOOLS/A36.GIF
./Manual/IMAGES/BUTTONS/TOOLS/E31.GIF
./Manual/IMAGES/BUTTONS/TOOLS/A34.GIF
./Manual/IMAGES/BUTTONS/TOOLS/E29.GIF
./Manual/IMAGES/BUTTONS/TOOLS/T3.GIF
./Manual/IMAGES/BUTTONS/TOOLS/T8.GIF
./Manual/IMAGES/BUTTONS/TOOLS/R32.GIF
./Manual/IMAGES/BUTTONS/TOOLS/R34.GIF
./Manual/IMAGES/BUTTONS/TOOLS/T2.GIF
./Manual/IMAGES/BUTTONS/TOOLS/A38.GIF
./Manual/IMAGES/BUTTONS/TOOLS/T5.GIF
./Manual/IMAGES/BUTTONS/TOOLS/T7.GIF
./Manual/IMAGES/BUTTONS/TOOLS/T4.GIF
./Manual/IMAGES/BUTTONS/TOOLS/R29.GIF
./Manual/IMAGES/BUTTONS/TOOLS/R30.GIF
./Manual/IMAGES/BUTTONS/TOOLS/T1.GIF
./Manual/IMAGES/BUTTONS/TOOLS/A39.GIF
./Manual/IMAGES/BUTTONS/TOOLS/R31.GIF
./Manual/IMAGES/BUTTONS/GOODS
./Manual/IMAGES/BUTTONS/GOODS/G1.GIF
./Manual/IMAGES/BUTTONS/GOODS/G12.GIF
./Manual/IMAGES/BUTTONS/GOODS/G18.GIF
./Manual/IMAGES/BUTTONS/GOODS/G6.GIF
./Manual/IMAGES/BUTTONS/GOODS/G17.GIF
./Manual/IMAGES/BUTTONS/GOODS/G8.GIF
./Manual/IMAGES/BUTTONS/GOODS/G5.GIF
./Manual/IMAGES/BUTTONS/GOODS/G16.GIF
./Manual/IMAGES/BUTTONS/GOODS/G15.GIF
./Manual/IMAGES/BUTTONS/GOODS/G14.GIF
./Manual/IMAGES/BUTTONS/GOODS/G2.GIF
./Manual/IMAGES/BUTTONS/GOODS/G13.GIF
./Manual/IMAGES/BUTTONS/GOODS/G19.GIF
./Manual/IMAGES/BUTTONS/GOODS/G9.GIF
./Manual/IMAGES/BUTTONS/GOODS/G10.GIF
./Manual/IMAGES/BUTTONS/GOODS/G4.GIF
./Manual/IMAGES/BUTTONS/GOODS/G7.GIF
./Manual/IMAGES/BUTTONS/GOODS/G3.GIF
./Manual/IMAGES/BUTTONS/GOODS/G11.GIF
./Manual/IMAGES/BUTTONS/NAVIG
./Manual/IMAGES/BUTTONS/NAVIG/B9.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B92.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B26.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B33.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B48.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B61.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B70.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B67.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B30.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B35.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B75.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B22.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B7.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B40.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B80.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B85.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B41.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B42.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B28.GIF
./Manual/IMAGES/BUTTONS/NAVIG/TYPESLEC.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B58.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B32.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B23.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B81.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B27.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B77.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B63.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B19.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B54.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B86.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B91.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B84.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B21.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B20.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B89.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B45.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B34.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B16.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B65.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B88.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B15.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B47.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B49.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B52.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B95.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B6.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B59.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B14.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B66.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B90.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B43.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B37.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B71.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B18.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B76.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B31.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B25.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B83.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B69.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B2.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B17.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B12.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B94.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B4.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B55.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B74.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B29.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B1.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B53.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B50.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B87.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B5.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B24.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B78.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B62.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B39.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B10.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B82.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B73.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B56.GIF
./Manual/IMAGES/BUTTONS/NAVIG/CURSOR3.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B8.GIF
./Manual/IMAGES/BUTTONS/NAVIG/CURSOR1.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B51.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B93.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B72.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B3.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B38.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B44.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B60.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B11.GIF
./Manual/IMAGES/BUTTONS/NAVIG/GAMETYPE.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B64.GIF
./Manual/IMAGES/BUTTONS/NAVIG/CURSOR2.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B13.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B36.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B68.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B57.GIF
./Manual/IMAGES/BUTTONS/NAVIG/B79.GIF
./Manual/IMAGES/BUTTONS/TRADE
./Manual/IMAGES/BUTTONS/TRADE/T06.GIF
./Manual/IMAGES/BUTTONS/TRADE/T09.GIF
./Manual/IMAGES/BUTTONS/TRADE/T04.GIF
./Manual/IMAGES/BUTTONS/TRADE/T01.GIF
./Manual/IMAGES/BUTTONS/TRADE/T02.GIF
./Manual/IMAGES/BUTTONS/TRADE/T05.GIF
./Manual/IMAGES/BUTTONS/TRADE/T01A.GIF
./Manual/IMAGES/BUTTONS/TRADE/T03.GIF
./Manual/IMAGES/BUTTONS/TRADE/T07.GIF
./Manual/IMAGES/BUTTONS/TRADE/T08.GIF
./Manual/IMAGES/BUTTONS/GODLY
./Manual/IMAGES/BUTTONS/GODLY/A7.GIF
./Manual/IMAGES/BUTTONS/GODLY/Z3.GIF
./Manual/IMAGES/BUTTONS/GODLY/A2.GIF
./Manual/IMAGES/BUTTONS/GODLY/A5.GIF
./Manual/IMAGES/BUTTONS/GODLY/DUMMY01.GIF
./Manual/IMAGES/BUTTONS/GODLY/Z7.GIF
./Manual/IMAGES/BUTTONS/GODLY/Z1.GIF
./Manual/IMAGES/BUTTONS/GODLY/Z4.GIF
./Manual/IMAGES/BUTTONS/GODLY/Z8.GIF
./Manual/IMAGES/BUTTONS/GODLY/A6.GIF
./Manual/IMAGES/BUTTONS/GODLY/R5.GIF
./Manual/IMAGES/BUTTONS/GODLY/R7.GIF
./Manual/IMAGES/BUTTONS/GODLY/E7.GIF
./Manual/IMAGES/BUTTONS/GODLY/E2.GIF
./Manual/IMAGES/BUTTONS/GODLY/Z6.GIF
./Manual/IMAGES/BUTTONS/GODLY/R4.GIF
./Manual/IMAGES/BUTTONS/GODLY/A4.GIF
./Manual/IMAGES/BUTTONS/GODLY/E1.GIF
./Manual/IMAGES/BUTTONS/GODLY/E3.GIF
./Manual/IMAGES/BUTTONS/GODLY/R3.GIF
./Manual/IMAGES/BUTTONS/GODLY/A3.GIF
./Manual/IMAGES/BUTTONS/GODLY/Z2.GIF
./Manual/IMAGES/BUTTONS/GODLY/Z5.GIF
./Manual/IMAGES/BUTTONS/GODLY/E6.GIF
./Manual/IMAGES/BUTTONS/GODLY/E4.GIF
./Manual/IMAGES/BUTTONS/GODLY/R2.GIF
./Manual/IMAGES/BUTTONS/GODLY/R6.GIF
./Manual/IMAGES/BUTTONS/GODLY/A1.GIF
./Manual/IMAGES/BUTTONS/GODLY/R8.GIF
./Manual/IMAGES/BUTTONS/GODLY/R1.GIF
./Manual/IMAGES/BUTTONS/GODLY/E5.GIF
./Manual/IMAGES/BUTTONS/GODLY/A8.GIF
./Manual/IMAGES/BUTTONS/GODLY/E8.GIF
./Manual/README.TXT
./Manual/MILITAER
./Manual/MILITAER/INDEX.HTM
./Manual/MILITAER/INDEX2.HTM
./Manual/MILITAER/TOP.HTM
./Manual/MILITAER/INDEX4.HTM
./Manual/MILITAER/MILITAER.HTM
./Manual/MILITAER/PRIM.HTM
./Manual/PRIM.HTM
./Manual/BB_LOGO.GIF
./Manual/E_MENU
./Manual/E_MENU/INDEX.HTM
./Manual/E_MENU/EINLEI_2.HTM
./Manual/E_MENU/TOP.HTM
./Manual/E_MENU/PRIM.HTM
./Manual/START.HTM
./UPDATE.EXE
./Map
./Map/TUTORIAL
./Map/TUTORIAL/T1.MAP
./Map/SINGLE
./Map/SINGLE/NO_ENEMY.MAP
./Map/SINGLE/ITALY.MAP
./Map/SINGLE/MOUNTAIN.MAP
./Map/SINGLE/EGYPT.MAP
./Map/SINGLE/MARINEA.MAP
./Map/SINGLE/Benguns_Isle.map
./Map/MULTI
./Map/MULTI/512-5-la_isla.map
./Map/MULTI/448-8-fun.map
./Map/MULTI/576-2-benguns_isle.map
./Map/MULTI/448-4-island_2.map
./Map/MULTI/448-3-salomons.map
./Map/MULTI/640-6-highland.map
./Map/MULTI/512-4-desert_x.map
./Map/MULTI/512-4-maberia.map
./Map/MULTI/512-6-treasure_island.map
./Map/MULTI/640-6-deathland.map
./Map/MULTI/512-8-secretland.map
./Map/MULTI/640-16-deepforest.map
./Map/MULTI/448-4-utopia.map
./Map/MULTI/640-4-island_1.map
./Map/MULTI/640-6-desertstorm.map
./Map/MULTI/576-6-recon.map
./Map/MULTI/448-3-volcania.map
./Map/MULTI/576-4-1on1.map
./Map/MULTI/448-3-the_peak.map
./Map/MULTI/448-4-x_mountain.map
./Map/MULTI/448-2-island_3.map
./Map/MULTI/448-4-marinea.map
./Map/MULTI/384-2-artokia.map
./Map/MULTI/384-2-lakes.map
./BGLWINR.DLL
./AUTORUN.EXE
./BLUEBYTE.URL
./Gfx
./Gfx/siedler3_26.7c003e01f.dat
./Gfx/siedler3_27.f8007e01f.dat
./Gfx/siedler3_34.7c003e01f.dat
./Gfx/siedler3_22.f8007e01f.dat
./Gfx/siedler3_35.f8007e01f.dat
./Gfx/siedler3_26.f8007e01f.dat
./Gfx/siedler3_05.f8007e01f.dat
./Gfx/siedler3_32.f8007e01f.dat
./Gfx/siedler3_34.f8007e01f.dat
./Gfx/siedler3_01.f8007e01f.dat
./Gfx/siedler3_04.f8007e01f.dat
./Gfx/siedler3_99.f8007e01f.dat
./Gfx/siedler3_07.f8007e01f.dat
./Gfx/siedler3_14.7c003e01f.dat
./Gfx/siedler3_37.7c003e01f.dat
./Gfx/siedler3_30.7c003e01f.dat
./Gfx/siedler3_22.7c003e01f.dat
./Gfx/siedler3_12.7c003e01f.dat
./Gfx/siedler3_12.f8007e01f.dat
./Gfx/siedler3_27.7c003e01f.dat
./Gfx/siedler3_33.7c003e01f.dat
./Gfx/siedler3_31.7c003e01f.dat
./Gfx/siedler3_25.f8007e01f.dat
./Gfx/siedler3_20.7c003e01f.dat
./Gfx/siedler3_08.7c003e01f.dat
./Gfx/siedler3_03.f8007e01f.dat
./Gfx/siedler3_36.7c003e01f.dat
./Gfx/siedler3_01.7c003e01f.dat
./Gfx/siedler3_21.7c003e01f.dat
./Gfx/siedler3_10.f8007e01f.dat
./Gfx/siedler3_06.7c003e01f.dat
./Gfx/siedler3_02.f8007e01f.dat
./Gfx/siedler3_15.f8007e01f.dat
./Gfx/siedler3_09.7c003e01f.dat
./Gfx/siedler3_35.7c003e01f.dat
./Gfx/siedler3_36.f8007e01f.dat
./Gfx/siedler3_03.7c003e01f.dat
./Gfx/siedler3_21.f8007e01f.dat
./Gfx/siedler3_25.7c003e01f.dat
./Gfx/siedler3_06.f8007e01f.dat
./Gfx/siedler3_11.f8007e01f.dat
./Gfx/siedler3_15.7c003e01f.dat
./Gfx/siedler3_30.f8007e01f.dat
./Gfx/siedler3_24.7c003e01f.dat
./Gfx/siedler3_18.f8007e01f.dat
./Gfx/siedler3_16.f8007e01f.dat
./Gfx/siedler3_23.7c003e01f.dat
./Gfx/siedler3_05.7c003e01f.dat
./Gfx/siedler3_09.f8007e01f.dat
./Gfx/siedler3_17.f8007e01f.dat
./Gfx/siedler3_13.f8007e01f.dat
./Gfx/siedler3_07.7c003e01f.dat
./Gfx/siedler3_17.7c003e01f.dat
./Gfx/siedler3_37.f8007e01f.dat
./Gfx/siedler3_24.f8007e01f.dat
./Gfx/siedler3_14.f8007e01f.dat
./Gfx/siedler3_04.7c003e01f.dat
./Gfx/siedler3_16.7c003e01f.dat
./Gfx/siedler3_20.f8007e01f.dat
./Gfx/siedler3_31.f8007e01f.dat
./Gfx/siedler3_11.7c003e01f.dat
./Gfx/siedler3_33.f8007e01f.dat
./Gfx/siedler3_00.f8007e01f.dat
./Gfx/siedler3_02.7c003e01f.dat
./Gfx/siedler3_13.7c003e01f.dat
./Gfx/siedler3_23.f8007e01f.dat
./Gfx/siedler3_32.7c003e01f.dat
./Gfx/siedler3_10.7c003e01f.dat
./Gfx/siedler3_08.f8007e01f.dat
./Gfx/siedler3_00.7c003e01f.dat
./S3.EXE
./S3.URL
./DATA.DAT
./PATCHW32.DLL
./Save
./Snd
./Snd/Siedler3_00.dat
./Snd/Siedler3_01.dat
./MSVCRT.DLL
./NEWTOOLR.DLL
./Install
./Install/SETUP.LID
./Install/UPSALE02.BMP
./Install/SETUP.INI
./Install/_INST32I.EX_
./Install/RENAME.DAT
./Install/_USER1.CAB
./Install/LANG.DAT
./Install/BUTTON2.BMP
./Install/LAYOUT.BIN
./Install/UPSALE03.BMP
./Install/BUTTON1.BMP
./Install/BB_LOGO.BMP
./Install/AUTORUN.DAT
./Install/SETUP.EXE
./Install/_SETUP.DLL
./Install/DATA.TAG
./Install/WINTDIST.EXE
./Install/SETUP.INS
./Install/ITOOLS.DLL
./Install/DATA1.CAB
./Install/AUTORUN.BMP
./Install/OS.DAT
./Install/_ISDEL.EXE
./Install/UPSALE01.BMP
./Install/_SYS1.CAB
paulwedeck commented 2 years ago

The important files are either of the form ./Gfx/siedler3_4x.7c003e01f.dat or ./Gfx/siedler3_4x.f8007e01f.dat with x being a single digit. If both files are present they contain the same images but in different color formats. You could copy these files from the amazon demo into your settlers installation. They contain all necessary images except for the ships but don't overwrite the 1x files because they also don't contain the roman ships.

I agree that we could add a warning of the form "Your game files appear to not include graphics for the nations x, y and z. All of their buildings and their nation specific settlers will be invisible".

reuse other graphics (e.g. Roman) to still keep the game playable?

If somebody puts in the time and effort to create new building graphics for some of the Asian and Egyptian buildings (the amazon and roman ones are all publicly available in the demo files) than I would certainly include them as a fallback to the original graphics.

Its not actually possible to just switch between buildings of two different nations because they behave differently gameplay wise which would lead to inherent desync in multiplayer. Also there is absolutely no benefit of having an asian player with roman settlers and roman buildings except for different spells which don't appear to be a commonly used feature (the AI is also not yet using them)

HiranChaudhuri commented 2 years ago

You could copy these files from the amazon demo into your settlers installation.

That is not the point. I do have an original CD with Amazon's in my shelf. By accident I just picked the one that appeared first in my hands. It is more the game's behaviour I am after - it should reward players for playing rather than appearing buggy. After all, the code is impressively organized and stable.

ts not actually possible to just switch between buildings of two different nations because they behave differently gameplay wise which would lead to inherent desync in multiplayer.

I more thought of just rendering the wrong building rather than not rendering anything - not changing the gameplay. But if that is not feasible it is ok to just not offer that nation.

The important files are either of the form ./Gfx/siedler3_4x.7c003e01f.dat or ./Gfx/siedler3_4x.f8007e01f.dat

I almost assumed that digit would indicate the nation, and it is easy to check the existence of files in the code location I pointed out. However I have not yet found a good point where to limit the existing nations. It must be where the game initializes before it actually starts.

paulwedeck commented 2 years ago

I more thought of just rendering the wrong building rather than not rendering anything - not changing the gameplay. But if that is not feasible it is ok to just not offer that nation.

That is possible for most buildings (like its already done with settlers) but I don't really see the benefit. All of these buildings would look weird and the nation specific buildings are still just a black square. I think its better to just play Romans or Amazons if you only have these nations available in your graphics files rather than play a weird "asians but with roman buildings and settlers and a couple of missing graphics" nation and if somebody knows what these buildings do they probably have access to the necessary graphics.

However I have not yet found a good point where to limit the existing nations.

I don't think limiting the available nations is a good idea because this implies that a single client can limit what nations are available to all players in a multiplayer match. I think it should just be a hint so players are not surprised that playing these nations looks weird. Also the game logic is mostly decoupled from the rendering which is necessary for the unit tests which run completely without any graphics files.

If you still want to limit it just for singleplayer you could check SinglePlayerSlotFactory on swing and NewSinglePlayerSetupViewModel on android.

The information kind of is already stored in the form of the settlersVersionid mechanism. I don't know where you would access this information on android but the swing gui stores it in the SettingsManager

HiranChaudhuri commented 2 years ago

If the first paragraph you say it does not make sense to have a weird/wrongly rendered nation. However in the second you say the game should emit a warning but otherwise progress.

Would it not make sense to check which nations are installed and only offer those. In case of multiplayer games the clients could suggest the supported nations, and if the server finds discrepancies it could show the problem to all players but not start the actual game. It would get evident and players can take action, rather than playing a weird game.

paulwedeck commented 2 years ago

However in the second you say the game should emit a warning but otherwise progress.

I don't think that the game logic should be aware of anything related to the graphics and there are more ways to display a map than just a running match. The map editor is the most important example. Also the match is not aware if it is connected to the UI or not and its important to be able to run a game without displaying it or having the graphics files due to the unit tests.

I agree that its a realistic option to prevent singleplayer matches that are in this way broken but I don't think it is worth it for multiplayer.

Actually one option would be to prevent players that can't display all currently selected nations of a multiplayer game to press ready. In this case its really important to also emit a warning/explanation otherwise everybody that encounters this behaviour would open a new issue.

This is still not a complete solution because ultimately the server decides the start conditions of the match but this should be consistent with what the players/the host selected.

HiranChaudhuri commented 2 years ago

Now it makes sense. Thank you for the explanation. And it seems we cannot work this one out right now. Feel free to close this issue, I can open another one at a later point in time.