Jump to content

MBMGEMSG.MSG

From Galactic Empire wiki
Revision as of 22:27, 17 October 2026 by Manicpop (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

MBMGEMSG.MSG is the main message-source file distributed with classic Galactic Empire 3.2e. It mixes configurable options with menu text, command responses, NPC hails, formatting strings, and messages left over from earlier development. The compiled MBMGEMSG.MCV is what the game loads; see Configuring Galactic Empire for the editing and compilation process. ge-next uses MPOGEMSG.MSG instead.

For an option-by-option comparison of classic and ge-next defaults, use Main configuration reference. The large numbered item, shield, and phaser groups are at Item and equipment configuration. The class table is separate: MBMGESHP.MSG and Ship class configuration.

File layout

The opening configuration blocks contain BBS access keys, filenames, game limits, galaxy generation, weapon settings, scoring, and neutral-zone planet definitions. Indexed item and equipment blocks follow. The rest of the MSG source is chiefly player-visible text. Message identifiers are referred to by code and generated headers, so removing or reordering an entry is not the same as editing its wording.

The file also carries the optional main-menu entry configuration (OPTMENU, OPTTXT, OPTCHR), which displays MBMGEMNU.TXT. The GEMNU, GESEL, and FREEBIES fields are legacy BBS 5.x settings. Some text in MBMGEHLP.MSG is hard-coded rather than derived from these options; for example, HELP NEWPRICE must be updated separately if classic equipment prices change.

Historical quirks

In classic, the descriptions for ITMPR11 and ITMPR12 name mines and jammers in the wrong order. The runtime indexing is not reversed: slot 11 is jammers and slot 12 is mines. ge-next 0.3.3 corrected the descriptions without changing the prices. See the price table.

The stock classic PHATOWRP value is 5 even though the help text says 3; ge-next changed the default to 3. The classic galaxy boundary also does not quite match the inclusive radius suggested by UNIVMAX; see Classic bug: Galactic perimeter edge errors. These are examples of why the MSG source, help text, and actual code behavior should not be treated as interchangeable.

Unused messages

The distributed classic 3.2e file contains messages that have no normal gameplay path. Some have no code reference; others have a surviving call in disabled code or behind a condition normal play cannot reach. Absence of a direct identifier reference is not proof of disuse: WARPFST1–WARPFST4 and MTACC2, for example, are reached by arithmetic on an earlier message identifier and are not unused.

Ship and combat text

  • TPRCNT: "Enter warp factor (0 - 100)". The active WARP command reports usage or rejects a bad value instead of displaying this input prompt.
  • NOFIRES: "Sorry Sir, we cannot fire with the shields up." The firing routines have no active reference to this message.
  • CANTROT: "Sir, we cannot rotate while we are moving!!" The call remains behind a negative-speed check, but normal ship speed is nonnegative. The 3.2d release notes explicitly say ROTATE was made available while moving.
  • NEWSHP1: "WHAT!!!! You lost your last ship! Giving you another ship is against my better judgment. But since you insist...." The active no-ship path grants a starter ship without this remark.
  • NEWSHP2: "I am very sorry, but the Galactic Monetary Reserve Bank has marked you a credit risk due to your outstanding debt, and has reduced the cash advance you are permitted." This suggests an earlier or planned debt-aware replacement-ship path; the message alone does not establish that it shipped.
  • LOWFOOD and OUTFOOD: "The ships Quartermaster reports our food reserves are getting low, Sir!" and "The galley reports we are out of food Sir! The men are fighting over what little supplies are left. We must replenish our supplies soon!" These may have belonged to an intended ship-provisions system. Classic 3.2e does not issue these ship-food warnings.
  • ATTACKF9: "We have lost %s fighter(s) Sir!" The active fighter-attack path uses other casualty reports. See Classic bug: Planetary troop fire requires defending fighters.
  • TOPTEN1 and TOPTEN2: messages about slipping or rising to a position on the Top Ten list. No active rank-change announcement uses them.
  • RESET: "**** Hi score totals Reset ****" No active score-reset path displays it.
  • WELBACK: "Welcome back Commander %s, the con is yours..." The 3.2e boarding path uses WELCOM instead.
  • FLEET1 and FLEET2: "You currently have in your fleet..." and "You are being transported to your %s The %s..." They appear to be older fleet-selection wording; the active selection path uses FLEET3 and FLEET4.
  • NEW27: another "minimum charge of 1000 C's" message. The active shield and phaser paths use the identical NEW17 instead.
  • TRANSUP3: "Sorry Sir! We are not in orbit." It has no active call in the transfer-up path.

Scanners and reports

  • NOSCANS: "Sorry Sir! Sector scans are impossible in Hyperspace."
  • NOSCANH: "Sorry Sir! The Hyper Scanners only work when we are in Hyperspace."
  • NOSCANL: "Sorry Sir! The Long Range Scanners only work when we are in Hyperspace." Its surviving call is inside a disabled #ifdef NOTHING implementation of scan_hy().
  • SCAN17–SCAN23 (including SCAN17A): the older "Civilian Population", "Troops", "Missiles", "Torpedoes", "Ion Cannons", "Fighters", "Neutron Flux Pods", and "Food Lots" planet-scan lines. The active scan uses other summary messages.
  • SCAN26: "Hyperspace Scan (s:%d %d)". A SCAN HY command is documented as an addition in the 2.2b beta notes, and its source survives in 3.2e as disabled code. The earlier 2.0d notes also describe removal of a hyperspace scan; they do not establish when the later SCAN HY stopped being available.
  • SCAN27 and SCAN35: "The scanners cannot show planet detail from hyperspace" and the equivalent ship-detail refusal. These are consistent with the older hyperspace-scanning design, but their last working version is not established.
  • SCAN36: "Long Range Scan (s:%d)". An unused heading that may belong to an older long-range scan layout.
  • REP19–REP22B: fixed-format inventory lines pairing items such as torpedoes/missiles and jammers/mines. The active REPORT INVENTORY builds its item rows dynamically instead.
  • REP29: the "Debt" line in REPORT ACCOUNT. The 2.0d notes explicitly say that debt display was removed from that report.
  • USER01–USER04: "USER-ID ...... OPTION SELECTED", two line-status formats, and a user/status row. They resemble an earlier BBS user-activity display, but no surviving code establishes their precise purpose.
  • ADMIN03: an old item-row format for planetary accounting. The active ADMIN menu formats those rows directly instead.
  • ADMIN05: "Warnings to intruders....... %c". A warnings field exists in the planet record and is initialized to zero, but its display call is commented out and no setter was found. It may represent an abandoned feature; there is no evidence here that it was displayed in an earlier release.
  • MAIL1A: "No Information on this subject available." The active no-mail path uses MAIL1.
  • ADMIN2A: "We can't own a Wormhole!!!" The check remains in ADMIN, but normal play cannot orbit a wormhole to reach it.
  • SPY0A: "Sorry Sir, this ship is not equipped to launch a planetary attack". Despite its SPY identifier, this has no active SPY call; its exact intended use is uncertain. Perhaps an earlier implementation of the SPY command required the ship to have planetary attack capabilities.
  • SPY0B: "We can't spy on a wormhole!!!" The check remains in SPY, but normal play cannot orbit a wormhole to reach it.

See also