Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Falko

Pages: [1]
1
Work In Progress / Mapscript Questions
« on: November 20, 2014, 01:59:15 pm »
warboy commited his mapscripts
https://openxcom.org/forum/index.php?topic=2934.msg35920#msg35920
yeah!
now some questions will appear

i start with my questions hopefully we can keep these (+answers) in one thread to make a easier documentation possible

2
Tools / OpenXCom Modding Tools
« on: September 27, 2014, 01:16:51 pm »
go here: https://falkooxc2.pythonanywhere.com/

for some time I worked on a website that combines my existing modding tools.
my main goals are:
- make the use more easier to understand/use
- make it easier to add stuff to the tools
- making the source available in a way that anyone can run the tools locally.

i now reached a point where the globe/language/sprite tools are in a workable condition
the documentation is not existent i have prepared help buttons but decided to publish regardless instead of waiting with the publication until the motivation to write "help" finds me
the upload functionality is using a browser interface that is not available for IE9 and older
that restriction  leads to the fact that the sprite/language tools are unusable with IE<=9

short explanation for the tools:

world editor: to change all parameters in regard to placement of things on the globe
Spoiler:
old version is here https://openxcom.org/forum/index.php?topic=2835.0
new functionality:
you can enable a snap mode so drawing textures that fit together works better
you can undo the last drawn border/texture point by pressing [delete]
you can cancel the drawing of border/texture by pressing [esc]
you can finish the drawing of border/texture by pressing [return] (double click also ends the drawing - but the [return] finish does not disable the new-mode)
under optionals you have now new things to do:
- "fill the planet" filles the planet with textures with resolution/"color" of your choosing
- "check terrorzone" adds the mission3 zones to cities so terrorships fly to new cities
- "small display" allows the setting of (base) layers while using small displays

combine sprites: makes many small singlesprites into one big spritesheet (better for linux/ easier filehandling)
Spoiler:
old version still here https://openxcom.org/forum/index.php?topic=2349.0
new version works with drag & drop, shows the image, and gives the option to set a usefull download name
chrome user can drag/drop complete folders - other browser have to drop files
be aware that i group files according to filename without numbers so dropping ARMOR1_001..100 and ARMOR2_001..100 leads to ONE spritesheet (ARMOR______)
besides UI optimization no new functionality

palette converter: has many option to fix and recolor images
Spoiler:
old version still here https://openxcom.org/forum/index.php?topic=2349.0
new version works with drag & drop, shows the image, and gives the option to set a usefull download name
you can select your operation
"fix" tries to go and fix palettes if your palette was optimized or you have a RGB image (PNG/BMP) instead of an indexed file - as long as the colors match the palette the tool fixes the image - unfortunately pckview gives "wrong" colors
the "set-" operation is trivial it bruteforce sets the new palette type
color15to14 fixes a oxc bug with color 15
there are some tftddepth0ToUFO-... operations that can change the tftd palette into ufo battlescape there are 3 versions with varying results - try it out
you can also make color changes as an example i have added switch_green_blue but you can make your own by clicking on "add new transform" play with it until i find time to explain how it works :) give it a name and save changes -> the new transformation is now available as a new function
if you want to save your colorchange go to the options and copy your part its yaml and should be at the end of the document

xcomconverter: convert vanillaxcom files to png, convert png back to PCK (for new terrains), splitup a spritesheet
Spoiler:
new tool
if you drop xcomdata file (pck, dat,spk,scr,bdy) files the tools selects a mostly working function for you
you need to upload a tab and a pck file to get a working PCK->png transformation
png upload assumes an spritesheet with sprites of width 32x40 and gives the option to make a PCK out of an spritesheet or split the files the resulting file is an zip
if you make a PCK there can be a wanring.txt with explanations in the zipfile if your png could not be transformed 1:1 into a pck
with the options its easy to later add new formats for im/exports

hwp builder: makes creating 4tile - tanks easy
Spoiler:
old version still here https://openxcom.org/forum/index.php?topic=2349.0
no new functionality
but the UI is hopefully more understandable

language editor: makes editing languages in rulesets easier
Spoiler:
old version here https://openxcom.org/forum/index.php?topic=2862.0
no new functionality

modtester: .. will be included here "when its done" getting the other stuff done is a first milestone and is enough to publish this

more: .. there will be more

.. after some time

PS:
thanks to Arthanor and clownagent for testing, supsuper/warboy for answering many many questions

3
Tools / language editor
« on: August 26, 2014, 11:54:01 pm »
this tool https://falkooxc.pythonanywhere.com/static/translate.html
can edit language file
its a by product of something else i played around with but i made something usable out of it
you upload a ruleset you want to translate/edit
you find all existing languages in columns and all strings in the rows
fill out missing parts or if you want add a new language rightclick on a column and add a new column
after editing you can export a single language (click on the header "export column") or export all languages as one file (=upper left corner)
usage:
you can use CTRL+return to make new lines these newlines will be replaced by space in the export
you can resize the columns but cant get smaller then the biggest cell needs

Edit:
fixed a small bug

4
Tools / worldeditor
« on: August 21, 2014, 04:08:15 am »
since today oxc is ready for more!
see image
so we can now change the world in ways never possible before
  • adding new islands - no need to go into the world.dat and fiddle with binary data
  • adding new terrains - making the world more colourful
  • adding new borders - you wanted to give africa more visible nations now its possible
  • making whole new planets! - yeah lets defend the moon!
but how ?
there were ruleset changes in the latest nightlies
Code: [Select]
globe:
  data: GEODATA/WORLD.DAT
  polylines:
    - [351.25, -41.625, 353.875, -41.625, 352.375, -37]
...
  polygons:
    - [1, 349.5, -52.25, 350.5, -51.375, 353.5, -52.25, 350.75, -53.25]
...
i made an example that added a purple-texture-island (be aware i did not assign any maps-terrains to it) the testmod is also attached

for whoever is scared of numbers i have a tool that helps a bit
its still in development so not much documentation for it
for anyone who wants to give it a try:
https://falkooxc.pythonanywhere.com/static/worldedit.html

5
Tools / openxcom in 3d - loft viewer
« on: July 31, 2014, 11:24:45 pm »
this little tool allows to wander around in openxcom maps
its based in the line of sight (loftemps) blocks that are defined within the mcd informations
you can change/add maps easily in the confmap.ini
Code: [Select]
[conf]
loftempfile=data/LOFTEMPS.DAT

[map0]
mapfile=data/MAPS/UFO1A.MAP
mapx=0
mapy=0
addterrain0=data/TERRAIN/BLANKS.MCD
addterrain1=data/TERRAIN/UFO1.MCD

[map1]
mapfile=data/MAPS/UFO_120.MAP
mapx=0
mapy=10
addterrain0=data/TERRAIN/BLANKS.MCD
addterrain1=data/TERRAIN/U_EXT02.MCD
addterrain2=data/TERRAIN/U_WALL02.MCD
addterrain3=data/TERRAIN/U_BITS.MCD

the addterrain parameter has to be the same order as the mapDataSets entries in rulset
Code: [Select]
      mapDataSets:
        - BLANKS
        - U_EXT02
        - U_WALL02
        - U_BITS
the mapx/y parameter move the map at a specific position - useful if you want to visit more than one map
i put 2 example maps in the data directory you can fill it up with the maps you want to visit

be aware its a more or less just a proof of concept so its can be a bit buggy
also since the tool rebuilds the 3d-terrain new on every execution the start can be somewhat slow if you put many maps into the config file .. (but my pc is way old so perhaps thats not an issue for many)

in the zip you find the exe directory with the file "3doxc_0.5.exe" within

controls:
mouse = change view up/down/left/right
w/s = move for/backward
a/d = strafe left right
space = jump

the link (28 MB) https://falkooxc.pythonanywhere.com/static/3doxc-0.5.zip

have fun

6
Suggestions / radar range in base info screen
« on: July 26, 2014, 05:43:44 pm »
instead of the two short/long rang radar lines there should be a line
radar range <- the biggest range of the built radar facilities is used
and
radar detection <- chance to detect ufo 100% (hyperwave detector) = full line the facilities are added up so with a lot of long range radar you can get 100% (without extra info)

idea for mod:
original:
- type: STR_SMALL_RADAR_SYSTEM
  radarRange: 1500
  radarChance: 10
- type: STR_LARGE_RADAR_SYSTEM
  radarRange: 2250
  radarChance: 20
- type: STR_HYPER_WAVE_DECODER
  hyper: true
  radarRange: 2400
  radarChance: 100
change it to:
- type: STR_SMALL_RADAR_SYSTEM
  radarRange: 2000
  radarChance: 55
- type: STR_LARGE_RADAR_SYSTEM
  radarRange: 2400
  radarChance: 35
- type: STR_HYPER_WAVE_DECODER
  hyper: true
  radarRange: 1500
  radarChance: 25

so you need a large radr to get the most coverage
the short radar gives the best detection probability
the hyperwave gives information but no 100% detection
one has to balance the numbers somewhat

now the change discussed above is more important

7
Tools / tiled mapeditor for xcom [in development]
« on: July 22, 2014, 02:02:36 am »
some time ago the mapeditor tiled was suggested to create/edit maps
since then the two thread "died"
https://openxcom.org/forum/index.php?topic=2178.msg21706#msg21706
https://openxcom.org/forum/index.php?topic=2184.msg21744#msg21744

but today i got it in my head that this can not be that difficult
so i surfed through the wiki, annoyed Supsuper and scripted and played some more

and here the result
install https://www.mapeditor.org/

download the zip here
you have all vanilla tilesets (tsx) included
and 3 maps (battleship, avenger and a map from terrormission)

if you open the map you see
each level has 4 layers (ground,objects,norteast/west-walls)
the map has a set of tilesets assigned - the order of these tilesets should be the same as in "mapDataSets" lists in the ruleset

so one can test and play with this stuff now but not convert into anything usefull

what is not part of this tool:
adding new "map elements" - i use existing MCD files to generate tilesets the tool is not and likely will never be able to change/add MCD files it uses only already existing "mapelements"

i can now read vanilla maps but have not written a tool to write back since i miss some information and this tool was started today

TODO:
- understanding RMP (according to my rudimentary understanding: it will be a extra layer with a "RMP"-tileset where each tile has some property values)
- making a LOFT preview - take a look at the example file C:\Program Files (x86)\Tiled\examples\perspective_walls.tmx .. it is possible to make something like that based on a existing map/lofttemplates
- export in MAP/RMT file


8
Offtopic / global coverage
« on: July 08, 2014, 11:13:17 am »
8 bases with hyperwaves are enough to provide complete enough global coverage that you will never fail to detect a UFO.
I always got some land that was not covered by radar
so i made a mod and tried to do fix that and accomplished this
soo now i am not 100% happy with my placements
i hope others share their complete covered placements perhaps there are better base positions

i attached save,mod, and some images

9
Suggestions / Disable Base-Buttons if not needed
« on: July 02, 2014, 07:09:21 pm »
see image
it would be nice to disable unusable buttons in base
it already works for the "new base" button -> (it gets black)
no soldiers -> disable soldiers
no crafts -> disable craft equip
no scientist -> disable research
no engineer  -> disable manufacture

also possible but a little more complex:
no item/crafts/aliens/staff -> disable sell/transfer
no space left in base -> disable build new facilities
no storage/hangar/quarters/alien containment -> disable purchase

i sometime click on the wrong base to research stuff so i can likely avoid it

10
Work In Progress / Make the world a brighter place - Elerium flare
« on: June 27, 2014, 12:53:29 am »
Put 2 elerium and an old fashioned Flare together stir clockwise 3 times, widdershins 2 times, shake it and tada - your tool for a brighter world - the elerium flare :)
[works only correct with the latest nightly! older builds see strange colors near the flare thx@SupSuper for the fast fix]

11
my idea is an extension it items
the items ruleset get 2 new properties
Code: [Select]
  - type: STR_PSI_AMP
    replaceitem: STR_PSI_AMP_EMPTY
    replacecount: 1
what does that do?
after a targeted primary action (weapon fire, psiattack, mindprobe, meeleattack)
the item can be replaced
for the vanilla play there is obvious no change
but what can be accomplished
melee weapons can be damaged over time

after 10 hits with the combatknife it needs to be sharpened or it looses some damage

the stunrod gets better but after 3 hits you need to reload its battery in the base - so carry/bring more of these things

the psi amp can be remodelled to use ammunition (you can mod clips to psiamp but they have no effect the bulletconsumption is connected to createProjectile .. and psi has no projectiles)

to my knowledge there is only one one-way-weapon-mod SSLR - the trick here is that the weapon is not recovered after battle even if you dont use it .. with this only after the shot does SSLR convert to EMPTY_SSLR and the empty SSLR is not recovered but unused weapons stay in the base

i could think of one or two other applications of such thing

Spoilerbasic source idea:
(i am not sure if it is the best place )
after line 1289 in BattlescapeGame.cpp https://github.com/SupSuper/OpenXcom/blob/89e1e3d8418063d7e68713432dc2fbd71236b486/src/Battlescape/BattlescapeGame.cpp#L1289)
we would do something like that
if (replaceitem!="" ){
  _counter-=1
 if (..._counter==0){
   activeweapon.replace(replaceitem)
   ..._counter=activeweapon.getRules().getReplaceCount()
  }
}
i think at that position the counter goes down with cancelled actions (not enough TU) :(

12
Tools / sprite tools
« on: June 21, 2014, 03:37:04 am »
1st tool
if you go here https://falkooxc.pythonanywhere.com/sprites2png
and select a zipfile that contains a set of sprites like armors or units(can be >200 files per armor) [files have to be directly in the zipfile not in a subfolder]
then you select how many columns you want
and on the click on getpng you will get a png for download that contains all sprites in an ordered list
so instead of
Code: [Select]
  - type: MYNEWUNIT.PCK
    width: 32
    height: 40
    files:
      0: Resources/mymod/MYNEWUNIT/
you do
Code: [Select]
  - type: MYNEWUNIT.PCK
    subX: 32
    subY: 40
    width: 512 #needs the real image width 512 is example
    height: 720 #needs the real image height 720 is example
    files:
      0: Resources/mymod/MYNEWUNIT.png
that way you make your mod easier to manage (pirates mod has >10000 files !) and reduce filesize by >80% (if the sprites are very similar)

2nd tool
here https://falkooxc.pythonanywhere.com/palconvert you can upload a image and convert its colors
at the moment you can only convert images that have "tftd - battlescape"-colors into ufo-battlescape colors
i attached a file where one can compare the difference this tool makes
to enable conversion of tftd-geoscape or ufopedia images one needs to change the conversion-image that i also attached here
Spoilerhow does that work:
go into your favorite image program
open the converpal.png
the first pixel is the color that appears if i find no match or (at the moment)  it appears for all pixel if i select a non "tftd-barttlescap-depth0" source
the rest of the first line is the target-palette colors 1-255
then you have multiple lines the first pixel color defines the source palette
ff00ff=depth0
ff30ff=depth1
ff50ff=depth2
ff70ff=depth3
ff90ff=ufopedia
ffb0ff=geoscape

in the last lines you will find the source palette with their corresponding first color
or you can select userdefined and the palette/colors of the uploaded image will be used
if you do that you also need to uload a Palette-Convert-File and a Target-Palette-File (under more)

tool 3 :
https://falkooxc.pythonanywhere.com/makegif

gives you the option to make new 4-tile aliens/tanks with a lot less pain than normal
take a look at the docusprites picture for "how it works" (alternative there is another descriptive image here
i take the a big tftd 4tile unit
for all ufo/tftd 4-tile units i have templates where one can edit the single frames of each animation as a complete unit
the splitting in a spritesheet png image is done via web
with the second tool https://falkooxc.pythonanywhere.com/palconvert you can fix tftd palettes (in most cases its better if you fix the colors of the template before editing/splitting)
in this docu image i wanted to show how to easy switch colors here "yellowish to green" because big ass muton soldiers need a green bigass terror unit not "walking stones"

or you can change existing spritesheets here i made a non-brown/orange version of ethereal (took like 30 seconds )

if you run into errors post the images and choices you uploaded in this thread

13
Tools / modtester
« on: June 05, 2014, 06:35:16 pm »
update for the modtester https://falkooxc.pythonanywhere.com/

put your mod in a zip file and try it :)

since you can now see the list of possible errors some explanations would be useful:

i downloaded >70 mods to get most of the errors "in the wild"

since we have now >50 errors i explain the more frequent/seriuos ones here
Spoilerstart errors:
'rulfile is likely not UTF-8','some error during rulfile import','rulfile not in Ruleset Folder','the mod .rul is not a map/dict'
here i catch problems reading a mod - i see the rul file as the center of the mod if no rulfile or it is "wrong" yaml format it throws an error
'image/sound file should be in Resources/modname/... ' an information that you should put your files into a subfolder to avoid conflicts with other mods

Spoilerimage errors:
'palette not correct' here we have an error in the image mostly the palette is slightly wrong see: https://imgur.com/kPn3C3W  but sometimes completely
'palette could use more colours' the image of this entry is not shown in the ufopedia and can therefore use the last 16 colors
'a sprite sheet is bigger than needed','references spritesheet does misses images' handobs,armors,tanks where the number of sprites is not as it should be
'an image has the wrong mode' we found a image that is not using a palette that should be fixed

Spoilerlanguage errors:
'no string translation' each new item/research/manufacture/ufopedia,... needs a entry in extraStrings
'a language/translation is missing' the interface allows to select some languages that have to be there .. if not you get an error
'a language is incomplete' one language has more strings than another

Spoilerreference/file errors:
'file/dir not found' happens rarely that a file is wrongly referenced in extrasprites/sounds
'spec file not found' happens more often for maps and terrain - e.g. some mods use map as directory it is MAPS!
'the case sensitive test of dir/file path failed' very often the path of the file extraSound/sprite entry differs from the (case sensitive) real path that leads to problems with using the mod in unix systems
'case sensitive path error for a file' see above but in regard to maps/terrains
'extrasprite/sound is not ruleset-referenced' there are extrasprite entries but no item that uses these entries
'not referenced file found' here are files that were in the mod directory but were not referenced somewhere in the rulset .. bestcase: there is a "Readme.txt" "error"
'no connected file entry found for ruleset-referenced' here an item refers to some file entry but it does not exists happens mostly if someone got confused with the sprite ids

Spoilerother errors:
'a property doubled in map/dict' happens if you have an object and add the same property twice the devs called that "unsafe and unsane"
Code: [Select]
extraSprites:
  - type: FLOOROB.PCK
    files:
      83: Resources/Piratez/FLOOROB/FloorBarrel.gif
      83: Resources/Piratez/FLOOROB/FloorDynamite.gif
'an item occurs multiple time' here we have declared the same item more than once in a list
Code: [Select]
extraStrings:
  - type: en-US
    strings:
      STR_HEAVY_LASER_CLIP: Heavy Laser clip
  - type: fr
    strings:
      STR_HEAVY_LASER_CLIP: Chargeur de laser lourd
  - type: en-US
    strings:
      STR_LASER_RIFLE_CLIP: Laser Rifle clip
  - type: fr
    strings:
      STR_LASER_RIFLE_CLIP: Chargeur de fusil laser
  - type: en-US
    strings:
      STR_LASER_PISTOL_CLIP: Laser Pistol clip
  - type: fr
    strings:
      STR_LASER_PISTOL_CLIP: Chargeur de pistolet laser
    better would be
Code: [Select]
extraStrings:
  - type: en-US
    strings:
      STR_HEAVY_LASER_CLIP: Heavy Laser clip
      STR_LASER_RIFLE_CLIP: Laser Rifle clip
      STR_LASER_PISTOL_CLIP: Laser Pistol clip
  - type: fr
    strings:
      STR_HEAVY_LASER_CLIP: Chargeur de laser lourd
      STR_LASER_RIFLE_CLIP: Chargeur de fusil laser
      STR_LASER_PISTOL_CLIP: Chargeur de pistolet laser


'keeps original value' shows that you have an entry that is a exact copy of the original and it could be removed (or automatically fixed)
'missing research referenced' somewhere you reference a research (unlock,requires,getonefree,..) but the researchobject does not exists
'missing item referenced' somewhere you reference a item (required item, fuel, compatible ammo, ...) but the item object does not exists
'no listorder for new objects' Solarius Scorch wanted that and it was easy to make - errormessage should speak for itself

Spoilerwahts with the fixes?:
now you can make fixes for your mod
the tester takes the last rulfile in a mod and "repairs" it
you can
Change case sensitive filepath entries [that works only for extrafile/sound entries you cant fix a map reference to files named SoMeNeW.MaP+sOmEnEw.rMp with just fixing the ruleset]

Remove unchanged vanilla properties/entries [removes entries that are unchanged in regard to the original values - last update of vanilla=jun 28]

if string only in en-XX add it to en-YY [just mantain en-GB .. US is added automatically or vis versa - is es and es-419 also exchangable?]

Edit:
Spoilerold first post text:
during the devopment of a more complex tool realized i could create a mod tester without much additional work on my site
here it is
https://falkooxc.pythonanywhere.com/
it needs a mod in a zip file with a rulfile in the ruleset Folder
at the moment it chacks for ~40 errors  i encountered  3/4 of these errors in real mods i found online
the "design" is not really good but it does its job
you can see the importance level, error description  and clues where to find the error in the line below the error message

i use a free account on pythonanywhere.com that gives a limited amount of CPU Power so should there be a run on this it could get a bit slow in theory

14
i played around with openxcom mods for some time now
and decided to publish what i created
perhaps somebody find the stuff useful

i put all the files in zip file

IMHO the most interesting part is a python script that allows to generate complex mods with 2-3 lines
Code: [Select]
research=[x["name"] for x in orig["research"] if x["cost"]>0]
changes=dict(research=[])
for r in research:
    changes["research"].append(dict(name=r,cost=2))
mods["Cheat_FastResearch"]=changes
that one is one of my testing/cheat mods and sets all (normal) research cost very low (you can get to cydonia in a month) - writing that manually is tedious work

unfortunately i did not document anything but the part outside the modcreation itself is 30 lines therefore i see no need :)
you need python of course and the pyaml library https://pyyaml.org/


now the the mods i generated
there is a list of cheating/testing mods that are useful to test something later game if you need to start  a new game for your mod (WARNING can suck all the fun out of the game!)
Cheat_Fundingx10: multiplies starting funds and available nation-funds times 10
Cheat_Supersoldiers: all soldiers have 200 in all stats
Cheat_Bob_the_Builder: all facilities are build within 2 days
Cheat_FastResearch: all research is done in 1-2 days with 1 scientist
Cheat_SuperFacilities: psi/work/labroom,defence,storage, quarter, crafts is multiplied with 10
Cheat_NoDamageAlien: aliens and alien weapons do no damage (chrysalid still makes zombies)


Medikit_need_alien_and_room: the medikit needs 2 normal aliens, 1 terrorist and one of (EXAMINATION_ROOM, ALIEN_SURGERY, ALIEN_REPRODUCTION [see https://www.openxcom.com/mod/alien-reproduction]) researched until this is accomplished i use https://openxcom.org/forum/index.php?topic=1782.msg19567#msg19567


Break2Elerium: my first mod was a converter of "plasma clips" into elerium because i thought the use of the "terran plasma weapons" https://openxcom.org/forum/index.php?topic=1710.0 and one of the "plasma beam needs elerium"-mods could lead into shortage but it was manageable without this mod but it is a nice example haow to "Manufacturing several items from one piece of material" or using different (optional) source material to get the same item
there are 4 version with different elerium output/costs i use the 50%-version

Craft Research Needs UFOs: Ufoconstruction and the following crafts need up to 6 researched Engineer/UFOs to appear in the research list

Failed .. Research 1 to ..: Puts "empty" Research object to the navigators,medics,... you have to collect more of them to get things done -Failed NAVIGATOR Research 1 to 1 means for each existing mission there is one failed Mission a navigator can give during interrogation.

since the rul files are produced via script be aware the layout/format is slightly different than the normaly used xcomrulset-format but still valid.

have fun :)

PS:
thanks to all the people in irc for the help

15
Suggestions / inventory change
« on: April 02, 2014, 07:10:32 pm »
hi is it possible/easy to change the inventory screen to emulate a more xcom apocalypse like item assignment?
see picture
instead of showing each weapon - show a representative with a number
if you pick up an item it shows the number (in brackets) at the end of the description (also helps if the number is not good readable (fontcolor?) with that specific sprite)

one related annoying behaviour is that  the "ground" jumps back to the first page if i change the soldier
it is ok during the battle but in preparation i would prefer that the ground page stays the same

(i play 0.9 at the moment)

Pages: [1]