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.

Messages - darkestaxe

Pages: 1 2 [3] 4 5 ... 12
Programming / Re: Upgrading to the nightly
« on: May 13, 2015, 05:03:56 am »
Here's a few ideas for implementing mod options without making it too complicated.

Mods could have an options.xml file (not required) that would look something like this:
Code: [Select]
/* Only one string */
<option "Include original grenade (don't replace)">Rulesets\KeepGrenade.rul</option>

/* or multi-language */
<option STR_KEEP_GRENADE>Rulesets\KeepGrenade.rul</option>

This could later be expanded to allow for things like:
Code: [Select]
<optiongroup "Hyperwave Decoder Options:">
  <option "Hyperwave Decoder doesn't add any detection">NoDetect.rul</option>
  <option "Hyperwave Decoder range is unlimited but only has 10% detection">InfiniteRange.rul</option>
  <option "Same as Vanilla"></option>

I would be in favor of the xml approach because it would be a lot easier for modders then YAML. But since OXC already uses so much YAML, another approach would be to incorporate the options into Metadata.yml. The descriptions would only be needed if there's no corresponding entries in a language file.
Code: [Select]
     Description: "Include original grenade (don't replace)"
     Ruleset: KeepGrenade.rul
     Description: "Hyperwave Decoder Options:"
     -  Name: STR_NO_DETECT
        Description: "Hyperwave Decoder doesn't add any detection"
        Ruleset: NoDetect.rul
        Description: "Hyperwave Decoder range is unlimited but only has 10% detection"
        Ruleset: InfiniteRange.rul
     -  Name: VANILLA
        Description: "Same as Vanilla"
        Ruleset: []

My final idea would be to allow options to be externalized from metadata.yml to options.rul or options.xml, and allow the exact same code as above, but also allow things like:
Code: [Select]
    hyper: STR_HYPER
    radarRange: STR_RANGE
    radarChance: STR_CHANCE
  -  name: STR_HYPER
     description: "Extra Hyperwave-info in radar screens:"
     type: bool
     default: true
  -  name: STR_RANGE
     description: "Maximum Detection Range (1200 for whole globe):"
     type: int
     default: 12000
  -  name: STR_CHANCE
     description: "Percent chance of detecting an undetected UFO each scan:"
     type: int
        [0, 100]
     default: 10
or with an options.xml
Code: [Select]
    hyper: <bool STR_HYPER>true</bool>
    radarRange: <int STR_RANGE>1200</int>
    radarChance: <int STR_CHANCE min=0 max=100>10</int>

Keep in mind that with each of these suggestions modders are still able to have optional rulesets just like before using the grenade example. As a matter of making things easier for modders I personally would greatly prefer XML because it's not evil. XML does not sneak into a persons room at night to count and judge all your whitespace chars like some kind of anal-retentive nazi. XML also doesn't take sides in the bloody line-break war. XML hasn't chosen /n as its glorious standard and doesn't execute impure (/r or /n/r) line-breaks in the name of UNIX supremacy.

Tools / Missing palettes in PCKview
« on: May 12, 2015, 05:05:09 am »
PCKview has a list of 8 palettes, none of which are correct for the base facility icons in BASEBITS.PCK.

How do we edit these?

Programming / Re: Upgrading to the nightly
« on: May 10, 2015, 01:18:13 am »
In case it matters to anyone, I'm also on Win 7 x64 and I have no problems switching between Adlib, MIDI, and OGG.

Version:2015-05-08 0634



Because I totally did didn't do that... and TOTALLY did didn't fix it by reconfigging myself on my old back-up copy of OpenXcom
Haha! Who me? :D

But I wouldn't recommend sharing the config between old and new. New OXC has different config options and I made a mess of a config file by doing oldOXC -> newOXC -> oldOXC -> newOXC on it.

Open Feedback / We should probably automatically unload broken mods
« on: May 08, 2015, 07:31:32 am »
I installed Improved Hand Obs mod incorrectly and the game crashed with a useful error, useful to any of us at least. Now most of us regulars here can solve these problems quick and easy with a text editor, I think it took me about 4 mins to just fix the mod but I could just as easily have disabled/deleted it, or worst case scenario I would have deleted my config file.

Let's pretend I'm not a geek and I don't know shit about x-com or programming.

"HAALLP! I just downloaded and got my files from steam and my xcom worked great. ;D ;D ;D But I put a mod on and now it doesn't.  :(  And every time I load the game it just has the same error.  :'(. I deleted the game and re installed it and it's still happening."

I dunno Darkestaxe, did u delete ur config file, or the mod?

"Where's that? Will I have to start over with rifles?"

Not the thing I am saying though. I am speaking about the scout (not the ufo type) runs that are been made to discover your base prior to launching the attack. If you destroy the scouting UFOs, the mission is been reset. However if they succed in locating once, you will have visitors in the base so to speak on the schedule for the rest of the game.

Ah, well now we know how long 20 galactic standard stardates is.

Programming / Re: Upgrading to the nightly
« on: May 08, 2015, 04:40:19 am »
I think he meant can I give you the (built) dll.  Sure -- it will take a few hours, the windows VM I have for development is *not* fast.  If you want an OSX or a Linux build, I can get it to you much faster.

Ya, I should have been more clear. If Myk gives Pheonix the fixed Adlib file as a DLL instead of C++ code... pheonix could use it.

Programming / Re: Upgrading to the nightly
« on: May 08, 2015, 04:14:20 am »
sure, stress testing would be appreciated at this point

I was able to run 3 OXC processes at once with the new build, with max SSAA/SSAO + Ultra settings, and kept a steady 60FPS on the geoscape. However, my heat-sink fan turned on with the third simultaneous process so I'm not sure how long that would have lasted, but then I am using a crummy old netbook.

Ya I'm a smartass.

This is way cool.  Warboy now needs to change his personal text to "Breaker of Mods". :)

Ya WTH Warboy, why are my saves still working!?! Seriously though, I'm loving this 'break everything all at once' approach.

And really nice instructions from myk002. Big THX all around guys and great work!

I'm not quite sure what to do. I've got zero experience with coding. Maybe I should just wait for a nightly.

Can you give him the .dll?

Open Feedback / Re: What are the current limitations on HiRes
« on: May 07, 2015, 08:10:13 am »
So I've been looking at the code and xracers work and I realized a few things.

1. There is much more ambition in the community at large for this than I had anticipated and the artwork needed for a HD openxcom will probably just about materialize if the code supports it.

2. Whether it's a window or a arrow-button, all of the draw code is basically clones of each other.

3. Anyone could fork and start making this or that part HD in a variety of ways, not just increasing the resolution of the art assets, but it will never really work out.

I think the only hope for xracers approach is if after 2.0 Supsuper decides to start externalizing stuff and/or replacing all the code that works just one way. My guess is that Supsuper is already planning to do just that.

Anyway I'm willing to offer my help as an inexperienced wannabe programmer that wants to learn to C++ to anyone wanting to try something like that.

I am also pretty certain that once the base gets detected it gets detected (at least in vanilla) permanently. What gets reset is the attempt to detect if you stall the operation before it succeeds. At least that would explain why I get battleships monthly hitting me without having any other craft appearing.

There was a bug that caused the attack failed flag not to be set when the attacking battleship was destroyed by base defense facilities. Without the bug or if you shoot the attacker down with avengers, or let it land and defend your base the alien retaliation mission would end and the aliens would have to start a new retaliation mission. That's part of why so many people wouldn't even build base defense facilities.

Programming / Re: Paletted 8bit -> 24bit shading.
« on: May 05, 2015, 08:01:25 am »
I'm looking at that gif and I'm with FLIR on this one. That's going to make a huge difference in-game even if it's a subconscious one.

If I understand Volutar correctly then the lame version is after doing the whole conversion thing with 5 versions of each tile sprite, so I'm assuming it's even worse before that. Either way I don't see many moders being able to correctly shade different light levels for ambiance.

Would it be possible to apply lighting to 3 different alpha channels for red green and blue, and then use transparency to apply the gradients differently to different colors?

Maybe someone could make a 8-bit X-COM-color GIMP mod, but I just don't see that working out really well.

Those are vanilla armor settings on Superhuman Difficulty.

Those are vanilla armor settings on all difficulties if your actually an Ethereal Commander. However, as an actual Ethereal Commander I can assure you that we do not have 116/87 Psy. We have 75/58 on superhuman.

Are you using a re-balance mod? Cause I think I like it.

Open Feedback / Re: Reaper in the closet
« on: May 05, 2015, 05:36:47 am »
It's a bug in the cloning process. All clones are supposed to be neutered or spayed, but just like with cats and dogs some of the behaviors persist.

Open Feedback / What are the current limitations on HiRes
« on: May 05, 2015, 05:31:12 am »
I know that high res was thrown around a lot a few years ago, and as best as I remember the decision at the time was that the way the graphics were being implemented would require some pretty major rewrites to support higher base resolutions.

Codewise what would be involved in converting OXC to allow mod support for 2x2 resolutions for:
* battlescape tiles and object textures (like soldiers, etc)
* the geoscape globe textures for terrain types
* background images for things like the equip-screen or buy/sell screen
* Information text in lists like buy/sell screens
* Formatted information like screens like the soldier stat screen
* Menus and dialogues like the battlescape control bar or the pop-up when you click a UFO on the globe

Further what would be involved in converting OXC to display all screens at the current resolution when using things like 1/2 display. So that bases and equip screens wouldn't be all super small.

Just to clarify I'm under no illusion that Warboy and Supsuper are going to drop everything and switch gears so that Warboys hammer can smash OXC into HD-COM: Enemy Revealed.

Fan-Stuff / Re: How the...
« on: May 05, 2015, 12:00:50 am »
Well look what got necro'd. I just happen to have found some leftovers in a can. Not sure if they'll be useful, I don't think any of it's still alive or anything.

I scraped this out of one can:

Code: [Select]
https:/// **** ORPHAN PARTS ****

  https:// select all tiles that can be reached by current unit
  https:// select all non-pathable tiles adjacent to currently selected tiles, replacing current selection
  https:// order tiles from weakest to strongest
  https:// select the most distant tile that is as weak as the weakest
  https:// attempt to attack tile.
  https://      if attack fails, flag tile as non-reachable
  https://      if attack succeeds but does not destroy tile, continue attacking
  https://      if tile becomes path-able, attempt to resume normal pathing tactics

https://note: before quitting: check whether targeted tiles can be destroyed by equipped weapons

  https:// Select 'groupA' all tiles along 1x1 path to destination
  https:// select 'groupB' all adjacent tiles to groupA that are non path-able, indexing to groupA tiles
  https:// select 'groupC' all tiles opposite GroupA tiles that are non-pathable from indexed GroupB tiles , indexing to groupA tiles
  https:// deselect all groupA tiles that are lacking an indexed groupB tile IF the next or previous tile also lacks a groupB tile
  https:// repeat with GroupC instead of groupB tiles
  https:// Loop through each groupB and groupC tile, flagging to pathable and attempting to path a 2x2 to destination.
  https:// if a success is made, attempt to destroy the offending tile and quit.
  https:// If destination was not reached and the total groupB and groupC tiles are less then 8, test all combinations of tiles
  https:// If any combination succedes, select the combination with the lowest number of tiles,
  https://    lowest maximum single tile strength, and lowest total strength of all tiles. Attempt to destroy them and then quit.
  https:// If the battle hasn't begun, flag spawn point as Jailed2x2 and quit.

https://Note2: 2x2 units should be placed in non-jailed spawn points before battle start, elsewhere in code.

I scraped this out of the other can:

Pages: 1 2 [3] 4 5 ... 12