Commit Graph

378 Commits

Author SHA1 Message Date
Matthew Hoops
03eba05b09 PEGASUS: Use correct CD when outputting saves
For better compatibility when loading saves with the original interpreter
2011-12-21 12:09:01 -05:00
Matthew Hoops
d29bde9abe PEGASUS: Remove another global construction 2011-12-20 18:56:42 -05:00
Matthew Hoops
331da45ae3 PEGASUS: Make InputDevice into a Singleton
Removes a global construction
2011-12-20 18:35:33 -05:00
Matthew Hoops
a600dcb56a PEGASUS: Some space/misc cleanup 2011-12-20 18:26:25 -05:00
Matthew Hoops
5fe762e7cd PEGASUS: Fix typo in the save code 2011-12-19 21:13:54 -05:00
Matthew Hoops
924e0b32ad PEGASUS: Implement saving/loading from the in-game pause menu 2011-12-19 18:55:08 -05:00
Matthew Hoops
fa92148098 PEGASUS: Fix timers starting when paused
TimeBase now has its own pause time adjustment instead of using getTotalPlayTime()
2011-12-19 18:06:56 -05:00
Matthew Hoops
f72884cb7b PEGASUS: Cleanup some constants
Added missing static qualifiers, get rid of some short/long
2011-12-16 23:24:55 -05:00
Matthew Hoops
12efb47b53 PEGASUS: Remove t prefix from typedefs
Some other minor cleanup too
2011-12-16 14:17:50 -05:00
Matthew Hoops
fdced472ab PEGASUS: Begin cleaning up pegasus-defined types 2011-12-15 22:01:03 -05:00
Matthew Hoops
b5565a4337 PEGASUS: Fix compilation on Windows 2011-12-15 19:21:49 -05:00
Matthew Hoops
693fcec6f5 PEGASUS: Fix info screen weirdness 2011-12-15 19:18:29 -05:00
Matthew Hoops
4b93bc6456 PEGASUS: Add Norad Delta
And with that, ladies and gentlemen, Pegasus Prime is officially completable in ScummVM.
2011-12-15 00:02:10 -05:00
Matthew Hoops
a328f32fed PEGASUS: Fix going from bomb game to the end game
The game is now completable from after completing from a save that has Norad complete.
2011-12-13 21:02:28 -05:00
Matthew Hoops
d55aeeec0b PEGASUS: Fix displaying the end message 2011-12-13 11:58:20 -05:00
Matthew Hoops
bbabf27f61 PEGASUS: Add the bomb detonation game 2011-12-13 11:33:47 -05:00
Matthew Hoops
5f276bf4ac PEGASUS: Add a tickCount() function 2011-12-13 11:33:11 -05:00
Matthew Hoops
cd01d5dc1d PEGASUS: Add the bomb active AI rule 2011-12-12 17:16:15 -05:00
Matthew Hoops
9c1fbbd1c2 PEGASUS: Implement shooting Sinclair 2011-12-12 15:27:48 -05:00
Matthew Hoops
00279659b2 Merge remote branch 'upstream/master' into pegasus
Conflicts:
	video/qt_decoder.cpp
2011-12-12 15:25:28 -05:00
Matthew Hoops
d932df79be PEGASUS: Fix segfault after sub chase sequence 2011-11-03 15:00:22 -04:00
Matthew Hoops
053e1d6529 PEGASUS: Some sub control room interaction fixes 2011-11-02 21:10:00 -04:00
Matthew Hoops
57405cee9e PEGASUS: Fix pressure door movie updates 2011-11-02 20:50:07 -04:00
Matthew Hoops
476f4b513d PEGASUS: Switch spot sounds to using SoundTimeBase
Spot sound requests no longer freeze the game in some way
2011-11-02 20:39:06 -04:00
Matthew Hoops
8b62693c82 PEGASUS: Add a minimalist SoundTimeBase class
For use with spot sounds only. Also, remove an unused Sound class function
2011-11-02 20:37:53 -04:00
Matthew Hoops
423ce6c442 PEGASUS: Fix the panorama time scale 2011-11-01 22:47:40 -04:00
Matthew Hoops
59421ff1c6 PEGASUS: Add the ECR monitor
Panorama not 100% working yet, but the mask does :P
2011-11-01 21:11:21 -04:00
Matthew Hoops
faa6018cad PEGASUS: Just clip the junk from going off right or bottom too 2011-11-01 20:38:22 -04:00
Matthew Hoops
e781066cec PEGASUS: Add the panorama scroll class 2011-11-01 12:32:50 -04:00
Matthew Hoops
dec8fcdbbd PEGASUS: Add the panorama class 2011-11-01 12:17:22 -04:00
Matthew Hoops
48cabb18d6 PEGASUS: Implement the rest of the mapping biochip 2011-11-01 00:09:43 -04:00
Matthew Hoops
963f209931 PEGASUS: Fix 4D system sprites 2011-10-31 23:31:44 -04:00
Matthew Hoops
ae59e34446 PEGASUS: Fix some code formatting 2011-10-31 23:28:42 -04:00
Matthew Hoops
b3eb2c65e3 PEGASUS: Fix some old Surface comments 2011-10-31 23:25:37 -04:00
Matthew Hoops
0d6dbfa2cb PEGASUS: Add ability to draw masked surfaces 2011-10-31 23:20:54 -04:00
Matthew Hoops
74d08a1543 PEGASUS: Fix redrawMovieWorld() to only update when needed
A partial revert of 2bba1d0c11
2011-10-30 19:23:33 -04:00
Matthew Hoops
60ecf84365 PEGASUS: Fix dying when no interface is set up
Now you can die in the space chase
2011-10-29 12:28:47 -04:00
Matthew Hoops
bcf5ea1dc2 PEGASUS: Keep the space junk from flying beyond the screen boundary 2011-10-29 12:19:58 -04:00
Matthew Hoops
1ca6da46ad PEGASUS: Fix destroying the robot shuttle 2011-10-28 22:21:30 -04:00
Matthew Hoops
6d01961158 PEGASUS: Disable erase when reinstating the monocle 2011-10-28 15:38:24 -04:00
Matthew Hoops
2f1c67ab59 PEGASUS: Clear movie bounds on release
Fixes reinitializing the interface after the space chase sequence
2011-10-28 15:37:17 -04:00
Matthew Hoops
6550d85184 PEGASUS: Fix 1bpp cicn cursors 2011-10-28 13:26:43 -04:00
Matthew Hoops
020f384247 PEGASUS: Fix pitch of one bit images in the shuttle HUD 2011-10-28 11:45:00 -04:00
Matthew Hoops
514d93622d PEGASUS: Fix RS232 draw call 2011-10-28 11:31:05 -04:00
Matthew Hoops
88360741bd PEGASUS: Fix the planet mover 2011-10-28 11:19:27 -04:00
Matthew Hoops
59f7d432d1 PEGASUS: Implement dirty rect erase code (as used by the space chase) 2011-10-28 01:43:05 -04:00
Matthew Hoops
0ec655f410 PEGASUS: Fix timers not updating in playSpotSoundSync 2011-10-28 01:32:23 -04:00
Matthew Hoops
3f69c195ae PEGASUS: Allow for initial support of the space chase
It's not ready yet, but it's slowly becoming playable. For instance, scaling, the shuttle HUD, and the energy beam work on the first try which is nothing short of a miracle.

This commit also moved around some Mars constants because the previous include setup did not work; I hope to make the other neighborhoods have a separate constants file too.
2011-10-28 01:24:57 -04:00
Matthew Hoops
e29d00e6b6 PEGASUS: Add the Shuttle HUD 2011-10-27 19:56:52 -04:00
Matthew Hoops
015d81b742 PEGASUS: Add the energy beam weapon 2011-10-27 19:24:11 -04:00
Matthew Hoops
1bd2480f5f PEGASUS: Add the tractor beam class 2011-10-27 16:41:54 -04:00
Matthew Hoops
0990703779 PEGASUS: Add the graviton cannon! 2011-10-27 16:02:20 -04:00
Matthew Hoops
9f1d9f3697 PEGASUS: Add the shuttle weapon base class 2011-10-27 14:43:18 -04:00
Matthew Hoops
61311a2648 PEGASUS: Add the robot ship 2011-10-24 16:23:32 -04:00
Matthew Hoops
b3059e75e2 PEGASUS: Add the space junk stuff 2011-10-23 22:50:54 -04:00
Matthew Hoops
841f96868a PEGASUS: Add the planet mover for the space chase 2011-10-23 21:54:13 -04:00
Matthew Hoops
cbcdf99092 PEGASUS: Add the basic 3D logic for the space chase 2011-10-23 21:38:40 -04:00
Matthew Hoops
c3d9a1cb35 PEGASUS: Add the hermite code for the space chase 2011-10-23 20:52:22 -04:00
Matthew Hoops
de3962fbc8 PEGASUS: Add the Mars canyon chase sequence 2011-10-23 18:52:49 -04:00
Matthew Hoops
c8526bf6c3 PEGASUS: Add support for scaled/glowing images/movies 2011-10-23 12:51:33 -04:00
Matthew Hoops
f9ecab1953 PEGASUS: Add Norad Alpha
Not yet completable, but you can at least fill the oxygen mask to go through the Mars Maze now.
2011-10-22 22:29:09 -04:00
Matthew Hoops
d6dee9ff18 PEGASUS: Add the base Norad code
(Common stuff between both Norad Alpha and Norad Delta)
2011-10-20 17:35:25 -04:00
Matthew Hoops
422ff6c4c1 PEGASUS: Don't use the work area for screen shaking
It may have stuff purposely not drawn on it
2011-10-19 14:55:48 -04:00
Matthew Hoops
4af1fe25af PEGASUS: Add our TGWorldSaver replacement
The scoring on the death/pause screens are now shown
2011-10-18 09:37:56 -04:00
Matthew Hoops
81ace6e105 PEGASUS: Fix TSA door locks 2011-10-17 10:07:49 -04:00
Matthew Hoops
1529ed0891 PEGASUS: Implement deleting items when inventory is full 2011-10-17 09:21:49 -04:00
Matthew Hoops
5c2a89dc4a PEGASUS: Fix drop box highlight color 2011-10-17 00:56:27 -04:00
Matthew Hoops
0dada6e231 PEGASUS: Implement screen shaking
Would be great to be able to use OSystem's stuff, but that only handles vertical shaking.
2011-10-16 23:44:48 -04:00
Matthew Hoops
77033ecc6c PEGASUS: Fix the Mars robot timer not stopping 2011-10-15 23:17:27 -04:00
Matthew Hoops
4b9914104e PEGASUS: Remove the unused biochip AI warnings from WSC
WSC is now completable using the violent method
2011-10-15 22:15:10 -04:00
Matthew Hoops
1c949d375a PEGASUS: Add the Mars neighborhood
Does not include the space chase just yet or canyon chase.

The robot timer seems a bit wonky right now and doesn't stop, but everything else seems to be working.
2011-10-15 19:48:36 -04:00
Matthew Hoops
64656342a9 PEGASUS: Add the Mars reactor element code 2011-10-14 16:08:34 -04:00
Matthew Hoops
c9f31d3c6e PEGASUS: Fix drawing WSC molecules 2011-10-14 10:54:59 -04:00
Matthew Hoops
753006ae1a PEGASUS: Add the WSC neighborhood
Seems to be working fine, minus the molecule sprites (though the minigame is completable and the antidote can be found).
2011-10-13 20:59:20 -04:00
Matthew Hoops
13fef21fed PEGASUS: Fix shell notifications on loading games 2011-10-11 19:46:15 -04:00
Matthew Hoops
5062aaffca PEGASUS: Implement the sub chase 2011-10-11 19:45:36 -04:00
Matthew Hoops
5b62d069bc PEGASUS: Fix Full TSA briefing movies 2011-10-10 13:17:35 -04:00
Matthew Hoops
e998fb6c0e PEGASUS: Allow for loading games from the launcher/cli 2011-10-10 13:12:15 -04:00
Matthew Hoops
820e424e98 PEGASUS: Fix saving/loading original-compatible saves 2011-10-10 11:42:02 -04:00
Matthew Hoops
11b92529b0 PEGASUS: Fix loading continue points 2011-10-10 10:14:34 -04:00
Matthew Hoops
85dc2e5c65 PEGASUS: Stub off map handling
Needed to be able to load saved games
2011-10-10 10:04:47 -04:00
Matthew Hoops
099f4ce9f5 PEGASUS: Add some missing Neighborhood destructor code
Now AI rules don't carry over to the next neighborhood :P
2011-10-10 00:00:06 -04:00
Matthew Hoops
82cadf68e8 PEGASUS: Fix the historical log comparison screen
Original code does not have cursorSpot null checks, so it looks like Codewarrior may have handled this strangely...
2011-10-09 23:32:40 -04:00
Matthew Hoops
5dd625ebfb PEGASUS: Disable AI energy warnings in the demo
The videos don't exist, so you'd be in for a surprise after playing for an hour
2011-10-09 16:28:30 -04:00
Matthew Hoops
09be0ed5c8 PEGASUS: Fix movie end trigger not always being sent
The demo is now completable and the full game is playable up through the temporal rip in the TSA. Holy halibut, Batman!
2011-10-09 16:14:14 -04:00
Matthew Hoops
89773a90ce PEGASUS: Only call callbacks once
Fixes final walk movie of a stride, among various other things
2011-10-09 00:04:05 -04:00
Matthew Hoops
188d951cb4 PEGASUS: Remove unused movie direct draw mode 2011-10-08 00:13:14 -04:00
Matthew Hoops
8a717d28d8 PEGASUS: Fix frames after turning 2011-10-07 23:13:31 -04:00
Matthew Hoops
a80af5eb4d PEGASUS: Add the Full TSA neighborhood 2011-10-06 23:53:53 -04:00
Matthew Hoops
af24890807 PEGASUS: Add the Tiny TSA neighborhood 2011-10-05 14:37:58 -04:00
Matthew Hoops
5381f5d56b PEGASUS: Implement basic jump console command 2011-10-05 14:37:34 -04:00
Matthew Hoops
3ecc16c9ae PEGASUS: Fix playSpotSoundSync playSoundSegment call 2011-10-04 12:16:59 -04:00
Matthew Hoops
cbca2812a8 PEGASUS: Fix turning 2011-10-04 11:34:15 -04:00
Matthew Hoops
05668dd684 PEGASUS: Fix moving forward
You know, actually initialize some variables :P
2011-10-03 23:27:48 -04:00
Matthew Hoops
d2789a152f PEGASUS: Fix idlers freeing themselves
Our idler handling is more like the original now
2011-10-02 23:31:01 -04:00
Matthew Hoops
0756f72c20 PEGASUS: Remove a change I made for testing 2011-10-02 23:30:49 -04:00
Matthew Hoops
5d8912a2ad PEGASUS: Fix Caldoria wake up video 2 2011-10-02 23:16:30 -04:00
Matthew Hoops
cc7680364a PEGASUS: Fix energy monitor calibration
Minus a quick flicker
2011-10-02 22:51:34 -04:00
Matthew Hoops
2b4bd019ee PEGASUS: Fix extra sync
Caldoria now starts up
2011-10-02 21:24:30 -04:00
Matthew Hoops
a432e3af29 PEGASUS: Fix Caldoria::updateCursor
This actually looks like an original game bug... The original does no checking for null here, but Neighborhood::updateCursor() clearly does
2011-10-02 21:23:51 -04:00
Matthew Hoops
a57b1de6ee PEGASUS: Add a hack to skip energy bar calibration for now 2011-10-02 21:22:52 -04:00
Matthew Hoops
b31efb02b5 PEGASUS: Fix draw sync functions 2011-10-02 21:22:14 -04:00
Matthew Hoops
8c7ebc8033 PEGASUS: Add the basic Caldoria neighborhood
Does not include the end-of-game timers and sequence yet. It's currently hooked up to the full game, but does not go beyond the first frame of the wake-up sequence right now.
2011-10-02 20:52:09 -04:00
Matthew Hoops
b24081c781 PEGASUS: Fix time forward callbacks 2011-10-01 13:21:46 -04:00
Matthew Hoops
f3e34cde02 PEGASUS: Fix neighborhood callbacks 2011-10-01 13:09:14 -04:00
Matthew Hoops
ebb40e26cb PEGASUS: Fix AI movies playing in the wrong box 2011-10-01 12:11:02 -04:00
Matthew Hoops
a85165035c PEGASUS: Fix pausing normal TimeBases 2011-09-30 22:51:09 -04:00
Matthew Hoops
05c774bb8b PEGASUS: Resolve a couple AI TODO's 2011-09-30 22:44:21 -04:00
Matthew Hoops
9718b8e803 PEGASUS: Ease off the CPU 2011-09-30 21:24:01 -04:00
Matthew Hoops
bfb2ad4778 PEGASUS: Fix inventory looping positions 2011-09-30 20:32:06 -04:00
Matthew Hoops
ad784cd5e8 PEGASUS: Fix movie segment looping
Not the best way to handle it, but it works for now
2011-09-30 20:24:28 -04:00
Matthew Hoops
485b427ed8 PEGASUS: Actually pause the game now 2011-09-30 16:26:31 -04:00
Matthew Hoops
9be43b24ce PEGASUS: Fix auto dragging 2011-09-30 12:52:04 -04:00
Matthew Hoops
b5af4bfc76 PEGASUS: Fix typos in autoDragItemIntoInventory/Room 2011-09-30 12:35:06 -04:00
Matthew Hoops
23c7b9f0dc PEGASUS: Introduce better cursor update code 2011-09-30 01:14:11 -04:00
Matthew Hoops
035cf8a7b3 PEGASUS: Fix AI videos not updating 2011-09-30 01:04:43 -04:00
Matthew Hoops
e299f0ac72 PEGASUS: Fix drag sprite transparency 2011-09-29 23:33:12 -04:00
Matthew Hoops
fdd50e8414 PEGASUS: Fix cursor not showing up 2011-09-29 23:29:53 -04:00
Matthew Hoops
06e2dbaa43 PEGASUS: Fix stupid typo stopping the current biochip from being found 2011-09-29 22:30:35 -04:00
Matthew Hoops
821813e808 PEGASUS: Allow saving/loading of AI rules 2011-09-29 20:28:12 -04:00
Matthew Hoops
c4c83e2346 PEGASUS: Resolve some TODO's and cleanup 2011-09-29 20:12:51 -04:00
Matthew Hoops
1fe7ca1d38 PEGASUS: Update save/load code a bit 2011-09-29 19:45:17 -04:00
Matthew Hoops
956f3d4644 PEGASUS: Add the auto dragger code 2011-09-29 19:26:17 -04:00
Matthew Hoops
5be808fe20 PEGASUS: Fix use of Common::List::erase 2011-09-29 17:10:13 -04:00
Matthew Hoops
447b7204f3 PEGASUS: Returning from the pause menu works now 2011-09-29 16:59:02 -04:00
Matthew Hoops
9ab6246123 PEGASUS: Fix compass not showing 2011-09-29 16:42:37 -04:00
Matthew Hoops
b54a6275cf PEGASUS: Fix sprites being drawn incorrectly 2011-09-29 16:40:11 -04:00
Matthew Hoops
bbacb4e5c7 PEGASUS: Fix energy monitor not showing up 2011-09-29 12:31:41 -04:00
Matthew Hoops
8bc240124a PEGASUS: Allow getting frames from videos 2011-09-29 12:27:38 -04:00
Matthew Hoops
de5849b102 PEGASUS: Fix TimeBase::setTime
Need to reset _lastMillis or checkCallBacks won't work properly
2011-09-29 12:08:42 -04:00
Matthew Hoops
69badbebc4 PEGASUS: Add the PauseMenu code 2011-09-29 11:52:35 -04:00
Matthew Hoops
878601b2a3 PEGASUS: Fix a typo in the SoundLevel code 2011-09-29 11:37:02 -04:00
Matthew Hoops
34fd248f8a PEGASUS: Add the SoundLevel class 2011-09-29 01:29:42 -04:00
Matthew Hoops
6440d4d5f6 PEGASUS: Implement the ScreenDimmer class 2011-09-29 01:15:54 -04:00
Matthew Hoops
091df1815e PEGASUS: Use proper key for the right fire button 2011-09-28 21:38:49 -04:00
Matthew Hoops
16a25cd7fd PEGASUS: Start the demo off!
Only the jump-in video is currently shown though. For some reason, the input is disabled...
2011-09-28 21:07:51 -04:00
Matthew Hoops
03739c66aa PEGASUS: Fix exit table loading 2011-09-28 21:05:04 -04:00
Matthew Hoops
1112b11df9 PEGASUS: Fix valgrind warnings with the spots 2011-09-28 20:45:37 -04:00
Matthew Hoops
2e2f8d9168 PEGASUS: Fix stop time of movies 2011-09-28 20:30:07 -04:00
Matthew Hoops
cd744aa60e PEGASUS: Fix the movie box code 2011-09-28 20:16:50 -04:00
Matthew Hoops
81eff30b8e PEGASUS: Fix date positioning 2011-09-28 19:00:57 -04:00
Matthew Hoops
ffff1beb1b PEGASUS: Fix stupid inventory weight typo 2011-09-28 18:50:21 -04:00
Matthew Hoops
426ab47067 PEGASUS: Fix bug in redrawMovieWorld 2011-09-28 18:50:10 -04:00
Matthew Hoops
1659c82c37 PEGASUS: Fix frame sequences 2011-09-28 18:24:15 -04:00
Matthew Hoops
54dd0c266e PEGASUS: Import a bunch more code in preparation for actual gameplay 2011-09-28 14:32:03 -04:00
Matthew Hoops
a0a3cbd602 PEGASUS: Keep specific neighborhood code in subfolders 2011-09-27 21:26:51 -04:00
Matthew Hoops
af78726e4f PEGASUS: Add the ItemDragger classes 2011-09-27 21:24:12 -04:00
Matthew Hoops
817f775da9 PEGASUS: Update copyright notice on pegasus.cpp/h 2011-09-27 20:45:51 -04:00
Matthew Hoops
20f18e447f PEGASUS: Add the remaining gameshell remnants 2011-09-27 20:41:45 -04:00
Matthew Hoops
d0914e6dc3 PEGASUS: Push the sound spots file name to subclasses 2011-09-27 20:09:26 -04:00