Commit Graph

361 Commits

Author SHA1 Message Date
Matthew Stewart
bf1e125fa3 STARTREK: Remove trailing backslash in module.mk 2018-08-09 08:37:30 +02:00
Matthew Stewart
dfb3bc586e STARTREK: Move text out of header file
For some reason this was inflating the executable size.
2018-08-09 08:37:30 +02:00
Matthew Stewart
abf711a4d3 STARTREK: text.cpp -> textbox.cpp 2018-08-09 08:37:30 +02:00
Matthew Stewart
8970909318 STARTREK: Reorganize includes in room.h
This should avoid the costly rebuild of everything in the 'rooms/'
folder, at least sometimes...
2018-08-09 08:37:30 +02:00
Matthew Stewart
42b228144a STARTREK: Allow engine to run without voc files 2018-08-09 08:37:30 +02:00
Matthew Stewart
f412328181 STARTREK: Implement text input boxes
Needed for SINS mission with the keypads
2018-08-09 08:37:30 +02:00
Matthew Stewart
b2213cac9b STARTREK: SINS1 2018-08-09 08:37:30 +02:00
Matthew Stewart
ae6c86bc7a STARTREK: Implement save loading from launcher 2018-08-09 08:37:30 +02:00
Matthew Stewart
23b3782b52 STARTREK: SINS0 2018-08-09 08:37:30 +02:00
Matthew Stewart
5660ce8134 STARTREK: Fix .BAN file rendering behind textboxes 2018-08-09 08:37:30 +02:00
Matthew Stewart
2090417612 STARTREK: Move save/load code for rooms to structs 2018-08-09 08:37:30 +02:00
Matthew Stewart
e3f00320ad STARTREK: Fix elasi guard not shooting Kirk in TUG 2018-08-09 08:37:30 +02:00
Matthew Stewart
919db23841 STARTREK: Implement "BAN" files.
These are background animations in various rooms, purely visual.
2018-08-09 08:37:30 +02:00
Matthew Stewart
b1fa6126cc STARTREK: Link away missions together, temporarily 2018-08-09 08:37:30 +02:00
Matthew Stewart
5572525791 STARTREK: Save mission-specific variables 2018-08-09 08:37:30 +02:00
Matthew Stewart
d23965e274 STARTREK: Rename tug2 room-specific vars 2018-08-09 08:37:30 +02:00
Matthew Stewart
b8c244da87 STARTREK: Clean up room-specific vars in mission 1 2018-08-09 08:37:30 +02:00
Matthew Stewart
fe98dbb69d STARTREK: Reformat with artistic style 2018-08-09 08:37:30 +02:00
Matthew Stewart
aa68655742 STARTREK: Formatting corrections 2018-08-09 08:37:30 +02:00
Matthew Stewart
0e85e19ee7 STARTREK: Move function descriptions to headers 2018-08-09 08:37:30 +02:00
Matthew Stewart
c2dd39a6c2 STARTREK: Remove some gotos 2018-08-09 08:37:30 +02:00
Matthew Stewart
eff87179da STARTREK: Half-done implementation of drawR3Shape
Handles drawing, scaling, probably rotating objects in space.
2018-08-09 08:37:30 +02:00
Matthew Stewart
565bf0e967 STARTREK: atan2 function 2018-08-09 08:37:30 +02:00
Matthew Stewart
2b09f698ed STARTREK: sine & cosine 2018-08-09 08:37:30 +02:00
Matthew Stewart
710b9db0fd STARTREK: Rename fixed-point types 2018-08-09 08:37:30 +02:00
Matthew Stewart
ac9cd1f00a STARTREK: Implement fixed-point decimal class 2018-08-09 08:37:30 +02:00
Matthew Stewart
a024a3fd45 STARTREK: Move space functions into separate file 2018-08-09 08:37:30 +02:00
Matthew Stewart
639c02b76f STARTREK: Fix sound, support MT32.
Also jump to the first mission after the intro.
2018-08-09 08:37:30 +02:00
Matthew Stewart
52cfe60271 STARTREK: Get starfields working for the intro 2018-08-09 08:37:30 +02:00
Matthew Stewart
b9eca08db6 STARTREK: TRIAL5 text changes 2018-08-09 08:37:30 +02:00
Matthew Stewart
793a5b6020 STARTREK: TRIAL5 2018-08-09 08:37:30 +02:00
Matthew Stewart
160bd9ad51 STARTREK: TRIAL4 text changes 2018-08-09 08:37:30 +02:00
Matthew Stewart
4375614528 STARTREK: TRIAL4 2018-08-09 08:37:30 +02:00
Matthew Stewart
a1bc22f62a STARTREK: TRIAL3 text changes 2018-08-09 08:37:30 +02:00
Matthew Stewart
00445f0cfa STARTREK: TRIAL3 2018-08-09 08:37:30 +02:00
Matthew Stewart
2771797eb0 STARTREK: "Use" action was bypassing "disableWalk"
When objects could be walked to by "using" them, this bypassed the
"disableWalk" variable.
2018-08-09 08:37:30 +02:00
Matthew Stewart
2f3c4b90d7 STARTREK: TRIAL2 2018-08-09 08:37:30 +02:00
Matthew Stewart
0786bd314b STARTREK: TRIAL1 typos 2018-08-09 08:37:30 +02:00
Matthew Stewart
3cccf65179 STARTREK: TRIAL1 2018-08-09 08:37:30 +02:00
Matthew Stewart
0f3efc0e55 STARTREK: TRIAL0 2018-08-09 08:37:30 +02:00
Matthew Stewart
6fa0efa4ed STARTREK: Make a macro to simplify room detection 2018-08-09 08:37:30 +02:00
Matthew Stewart
092cf422ca STARTREK: FEATHER7 2018-08-09 08:37:30 +02:00
Matthew Stewart
0c41f30f58 STARTREK: FEATHER6 Typos 2018-08-09 08:37:30 +02:00
Matthew Stewart
b02124b5ee STARTREK: FEATHER6 2018-08-09 08:37:30 +02:00
Matthew Stewart
6486579e6a STARTREK: Fixes to sprites when off-screen
There was a problem implementing FEATHER6 where a thrown rock goes
off-screen, which breaks an assertion that "rect.height() != 0" when
drawing it.
2018-08-09 08:37:30 +02:00
Matthew Stewart
5863f515f7 STARTREK: FEATHER5 2018-08-09 08:37:30 +02:00
Matthew Stewart
8aef8c4539 STARTREK: FEATHER4 2018-08-09 08:37:30 +02:00
Matthew Stewart
1e60b6f96b STARTREK: FEATHER3 2018-08-09 08:37:30 +02:00
Matthew Stewart
ae3be7b407 STARTREK: FEATHER2 2018-08-09 08:37:30 +02:00
Matthew Stewart
007960e85e STARTREK: Remove MUDD code from LOVE mission 2018-08-09 08:37:30 +02:00
Matthew Stewart
d486051a6c STARTREK: Fix initializer list warnings 2018-08-09 08:37:30 +02:00
Matthew Stewart
8c71f2db84 STARTREK: Make Action struct POD again 2018-08-09 08:37:30 +02:00
Matthew Stewart
051ea8c238 STARTREK: FEATHER1 2018-08-09 08:37:30 +02:00
Matthew Stewart
51e2c85a25 STARTREK: FEATHER0 2018-08-09 08:37:30 +02:00
Matthew Stewart
f583e307df STARTREK: Minor fixes to MUDD mission
Also make better names for variables.
2018-08-09 08:37:30 +02:00
Matthew Stewart
bfb312a319 STARTREK: Done with atmosphere loss event 2018-08-09 08:37:30 +02:00
Matthew Stewart
933ab32b0e STARTREK: Start on MUDD's life-support-loss code 2018-08-09 08:37:30 +02:00
Matthew Stewart
f85c296dc3 STARTREK: Move common MUDD functions to mudda.cpp 2018-08-09 08:37:30 +02:00
Matthew Stewart
b3c3174102 STARTREK: MUDD5 2018-08-09 08:37:30 +02:00
Matthew Stewart
296bad07b8 STARTREK: Missing null-terminator with animations 2018-08-09 08:37:30 +02:00
Matthew Stewart
a636aacf51 STARTREK: MUDD4 2018-08-09 08:37:30 +02:00
Matthew Stewart
0879985ddd STARTREK: MUDD3 2018-08-09 08:37:30 +02:00
Matthew Stewart
c471503581 STARTREK: MUDD2 2018-08-09 08:37:30 +02:00
Matthew Stewart
7cff724864 STARTREK: MUDD1 2018-08-09 08:37:30 +02:00
Matthew Stewart
4c0eb3aa67 STARTREK: MUDD0 2018-08-09 08:37:30 +02:00
Matthew Stewart
b332c17805 STARTREK: Give name to variable in love mission 2018-08-09 08:37:30 +02:00
Matthew Stewart
644f5118da STARTREK: Reorganize some text 2018-08-09 08:37:30 +02:00
Matthew Stewart
d3313e3980 STARTREK: Add another mac version to detection.cpp 2018-08-09 08:37:30 +02:00
Matthew Stewart
aa41f89395 STARTREK: Fix memory leak in drawAllSprites 2018-08-09 08:37:30 +02:00
Matthew Stewart
c3bd0347ad STARTREK: More minor fixes to LOVE mission 2018-08-09 08:37:30 +02:00
Matthew Stewart
14639d85f7 STARTREK: Fix choice numbers in textboxes (again) 2018-08-09 08:37:30 +02:00
Matthew Stewart
dee26355b1 STARTREK: Minor fixes to LOVE mission 2018-08-09 08:37:30 +02:00
Matthew Stewart
62cd8e4730 STARTREK: Implement keybindings on away missions 2018-08-09 08:37:30 +02:00
Matthew Stewart
37e6a886c1 STARTREK: Right-clicking & keyboard in menus 2018-08-09 08:37:30 +02:00
Matthew Stewart
d4c5966151 STARTREK: Add missing "look at grate" action.
Also fix missing subscript for some text relating to N2 gas.
2018-08-09 08:37:30 +02:00
Matthew Stewart
e367f9d25e STARTREK: Fix swapped McCoy & Spock speaker names 2018-08-09 08:37:30 +02:00
Matthew Stewart
cfb5daa8f0 STARTREK: Fixes to textboxes
Center the speaker name, and show the choice number when there are
multiple choices.
2018-08-09 08:37:30 +02:00
Matthew Stewart
aca1987056 STARTREK: Implement common code for LOVE mission 2018-08-09 08:37:30 +02:00
Matthew Stewart
a5c7d6ae11 STARTREK: Revamp of action callbacks.
Old system of putting a callback in an action wouldn't work since it
wasn't serializable. Now it seaches for an index corresponding to the
function pointer before constructing an action.
2018-08-09 08:37:30 +02:00
Matthew Stewart
d8e255e9e7 STARTREK: Implement synthesizer + bugfixes (LOVE) 2018-08-09 08:37:30 +02:00
Matthew Stewart
958a9065aa STARTREK: LOVE5 2018-08-09 08:37:30 +02:00
Matthew Stewart
43a0a574ff STARTREK: LOVE4 2018-08-09 08:37:30 +02:00
Matthew Stewart
08ead492d8 STARTREK: LOVE3 finished.
Added "callback" variants of the "walkCrewman" and "loadActorAnim"
functions to simplify chains of calls in room-specific code.
2018-08-09 08:37:30 +02:00
Matthew Stewart
16042faa65 STARTREK: Start on LOVE3 2018-08-09 08:37:30 +02:00
Paul Gilbert
7d110de48f STARTREK: Silence most Visual Studio warnings
Enums are signed in at least Visual Studio, and it was generating
many warnings of the cast to byte in the Action constructor was
losing precision. Likewise, there were some cases of -1 being
passed as a parameter to Action. This resolves these warnings by
making the constructor parameters int
2018-08-09 08:37:30 +02:00
Matthew Stewart
dc1e44efb9 STARTREK: Most of LOVE2 done 2018-08-09 08:37:30 +02:00
Matthew Stewart
44b0a4c7bb STARTREK: Remove optional parameters from methods 2018-08-09 08:37:30 +02:00
Matthew Stewart
933d21429f STARTREK: LOVE1 2018-08-09 08:37:30 +02:00
Matthew Stewart
28debc6673 STARTREK: Fix some problems on old compilers 2018-08-09 08:37:30 +02:00
Matthew Stewart
efda57c114 STARTREK: LOVE0 (start of 3rd mission) 2018-08-09 08:37:30 +02:00
Matthew Stewart
6e322ebfc5 STARTREK: TUG3 (mission 2 finished) 2018-08-09 08:37:30 +02:00
Matthew Stewart
3d27a9a92c STARTREK: Initialize strings in actor objects 2018-08-09 08:37:30 +02:00
Matthew Stewart
d0033df8ea STARTREK: Fix animations underneath textboxes 2018-08-09 08:37:30 +02:00
Matthew Stewart
a4b67dabf6 STARTREK: Change spawn room back to room 0 2018-08-09 08:37:30 +02:00
Matthew Stewart
688c988909 STARTREK: Fix some uninitialized variables 2018-08-09 08:37:30 +02:00
Matthew Stewart
487c3fda32 STARTREK: TUG2 2018-08-09 08:37:30 +02:00
Matthew Stewart
41997ebc20 STARTREK: Default text for undefined actions 2018-08-09 08:37:30 +02:00
Matthew Stewart
0c28fd964e STARTREK: TUG1 2018-08-09 08:37:30 +02:00
Matthew Stewart
ad76c744af STARTREK: TUG0 (first room of mission 2) 2018-08-09 08:37:30 +02:00
Matthew Stewart
ed7d22cd0f STARTREK: Make "missionScore" mission-specific 2018-08-09 08:37:30 +02:00
Matthew Stewart
84a30e4dce STARTREK: Preliminary saving/loading 2018-08-09 08:37:30 +02:00
Matthew Stewart
c17bef8285 STARTREK: Loop audio 2018-08-09 08:37:30 +02:00
Matthew Stewart
fe5658ca17 STARTREK: Mission 1 finished 2018-08-09 08:37:30 +02:00
Matthew Stewart
1290b7ea02 STARTREK: Demon6, including the special case menu 2018-08-09 08:37:30 +02:00
Matthew Stewart
e5a97d9137 STARTREK: Demon5 2018-08-09 08:37:30 +02:00
Matthew Stewart
2e80a35e08 STARTREK: Sort text alphabetically by ID 2018-08-09 08:37:30 +02:00
Matthew Stewart
5b28ece2b5 STARTREK: Begin with Demon4 2018-08-09 08:37:30 +02:00
Matthew Stewart
a6b87e84e7 STARTREK: Talk to miner action in Demon3 2018-08-09 08:37:30 +02:00
Matthew Stewart
30c41ae634 STARTREK: Refactor text using integer constants 2018-08-09 08:37:30 +02:00
Matthew Stewart
29e62d1a18 STARTREK: Finish demon3 2018-08-09 08:37:30 +02:00
Matthew Stewart
9e314e19d9 STARTREK: Demon2, half of Demon3 done 2018-08-09 08:37:30 +02:00
Matthew Stewart
45ae72b763 STARTREK: DEMON1 done (klingon attack) 2018-08-09 08:37:30 +02:00
Matthew Stewart
ca3a9dcc87 STARTREK: Finish implementing first room
Doors now work, and the system of "walking, then performing an action
afterward" is implemented.
2018-08-09 08:37:30 +02:00
Matthew Stewart
bd79e4d653 STARTREK: Begin on room-specific code for room 1 2018-08-09 08:37:30 +02:00
Matthew Stewart
66b4ec36bd STARTREK: Cleanup some text code 2018-08-09 08:37:30 +02:00
Matthew Stewart
a6bee58f62 STARTREK: Default behaviour for look action 2018-08-09 08:37:30 +02:00
Matthew Stewart
f66b77d9fd STARTREK: Rename objects to actors 2018-08-09 08:37:30 +02:00
Matthew Stewart
ec2306f8b0 STARTREK: Don't memset sprites, add Fixed16 type 2018-08-09 08:37:30 +02:00
Matthew Stewart
6117a89194 STARTREK: Inventory menu and hotspots
Action buttons now react when hovering over hotspots.
2018-08-09 08:37:30 +02:00
Matthew Stewart
02485484c3 STARTREK: Buffer all changes to the mouse bitmap 2018-08-09 08:37:30 +02:00
Matthew Stewart
edcc80393a STARTREK: Tweak events to update mouse more often 2018-08-09 08:37:30 +02:00
Matthew Stewart
01970f43df STARTREK: Fix draw priority of menus 2018-08-09 08:37:30 +02:00
Matthew Stewart
2120ce1062 STARTREK: Action menu 2018-08-09 08:37:30 +02:00
Matthew Stewart
2731ae2287 STARTREK: Refactor text and menus
Moved them out of the Graphics class and into their own files.
2018-08-09 08:37:30 +02:00
Matthew Stewart
be8e807a4b STARTREK: Warps between rooms 2018-08-09 08:37:30 +02:00
Matthew Stewart
2a588200ed STARTREK: Pathfinding 2018-08-09 08:37:30 +02:00
Matthew Stewart
1110fee2e4 STARTREK: Sprite layering 2018-08-09 08:37:30 +02:00
Matthew Stewart
65d24b0451 STARTREK: Basic walking 2018-08-09 08:37:30 +02:00
Matthew Stewart
0187c795d5 STARTREK: Initialization of away mission.
Crew successfully beams in and does their idle animation.
2018-08-09 08:37:30 +02:00
Matthew Stewart
dbeb58f392 STARTREK: Palette fading 2018-08-09 08:37:30 +02:00
Matthew Stewart
4927cd90b7 STARTREK: Bitmap scaling 2018-08-09 08:37:30 +02:00
Matthew Stewart
612cf7bdbe STARTREK: Implement "xor'd" animations for crewmen 2018-08-09 08:37:30 +02:00
Matthew Stewart
fc89135a16 STARTREK: Get animation timing working properly 2018-08-09 08:37:30 +02:00
Matthew Stewart
d375429abe STARTREK: Objects and animations.
Testing them with the transporter room.
2018-08-09 08:37:30 +02:00
Matthew Stewart
fde5f22f97 STARTREK: setVisibleMenuButtons function 2018-08-09 08:37:30 +02:00
Matthew Stewart
aac4b2e99d STARTREK: Music/SFX enable and disable functions 2018-08-09 08:37:30 +02:00
Matthew Stewart
e578aa131f STARTREK: Rects don't include right/bottom pixel.
Fixes some off-by-one errors.
2018-08-09 08:37:30 +02:00
Matthew Stewart
432a2023e2 STARTREK: Fix placement of textboxes 2018-08-09 08:37:30 +02:00
Matthew Stewart
273131ce35 STARTREK: Quit game menu and mouse warp function 2018-08-09 08:37:30 +02:00
Matthew Stewart
d37e2aba0e STARTREK: Options menu 2018-08-09 08:37:30 +02:00
Matthew Stewart
e206d8e198 STARTREK: Remove executable bit on source files 2018-08-09 08:37:30 +02:00
Matthew Stewart
2932c392c4 STARTREK: Set default mouse sprite to stop crashes 2018-08-09 08:37:30 +02:00
Matthew Stewart
e1d70e6a04 STARTREK: Disabling menu buttons + text menu. 2018-08-09 08:37:30 +02:00
Matthew Stewart
69dac4d62d STARTREK: Add debug channel for sound 2018-08-09 08:37:30 +02:00
Matthew Stewart
f43c5d4687 STARTREK: Implement CD Audio handling. 2018-08-09 08:37:30 +02:00
Matthew Stewart
9c2ed1d9b7 STARTREK: Implement sound effects in the midis
Removed amiga and mac sound code for now since I can't test it.
2018-08-09 08:37:30 +02:00
Matthew Stewart
fd26d0a790 STARTREK: Begin implementing event system.
Textbox now responds to mouse input.
2018-08-09 08:37:30 +02:00
Matthew Stewart
295c55c510 STARTREK: Implement more text routines 2018-08-09 08:37:30 +02:00
Matthew Stewart
e4c5a34568 STARTREK: Add mouse cursor 2018-08-09 08:37:30 +02:00
Matthew Stewart
060d10c463 STARTREK: Fix off-by-1 bug in drawSprite 2018-08-09 08:37:30 +02:00
Matthew Stewart
a69f025818 STARTREK: Implement drawAllSprites properly.
Still need to do the part which calculates sprite priorities.
2018-08-09 08:37:30 +02:00
Matthew Stewart
7c62092367 STARTREK: Begin implementing menus 2018-08-09 08:37:30 +02:00
Matthew Stewart
2dd96e044f STARTREK: Begin implementation of showText.
Also started using SharedPtrs.
2018-08-09 08:37:30 +02:00
Matthew Stewart
8cd5441959 STARTREK: Implement addSprite and delSprite 2018-08-09 08:37:30 +02:00
Matthew Stewart
cd45502501 STARTREK: Implement draw modes 2 and 3 for sprites 2018-08-09 08:37:30 +02:00
Matthew Stewart
c71a8a6d2a STARTREK: Implement drawSprite function 2018-08-09 08:37:30 +02:00
Matthew Stewart
b84a3bb4f2 STARTREK: Make Bitmap, Sprite, FileStream classes 2018-08-09 08:37:30 +02:00
Matthew Stewart
60d672db73 STARTREK: Fixes to file loading.
The "numbered" files that I implemented can also use letters as the last
character.
2018-08-09 08:37:30 +02:00
Matthew Stewart
f2260d1e9a STARTREK: Implement loading "numbered" files 2018-08-09 08:37:30 +02:00
Matthew Stewart
b1878174ec STARTREK: Add detection for the ST25 Mac demo 2018-08-09 08:37:30 +02:00
Matthew Hoops
e07fe3f1a4 STARTREK: Import my startrek engine
Now updated even
2018-08-09 08:37:30 +02:00