Commit Graph

286 Commits

Author SHA1 Message Date
Martin Haye
8ff169d1e6 Now loading and successfully relocating ProRWTS and PLASMA. 2017-01-04 09:17:13 -08:00
Martin Haye
c67a4ea718 I think decompressor is written now. 2017-01-02 11:14:59 -08:00
Martin Haye
917a6561f7 Better encoding of offset=64 2017-01-02 09:06:11 -08:00
Martin Haye
0e4c7df743 More efficient coding of zero-length lits results in even better compression, and faster decomp as well. 2017-01-02 07:44:48 -08:00
Martin Haye
7d8c562ffa Rearranged gamma scheme for faster decomp. 2017-01-01 08:59:35 -08:00
Martin Haye
05a63b3e54 Optimized code pair encoding for faster decompression. 2016-12-30 18:06:17 -08:00
Martin Haye
cff4b79931 Refactored into code pairs. 2016-12-30 17:56:11 -08:00
Martin Haye
ac70c14f31 Refactored into code pairs. 2016-12-30 17:46:21 -08:00
Martin Haye
cd17eb873e Fixed comment 2016-12-30 17:42:35 -08:00
Martin Haye
e8ea2e9f87 Fixed comment. 2016-12-30 08:33:46 -08:00
Martin Haye
77e2a7c3cf Tested with underlap of 2 for decompression. Changed cut-off to 8 or more saved bytes. 2016-12-30 07:59:26 -08:00
Martin Haye
9d04090881 Backed off a little bit so that all elias encoding is 8-bits or less. 2016-12-29 17:42:10 -08:00
Martin Haye
908eb71927 Parameterized offset exp. 2016-12-29 17:19:15 -08:00
Martin Haye
a761056723 Parameterized offset exp. 2016-12-29 17:18:53 -08:00
Martin Haye
b5ca1d32aa Fixed a bug, and fixed a big counting error. 2016-12-29 16:06:16 -08:00
Martin Haye
64bc3117f0 More efficient encoding of literal lengths. 2016-12-29 12:48:11 -08:00
Martin Haye
014abce085 Committing to gammas for offsets. 2016-12-29 08:23:36 -08:00
Martin Haye
5804cde556 Best compression yet, messing with offset encoding. 2016-12-29 08:19:11 -08:00
Martin Haye
77b55bbd14 Offsets with gamma. 2016-12-29 08:06:23 -08:00
Martin Haye
1d421aacf2 More experimentation. 2016-12-28 08:00:28 -08:00
Martin Haye
ccdbbb970b Now checking zx7 by decompressing. 2016-12-27 21:01:48 -08:00
Martin Haye
bfa91285a6 Some progress on decompressing lx47 2016-12-27 08:44:00 -08:00
Martin Haye
52d2b877f5 Got compressor working, but unverified. 2016-12-26 10:21:53 -08:00
Martin Haye
5f53550df2 Support getCharResponse; better handling of interdependent global scripts; support for backslash-backtick for explicit spaces in strings. 2016-12-13 09:07:36 -08:00
Martin Haye
652673ea01 Now supports 0..3 args on global funcs. 2016-12-08 07:05:28 -08:00
Martin Haye
9d849736e2 More fleshing out of global function calling. 2016-12-06 09:38:24 -08:00
Martin Haye
4d414bd6ce Now compiling each global script as a separate module, in anticipation of large scripts like hotel, store, etc. 2016-12-05 09:23:00 -08:00
Martin Haye
075778b3a2 Fixed bug with tilesets becoming too large. 2016-11-18 12:03:37 -08:00
Martin Haye
3d595608cc Fixed map numbering to handle multiple 2D maps. 2016-11-15 06:14:58 -08:00
Martin Haye
1f55dea477 Basics of benching/unbenching for players. 2016-11-10 08:40:50 -08:00
Martin Haye
a4421e9882 Ignore player rows unless they have at least some basic data. 2016-11-10 06:43:02 -08:00
Martin Haye
0313db8d1a Progress on intimate mode - text display now mostly working. 2016-11-08 08:39:18 -08:00
Martin Haye
e6bcc747bd Outlines of 'intimate mode' 2016-11-07 07:58:46 -08:00
Martin Haye
2aa9e342e7 Added tile swap for 3D mode. 2016-11-01 09:25:36 -07:00
Martin Haye
dcb8fd1eaa Clean up warning and error handling in packer, so mem reports aren't generated in those cases. 2016-10-25 09:16:01 -07:00
Martin Haye
4df31bea67 Fix hashing for images so we properly detect changes to ordering. 2016-10-25 08:08:41 -07:00
Martin Haye
4b674d20b7 Added cache version to packer, so we can force rebuild when necessary. 2016-10-24 08:26:48 -07:00
Martin Haye
520fc7216e Now animating 3D textures. 2016-10-24 08:20:52 -07:00
Martin Haye
33d9f17503 New blocks for setting and clearing full-screen img. 2016-10-24 07:08:37 -07:00
Martin Haye
f3aaa7c6ad Now supports animating title screen and final win screen. 2016-10-23 10:42:11 -07:00
Martin Haye
ee16d7a0d6 Most animations working properly now. 2016-10-23 09:09:43 -07:00
Martin Haye
2ef692c537 Animation progress. 2016-10-22 08:46:37 -07:00
Martin Haye
b2d0af04a8 Wrote the rest of anim unpacking code. 2016-10-19 09:58:09 -07:00
Martin Haye
0b0a849855 A new patching strategy. 2016-10-19 07:37:55 -07:00
Martin Haye
a2a3246b68 Maybe a wrong turn for anim patches. 2016-10-18 07:13:42 -07:00
Martin Haye
6a049d3e33 Adding support for animating all image resources. 2016-10-17 09:26:47 -07:00
Martin Haye
dce735786e Generate fancy new report showing how much each resource contributes to memory and disk usage. 2016-10-16 10:06:30 -07:00
Martin Haye
73c08b56dd Little changes: use portrait names instead of numbers in generated code; a little cleanup of interrupts; improve comments. 2016-10-16 08:16:45 -07:00
Martin Haye
0095407c7e Now blitting full screen images from aux mem rather than loading them directly to the hi-res buffer. Prelude to better support for full-screen. 2016-10-11 09:03:57 -07:00
Martin Haye
49d025a44c Fleshed out ability to use an item on a map space. In addition, add item god-mode cheat moved to player info screen and made fancier. 2016-09-24 11:10:17 -07:00
Martin Haye
83a26c901b Made portrait test loop around. 2016-09-22 11:14:07 -07:00
Martin Haye
ce7bf1d6cc Now processes 'leave' events on map scripts. 2016-09-20 06:15:49 -07:00
Martin Haye
a2c8008755 Initial infrastructure for event handling. 2016-09-15 11:08:43 -07:00
Martin Haye
c5a319d904 Fixed super-long error message. 2016-08-25 08:49:38 -07:00
Martin Haye
7ebe405c41 Fixed bugs with NPC creation, and made mem mgr debug slightly fancier. 2016-08-22 08:08:22 -07:00
Martin Haye
ecf76efde2 Mostly implemented ability to add/remove players, but got some debugging to do. 2016-08-17 08:09:14 -07:00
Martin Haye
8f2a5ada3d Packer now outputs a file with memory use of 3D maps, and warns for high usage. 2016-08-04 09:26:13 -07:00
Martin Haye
d21b269843 Eliminated special patching of PLASMA accessors, now that it's finally decided that PLASMA code doesn't need to use the aux LC bank (it's used by texture expander instead). 2016-08-04 08:30:39 -07:00
Martin Haye
70ead12fb1 Added a god-mode command, '&', to print out the allocated memory blocks. 2016-08-03 08:41:36 -07:00
Martin Haye
b848882090 Fix avatar establishment on game start. 2016-07-28 09:46:38 -07:00
Martin Haye
e71bdea1fe Fixed avatar packing problem, and turned caching back on. 2016-07-26 07:40:01 -07:00
Martin Haye
747a17d6cb Fix for dice 3d6+n problem. Changed Mythos to LegendOS 2016-07-19 08:35:42 -05:00
Martin Haye
7e7c92dc8d Added hack for end-game screen; set sky color to 99 to trigger. 2016-07-19 08:21:34 -05:00
Martin Haye
e376e9c505 A few fixes for compatibility with Lawless Legends scenario. 2016-07-17 19:16:32 -07:00
Martin Haye
43fa3101a3 Slow progress getting packer to run as a plugin. 2016-07-16 05:09:21 -07:00
Martin Haye
95e4651123 Turned off caching in the packer as it's currently creating more problems than it solves. 2016-07-14 14:19:38 -07:00
Martin Haye
d4525a9571 Fix clearEncounterZones and setAvatar to be (more) persistent. 2016-07-14 13:52:23 -07:00
Martin Haye
a3ed0e93a2 More packer refactoring. 2016-07-13 08:05:07 -07:00
Martin Haye
f38f76f1a8 Fixed dependency checking and empty script reporting. 2016-07-12 17:29:03 -07:00
Martin Haye
b5cf46d503 Made progress on alternate packaging of PackPartitions as a plugin for Outlaw. 2016-07-12 17:01:36 -07:00
Martin Haye
85e01abd95 Fix heap type of 'item' and 'stuff' when they are created. 2016-07-12 16:10:54 -07:00
Martin Haye
d7e4c85e10 Fix for null scripts, and for avatar 0. 2016-07-11 08:03:29 -07:00
Martin Haye
be40d8f4f4 Added ability to clear all encounter zones, and to set the avatar tile. 2016-07-10 17:18:03 -07:00
Martin Haye
31bf216f6e Fix bug with Korak combat: strings still a bit too long. 2016-07-08 17:50:45 -07:00
Martin Haye
0837f4a360 Fleshed out new blocks for get/increase/decrease stats. 2016-07-07 17:02:44 -07:00
Martin Haye
df446bc38b Added support for arbitrary game flags, and most of stat increase/decrease. 2016-07-07 16:15:31 -07:00
Martin Haye
57c65f1c69 Added item-related Blocks. 2016-07-07 13:59:07 -07:00
Martin Haye
0fe5ef28ca Refactored to get rid of lib vectors, thanks to Dave. 2016-07-03 13:39:00 -07:00
Martin Haye
0708cbda95 Took out some debug prints 2016-07-03 12:26:22 -07:00
Martin Haye
29f6df5913 Making good progress on external symbol resolving. 2016-07-03 12:01:35 -07:00
Martin Haye
ea5800155f Got basics of new fixup mechanism working. 2016-07-03 07:33:12 -07:00
Martin Haye
bb0a9339fe Can now define a Help global function in Outlaw, and it'll get called when '?' is hit in the gme. 2016-07-01 17:19:12 -07:00
Martin Haye
30a9f15ae2 Added generation for generic items like amulets. 2016-07-01 16:57:24 -07:00
Martin Haye
d89d9dfbad Fixed so some enemies get a crack at you when you're fleeing. 2016-07-01 16:32:57 -07:00
Martin Haye
437471451b Now handles scripted combat on 2D maps as well, and handles fleeing correctly. 2016-06-30 09:31:29 -07:00
Martin Haye
02bbbf5ac7 Clean up what happens at the end of a combat script. 2016-06-30 08:47:30 -07:00
Martin Haye
f1fbd7bd8c Working on getting script to resume after combat. 2016-06-30 08:36:46 -07:00
Martin Haye
cf0c3d3ac1 Fix memory and screen glitches when switching between scripted portrait moments, combat, and 3D display. 2016-06-29 07:42:58 -07:00
Martin Haye
8ebbc16da8 Fixed streqi logic for matching encounter zone codes. Added a Blockly for starting an encounter. 2016-06-28 07:40:09 -07:00
Martin Haye
45ab9bafe2 Implementing new game / load game screen. 2016-06-24 05:58:30 -07:00
Martin Haye
17793d011f Preserve previous saved game if 2mg is present. 2016-06-21 08:17:18 -07:00
Martin Haye
87ab8b6031 Allow control chars in command table; basic framework for game load/save established. 2016-06-19 08:38:40 -07:00
Martin Haye
dcea57cc7c It was silly to have strcmpi when all we needed was streqi. 2016-06-19 08:15:51 -07:00
Martin Haye
caa05f16f6 Refactored to save space in the main gameloop module. 2016-06-19 08:04:43 -07:00
Martin Haye
6c33299a77 Split game assets into two partitions, to pave the way for multi-floppy distribution. 2016-06-18 16:31:21 -07:00
Martin Haye
d5f1663267 Added ammo generation. 2016-06-17 07:26:53 -07:00
Martin Haye
fd989c0d32 Got rid of old hard-coded globalScripts.pla 2016-06-16 17:48:58 -07:00
Martin Haye
7e758be30e Added player generation. 2016-06-16 17:42:18 -07:00
Martin Haye
4e57da0d53 Now translating armor spreadsheet to code. 2016-06-16 07:27:13 -07:00
Martin Haye
646d48d206 Now packing weapons spreadsheet. 2016-06-13 08:15:14 -07:00