Commit graph

2135 commits

Author SHA1 Message Date
Ilari Liusvaara
7929100be0 Replace std::string with custom string class 2015-05-30 18:25:40 +03:00
Ilari Liusvaara
80867950f3 lsnes rr2-β23 2015-05-28 12:41:52 +03:00
Ilari Liusvaara
88a00a2a84 Some new TODOs 2015-05-28 12:37:40 +03:00
Ilari Liusvaara
2da23de987 Small whitespace cleanup 2015-05-27 23:08:54 +03:00
Ilari Liusvaara
0d83c3aba6 Rework how memory tracking works
Also adds a few new tracking categories, like movie storage
2015-05-27 17:59:00 +03:00
Ilari Liusvaara
0960e967ea Memory tracker: Add tracking of render objects 2015-05-27 16:28:01 +03:00
Ilari Liusvaara
c2a7eed9d8 Clean up system font drawing
Refactor font reading to fewer places
2015-05-27 15:38:22 +03:00
Ilari Liusvaara
1dd19faaeb Make git diff --check happier 2015-05-27 11:14:56 +03:00
Ilari Liusvaara
8bca9ce614 Remove TODO list entry now done 2015-05-27 10:49:58 +03:00
Ilari Liusvaara
0c0156647b Redo text rendering (adds halo support to gui.text())
Now gui.text() and friends support halos. Also fixes a bug with partially
opaque halos in CUSTOMFONT rendering.
2015-05-27 10:44:50 +03:00
Ilari Liusvaara
56deafcd4a Framework for memory usage tracking
Adds tracking for Lua VM and ROM images. The rest comes later.
2015-05-26 13:16:09 +03:00
Ilari Liusvaara
82a7c255a4 Lua: Memory usage limit
This allows limiting memory usage by Lua, which might very well be useful,
given the behaviour of accumulating garbage in memory if one does not
garbage-collect.
2015-05-25 23:44:51 +03:00
Ilari Liusvaara
6a2d7f9aa2 Use master state for trampolines
Fixes memory corruption if any Lua function creates a trampoline
2015-05-25 22:31:51 +03:00
Ilari Liusvaara
478472e883 Have only one main Lua function trampoline
This makes it easier to have special modes when Lua functions are running
later...
2015-05-25 21:16:45 +03:00
Ilari Liusvaara
f06eb401c4 font rendering: Use ranges for bounding instead of buggy routine
This fixes the drawing junk problem if character is drawn off top or
off left.
2015-05-20 08:51:14 +03:00
Ilari Liusvaara
f04379b03c Actually kill objects using palette about to be GC'd 2015-05-14 20:37:23 +03:00
Ilari Liusvaara
a8bc4a2cf8 Small rendering speedups
Pass the object pins as references instead of values. Saves about
150 CPU cycles per value for me.
2015-05-14 20:04:41 +03:00
Ilari Liusvaara
ae71090387 Fix a compiler warning
The warning is false, init of spd can't be avoided if is_string=false.
2015-05-14 19:53:33 +03:00
Ilari Liusvaara
04d7e60fe1 Fix race between killing object and drawing object
Previously, it was possible to draw and kill object queue at the same
time, possibly leading to crashes from accessing object state after
destroying it. Fix this.
2015-05-14 19:20:21 +03:00
Ilari Liusvaara
15ff9e0cc8 Don't leak open file descriptors to loaded ROMs 2015-05-09 19:16:44 +03:00
Ilari Liusvaara
8a794244be Fix typo in Lua reference 2015-05-08 01:10:12 +03:00
Ilari Liusvaara
10eb0dbd22 Add description of PALETTE:get() 2015-05-03 02:24:11 +03:00
Ilari Liusvaara
eeaf3706d8 Add dedicated method for resetting to poweron state
This speeds up "rewind to beginning" operation.
2015-04-27 10:03:28 +03:00
Ilari Liusvaara
9aa8578e74 Circle coordinates can go negative and thus must be signed
Fixes the bug where only one fourth of circle was drawn.
2015-04-27 08:20:26 +03:00
Ilari Liusvaara
17efbec1a6 Clean up dynamic state handling a bit 2015-04-25 15:51:18 +03:00
Ilari Liusvaara
39286f820a Refactor unsafe rewinding a bit now that state is its own subobject 2015-04-25 13:18:37 +03:00
Ilari Liusvaara
653f44e353 Refactor dynamic state to its own subobject
This is meant as base for further refactoring
2015-04-14 15:39:50 +03:00
Ilari Liusvaara
a45baf5559 Mark the core methods that should be idempotent as const 2015-04-14 13:06:13 +03:00
Ilari Liusvaara
4d3d483a34 A bit of code cleanup 2015-04-14 12:40:57 +03:00
Ilari Liusvaara
3571fb3e08 Refer to loaded ROM imagesets as handles 2015-04-14 12:34:19 +03:00
Ilari Liusvaara
b7aedc6cd9 Internally refactor loaded ROM imageset out of loaded ROM code 2015-04-14 11:25:10 +03:00
Ilari Liusvaara
1bf49d532d Move NULL core code to its own file 2015-04-14 10:27:35 +03:00
Ilari Liusvaara
a6b7391da5 Refactor loaded_rom to make public fields private 2015-04-14 10:21:31 +03:00
Ilari Liusvaara
8af9dda77f Fix speed going out of whack after doing unsafe rewind 2015-04-12 23:10:57 +03:00
Ilari Liusvaara
a1b96d75da Split overly large loaded_rom constructor 2015-04-11 20:31:23 +03:00
Ilari Liusvaara
2842b76907 Add load-rom command
This is not really complete: There are three ROM load modes, this is just
one of those.
2015-04-11 06:01:20 +03:00
Ilari Liusvaara
c51cfe9099 Add back reload-rom and close-rom
These commands have seemingly gotten lost somewhere
2015-04-11 04:37:39 +03:00
Ilari Liusvaara
71d649c487 Remove some unnecressary casts 2015-04-10 23:01:07 +03:00
Ilari Liusvaara
ae3cb19a03 SNES: Functions for messing with clockrate (for debugging games) 2015-04-09 04:18:59 +03:00
Ilari Liusvaara
f2169b725f Don't callback to Lua in inconsistent state when loading a new ROM 2015-04-09 04:18:05 +03:00
Ilari Liusvaara
046bc221ef Lua: movie.get_game_info 2015-04-04 22:22:33 +03:00
Ilari Liusvaara
5f0d5dcdb0 Wxwidgets: Fix some compile errors in window-fileupload.cpp 2015-04-04 00:52:48 +03:00
Ilari Liusvaara
3eb7585947 Wxwidgets: Fix some compile errors in editor-memorywatch.cpp 2015-04-04 00:24:49 +03:00
Ilari Liusvaara
d7744e00e7 Wxwidgets: Fix § 2015-03-23 19:31:54 +02:00
Ilari Liusvaara
52dff27f3e Wxwidgets: Add keycode entries for å, ä and ö
Allows these keys to be used as bindings, hotkeys or controller keys
2015-03-21 17:33:10 +02:00
Ilari Liusvaara
93875839b9 bit.(r)flagdecode: Fix unicode in on/off strings 2015-03-11 03:18:49 +02:00
Ilari Liusvaara
929155f14d Fix typo in resolve_filename documentation 2015-03-10 22:40:13 +02:00
Ilari Liusvaara
63b59e35f7 Lua: Don't run class destructor if constructor failed 2015-03-04 22:34:03 +02:00
Ilari Liusvaara
aade7a9fb8 Fix race condition in do_mix_tsc()
The lock needs to protect count from concurrent update. Especially since
if double increment happens in the wrong place, the routine starts
scribbling memory until whole thing crashes.
2015-03-04 21:48:14 +02:00
Ilari Liusvaara
fd65e1e435 Fix hostendian memory watches 2015-02-27 19:02:43 +02:00