Commit Graph

962 Commits

Author SHA1 Message Date
Martin Haye
3b15ff0e48 Most combat rules implemented now. Also, combat speed now adjustable with up/down arrow, or +/- keys. 2017-07-04 09:15:50 -07:00
Martin Haye
19f53f99a5 Fixed menu range for items and skills. 2017-06-30 09:38:03 -07:00
Martin Haye
4a44aee1f8 Some fixes on the inv/stat screens. 2017-06-30 09:30:29 -07:00
Martin Haye
3cc0fba61a Fixed null ptr bug in party display. 2017-06-30 08:48:56 -07:00
Martin Haye
e6c94eee6c Lots of work on combat. 2017-06-30 08:11:34 -07:00
Martin Haye
4774b07d30 Fix to avoid immediately leveling up on new game. 2017-06-25 07:20:11 -07:00
Martin Haye
1fe0108b63 Added level up cheat, and fixed a couple leveling bugs. 2017-06-25 07:11:58 -07:00
Martin Haye
c2dc5fab12 Now properly updates totals and decrements avail skill pts. 2017-06-24 16:46:02 -07:00
Martin Haye
7fa12c2a27 Can now increase stats. 2017-06-24 16:25:48 -07:00
Martin Haye
df81523061 More work on level up / skills 2017-06-24 13:28:28 -07:00
Martin Haye
a52c9cc039 Fleshing out the skills/stats display. 2017-06-24 11:43:16 -07:00
Martin Haye
b972aa34b6 Adding some more XP/leveling stuff. 2017-06-16 11:31:42 -07:00
Martin Haye
6fdc16cd88 Crawling ahead with level up logic. 2017-06-14 09:22:05 -07:00
Martin Haye
90d9238002 Adding level, XP, SP, etc. 2017-06-13 10:07:03 -07:00
Martin Haye
76b99504fb Fixed a few arg count mismatches. 2017-06-11 10:15:20 -07:00
Martin Haye
2585a84553 Some argument count fixes. 2017-06-11 08:55:03 -07:00
Martin Haye
7c9f7138d9 Finally added all function prototypes. Now for bug hunting. 2017-06-11 08:25:15 -07:00
Martin Haye
998d75c1a0 Ongoing giant function prototype refactor. 2017-06-10 08:56:23 -07:00
Martin Haye
eea4767a51 More prototypes. 2017-06-10 07:32:31 -07:00
Martin Haye
3ac73e7165 Adding more function prototypes. 2017-06-10 07:21:58 -07:00
Martin Haye
ee55a7a57a Got rid of redundant __asmPlasm_bank2 2017-06-09 07:47:34 -07:00
Martin Haye
94c3b50cc6 Stop suppressing PLASMA warnings. 2017-06-09 07:43:52 -07:00
Martin Haye
5e7ae1dc58 Turned on PLASMA optimizer - saves 4.2k\! 2017-06-09 07:17:37 -07:00
Martin Haye
cf17300210 Adding some function prototypes. 2017-06-09 07:14:53 -07:00
Martin Haye
f56fb140d0 Jar'd new version of PLASMA. 2017-06-09 06:57:49 -07:00
Martin Haye
7ba5bcb3e7 Merge branch 'master' of https://github.com/badvision/lawless-legends 2017-06-09 06:44:10 -07:00
Dave Schmenk
1cb302f75d Fix predef and asm with parameters & multiple predefs per line 2017-06-07 19:28:13 -07:00
David Schmenk
1f6ed64793 Optimize NOT before branch true/false 2017-06-07 17:43:28 -07:00
David Schmenk
082f10424e Branch optimizations 2017-06-07 16:20:08 -07:00
David Schmenk
4343292057 Add warning for all mismatched funtion parameter counts 2017-06-07 10:16:13 -07:00
David Schmenk
7ee5a3d524 Implement better constant string management 2017-06-07 10:07:14 -07:00
Martin Haye
9d5acd1006 Updated PLASMA compiler and VM. 2017-06-07 07:01:50 -07:00
Martin Haye
b69be27f84 Merge branch 'master' of https://github.com/badvision/lawless-legends 2017-06-07 06:54:51 -07:00
David Schmenk
3f880ecb67 Fix pointer, pointer constructs and quoted string scan_rewind 2017-06-06 12:54:19 -07:00
Martin Haye
7a43bf0d95 Merge branch 'master' of https://github.com/badvision/lawless-legends 2017-06-05 08:36:49 -07:00
dschmenk
0c041f7f97 Add warnings to plasm compiles 2017-06-04 07:39:46 -07:00
dschmenk
1e031d6de0 Update PLASMA VM and compler to pre-1.0 2017-06-04 07:33:44 -07:00
dschmenk
52ec55babe Merge branch 'master' of https://github.com/badvision/lawless-legends 2017-06-04 07:26:05 -07:00
dschmenk
640b305401 VM updates for 1.0 2017-06-04 07:25:20 -07:00
David Schmenk
a38667e704 Update PLASMA VM and compiler to pre-1.0 2017-06-03 15:51:48 -07:00
Martin Haye
2499d41461 Made death and combat win configurable instead of hard coded. 2017-06-02 08:38:31 -07:00
Martin Haye
2c50d19c48 Outlaw-configurable combat and enemy intro text now working. 2017-06-02 08:25:29 -07:00
Martin Haye
1d0b205d48 Making progress on customizable global functions for leveling and combat messages. 2017-05-30 11:18:37 -07:00
Martin Haye
a5e50d02b9 Can now equip with comparison. 2017-05-25 10:40:53 -07:00
Martin Haye
0846209382 More refactoring. 2017-05-25 09:33:11 -07:00
Martin Haye
834b6576e2 More work normalizing inventory UI. 2017-05-25 07:50:51 -07:00
Martin Haye
da33bded45 Fixed a bunch of little bugs in the font itself. 2017-05-25 06:55:12 -07:00
Martin Haye
29a72ac5b3 Working to normalize interface diffs between store and plauer info screens. 2017-05-24 08:51:06 -07:00
Martin Haye
58d3386dff Reformatted inventory and stats screen. 2017-05-24 07:47:47 -07:00
Martin Haye
91fca1abac Corrected width of lower-case 'l' and 'g'. Still need to fix the source spreadsheet. 2017-05-24 07:47:28 -07:00
Martin Haye
824d5aadbe Minor refactoring of function names. 2017-04-25 07:30:45 -07:00
Martin Haye
cc8fa3bb7d Refactored item display so party and store can share it. 2017-04-20 09:36:08 -07:00
Martin Haye
cc725f0657 Properly lock hi-res page 1. 2017-04-20 09:35:57 -07:00
Martin Haye
5e4f12b619 Some reformatting of the party member display. 2017-04-20 09:02:03 -07:00
Martin Haye
865ab04cc5 First cut at clear to end-of-line and end-of-page in Font Engine. 2017-04-10 10:01:36 -07:00
Martin Haye
17c94cff7e Marking a map with negative order now causes it to be replicated on every data disk. 2017-04-10 08:35:27 -07:00
Martin Haye
3c221c3316 A couple optimizations, and bug fix for nPages calc in store. 2017-04-10 07:27:10 -07:00
Martin Haye
1215e12e07 Lots of work on selling especially, but also plural item display on inventory screen. 2017-04-03 08:22:32 -07:00
Martin Haye
4c0b02931d Improved buy/sell Blockly blocks that can take parameters, to support a parameterized global Merchant script. 2017-04-02 09:25:11 -07:00
Martin Haye
006b191345 When buying countable things e.g. ammo/pelts, asks quantity. 2017-03-30 06:42:36 -07:00
Martin Haye
1cc3d8b67a Can now buy items. 2017-03-29 09:36:14 -07:00
Martin Haye
8fdaf7b237 Merge branch 'master' of https://github.com/badvision/lawless-legends 2017-03-29 07:36:30 -07:00
Martin Haye
7622f4e41b Working on comparison shopper. 2017-03-29 07:36:27 -07:00
dschmenk
be928b081d Check for existing string in pool before copying CS string from aux mem 2017-03-27 08:53:01 -07:00
Martin Haye
2e779c5028 Even faster center mode scrolling. 2017-03-25 07:57:21 -07:00
Martin Haye
411294dae8 Tiny improvements. 2017-03-25 07:25:50 -07:00
Martin Haye
8b488e4e1b Fixed font engine's center mode for oversize window. Sped up center mode. Added more capabilities to store buy. 2017-03-25 07:23:10 -07:00
Martin Haye
3f9377088b Sprucing up the buy page. 2017-03-23 08:00:49 -07:00
Martin Haye
35c5ee97ef More progress on store buying. 2017-03-23 07:07:36 -07:00
Martin Haye
121753c45d Fixed warning display. 2017-03-23 07:07:29 -07:00
Martin Haye
142f50a695 Oversized window for buy and sell. 2017-03-22 09:46:17 -07:00
Martin Haye
3611b8ebb5 Making progress on store buying. 2017-03-17 17:18:40 -07:00
Martin Haye
4ee9116e82 Added floppy disk usage to pack_report.txt 2017-03-15 07:46:27 -07:00
Martin Haye
60cc77a59e More groundwork for buy/sell from stores. 2017-03-04 08:20:01 -08:00
Martin Haye
ff1e31cd44 Adding buy/sell store logic. 2017-03-03 08:25:45 -08:00
Martin Haye
47d86a3dca Fix for number of fixups > 127 2017-02-25 11:56:27 -08:00
Martin Haye
6dee0388b1 Added ability to increase or decrease a stat for all party members. 2017-02-24 08:49:12 -08:00
Martin Haye
e2b5ccf375 Bench/unbench now working. 2017-02-20 08:02:55 -08:00
Martin Haye
eb9691cb20 Proper dependencies for global funcs. Look for portrait on correct disk. 2017-02-20 07:42:23 -08:00
Martin Haye
d7d2ae3bbb Added a god-mode cheat for adding an NPC to the party. 2017-02-20 06:43:47 -08:00
Martin Haye
d81e5ff8c0 Forgot these files. 2017-02-19 10:08:32 -08:00
Martin Haye
c29176722d Externalized godmode commands; only load when enabled. 2017-02-19 10:08:03 -08:00
Martin Haye
c7e336355a Made combat win and death portraits root deps. Commented out a bunch of debug prints. 2017-02-17 09:26:57 -08:00
Martin Haye
ad6b3f5ef8 Lots of fixes, related to reseek and resource lookup. 2017-02-17 09:01:35 -08:00
Martin Haye
eb2710865f Now using resource index... not right, but using it. 2017-02-06 10:01:00 -08:00
Martin Haye
421614f605 Added IIc detection logic, thanks to qkumba. 2017-02-06 07:54:05 -08:00
Martin Haye
826176f344 Work around AppleCommander last-block bug. Add resource map to disk 1. 2017-02-06 07:49:00 -08:00
Martin Haye
c4898ef65f Now calculating exact disk sizes. 2017-02-05 11:49:23 -08:00
Martin Haye
87926d1584 Trying to get exact sizes now. 2017-02-05 11:20:13 -08:00
Martin Haye
3c49a6c7ce Fixed some disk split bugs. 2017-02-05 11:05:26 -08:00
Martin Haye
c060bf31d4 Lots of progress on disk split allocation. 2017-02-05 09:45:34 -08:00
Martin Haye
30dd953d44 Made some progress on disk splitting... lots left though. 2017-02-02 10:20:39 -08:00
Martin Haye
847228a73d Added clean script shortcut for Martin's use. 2017-02-02 07:10:51 -08:00
Martin Haye
2b78f31b5a I think I'm now tracking all the dependencies needed for proper disk splitting. 2017-01-29 10:47:58 -08:00
Martin Haye
6bf9889488 A couple little comments. 2017-01-29 09:43:02 -08:00
Martin Haye
cd090db01f Split long lines to making editing easier. 2017-01-29 09:40:14 -08:00
Martin Haye
9d313d5176 Added order field to maps. Fixed some loader bugs. 2017-01-29 09:23:58 -08:00
Martin Haye
32656bd6fc Removed dependency on lz4, since we have our own compression algorithm now. 2017-01-25 07:48:20 -08:00
Martin Haye
a143026583 Refactored packer to use compressed byte arrays most everywhere, because they're so much easier to work with then Java ByteBuffer. 2017-01-24 10:47:01 -08:00
Martin Haye
12760c330b Read XML file only once. 2017-01-22 14:45:41 -08:00
Martin Haye
1d131d523d Updated mem mgr to recognize that we no longer need buffers for ProDOS and copying. 2017-01-22 09:44:58 -08:00
Martin Haye
9e3cd2c45e Modified font engine's parse routine to work better when called multiple times in succession. 2017-01-22 09:23:29 -08:00
Martin Haye
9e5e955fbe Realized I could use simple PLASMA extern for global heap pointer. 2017-01-22 08:44:10 -08:00
Martin Haye
421807719b Slightly more readable. 2017-01-18 09:59:00 -08:00
Martin Haye
a8126a1c75 New disk polling code. 2017-01-18 09:29:26 -08:00
Martin Haye
7056e09458 Properly retain previous game save when rebuilding image. 2017-01-18 08:24:09 -08:00
Martin Haye
a00e019b75 Got game-exist check working. 2017-01-18 08:21:01 -08:00
Martin Haye
4dd4ae02b1 Fixed load game. 2017-01-18 07:43:55 -08:00
Martin Haye
3ff5b34603 Moved speed test code and commented it out until needed again. 2017-01-18 07:27:15 -08:00
Martin Haye
453f2687ab Modified speed test for just 3D transition. 2017-01-18 06:56:10 -08:00
Martin Haye
eed337af74 Used up the last two bytes. 2017-01-17 10:34:35 -08:00
Martin Haye
5c0ba2dfa3 Saved a byte, and a little time. 2017-01-17 10:29:49 -08:00
Martin Haye
ead90f2bf3 Optimized litlen=1 common case. 2017-01-17 10:19:19 -08:00
Martin Haye
a4fede35f7 Made gamma refactor permanent. 2017-01-15 15:40:47 -08:00
Martin Haye
5a9f8f749b Refactored gamma. 2017-01-15 15:19:22 -08:00
Martin Haye
22e4b4b681 Saved a byte. 2017-01-15 11:54:21 -08:00
Martin Haye
f9e219d493 Optimized some source increments. 2017-01-15 11:52:08 -08:00
Martin Haye
d20c4ec778 Saved 5 more bytes. 2017-01-15 11:37:34 -08:00
Martin Haye
ed02a8bdc9 Size optimization - saved 2 bytes. 2017-01-15 11:33:39 -08:00
Martin Haye
52840945d7 Optimized end check. 2017-01-15 11:31:02 -08:00
Martin Haye
324fbd48b0 Optimized gamma in decomp, for 1.2% gain. 2017-01-15 10:47:32 -08:00
Martin Haye
d93d70b172 Sped up decomp 3.7% by unrolling part of match loop. 2017-01-15 10:22:09 -08:00
Martin Haye
7fb830793c Doing some speed testing. 2017-01-15 09:10:43 -08:00
Martin Haye
18c9e9528f Fixed BRK handler to retain value of A-reg. 2017-01-13 07:50:23 -08:00
Martin Haye
2f8de46d0e Moved more of expander into aux LC to take advantage of space freed up by ProRWTS. Now expander is loaded at startup and remains locked in memory, rather than swapping in and out. 2017-01-12 09:08:05 -08:00
Martin Haye
4b9f2c9a85 Create proper save file on all disks. Updated memory map. 2017-01-12 07:30:54 -08:00
Martin Haye
99f9f9f35c Now supporting multi-floppy mode. 2017-01-11 19:02:31 -08:00
Martin Haye
6e47f62e84 Now building multiple floppies. 2017-01-11 16:22:31 -08:00
Martin Haye
6b52149938 Fixed copy/paste errors in ProRWTS floppy driver. 2017-01-11 16:00:24 -08:00
Martin Haye
094d4ca8da Smaller 140k image, now with ProBoot. 2017-01-11 15:32:32 -08:00
Martin Haye
2404025654 Working on floppy generation. 2017-01-11 15:20:22 -08:00
Martin Haye
d0ca62eb53 Adding ProBoot and floppy version. 2017-01-11 09:54:58 -08:00
Martin Haye
3c6814e7af Refactored disk images to slim down main 800k image. 2017-01-11 07:36:59 -08:00
Martin Haye
545538c5d0 Initial version of ProBoot (untested as of yet). 2017-01-11 07:14:16 -08:00
Martin Haye
994388940a Integrated new version of ProRWTS, now with support for big tree files\! Works beautifully. 2017-01-09 07:47:51 -08:00
Martin Haye
6e8089d3a3 Made decompression slightly faster. 2017-01-09 06:57:39 -08:00
Martin Haye
8dc84239e4 Now working in 3D mode (had to avoid loading over aux text pg, since hard disk driver uses screen holes there.) 2017-01-07 16:43:27 -08:00
Martin Haye
ae4210a050 Temporary workarounds. 2017-01-07 11:25:01 -08:00
Martin Haye
845239c2cf Got decompression working, yay\! 2017-01-06 17:49:51 -08:00
Martin Haye
bf179182b0 Added underlap verification in a better way. Going back to 2 partitions so qkumba can repro the ProDOS tree-file problem. 2017-01-06 11:09:01 -08:00
Martin Haye
485e9e7430 Added decompression underlap verification. 2017-01-06 09:04:29 -08:00
Martin Haye
572beb65e7 Added memory map. 2017-01-05 16:01:25 -08:00
Martin Haye
3123bdd903 Moved ProRWTS to aux LC. Also getting further in boot seq now. 2017-01-05 14:27:44 -08:00
Martin Haye
410ba2238f Slightly better build wrapper scripts. 2017-01-05 08:54:19 -08:00
Martin Haye
efc8a84396 Yay, I can reach the title screen now. 2017-01-04 17:57:18 -08:00
Martin Haye
e21f6cb423 More progress on ProRWTS. 2017-01-04 15:05:43 -08:00
Martin Haye
dd061c37c3 Making slow progress integrating ProRWTS with mem mgr. 2017-01-04 13:15:39 -08:00
Martin Haye
8ff169d1e6 Now loading and successfully relocating ProRWTS and PLASMA. 2017-01-04 09:17:13 -08:00
Martin Haye
d9786058d8 Adding ProRWTS. 2017-01-02 14:08:33 -08:00
Martin Haye
2f35ee17f0 Stripped out Plasma VM 'cmd' loading, in anticipation of dedicated LegendOS loader. 2017-01-02 13:52:35 -08:00
Martin Haye
b62f4cbe53 Better commenting of decompressor. 2017-01-02 11:33:52 -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
056fb3857e Removing old script no longer needed. 2016-12-08 06:05:02 -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
99606c623c Return to graphics mode when using an item (like TNT) per Seth's request. 2016-11-04 08:27:22 -07:00
Martin Haye
2aa9e342e7 Added tile swap for 3D mode. 2016-11-01 09:25:36 -07:00
Martin Haye
831c0cd822 Fixed memory corruption issue when party screen updated during combat. 2016-10-31 08:04:22 -07:00
Martin Haye
c6e46398c1 Prefix 'You have died' with a newline. 2016-10-26 08:13:06 -07:00
Martin Haye
72fe0986fd Fix for text display followed by animation in 3D mode. 2016-10-26 08:04:29 -07:00
Martin Haye
72cb83c415 Exit inventory once an item is used. 2016-10-26 07:50:13 -07:00
Martin Haye
e363b01c60 Don't reset global avatar flag when re-entering map. It needs to stay what the scripts set it to. 2016-10-26 07:45:47 -07:00
Martin Haye
65b5bf001e Fix for fwd/bkwd animations. 2016-10-26 07:38:07 -07:00
Martin Haye
048c09edf4 Fixed portraitNum bug (was relying on a specific Lawless Legends portrait) 2016-10-25 15:05:00 -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
9dc84046c5 Further reduce aux mem fragmentation by putting the 3D expander at the start of aux mem, leaving one continuous space in the middle. 2016-10-25 08:58:38 -07:00
Martin Haye
63d38e5498 Reduce aux mem fragmentation by putting gameloop at end of it. 2016-10-25 08:49:38 -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