Commit Graph
53 Commits
Author SHA1 Message Date
Goober5000 b6998a3e21 make Intel stuff dynamic
1) Make Intel_info a vector instead of a fixed-size array
2) Make intel descriptions SCP_string so they can be any length
2020-08-18 14:53:01 -04:00
Goober5000 709208bff4 address feedback 2020-07-21 14:46:06 -04:00
Goober5000 31fa2ac444 cleanup of tech room, and scripting stuff
1) Upgrade the pilot file code to correctly save flags whether entries are added *or* removed
2) Make the tech-db/tech-db-multi ship flag handling consistent
3) Add scripting support for intel entries
4) Add scripting support for adding and removing entries from the tech room
5) Minor cleanup
2020-07-15 13:27:27 -04:00
Goober5000 c9df8a13f1 add functions to remove the clutter of static casts for ship and weapon info vectors 2020-03-14 13:02:12 -04:00
Goober5000 20835adef6 convert Weapon_info to a SCP_vector 2020-03-05 19:12:43 -05:00
asarium a13b503b83 Add more features for the new Options UI
The largest new feature is that it is now possible to include other
files into the RML by using the "include" tag. This is useful for making
markup files more modular.

Also added some more options for existing things (e.g. built-in detail
options).
2020-02-08 13:28:53 +01:00
Goober5000 0f020abf3d use a flagset 2019-12-04 21:26:05 -05:00
Goober5000 425a6e67d5 add $Never Viewable flag for cutscenes
There are now three states for cutscenes: always viewable, where they will appear no matter what; never viewable, where they will never appear; and viewable, which can be modified during the campaign.  Currently cutscenes will go from not-viewable to viewable, but organizing the flags this way will allow a future feature to make cutscenes not-viewable, if that is desired.

There's also a small edit to csv_convert to guard against array overflows.  Not directly related to the feature but it's in the same place and affects the same code.
2019-12-02 18:11:29 -05:00
MageKing17 9770d7f59b Make .csg loading code check rp_dist, just like .plr loading does.
When loading a .plr file, HUD_config.rp_dist is loaded and then sanity-checked; if the value is out of bounds, a Warning is generated and RR_INFINITY assigned. HUD_config.rp_dist is also loaded when loading a .csg file, however the sanity check isn't present; this copies the block over so the behavior is identical.
2019-10-17 13:41:12 -07:00
asarium 7173299ca7 Add new libRocket UI system
This new system allows to create a user interface that goes beyond the
existing UI system.
2018-09-16 13:55:29 +02:00
asarium 20925f23cc Use new cfile location feature for pilot files
This was previously hard-coded but it is now possible to solve this
using the new location API.
2018-07-17 17:20:55 +02:00
m!m ccc727a148 Merge pull request #1631 from Karajorma/Feature/EternalVariables
Feature/eternal variables
2018-07-10 15:15:29 +02:00
Karajorma 4e7756d29f Fix errors in clang-tidy 2018-07-10 17:02:47 +08:00
asarium 367825b1e0 Don't make invalid data in campaign file fatal
The previous code simply set a boolean flag to indicate that the data is
"invalid" which failed the campaign loading operation. With these
changes, those entries will simply be skipped. That can happen if a mod
added or removed a ship or weapon class or if two campaigns share the
same campaign name.
2018-07-08 10:29:59 +02:00
Karajorma 0ce2908ce6 Fix the issues from the review and also fix an issue with qtFred 2018-07-05 12:20:30 +08:00
Karajorma 9ac97f2422 Eternal Variables initial commit - Saving non-eternals on restart or mission quit not working properly. 2018-02-24 17:52:08 +08:00
asarium 2f5c690175 Fix warnings from new compiler versions 2016-09-05 11:30:03 +02:00
asarium 41e370fd2e Add option for writing pilot files in JSON format
This is a new implementation of the JSON dumping which was already
proposed in #22 but this version tries to allow implementing both
reading and writing JSON files without having to change the existing
code too much. This is done by using an abstract class to hide the
differences between writing the JSON and binary files.

This is currently only capable of writing the files but not reading them
so if the option is enabled all changes to the pilot file are lost. I
will implement reading after this PR has been merged since I would like
to reduce the amount of changes that need to be reviewed.
2016-08-19 18:48:29 +02:00
Fabian Woltermann 127976cd74 Weapon info flags conversion (#851) 2016-08-18 23:17:41 -07:00
Fabian Woltermann 770fce8de5 Bitset flags -- take 2 (#775)
This introduces a new mechanism for handling bit flags. Instead of using an int (or two, or three) to write bits into, this uses the std::bitset in a wrapper class that accepts an enum class as input. This means that certain classes of errors we've had a few of in the engine, where a coder used the wrong set of flags or checked them against the wrong variable (SF_STEALTH vs SIF_STEALTH, for example) can now be detected at a compiler level rather than not at all.
2016-08-12 16:13:50 -07:00
m!m 22c0255277 Fix a bunch of 64-bit MSVC warnings (#709)
* Fix a bunch of 64-bit warnings

* Fix Linux compilation error

* Fix Mac error

* Fix some issues

* Fix more GCC warnings

* Remote unwanted change

* Remove accidentally readded file

* Fix wrong limit check

* Use BEAM_INDEX macro for getting beam object index

* Fix 32-bit warning

* Use BEAM_INDEX instead of pointer arithmetic
2016-08-09 11:08:54 -07:00
asarium f91c681ee1 Add improved joystick API
This API allows to handle events from multiple joysticks but currently
only the events from the configured joystick are used.
2016-08-02 20:08:21 +02:00
asarium 1bcd5400d3 Move build system to CMake 2016-07-22 12:07:19 +02:00
Peter Mitsis 57c16bd58a toolchain: Replace __attribute__((__unused__)) with __UNUSED
Abstracting this allows for the possibility of other compilers to have their
own implementation of marking a variable as potentially unused without using
the __attribute__ keyword (which is not supported on all compilers).

Signed-off-by: Peter Mitsis <[email protected]>
2015-11-22 11:32:07 -05:00
MageKing17 64c9b272e7 Merge branch 'master' of ssh://github.com/scp-fs2open/fs2open.github.com into ship_info
Conflicts:
	code/pilotfile/pilotfile.cpp
2015-08-19 11:53:25 -07:00
asarium 509d11c29d Fix format warning in csg.cpp 2015-08-19 11:26:29 +02:00
MageKing17 439ea76475 Adding static_cast<int>() to locations pointed out by m!m. 2015-08-12 14:39:12 -07:00
Echelon9 eb739e2a9b Simplify duplicative pilotfile/ includes, which are in pilotfile/pilotfile.h 2015-06-22 20:24:31 +10:00
Echelon9 c5493bb480 Scripted sort and uniq on (internal) project includes. Improves search time and as a by product removed a number of duplicative includes. 2015-06-22 20:24:30 +10:00
MageKing17 bc0c7cf4c5 Vectorization of Ship_info.
Converts Ship_info from a ship_info[] to an SCP_vector<ship_info>. ship_info now has proper constructors, assignment operators, and a destructor. Num_ship_classes removed; various references to Num_ship_classes and/or MAX_SHIP_CLASSES (which remains for various other structures which need it) changed to Ship_info.size() instead.

This doesn't make the ship class limit dynamic, but it is a preparatory step to get there.
2015-04-27 00:01:22 -07:00
niffiwan 179c2ceb82 Fix mantis 3065 (clear RA data)
Clear red alert data when resetting campaign progress, changing
campaigns and switching pilots
In CSG read, move RA data clear from the read RA section to the data
reset function (i.e. clear if CSG is valid, not if section contains
data)

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11007 387891d4-d844-0410-90c0-e4c51a9137d3
2014-08-17 18:50:12 +10:00
niffiwan f5199ea122 Fix mantis 2929
Save shortcut rank to the csg flags & bump csg version
Add function to read the csg rank during pilotfile::verify()
Reorder 'find pilots' call so that Game_mode is valid for verify

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10818 387891d4-d844-0410-90c0-e4c51a9137d3
2014-06-19 20:12:53 +10:00
niffiwan 06b0eb8d35 Fix mantis 3051 (From MageKing17)
Only store CPVs on accepting mission results
Add copy of CPVs to missioncampaign and pilot .csg so redalert missions
can rollback the CPVs if required

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10786 387891d4-d844-0410-90c0-e4c51a9137d3
2014-06-09 13:48:53 +10:00
niffiwan bd64590ec1 Fix mantis 2981
Read & write pilot loop data in the same order

git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10665 387891d4-d844-0410-90c0-e4c51a9137d3
2014-05-15 18:24:12 +10:00
niffiwan 08280e3d9e Remove gcc warnings (unused & shadow)
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10517 387891d4-d844-0410-90c0-e4c51a9137d3
2014-03-30 12:39:54 +10:00
The_E d36fc2a88e Remove per-campaign detail settings
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10351 387891d4-d844-0410-90c0-e4c51a9137d3
2014-01-31 17:26:00 +10:00
Goober5000 7248acc004 use a copy method rather than memcpy to clone stats (Mantis #2922)
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9813 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-26 18:51:35 +10:00
Goober5000 97e18cd758 various fixes for pilotfile stats
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9810 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-26 18:51:34 +10:00
Goober5000 7f90f5c674 make MAX_MEDALS dynamic
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9799 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-20 19:27:03 +10:00
Goober5000 fcf6d56774 fix tech-add-intel-xstr to actually localize from tstrings.tbl (Mantis #2919)
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9798 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-20 19:23:19 +10:00
Goober5000 ebe1043a13 add tech-add-intel-xstr, and modify intel_info_lookup to properly translate intel entries (fixes Mantis #2919)
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9797 387891d4-d844-0410-90c0-e4c51a9137d3
2013-09-20 19:23:19 +10:00
Goober5000 509f509347 MSVC6 compatibility
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9710 387891d4-d844-0410-90c0-e4c51a9137d3
2013-07-26 08:14:30 +10:00
niffiwan 46796a59c8 Fix for mantis 1326: add & handle "not present" state for red alert ships
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9689 387891d4-d844-0410-90c0-e4c51a9137d3
2013-06-11 19:22:17 +10:00
niffiwan 049b3205ef Fix for mantis 2880: handle -1 red alert departed ship indexes
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9688 387891d4-d844-0410-90c0-e4c51a9137d3
2013-06-11 19:22:17 +10:00
Echelon9 af5928aa70 Fix Mantis 2859: Game crashes if mod is changed with the same pilot in use. From niffiwan.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9673 387891d4-d844-0410-90c0-e4c51a9137d3
2013-06-11 19:22:16 +10:00
niffiwan 9c5fd447fc Fix for mantis 2855: fix off-by-one, add negative index check, empty invalid slots & enable mprintfs
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9664 387891d4-d844-0410-90c0-e4c51a9137d3
2013-06-11 19:22:15 +10:00
niffiwan 78cb7cc039 Fix mantis 2753: save csg just before mission starts read loadout indexes into int instead of uint & ensure -1 is not used as array index initialise Player_loadout struct during FSO start
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9657 387891d4-d844-0410-90c0-e4c51a9137d3
2013-06-11 19:22:15 +10:00
niffiwan b8c625d589 log the correct CSG version
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@9652 387891d4-d844-0410-90c0-e4c51a9137d3
2013-06-11 19:22:15 +10:00
niffiwan 414ab43e64 Fix mantis 2832: conversion functions now use certain consts from the new pilot code when exporting *only*
git-svn-id: svn://svn.icculus.org/fs2open/trunk@9624 387891d4-d844-0410-90c0-e4c51a9137d3
2013-04-14 13:00:35 +10:00
niffiwan 61bf714c51 Fix mantis 2815: store single/multi squad names and images separately (in csg/plr respectively)
git-svn-id: svn://svn.icculus.org/fs2open/trunk@9622 387891d4-d844-0410-90c0-e4c51a9137d3
2013-04-14 13:00:35 +10:00