Commit Graph
24 Commits
Author SHA1 Message Date
Kaloyan Chehlarski b1a861b50d NANCY: JANITORIAL: Fix trailing whitespace/tabs 2024-02-19 20:46:17 +01:00
Kaloyan Chehlarski 2e22962909 NANCY: Add support for TextBoxWrite with no string
Somewhere around nancy9 (may happen earlier, too),
the TextBoxWrite record added support for reading its
string from the Autotext chunk.
2024-02-11 22:53:22 +01:00
Kaloyan Chehlarski af2ff22907 NANCY: Split data-related records to separate file
Created a new header file for action records that mainly
serve to manipulate data. This is done in preparation for the
addition of SetValue, SetValueCombo, and ValueTest.
2024-02-07 23:15:23 +01:00
Kaloyan Chehlarski f5311cfe87 NANCY: Expand TableData struct
From nancy8 on, a new method of writing and evaluating
data started being used. This commit expands the existing
TableData struct to accommodate it.
2024-02-07 23:15:23 +01:00
Kaloyan Chehlarski fde77e4312 NANCY: Implement custom cursors
Added support for the two (four) custom cursor types.
It's unclear where exactly these get used, but it's most likely
in some puzzles.
2024-02-04 00:32:40 +01:00
Kaloyan Chehlarski a73d5d8106 NANCY: Implement win game event flag
Added a feature that stores whether the player has won
the game at least once, and activates a specific event flag
if so. This may or may not enable easter eggs in the
game data, but definitely affects the (still unimplemented)
quotes easter egg in the version screen.
2024-01-16 22:26:55 +01:00
Kaloyan Chehlarski 40fb2f8f60 NANCY: Ad button fixes
Fixed several issues with the nancy7 ad button:
- the sound in the main menu no longer cuts out when
returning from the ad
- an ad scene now never ends up in a second chance save
- going to the ad 2 times in a row does no longer continues
the game instead.
Also, the GotoMenu record now always forces the player
back to the menu, even when original menus have been
disabled; the old behavior never made sense.
2024-01-11 23:04:14 +01:00
Kaloyan Chehlarski 56b48f6186 NANCY: Add GetEngineData macro
Added a macro that hides away the ugly casts whenever
an EngineData object is requested.
2023-10-12 12:42:28 +03:00
Kaloyan Chehlarski 67d36e46b7 NANCY: Add support for nancy7 special effects
The SpecialEffect action record got some significant changes
in nancy7, including a new type of fade, and the removal
of the predefined number of frames to fade. Testing with the
original is tough, since it runs way too fast on modern PCs,
and the new fade type is never actually used properly, so
the current implementation is only an approximation. Also,
I've discovered that prior to these changes the entire screen
got crossfaded, so the screenshotViewport() function is now
entirely removed.
2023-10-07 14:45:22 +03:00
Kaloyan Chehlarski d9e0bc954a NANCY: Move inventory-related records
Moved all ActionRecords related to the inventory to their
own source file.
2023-10-03 17:58:28 +03:00
Kaloyan Chehlarski 57c9f5f203 NANCY: Implement EnableDisableInventory
Implemented an action record type responsible for making
a specific item temporarily unusable.
2023-10-03 17:58:28 +03:00
Kaloyan Chehlarski b0bd3f1c3f NANCY: Implement viewable items in nancy7
Added support for the new type of item introduced in nancy7,
which, instead of getting picked up, transports the player to
a new scene with a close-up view of the item.
2023-10-03 17:58:28 +03:00
Kaloyan Chehlarski 8b473098aa NANCY: Implement HotSceneChangeTerse
Added support for a short variant of Hot1FrSceneChange,
which combines all the directional scene changes into one.
Due to the weird way the data is combined, significant
changes to the way ActionRecords are created had to be made.
2023-10-03 17:58:28 +03:00
Kaloyan Chehlarski 824ba46990 NANCY: Implement terse EventFlags variants 2023-10-03 17:58:27 +03:00
Kaloyan Chehlarski 7aae7ec661 NANCY: Implement GotoMenu
Added support for an action record that boots the player
to the main menu.
2023-10-02 12:19:31 +03:00
Kaloyan Chehlarski 206a9b3285 NANCY: Add support for nancy6 AddInventoryNoHS
nancy6 added some additional functionality to the
AddInventoryNoHS record, which is now supported.
2023-10-01 13:20:35 +03:00
Kaloyan Chehlarski 82c3d2ae0b NANCY: Implement table indexing record types
Added support for three different action records types
(TableIndexOverlay, TableIndexPlaySound, and
TableIndexSetValueHS), all of which use nancy6's newly-
introduced TABL chunk, which describes a table of values
that can be changed through interaction. This is used
in nancy6's museum narrations puzzle.
2023-09-24 17:43:28 +03:00
Kaloyan Chehlarski 09a21ad755 NANCY: Set correct default textbox font
Modified the Textbox code so the conversation font is no
longer the default, but rather has to be requested by
Conversation types. This fixes the nancy6 tutorial having
a blue highlighted text while explicitly needing red.
2023-09-20 16:16:22 +03:00
Kaloyan Chehlarski 6cfc805477 NANCY: Rename data struct 2023-09-20 16:16:21 +03:00
Kaloyan Chehlarski 547cc34efe NANCY: Fix Coverity issues 2023-09-19 17:40:49 +03:00
Kaloyan Chehlarski fa522ff939 NANCY: Move hypertext handling outside Textbox
Added a separate class for handling hypertext (tagged
text used in conversations, etc) in preparation for the
addition of Autotext, which will also use it.
2023-09-19 17:38:24 +03:00
Kaloyan Chehlarski ba5696786f NANCY: Implement InventorySoundOverride
Implemented the action record type responsible for
overriding the default "I can't" sound for a specific item.
Also implemented closed captioning for the same use
case, since it had previously been overlooked.
2023-09-16 17:04:37 +03:00
Kaloyan Chehlarski abc4168433 NANCY: Properly pause all scene sounds
Fixed an issue where certain sound channels wouldn't get
paused when changing state. Collapsed the pause/unpause
functions inside Scene into a single function, and placed it
inside SoundManager.
2023-09-16 13:14:52 +03:00
Kaloyan Chehlarski aecaf3591f NANCY: Reorganize ActionRecords
Moved all puzzle action records to a separate folder. Split
recordtypes.h into three different files, depending on record
function: navigation, sound, and miscellaneous.
2023-09-12 19:43:30 +03:00