demo-reader 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.2.0
data/demo-reader.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{demo-reader}
8
- s.version = "0.1.2"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["aekym"]
12
- s.date = %q{2010-08-03}
12
+ s.date = %q{2010-08-24}
13
13
  s.description = %q{A library to read warsow demo files (.wd8, .wd9, .wd10, .wd11 files) and q3 demo files (*.dm68)}
14
14
  s.email = %q{me@aekym.com}
15
15
  s.extensions = ["ext/dm68/extconf.rb"]
@@ -40,11 +40,6 @@ Gem::Specification.new do |s|
40
40
  "lib/demo-reader.rb",
41
41
  "lib/demo_reader_defrag.rb",
42
42
  "lib/demo_reader_warsow.rb",
43
- "test/demo_reader_defrag_dm_68_cpm_test.rb",
44
- "test/demo_reader_defrag_dm_68_vq3_test.rb",
45
- "test/demo_reader_test.rb",
46
- "test/demo_reader_warsow_wd10_race_test.rb",
47
- "test/demo_reader_warsow_wd11_race_test.rb",
48
43
  "test/fixtures/defrag/dm_68/cpm/pornchronostar_mdf.cpm_00.49.216_tyaz.germany.dm_68",
49
44
  "test/fixtures/defrag/dm_68/cpm/puremotion_df.cpm_00.10.600_eS-Rody.russia.dm_68",
50
45
  "test/fixtures/defrag/dm_68/vq3/runkull2_df.vq3_01.05.904_XunderBIRD.Germany.dm_68",
@@ -69,7 +64,12 @@ Gem::Specification.new do |s|
69
64
  "test/fixtures/warsow/wd11/race_st1_07.848.wd11",
70
65
  "test/fixtures/warsow/wd11/race_wdm16_unfinished.wd11",
71
66
  "test/fixtures/warsow/wd11/race_wrc03-3_28.684.wd11",
72
- "test/helper.rb"
67
+ "test/helper.rb",
68
+ "test/unit/demo_reader_defrag_dm_68_cpm_test.rb",
69
+ "test/unit/demo_reader_defrag_dm_68_vq3_test.rb",
70
+ "test/unit/demo_reader_test.rb",
71
+ "test/unit/demo_reader_warsow_wd10_race_test.rb",
72
+ "test/unit/demo_reader_warsow_wd11_race_test.rb"
73
73
  ]
74
74
  s.homepage = %q{http://github.com/aekym/demo-reader}
75
75
  s.rdoc_options = ["--charset=UTF-8"]
@@ -77,12 +77,12 @@ Gem::Specification.new do |s|
77
77
  s.rubygems_version = %q{1.3.7}
78
78
  s.summary = %q{A library to read warsow and q3 demo files}
79
79
  s.test_files = [
80
- "test/demo_reader_defrag_dm_68_cpm_test.rb",
81
- "test/demo_reader_defrag_dm_68_vq3_test.rb",
82
- "test/demo_reader_test.rb",
83
- "test/demo_reader_warsow_wd10_race_test.rb",
84
- "test/demo_reader_warsow_wd11_race_test.rb",
85
- "test/helper.rb"
80
+ "test/helper.rb",
81
+ "test/unit/demo_reader_defrag_dm_68_cpm_test.rb",
82
+ "test/unit/demo_reader_defrag_dm_68_vq3_test.rb",
83
+ "test/unit/demo_reader_test.rb",
84
+ "test/unit/demo_reader_warsow_wd10_race_test.rb",
85
+ "test/unit/demo_reader_warsow_wd11_race_test.rb"
86
86
  ]
87
87
 
88
88
  if s.respond_to? :specification_version then
data/ext/dm68/dm68.c CHANGED
@@ -1,6 +1,11 @@
1
1
  #include "ruby.h"
2
2
  #include "main.h"
3
3
 
4
+ // backward compatibility for ruby 1.8
5
+ #ifndef RSTRING_PTR
6
+ #define RSTRING_PTR(s) RSTRING(s)->ptr
7
+ #endif
8
+
4
9
 
5
10
  static VALUE rb_mDM68;
6
11
  static VALUE rb_cDM68;
@@ -17,7 +22,7 @@ static VALUE parse_file(VALUE obj, VALUE path)
17
22
  demo.demoMessageSequence = 0;
18
23
  demo.gameStatesParsed = 0;
19
24
 
20
- if(!(demo.demofile=fopen(RSTRING(path)->ptr, "rb")))
25
+ if(!(demo.demofile=fopen(RSTRING_PTR(path), "rb")))
21
26
  {
22
27
  Com_Error(ERR_FATAL, "Couldn't open demofile");
23
28
  }
@@ -58,6 +58,11 @@ class DemoReaderWarsow
58
58
  content = file.gets nil
59
59
  file.close
60
60
 
61
+ # remove illegal utf8 chars that crashes ruby 1.9.x
62
+ #
63
+ if RUBY_VERSION >= "1.9"
64
+ content.encode!("ISO-8859-1", :invalid => :replace, :undef => :replace) # iso is just fine (no other chars expected)
65
+ end
61
66
 
62
67
 
63
68
 
data/test/helper.rb CHANGED
@@ -3,7 +3,10 @@ require 'test/unit'
3
3
 
4
4
  $LOAD_PATH.unshift(File.dirname(__FILE__))
5
5
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
+ $LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), '..', 'ext/dm68')))
7
+
6
8
  require 'demo-reader'
7
9
 
8
10
  class Test::Unit::TestCase
9
11
  end
12
+
@@ -1,4 +1,6 @@
1
- require File.dirname(__FILE__) + '/helper'
1
+ $LOAD_PATH << File.dirname(__FILE__) + '/..'
2
+ require "helper"
3
+
2
4
 
3
5
  class DemoReaderDefragDm68CpmTest < Test::Unit::TestCase
4
6
 
@@ -1,4 +1,5 @@
1
- require File.dirname(__FILE__) + '/helper'
1
+ $LOAD_PATH << File.dirname(__FILE__) + '/..'
2
+ require "helper"
2
3
 
3
4
  class DemoReaderDefragDm68Vq3Test < Test::Unit::TestCase
4
5
 
@@ -1,4 +1,5 @@
1
- require File.dirname(__FILE__) + '/helper'
1
+ $LOAD_PATH << File.dirname(__FILE__) + '/..'
2
+ require "helper"
2
3
 
3
4
  class DemoReaderTest < Test::Unit::TestCase
4
5
 
@@ -1,4 +1,5 @@
1
- require File.dirname(__FILE__) + '/helper'
1
+ $LOAD_PATH << File.dirname(__FILE__) + '/..'
2
+ require "helper"
2
3
 
3
4
  class DemoReaderWarsowWd10RaceTest < Test::Unit::TestCase
4
5
 
@@ -1,4 +1,5 @@
1
- require File.dirname(__FILE__) + '/helper'
1
+ $LOAD_PATH << File.dirname(__FILE__) + '/..'
2
+ require "helper"
2
3
 
3
4
  class DemoReaderWarsowWd11RaceTest < Test::Unit::TestCase
4
5
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: demo-reader
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 1
9
8
  - 2
10
- version: 0.1.2
9
+ - 0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - aekym
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-03 00:00:00 +02:00
18
+ date: 2010-08-24 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies: []
21
21
 
@@ -51,11 +51,6 @@ files:
51
51
  - lib/demo-reader.rb
52
52
  - lib/demo_reader_defrag.rb
53
53
  - lib/demo_reader_warsow.rb
54
- - test/demo_reader_defrag_dm_68_cpm_test.rb
55
- - test/demo_reader_defrag_dm_68_vq3_test.rb
56
- - test/demo_reader_test.rb
57
- - test/demo_reader_warsow_wd10_race_test.rb
58
- - test/demo_reader_warsow_wd11_race_test.rb
59
54
  - test/fixtures/defrag/dm_68/cpm/pornchronostar_mdf.cpm_00.49.216_tyaz.germany.dm_68
60
55
  - test/fixtures/defrag/dm_68/cpm/puremotion_df.cpm_00.10.600_eS-Rody.russia.dm_68
61
56
  - test/fixtures/defrag/dm_68/vq3/runkull2_df.vq3_01.05.904_XunderBIRD.Germany.dm_68
@@ -81,6 +76,11 @@ files:
81
76
  - test/fixtures/warsow/wd11/race_wdm16_unfinished.wd11
82
77
  - test/fixtures/warsow/wd11/race_wrc03-3_28.684.wd11
83
78
  - test/helper.rb
79
+ - test/unit/demo_reader_defrag_dm_68_cpm_test.rb
80
+ - test/unit/demo_reader_defrag_dm_68_vq3_test.rb
81
+ - test/unit/demo_reader_test.rb
82
+ - test/unit/demo_reader_warsow_wd10_race_test.rb
83
+ - test/unit/demo_reader_warsow_wd11_race_test.rb
84
84
  has_rdoc: true
85
85
  homepage: http://github.com/aekym/demo-reader
86
86
  licenses: []
@@ -116,9 +116,9 @@ signing_key:
116
116
  specification_version: 3
117
117
  summary: A library to read warsow and q3 demo files
118
118
  test_files:
119
- - test/demo_reader_defrag_dm_68_cpm_test.rb
120
- - test/demo_reader_defrag_dm_68_vq3_test.rb
121
- - test/demo_reader_test.rb
122
- - test/demo_reader_warsow_wd10_race_test.rb
123
- - test/demo_reader_warsow_wd11_race_test.rb
124
119
  - test/helper.rb
120
+ - test/unit/demo_reader_defrag_dm_68_cpm_test.rb
121
+ - test/unit/demo_reader_defrag_dm_68_vq3_test.rb
122
+ - test/unit/demo_reader_test.rb
123
+ - test/unit/demo_reader_warsow_wd10_race_test.rb
124
+ - test/unit/demo_reader_warsow_wd11_race_test.rb