Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: code/fred2/sexp_tree.cpp
- ===================================================================
- --- code/fred2/sexp_tree.cpp (revision 9485)
- +++ code/fred2/sexp_tree.cpp (working copy)
- @@ -2643,6 +2643,7 @@
- case OPF_SHIP_EFFECT:
- case OPF_ANIMATION_TYPE:
- case OPF_SHIP_FLAG:
- + case OPF_NEBULA_PATTERN:
- return 1;
- case OPF_SHIP:
- @@ -4420,6 +4421,10 @@
- list = get_listing_opf_team_colors();
- break;
- + case OPF_NEBULA_PATTERN:
- + list = get_listing_opf_nebula_patterns();
- + break;
- +
- default:
- Int3(); // unknown OPF code
- list = NULL;
- @@ -5933,8 +5938,28 @@
- return head.next;
- }
- +sexp_list_item *sexp_tree::get_listing_opf_nebula_patterns()
- +{
- + sexp_list_item head;
- + head.add_data(SEXP_NONE_STRING);
- + /*for (size_t i=0; i < Storm_types.size(); i++)
- + {
- + head.add_data(Storm_types[i].name);
- + }*/
- +
- + for(int i=0; i<MAX_NEB2_BITMAPS; i++) {
- + if(strlen(Neb2_bitmap_filenames[i]) > 0) {
- + head.add_data(Neb2_bitmap_filenames[i]);
- + }
- + }
- +
- + return head.next;
- +}
- +
- +
- +
- // Deletes sexp_variable from sexp_tree.
- // resets tree to not include given variable, and resets text and type
- void sexp_tree::delete_sexp_tree_variable(const char *var_name)
- Index: code/fred2/sexp_tree.h
- ===================================================================
- --- code/fred2/sexp_tree.h (revision 9485)
- +++ code/fred2/sexp_tree.h (working copy)
- @@ -270,6 +270,7 @@
- sexp_list_item *get_listing_opf_mission_moods();
- sexp_list_item *get_listing_opf_ship_flags();
- sexp_list_item *get_listing_opf_team_colors();
- + sexp_list_item *get_listing_opf_nebula_patterns();
- int m_mode;
- int item_index;
- Index: code/globalincs/globals.h
- ===================================================================
- --- code/globalincs/globals.h (revision 9485)
- +++ code/globalincs/globals.h (working copy)
- @@ -42,9 +42,9 @@
- // DO NOT CHANGE THIS - IT WILL LIKELY BREAK FREESPACE2 PXO SUPPORT
- // TALK TO DAVE B FIRST
- // ****************************************************************
- -#define MAX_SHIP_CLASSES_MULTI 130
- +#define MAX_SHIP_CLASSES_MULTI 512
- -#define MAX_SHIP_CLASSES 250
- +#define MAX_SHIP_CLASSES 512
- #define MAX_WINGS 75
- Index: code/mission/missionparse.cpp
- ===================================================================
- --- code/mission/missionparse.cpp (revision 9485)
- +++ code/mission/missionparse.cpp (working copy)
- @@ -3426,8 +3426,8 @@
- for (j=0; j < sip->n_subsystems; ++j)
- if (!subsystem_stricmp(sip->subsystems[j].subobj_name, Subsys_status[i].name))
- break;
- - if (j == sip->n_subsystems)
- - Warning(LOCATION, "Ship \"%s\", class \"%s\"\nUnknown subsystem \"%s\" found in mission!", objp->name, sip->name, Subsys_status[i].name);
- + //if (j == sip->n_subsystems)
- + //Warning(LOCATION, "Ship \"%s\", class \"%s\"\nUnknown subsystem \"%s\" found in mission!", objp->name, sip->name, Subsys_status[i].name);
- }
- if (optional_string("$Damage:"))
- Index: code/parse/sexp.cpp
- ===================================================================
- --- code/parse/sexp.cpp (revision 9485)
- +++ code/parse/sexp.cpp (working copy)
- @@ -209,7 +209,7 @@
- { "num-ships-in-battle", OP_NUM_SHIPS_IN_BATTLE, 0, INT_MAX, SEXP_INTEGER_OPERATOR, }, //phreak modified by FUBAR
- { "num-ships-in-wing", OP_NUM_SHIPS_IN_WING, 1, INT_MAX, SEXP_INTEGER_OPERATOR, }, // Karajorma
- { "directive-value", OP_DIRECTIVE_VALUE, 1, 2, SEXP_INTEGER_OPERATOR, }, // Karajorma
- -
- +
- //Player Sub-Category
- { "was-promotion-granted", OP_WAS_PROMOTION_GRANTED, 0, 1, SEXP_BOOLEAN_OPERATOR, },
- { "was-medal-granted", OP_WAS_MEDAL_GRANTED, 0, 1, SEXP_BOOLEAN_OPERATOR, },
- @@ -625,9 +625,10 @@
- { "remove-sun-bitmap", OP_REMOVE_SUN_BITMAP, 1, 1, SEXP_ACTION_OPERATOR, }, // phreak
- { "nebula-change-storm", OP_NEBULA_CHANGE_STORM, 1, 1, SEXP_ACTION_OPERATOR, }, // phreak
- { "nebula-toggle-poof", OP_NEBULA_TOGGLE_POOF, 2, 2, SEXP_ACTION_OPERATOR, }, // phreak
- + { "nebula-change-pattern", OP_NEBULA_CHANGE_PATTERN, 1, 1, }, // Axem
- { "set-skybox-model", OP_SET_SKYBOX_MODEL, 1, 1, SEXP_ACTION_OPERATOR, }, // taylor
- - { "set-skybox-orientation", OP_SET_SKYBOX_ORIENT, 3, 3, SEXP_ACTION_OPERATOR, }, // Goober5000
- - { "set-ambient-light", OP_SET_AMBIENT_LIGHT, 3, 3, SEXP_ACTION_OPERATOR, }, // Karajorma
- + { "set-skybox-orientation", OP_SET_SKYBOX_ORIENT, 3, 3 }, // Goober5000
- + { "set-ambient-light", OP_SET_AMBIENT_LIGHT, 3, 3 }, // Karajorma
- //Jump Node Sub-Category
- { "set-jumpnode-name", OP_JUMP_NODE_SET_JUMPNODE_NAME, 2, 2, SEXP_ACTION_OPERATOR, }, //CommanderDJ
- @@ -3017,6 +3018,7 @@
- case OPF_SUN_BITMAP:
- case OPF_NEBULA_STORM_TYPE:
- case OPF_NEBULA_POOF:
- + case OPF_NEBULA_PATTERN:
- case OPF_POST_EFFECT:
- if (type2 != SEXP_ATOM_STRING) {
- return SEXP_CHECK_TYPE_MISMATCH;
- @@ -12007,6 +12009,15 @@
- neb2_eye_changed();
- }
- +void sexp_nebula_change_pattern(int n)
- +{
- + if (!(The_mission.flags & MISSION_FLAG_FULLNEB)) return;
- +
- + strcpy_s(Neb2_texture_name,(CTEXT(n)));
- +
- + neb2_post_level_init();
- +}
- +
- /**
- * End the mission.
- *
- @@ -21510,6 +21521,8 @@
- */
- void add_to_event_log_buffer(int op_num, int result)
- {
- + if (op_num == -1)
- + return; //How does this happen?
- char buffer[TOKEN_LENGTH];
- SCP_string tmp;
- tmp.append(Operators[op_num].text);
- @@ -22618,6 +22631,11 @@
- sexp_val = SEXP_TRUE;
- break;
- + case OP_NEBULA_CHANGE_PATTERN:
- + sexp_nebula_change_pattern(node);
- + sexp_val = SEXP_TRUE;
- + break;
- +
- case OP_END_MISSION:
- sexp_end_mission(node);
- sexp_val = SEXP_TRUE;
- @@ -23369,7 +23387,7 @@
- break;
- case OP_NUM_SHIPS_IN_BATTLE: // phreak
- - sexp_val = sexp_num_ships_in_battle(node);
- + sexp_val=sexp_num_ships_in_battle(node);
- break;
- // Karajorma
- @@ -24645,6 +24663,7 @@
- case OP_DEBUG:
- case OP_ALTER_SHIP_FLAG:
- case OP_CHANGE_TEAM_COLOR:
- + case OP_NEBULA_CHANGE_PATTERN:
- return OPR_NULL;
- case OP_AI_CHASE:
- @@ -26569,6 +26588,9 @@
- case OP_NEBULA_CHANGE_STORM:
- return OPF_NEBULA_STORM_TYPE;
- + case OP_NEBULA_CHANGE_PATTERN:
- + return OPF_NEBULA_PATTERN;
- +
- case OP_NEBULA_TOGGLE_POOF:
- if (argnum == 1) return OPF_BOOL;
- else return OPF_NEBULA_POOF;
- @@ -28181,6 +28203,7 @@
- case OP_REMOVE_SUN_BITMAP:
- case OP_NEBULA_CHANGE_STORM:
- case OP_NEBULA_TOGGLE_POOF:
- + case OP_NEBULA_CHANGE_PATTERN:
- case OP_SET_AMBIENT_LIGHT:
- return CHANGE_SUBCATEGORY_BACKGROUND_AND_NEBULA;
- @@ -31710,6 +31733,12 @@
- "\t2:\tA True boolean expression will toggle this poof on. A false one will do the opposite."
- },
- + { OP_NEBULA_CHANGE_STORM, "nebula-change-pattern\r\n"
- + "\tChanges the current nebula background pattern (as defined in nebula.tbl)\r\n\r\n"
- + "Takes 1 argument...\r\n"
- + "\t1:\tNebula background pattern to change to\r\n"
- + },
- +
- {OP_SCRIPT_EVAL_NUM, "script-eval-num\r\n"
- "\tEvaluates script to return a number"
- "Takes 1 argument...\r\n"
- Index: code/parse/sexp.h
- ===================================================================
- --- code/parse/sexp.h (revision 9485)
- +++ code/parse/sexp.h (working copy)
- @@ -109,6 +109,7 @@
- #define OPF_MISSION_MOOD 82 // Karajorma - Moods determine which builtin messages will be sent
- #define OPF_SHIP_FLAG 83 // Karajorma - The name of a ship flag
- #define OPF_TEAM_COLOR 84 // The E - Color settings as defined in Colors.tbl
- +#define OPF_NEBULA_PATTERN 85 // Axem - Full Nebula Background Patterns, as defined in nebula.tbl
- // Operand return types
- #define OPR_NUMBER 1 // returns number
- @@ -707,6 +708,7 @@
- #define OP_NAV_UNSELECT (0x001a | OP_CATEGORY_CHANGE2 | OP_NONCAMPAIGN_FLAG) // Talon1024
- #define OP_ALTER_SHIP_FLAG (0x001b | OP_CATEGORY_CHANGE2 | OP_NONCAMPAIGN_FLAG) // Karajorma
- #define OP_CHANGE_TEAM_COLOR (0x001c | OP_CATEGORY_CHANGE2 | OP_NONCAMPAIGN_FLAG) // The E
- +#define OP_NEBULA_CHANGE_PATTERN (0x001d | OP_CATEGORY_CHANGE2 | OP_NONCAMPAIGN_FLAG) // Axem
- // defined for AI goals
- #define OP_AI_CHASE (0x0000 | OP_CATEGORY_AI | OP_NONCAMPAIGN_FLAG)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement